fix(control-station): separate lab contours from recordings

This commit is contained in:
DCCONSTRUCTIONS
2026-07-26 13:34:12 +03:00
parent 05413e3f5c
commit 42041b37cd
10 changed files with 840 additions and 171 deletions
+10 -6
View File
@@ -24,10 +24,12 @@ fully usable with only their available modalities.
3. Stop acquisition normally, or allow the local service to recover an
unexpected interruption on its next start. Session recording is automatic;
the disk action is not required.
4. Open **Данные → Сессии и записи**. The inline archive shows up to 100
indexed runs, their date, duration, state, modalities and background
preparation state. Opening an archive never replaces the live source owned
by **Наблюдение**.
4. Open **Данные → Сессии и записи**. The compact **Сохранённые сессии**
dropdown shows up to 100 indexed runs, their date, duration, state,
modalities and background preparation state. The page itself remains one
full-size spatial viewer; the catalog is not expanded into an inline list.
Opening an archive never replaces the live source owned by
**Наблюдение**.
5. Choose a replayable run. Opening a replay never performs conversion in the
request. A ready recording opens immediately; otherwise the client receives
HTTP 202, keeps the current scene mounted and polls the preparation status.
@@ -130,8 +132,10 @@ on deletion.
The visual result is resolved by the LAB session id, so `LAB E19`, `LAB E21`
and the derived temporal comparison `LAB E22` can coexist over `RAVNOVES00`
without “latest accepted result” replacing an earlier experiment. The operator
can open any row in **Данные → Сессии и записи** or the corresponding LAB row
in **Тестировочный контур** and use the same
can open any row in **Данные → Сессии и записи** or choose the corresponding
published LAB work through **Тестировочный контур → Лабораторные контуры**.
The test surface presents LAB works through `profile → work`, never as a copy
of the saved-session list. A recorded LAB work then uses the same
**Объекты 2D / Сегментация / Кубы 3D** controls. First publication must also
warm the result-specific Rerun overlay; later opens reuse that verified cache
and do not rerun AI inference.
+2 -1
View File
@@ -432,7 +432,8 @@ Dataset expansion is no longer the next gate.
The implemented `missioncore.k1-local-surface/v1` derivative is reproducible
through `experiments/perception/run_k1_local_surface.py` and is exposed
read-only through `GET /api/v1/lidar/local-surfaces` plus the bound frame,
timeline and review endpoints. **Тестировочный контур → Лабораторные работы**
timeline and review endpoints. **Тестировочный контур → Лабораторные контуры
→ LAB E28**
reuses the five
RAVNOVES00 scene selectors and also exposes a clickable timeline over the
complete recording. The selected source frame shows observed surface, observed
+8 -3
View File
@@ -61,7 +61,7 @@ Implemented now:
lower-cell coordinates, signed residual and derived inlier mask are
content-bound and visible as a read-only 3D overlay;
- a provider-neutral read-only local-surface laboratory result in
**Тестировочный контур → Лабораторные работы**, synchronized to the five existing
**Тестировочный контур → Лабораторные контуры → LAB E28**, synchronized to the five existing
RAVNOVES00 scene selectors and a clickable complete-recording timeline;
- a complete recorded-host-paced 1× worker replay through authenticated
ingress, K1 normalization, point/pose binding and a bounded latest-wins
@@ -114,8 +114,13 @@ The gateway and current local-surface work are not live device diagnostics.
inputs. Opening one dataset exposes its source fragments, sparse annotated
scans, visual overlays and useful analysis inside the expanded source card.
Opening another source closes the previous one.
- **Тестировочный контур → Лабораторные работы** owns immutable experiment
configurations, accepted LAB instances and visual conclusions such as E29.
- **Тестировочный контур → Лабораторные контуры** owns immutable experiment
configurations and results. The first selector chooses a configuration
profile, the second chooses one LAB work inside it, and the output uses one
reusable `task → full visual evidence → structured result` template.
LAB E28 owns the L2.6 local-surface viewer and review queue; LAB E29 owns the
camera-first semantic/geometry result. Published E19E26 recordings remain a
separate profile and are not duplicated into the saved-session catalog UI.
- A future **Парк** diagnostics surface must require a connected device and a
dedicated live diagnostic contract. It cannot reuse an offline replay report.
- Internal replay-run identity, provenance and immutable artifacts remain a
+19 -6
View File
@@ -34,7 +34,10 @@ to **Данные → Датасеты**. They do not recreate the previous Poly
page.
Saved session replay is mounted only in **Данные → Сессии и записи** or from a
LAB entry. Leaving either archive returns **Наблюдение → Пространственная
selected recorded LAB work. **Данные → Сессии и записи** keeps the original
compact dropdown in the panel header and one full-size spatial viewer; it does
not expand the catalog into the content column. Leaving either archive returns
**Наблюдение → Пространственная
сцена** to the runtime-published live source. A selected archive cannot leak
into the live observation surface.
@@ -42,11 +45,21 @@ Dataset sources use a single-open accordion. Expanding one source mounts its
viewer and analysis inside that source card, pushes later sources down, and
closes the previously expanded source.
The laboratory archive reads immutable LAB instances from the existing
observation-session catalog. The E29 local-surface result remains a read-only
laboratory surface and is no longer presented as live LiDAR diagnostics. A
future device-diagnostics workspace must require an attached device and its own
diagnostic contract.
The laboratory surface is a two-level catalog:
1. a **laboratory contour profile** fixes the tested rig, modules and worker;
2. a **laboratory work** selects one immutable result inside that profile.
The selected work opens one reusable output structure: task and configuration,
full-size visual evidence, then structured metrics, errors, timing and
conclusion. LAB E28 owns the L2.6 local-surface viewer, complete-recording
timeline and review queue. LAB E29 owns the camera-first semantic/geometry
coverage result. Recorded E19E26 LAB instances are exposed through a separate
published-perception profile backed by the existing observation-session
catalog. They are not rendered as a second saved-session archive.
Neither E28 nor E29 is live device diagnostics. A future device-diagnostics
workspace must require an attached device and its own diagnostic contract.
Contour health reads only live contracts: