From ffaf2a2209d5872f5e105c5dd55b945616f6ea76 Mon Sep 17 00:00:00 2001 From: rakadu1 Date: Mon, 8 Dec 2025 12:35:09 +0530 Subject: [PATCH] feat: add user guide modal on first session launch - Implemented a "First Run" detection using `sessionStorage`. - The User Guide modal now appears automatically when application is launched in a new tab or window. - Logic added to skip the automatic file loading (cached session) on the first run to ensure a clean start for new sessions. - Subsequent page reloads within the same session will hide the guide and resume the cached session as normal. --- steps/src/main.js | 14 + zoomsketch-issue/ADAS/ARAS Pipeline.html | 574 +++++++++++++++++++++++ 2 files changed, 588 insertions(+) create mode 100644 zoomsketch-issue/ADAS/ARAS Pipeline.html diff --git a/steps/src/main.js b/steps/src/main.js index 55d9f54..5ce18af 100644 --- a/steps/src/main.js +++ b/steps/src/main.js @@ -48,6 +48,7 @@ import { offsetInput, autoOffsetIndicator, clearCacheBtn, + guideModal, } from "./dom.js"; import { initializeTheme } from "./theme.js"; @@ -154,9 +155,22 @@ document.addEventListener("DOMContentLoaded", () => { initKeyboardShortcuts(); initSyncUIHandlers(); + // Check if the user has seen the guide + const isFirstRun = !sessionStorage.getItem("hasSeenUserGuide"); + if (isFirstRun) { + guideModal.classList.remove("hidden"); + sessionStorage.setItem("hasSeenUserGuide", "true"); + } + // Await the database initialization before attempting to load any files. // This resolves the race condition on initial load. initDB().then(async () => { + // If this is the first run, do not attempt to auto-load files. + if (isFirstRun) { + console.log("First run detected. Skipping auto-load of cached session."); + return; + } + console.log("Database initialized. Checking for cached session..."); // Load filenames and the last known offset from localStorage appState.jsonFilename = localStorage.getItem("jsonFilename"); diff --git a/zoomsketch-issue/ADAS/ARAS Pipeline.html b/zoomsketch-issue/ADAS/ARAS Pipeline.html new file mode 100644 index 0000000..936a1ba --- /dev/null +++ b/zoomsketch-issue/ADAS/ARAS Pipeline.html @@ -0,0 +1,574 @@ + + + + + + ADAS/ARAS Development for Indian Roads + + + + + + + + + + + + + +
+
+

ADAS & ARAS Development: Indian Context

+

Accelerating FCW & BSD Validation for 2/3-Wheelers

+
+
+ +
+ + +
+
+

The Challenge: Engineering for Chaos

+

+ Developing Advanced Driver Assistance Systems (ADAS) for India requires moving beyond standard Euro NCAP definitions. The environment is characterized by high density, heterogeneous traffic (trucks sharing lanes with bicycles), and unpredictable road geometry. +

+

+ The current workflow utilizes AWRL1432/1843 radar sensors and MATLAB-based tracking. To achieve robust Front Collision Warning (FCW) and Blind Spot Detection (BSD), we must validate against specific edge cases found only on Indian roads. +

+
+
+
50
+
Unique Scenarios Identified
+
+
+
+

Targeting High-Risk Edge Cases

+
+
+ + +
+
+

Scenario Categorization

+

+ Before diving into the list, we analyze the distribution of scenarios. Indian traffic creates a unique cluster of "Lateral" and "Static Obstacle" risks that are less prevalent in western datasets. +

+
+ +
+ +
+
+ +
+

Fig 1. Breakdown of the 50 generated scenarios by primary threat type.

+
+ + +
+
+ +
+

Fig 2. Frequency vs. Severity. High severity/frequency items (Top Right) are critical for FCW.

+
+
+ + +
+
+

The 50 Critical Scenarios Matrix

+

Compiled from Indian accident data reports and ADAS edge-case studies.

+
+
+ + + + + + + + + + + + + +
IDScenario NameTypeIndian Context / DescriptionPriority
+
+
+
+ + +
+
+

Workflow Modernization

+

+ Moving from a MATLAB-centric, human-in-the-loop workflow to a standardized ROS2 pipeline can reduce iteration time by estimated 40%. The current bottleneck is manual synchronization and the overhead of interpreted code. +

+
+ +
+ + +
+

Pipeline Capabilities Comparison

+
+ +
+
+

Current (MATLAB) is excellent for rapid prototyping but struggles with real-time speed and integration.

+

Proposed (ROS2/C++) offers superior sensor fusion capabilities and visualization tools.

+
+
+ + +
+

Proposed Accelerated Workflow

+
+ +
+

1. Data Ingestion (ROS2)

+

AWRL1432 Driver Node → /radar/pointcloud2

+
+ +
+ + +
+

2. Auto-Labeling

+

Sync Video → YOLOv8/SAM for Ground Truth Bounding Boxes

+
+ +
+ + +
+

3. Algorithm & Fusion

+

C++ Tracking Nodes + Camera Fusion (Kalman Filter)

+
+ +
+ + +
+

4. Visualization (Foxglove)

+

Web-based replay of Radar PCL + Video Overlay

+
+
+
+
+
+ + +
+

Actionable Improvements

+
+ +
+

1. Adopt Foxglove Studio

+

Replace the custom visualizer. Foxglove allows drag-and-drop visualization of point clouds and camera feeds, perfectly synchronized, via browser.

+
+ +
+

2. Automated Ground Truth

+

Stop manual video comparison. Run the video through a pre-trained model (like YOLOv8) to generate "Ground Truth" boxes, then calculate Intersection over Union (IoU) with radar tracks automatically.

+
+ +
+

3. Move to C++/ROS2

+

MATLAB is great for math, but slow for pipelines. Migrating the tracking logic to C++ nodes in ROS2 ensures the code is ready for embedded deployment.

+
+
+
+ +
+

© 2025 ADAS Research Division. Generated for Internal Review.

+
+ +
+ + + + \ No newline at end of file