I’ve been working on my level editor for Teratree. The video above will give you the basic idea of how it works.
All the world data is saved in one big nested table.
world name author cells room name tiles tile name ink paper bright cells sprites cells block celltype health
Each table called cells is a 2d array, the rooms in the world, blocks in the room and pixels in the sprites are all handled in the same way.
Currently the world table gets dumped to a lua file using this library but it’s not very human readable. I may work on a custom exporter when I’m happy with the format of the table.
Since the video I’ve added the ability to change the text like the room names and given the tiles multiple sprites for animation. I’ve had to start on a menu/ui module to make things easier to build buttons and text inputs. More on that another time.