Although this is intended to be used for internal web apps for the most part I also plan on developing a new website for Xenyria in the future, although that's still several months into the future. (I'm sadly still busy refactoring old projects :/)
this is my first ever Svelte component library and also the first time I have written component tests. I've tested all use-cases I could think of and ended up with a test coverage of around 80-90%. It's not perfect by any means but a very solid foundation for future projects
the next big thing i am working on is a web level editor for Xenyria (kinda like Unity's editor or Roblox Studio, including a Luau Web Editor). I want to include a 3D view of the current level, which is why I need some interface for generating chunk meshes in the first place
worked on a chunk-to-glb exporter today by reusing the chunk mesh builder from my renderer. i implemented grass & water colors using vertex colors. light levels & ambient occlusion are also baked into the chunk mesh but its not really noticeable since everything is on fullbright
i've also managed to get smooth lighting to work. for testing, i set the skylight level to the y coordinate of each block cell (clamped to 0-15) (for example: every block at Y=4 has a sky light value of 4)
it's not 100% accurate but i think it looks quite good
and lastly, i've also implemented hotkeys to undo/redo the last few actions. actions that happen too quickly after each other (e.g. moving a component or changing a color property) get grouped into a single action. it also works well when multiple users work on the same scene
finished re-implementing progress bar styles today. its one of two component types that are generated on-the-fly based on a user-supplied template spritesheet. aside from some smaller features, the only major thing missing is support for box components
the box editor UI is pretty similar to the thing i've posted yesterday. just like with bar styles, there's also some validation implemented to prevent users from submitting incorrect configs
the main use-case here are XP bars & progress bars. it also works in tooltip scenes since it's entirely text-based.
additionally there's also some optimization in place to reduce the total amount of sprites that need to be drawn
finished re-implementing progress bar styles today. its one of two component types that are generated on-the-fly based on a user-supplied template spritesheet. aside from some smaller features, the only major thing missing is support for box components
atp i'm about 70% done with the inventory designer module for spotlight. i hope to finish the last remaining features next week, after that i'm probably gonna work on the translation editor (or maybe i'm just gonna take one week off)
here's some of the progress i made last week. a lot of editor features are implemented now but features like a edit history (undo/redo), in-game previews and support for some components are still missing
tooltip scenes are basically a trimmed down version of regular inventory scenes. using items is obviously not possible in this context but anything that utilizes fonts works fine
on a technical level its basically just a sveltekit frontend + kotlin backend, communication is done via websockets. the frontend takes Minecraft text components generated by the server to render the current state of the scene to a canvas.
here's some of the progress i made last week. a lot of editor features are implemented now but features like a edit history (undo/redo), in-game previews and support for some components are still missing
soo small update from my side: i've started rewriting another project around 2 weeks ago and this is basically my progress so far. it's an internal tool that allows creating things like custom inventory UIs, fonts, sprites, & a lot more together with other users.
i'm also designing everything around the concept of having multiple people work on a single project. sprites, fonts and other resources are sent to clients every time something changes. the editor itself also works well with multiple users