# MK-VII Procedural Powered Armour

Open `index.html` in a browser, or serve the folder with e.g. `python3 -m http.server`. Three.js r160 loads from a pinned unpkg CDN through an import map. There are no other assets.

- **Suit:** 559 separate meshes, all generated in code: boxes, cylinders, spheres, lathes, bevelled extrusions and tubes. It has a helmet, faceplate, arc reactor, chest plates, abdomen segments, power pack with vents, arms with pistons and fingers that each have three segments, legs with knee joints, pistons and foot thrusters, cables and bolts.
- **Animation:** Each part has a stored "home" position and a random "exploded" position. The **ASSEMBLE** button flies the parts in from the bottom up and locks them into place. **EXPLODE** throws them back out.
- **HUD:** A spinning targeting reticle, labels that follow their parts on screen, and a status panel showing integrity, reactor output, parts locked, core temperature and FPS.
- **Controls:** OrbitControls (drag or one finger to rotate, pinch or scroll to zoom, right-drag or two fingers to pan). The buttons work with touch.
- **Console:** When assembly finishes, it logs `PART_COUNT <n>` (currently `PART_COUNT 559`).
- **Performance:** Shared geometry and materials, one shadow-casting light, and pixel ratio capped at 2.
