# Phase 20 — Action Plans and Reactions This roadmap keeps the proposed Phase 20 slices together so they are available when each slice is scoped. The slice boundaries are proposals and can be refined before their specs are written. ## Source of product decisions - [Action and reaction design brief](action_reactions_design_brief.md) — accepted user-facing decisions and architecture requirements. - [Action visualization mockups](action_reactions_mockups/action_visuals_contact_sheet.png) — current DIRECT-mode visual direction. Do not duplicate detailed decisions here. Add new decisions to the design brief and update this roadmap only when the slice boundaries change. ## Proposed slices ### Phase 20a — Stage identities and names **Status:** User-verified on `feature/phase-20-action-reactions`; automated checks, production interaction run, UIUX visual review, and user manual checks passed. The branch remains unmerged. See the [Phase 20a implementation and verification spec](../specs/phase_20a_stage_identities_and_names.md) and [UI/UX spec](../specs/phase_20a_stage_identities_and_names_ui_ux.md). - Rename placed characters and props from their selected Edit-mode inspectors. - Give duplicate instances distinct scene names while keeping those display names separate from reusable assets. - Add stable character and prop instance identities that survive save/load and renaming. - Make character and prop names unique across the scene, ignoring case. - For overlapping clicks, show only objects whose visible geometry is hit; preview candidates from the chooser and preserve the prior selection until a row is chosen. The approved mockup is `action_reactions_mockups/06_edit_overlap_picker.png`. - Make those identities available to later action targets and reaction responder choices. ### Phase 20b — Action plans and DIRECT authoring - Author each character's ordered action plan, including actions grouped to run together. - Author movement destinations as either a free place or a specific named prop instance. - Support selecting a route marker, deliberately changing its destination, and the agreed DIRECT preview labels and speech marker. - Establish the action identity and serialization needed for event links in later slices. ### Phase 20c — Event-specific reaction authoring - Let a child choose a specific authored action event and choose one or more responding characters. - Author ordered **Then** steps, including actions that start together and actions such as **Follow**. - Apply the agreed warnings and cleanup when deleting an action or editing away its reaction trigger. ### Phase 20d — Reaction runtime and priority - Run reactions at their selected event moments, with reaction priority over the responder's authored plan. - Pause and resume compatible or interrupted actions as agreed; replace an active reaction when a higher-priority reaction triggers. - Execute multi-step reactions and live following, with saved action and reaction links remaining stable. ### Phase 20e — Prop events and stage-wide handlers - Add the authored Throw-start event and the separate moving-prop-touches-character event. - Route one event occurrence to both character reactions and external stage handlers, such as sound or lighting cues. - Keep contact events distinct from the authored Throw action that may have caused them. ## Workflow For each slice, prepare the relevant UI/UX and architecture specs and review them with the user. Before handing a slice back for user verification, pass three gates: automated behavior/persistence assertions, production-path interaction checks, and rendered visual review by UIUX against the style guide and approved mockups. Capture the actual GUI states reached by the interactions; a headless pass, debug print, or screenshot file alone is not proof of the whole flow. Fix findings and rerun the affected checks before sign-off. If an environment prevents a required check, report the specific limitation and the remaining reproducible user check. Apply the same gates to 20a through 20e. The detailed 20a scenarios are in [its verification plan](../specs/phase_20a_stage_identities_and_names.md#verification-plan); later slice specs should define their own observable scenarios and captures for action authoring, event links, reaction timing, and prop/stage handlers.