A group can be a room (several recordings of one room); any other group may hold scenes and rooms and
is put together from the recordings, each in its room. Recordings of one room no longer count as
walking in to each other, which also hid a real walk-in from another room.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Floor plan, sizes, scale bar and measuring tool in the original's size; the floor plan measures
walls and floors in the model's scale. Optionally Gaussian XR's worldScale is set when copying to
the Frame (not tested on the Frame yet). The floor plan no longer fails without walls.
13 new tests (226 in all).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The scenes use a Y-down frame; seen from above, x has to run right to left on screen.
Cached plans are drawn anew when floorplan.py changes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Scenes from one recording session share the Steam Frame's tracking frame,
so their floor plans line up without manual alignment. scripts/floorplan.py
draws a colour top view with walls and the camera path ("pretty") or a
glowing point density ("classic"), rotated so walls are axis-aligned.
The web UI gets a "Floor plan" button per scene and a "Combined floor plan"
dialog; plans are cached and can be saved as PNG.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>