# Object Bloom — printable organizer prototype

An approximate, original-dimension sample inspired by the supplied teal organizer. This is a **prototype**, not a completed img2threejs fidelity reconstruction or a physically tested print.

## Usable files

- `object-bloom-organizer-prototype.stl`: single connected solid, millimetres, Z up.
- `organizer.ts`: procedural Three.js source. `createOrganizerModel(spec, options)` returns a named group; no downloaded mesh assets.
- `preview.png`, `view-0.png`, `view-90.png`, `view-180.png`, `view-270.png`: actual headless Chrome captures.
- `review.html`: standalone orbit inspection; click a component to identify it in the tab title. Serve this folder over local HTTP to open it. `window.review.explode(0.5)` demonstrates part separation.
- `mesh-checks.json` and `stl-roundtrip-checks.json`: actual mesh and exported-file checks.

## Dimensions and print preparation

Overall: **180 × 105 × 105 mm**. Three open pockets: front 42 mm tall; rear left 78 mm; rear right 105 mm. Nominal wall 2.4 mm, floor/shared base 3 mm, outer plan corner radius 14 mm. These dimensions are design choices; the reference does not establish scale.

Import the STL at 100% in millimetres with its flat underside on the build plate. The vertical open pockets were designed to avoid roofs and large overhangs. Inspect every layer in your slicer before printing; use settings appropriate to your printer, nozzle and filament. Choose teal filament to match the sample. No slicer profile, support requirement, fit, print time, strength or material quantity has been experimentally validated.

## What was checked

Strict sculpt-spec validation passed. Three.js compiled and headless Chrome reported no page errors. Four azimuth views passed the skill's volume-collapse/turntable checks. The exported solid contains 2,014 triangles, one connected component and approximately 201,094 mm³ of material. Every edge of the exported STL is shared by exactly two triangles; winding is consistent, signed volume is positive and bounds match 180 × 105 × 105 mm. These are computational geometry checks only.

## Remaining fidelity gate

The reference-comparison Tier 1 check **did not pass**: silhouette IoU 0.6692, aspect difference 0.2429 and scale difference 0.3219. The reference includes pens/paper and a different camera/proportion balance; the sample omits these accessories intentionally and uses chosen dimensions. The material is smooth in this prototype and does not reproduce the dense reference layer texture. Interior difference diagnostics were recorded, not interpreted as a fidelity pass. The locked workflow remains at blockout; later structural, form, material, surface, lighting, interaction and optimization reviews have not been completed. No AI review score or completed reconstruction certification is claimed.

The generated `createObjectModel.ts` is retained as pipeline scaffold evidence; use `organizer.ts` for this inspectable prototype. It implements the subject-specific rounded pocket geometry because the scaffold's generic extrude does not interpret the custom cavity profile.

## Rebuild

With Node installed, run `npm install`, `node build.mjs`, `node export-stl.mjs`. `node capture.mjs` uses headless Chrome at the configured local Windows path. The exporter unions the already-built Three.js pocket/base volumes and converts Y-up to Z-up for STL; it does not reconstruct the image a second time.
