+ Version 3 represents a major architectural milestone. The application evolved from a functional visualization prototype into a robust, modular, performance-optimized, and architecturally documented professional tool.
+
+
+
+
+
+
+
+
+
⚡
+
1. Sync Engine Rearchitecture
+
+
Redesigned to eliminate drift, stutter, and race conditions.
+
+
• Migration to videoFrameCallback for deterministic sync.
+ Version 3 represents a major architectural milestone. The application evolved from a functional visualization prototype into a robust, modular, performance-optimized, and architecturally documented professional tool.
+
+
+
+
+
+
+
+
+
⚡
+
1. Sync Engine Rearchitecture
+
+
Redesigned to eliminate drift, stutter, and race conditions.
+
+
• Migration to videoFrameCallback for deterministic sync.
• Color-coded architecture explorer (Core, Sync, UI, P5).
+
• Local PrismJS integration for high-perf syntax highlighting.
+
• Mini-map docking navigation system for architectural modules.
+
+
+
+
+
+
+
🛠️
+
7. UX & Modal System
+
+
+
• First-run detection with automated User Guide onboarding.
+
• Standalone Keyboard Shortcut reference modal.
+
• Refactored header navigation with theme-aware icons.
+
• Internet-free operation (Removed Google Fonts dependency).
+
+
+
+
+
+
+
📊
+
8. Data Explorer
+
+
+
• Draggable and resizable side-panel for granular inspection.
+
• Bi-directional timeline synchronization.
+
• Expanded metadata for tracked objects (Risk, State, Sign).
+
• Throttled data updates to maintain rendering performance.
+
+
+
+
+
+
9 & 10. Stability & Infrastructure
+
+
+
• Guards against division-by-zero in SNR mapping.
+
• Fixed tooltip Y-jitter bug in drawUtils.js.
+
• Standardized p.deltaTime across all browser engines.
+
• Dark mode refinements for raw point visibility.
+
+
+
• Decoupled UI logic from the main.js orchestrator.
+
• Isolated keyboard shortcuts for improved maintainability.
+
• Unit test suite expanded for utils and parsers.
+
• Comprehensive Context and README documentation updates.
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/steps/GEM_Changes.html b/steps/GEM_Changes.html
new file mode 100644
index 0000000..998b39e
--- /dev/null
+++ b/steps/GEM_Changes.html
@@ -0,0 +1,134 @@
+
+
+
+
+
+ Version 3.0 Changelog
+
+
+
+
+
+
+
+
+
Changelog v3.0
+
A comprehensive overview of architectural overhauls, performance optimizations, and new features introduced in the latest release.
+
+
+
+
+
+
+
+ Major Changes
+
+
+
+
+
+
Hybrid Sync & Playback Engine
+
The synchronization architecture between video and radar data was completely rewritten to eliminate stutter and ensure 100% solid logic.
+
+
Moved updateFrame directly into the videoframecallback for display refresh rate synchronization.
+
Implemented a "Resync Drift Cascade Lockdown" (circuit breaker) to prevent infinite loop freezes on low-end hardware or when multiple tabs are open.
+
Added frame-rate independent smoothing for UI and sketches.
+
Centralized timeline slider, manual offset, and play/stop/pause logic into a dedicated sync.js module.
+
+
+
+
+
Modular File Loading & Offline Support
+
Monolithic application files were broken down, and the software was adapted to work entirely offline.
+
+
Extracted file handling into src/fileLoader.js, supporting incremental loading (replacing individual files without breaking app state).
+
Resolved IndexedDB race conditions and startup crashes by ensuring metadata is extracted before parsing visualization data.
+
Removed Google Fonts dependency and implemented robust fallback logic for local JS libraries, enabling full offline capability.
+
Corrected caching key usage to ensure auto-reloading from IndexedDB works seamlessly.
+
+
+
+
+
Performance & Memory Optimizations
+
Significant improvements to the rendering pipeline to reduce memory allocation and boost framerates.
+
+
Resolved major heap memory issues by iterating through data and drawing rectangles directly to the canvas, changing ctx.fillStyle only once per column.
+
Improved FPS counter stability with a warmup period to prevent erroneous spikes during new file loads.
+
Removed unnecessary animation loop calls (e.g., drawing axes every frame) and reduced text content updates for a 20%+ performance boost.
+
Throttled the MATLAB-style Data Explorer updates to prevent unnecessary function calls when closed.
+
+
+
+
+
Living Documentation & Analytical Tools
+
Introduced powerful new ways to explore both the application data and the codebase itself.
+
+
Living Documentation: Added an interactive codebase overview with a visual 3D-styled navigation map and PrismJS syntax highlighting.
+
Data Explorer: Added a draggable, resizable MATLAB-style data explorer with timeline sync and track information (launched via 'i' key).
+
Speed Graph: Implemented drag-to-seek, click-to-seek, and hover tooltips for CAN/Ego speeds.
+
Added an Inter-Frame Timing (IFT) graph with dynamic scaling animations.
+
+
+
+
+
+
+
+
+
+ Minor Changes & UX Polish
+
+
+
+
+
+
+
User Interface
+
+
Added vertical range slider (20m-200m) to adjust RADAR_Y_MAX dynamically.
+
Double-click reset functionality added to range sliders.
+
Implemented an auto-loading Quick Start Guide modal on the first session launch.
+
Refined radar-info-overlay to match plot width and center text.
+
Added theme-aware color logic for raw point clouds in dark mode.
+
Removed redundant 'scale' and 'absolute time' metrics from persistent overlays.
+
+
+
+
+
Zoom & God Mode
+
+
Implemented smooth mouse tracking for the zoom tooltip.
+
Added Inverse Zoom Logic.
+
Constrained God Mode tooltips to remain inside the bounding sketch box.
+
Fixed hover detection bugs during scroll-zoom interactions.
+
Switched to relative distance squares to reduce computational overhead and initial hover jitter.
+
+
+
+
+
Visuals & Inputs
+
+
Added vehicle dimensions visualization and enhanced track risk coloring.
+
Added state identifiers directly beside TTC markers.
+
Fixed visibility toggle for "Confirmed ONLY" tracks.
Interactive codebase overview with 3D-styled navigation.
+
Living documentation integration.
+
Color-coded architecture explorer (Core, Sync, UI).
+
PrismJS integration for syntax highlighting.
+
Mini-map docking navigation system.
+
+
+
Impact: Application now self-documents architecture, accelerating onboarding and internal knowledge transfer.
+
+
+
+
7. User Guide & Modal System (Major)
+
+
+
First-run detection with sessionStorage.
+
Auto-launch user guide modal.
+
Shortcut reference modal.
+
Standalone shortcuts.html reference page.
+
Header navigation refactor.
+
+
+
+
+
8. Data Explorer Enhancements (Major)
+
+
+
Draggable and resizable explorer.
+
Timeline synchronization.
+
Additional track metadata display.
+
Performance throttling.
+
+
+
+
+
9. Stability & Bug Fixes (Minor)
+
+
+
Fixed smoothing and mapping edge cases.
+
Corrected hover detection bug during scroll-zoom.
+
Division-by-zero prevention safeguards.
+
Fixed handleCloseUpDisplay mouseY bug.
+
Debug overlay corrections.
+
Speed graph fixes.
+
Minor UI fixes and dark mode refinements.
+
Removed Google Fonts dependency for offline support.
+
Theme-aware coloring improvements.
+
Various HTML & margin refinements.
+
+
+
+
+
10. Infrastructure & Refactoring (Minor)
+
+
+
Keyboard shortcut isolation.
+
UI/session logic separation from main.js.
+
Deletion of obsolete files.
+
Context & README updates.
+
Code cleanup and dead code removal.
+
+
+
+
+
Summary of Version 3
+
+Version 3 represents a major architectural milestone. The application evolved from a functional visualization prototype into a robust, modular, performance-optimized, and architecturally documented professional tool.
+
+
+
+
Deterministic Sync Engine
+
Modular File Loading Architecture
+
High-Performance Rendering Pipeline
+
Advanced Data Visualization Intelligence
+
Integrated Living Documentation
+
Professional UX & Stability Hardening
+
+
+
Overall Classification: Major Release – Architectural & Performance Upgrade