fix(perception): bound LAB replay to AI window

This commit is contained in:
DCCONSTRUCTIONS
2026-07-23 21:15:53 +03:00
parent 10019a454a
commit 082b7057da
7 changed files with 429 additions and 38 deletions
+16 -7
View File
@@ -113,12 +113,17 @@ changing the AI result selected for its source recording. A LAB instance binds:
- run and publication timestamps plus JSON provenance;
- a content-addressed compute job, LiDAR pack and integrated visual result.
The source evidence remains the only raw sensor master. A LAB replay cache and
unchanged camera inputs use hard links on the same filesystem; no second copy of
the source RRD, video or native K1 capture is created. Derived arrays are stored
only when the run did not already persist a viewer-ready form. Deleting a LAB
catalog entry cannot delete the referenced source session, and a source session
with published LAB instances fails closed on deletion.
The source evidence remains the only raw sensor master. Full-session LAB replay
caches and unchanged camera inputs use hard links on the same filesystem; no
second copy of the source RRD, video or native K1 capture is created. A bounded
experiment instead stores a small derived RRD slice with exact start/end markers
and omits the source's unbounded recorded-video descriptor. Its integrated
perception overlay owns the matching bounded camera. This prevents Rerun from
holding the final AI frame while a longer source cloud continues to play.
Derived arrays are stored only when the run did not already persist a
viewer-ready form. Deleting a LAB catalog entry cannot delete the referenced
source session, and a source session with published LAB instances fails closed
on deletion.
The visual result is resolved by the LAB session id, so `LAB E19` and `LAB E21`
can coexist over `RAVNOVES00` without “latest accepted result” replacing an
@@ -132,7 +137,11 @@ not duplicate mask pixels. Its visual publication materializes a mask only
after an exact SHA-256 match against the immutable accepted E19 semantic
reference. The seven detector frames replaced by the bounded latest-wins queue
remain explicit empty frames. This preserves the measured near-real-time
behavior rather than presenting a fabricated gap-free run.
behavior rather than presenting a fabricated gap-free run. The saved-session
duration and base RRD range must equal the E21 visual result range; attaching
the 60-second result to the complete 8:55 source replay is an invalid
presentation because latest-at image data would appear static after the E21
window ends.
The first preparation of a long capture can take time because every decodable
point/pose message and every valid K1 `ModelingReport` is projected into RRD.