# Summit structure assets implementation plan > **For agentic workers:** Execute inline with superpowers:executing-plans. Asset authoring is verified by export/import checks and visual inspection. **Goal:** Refine the eight existing summit structures in Blender and deliver editable Blender source, individual GLBs, and previews. **Architecture:** Reuse `src/constants/structures.ts` as the dimension and placement source. Build locally centered, material-batched meshes in a separate Blender scene; preserve the user's original scene. Store geographic placement and terrain support anchors in the asset manifest. Preserve the current application until asset integration is explicitly requested. **Tech Stack:** Existing Node/TypeScript, Blender 5.2 through MCP, Python bpy, glTF 2.0. **Spec:** User-approved conversation: refine existing structures using the collected photos and extract `.blend` / `.glb` assets; proceed now. ## Constraints and decisions - Existing IDs, estimated dimensions and source attribution remain authoritative. - No new dependencies. Photographs are modeling references, never distributed textures. - Details visible in references inform geometry; hidden details remain approximations. - Deck origin is the upper walking surface; tower/radar origin is the base. Metres; GLB Y-up. - Terrain-dependent footings/support lengths stay outside fixed geometry; export their anchors. - Ruling: direct artifact authoring, not a runtime feature; no new regression tests. Validate the actual GLBs with Three.js and Blender re-import, inspect previews, run the existing build. - This directory has no Git repository; no commits or worktree operations. ## Tasks - [x] Snapshot existing constants and author `scripts/build-summit-assets.py`: shared material-batched geometry, five towers, radar, two decks. - [x] Export `public/models/summit/*.glb`, a manifest, and `assets/summit/summit-structures.blend` with a presentation scene. - [x] Render overview and detailed previews; inspect and correct visual defects. - [x] Load exported GLBs with Three.js and Blender, verify dimensions, materials, IDs, finite geometry, and no external resources. Write a verification report and usage notes. ## Review focus Check north-axis conversion, origins, detached stair rails, closed deck ends, whole-scene export accidents, material loss, measured-versus-estimated wording, and inclusion of private/reference images. ## Completion evidence - Three.js GLTFLoader: 8/8 passed; 87,523 triangles, 44 material batches, approximately 4.13 MiB total GLB payload. - Blender re-import: 8/8 passed; bounding boxes match Three.js within 1 mm. - `npm run build`: passed; existing bundle-size warning remains. - Overview plus radar, deck and tower renders inspected. Corrected overview framing and studio ground extent. - Export limited to active scene and selected hierarchy; initial default cube leakage corrected before delivery. - Independent review found stale geometry/spec metadata on reruns. Existing meshes now retain generation specs and changed dimensions fail explicitly; regeneration requires a fresh Blender file. Hand edits remain preserved during re-export. - Automatic approval rejected a destructive rebuild verification attempt. Removed that path and completed with non-destructive re-export. Original Cube, Camera and Light remain in the original scene. - Editable source saved, all assets visible in the presentation scene; GLBs and manifest also packaged in `assets/summit/summit-glb-pack.zip`.