-
v1.1.1 — Hotfix Release Stable
released this
2026-05-17 22:13:57 +00:00 | 116 commits to main since this releaseHotfix Release
Resolves all three v1.1.0 known issues plus four polish findings from cowork smoke-testing. WebUI-and-pipeline fixes only — no change to the capture/train/export algorithm.
Fixed
- [SF-G2-9] Backend status-write sync — the WebUI now tracks runs from every trigger path (CLI-direct
autosplat process, watch-daemon, WebUI Process-button). Live monitoring shows correct running/stage/done/failed states.- Part 1 —
list_captures/get_captureoverlay the in-memoryJobRunnerstatus for WebUI-button-triggered jobs. - Part 2 —
run_pipeline()reports status into an optionalWatcherState(begin / update_stage / mark_done), keyed by the capture directory, for the CLI-direct and watch-daemon paths.
- Part 1 —
- [SF-PIPE-1] Embedded SuperSplat viewer URL-loading — the PLY route moved from
/captures/{id}/plyto/captures/{id}/scene.ply. SuperSplat detects file type from URL extension, so it now recognizes the.plysuffix. Bonus: browser downloads are namedscene.ply. - [SF-G3-3] Recent-jobs single-run-per-capture —
JobRunnernow keeps an in-memory_historylist;all_jobs()exposes the full history so re-triggering a capture no longer hides earlier runs. - [SF-PIPE-2] Log-box width — raw log lines (
.msg:only-child) now span the full row instead of collapsing into the 56 px time column. - [SF-PIPE-3] REASON-card text overflow —
.as-kv .vgetsmin-width: 0; overflow-wrap: anywhere; long whitespace-free error strings now wrap inside the card. - [SF-PIPE-4] Vertical scroll — there was no
html, body { height: 100% }rule, so<body>collapsed to content height, itsoverflow: hiddenpropagated to the viewport, and the page could not scroll. - [SF-PIPE-5] Viewer-iframe full-height — same root cause as SF-PIPE-4; without the height chain the viewer's
flex:1subtree had no parent height, so the SuperSplat iframe collapsed to a strip.
Changed (Internal)
- The CLI
processcommand broadened its exception handling fromexcept RuntimeErrortoexcept Exception— domain errors (QualityGateFailure,BrushOOMError) now exit cleanly viaEXIT_PIPELINE_FAILUREand record a failed entry instead of raising an untrapped traceback.
Design Notes
- JobRunner history is in-memory — a WebUI server restart resets it. Persistent per-capture history (
runs.jsonlappend-log) shipped in v1.2.0. WatcherState.in_progressis single-slot — single-user Mac tool; use one trigger path at a time.- PLY URL renamed from
/captures/{id}/plyto/captures/{id}/scene.ply— pre-v1.1.0 had no public users.
Tests
200 unit tests (198 passed, 2 opt-in E2E skipped) — +5 over v1.1.0.
For the full changelog see
CHANGELOG.md.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- [SF-G2-9] Backend status-write sync — the WebUI now tracks runs from every trigger path (CLI-direct