Skip to main content

Living Word — Scene Gameplay & QA Test Plan

Purpose: A scene-by-scene description of everything a player can do, what each interaction is supposed to do, what may be left undone, and the impact of doing so — written so (a) a human tester can build manual test passes and (b) automated (Playwright) tests can be derived. Extracted directly from the registered code path (SCENE_REGISTRY*_REBUILT files) and the engine in LivingWordAdventure.tsx, 2026-05-30. Every claim is anchored to file:line.

Coverage: Full detail for the 5 fully-built, sequential Genesis scenes (Eden → Cain & Abel → Flood → Babel → Abraham). The remaining 11 scenes (Exodus stubs + Phase-5 rebuilds) are summarized in Part 3 and need their own extraction pass before detailed test cases.

Companion: project_living_word_content_state_verified (memory) — content-rewrite state.


How to use this document

  • Play URL: churchwiseai.com/living-word (prod) or the Vercel preview URL.
  • Test hooks (query params) — read in LivingWordAdventure.tsx:
    • ?lwAllowTeleport=1dismisses the intro and mounts the canvas immediately (L5946-5951); also enables click-to-teleport for fast navigation (L4616-4623). This is the primary QA hook.
    • ?lwExplorerPreview=<sceneId> — force-arms a scene's Explorer (verb) beats for preview (L6098-6102).
    • ?lwTestDate= / ?lwTestLens= — live-ops CalendarEventChip testing (also dismiss the intro).
  • Difficulty levels: easy | intermediate | advanced | scholar (set in-game; affects NPC/enemy quizzes).
  • Modes: Quick Play (default) vs Classroom (toggle) — Classroom shows the objective card + verbose teaching; Quick Play uses short copy.
  • Each scene section ends with a Manual test checklist and ⚠ Suspected/confirmed issues.

PART 1 — The interaction & completion model (applies to every scene)

Scenes are data-driven SceneDefinition objects (data/scenes.ts:87-138). The engine (LivingWordAdventure.tsx) renders and resolves them uniformly. Understand this once and every scene's expected behaviour follows.

1.1 Movement & the interact action

  • Walk with WASD / arrows (desktop) or the floating joystick (touch).
  • One context action: E / tap interact. handleInteract (L6960) dispatches by the nearest entity: NPC → dialogue; enemy → encounter; secret → collect; prop → by kind.

1.2 Interaction types & what each is supposed to do

InteractionTriggerWhat happensSource
NPCinteract when nearOpens DialogueModal (multi-line); marks NPC "met". Some NPCs also carry a quiz (difficultyQuizzes per level) and/or are a gatekeeper.L6986-6990
Knowledge Enemyinteract when nearOpens the Knowledge Encounter. If the player holds a Word Card whose answersLies matches the enemy → Word Cards UI (play a matching card = 1 HP; 3 correct = defeated). Otherwise the MCQ fallback.L6993-6996; WordCardsEncounter.tsx
Secretinteract when nearcollectSecret → XP + insight text. Most secrets only reveal after their revealAfterEnemyId/revealAfterPuzzleId resolves.L6998-7001
Prop: studyStationinteractOpens the mini-game picker (Curriculum Quiz, Free Study, Interlinear Word Match, Strong's Flashcards, Translation Comparison, Narrative Sequencing).L7004-7008
Prop: creationDay (Eden only)interactOpens that Creation Day chamber (1–7).L7010-7014
Prop: portalinteracthandleReachExit → scene transition (if scene complete).L7016-7019
Prop: formationinteractEnters a Formation Space (tutoring + restores Resolve + fruit-of-the-Spirit).L7021-7039
Prop: mountain / ruinGlyph / sealedRuininteractSide puzzle chains (e.g. mountain needs the pickaxe tool; sealedRuin needs 2 glyphs read).L7041-7084
Relicwalk over / collectAdds the relic id to the global collectedRelics, awards XP. Cannot re-collect (guarded).L6711-6712
Explorer verb beatgesture in target regionA "verb" interaction (witness=long-press, plant/gather=multi-tap, name=tap+choose, trust=walk-into). Resolves to a flag + XP + often a Word Card. No fail state ("reverence floor").explorer/*

1.3 The critical path (beats)

  • Each scene has an ordered 5–7 beat criticalPath (SceneBeat, types.ts:467-478). Each beat has a player-facing goal and entityRefs.
  • The on-screen objective pointer follows the beats, not the nearest relic (getCriticalPathTarget, L3486+).
  • A beat is "complete" when every checkable entity it references is resolved (relic collected / enemy defeated / creation-day done / secret found). NPC and prop refs are not checkable.
  • deeper-exploration beats (usually beat 4) are OPTIONAL — they never gate the pointer (L3506).

1.4 The hard gate (the main "required" mechanic)

  • A scene has at most one Gate (types.ts:485-493).
  • The gate physically seals blocksRegion — the player cannot walk into it — until gatedBy.enemyId is defeated (L3940-3958). (Note: enforcement keys on the enemy, not the gatekeeper NPC, even when both are listed.)
  • The gate typically seals the eastern half containing later relics and the exit portal, so the gate enemy is a de-facto prerequisite to finishing the scene.

1.5 Scene completion (the other "required" mechanic)

  • The exit portal opens ONLY when ALL of the scene's relics are collected (handleReachExit, L6876-6893): "recover N more relics before the portal will open."
  • On exit: every Word Card whose earnedInScene == this scene is auto-granted (L6895-6911), a toast shows, then SceneCompletionModal → transition to exitNextSceneId.
  • The final scene (no exitNextSceneId) shows a campaign-complete message.

1.6 Word Cards, Resolve, progression

  • Word Cards are earned (a) automatically on scene completion and (b) some on Explorer-verb resolution. They are the ammunition in Knowledge Encounters. A new player is seeded a 2-card starter deck so the first encounter isn't a raw MCQ (STARTER_CARD_IDS, shipped PR #668).
  • Resolve = hearts, max 5 (maxResolve = 5, L5888). Formation spaces restore it.
  • XP / quests / streak / achievements / cloud save accrue but do not gate progression.

1.7 Required vs optional — the general rule

ElementRequired to finish the scene?Impact if left undone
All relicsYES — exit won't open otherwiseHard block: cannot leave the scene
Gate enemy (if a gate exists)YES (to reach the gated region/exit)Hard block: cannot cross into the sealed half
SecretsNoLose XP + a thread/insight; many only reveal post-enemy anyway
NPC dialogue / quizzesNoLose XP + teaching; no progression block
Study-station mini-gamesNoLose wisdom XP
Formation spacesNoLose Resolve restore + a fruit-of-the-Spirit teaching
deeper-exploration beatNo (by design)None
Explorer verbs (witness/plant/name/gather/trust)NoLose that beat's Word Card + XP; Eden Plant specifically = no Tree-of-Life "Legacy Bloom" payoff at New Creation

PART 2 — Scene-by-scene (the 5 playable Genesis scenes)

Order (SCENE_SEQUENCE, scenes.ts:1548): creation-eden → cain-abel → flood-noah → tower-babel → call-abraham → (burning-bush …). Each scene's exit relic count is the completion gate; the hard-gate enemy is the traversal gate.


Scene 1 — Creation and the Garden (creation-eden)

Source scenes.ts:1103 · unlocksAfter null · exit → cain-abel (portal tile 54,22) · keyVerse Genesis 1:1.

  • learningObjective / objectiveCard present; centralLandmark tree-of-life.

Critical path (7 beats):

  1. orientation — Enter; see Tree of Life; hear Scribe Eden. (eden-scribe, tree-of-life)
  2. first-discovery — Walk Creation Days 1–5; recover the Creation Scroll. (creation-day-1..5, creation-scroll, scroll-keeper-miriam)
  3. first-encounter — Complete Days 6–7; learn image-bearing from Adam; answer Eve. (creation-day-6/7, adam, eve)
  4. deeper-exploration (OPTIONAL) — Cave of Wisdom, House of Table Fellowship, Listening Wall, Sunken Vault. (wisdom-cave, table-house, eden-push-wall, sealed-ruin-door)
  5. core-encounter — Brother Theophilus (gatekeeper) + Shadow of Mistrust at the crossroads gate. (brother-theophilus, mistrust-shadow)
  6. climax — Witness the serpent's lie; recover the Image Marker; find the Hidden Promise (Gen 3:15). (serpent-whisper, image-bearing, hidden-promise-fragment)
  7. exit-consolidation — Deacon Junia; recover the Kingdom Seed; walk east. (deacon-junia, kingdom-promise, east-portal)

HARD GATE crossroads-gate (scenes.ts:1227): gatedBy enemy mistrust-shadow (+ gatekeeper npc brother-theophilus); seals [21,1,63,38] (everything east of x≈20); message: "The crossroads gate is sealed. Face the Shadow of Mistrust with Brother Theophilus…"

NPCs (6): eden-scribe (narrator), scroll-keeper-miriam (teacher), adam (teacher), eve (quiz: easy/int/adv/scholar), brother-theophilus (GATEKEEPER, quiz: all 4), deacon-junia (reward-giver, quiz: all 4). (npcs.ts:26-447)

RELICS (3 — ALL required for exit): creation-scroll (Creation Scroll, 12,10) · image-bearing (Image Marker, 24,13) · kingdom-promise (Kingdom Seed, 48,22). (relics.ts:10-38)note ids creation-scroll + image-bearing are reused in Cain & Abel; see ⚠.

ENEMIES (1): mistrust-shadow — Shadow of Mistrust — false claim "God's Word is meant to limit life, so wisdom comes from grasping apart from him." — health 3 — this IS the gate enemy. (encounters.ts:3-193)

SECRETS (3): hidden-promise-fragment (after mistrust-shadow) · listening-wall-fragment (after eden-push-wall puzzle) · vault-remembrance-fragment (after sealed-ruin opened). (secrets.ts:3-44)

CREATION DAY CHAMBERS (7, all fully rendered — creation-days.ts): Day 1 Light → Day 7 Rest. Days unlock verbs: Day 3 → Plant, Day 5 → Gather, Day 6 → Name, Day 7 → Witness.

FORMATION SPACES (2): Cave of Wisdom (Patience, +2 restore) · House of Table Fellowship (Kindness, +1). (formations.ts)

EXPLORER VERBS (4 — all OPTIONAL): witness (Sabbath, hold 250ms → card genesis-rest, +15xp) · plant (after Day 3, 3-tap → card genesis-vocation, +25xp, seeds the Legacy Chain → New Creation payoff) · name (after Day 6, name 5 creatures → genesis-naming, +25xp) · gather (after Day 5, 5-tap → genesis-provision, +25xp). (scenes.ts:1260-1467)

Word cards earned: i-will-be-with-you, in-the-beginning-god (on completion) + genesis-rest/vocation/naming/provision (on verb resolution).

REQUIRED to complete: collect creation-scroll + image-bearing + kingdom-promise AND defeat mistrust-shadow (gate seals 2 of the 3 relics + the exit east of x≈20). Can be left undone + impact: all 4 verbs (lose cards; Plant → no Legacy Bloom), 3 secrets (XP), 2 formations (restore/teaching), study station + mini-games, Eve/Theophilus-quiz/Junia quizzes, beat 4. Pit trap eden-cracked-ground = rescue lesson, no block.

Manual test checklist (Eden):

  • /living-word?lwAllowTeleport=1 mounts the canvas (no intro wall).
  • Objective pointer starts at beat 1 (Scribe Eden / Tree of Life).
  • Open each Creation Day chamber 1–7 → all render content (no "coming soon").
  • Try to walk east past x≈20 BEFORE defeating Shadow of Mistrust → blocked with the locked message + error sound.
  • Collect creation-scroll (12,10) → XP awarded, relic panel updates.
  • Engage Theophilus → Shadow of Mistrust encounter → with starter deck, Word Cards UI appears (not raw MCQ) → 3 correct plays defeat it → gate opens.
  • After gate: collect image-bearing (24,13) + kingdom-promise (48,22).
  • Try the east portal with a relic missing → "recover N more relics" message; with all 3 → SceneCompletionModal → transition to Cain & Abel; Word Card toast fires.
  • Verbs: Plant after Day 3 (3-tap → tree spawns + card), Name after Day 6, Gather after Day 5, Witness after Day 7.
  • Each difficulty (easy→scholar) changes Eve/Theophilus/Junia quiz questions.

Scene 2 — Cain & Abel (cain-abel)

Source scenes-cain-abel-rebuilt.ts:731 · unlocksAfter creation-eden · exit → flood-noah (28,12) · keyVerse Genesis 4:7. Content-complete (5 NPCs, full 7-beat methodology) — on par with the flagship scenes.

Critical path (7): 1 two altars (no one speaks — observe) · 2 Elder Hodiah + "Sin Crouching" scroll · 3 hear Cain · 4 (optional) Abel's witness + Tablet · 5 Shadow of Resentment (gate) · 6 receive the protected mark · 7 Hodiah names the seed; east portal.

HARD GATE cain-abel-resentment-gate: gatedBy enemy cain-abel-resentment-shadow; seals [24,1,39,38]; mark stone (beat 6) + exit both behind it.

NPCs (5): cain-abel-eve (witness) · cain-abel-adam (witness, 1 line) · cain-abel-elder-hodiah (teacher, quiz all 4, doubles as beat-7 reward-giver) · cain-abel-cain (questioner, quiz all 4) · cain-abel-abel-witness (witness). Hodiah carries 17-lens lensNotes + 5 traditionNotes.

RELICS (2 — ALL required): cain-abel-mark-stone (Mark-of-Cain stone, 28,9) · cain-abel-witness-tablet (Tablet of Abel's Witness, 8,12). ✅ namespaced (was the colliding creation-scroll/image-bearing) — fixed; see below.

ENEMIES (1): cain-abel-resentment-shadow — Shadow of Resentment — "When your offering is not received… the only honest response is hatred for the one whose offering rose." — health 3 — gate enemy. 3 scenario questions (L3/L2/L3).

SECRETS (1): cain-abel-abel-inscription (reveals after resentment-shadow, +20xp).

FORMATION SPACE (1): The Field Between Brothers (Forgiveness, +2 restore).

EXPLORER VERBS (1 — OPTIONAL): witness (cain-witness-offering, hold 250ms → card cain-righteous-offering, +20xp). NOTE: despite earlier notes, this scene has only Witness — no Gather verb.

REQUIRED to complete: collect both relics + defeat resentment-shadow. Can be left undone + impact: Eve/Adam/Abel dialogue (flavour), Hodiah/Cain quizzes (XP), the secret, the formation, the Witness verb (card + flag).

✅ FIXED (this scene) — was a confirmed collision. Cain & Abel previously reused Eden's relic ids (creation-scroll, image-bearing); with the global collectedRelics array (LivingWordAdventure.tsx:5777, 6596, 6711, 6872) that auto-satisfied the relic objective on entry and made the relics uncollectable after Eden. Now namespaced to cain-abel-mark-stone / cain-abel-witness-tablet (added to the QuestId union in types.ts; beat entityRefs updated). Regression test: start a fresh adventure, complete Eden, enter Cain & Abel — its two relics should NOT be pre-collected and SHOULD be pickable (XP + panel update). ⚠ The same collision still affects ~9 other scenes — see Part 4 #1 (systemic).

⚠ Also test: the exit-required Tablet relic sits in the prose-labeled "optional" Beat 4 branch — a tester who skips Beat 4 would (absent the bug) be unable to open the exit. centralLandmark is a single id (cain-altar) though the design is two altars.


Scene 3 — The Flood (flood-noah)

Source scenes-flood-rebuilt.ts:570 · unlocksAfter creation-eden(see ⚠) · exit → tower-babel (28,12) · keyVerse Genesis 9:13.

Critical path (7): 1 enter ark's shadow + Shem · 2 Dove of Promise relic · 3 Noah (teacher quiz) · 4 (optional) Ark Interior (Patience formation) · 5 Shadow of Despair (gate) · 6 Rainbow Promise relic · 7 Elder Japheth + Ark of Covenant Faithfulness relic; east portal.

HARD GATE flood-despair-gate: gatedBy enemy flood-despair-shadow-rebuilt; seals [21,1,39,38] (rainbow relic, Japheth + covenant relic, and the exit all behind it).

NPCs (4): flood-shem-rebuilt (witness) · flood-noah-rebuilt (teacher, quiz all 4) · flood-dove-scribe-rebuilt (Scribe Tabitha, questioner, quiz all 4) · flood-kingdom-witness-rebuilt (Elder Japheth, reward-giver). No NPC is the coded gatekeeper (gate = enemy).

RELICS (3 — ALL required): flood-dove-relic (9,13) · flood-rainbow-relic (22,7) · flood-covenant-relic (26,12).

ENEMIES (1): flood-despair-shadow-rebuilt — Shadow of Despair — "When everything is destroyed, there is no hope of restoration. The waters prove God is absent or indifferent." — health 3 — gate enemy.

SECRETS (1): flood-new-creation-fragment-rebuilt (after the Shadow, +30xp). FORMATION SPACE (1): Ark Interior (Patience, +2). EXPLORER VERBS (2 — OPTIONAL): witness rain (long-press → card flood-remembrance, +20xp) · gather animals (7-tap → card flood-pairs, +25xp).

REQUIRED to complete: collect all 3 relics + defeat the Shadow of Despair. Can be left undone + impact: Ark Interior formation, the secret, the dig hidden-puzzle, study station, both verbs (cards), NPC dialogue/quizzes.

⚠ Issues to test: (1) Enemy questionsByDifficulty defines only easy and scholar — intermediate/advanced players fall back to the untyped questions[] (verify the quiz isn't empty at int/adv). (2) P11 Legacy seeds are documentation-only (a comment block, L557-569) — the dove→baptism / divided-waters→Red-Sea blooms are not wired; don't expect a payoff. (3) Beat-5 goal text implies Tabitha's quiz precedes the fight, but only the enemy gates — Tabitha's quiz is not a coded prerequisite.


Scene 4 — Tower of Babel (tower-babel)

Source scenes-babel-rebuilt.ts:1170 · unlocksAfter flood-noah · exit → call-abraham (28,12) · keyVerse Genesis 11:4. Largest scene file; the 17-lens moat content lives here.

Critical path (7): 1 see the Tower + Prophet Amos · 2 read the inscription (na'aseh shem) + scroll · 3 Worker Miriam (story + quiz) · 4 (optional) Room of Lowly Service (Humility formation) · 5 Foreman Cush (gate question) + Spirit of Self-Made Empire · 6 "God comes down" tableau + Pentecost fragment · 7 Scribe Lydia + Scroll of Many Tongues relic; east portal.

HARD GATE babel-empire-gate: gatedBy both gatekeeper npc babel-foreman-cush AND enemy babel-pride-shadow; seals [21,1,39,38] (the scatter relic + exit behind it). (Enforcement keys on the enemy.)

NPCs (4): babel-worker-miriam (teacher, quiz all 4, full 17-lens traditionNotes) · babel-prophet-amos (narrator) · babel-foreman-cush (GATEKEEPER, quiz all 4, full 17-lens traditionNotes) · babel-scribe-lydia (reward-giver, hands over the scatter relic).

RELICS (2 — ALL required): babel-tower-relic (Broken Brick, 8,16) · babel-scatter-relic (Scroll of Many Tongues, 26,16 — behind the gate, given by Lydia).

ENEMIES (1): babel-pride-shadow — Spirit of Self-Made Empire — "Human greatness is built through self-sufficiency… The empire that reaches high enough will finally touch heaven." — health 3 — gate enemy. Has full 17-lens traditionQuestion.

SECRETS (1): babel-pentecost-fragment (after the enemy, +35xp). FORMATION SPACE (1): Room of Lowly Service (Humility, +2). HIDDEN PUZZLE: babel-fallen-stone (push, Psalm 127:1). EXPLORER VERBS: NONE (this scene has no explorerBeats).

REQUIRED to complete: collect both relics + defeat babel-pride-shadow (also answer Foreman Cush's gate question to engage it). Can be left undone + impact: Beat 4 Humility room (explicitly "you may skip it"), Miriam/Amos/Lydia-dialogue depth, the secret, the push puzzle, study station, the 17-lens notes (only surface if you switch lens).

⚠ Issues to test: (1) Enemy questionsByDifficulty again defines only easy and scholar; int/adv use questions[]. (2) The 17-lens content has 18 keys (0–17); lens 0 is the hidden "Universal" foundation — a test asserting exactly 17 keys would fail; assert 0–17. (3) babel-study-station (8,16) shares a tile with babel-tower-relic (8,16) — verify both are reachable/interactable.


Scene 5 — The Call of Abraham and Sarah (call-abraham)

Source scenes-abraham-rebuilt.ts:745 · unlocksAfter tower-babel · exit → burning-bush (28,12) · keyVerse Genesis 12:3. Last fully-built Genesis scene — beyond here is the Exodus arc.

Critical path (7): 1 enter; Altar at Shechem + Keeper Eliakim (altar-vs-tower) · 2 Abraham recalls God's voice + Call Scroll relic · 3 Sarah (renamed, in the covenant by name) · 4 (optional) Tent (Faithfulness formation) + Hagar cameo · 5 Shadow of Fear and Doubt (gate, L3-Apply) · 6 Altar at Bethel — worship not building + Altar Stone relic + Gospel Seed fragment · 7 Scribe Phoebe + Nations' Blessing Seal relic; east portal.

HARD GATE abraham-rebuilt-crossroads-gate: gatedBy enemy abraham-rebuilt-fear-shadow; seals [21,1,47,28] (Beat-6 climax, blessing relic at 26,14, exit at 28,12).

NPCs (5): abraham-rebuilt-eliakim (narrator) · abraham-rebuilt-patriarch (Abraham, teacher, quiz all 4) · sarah-rebuilt-matriarch (witness) · abraham-rebuilt-hagar (witness cameo, reveal-gated: only appears after Sarah is spoken to) · abraham-rebuilt-phoebe (reward-giver, hands over the blessing relic).

RELICS (3 — ALL required): abraham-call-relic (Call Scroll, 10,13) · abraham-altar-relic (Altar Stone, 16,8) · abraham-blessing-relic (Nations' Blessing Seal, 26,14).

ENEMIES (1): abraham-rebuilt-fear-shadow — Shadow of Fear and Doubt — "Leaving security for an unknown promise is foolish. You cannot trust what you cannot see or control. Faith requires certainty about the destination." — health 3 — gate enemy. Core questions[] are L3/L4 (incl. the Abraham vs Gideon comparison).

SECRETS (1): abraham-rebuilt-gospel-fragment (after the enemy, +40xp). FORMATION SPACE (1): Tent of Covenant Promise (Faithfulness, +3 restore). HIDDEN PUZZLE: abraham-rebuilt-road-marker-dig. EXPLORER VERBS (1 — OPTIONAL): trust (abraham-trust-go) — the player walks onto a path that fades to invisible (single target tile 22,12; the render loop emits a synthetic tap as you cross). Resolves: flag abraham-walked, +30xp, Word Card genesis-abraham-go. The "step into the unknown" gesture IS the theology.

REQUIRED to complete: collect all 3 relics + defeat the Shadow of Fear and Doubt. Can be left undone + impact: Hagar cameo (El Roi foreshadow), Tent formation (+3 restore), the secret, the dig puzzle, Abraham's quizzes, the Trust verb (card + abraham-walked flag that future scenes may gate on).

⚠ Issues to test: (1) Enemy questionsByDifficulty again only easy + scholar; int/adv served by core questions[]. (2) Abraham/Sarah traditionNotes + enemy traditionQuestion are undefined (LENS-READY stubs) — lens switching shows no per-tradition variance here yet. (3) Trust verb depends on the render-loop synthetic-tap hook — verify it fires when walking into tile 22,12 (it shipped in PR #646).


PART 3 — Scenes 6–16 (Exodus → New Creation)

Extracted 2026-05-30 (same cited method as Part 2). Finding: all 11 are FULLY AUTHORED (not thin stubs) and follow the uniform model — 7-beat critical path, one hard-gate enemy (3 HP, gate seals [~25,1,39,38]), 1–3 relics required for the exit, optional formation/secret/explorer content. Two scenes deviate (Sermon §3.5, New Creation §3.7). ✅ The systemic relic-id collision that affected these scenes is FIXED (PR #674) — relic ids are now namespaced per scene. (Part 4 #1 has the history.)

Play order (SCENE_SEQUENCE): joseph-egypt(6) → burning-bush(7) → passover(8) → red-sea(9) → sinai(10) → tabernacle(11) → david-goliath(12) → birth-of-jesus(13) → sermon-on-mount(14) → pentecost(15) → new-creation(16).

3.1 — The Exodus stub arc (joseph-egypt, passover, red-sea, sinai, tabernacle)

scenes-phase2.ts. The header calls them "stubs" but they are content-complete; what's deferred is per-lens traditionNotes, prop density, and themed-map visual polish. All five share the identical shape: 7-beat critical path · exactly 1 hard-gate enemy (3 HP) at Beat 5, gate blocksRegion [25,1,39,38] · 2 relics required for exit (⚠ both reuse creation-scroll + kingdom-promise — collision) · 1 scroll · Beat 4 optional · no secrets / formations / explorer verbs / hidden puzzles.

Scenesrcexit →NPCs (quiz holder)Gate enemy (false claim, abbrev.)
joseph-egypt:309burning-bush4: Joseph, Pharaoh(gk-label), Brothers(quiz×4), Asenathforgotten-shadow — "years of silence = God abandoned you"
passover:719red-sea4: Moses, Aaron(gk-label), Pharaoh(quiz×4), Shiphrahstrong-gods-shadow — "empire's gods are stronger"
red-sea:1102sinai3: Moses(gk-label), Miriam, Army-Voice(quiz×4)panic-shadow — "army behind + sea ahead = no rescue"
sinai:1525tabernacle4: Moses, Aaron(quiz×4), Elders, Yeshurun(reward-giver)manageable-god-shadow — "a portable/manageable god is safer"
tabernacle:1948david-goliath4: Bezalel, Moses(gk-label), Aaron-priest(quiz×4), Cherubimtoo-holy-shadow — "holiness keeps God at a distance"

Notes: red-sea has only 3 NPCs (no teacher/reward role). tabernacle uses worldGrid: buildSceneWorld("garden") despite mapTheme: "tabernacle-court" (intentional Eden-echo — tester sees garden terrain) and is entered from the EAST. Per-scene test = the standard smoke pass (Part 4); relic step is currently broken (collision).

3.2 — The Burning Bush (burning-bush) [scenes-burning-bush-rebuilt.ts:747]

unlocksAfter call-abraham · exit → david-goliath (⚠ placeholder; the full Exodus arc inserts before it) · keyVerse Exodus 3:14. Gate burning-bush-gate / enemy burning-bush-inadequacy-shadow (Shadow of 'Who Am I', 3 HP) / [21,1,39,38]. NPCs (4): Moses (questioner, quiz×4) · The Voice from the Bush (teacher, no visible sprite — AI-bridge) · Jethro (witness) · Aaron's-shadow (narrator, reveal after enemy). RELICS (2, ALL required):creation-scroll (Sandal-removed stone, 17,6) · kingdom-promise (Staff of Moses, 26,12 — behind gate) — both collide. SECRETS: none. FORMATION (1): Backside of the Desert (Humility, +2). EXPLORER VERBS (2, OPTIONAL, sequenced): witness fire (long-press → card exodus-burning-presence) → name "I AM" (MCQ, requires witness done → card exodus-i-am). Required: 2 relics + defeat the shadow. Optional: Jethro, formation, scrolls, Moses quizzes, both verbs.

3.3 — David and Goliath (david-goliath) [scenes-david-goliath-rebuilt.ts:759]

unlocksAfter burning-bush · exit → birth-of-jesus · keyVerse 1 Samuel 17:45. Gate david-goliath-gate / enemy david-goliath-shadow (Shadow of the Giant, 3 HP, flat questions[]) / [25,1,39,38]. NPCs (5): David (witness, questId→five-stones) · Eliab (questioner, quiz×4) · Saul (gatekeeper-label only, quiz×4) · Jonathan (teacher, reveal after beat 3) · Philistine shepherd (witness, after beat 4). RELICS (2, ALL required):kingdom-promise (Five smooth stones, 16,12) · image-bearing (Sling-stone, 16,15) — both collide. ⚠ image-bearing is authored as "optional Beat-4 enrichment" but is exit-required (UX trap). SECRETS (1): muffled-taunts (after enemy). FORMATION (1): Shepherd's Watch (Faithfulness, +2). EXPLORER VERB (1): gather 5 stones (requires enemy defeated → card samuel-five-stones). Required: 2 relics + defeat the shadow. ⚠ Enemy uses flat questions[] (not difficulty-keyed) — verify the engine reads it.

3.4 — The Birth of Jesus (birth-of-jesus) [scenes-birth-of-jesus-rebuilt.ts:1018]

unlocksAfter david-goliath · exit → sermon-on-mount · keyVerse Luke 2:11. Gate birth-no-room-gate / enemy birth-no-room-shadow (Shadow of 'No Room', 3 HP) / [20,1,39,38]. NPCs (6): Mary (witness, quiz×4) · Joseph (gatekeeper-label only, quiz×4) · Shepherd Levi (narrator) · Simeon (teacher, quiz×4) · Anna (witness, reveal after Simeon spoken) · Magus (witness, reveal after enemy). RELICS (3, ALL required, ALL behind gate):kingdom-promise (Manger-straw, 20,11) · creation-scroll (Frankincense, 26,9) · image-bearing (Myrrh, 28,10) — all three collide; ids mismatch their nativity meaning. SECRETS (1): stable-inscription (after enemy). FORMATION (1): Stable Floor (Joy, +2). HIDDEN PUZZLE: innkeeper dig. EXPLORER VERB (1): witness Mary holding the child (requires enemy defeated → card incarnation-and-mary). Required: 3 relics + defeat the shadow.

3.5 — The Sermon on the Mount (sermon-on-mount) [scenes-sermon-on-mount-rebuilt.ts:1007] ⚠ DEVIATES FROM THE MODEL

unlocksAfter birth-of-jesus · exit → pentecost · keyVerse Matthew 5:3. All 7 sermon mini-game components are fully implemented (components/minigames-sermon/). Gate sermon-hidden-devotion-gate / enemy sermon-hearing-without-doing-shadow (3 HP) / [21,1,39,38]but the gate is NOT cleared by combat. It clears when the HiddenDevotion mini-game is passed (its onGatePassed pushes the enemy into defeatedEnemies, LivingWordAdventure.tsx:10421-10425). The enemy is never fought normally on the path. NPCs (7): Jesus (teacher, quiz×4, full 17-lens) · Andrew (witness, after beat 2) · Pharisee Joash (questioner, quiz×4 — triggers AntithesisDialogue) · Miriam the widow (narrator — triggers BeatitudeBadges) · Shimon (gatekeeper-label, quiz×4) · Quintus (witness, after beat 3) · Crowd-Elder Joanna (reward-giver, after enemy — triggers TwoFoundationsFinale). RELICS (1, required): kingdom-promise (Beatitudes scroll). ⚠ collides. SERMON MINI-GAME FLOW (the special part):

  1. BeatitudeBadges — interact widow sermon-poor-widow (tsx:6878).
  2. AntithesisDialogue — interact Pharisee Joash (tsx:6885).
  3. HiddenDevotion — fired by hitting the sealed gate region (tsx:6653-6660); the one strictly-required mini-game — passing it opens the gate.
  4. PrayerWheel — interact prop sermon-prayer-space (tsx:6939) → auto-chains to SeekFirstInventory → auto-chains to WisdomCards (tsx:10437-10481).
  5. TwoFoundationsFinale — interact Joanna (only revealed after the gate clears) (tsx:6892). EXPLORER VERB (1): gather 8 beatitudes (optional → card matthew-beatitudes-summit). secrets/formationSpaces/pitTraps/hiddenPuzzles arrays all empty (the prayer space is a prop, not a formationSpace). Required: collect the relic + pass HiddenDevotion (clears the gate to the exit). Everything else optional (but skipping PrayerWheel-chain / Finale loses P11 plants seek-first-the-kingdom, chose-rock-foundation that feed Pentecost/New Creation dialogue). ⚠ Test carefully: trigger order; that HiddenDevotion (not combat) opens the gate; the auto-chain PrayerWheel→SeekFirst→WisdomCards. Live trigger lines have shifted from earlier docs — NPC triggers at tsx:6878-6897, formation at :6939-6943, gate at :6653-6660.

3.6 — Pentecost (pentecost) [scenes-pentecost-rebuilt.ts:1133]

unlocksAfter sermon-on-mount · exit → new-creation · keyVerse Acts 2:4. Unique relic ids (NOT collided) — relic objective works here. Gate pentecost-uniformity-gate / enemy pentecost-uniformity-shadow (Shadow of Imposed Uniformity, 3 HP) / [20,1,39,38]. NPCs (5): Peter (teacher, quiz×4) · Mary (witness, full 17-lens) · Pilgrim Asher (narrator) · Foreman Cush (witness, cross-scene from Babel) · Pharisee Joash (witness, cross-scene from Sermon). (Header claims 7 — the Spirit-Dove is a prop, the formation master is a masterName.) RELICS (3, ALL required): pentecost-tongue-of-fire (16,8) · pentecost-healed-brick (24,18, P11 Babel bloom) · pentecost-spirit-echo (8,16 — far WEST, backtrack required, P11 Flood bloom). SECRETS (1): babel-bloom-fragment (after enemy, +50xp). FORMATION (1): Hall of Many Tongues (Joy, +3). EXPLORER VERBS: none. Required: 3 relics + defeat the shadow. ⚠ The 6-bloom convergence "HUD chips" exist only as JS comment annotations (:1324-1366), not coded data — verify they actually fire. Enemy questionsByDifficulty only easy+scholar (int/adv use questions[]).

3.7 — The New Creation (new-creation) [scenes-new-creation-rebuilt.ts:996] ⚠ FINAL SCENE

unlocksAfter pentecost · exit → null (campaign complete; no transition) · keyVerse Revelation 21:3. Gate new-creation-throne-gate / enemy new-creation-escape-shadow (Shadow of Escape — "hope is disembodied escape", 3 HP) / [12,9,20,15] (seals the throne centre). NPCs (12): Voice from the Throne (narrator) · Miriam the Keeper (teacher, quiz×4) · Adam & Eve (reward-giver) · River Keeper + 4 gate-witnesses (after beat 3) · 4 tradition elders (Augustine/Chrysostom/Luther/Menno, after beat 5, together cover all 17 lenses). RELICS (1, required):kingdom-promise (Leaf of the Tree of Life, 15,9 — inside the gated throne box, so the enemy must fall first). Collides. SECRETS: none. FORMATION (1): River-of-Life Reflection Pool (Joy, +999 full restore). EXPLORER VERBS: none. LEGACY BLOOM PAYOFF (the Eden Plant payoff): fires only if the player planted in Eden (plantedSeed !== null). Trigger is data-driven (scene id new-creation + non-null plantedSeed + walk within 2 tiles of the Tree of Life prop at 16,10 → onBloomProximity, tsx:4054-4060); the cinematic itself (LegacyBloomCinematic → 1.5s → LegacyBloomFinalePanel) is hard-coded in LivingWordAdventure.tsx + the two React components, not in the scene data. ⚠ If the Tree prop id/tile or scene id changes, the cinematic silently stops firing. A player who skipped Eden's Plant verb sees no bloom. Required: collect the leaf + defeat the Shadow of Escape.


PART 4 — Cross-cutting issues & test matrix

Confirmed / suspected issues (verify each)

  1. ⚠⚠ SYSTEMIC — relic-id collision across ~11 scenes (highest priority). collectedRelics is a single global array, reset only on New Adventure (LivingWordAdventure.tsx:5777, 6596); collecting guards if (collectedRelics.includes(relic.id)) return (6711); the exit gate counts sceneRelicIds.filter(id => collectedRelics.includes(id)) (6872). Relic ids are a closed QuestId union (types.ts:19), and most scenes reused the three generic members as a shortcut. Effect: once a generic relic id is collected (in Eden), every later scene that reuses it has its relic objective auto-satisfied on entry and its relics become uncollectable (the hard-gate enemy still blocks the exit, so scenes aren't fully skippable, but relic collection + relic XP + relic-bearing beat completion are broken).

    Id-reuse map (scenes sharing the generic ids → broken after Eden):

    generic idscenes using it
    creation-scrollEden, Cain&Abel(fixed), joseph-egypt, passover, red-sea, sinai, tabernacle, burning-bush, birth-of-jesus
    kingdom-promiseEden, joseph-egypt, passover, red-sea, sinai, tabernacle, burning-bush, david-goliath, birth-of-jesus, sermon-on-mount, new-creation
    image-bearingEden, Cain&Abel(fixed), david-goliath, birth-of-jesus

    Clean (unique ids, unaffected): Flood (flood-*), Babel (babel-*), Abraham (abraham-*), Pentecost (pentecost-*). ✅ STATUS — FIXED (PR #674, Fix A applied). Every affected scene's relics are now namespaced and added to the QuestId union: Cain & Abel (cain-abel-mark-stone/-witness-tablet), the 5 Exodus scenes (joseph-robe/joseph-grain-seal, passover-hyssop/-lamb-bone, red-sea-timbrel/-bed-stone, sinai-first-tablet/-second-tablet, tabernacle-chisel/-mercy-seat), burning-bush-sandal-stone/-staff, david-five-stones/-sling-stone (+ David's NPC questId), birth-manger-straw/-frankincense/-myrrh, sermon-beatitudes, new-creation-leaf. Eden keeps the generic ids (sole user → no collision). pnpm build exit 0.

    • (Historical: Fix A = namespace ids, data-only, chosen. Fix B = scope collectedRelics per scene in the engine, deferred — not needed now.)
    • Regression test: play Eden → any later scene; that scene's relics should NOT be pre-collected and SHOULD be pickable (XP + panel update).
  2. ⚠ Enemy difficulty arrays are inconsistent. Some gate enemies define questionsByDifficulty with only easy + scholar (Flood, Babel, Abraham, Burning Bush, Pentecost) — int/adv fall back to the untyped questions[]; others (David & Goliath, Birth, Sermon) use a flat questions[] with no difficulty keys at all. Verify the engine renders a non-empty question set for the gate enemy at all four levels in every scene; this is the most likely "empty encounter" failure.

  3. ⚠ P11 Legacy seeds are mostly doc-only comments. Only Eden Plant → New Creation Legacy Bloom is actually wired (and that is hard-coded in LivingWordAdventure.tsx + the two React components, implicitly coupled to the Tree-of-Life prop id/tile and scene id — change either and the cinematic silently stops). The Flood dove→baptism, David & Goliath, and the Pentecost 6-bloom convergence "HUD chips" are JS comment annotations, not data. Don't expect those payoffs; verify if the engine fires any of them.

  4. ⚠ "Optional" Beat-4 sometimes holds an exit-required relic — Cain & Abel (Tablet) and David & Goliath (image-bearing Sling-stone) both park a required relic in the prose-labeled optional deeper-exploration branch. A tester who treats Beat 4 as skippable can't open the exit (once the collision bug is fixed). UX trap.

  5. role: "gatekeeper" is often a label only. Saul (David&Goliath), Joseph (Birth), the Pharaohs/Moses (Exodus stubs) carry the gatekeeper role but no Gate.gatedBy.gatekeeperNpcId references them — the only enforced gate is the enemy. Don't expect those NPCs to block movement.

  6. ⚠ 17-lens content has 18 keys (0–17) (Babel, and other lens-rich NPCs) — lens 0 is the hidden "Universal" foundation. Assert keys 0–17, not "17".

  7. ⚠ Sermon on the Mount gate is cleared by a mini-game, not combat (§3.5) — the HiddenDevotion mini-game's onGatePassed marks the enemy defeated. Test the gate via the mini-game, not an encounter.

  8. ⚠ New Creation Legacy Bloom only fires if the player planted in Eden (§3.7). A playthrough that skipped Eden's Plant verb gets no bloom at the finale.

  9. Beat-vs-gate narrative mismatch (Flood, Babel) — narration implies an NPC quiz precedes the fight, but only the enemy gates.

Per-difficulty matrix (run each scene at each level)

Levelwhat to verify
easyNPC + enemy quizzes render; Word Cards encounter fires with the gentle hint (PR #668); no empty set
intermediate / advancedquiz text changes; enemy encounter is non-empty (see issue #2)
scholaradds Hebrew/Greek lexical questions

Standard per-scene smoke pass (repeat for every scene)

  1. Mount via ?lwAllowTeleport=1 (teleport to the scene). 2. Objective pointer sits at beat 1. 3. Relic check (collision): on entry, confirm the scene's relics are NOT already collected and CAN be picked up (XP + panel update) — this currently FAILS for the issue-#1 scenes. 4. The hard gate blocks the sealed region until the gate enemy/mini-game is resolved. 5. Resolve the gate (Word Cards → 3 HP, or the Sermon mini-game). 6. Exit refuses until all relics collected, then transitions + Word Card toast (final scene → campaign-complete). 7. Run every Explorer verb. 8. Enter every formation space (Resolve restores). 9. Open the study-station mini-games. 10. Reveal each secret post-condition.

PART 5 — Automated testing hooks (for Claude / Playwright)

  • Entry: <baseUrl>/living-word?lwAllowTeleport=1 (intro dismissed, canvas mounted, teleport enabled).
  • Force-arm verbs: ?lwExplorerPreview=<sceneId>.
  • Stable selectors: section[aria-label="Game status"] (the HUD, PR #668); [data-testid="lw-curriculum-quiz"], [data-testid="lw-quiz-question"], [data-testid="lw-quiz-options"], [data-testid="lw-quiz-progress"] (quiz UI, LivingWordAdventure.tsx:5070-5083); [aria-label^="Resolve:"] (hearts).
  • Lead-gen harness: /living-word/e2e-leadgen (noindex) mounts the completion modal + bloom panel in isolation.
  • Existing specs to extend: e2e/living-word/explorer/{witness,plant,name,gather}.spec.ts, e2e/living-word/explorer/sermon-burning-bush-david.spec.ts, e2e/living-word/explorer/cross-scene-rollout.spec.ts, e2e/living-word-scenes.spec.ts, e2e/living-word/leadgen-phase1b.spec.ts.
  • API checks (curriculum quiz): GET /api/living-word/quizzes?chapterId=<scene quizChapterId>&difficulty=<level> returns curated questions; corpus realms return empty (post PR #670).
  • Suggested new automated assertions: the relic-id-collision regression (enter cain-abel after eden, expect relics collectable); difficulty-array coverage (every gate enemy returns a non-empty question set at all 4 levels); gate enforcement (movement into blocksRegion rejected until the enemy id is in defeatedEnemies).

Verified 2026-05-30 against the registered code path. The 5 Genesis scenes are extracted in full with file:line citations; the remaining 11 scenes need a follow-up extraction pass. Engine model anchored in LivingWordAdventure.tsx (handleInteract L6960, hard-gate L3940, handleReachExit L6876) and data/scenes.ts / data/types.ts.