Skip to content

fix(ch6): wire epilogue bridge, Vancouver art, and tester overlay#44

Merged
wildcard merged 1 commit into
mainfrom
claude/dreamy-herschel-e7c2dc
Apr 23, 2026
Merged

fix(ch6): wire epilogue bridge, Vancouver art, and tester overlay#44
wildcard merged 1 commit into
mainfrom
claude/dreamy-herschel-e7c2dc

Conversation

@wildcard

Copy link
Copy Markdown
Owner

Summary

Four production bugs reported during playtest of the v1-modern build. All fixed in a single commit:

  1. Chapter 6 (Vancouver) unreachable from normal play. fly_home jumped straight to home_scene (the sacred Tel Aviv ending), so the epilogue was orphaned — only reachable via ?tester=1 chapter picker.

  2. Ch 6 scenes rendered with Ch 1–5 art. config.yaml still pointed the six Vancouver screens at placeholder backgrounds (beach_rest, kyoto_apt, sunset, beach, kitchen, home) from before #38 shipped the real painterly Vancouver art. So testers entered Ch 6 and saw Tel Aviv / Kyoto images.

  3. vancouver_outro dead-ended instead of chaining back to the sacred final line.

  4. .pnk-switcher "Vol 1 Throwback" overlay chip visible in tester mode, colliding with the TESTER MODE ribbon and offering a redundant off-ramp that testers don't need (chapter-picker already covers that affordance).

Also added a defensive tester_route call inside the volume_select label to guard against a VM-tick race where the main: frame can advance past the first tester_route before jumpToLabel lands.

Changes

File Change
v1-modern/src/scripts/japan.narrat New epilogue_bridge choice: continue-to-epilogue / come-home
v1-modern/src/scripts/vancouver.narrat vancouver_outro now jump home_scene
v1-modern/public/data/config.yaml Ch 6 screens point at real Vancouver PNGs
v1-modern/src/scripts/game.narrat Defensive tester_route inside volume_select
v1-modern/src/plugins/tester-plugin.ts hideSwitcherChip() in tester mode

Sacred line invariant preserved

home_scene still ends with "For Anastasia. Forever." — the only change is that vancouver_outro now hands off to it, so the sacred line plays exactly once whether the player takes the normal ending or the full epilogue path. See .claude/rules/narrat-no-autoplay-loops.md.

Test plan

  • npm run build green
  • ?tester=1 → chapter_select renders all 6 chapters
  • Ch 6 backgrounds verified via window.narrat.jump(<label>) for all five labels: vancouver_introkits_beach.png, vancouver_apt_scenevancouver_apt.png, did_squamishsquamish.png, did_persiannorth_van_persian.png, did_costcocostco_downtown.png, did_trailsvancouver_peak.png
  • No console errors, no failed network requests
  • .pnk-switcher computed display: none in tester mode; visible in normal mode
  • Autoplay-loop invariant unchanged (no new self-jumps introduced)

🤖 Generated with Claude Code

- Add epilogue_bridge choice before home_scene so Ch 6 Vancouver is
  actually reachable from normal play (was orphaned behind a direct
  jump from fly_home to home_scene).
- Point Ch 6 screens at the real painterly art shipped in #38; they
  were still using Ch1-5 placeholder backgrounds so testers saw
  Kyoto/Tel Aviv images during the Vancouver scenes.
- Chain vancouver_outro -> home_scene so the sacred final line plays
  once after the epilogue instead of dead-ending.
- Add defensive tester_route inside volume_select so ?tester=1 still
  routes to chapter_select even if the main: frame races the VM tick.
- Hide the .pnk-switcher volume deep-link chip in tester mode; the
  chapter-picker panel already covers that affordance and the chip
  collided visually with the TESTER MODE ribbon.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@vercel

vercel Bot commented Apr 23, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
pnk-forever Ready Ready Preview, Comment Apr 23, 2026 3:34am

Request Review

@netlify

netlify Bot commented Apr 23, 2026

Copy link
Copy Markdown

Deploy Preview for p-n-k-forever ready!

Name Link
🔨 Latest commit 284cef9
🔍 Latest deploy log https://app.netlify.com/projects/p-n-k-forever/deploys/69e9935331266e0008fa730d
😎 Deploy Preview https://deploy-preview-44--p-n-k-forever.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@wildcard
wildcard requested a review from Copilot April 23, 2026 04:04
@wildcard
wildcard merged commit 5224e43 into main Apr 23, 2026
10 checks passed
@wildcard
wildcard deleted the claude/dreamy-herschel-e7c2dc branch April 23, 2026 04:04

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Fixes Chapter 6 (Vancouver) flow and presentation issues in the v1-modern Narrat build, ensuring the epilogue is reachable in normal play, renders with the correct Vancouver art, and returns cleanly to the final ending while also cleaning up tester-mode UI.

Changes:

  • Added an epilogue_bridge choice after fly_home to route either into the Vancouver epilogue or directly to home_scene.
  • Updated Chapter 6 (Vancouver) outro to jump to home_scene, and updated config to use the shipped Vancouver background PNGs.
  • Hardened tester routing and hid the volume switcher chip overlay in tester mode to prevent UI collision.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
File Description
v1-modern/src/scripts/japan.narrat Routes fly_home into a new epilogue_bridge choice (epilogue vs. come home).
v1-modern/src/scripts/vancouver.narrat Ensures vancouver_outro chains to home_scene (no dead-end).
v1-modern/public/data/config.yaml Points Chapter 6 screens at the Vancouver art assets (no placeholders).
v1-modern/src/scripts/game.narrat Adds a defensive tester_route at volume_select to mitigate VM tick timing.
v1-modern/src/plugins/tester-plugin.ts Hides .pnk-switcher overlay chip in tester mode to reduce UI noise/collision.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants