1.9 KiB
PORTAL — GODSIGH micro-lane · ▸ the orrery gets a door
You are an execution agent (Opus). Smallest lane of the wave — budget ~an hour. GODSIGH is the mature sibling; make surgical edits only, match the house style you find, and end with a short report (what shipped, how verified, open questions).
Repo: this one (/Users/m3ultra/Documents/GODSIGH, origin Gitea GODSIGH).
Branch portal/solargod from main@907094a or later. Dev: python3 serve.py 8137. Do not touch feed proxies, layer logic, or the registry.
P.1 The door
SOLARGOD (the solar-system orrery, sibling app, port 8147) already links INTO
GODSIGH from its Earth card. Reciprocate: a small fixed button/link in the HUD
(near the mode toggle or HUD footer — pick what the existing CSS makes clean):
🪐 SOLARGOD → opens http://127.0.0.1:8147/ in a new tab
(rel="noopener").
P.2 The handshake — shared time
Both apps serialize state in the URL hash, and SOLARGOD accepts an absolute
sim-time token: #t=@<unixMs>. Build the href DYNAMICALLY at click time from
GODSIGH's current clock:
http://127.0.0.1:8147/#t=@<ms of viewer.clock.currentTime> — scrub GODSIGH
three hours into the past, click through, and SOLARGOD opens at that same
moment. (SOLARGOD clamps to its own valid range itself; don't pre-clamp.)
P.3 Verify (real input, in the browser)
- Click the button live → new tab opens SOLARGOD, planets rendered.
- Scrub GODSIGH off-live by ~3 h, click again → SOLARGOD's date readout shows the scrubbed time (±1 min), chip reads SCRUBBED.
- GODSIGH itself: zero console errors, all layers still boot, hash state still round-trips (paste a GODSIGH URL, view reproduces).
- If SOLARGOD isn't running, the tab just fails to load — that's fine, no
error handling needed beyond
noopener.
Out of scope: any SOLARGOD-side change (its t=@ms support already exists);
any shared component; any feed work.