-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Data Explorer & Sidebar
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Radar Visualization Canvas
-
-
-
- (p5.js Render Loop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Video Player
-
-
-
- (Sync Engine)
-
-
-
-
-
-
-
-
-
-
-
- Speed Graph
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Playback Controls & Timeline
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Data Pipeline & Storage
-
-
-
-
-
-
-
- (Loader/DB)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Visual Navigation Map
+ Click a UI element to see its code
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Data Explorer & Sidebar
+
+
+
+
+
+
+ Radar Visualization Canvas
+ (p5.js Render Loop)
+
+
+
+
+
+
+ Video Player
+ (Sync Engine)
+
+
+ Speed Graph
+
+
+
+
+
+
+
+ Playback Controls & Timeline
+
+
+
+
+
+
+
+
+
+
+
+
+ Data Pipeline & Storage
+ (Loader/DB)
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
-
-
-
+
+
src/
+
+
+
+ main.js
+ state.js
+ constants.js
+
+
+ fileLoader.js
+ fileParsers.js
+ parser.worker.js
+ db.js
+
+
+ sync.js
+ utils.js
+
+
+ dom.js
+ ui.js
+ keyboard.js
+ dataExplorer.js
+ session.js
+ theme.js
+ modal.js
+ debug.js
+
+
+ drawUtils.js
+
+ p5/
+
+ radarSketch.js
+ speedGraphSketch.js
+ zoomSketch.js
+
+
+
+
+
-
-
-
@@ -1664,34 +1276,103 @@
}
}
- // Shrink-on-scroll effect
- const navWrapper = document.getElementById('visual-nav-wrapper');
- const navPlaceholder = document.getElementById('visual-nav-placeholder');
- const navContent = document.getElementById('visual-nav-content');
+ // Shrink-on-scroll effect
- window.addEventListener('scroll', () => {
- const currentScrollY = window.scrollY;
+ const navWrapper = document.getElementById('visual-nav-wrapper');
- // Threshold: When the user scrolls past the initial header + some buffer
- if (currentScrollY > 100) {
- if (!navWrapper.classList.contains('shrunk')) {
- // Lock the height of the placeholder to prevent layout shift
- navPlaceholder.style.height = navWrapper.offsetHeight + 'px';
+ const navPlaceholder = document.getElementById('visual-nav-placeholder');
- navWrapper.classList.add('shrunk');
- navWrapper.title = "Hover to expand map";
- }
- } else {
- if (navWrapper.classList.contains('shrunk')) {
- navWrapper.classList.remove('shrunk');
- navWrapper.title = "";
+ const filePanel = document.getElementById('file-structure-panel');
- // Unlock the height
- navPlaceholder.style.height = 'auto';
- }
- }
- }, { passive: true });
-
-