Live ledger
Scenes
Every scene the game has, every one's status, no fudge.
The original Johnny Castaway shipped 63 scenes — short looped vignettes the screensaver picked from at random. This port aims to reproduce all 63 in original order on the PlayStation 1, with no scenes added or dropped. The captions and the holiday overlay set are the only things expanded past the source material.
A scene counts as validated when it clears what the project calls
the FISHING 1 bar: pixel-perfect visuals against the host-captured
reference, plus SFX cues that land on the same engine ticks, across
every variant flag that applies to the scene (night palette, low-tide
shoreline, holiday overlay, raft-stage progression). That’s a higher
bar than “it ran once and didn’t crash” — at v0.9.3-ps1
all 63 rows below clear it. The
63-scene grind retrospective
walks through how the last cluster (the foreground-only multi-view
scenes) cleared the bar. The one-line lead in each row’s Notes column
was reconciled against on-PS1 playback in v0.8.4-ps1; the
chapter-select grind retrospective
walks through what that loop caught (several caption-mapping audit
guesses had drifted from the gags the discs actually play). Each
row’s per-scene page (linked from the table below) carries its own
captured-on-PS1 hero image plus a figcaption that names the gag and
any cross-essay role; the
63 heroes retrospective
walks through the frame-selection rules of thumb and the cross-link
clusters that emerged from writing one figcaption at a time.
The source of truth for this ledger is
docs/ps1/scene-status.md
in the project repo. The table on this page is generated from
site/_data/scenes.yml,
which is parsed from that file. Current tally: 63 of
63 scenes validated. v0.9.3-ps1 is the
release line the validated rows were last verified on. For the longer
explanation of how a scene moves from pending to validated, see
the method and
the regtest harness. The older
host-capture baselines have their own
regtest case shelf,
which is useful when a scene needs to be compared against the frozen desktop
reference instead of the PS1 replay path.
At a glance
- validated 63 / 63
The ledger
Sorted by ADS file then by tag. Scene names link to the per-scene case study — every scene has one, naming the variants and the host-vs-PS1 reference frames where applicable.
| ADS · tag | Scene | Status | Last verified | Notes |
|---|---|---|---|---|
| ACTIVITY 1 | activity1 | validated | palm-climb-then-belly-flop (the sloppy-impact variant of the same climb-and-water arc; ACTIVITY 4 is the clean-dive variant). Visual + audible signoff after rebuilding high/low packs from a capped two-beat story capture (`FG_EXPORT_ACTIVITY1_CAPTURE_FRAMES=400`); source frames `148` and `348` hold the animal scorecards, and `patch-activity1-tree-foreground.py` keys foreground-only tree-band contamination against the full-host composite so the pre-pop hat/white pixels and tree-occlusion ghosts are gone in both loops. Pack content (belly-flop) confirmed from direct on-PS1 observation while capturing the chapter-select thumbnail. | |
| ACTIVITY 4 | activity4 | validated | palm-climb-then-clean-dive (the clean-dive variant of the same climb-and-water arc; ACTIVITY 1 is the belly-flop variant). Visual + audible signoff on the existing on-disc ACTIVITY4.FG2 / ACTV4LOW.FG2 packs (no rework); high-tide nighttime route. Earlier "reads-with-seagull-on-head" mapping was wrong — corrected from direct on-PS1 observation while capturing the chapter-select thumbnail. | |
| ACTIVITY 5 | activity5 | validated | rain-dance-then-lightning-strike (Johnny in costume performs a rain dance, the storm-cloud thought bubble triggers, lightning hits); visual + audible signoff on the gag; high/low packs use a JOHNNY 2-style split (upper bubble lane on full base-diff, lower third on keyed overlay) plus +30 vblanks of hold on source frame 46 so the storm-cloud thought bubble is readable. Earlier "climb/look/dive" mapping was wrong — corrected from direct on-PS1 observation while capturing the chapter-select thumbnail. | |
| ACTIVITY 6 | activity6 | validated | reads-falls-asleep-coconut-bonk (Johnny sits under the palm reading, dozes off, and a coconut drops on his head); visual + audible signoff after re-exporting high/low packs through the no-stitch fast path with frame-wide keyed overlay; fixes ghosted Johnny pose residue from base-diff against the static-Johnny base on the reads/falls-asleep/coconut-bonk loop | |
| ACTIVITY 7 | activity7 | validated | reads-book-upside-down (Johnny sits and reads a book — but the book is upside-down). Visual + audible signoff after re-exporting high/low packs through the no-stitch fast path with frame-wide keyed overlay; fixes ghosted Johnny pose residue on the right side of the island from base-diff against the static-Johnny base on the reads-book-upside-down loop. The earlier "bathes / seagull steals clothes" mapping was wrong — corrected from direct on-PS1 observation while capturing the chapter-select thumbnail. | |
| ACTIVITY 8 | activity8 | validated | bathes-then-walks-behind-tree (Johnny takes a bath, then walks behind the palm tree to hide his nakedness); visual + audible signoff after re-exporting high/low packs through the no-stitch fast path with frame-wide keyed overlay; fixes ghosted Johnny pose residue from base-diff against the static-Johnny base | |
| ACTIVITY 9 | activity9 | validated | rain-dance-boat-naked (Johnny in costume rain-dances, a boat carrying a couple passes by, he drops the costume, and the embarrassed couple sails on); visual + audible signoff after rebuilding high/low packs through an Activity9-specific wide stitch; `patch-activity9-boat-foreground.py` fills BOAT.PSB bow/stern pixels from source at the legacy clip edges, adds a narrow overlap band to remove the vertical seam, and carries the last BOAT draw across metadata-held frames so the late boat bow no longer flickers | |
| ACTIVITY 10 | activity10 | validated | reads-seagull-steals-book (Johnny sits reading; a seagull swoops in and snatches the book); visual + audible signoff on the existing on-disc ACTIVITY10.FG2 / ACTV10L.FG2 packs (no rework needed); high-tide nighttime route, reads-and-seagull-steals-book | |
| ACTIVITY 11 | activity11 | validated | bird-steals-clothes (a bird swoops in and steals Johnny's clothes off the island); visual + audible signoff after re-exporting high/low packs with a frame-wide keyed overlay (`KEYED_OVERLAY_RECT="0,0,640,480"`); fixes stale Johnny/bird-outline residue that the foreground-only diff carried against the moving rain backdrop | |
| ACTIVITY 12 | activity12 | validated | bird-on-head-clubs-self (a bird lands on Johnny's head and he clobbers his own head with a club trying to hit it). Visual + audible signoff on the existing on-disc ACTIVITY12.FG2 / ACTV12L.FG2 packs (no rework needed); high-tide nighttime route. The earlier "belly-flop dive" mapping was wrong — corrected from direct on-PS1 observation while capturing the chapter-select thumbnail. | |
| BUILDING 1 | building1 | validated | sandcastle-slumps-stomp (Johnny tries to build a sandcastle, it slumps mid-build, and he stomps on it in frustration); visual signoff after regenerating high/low packs through the generic normal/far-left/far-right foreground-only multi-view stitch; sandcastle scene played cleanly on the normal high-tide/night route | |
| BUILDING 2 | building2 | validated | lilliputian-sandcastle-airport (Johnny builds a sandcastle, tiny lilliputians take it over and launch airplanes from it); visual signoff after regenerating high/low packs through the generic normal/far-left/far-right foreground-only multi-view stitch, injecting the persistent full-host sandcastle, trimming lower sandcastle tail residue, dropping the late splash residue, and keeping the result in FGP3 residual form | |
| BUILDING 3 | building3 | validated | rolls-over-and-naps (Johnny lies down on the sand, rolls over, and takes a nap); visual signoff after regenerating high/low packs through the generic normal/far-left/far-right foreground-only multi-view stitch; long sleeping/idle beat played cleanly on the normal low-tide/night validation route | |
| BUILDING 4 | building4 | validated | lilliputians-tie-up-sleeping-johnny (Gulliver-style: Johnny sleeps on the sand, tiny lilliputians tie him down with ropes); visual signoff after regenerating high/low packs through the generic normal/far-left/far-right foreground-only multi-view stitch and converting to FGP3 with an explicit terminal cleanup frame so the final Johnny/bird row restores cleanly | |
| BUILDING 5 | building5 | validated | builds-fire-sits-by-it (Johnny gathers driftwood, builds a small fire on the beach, and sits next to it). Visual signoff after regenerating high/low packs through the generic normal/far-left/far-right foreground-only multi-view stitch; played cleanly on the normal high-tide/night validation route. The earlier "raft/mermaid repair" mapping was wrong — corrected from direct on-PS1 observation while capturing the chapter-select thumbnail. | |
| BUILDING 6 | building6 | validated | lilliputians-tie-up-no-bird (Johnny sleeps on the sand and lilliputians tie him down — same Gulliver gag as BUILDING 4 but without the bird beat). Visual signoff after regenerating high/low packs through the generic normal/far-left/far-right foreground-only multi-view stitch; played cleanly on the normal high-tide/night validation route. The earlier "edge sleep" mapping was wrong — corrected from direct on-PS1 observation while capturing the chapter-select thumbnail. | |
| BUILDING 7 | building7 | validated | fire-grill-fish-eat (Johnny builds a fire, grills a fish on it, and eats the fish); visual signoff after regenerating high/low packs through the generic normal/far-left/far-right foreground-only multi-view stitch, patching the middle campfire interval from clean animated foreground rows, and converting to FGP3 with explicit cleanup; last-100-frame full-host review showed no fish-skeleton draw in this scene | |
| FISHING 1 | fishing1 | validated | v0.3.6-ps1 |
fishes-catches-starfish-throws-back (Johnny casts a line, hooks a starfish, and tosses it back into the water — the gag the on-screen caption literally calls out). Reference scene; template for remaining. |
| FISHING 2 | fishing2 | validated | fishes-pulls-up-titanic-life-preserver (Johnny casts a line and reels in a round life-preserver ring stenciled TITANIC). The earlier "a life raft drifts past" mapping was wrong (the object is hooked on the line, not a passing raft); on-screen caption mentions a boot, which appears to be a different fishing gag — corrected from direct on-PS1 observation while capturing the chapter-select thumbnail. | |
| FISHING 3 | fishing3 | validated | octopus-steals-fish-walks-off (Johnny fishes, an octopus comes up on the line, snatches the fish that was on the hook, and walks off with it). Visual + audible signoff on PS1/DuckStation from `v0.6.1-ps1` baseline. The earlier "octopus interlude" mapping had the octopus right but missed the fish-steal beat; on-screen caption ("crab snaps his nose") appears to be a different fishing gag — corrected from direct on-PS1 observation while capturing the chapter-select thumbnail. | |
| FISHING 4 | fishing4 | validated | shark-pulls-johnny-speedboat (Johnny hooks a shark and gets pulled around the ocean by it like a water-skier behind a speedboat); visual + audible signoff after `LEFT_ISLAND` fgpilot draw-offset fix | |
| FISHING 5 | fishing5 | validated | shark-eats-and-spits-out (Johnny goes fishing, gets eaten by a shark, then spat back out onto the island); visual + audible signoff after rebuilding high/low FG2 with a full-frame keyed current-ledger overlay; stale full-host shark overpaint and outline-only foreground-mask shark frames are fixed | |
| FISHING 6 | fishing6 | validated | fish-spits-water-thrown-back (Johnny reels in a fish; it squirts water in his face and he tosses it back); visual + audible signoff after terminal FGP3 cleanup fix for splash/pole residue | |
| FISHING 7 | fishing7 | validated | fishes-right-side-catches-starfish-throws-back (Johnny fishes off the right side of the island, hooks a starfish, and throws it back); visual + audible signoff after rebuilding high/low packs from a far-left full-frame foreground-only capture; far-left stress playback proved the recaptured scene-relative pixels are complete, so the old runtime island-position pin is removed | |
| FISHING 8 | fishing8 | validated | fishes-right-side-catches-fish (Johnny fishes off the right side of the island and reels in a fish); visual + audible signoff after the same full-frame foreground-only recapture pattern as `FISHING 7`; pack completeness is proven at the far-left stress position and production playback stays random-position safe | |
| JOHNNY 1 | johnny1 | validated | the-end-scroll (the Day 11 finale: frog clock, sunset silhouette, plane overhead, Johnny parachutes down, and the "The End" title card); visual signoff after full-screen black-backdrop playback fixed placement/scaling and removed the clean-rect memory pressure; saved memcard mute is applied before audio init | |
| JOHNNY 2 | johnny2 | validated | bottle-washes-up-sos-note (a bottle washes up on the shore; Johnny puts an SOS note into it and tosses it back); visual + audible signoff after rebuilding high/low FG2 with lower-band keyed overlay cleanup and hold-advance/hold-adjust timing for the island/SOS thought bubbles | |
| JOHNNY 3 | johnny3 | validated | writes-letter-to-suzy (Johnny writes a letter to Suzy and sends it off); visual + audible signoff after right-shift island probe confirmed the full source pixels are present; no captured-position pin is required | |
| JOHNNY 4 | johnny4 | validated | own-sos-returns (Johnny's own SOS bottle washes back onto the shore); visual + audible signoff after rebuilding high/low packs with a full-frame keyed foreground-only overlay; stale bottle overpaint and full-host SOS bubble blue-line contamination are fixed without adding a runtime island-position pin | |
| JOHNNY 5 | johnny5 | validated | sends-sos-bottle (Johnny writes a fresh SOS and sends the bottle out); visual + audible signoff after rebuilding high/low packs at the current-position host capture so the thrown-bottle splash is in frame; full-frame keyed foreground-only overlay fixes stale lower-band overpaint, and SOS note timing now holds on the note instead of the blank post-bubble rows | |
| JOHNNY 6 | johnny6 | validated | office-desk-daydreams-island (Johnny is back at his office desk, daydreaming about his time on the island — the inverse-castaway gag); visual + audible signoff after routing the scene through the full-screen black-backdrop runtime path; no ocean/island background is painted | |
| MARY 1 | mary1 | validated | date-with-mary-the-mermaid (Johnny goes on a date with Mary the mermaid at the shoreline); visual + audible signoff on the legacy MARY1 route; no pack or runtime changes required | |
| MARY 2 | mary2 | validated | mary-visits-fishing-mistaken-for-fish-boot (Mary swims up while Johnny is fishing; he mistakes her for a fish on the line, then ends up reeling in a boot); 'visual + audible signoff after rebuilding high/low packs from a wide scene-relative multi-view stitch: foreground-only captures restore the line, mermaid, boot/splash, and lower-water action across island placements, while full-host bubble injection restores the fish thought-bubble shell; far-right and true far-left stress playback passed' | |
| MARY 3 | mary3 | validated | exchange-gifts-plan-date (Mary and Johnny exchange gifts at the shoreline and make plans to go on a date); visual + audible signoff after rebuilding high/low packs from a far-right full-frame keyed foreground-only capture; host capture now invalidates stale captured sprite surfaces before BMP/layer frees, MARY3 uses low-memory clean-snapshot relief, and the late dinner/thought beat holds on the readable frames | |
| MARY 4 | mary4 | validated | raft-work-hurts-mary (Johnny works on his raft to get home; Mary sees this and is heartbroken that he plans to leave); visual + audible signoff after rebuilding high/low packs through the generic multi-view scene-relative stitch; normal, far-left, and far-right foreground-only captures restore both sides of the island-relative action, and far-right stress playback at `x=300,y=54` passed | |
| MARY 5 | mary5 | validated | packs-raft-says-goodbye (Johnny finishes packing the raft and says goodbye to Mary before sailing off); visual + audible signoff after rebuilding high/low packs through the generic multi-view scene-relative stitch with raft-stage `0`; runtime story-flag policy now clamps `NORAFT` scenes to no generic raft even when a broad `raft-stage` token is present, and `FIRST` scenes skip the walk-in before the frog/full-wipe transition | |
| MISCGAG 1 | miscgag1 | validated | heat-melts-johnny (Johnny gets so hot in the sun that he melts); visual + audible signoff after regenerating high/low packs through the generic normal/far-left/far-right foreground-only multi-view stitch; validated on the normal high-tide/night route | |
| MISCGAG 2 | miscgag2 | validated | bathe-shark-scare (Johnny goes down to take a bath in the surf and a shark turns up and scares him off); visual + audible signoff after regenerating high/low packs through the generic normal/far-left/far-right foreground-only multi-view stitch; validated on the normal high-tide/night route | |
| STAND 1 | stand1 | validated | stands-at-edge (Johnny stands at the edge of the island, idle); visual signoff after regenerating high/low packs through the generic multi-view stitch; source pack is a short 35-frame / 169-vblank idle loop with no captured SFX events, so the hard-to-see reset is expected | |
| STAND 2 | stand2 | validated | stands-adjusts-pants (Johnny stands and hitches up his pants — an idle standing-pose beat); visual signoff on the normal high-tide/night route; short pants-adjust idle loop played cleanly with no visible residue or scene-loader walk prelude | |
| STAND 3 | stand3 | validated | stands-edge-adjusts-hat (Johnny stands at the edge of the island and adjusts his hat — an idle standing-pose beat); visual signoff on the normal high-tide/night route; short hat-lift idle loop played cleanly | |
| STAND 4 | stand4 | validated | stands-front-adjusts-hat (Johnny stands at the front of the island and adjusts his hat — front-position variant of the standing-pose hat-adjust beat); visual signoff after regenerating high/low packs through the generic multi-view stitch; tapping-foot idle loop played cleanly on the normal high-tide/night route | |
| STAND 5 | stand5 | validated | stands-front-looks-out (Johnny stands at the front of the island and looks out over the ocean); visual signoff after regenerating high/low packs through the STAND no-stitch fast path; first no-stitch attempt faded Johnny's legs because pure base-diff treated frame-0 static pixels as background, so the fast path now keeps a single-position foreground-only overlay | |
| STAND 6 | stand6 | validated | stands-looks-ocean-scratches-head (Johnny looks out at the ocean and scratches his head — a confused-looking idle pose); visual signoff on the normal high-tide/night route after regenerating high/low packs through the STAND no-stitch fast path | |
| STAND 7 | stand7 | validated | stands-looks-right-lifts-hat (Johnny looks to the right and lifts his hat); visual signoff on the normal high-tide/night route after regenerating high/low packs through the STAND no-stitch fast path | |
| STAND 8 | stand8 | validated | stands-right-looks-around-scratches-head (Johnny stands on the right side of the island, looks around, and scratches his head); visual signoff on the normal high-tide/night route after adding a per-frame wave tick to the FG2 runtime so STAND-class no-stitch scenes get animated water from the engine rather than from the foreground-only pack | |
| STAND 9 | stand9 | validated | stands-by-tree-looks-adjusts-pants (Johnny stands by the palm tree, looks around, and adjusts his pants); visual signoff on the normal high-tide/night route through the same STAND no-stitch fast-path export and per-frame wave tick `STAND 8` introduced | |
| STAND 10 | stand10 | validated | stands-looks-at-raft-and-around (Johnny looks at his raft and then looks around); visual signoff on the normal high-tide/night route. The host engine exits `STAND.ADS:10` after only 2 frames, so re-running the no-stitch export produces an empty 92-byte pack; the previously-committed 96 KB pack was kept and validated as-is. | |
| STAND 11 | stand11 | validated | stands-left-looks-around (Johnny stands on the left side of the island and looks around); visual signoff on the normal high-tide/night route. Like `STAND 10`, the host engine exits `STAND.ADS:11` after only 2 frames so the no-stitch export collapses to an empty 92-byte pack; the previously-committed 95 KB pack was kept and validated as-is. | |
| STAND 12 | stand12 | validated | stands-looks-forward-adjusts-hat (Johnny looks forward and adjusts his hat); visual signoff on the normal high-tide/night route. Same host export quirk as `STAND 10`/`STAND 11`; the previously-committed 276 KB pack was kept and validated as-is. | |
| STAND 15 | stand15 | validated | stands-spyglass-looks-around (Johnny stands and looks around with a spyglass); visual signoff on the normal high-tide/night route after regenerating high/low packs through the STAND no-stitch fast path; spyglass-on-left-edge idle loop played cleanly with the runtime wave tick | |
| STAND 16 | stand16 | validated | stands-spyglass-right (Johnny stands on the right side of the island and looks around with a spyglass); visual signoff on the normal high-tide/night route after regenerating high/low packs through the STAND no-stitch fast path; center spyglass idle loop played cleanly with the runtime wave tick | |
| SUZY 1 | suzy1 | validated | suzy-finds-letter-from-johnny (Suzy back home finds a letter that Johnny sent her from the island); visual signoff after regenerating high/low packs and routing SUZY scenes through their source beach backdrop instead of the island/ocean runtime path | |
| SUZY 2 | suzy2 | validated | raft-arrives-meets-suzy (Johnny drifts in on his raft and is reunited with Suzy); visual + audible signoff after regenerating high/low packs with a full-frame foreground-only overlay that includes static scene-local raft art; Johnny now rides the raft instead of floating, and SFX playback uses mixer headroom to avoid clipped overlapping samples | |
| VISITOR 1 | visitor1 | validated | misses-speedboat-going-by (Johnny looks around the island and completely misses a speedboat driving by); visual + audible signoff after regenerating high/low packs through the generic normal/far-left/far-right foreground-only multi-view stitch; pack carries one captured SFX event and a wide scene-relative foreground union for the Lilliputian arrival | |
| VISITOR 3 | visitor3 | validated | waves-small-boat-actually-huge (Johnny waves down what he thinks is a small boat in the distance, only to discover it's actually a huge boat much closer than it looked); 'visual + audible signoff after VISITOR3-specific multi-view synthesis: foreground-only views preserve clean moving sprites, the helper accumulates the red ship hull from full-host live crash frames, FGP3 temporal cleanup clears the post-crash blank rows, and hold timing keeps the real frame-158 splash visible without stale right-splash residue' | |
| VISITOR 4 | visitor4 | validated | shakes-tree-coconut-rolls-into-ocean (Johnny shakes the palm tree; a coconut falls and rolls right off the island into the ocean); visual + audible signoff after regenerating high/low packs through the generic multi-view stitch; current mapping is the coconut/plane gag, not the old red-boat catalogue label | |
| VISITOR 5 | visitor5 | validated | throws-coconut-at-plane-it-crashes (Johnny sees a plane overhead, throws a coconut at it, and the plane crashes); visual + audible signoff after regenerating high/low packs through the generic multi-view stitch; scene-specific hold redistribution keeps the coconut impact and downed-plane motion readable without changing total scene duration | |
| VISITOR 6 | visitor6 | validated | shakes-tree-cracks-coconut-eats (Johnny shakes the palm tree, drops a coconut, cracks it open against the trunk, and eats it); visual + audible signoff after regenerating high/low packs through the generic multi-view stitch plus frame-windowed full-host delta injection for the coconut/tree impact; foreground-only views keep Johnny/coconut clean while source frames `120:141` restore the background-owned tree shake/strike pixels | |
| VISITOR 7 | visitor7 | validated | cracks-coconut-eats-no-shake (Johnny already has a coconut; cracks it on the palm trunk and eats — no-shake variant of VISITOR 6). Visual + audible signoff after regenerating high/low packs through the generic multi-view stitch; source frames `32`, `62`, `71`, and `80` now hold long enough for the coconut/tree impact frames to read without changing total scene duration. Pack content (no-shake coconut-eat) confirmed from direct on-PS1 observation while capturing the chapter-select thumbnail. | |
| WALKSTUF 1 | walkstuf1 | validated | yacht-party-drunk-pass-out (Johnny parties with a yacht full of people, returns to the island drunk, and passes out); visual + audible signoff after re-exporting high/low packs with -500/+300 stitch positions and a range-gated Johnny-bbox hold (frames 63-165, glitch threshold 1000) so Johnny stays drawn in his rest position while the boat+mermaid scene plays out and the foreground-only diff drops him | |
| WALKSTUF 2 | walkstuf2 | validated | works-on-raft (Johnny works on his raft); visual + audible signoff on the existing on-disc WALK2.FG2 / WALK2LOW.FG2 packs (no rework needed); high-tide nighttime route | |
| WALKSTUF 3 | walkstuf3 | validated | jogs-around-island (Johnny jogs laps around the island — the exercise loop); visual + audible signoff on the normal high-tide/night route; packs WALK3.FG2/WALK3LOW.FG2 already on disc, no rework needed |
Performance battle card
The headless-perf battle card now lives on its own page at /perf/. Clicking a column header there sorts the 126-variant matrix by that field; the Target Speed cells stay color-coded green / yellow / orange / red so a glance gives the shape.
Validation (the table above) is one bar; performance (the battle card) is the other. The two ledgers stay separate on purpose — their failure modes are uncorrelated.
How to read this
Status column.
validated— clears the FISHING 1 bar across every applicable variant. Frame-diff and SFX-cue diff both clean.in-bring-up— the scene’s FG2 pack loops without dropping frames and the tide variant looks correct, but it has not yet been signed off as fishing-1-bar-equivalent. The next likely promotion tovalidated.pending— has not been put through the regtest harness yet, or has been but isn’t passing. The default state for any scene that hasn’t had attention paid to it.blocked— currently can’t even be brought up for evaluation. Some upstream issue (asset routing, dispatch table, or harness bug) is preventing the scene from running at all. Until that’s lifted, the scene can’t be validated.
Variant flags (used on the per-scene pages, derived from the source table):
night— dusk/night palette swap (BOOTMODEnight 1).low-tide— tide-state variant; the shoreline geometry shifts (BOOTMODElowtide 1).holiday— holiday overlay variants (christmas, halloween, etc.; BOOTMODEholiday N).raft-stage— cumulative raft-build state; the raft sprite gains parts as the player progresses (BOOTMODEraft-stage N).
For the caption text, mapping confidences, and which captions are “least-bad guesses” rather than confirmed matches, see the caption audit. For the running log of which scenes graduated and when, see the devlog. For source-level artifacts, start at the source library and resource catalog.