Trying to integrate LDtk editor files as a bevy plugin (eventually). So far, have just mapped the JSON structure to Rust data structures (for the most part).
- fix linting errors
- finish the missing fields/types ("Objects" etc.)
- add a lot of deserialisation tests (deserialise)
- actually deserialise from a .ldtk file
- bevy
- make it work
- make it good
- set up a custom asset + loader
- design an API that makes use of this, i.e. map from the ldtk file to a bevy scene (entities, resources, components) and rust types
- hot reloading
- hot partial-reloading with diffing
- keep up with the changes to the LDtk file format
- change from arrays of ints, to structs
- change from structs with optional fields, to enums with unique structs (challenging)
- add a lot of serialisation tests to ensure reproducability / round-trippability
- (bevy) make it interactive the other way (changes from the bevy app write to the ldtk file)
- note: ldtk editor doesn't hot reload though
- actually draw to a texture - see SiO2 or
bevy::sprite::TextureAtlasBuilder
- construct a tilemap mesh, where its vertices UV-map many-to-many with a tileset (sprite sheet / texture atlas) texture - see bevy_tiled (but I think bevy_tilemap abstracts this away from us)