From 269aecdd3574dfcf8a0a1729ed9d5679b07bb3df Mon Sep 17 00:00:00 2001 From: rakadu1 Date: Thu, 23 Apr 2026 11:01:26 +0530 Subject: [PATCH] docs: upgrade Memory Update Protocol to v1.1 and expand v1.1 "Ares" Chronicles - Overhauled intel/memory_update.md with v1.1 protocol: - Implemented "Trigger Identification" thresholds (Structural, Physical, Behavioral). - Added "AI Search Optimization" requirements (Keyword Density, Structural Consistency). - Mandated "Doc-Code Parity" verification checklist. - Standardized absolute file:/// URIs for instant cross-document navigation. - Established "Rule of Thumb" for Chronicles executive summary length (10-12%). - Expanded CHRONICLES.md Executive Summary: - Added high-density briefings for Architecture (Stage-based), Radar (Shenron Iterations), Data Export (MCAP Metrology), Dashboard (SSE), and the new Physics Layer. - Synchronized gemini.md, Shenron_debug.md, and dashboard.md with v1.1 "Ares" architecture: - Documented VideoStage, centralized physics.py, and new telemetry tags. - Resolved legacy "Pending Issues" in calibration logs. --- gemini.md | 56 +++++++++++++++----- intel/CHRONICLES.md | 23 +++++++- intel/memory_update.md | 67 ++++++++++++++---------- intel/radar/diagnostics/Shenron_debug.md | 34 ++++++------ 4 files changed, 120 insertions(+), 60 deletions(-) diff --git a/gemini.md b/gemini.md index 8cd74ea..92aafb9 100644 --- a/gemini.md +++ b/gemini.md @@ -16,18 +16,28 @@ This document is the consolidated source of truth for AI agents working on the F - `run.bat`: One-click runner for the simulation (activates `carla312` conda env). - `config.py`: Global simulation constants (FPS, sensor specs, ego model). - `src/main.py`: Thin CLI wrapper for the `PipelineManager`. -- `src/pipeline/`: **[NEW]** Core stage-based architecture (Manager + Stages). -- `src/processing/`: **[NEW]** Centralized physics and sensor augmentation logic. +- `src/pipeline/`: Core stage-based architecture (Manager + Stages). +- `src/pipeline/base.py`: `PipelineContext` dataclass and `PipelineStage` ABC. +- `src/pipeline/manager.py`: Sequential stage executor with cleanup guarantees. +- `src/pipeline/stages/`: Individual stage implementations. +- `src/processing/`: Centralized physics and sensor augmentation logic. +- `src/processing/physics.py`: Radial velocity injection, ADAS metrics, actor classification. - `src/sensors.py`: `SensorManager` — Handles camera, radar, and lidar sync. - `src/recorder.py`: `Recorder` — Serializes raw frames to disk asynchronously. - `scenarios/`: Contains scenario implementations (e.g., `braking.py`, `cutin.py`, `showcase.py`). -- `scripts/`: Utility scripts for data processing (e.g., `data_to_mcap.py`, `generate_shenron.py`). +- `scripts/data_to_mcap.py`: Production MCAP converter with full metrology suite. +- `scripts/generate_shenron.py`: Orchestrates Shenron radar synthesis per session. +- `scripts/test_shenron.py`: Standalone diagnostic testbench for radar iteration. +- `scripts/ISOLATE/`: High-fidelity radar simulation engine. +- `scripts/ISOLATE/sim_radar_utils/`: Visualization and DSP utilities. +- `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. - `dashboard/`: Flask backend and static web assets for the GUI. - `intel/`: Detailed deep-dive documentation for specific components. - `intel/CHRONICLES.md`: **Project History** — Weekly evolution and major milestones. -- `intel/memory_update.md`: **Agent Protocol** — Standardized guide for repo memory updates. +- `intel/memory_update.md`: **Agent Protocol (v1.1)** — Standardized guide for repo memory updates. +- `intel/internal/[version]/`: Versioned release changelogs and walkthroughs. - `intel/radar/`: Deep dives into radar physics (e.g. `research/isotropic_illumination_problem.md`). -- `scripts/ISOLATE/`: High-fidelity radar simulation engine and plotting utils. --- @@ -36,22 +46,24 @@ This document is the consolidated source of truth for AI agents working on the F ### `src/pipeline/manager.py` (The Director) - **Role:** Sequential executor for pipeline stages. - **Workflow:** Reads `PipelineContext` → Skips stages if requested → Executes `Sim` → `Shenron` → `MCAP` → `Video`. -- **Error Handling:** Halts the pipeline on critical stage failures but ensures cleanup for all started stages. +- **Error Handling:** Halts the pipeline on critical stage failures but ensures `cleanup()` is called for all started stages (reverse order). ### `src/main.py` (CLI Entry Point) - **Role:** Parses arguments and initializes the `PipelineManager`. -- **Features:** Supports selective execution via `--only-mcap` or `--skip-shenron`. +- **Features:** Supports selective execution via `--only-mcap`, `--only-shenron`, `--skip-shenron`, `--skip-mcap`, `--skip-sim`. +- **Session Reuse:** `--session ` allows re-processing existing data without re-running the simulation. ### `src/pipeline/stages/` (The Workers) -- `SimulationStage`: Handles CARLA connection, ego spawning, and the capture loop. -- `ShenronStage`: Triggers physics-based radar synthesis via `generate_shenron.py`. -- `McapStage`: Performs Foxglove serialization via upgraded `data_to_mcap.py`. +- `SimulationStage` (`sim_stage.py`): Handles CARLA connection, ego spawning, sensor capture loop, and `stop.flag` detection. +- `ShenronStage` (`shenron_stage.py`): Triggers physics-based radar synthesis via `generate_shenron.py`. Non-fatal on error. +- `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). ### `src/processing/physics.py` (The Math Layer) - Centralized source of truth for: - - **Radial Velocity Injection**: Projecting relative velocity onto LOS. - - **ADAS Metrics**: Real-time Range, Azimuth, and Closing Velocity. - - **Actor Categorization**: Classifying CARLA actors for telemetry. + - **Radial Velocity Injection**: Projecting relative velocity onto LOS via `calculate_radial_velocity()`. + - **ADAS Metrics**: Real-time Range, Azimuth, and Closing Velocity via `calculate_relative_metrics()`. + - **Actor Categorization**: Classifying CARLA actors into `vehicle`, `vru`, `pedestrian` via `get_actor_class()`. ### `src/sensors.py` (SensorManager) - Manages Camera (RGB), Radar, and LiDAR. @@ -61,6 +73,7 @@ This document is the consolidated source of truth for AI agents working on the F ### `scenarios/base.py` (The Plugin Contract) - All scenarios must inherit from `ScenarioBase`. - Required methods: `setup()`, `step()`, `cleanup()`, and `name` property. +- Optional hooks: `on_ego_spawned()`, `get_scenario_metadata()`, `max_frames`, `weather`, `ego_spawn_point`. - Support for CLI parameter injection via `apply_parameters(args.params)`. --- @@ -69,21 +82,35 @@ This document is the consolidated source of truth for AI agents working on the F ### Data Recording (`src/recorder.py`) - Saves images as `.png`, radar/lidar as `.npy`, and metadata as `.jsonl`. -- **Relative ADAS Metrics:** Calculates range, azimuth, and closing velocity for all actors. +- **Relative ADAS Metrics:** Calculates range, azimuth, and closing velocity for all actors via `src/processing/physics.py`. ### MCAP Conversion (`scripts/data_to_mcap.py`) - Converts raw dataset folders into Foxglove-compatible `.mcap` files. - **Coordinate Conversion:** Negates Y and Yaw to switch from CARLA left-handed to ROS/Foxglove right-handed convention. - **Radar Math:** Converts spherical (Depth/Az/Alt) to Cartesian (XYZ) for PointCloud representation. +- **Metrology Suite (v1.1):** + - **RD Heatmaps:** dB-converted via `10*log10(data) - 68.0` system gain offset. + - **RA Dual Plots:** Static (absolute bounds) + Dynamic (auto-scaled peak tracking) via `FastHeatmapEngine`. + - **CFAR Visualization:** dB-converted threshold mask. + - **Telemetry:** Flattened metrics schema for native Foxglove Plot panel graphing. + - **3D FOV Frustums:** Hardware-accurate LINE_LIST wireframes per radar type. + +### Visualization Engine (`scripts/ISOLATE/sim_radar_utils/plots.py`) +- `render_heatmap()`: Stateless single-shot colormap rendering. +- `FastHeatmapEngine`: Stateful matplotlib renderer that reuses figure memory for high-speed frame-by-frame rendering. +- `postprocess_ra()`: Clutter subtraction, log compression, and fixed dynamic range clipping. +- `scan_convert_ra()`: Polar-to-Cartesian sector projection for RA BEV display. --- ## 🖥️ 4. GUI Dashboard Architecture - **Backend:** Flask (`app.py`) running on port 5000. +- **Version:** Orchestrator v1.1. - **Simulator Lifecycle:** Dashboard polls `/api/simulator/status` to detect if CARLA is Offline/Ready. Provides one-click initialization via the UI. - **GPU Resource Control:** Incorporates "Idle Mode" (Synchronous Throttling) to drop CARLA GPU usage to ~0% when inactive or while Shenron processing is active. - **Streaming:** Uses **Server-Sent Events (SSE)** to stream `stdout` to the browser. +- **Visual Feedback Tags:** `[SHENRON_INIT]`, `[SHENRON_STEP]`, `[AUTO-MCAP]`, `[PROCESS_COMPLETED]` drive progress bars and telemetry HUD. - **Execution:** Spawns `run.bat` as a subprocess. - **Crucial Rule:** Always set `PYTHONUNBUFFERED=1` to prevent log delays in the GUI console. @@ -109,6 +136,7 @@ This document is the consolidated source of truth for AI agents working on the F - **Run Scenario:** `cmd /c run.bat --frames --params "KEY=VAL" --weather ` - **List Scenarios:** `cmd /c run.bat --list-scenarios` - **Run Testbench:** `cmd /c "call C:\ProgramData\miniconda3\Scripts\activate.bat carla312 && python scripts/test_shenron.py --iter "` +- **Re-process MCAP Only:** `cmd /c run.bat --only-mcap --session data/` ## 🤖 7. Agent Execution Rules diff --git a/intel/CHRONICLES.md b/intel/CHRONICLES.md index d8d5d52..01ef571 100644 --- a/intel/CHRONICLES.md +++ b/intel/CHRONICLES.md @@ -4,6 +4,25 @@ This document is the definitive record of the Fox CARLA ADAS Simulation project. --- +## 📌 Executive Summary (Current State: v1.1 "Ares") + +### Architecture +The monolithic `main.py` orchestrator has been fully decomposed into a **stage-based pipeline**. Four discrete stages — `SimulationStage`, `ShenronStage`, `McapStage`, and `VideoStage` — are managed by the [PipelineManager](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/src/pipeline/manager.py), which handles sequential execution, skip logic, and guaranteed reverse-order cleanup. The shared state between stages flows through a `PipelineContext` dataclass defined in [base.py](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/src/pipeline/base.py). All path resolution uses `Pathlib` for Windows robustness. + +### Radar Engine (Shenron) +The physics-based FMCW radar simulator has matured through **33 iterations** — from an unstable legacy port to a $1/R^4$-calibrated testbench with hardware-accurate antenna patterns. All visualization and DSP post-processing is centralized in [plots.py](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/scripts/ISOLATE/sim_radar_utils/plots.py), which exposes the `FastHeatmapEngine` (stateful matplotlib renderer for high-speed frame rendering), `postprocess_ra()` (clutter subtraction + 68.0 dB log compression), and `scan_convert_ra()` (polar-to-Cartesian sector projection). Hardware specs are persisted via `radar_specs.json` during synthesis for downstream axis scaling. + +### Data Export (MCAP) +The production converter [data_to_mcap.py](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/scripts/data_to_mcap.py) now has full parity with the [test_shenron.py](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/scripts/test_shenron.py) diagnostic testbench. Key metrology channels include: dB-calibrated **RD heatmaps** (with 68.0 system gain offset), **dual RA plots** (Static absolute bounds + Dynamic peak-tracking), **CFAR threshold masks**, **flattened telemetry** for native Foxglove Plot panel graphing, and **3D FOV frustum wireframes** (LINE_LIST) per radar hardware type. + +### Dashboard +The Flask GUI orchestrator has been bumped to **v1.1**. It uses **Server-Sent Events (SSE)** to stream stdout, with the frontend JS parsing structured tags — `[SHENRON_INIT]`, `[SHENRON_STEP]`, `[AUTO-MCAP]`, `[PROCESS_COMPLETED]` — to drive dual progress bars, a hardware telemetry HUD (GPU, VRAM, radar specs), and live signal metrics (SNR, point count). GPU resource control via synchronous "Idle Mode" ensures near-zero VRAM usage when the simulator is not actively running a scenario. + +### Physics Layer +Sensor augmentation logic has been extracted from the recorder into [physics.py](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/src/processing/physics.py), providing reusable functions for radial velocity injection (`calculate_radial_velocity`), ADAS relative metrics (`calculate_relative_metrics`), and actor classification (`get_actor_class`). This enables standalone re-processing of existing datasets without a live CARLA connection. + +--- + ## 🏛️ 1. Project Manifesto: The Vision The Fox project was born from a need for **deterministic, high-fidelity ADAS validation.** While standard CARLA simulations provide a starting point, they often lack the physical realism required for modern radar sensor fusion. @@ -17,7 +36,7 @@ The Fox project was born from a need for **deterministic, high-fidelity ADAS val ## 🛰️ 2. The Shenron Iteration Log (The Long Road to Fidelity) -The "Shenron" radar engine evolved through 26 critical iterations. This table tracks its journey from a broken port to a physically consistent testbench. +The "Shenron" radar engine evolved through **33 critical iterations**. This table tracks its journey from a broken port to a physically consistent testbench. Detailed calibration log: [Shenron_debug.md](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/intel/radar/diagnostics/Shenron_debug.md). | Iteration | Focus | The "Why" (Decision & Rationale) | Technical Result | | :--- | :--- | :--- | :--- | @@ -196,4 +215,4 @@ After 30 iterations of parameter tuning, we identified the fundamental reason fo --- -*Generated by Antigravity AI | Fox CARLA ADAS Simulation | 2026-04-15* +*Generated by Antigravity AI | Fox CARLA ADAS Simulation | Last Updated: 2026-04-23* diff --git a/intel/memory_update.md b/intel/memory_update.md index 83afeae..e2b5f25 100644 --- a/intel/memory_update.md +++ b/intel/memory_update.md @@ -1,45 +1,56 @@ -# 🧠 Agent Memory Update Protocol +# 🧠 Agent Memory Update Protocol (v1.1) -This document instructs future AI agents on how to maintain the repository's documentation and "memory" files. Follow these steps after every significant feature implementation, technical breakthrough, or calibration milestone. +This document ensures that the repository's "Digital Soul"—its architecture, physics rationale, and technical history—remains synchronized with the code. Follow these steps to maintain high-fidelity situational awareness for both human and AI developers. --- -## 📂 Target Files +## 📂 1. Core Memory Targets -| File | Purpose | Update Context | +| File | Context Layer | Purpose | | :--- | :--- | :--- | -| `intel/CHRONICLES.md` | The Project Saga | Git milestones, technical "Why" & "How," bug post-mortems. | -| `gemini.md` | Source of Truth | Architecture changes, new components, active file rules. | -| `intel/radar/diagnostics/Shenron_debug.md` | Calibration Log | Radar iterations (01-XX), specific physics fixes. | -| `intel/scenarios/*.md` | Scenario Guides | Decision rationale for specific testing maneuvers. | +| `gemini.md` | **Structural** | The high-level Source of Truth. Update when layout or dependencies change. | +| `intel/CHRONICLES.md` | **Historical** | The "Saga." Explains the *Why* behind the *What.* Captures math/physics breakthroughs. | +| `intel/radar/diagnostics/` | **Scientific** | Iteration logs for radar calibration, SNR tuning, and coordinate fixes. | +| `intel/internal/[version]/` | **Versioned** | Snapshots of major releases (Walkthroughs, Changelogs). | --- -## 🔄 Update Procedure +## 🔄 2. The 4-Step Update Procedure -### Step 1: Analyze Evolution -Run the following to understand what changed: -```powershell -git log --pretty=format:"%ad | %s | %b" --date=short -n 10 -``` +### Step 1: Trigger Identification +Determine if your changes meet the "Memory Threshold": +- [ ] **Structural**: Did you move files or add new components (e.g., `src/pipeline`)? +- [ ] **Physical**: Did you change a formula, gain offset, or coordinate transform? +- [ ] **Behavioral**: Did you change how the Dashboard or Orchestrator interacts with the system? -### Step 2: Extract Rationale -Don't just log *what* happened. Documentation must explain: -- **The Problem**: What was breaking or inaccurate? -- **The Decision**: Why was this specific technical path taken over others? -- **The Physics/Math**: What formulas or logical constraints were applied? +### Step 2: Contextual Extraction +Don't just log the change. Extract the **Rationale**: +- **The Problem**: What was breaking, blurry, or inaccurate? +- **The Decision**: Why this path? (e.g., "Used `Pathlib` over `os.path` for robust Windows pathing"). +- **The Physics**: Document formulas using LaTeX: $P_{rec} = \frac{P_{tx} G^2 \lambda^2 \sigma}{(4\pi)^3 R^4}$. -### Step 3: Atomic Updates -- **Chronicles**: Append new daily entries to Section 6. If a major milestone was reached, create a dedicated Deep-Dive in Section 4. -- **Iteration Log**: If working on the Shenron radar, update the Iteration Table (01-XX) with the latest physics impacts. -- **Gemini**: Update the "Repository Layout" if new directories or scripts are added. +### Step 3: Atomic Synthesis +- **Chronicles**: Append daily entries to Section 6. Update Section 4 with architectural deep-dives. **Rule of Thumb:** Maintain the "Executive Summary" at ~10-12% of the document's total length to ensure it remains a high-density standalone briefing. +- **Gemini**: Ensure the "Repository Layout" and "Component Reference" match the current `tree /f`. +- **Linking**: Cross-link documents using absolute `file:///` URIs to allow instant agent navigation. + +### Step 4: Verification (Doc-Code Parity) +Perform a final "Sanity Check": +- [ ] Does the documentation reflect the *current* state of the code? +- [ ] Are any legacy "Knobs or Dials" still documented that were removed? +- [ ] Did you update the "Last Updated" timestamp in `gemini.md`? --- -## 🎨 Style Guide -- **Premium Aesthetic**: Use GitHub alerts (Note, Important, Tip) to highlight key insights. -- **Technical Rigor**: Use LaTeX math for physics formulas. -- **No Fluff**: Keep descriptions concise but info-dense. +## 🎨 3. Style & Search Optimization + +### For the Human Reader: +- **Premium Aesthetics**: Use GitHub alerts (`> [!IMPORTANT]`) and Mermaid diagrams for flows. +- **Media**: Embed screenshots or `mcap` recording clips for visual proof of calibration. + +### For the AI Agent: +- **Keyword Density**: Use specific terms like "coordinate system," "RHS conversion," and "sync mode" to aid semantic search. +- **Structural Consistency**: Keep headers predictable so future agents can regex the chronology efficiently. --- -*Generated by Antigravity AI | Repository Memory System | 2026-04-15* +*Generated by Antigravity AI | Fox Memory System | Updated: 2026-04-23* diff --git a/intel/radar/diagnostics/Shenron_debug.md b/intel/radar/diagnostics/Shenron_debug.md index 127d228..36cb18a 100644 --- a/intel/radar/diagnostics/Shenron_debug.md +++ b/intel/radar/diagnostics/Shenron_debug.md @@ -1,6 +1,6 @@ -**Date:** 2026-04-03 — 2026-04-06 (Calibration Update) +**Date:** 2026-04-03 — 2026-04-23 (v1.1 Sync Update) **Engineer:** Fox ADAS Pipeline | Antigravity AI -**Objective:** Resolve physics-based discrepancies in the C-Shenron synthetic radar pipeline, calibrate physical materials for turn-stability, and align sensor coordinate frames for zero-parallax synchronization. +**Objective:** Resolve physics-based discrepancies in the C-Shenron synthetic radar pipeline, achieve production-testbench parity, and stabilize the modular stage-based architecture. --- @@ -213,8 +213,8 @@ python scripts/test_shenron.py --iter "07_high_def_sync" ### Known Pending Issues (Next Steps) 1. **Turn Lag:** Shenron points appear to trail ~0.5-1 frame behind the CARLA native radar during sharp turns. Suspected cause: LiDAR data captured at `T-1` but rendered with ego pose at `T`. Requires timestamp sync investigation in `recorder.py`. -2. **Angular FOV Validation:** Compare Shenron angular output vs. AWRL1432BOOST hardware spec (`+/- 60°`) to ensure angular clipping is not removing valid detections. -3. **CFAR Threshold Tuning:** Iteration 16 magnitude boost (+234%) has significantly improved SNR. `threshold: 20` in `config.yaml` should be recalibrated to maintain precision. +2. ~~**Angular FOV Validation:** Compare Shenron angular output vs. AWRL1432BOOST hardware spec.~~ **RESOLVED (v1.1):** 3D FOV frustums now validate angular coverage in real-time. +3. ~~**CFAR Threshold Tuning:** Iteration 16 magnitude boost should be recalibrated.~~ **RESOLVED (Iter 32):** `FastHeatmapEngine` with 68.0 dB system gain offset stabilizes CFAR visualization. 4. **Target Classification:** Proof of bimodal Magnitude Distribution in Iteration 16 allows for potential MLC (Machine Learning Classifier) based on point intensity maps. --- @@ -223,18 +223,20 @@ python scripts/test_shenron.py --iter "07_high_def_sync" | File | Role | | :--- | :--- | -| `scripts/ISOLATE/model_wrapper.py` | Public API — single entry point for Shenron | -| `scripts/ISOLATE/e2e_agent_sem_lidar2shenron_package/lidar.py` | LiDAR ingestion, semantic mapping, axis swap | -| `scripts/ISOLATE/e2e_agent_sem_lidar2shenron_package/ConfigureRadar.py` | Hardware profiles (awrl1432, radarbook, ti_cascade) | -| `scripts/ISOLATE/e2e_agent_sem_lidar2shenron_package/shenron/Sceneset.py` | Fresnel reflection + RCS physics | -| `scripts/ISOLATE/e2e_agent_sem_lidar2shenron_package/shenron/heatmap_gen_fast.py` | GPU FMCW ADC synthesis | -| `scripts/ISOLATE/sim_radar_utils/radar_processor.py` | Range/Doppler FFT + CFAR detection | -| `scripts/ISOLATE/sim_radar_utils/config.yaml` | DSP processor configuration | -| `scripts/test_shenron.py` | Testbench — generates and packages iterations | -| `scripts/data_to_mcap.py` | Main MCAP converter (Dashboard path) | -| `src/recorder.py` | Data capture — includes velocity + semantic metadata | -| `intel/radar/archive/shenron_architecture_deepdive.html` | Visual HTML architecture guide | +| [model_wrapper.py](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/scripts/ISOLATE/model_wrapper.py) | Public API — single entry point for Shenron | +| [lidar.py](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/scripts/ISOLATE/e2e_agent_sem_lidar2shenron_package/lidar.py) | LiDAR ingestion, semantic mapping, axis swap | +| [ConfigureRadar.py](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/scripts/ISOLATE/e2e_agent_sem_lidar2shenron_package/ConfigureRadar.py) | Hardware profiles (awrl1432, radarbook, ti_cascade) | +| [Sceneset.py](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/scripts/ISOLATE/e2e_agent_sem_lidar2shenron_package/shenron/Sceneset.py) | Fresnel reflection + RCS physics | +| [heatmap_gen_fast.py](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/scripts/ISOLATE/e2e_agent_sem_lidar2shenron_package/shenron/heatmap_gen_fast.py) | GPU FMCW ADC synthesis | +| [plots.py](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/scripts/ISOLATE/sim_radar_utils/plots.py) | **Single Source of Truth** for visualization (`FastHeatmapEngine`, `postprocess_ra`, `scan_convert_ra`) | +| [radar_processor.py](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/scripts/ISOLATE/sim_radar_utils/radar_processor.py) | Range/Doppler FFT + CFAR detection | +| [config.yaml](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/scripts/ISOLATE/sim_radar_utils/config.yaml) | DSP processor configuration | +| [test_shenron.py](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/scripts/test_shenron.py) | Testbench — generates and packages iterations | +| [data_to_mcap.py](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/scripts/data_to_mcap.py) | Main MCAP converter (Dashboard path) | +| [recorder.py](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/src/recorder.py) | Data capture — includes velocity + semantic metadata | +| [physics.py](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/src/processing/physics.py) | Centralized ADAS physics (radial velocity, range, azimuth) | +| [shenron_architecture_deepdive.html](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/intel/radar/archive/shenron_architecture_deepdive.html) | Visual HTML architecture guide | --- -*Generated by Antigravity AI | Fox CARLA ADAS Pipeline | 2026-04-06 (Calibration Milestone)* +*Generated by Antigravity AI | Fox CARLA ADAS Pipeline | Last Updated: 2026-04-23*