What I'm suggesting is if you want a certain semantic part of the scene to have a specific design or fidelity (say an interactive object, point of interest, character, or parts thereof), you can generate it via image and then use principal component analysis, bounding boxes, and a physics engine like Jolt to place and orient it programmatically into the right "socket" in your world so it aligns and joins correctly. The LLM can generate the high level spatial/semantic structure, and you can plug the assets into the right space. That works both at scene level and more locally (say a character's equipment they are wearing or holding).
This kind of decomposition helps to get the art composed the way you want it, though it won't help with a runtime poly budget.
But if you are intentionally doing low-poly style, it is doubtful you are (at least technologically) limited by having too many vertices on assets; you're limited by draws and submits and rendering architecture. You can push millions of animated polys with bells and whistles, postprocessing, physics etc, in the browser, at 90 FPS, on a macbook. You can have thousands of objects, but you have to cull/instance/share materials/atlas/etc, you can't just do `new THREE.Mesh` for each object -- which is what the LLMs will naively do by default unless you ask otherwise.
If resource size is a problem, meshes compress/quantize well with things like meshopt/DRACO.
This kind of decomposition helps to get the art composed the way you want it, though it won't help with a runtime poly budget.
But if you are intentionally doing low-poly style, it is doubtful you are (at least technologically) limited by having too many vertices on assets; you're limited by draws and submits and rendering architecture. You can push millions of animated polys with bells and whistles, postprocessing, physics etc, in the browser, at 90 FPS, on a macbook. You can have thousands of objects, but you have to cull/instance/share materials/atlas/etc, you can't just do `new THREE.Mesh` for each object -- which is what the LLMs will naively do by default unless you ask otherwise.
If resource size is a problem, meshes compress/quantize well with things like meshopt/DRACO.