-
Notifications
You must be signed in to change notification settings - Fork 0
FAQ
Almost always a hidden tab. The scene runs on requestAnimationFrame, which
browsers pause for backgrounded, minimised or headless tabs — no frames, no
picture. Bring the tab to the front.
If it's visible and still blank, check chrome://gpu for a blocklisted or
software renderer, and look in the console for shader errors.
A known trap, and it's in the code as a comment so nobody re-introduces it: the
fish GLBs ship no COLOR_0 vertex attribute. Enabling vertexColors on
their material makes the unbound colour attribute read (0, 0, 0) — black fish.
Per-instance tinting comes from instanceColor, which is independent of it.
If you're seeing this on unmodified main, that's a real bug — please
report it.
A rescue is earned by travel, not by geometry. The fish has to actually swim about two-thirds of your path and arrive at the Heart. A line connecting the two points instantly is not a rescue — it's a drawing.
Also check the stroke started near the fish and mostly moved toward the Heart. A stroke that doubles back, jumps, or scribbles gets rejected. See How to Play.
No — at most one fish answers each stroke, by design. Draw another.
The scene starts in a cheap "lite" mode and only turns on shadows and bloom once
it has watched your device hold stable frames; if it can't, it stays lite and
pins itself there. So "it's heavy" usually means the lite tier is heavy, which
is worth knowing about — please
open an issue with
your GPU (the "Unmasked Renderer" line from chrome://gpu).
You can measure it yourself with npm run perf. See Performance.
localStorage, key luminareef, on your own machine. No account, no server,
nothing leaves your browser. To move a save, copy that key's value into the same
key on the other browser.
Clearing site data resets the reef. Tide marks, best run and completed runs are the parts designed to survive a reset — but not a wipe of storage.
That's exactly what the in-game reset does. Achievements, bestRunMs and
runsCompleted are the meta-progression layer and are deliberately kept.
Yes — all of it synthesized at runtime with the Web Audio API, no audio files. Browsers block audio until you interact with the page, so click first.
Yes. One finger draws a current, two fingers orbit and zoom. The HUD reflows for narrow screens.
Yes, and most of it is data, not code. See Customizing.
Because that's the point. Twelve rescues, five gardens, one finale — then it ends and lets you leave. An endless loop would make it a different game, and there are already a lot of those. See CONTRIBUTING.
Playing
Building
Repository