How hiccup21/depthscope works
DepthScope turns regional GEBCO bathymetry into 3D terrain, then overlays live, region-filtered USGS earthquakes and a camera-tracked depth readout. Users choose regions and layers in the sidebar; App coordinates data loading and scene components. The README documents three regions and a Python bathymetry pipeline. The frontend earthquake hook is sampled; the Python earthquake script is an offline/reference path. Static data copying into the frontend is documented, but its implementation is not shown.
Main entry points: App.jsx App orchestration · useEarthquakes.js Earthquake fetch and filter · Rail.jsx Region and layer controls · gebco_pipeline.py Bathymetry pipeline
Components 17
Bathymetry data
- Bathymetry pipeline
gebco_pipeline.py - Generated heightmaps
manila_trench_heightmap.json - Frontend heightmaps
frontend/public/data/manila_trench_heightmap.json - Heightmap loader
frontend/src/components/useHeightmap.js
Seismic overlay
- Earthquake fetch and filter
frontend/src/components/useEarthquakes.js - Offline earthquake export
fetch_earthquakes.py - Earthquake markers
frontend/src/components/EarthquakeMarkers.jsx
3D exploration
- Terrain mesh
frontend/src/components/TerrainMesh.jsx - Depth probe
frontend/src/components/DepthProbe.jsx
User interface
- App orchestration
frontend/src/App.jsx - Region and layer controls
frontend/src/components/Rail.jsx - Depth gauge
frontend/src/components/FathomGauge.jsx - Earthquake legend
frontend/src/components/EarthquakeInfo.jsx - React entry
frontend/src/main.jsx
Other components
- Explorer
- GEBCO OPeNDAP
- USGS feed
Connections 19
- Explorer → Region and layer controls: selects region
- Explorer → Region and layer controls: toggles layer
- Region and layer controls → App orchestration: reports selections
- React entry → App orchestration: renders
- App orchestration → Heightmap loader: requests region data
- Heightmap loader → Frontend heightmaps: fetches JSON
- App orchestration → Earthquake fetch and filter: requests regional events
- Earthquake fetch and filter → USGS feed: fetches feed
- Earthquake fetch and filter → App orchestration: returns filtered events
- App orchestration → Terrain mesh: passes heightmap
- App orchestration → Depth probe: passes mesh and controls
- Depth probe → App orchestration: updates readout
- App orchestration → Depth gauge: passes depth reading
- App orchestration → Earthquake markers: passes events and terrain
- App orchestration → Earthquake legend: passes feed status
- Bathymetry pipeline → GEBCO OPeNDAP: fetches bathymetry
- Bathymetry pipeline → Generated heightmaps: exports heightmap
- Generated heightmaps → Frontend heightmaps: copied for frontend
- Offline earthquake export → USGS feed: fetches reference feed