Epic: Epic H — Real-world scale & measurement tools
Priority: P2
Context
Without a calibrated scale, an export comes out at an arbitrary size — "4 meters or 4 millimeters", per IDEAS.md. Critical for 3D printing (Epic D) and, eventually, AR. Verified state: there is no real-scale or measurement-tool concept anywhere in the code (Viewer3D.tsx, optimize.py) — generated meshes only carry the arbitrary scale that came out of the AI generator.
Scope
Acceptance criteria
Declaring a dimension recalibrates the mesh, and every later export (T-D2) comes out at the correct units.
Depends on: T-A1, T-A3
From ROADMAP_0.5.md.
Epic: Epic H — Real-world scale & measurement tools
Priority: P2
Context
Without a calibrated scale, an export comes out at an arbitrary size — "4 meters or 4 millimeters", per
IDEAS.md. Critical for 3D printing (Epic D) and, eventually, AR. Verified state: there is no real-scale or measurement-tool concept anywhere in the code (Viewer3D.tsx,optimize.py) — generated meshes only carry the arbitrary scale that came out of the AI generator.Scope
set_real_scaleop in the registry (T-A1): "this object is 30 cm" → computes the scale factor from the current bbox and applies it viatransform_mesh.normalize_scale(T-A3) as an internal building block instead of duplicating the logic.Acceptance criteria
Declaring a dimension recalibrates the mesh, and every later export (T-D2) comes out at the correct units.
Depends on: T-A1, T-A3
From
ROADMAP_0.5.md.