Last footage gap before launch trailer can render. Previously the montage was authored as a placeholder (sceneToLoad=Combat, no scripted inputs) because there was no way to drive the map screen from ScriptedInputProvider.

Changes:

  • ScriptedInputProvider: add LoadActMap action (enum value 7, appended at end to preserve serialized values in existing combat assets). Implement FireSelectMapNode (parses int nodeId, calls NodeMapManager.SelectNode) and FireLoadActMap (parses act number 1-3, calls NodeMapManager.GenerateMap). FireSelectMapNode was previously stubbed with a TODO.

  • ClaudeDemoController: replace hardcoded combat-only ready gate with scene-aware IsSceneReady() / DescribeSceneState() helpers. Combat waits for CombatManager + PlayerTurn (existing behavior). NodeMap waits for NodeMapManager + currentMap. Default returns true after one frame for unknown scenes.

  • act_progression_montage.asset: set sceneToLoad=NodeMap, weaponClassName=Vibro Blade (needed for StartNewRun even though we never combat), three LoadActMap scripted inputs at t=0.5/2.5/4.5, markers act{1,2,3}_reveal.

  • PopulateHeroSequences.cs: add montage block so re-running the editor populator preserves my asset edits.

NodeMapUI.Start already subscribes BuildMapUI to OnMapGenerated event, so calling GenerateMap from LoadActMap auto-rebuilds the UI for the new act (act title text, node layout, player marker). No extra wiring needed.

Capture flow now: Tools > AI Apocalypse > Sequence Capture > pick act_progression_montage

footage/act_progression_montage_42.mp4 + sidecar trailer-builder cuts on act{1,2,3}_reveal markers


Commit 38dab0a by astafford8488.