refactor(control-station): separate lidar diagnostics from datasets
This commit is contained in:
@@ -77,9 +77,11 @@ Polygon is now a parallel product branch. As of this document:
|
||||
Simulation Worker agent in a fresh loopback-only namespace, a bounded
|
||||
Unix-socket Mission Core gateway and an explicit `internal-virtual-only`
|
||||
lifecycle gate;
|
||||
- UI-2 exact generation `60e7916` exposes `Полигон` as a dedicated header root
|
||||
only while Mission Core confirms an available Simulation Worker. The header
|
||||
opens one direct workspace without a secondary launcher panel;
|
||||
- UI-2 exact generation `60e7916` established `Полигон` as a dedicated header
|
||||
root only while Mission Core confirms an available Simulation Worker. The
|
||||
current product surface keeps that direct entry and exposes a bounded
|
||||
two-item navigation: `Прогоны` and `Датасеты`; it has no launcher or link
|
||||
directory;
|
||||
- the browser-native Three.js scene renders a recognisable procedural Ackermann
|
||||
Rover, ground grid and ENU trajectory. Orbit supports 360° azimuth, bounded
|
||||
vertical inspection from overhead to horizon, zoom, pan, follow and camera
|
||||
@@ -842,6 +844,18 @@ Center | Fleet | Observation | Missions | Data | Polygon* | System
|
||||
|
||||
Two UI gates are intentionally distinct.
|
||||
|
||||
The Polygon navigation is task-oriented:
|
||||
|
||||
- `Прогоны` owns live simulation lifecycle, history and qualification evidence;
|
||||
- `Датасеты` owns admitted replay inputs and the entry point for a future
|
||||
qualification run.
|
||||
|
||||
Dataset bytes and source artifacts remain in Data storage, but algorithm
|
||||
evaluation does not live under `Данные`. Device-specific scanner diagnostics
|
||||
remain under Fleet. A dataset preview is not a qualification result; the
|
||||
result is a versioned run with pipeline, sensor profile, metrics, provenance
|
||||
and decision.
|
||||
|
||||
### UI-0 — early read-only run view
|
||||
|
||||
Target S1B proves persisted start/health/stop history. UI-0 is implemented as a
|
||||
|
||||
@@ -30,7 +30,9 @@ Implemented now:
|
||||
- a fail-closed K1 `lio_pcl` boundary;
|
||||
- worker storage admission for `D:\NDC_MISSIONCORE\datasets` and
|
||||
`/mnt/d/NDC_MISSIONCORE/datasets`;
|
||||
- a visible Dataset Gateway panel in **Данные → Качество LiDAR**.
|
||||
- a dedicated, honest dataset catalog in **Полигон → Датасеты**;
|
||||
- a separate **Парк → Диагностика LiDAR** surface containing only real sensor
|
||||
recordings and their operational evidence.
|
||||
|
||||
Not implemented in S0:
|
||||
|
||||
@@ -40,6 +42,23 @@ Not implemented in S0:
|
||||
- no model training or production promotion;
|
||||
- no rolling-map implementation yet.
|
||||
|
||||
## Product surface boundary
|
||||
|
||||
The gateway is not part of device quality diagnostics.
|
||||
|
||||
- **Парк → Диагностика LiDAR** answers whether a selected real sensor recording
|
||||
is present, reproducible and operationally usable. It never mixes public
|
||||
dataset frames into the selected device evidence.
|
||||
- **Наблюдение** opens a concrete live or recorded spatial scene.
|
||||
- **Данные** owns source-of-record, retention, replay preparation and export.
|
||||
- **Полигон → Датасеты** lists admitted evaluation inputs.
|
||||
- **Полигон → Прогоны** owns the resulting algorithm comparison, metrics,
|
||||
provenance and decision.
|
||||
|
||||
Before real dataset bytes exist, the catalog shows `Не загружен`, explains the
|
||||
blocked storage gate and keeps `Открыть` / `Создать прогон` disabled. An
|
||||
architecture contract must not look like an executable dataset tool.
|
||||
|
||||
## Why public recordings look different
|
||||
|
||||
GOOSE stores one VLS-128 revolution per annotated `.bin` file. A rotating
|
||||
@@ -130,7 +149,9 @@ time; TTL/dynamic filtering prevents stale ghosts.
|
||||
- [x] GOOSE XYZI and labels remain point aligned.
|
||||
- [x] Invalid length and non-finite frames fail closed.
|
||||
- [x] K1 mapped increments cannot claim raw-scan fields.
|
||||
- [x] React exposes the architectural truth before dataset bytes exist.
|
||||
- [x] React exposes an honest catalog/empty state before dataset bytes exist.
|
||||
- [x] Dataset Gateway is isolated from real-sensor diagnostics and placed under
|
||||
Polygon qualification.
|
||||
- [ ] Worker D root configured.
|
||||
- [ ] GOOSE validation archive hash recorded.
|
||||
- [ ] First real labeled frame visible in React.
|
||||
|
||||
@@ -69,6 +69,12 @@ unavailable rather than inventing timestamps.
|
||||
## Consequences
|
||||
|
||||
- The UI must label accumulated K1 evidence as a map product, not a scan.
|
||||
- Real-sensor diagnostics live under Fleet and never mix public dataset frames
|
||||
into device evidence.
|
||||
- Dataset catalog, preview and qualification-run entry live under Polygon;
|
||||
Data remains the source-of-record and artifact store.
|
||||
- Until bytes are installed, the UI exposes an explicit empty state rather
|
||||
than presenting this architecture contract as an interactive tool.
|
||||
- Dataset and device inputs can share downstream algorithms only after their
|
||||
normalized contracts match.
|
||||
- Sensor adaptation may change range, FOV, point density, noise and dropout for
|
||||
|
||||
Reference in New Issue
Block a user