Right now, plato.py has code that does two different things: it (1) builds an abstract in-memory representation of a 3d building, and it (2) knows how to call the blender bmesh and bpy APIs to instantiate blender objects to represent those buildings.
It would be good to refactor plato.py to separate those two concerns. plato.py should just be responsible for the abstract (platonic) model, and it should use a separate plug-in sort of thing that knows how to talk to blender. Ideally, the plug-in arrangement should be somewhat modular, so that one plug-in can render to blender, while others could render to gltf, or three.js, or whatever.
Right now, plato.py has code that does two different things: it (1) builds an abstract in-memory representation of a 3d building, and it (2) knows how to call the blender bmesh and bpy APIs to instantiate blender objects to represent those buildings.
It would be good to refactor plato.py to separate those two concerns. plato.py should just be responsible for the abstract (platonic) model, and it should use a separate plug-in sort of thing that knows how to talk to blender. Ideally, the plug-in arrangement should be somewhat modular, so that one plug-in can render to blender, while others could render to gltf, or three.js, or whatever.