This is how I build levels while the game is running. https://x.com/ertuctn/status/2008561463846465940
After this stage, I tend to create helper/factory functions that actually create the data more conveniently, with sane defaults etc. And then I have the problem that the dynamic state inspected by tooling shows the primitive plain EDN data, that ends up being huge, and not the convenient helper functions.