recordstoreguy/engine/scenes.json
type-two 4f7d21df2b Engine v2 + full 45-scene graph: choices, random, endurance, hold, needledrop, white labels, replay queue, stinger
- scenes.json: every DESIGN.md scene wired — T1-T7, SH1-6, Misfile, 4 needle-drop
  alts, 7 white labels, boss volleys, REPLAY queue sentinel, win+stinger gate
- player.js: choice windows (branch/death-goto), random variants (sh2 tape),
  endurance restarts w/ tightening (sh4), hold windows (t4s5/t5s5), needledrop
  power-up branches, unprompted collects, mirror-on-replay, soft fail (t5s4),
  needle_skip transitions, stale-death-timeout guard
- clips renamed to DESIGN ids (s01->t1s1 etc); placeholder gen covers all new
  window types and never overwrites real footage (86 clips: 8 real + 78 gen)
- sheets: added missing sh4_action + t5s4_action prompts
- verified in browser: choice pass/timeout, collect, needledrop, endurance
  tighten+death, hold pass/release-fail, soft fail, replay queue w/ mirror,
  win->stinger with 7 labels, live-timing run of t1s1

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 04:40:41 +10:00

168 lines
9.4 KiB
JSON

{
"meta": { "title": "RECORD STORE GUY", "lives": 5, "version": 4 },
"start": "intro",
"scenes": {
"intro": { "clip": "clips/intro.mp4", "death": "clips/t1s1_death.mp4",
"windows": [], "onSuccess": "t1s1" },
"t1s1": { "clip": "clips/t1s1_action.mp4", "death": "clips/t1s1_death.mp4",
"windows": [ { "t": [4.6, 5.4], "input": "left" } ],
"onSuccess": "t1s2", "checkpoint": true },
"t1s2": { "clip": "clips/t1s2_action.mp4", "death": "clips/t1s2_death.mp4",
"collect": { "t": [2.0, 2.5], "input": "up", "label": 1 },
"windows": [ { "t": [4.2, 5.0], "input": "up" } ],
"onSuccess": "t1s3" },
"t1s3": { "clip": "clips/t1s3_action.mp4", "death": "clips/t1s3_death.mp4",
"windows": [ { "t": [3.0, 3.7], "input": "right" } ],
"onSuccess": "t1s4" },
"t1s4": { "clip": "clips/t1s4_action.mp4", "death": "clips/t1s4_death.mp4",
"windows": [ { "t": [3.0, 3.7], "input": "down" } ],
"onSuccess": "sh1" },
"sh1": { "clip": "clips/sh1_action.mp4", "death": "clips/sh1_death_pit.mp4",
"windows": [ { "t": [6.0, 7.5], "choices": {
"left": { "goto": "t2s1" },
"up": { "death": "clips/sh1_death_pit.mp4", "goto": "mf1" },
"right": { "death": "clips/sh1_death_pit.mp4", "goto": "mf1" }
} } ],
"onSuccess": "t2s1" },
"mf1": { "clip": "clips/mf1_action.mp4", "death": "clips/mf1_death.mp4",
"windows": [ { "t": [3.0, 3.7], "input": "down" } ],
"onSuccess": "sh1" },
"t2s1": { "clip": "clips/t2s1_action.mp4", "death": "clips/t2s1_death.mp4",
"windows": [ { "t": [3.0, 3.7], "input": "up" } ],
"onSuccess": "t2s2", "checkpoint": true },
"t2s2": { "clip": "clips/t2s2_action.mp4", "death": "clips/t2s2_death.mp4", "mirrorOk": true,
"windows": [ { "t": [2.2, 2.9], "input": "right" }, { "t": [3.6, 4.3], "input": "right" } ],
"onSuccess": "t2s3" },
"t2s3": { "clip": "clips/t2s3_action.mp4", "death": "clips/t2s3_death.mp4",
"collect": { "t": [1.2, 1.7], "input": "up", "label": 2 },
"windows": [ { "t": [2.4, 3.1], "input": "left" }, { "t": [4.6, 5.3], "input": "up" } ],
"onSuccess": "t2s4" },
"t2s4": { "clip": "clips/t2s4_action.mp4", "death": "clips/t2s4_death.mp4",
"needledrop": { "t": [1.5, 2.1], "clip": "clips/t2s4_alt.mp4", "bonus": 500 },
"windows": [ { "t": [3.2, 3.9], "input": "action" } ],
"onSuccess": "t2s5" },
"t2s5": { "clip": "clips/t2s5_action.mp4", "death": "clips/t2s5_death.mp4",
"windows": [ { "t": [2.5, 3.2], "input": "right" }, { "t": [3.8, 4.5], "input": "action" } ],
"onSuccess": "sh2" },
"sh2": { "random": ["sh2_thin", "sh2_thick"] },
"sh2_thin": { "clip": "clips/sh2_action_thin.mp4", "death": "clips/sh2_death.mp4",
"windows": [ { "t": [3.0, 4.5], "choices": {
"left": { "goto": "t3s1" },
"right": { "death": "clips/sh2_death.mp4" }
} } ],
"onSuccess": "t3s1" },
"sh2_thick": { "clip": "clips/sh2_action_thick.mp4", "death": "clips/sh2_death.mp4",
"windows": [ { "t": [3.0, 4.5], "choices": {
"right": { "goto": "t3s1" },
"left": { "death": "clips/sh2_death.mp4" }
} } ],
"onSuccess": "t3s1" },
"t3s1": { "clip": "clips/t3s1_action.mp4", "death": "clips/t3s1_death.mp4",
"windows": [ { "t": [1.8, 2.4], "input": "right" }, { "t": [2.8, 3.4], "input": "right" }, { "t": [3.8, 4.4], "input": "up" } ],
"onSuccess": "t3s2", "checkpoint": true },
"t3s2": { "clip": "clips/t3s2_action.mp4", "death": "clips/t3s2_death.mp4",
"windows": [ { "t": [3.0, 3.7], "input": "left" } ],
"onSuccess": "t3s3" },
"t3s3": { "clip": "clips/t3s3_action.mp4", "death": "clips/t3s3_death.mp4", "mirrorOk": true,
"windows": [ { "t": [2.2, 2.9], "input": "down" }, { "t": [3.6, 4.3], "input": "action" } ],
"onSuccess": "t3s4" },
"t3s4": { "clip": "clips/t3s4_action.mp4", "death": "clips/t3s4_death.mp4",
"needledrop": { "t": [0.8, 1.4], "clip": "clips/t3s4_alt.mp4", "bonus": 500, "label": 3 },
"windows": [ { "t": [1.8, 2.4], "input": "up" }, { "t": [2.8, 3.4], "input": "right" }, { "t": [3.8, 4.4], "input": "action" } ],
"onSuccess": "sh3" },
"sh3": { "clip": "clips/sh3_action.mp4", "death": "clips/sh3_death_post.mp4",
"windows": [ { "t": [3.0, 4.5], "choices": {
"left": { "death": "clips/sh3_death_acct.mp4" },
"up": { "goto": "t4s1" },
"right": { "death": "clips/sh3_death_post.mp4" }
} } ],
"onSuccess": "t4s1" },
"t4s1": { "clip": "clips/t4s1_action.mp4", "death": "clips/t4s1_death.mp4",
"windows": [ { "t": [3.0, 3.7], "input": "action" } ],
"onSuccess": "t4s2", "checkpoint": true },
"t4s2": { "clip": "clips/t4s2_action.mp4", "death": "clips/t4s2_death.mp4", "mirrorOk": true,
"windows": [ { "t": [2.2, 2.9], "input": "right" }, { "t": [3.4, 4.1], "input": "up" } ],
"onSuccess": "t4s3" },
"t4s3": { "clip": "clips/t4s3_action.mp4", "death": "clips/t4s3_death.mp4", "mirrorOk": true,
"windows": [ { "t": [1.8, 2.4], "input": "left" }, { "t": [2.8, 3.4], "input": "right" }, { "t": [3.8, 4.4], "input": "left" } ],
"onSuccess": "t4s4" },
"t4s4": { "clip": "clips/t4s4_action.mp4", "death": "clips/t4s4_death.mp4",
"collect": { "t": [1.5, 2.0], "input": "up", "label": 4 },
"windows": [ { "t": [3.4, 3.9], "input": "action" } ],
"onSuccess": "t4s5" },
"t4s5": { "clip": "clips/t4s5_action.mp4", "death": "clips/t4s5_death.mp4",
"windows": [ { "t": [1.5, 3.5], "input": "down", "hold": true }, { "t": [4.0, 4.7], "input": "action" } ],
"onSuccess": "sh4" },
"sh4": { "clip": "clips/sh4_action.mp4", "death": "clips/sh4_death.mp4",
"onMiss": "restart", "maxRestarts": 3,
"windows": [ { "t": [1.2, 1.9], "input": "down" }, { "t": [2.2, 2.9], "input": "down" }, { "t": [3.2, 3.9], "input": "down" }, { "t": [4.2, 4.9], "input": "down" } ],
"onSuccess": "t5s1" },
"t5s1": { "clip": "clips/t5s1_action.mp4", "death": "clips/t5s1_death.mp4",
"windows": [ { "t": [2.0, 2.6], "input": "right" }, { "t": [3.4, 4.0], "input": "right" } ],
"onSuccess": "t5s2", "checkpoint": true },
"t5s2": { "clip": "clips/t5s2_action.mp4", "death": "clips/t5s2_death.mp4",
"needledrop": { "t": [0.8, 1.4], "clip": "clips/t5s2_alt.mp4", "bonus": 500 },
"windows": [ { "t": [1.8, 2.4], "input": "left" }, { "t": [2.8, 3.4], "input": "action" }, { "t": [3.8, 4.4], "input": "right" } ],
"onSuccess": "t5s3" },
"t5s3": { "clip": "clips/t5s3_action.mp4", "death": "clips/t5s3_death.mp4",
"collect": { "t": [1.0, 1.5], "input": "up", "label": 5 },
"windows": [ { "t": [2.4, 3.0], "input": "up" }, { "t": [3.6, 4.2], "input": "up" } ],
"onSuccess": "t5s4" },
"t5s4": { "clip": "clips/t5s4_action.mp4", "failGoto": "t5s1",
"windows": [ { "t": [3.2, 3.9], "input": "action" } ],
"onSuccess": "t5s5" },
"t5s5": { "clip": "clips/t5s5_action.mp4", "death": "clips/t5s5_death.mp4",
"windows": [ { "t": [1.5, 3.2], "input": "right", "hold": true }, { "t": [3.8, 4.5], "input": "up" } ],
"onSuccess": "sh5" },
"sh5": { "clip": "clips/sh5_action.mp4", "death": "clips/sh5_death.mp4",
"windows": [ { "t": [3.0, 4.5], "choices": {
"up": { "death": "clips/sh5_death.mp4" },
"down": { "goto": "t6s1" },
"right": { "goto": "sh5_bonus" }
} } ],
"onSuccess": "t6s1" },
"sh5_bonus": { "clip": "clips/sh5_bonus.mp4", "death": "clips/sh5_death.mp4",
"windows": [], "score": 1000, "label": 7, "onSuccess": "t6s1" },
"t6s1": { "clip": "clips/t6s1_action.mp4", "death": "clips/t6s1_death.mp4",
"needledrop": { "t": [0.8, 1.4], "clip": "clips/t6s1_alt.mp4", "bonus": 500, "skipTo": "t6s3" },
"windows": [ { "t": [1.8, 2.4], "input": "up" }, { "t": [2.8, 3.4], "input": "right" }, { "t": [3.8, 4.4], "input": "up" } ],
"onSuccess": "t6s2", "checkpoint": true },
"t6s2": { "clip": "clips/t6s2_action.mp4", "death": "clips/t6s2_death.mp4",
"collect": { "t": [1.2, 1.7], "input": "up", "label": 6 },
"windows": [ { "t": [3.0, 3.7], "input": "down" } ],
"onSuccess": "t6s3" },
"t6s3": { "clip": "clips/t6s3_action.mp4", "death": "clips/t6s3_death.mp4", "mirrorOk": true,
"windows": [ { "t": [3.2, 3.9], "input": "right" } ],
"onSuccess": "t6s4" },
"t6s4": { "clip": "clips/t6s4_action.mp4", "death": "clips/t6s4_death.mp4",
"windows": [ { "t": [3.4, 4.1], "input": "action" } ],
"onSuccess": "sh6" },
"sh6": { "clip": "clips/sh6_action.mp4", "death": "clips/sh6_death.mp4",
"windows": [ { "t": [1.4, 2.0], "input": "down" }, { "t": [2.4, 3.0], "input": "left" }, { "t": [3.4, 4.0], "input": "right" }, { "t": [4.4, 5.0], "input": "action" } ],
"onSuccess": "REPLAY" },
"t7s1": { "clip": "clips/t7s1_action.mp4", "death": "clips/t7s1_death.mp4",
"windows": [ { "t": [1.6, 2.2], "input": "left" }, { "t": [2.6, 3.2], "input": "down" }, { "t": [3.6, 4.2], "input": "right" } ],
"onSuccess": "t7s2", "checkpoint": true },
"t7s2": { "clip": "clips/t7s2_action.mp4", "death": "clips/t7s2_death.mp4",
"windows": [ { "t": [1.2, 1.7], "input": "right" }, { "t": [2.2, 2.7], "input": "up" }, { "t": [3.2, 3.7], "input": "left" }, { "t": [4.2, 4.7], "input": "action" } ],
"onSuccess": "t7s3" },
"t7s3": { "clip": "clips/t7s3_action.mp4", "death": "clips/t7s3_death.mp4",
"windows": [ { "t": [3.5, 3.9], "input": "action" } ],
"onSuccess": "WIN" }
}
}