Clickable previews: exact app deep-links everywhere
Every rendered still links to the app frame that produced it (song + seed + frame + venue/viz pins + probe warm-up, new window), via shared src/ui/preview.js. Supporting work, each measured: app honors ?frame/?venueSel/?viz/?warm= with pre-build pins (Show.applyPins) and primes deep-link loads; shared pinViz/pinVenueShell paths for gallery, filmstrip and app; probes prime and carry their warm-up; bank probes analyse the bank PCM and file decode is fixed-rate with bit-exact WAV parsing so app and probes see identical samples; materials built mid-update compile synchronously (needsCompile). Round trip verified bit-identical gallery-versus-app.
This commit is contained in:
@@ -29,6 +29,14 @@ references, `MIGRATION.md` is the shader→stage migration recipe.
|
||||
is on. Section boundaries are NOT exact for free — the compositor's
|
||||
feedback buffer is global and carries across them. Clearing it per
|
||||
boundary would flash every transition; warm-up is the better trade.
|
||||
- Previews link to their exact app frame (`src/ui/preview.js`: song + seed
|
||||
+ frame + venue/viz pins + the probe's warm-up length, both sides primed).
|
||||
Exactness takes four agreements: the bank probes analyse the bank PCM
|
||||
(peak-normalised 16-bit mono — `audio/songbank.js bankPcm`), file decode
|
||||
is fixed at 44.1 kHz with bit-exact WAV parsing (never the context rate),
|
||||
pins run before any layer builds (rebuilding mid-context renders
|
||||
differently), and materials built mid-update compile synchronously
|
||||
(`needsCompile`) so no warm-up frame draws against an unlinked program.
|
||||
|
||||
## 2. Lookahead
|
||||
|
||||
|
||||
Reference in New Issue
Block a user