Preserve the completed teach-and-repeat laboratory stage: reference preparation, cascaded acquisition, local tracking and recovery, recording lifecycle, replay qualification, and persistent Rerun scene controls. Document the open grid-picking regression and Rerun upgrade contract. No autonomous driving or loop-closure optimization is claimed.
89 lines
5.1 KiB
Markdown
89 lines
5.1 KiB
Markdown
# Planning scene and independent pass B — repair audit
|
||
|
||
User scope: retain the ordinary spatial scene toolbar, camera, recording controls
|
||
and Planning profile; eliminate the exit action that loses the research; unify
|
||
the planner toolbar and Inspector geometry. No new capture or hardware command.
|
||
|
||
## Retained evidence
|
||
|
||
JA-SADOVAYA-002 was captured on 2026-09-11, 13:43:55–13:47:03 UTC. The archive
|
||
catalog marks its point-cloud and trajectory sources ready: 959 cloud messages,
|
||
960 poses, 37,812,938 raw bytes. Raw SHA-256:
|
||
`fe1366a177c20204f26e709649521611f0fc3aae138cb857bcabe84a5809268a`.
|
||
The device's last distance report is 62.532 m; sum of received pose steps is
|
||
62.974 m, including gaps, and is not independent ground truth.
|
||
|
||
The research failed before its first registration result: 2.776 m of accumulated
|
||
movement and 14,101 preview points were retained in its status. Received pose 161
|
||
moves 10.407 m after a 9.973 s receipt gap. The first implementation rejected any
|
||
step above 3 m without considering elapsed time. Therefore no green was produced;
|
||
this is an ingestion failure, not an experiment disproving localization.
|
||
|
||
The selected frozen draft was the prior internal reverse-direction comparison
|
||
of the first 30 m of A, not the forward 30 m draft. This source selection is
|
||
preserved, not silently corrected. Start/direction must be checked before using
|
||
B to claim a registration result.
|
||
|
||
B has no archived camera frames. Its camera epoch sealed with zero media segments
|
||
and `stale-activation-commit`. This is separate from the missing floating camera
|
||
UI. Camera authority fences are retained; no unsafe retry or physical command is
|
||
introduced by this patch. An unavailable recording cannot be reconstructed as
|
||
video. The next actual camera run still requires hardware acceptance.
|
||
|
||
## Implementation
|
||
|
||
SpatialWorkspace is extracted unchanged in ownership from the workspace hub to
|
||
`workspaces/spatial`. A typed visual-profile slot supplies the research renderer,
|
||
status, metrics and toolbar; the existing K1 controls, source picker and floating
|
||
camera transport remain owned by the shared scene. The profile no longer puts
|
||
stop controls behind an extra modal or exposes a button clearing the research.
|
||
Terminal errors outrank generic waiting/staleness. Saved research selection
|
||
restores its frozen reference and verified preview across navigation/restart,
|
||
without running a new capture or fit. Future previews are persisted with hashes.
|
||
|
||
Receipt gaps above 2 s clear the bounded fit window and invalidate old accepted
|
||
samples. A step is rejected above max(3 m, 3 m/s × min(receipt gap, 30 s)); this
|
||
is a diagnostic plausibility bound, not odometry acceptance. Jobs carry the
|
||
segment identity and cannot commit across a gap. Slow results remain recorded
|
||
as historical evidence; the existing 8 s green freshness rule is unchanged.
|
||
|
||
The planner uses canonical Inspector/InspectorSelectField with full-width
|
||
stacked actions. One right-aligned host toolbar owns cloud/route, top/3D and
|
||
expand actions; no nested host title. For the pinned single-view Rerun runtime,
|
||
its measured 54 CSS px canvas chrome (28 px top allocation + 26 px view strip)
|
||
is allocated outside the clipped content viewport. The Inspector scrolls independently
|
||
inside the available panel height. Scene content height and native pointer handling are preserved.
|
||
|
||
## Validation
|
||
|
||
Focused Python registration/planner/live tests pass (24 cases), including the
|
||
10 s receipt-gap regression, rejection of a fast coordinate jump, bounded sample
|
||
reset, persisted preview restoration and no restored live-green authority.
|
||
Frontend architecture and planner checks pass. Full frontend validation and
|
||
canonical browser smoke are recorded at completion below.
|
||
|
||
The original failing report and raw session are retained. No localization success,
|
||
new camera capture, autonomy, control or navigation acceptance is claimed.
|
||
|
||
## Completed acceptance on canonical 8000
|
||
|
||
Production typecheck/build passed. The complete frontend run executed 849 cases
|
||
(840 passed; nine obsolete architecture/source-location expectations failed).
|
||
After updating those expectations for LAB placement/shared scene extraction and
|
||
removing generic-shell vendor labels, focused reruns passed; the final remaining
|
||
four affected files passed all 50 cases. No failing assertions remain from that run.
|
||
|
||
Browser inspection on the built localhost service verified: equal action widths
|
||
(315.2 CSS px in the observed Inspector), split canonical selects, independent
|
||
Inspector scrolling, one aligned toolbar, no visible Rerun title/help strip,
|
||
real A cloud, expand/restore/Escape, preserved forward draft, and reopening the
|
||
actual failed research with its frozen reference and explicit failure. The old
|
||
failed run has no persisted query preview; its 14,101 status points are not
|
||
reconstructed or presented as a successful result. Raw B remains intact.
|
||
|
||
The shared source picker shows K1 cloud and both camera channels; cameras are
|
||
unconfirmed/disabled while capture is stopped. Camera/recording controls retain
|
||
the ordinary scene owners, but a new physical camera run was not performed.
|
||
The next action is analysis of existing A/B in the correct forward draft, not
|
||
an immediate repeat scan. This UI repair is not hardware-camera acceptance.
|