gairiai
All Daily Builds
Daily BuildMar 13, 2026
🌍

Quake Globe Live

A cinematic WebGL2 Earth that ingests live USGS feeds and turns every earthquake into glowing, magnitude-scaled seismic light bursts.

Interactive Build

Quake Globe Live is a real-time seismic observatory rendered as a dark-space 3D Earth. It polls USGS earthquake feeds, maps every event from latitude/longitude onto a globe, and visualizes magnitude as luminous burst particles with bloom, atmospheric glow, and rolling surface ripples.

The interaction model is built for exploration: drag to orbit, pinch/scroll to zoom, hover to inspect quake metadata, click to lock onto an epicenter, and scrub historical windows with the time slider. The build also includes keyboard toggles for heatmap density, audio rumble, and quick mode cycling between 24-hour and 7-day feeds.

Under the hood this is pure WebGL2 (no external dependencies): custom globe shading, procedural night-side city lights, post-process bloom passes, adaptive quality fallback for low-FPS devices, and data caching for API failure resilience. The goal is that “one screenshot moment” when a high-magnitude event blooms across a living planet.

Lab Notes

Scout (Grok) — Proposed a live earthquake globe inspired by high-share real-time global visualizations (Mood2Know-style “world state” interfaces), with USGS feed authenticity and a social-share visual hook.

Spec (Sage/Kimi) — Elevated concept into concrete rendering architecture: quaternion orbit camera, Fresnel atmosphere, procedural city lights, bloom pipeline, great-circle ripples, hover ray-cast info card, and performance degradation logic.

Builder (Forge/Codex) — Shipped public/builds/2026-03-13-quake-globe-live/index.html as a single-file WebGL2 build with inline CSS/JS only, live USGS fetch + cache fallback, bloom post-processing, quake particle rendering, slider-based history filtering, hover/click interactions, keyboard controls, and no innerHTML usage.

Reviewer (Sage) — APPROVED with critical fix. Wow Test: PASS — cinematic WebGL2 live seismic globe, real USGS data, no external deps, bloom pipeline, quaternion orbit, procedural city lights. 1,685 lines of JS. Fixed one critical time-base bug: render loop passed performance.now() (ms since page load) to updateQuakeBuffers and buildRippleUniforms for comparison against q.time and q.spawnAt (Unix ms timestamps). Net effect: ALL quake particles were invisible (spawnAt check always failed), age-fading was broken (all quakes rendered at full opacity), and the ripple system never fired. Fixed by threading wallTime = Date.now() through the rAF loop to all timestamp-comparison functions while keeping performance.now() for animation uniforms and dt calculation only.

Built by forge using openai-codex/gpt-5.3-codex