mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-05 10:53:59 +00:00
feat(intro): add the First Light intro sequence
A deterministic WebGL film of God's Eye View coming online: a seed on Null Island grows into a culture that draws the planet, indexes the surface tile by tile, ingests the live feeds and outgrows its dish, ending on the logo. Renders 16:9 and 9:16 frame by frame in headless Chromium; the procedural score is locked to the same clock. Data and imagery are fetched by the scripts in tools/ and are not committed. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01KqP857pippaUs6konSDfe8
This commit is contained in:
37 files changed
+15507
No files matched your search
@@ -0,0 +1,58 @@
|
||||
# God's Eye View — First Light
|
||||
|
||||
The intro sequence: God's Eye View coming online for the first time. A seed of
|
||||
light on Null Island grows into a culture that turns out to be drawing the
|
||||
planet. It then indexes the surface tile by tile, ingests every public feed,
|
||||
and outgrows the dish it was grown in.
|
||||
|
||||
Every number on screen comes from a real snapshot: 5,550 aircraft from OpenSky,
|
||||
15,928 satellites from CelesTrak, 246,411 fire detections from FIRMS, 10,120
|
||||
quakes from USGS, GFS wind, 1,948 subsea cable segments, AIS from Kystverket and
|
||||
Digitraffic, and 117 real public camera frames. Those cameras come from a
|
||||
catalog of 16,607 across 18 keyless agencies. The imagery is Esri World Imagery
|
||||
and NASA GIBS, fetched keyless. The score is synthesised from scratch and
|
||||
frame-locked to the same clock as the picture.
|
||||
|
||||
## Acts
|
||||
|
||||
| Time | Act | What happens |
|
||||
|---|---|---|
|
||||
| 0–5 s | Void | Boot console types, then implodes into a point |
|
||||
| 5–16 s | Seed / culture | Heartbeat, petri-dish ring. Mycelium grows out from 0°N 0°E; real night lights and coastlines light up as the front passes; the culture learns city names |
|
||||
| 16–30 s | Indexing | Quadtree tiles z3→z5 index in with rising resolution; the sun model is applied; 24 synthetic Esri captures ("enhance" z13→z18); full-frame Sobel feature extraction over Midtown |
|
||||
| 30–52 s | Ingestion | Aircraft, vessels, military, satellites, quakes, fires, wind and cloud, subsea cables, public cameras. Each feed has its own visual and sonic signature. Ends on the camera wall |
|
||||
| 52–60 s | Saturation | Every layer at once, data arcs, the digital-twin lattice, and the dish ring's return; containment falls, the ring shatters, OMNIPRESENT |
|
||||
| 61–72 s | Resolve | The planet becomes the iris of the logo. GOD'S EYE VIEW · NO PLACE LEFT BEHIND · ONLINE |
|
||||
|
||||
## Rebuild
|
||||
|
||||
```sh
|
||||
npm install # three, playwright-core, satellite.js, fonts
|
||||
python3 -m http.server 8765 --bind 127.0.0.1 &
|
||||
# data + imagery snapshots (see data/SOURCES.md)
|
||||
bash tools/fetch/fetch_basic.sh # plus the other scripts in tools/fetch, tools/imagery
|
||||
node tools/export-cues.mjs # film clock -> audio/cues.json
|
||||
tools/render-all.sh 1920 1080 16x9 # deterministic frames -> out/video_16x9.mp4
|
||||
tools/render-all.sh 1080 1920 9x16
|
||||
tools/finalize.sh # score, -14 LUFS, mux -> out/final/
|
||||
```
|
||||
|
||||
Single stills for review:
|
||||
`node tools/render.mjs --w 1920 --h 1080 --frames 12s,30s,58.4s --out out/stills`
|
||||
|
||||
## Real-time / loading screen
|
||||
|
||||
`index.html?play` runs the same frames live in a GPU browser, driven by the audio
|
||||
clock (the first click starts the sound). `?w=1080&h=1920&play` gives the
|
||||
vertical cut.
|
||||
|
||||
## Layout
|
||||
|
||||
- `src/timeline.js`: the clock. Every visual and audio event keys off it.
|
||||
- `src/main.js`: asset loading, camera choreography, per-frame state.
|
||||
- `src/globe.js`: planet shader (substrate → growth → quadtree indexing → lit Earth), clouds, atmosphere.
|
||||
- `src/lines.js`: coastline and mycelium growth fronts, cables, arcs, twin lattice.
|
||||
- `src/layers.js`: aircraft, vessels, satellites, quakes, fires, wind particles, stars.
|
||||
- `src/hud.js`: all typography and 2D: boot console, dish, captures, feed stack, camera wall, title.
|
||||
- `src/post.js`: HDR composite, dual-filter bloom, lens, grain, glitch.
|
||||
- `audio/score.py`: procedural score and sound design.
|
||||
Reference in new issue
Block a user