• v1.6.0 d4dfbc4ee6

    jkaindl released this 2026-05-29 10:27:14 +00:00 | 44 commits to main since this release

    Live Progress / Mission-Control — the WebUI no longer sits frozen during the long, silent stages.

    A capture's progress is now published to a progress.json single-source-of-truth and surfaced live: a moving percent bar, elapsed + ETA-remaining, a pulsing "updated Xs ago" health dot with a stall warning, and a stage-agnostic liveness pulse that also covers the silent COLMAP mapper. Real step/PSNR tiles appear when the plateau monitor is enabled.

    Honest about the data: %/ETA are wall-time estimates; loss/iter-s/GPU/VRAM are not shown because Brush emits no per-step stdout and exposes no GPU telemetry — the old all- placeholder card is gone.

    Highlights

    • progress.json SSOT — atomic write/read; the single channel between the running pipeline and any reader.
    • Live brush card — moving bar, elapsed/ETA, pulsing health dot + stall warning, real step/PSNR tiles when plateau is on, collapsible (state in localStorage).
    • All-stages liveness pulse — "last activity Xs ago" from pipeline.log mtime, with a "quiet for Xs" warning past 120s. Covers the silent COLMAP mapper.
    • brush.stdout.log — every Brush stdout line teed to a dedicated, live-readable log.
    • Native Finder file-picker for the New-capture form (POST /captures/pick-file via osascript — a browser file input can't hand the server an absolute path).
    • Train heartbeat log throttle tightened 300s → 30s; brush card gated to stage == train.

    378 tests passing. Full design in docs/superpowers/specs/2026-05-29-live-progress-design.md.

    Downloads