diff --git a/architecture.md b/architecture.md index 2deeff1b..53c744a3 100644 --- a/architecture.md +++ b/architecture.md @@ -372,15 +372,22 @@ Rules: - no three.js object references - should be testable in isolation -Example structure: +Example persisted project structure: ```ts -interface SceneDocument { +interface ProjectDocument { version: number; - world: WorldSettings; + activeSceneId: string; + scenes: Record; materials: Record; textures: Record; assets: Record; +} + +interface ProjectScene { + id: string; + name: string; + world: WorldSettings; brushes: Record; modelInstances: Record; entities: Record; @@ -838,6 +845,8 @@ At that point, the user-facing save/load format should be a **project package** - `scene.json` - referenced asset payloads +`scene.json` may still contain multiple authored scenes inside one project document; the file name does not imply a single loaded runtime scene. + Recommended logical shape: ```txt