- `scripts/ISOLATE/sim_radar_utils/`: Visualization and DSP utilities.
- `scripts/ISOLATE/sim_radar_utils/`: Visualization and DSP utilities.
- `scripts/ISOLATE/shenron_orchestrator.py`: **Unified Orchestration Engine** — Centralized processing loop for physics-based radar synthesis. Ensures parity between `generate_shenron.py` (Production) and `test_shenron.py` (Iterative Lab).
- `scripts/ISOLATE/sim_radar_utils/plots.py`: **Single source of truth** for all radar heatmap rendering (`FastHeatmapEngine`, `postprocess_ra`, `scan_convert_ra`).
- `scripts/ISOLATE/sim_radar_utils/plots.py`: **Single source of truth** for all radar heatmap rendering (`FastHeatmapEngine`, `postprocess_ra`, `scan_convert_ra`).
- `scripts/ISOLATE/sim_radar_utils/config.yaml`: DSP processor and plot limit configuration.
- `scripts/ISOLATE/sim_radar_utils/config.yaml`: DSP processor and plot limit configuration.
- `dashboard/`: Flask backend and static web assets for the GUI.
- `dashboard/`: Flask backend and static web assets for the GUI.
@ -59,6 +60,13 @@ This document is the consolidated source of truth for AI agents working on the F
- `McapStage` (`mcap_stage.py`): Performs Foxglove serialization via `data_to_mcap.py`.
- `McapStage` (`mcap_stage.py`): Performs Foxglove serialization via `data_to_mcap.py`.
- `VideoStage` (`video_stage.py`): Stitches captured camera frames into `.mp4` preview videos (dash + third-person).
- `VideoStage` (`video_stage.py`): Stitches captured camera frames into `.mp4` preview videos (dash + third-person).
### `scripts/ISOLATE/shenron_orchestrator.py` (The Unified Engine)
- **Role**: Centralized orchestration for physics-based radar synthesis.
- **Features**:
- Ensures 100% parity between `generate_shenron.py` and `test_shenron.py`.
- Manages directory structures and multi-modal serialization (ADC, PCD, Metrology).
- Decouples core physics processing from UI-specific telemetry via a callback pattern.
### `src/processing/physics.py` (The Math Layer)
### `src/processing/physics.py` (The Math Layer)
- Centralized source of truth for:
- Centralized source of truth for:
- **Radial Velocity Injection**: Projecting relative velocity onto LOS via `calculate_radial_velocity()`.
- **Radial Velocity Injection**: Projecting relative velocity onto LOS via `calculate_radial_velocity()`.
- **Problem**: Identified divergence and confusion between the "Iterative Lab" (test_shenron) and "Production" (generate_shenron) pipelines. Changes made in research were not consistently propagated to the simulation engine.
- **Action**: Developed the **ShenronOrchestrator** in `scripts/ISOLATE/shenron_orchestrator.py`.
- **Decision**: Centralized the core processing loop, directory management, and data serialization (ADC, PCD, Metrology, Metrics) into a shared engine.
- **UI Logic**: Implemented a callback-based telemetry pattern to keep production-specific Dashboard logic (`[SHENRON_STEP]`) isolated from the core physics loop.
- **Parity**: Achieved 100% bit-identical logic between the research lab and the production simulation.