- The watcher reports the next part (or putting the parts together) as running in the tick that
starts it: no false standby notice between parts.
- Deleting an unfinished part deletes its piece of video in runs/.parts too.
- combine.sh keeps the floor plan's labels (plan.json).
- Tests: the chain through the watcher's tick (twice), one standby notice per chain, the own lock
released before suspending, rooms of the same name, view-dependent colour matched, the preview plan
of a home named by rooms; notifications are awaited instead of checked too early.
- 0.3.0: version, changelog, READMEs without the preview notice.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- A checkbox on the running job: when everything is finished (parts, putting them together, copying),
a minute's notice, then systemctl suspend; cancelling a job switches it off; a refused standby is
reported. Our own lock is released first (it kept the PC up in a first try by hand).
- One sleep lock of the server spans the seconds between two jobs (parts of a long recording).
- A renamed room's floor plan and previews are drawn again with the new name.
- Rooms of the same name: "Kitchen (2)"; the combine dialog and job card speak of a room's recordings.
- README: filming tips for ceilings and light; 0.3 notes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Each part gets up to 500 image pairs; parts are cut losslessly with the original time stamps, converted
one after the other and put together as a room. The original stays (asked once more before deleting).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Documents/GaussianXR is left alone by Steam updates. Old copies in the app's own Scenes folder
move over when copied again, or all at once from the On the Frame tab.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The tab lists everything in Gaussian XR's gallery on the Frame with its preview image and what it
is (scene, tour, version, or not from Splat Workshop) and takes any of it off the Frame. Scenes are
copied straight into the gallery; copies left in Documents/GaussianSplats go along with their scene.
The tour dialog offers 0.75–2 M or an own size. 250 tests.
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>
- Fakes for kdialog, zenity and xdg-open; every test catches shutdown/os._exit
- Broken download, frame folder found on rename, nested values in non-text fields,
Start over from the cancelled runs, the watcher's notification and tidying up
(watcher split into watch_once for that)
- Fake pipeline refuses to continue an unfinished extraction, like the real one
213 tests, every mutation of both review rounds is caught.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
206 tests instead of 57; every surviving mutation of the review is caught now. New fakes for
ffprobe, ssh/scp (the Frame as a folder) and notify-send; synthetic rooms with tracking noise,
scale error, turned splats, tracking turn and an adjustable walk-in. Fixed: wrongly typed
members/key/align/partition gave a 500 or were stored.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
57 tests without GPU, recordings or Frame: fake pipeline, fake splat-transform and trash, and
synthetic rooms with a known error for putting rooms together. Found on the way: after cancelling,
the job counted as finished when systemd-inhibit ended, while splat.sh was still putting the
previous scene back – pid_alive now looks at the whole process group.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Click points on a floor plan to get segment lengths and the total distance,
with a live preview to the mouse pointer. The server sends the plan's scale
as X-Pixels-Per-Metre.
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>
SSH is enabled via Developer Mode and "Set User Password" (Valve docs),
not via passwd/systemctl. Linux only; macOS untested; Windows unsupported.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The reconstruction itself is done by the Arcturus Vision pipeline and
Spirula Studio. Also drop the people/person examples.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Web interface, tray icon and recording check for turning Arcturus Vision
Camera recordings from the Steam Frame into Gaussian splats and copying
them into the Gaussian XR gallery.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>