149 lines
7.1 KiB
Markdown
149 lines
7.1 KiB
Markdown
# P9.2R Gameful Opening Implementation Plan
|
|
|
|
> Status: `ACTIVE`
|
|
> Active step: `P9.2R-STEP-5 OWNER_REVIEW`
|
|
> Baseline: `840b111d55980f7178d12f871b6290f10b060e70`
|
|
> Goal: `docs/goals/PHASE9_2R_GAMEFUL_OPENING_GOAL.md`
|
|
> Contract: `docs/runtime/PHASE9_2R_GAMEFUL_OPENING_CONTRACT.md`
|
|
> Ledger: `docs/reviews/PHASE9_GODOT_VERTICAL_SLICE_LEDGER.md`
|
|
|
|
## Player-Visible Stopping Point
|
|
|
|
P9.2R ends when Title through first-battle departure reads as one continuous
|
|
Guild Yard action rather than an app wizard, while every accepted gameplay rule
|
|
and later battle remains unchanged.
|
|
|
|
## Ordered Steps
|
|
|
|
| Step | Status | Player outcome | Verification | Commit boundary |
|
|
|---|---|---|---|---|
|
|
| P9.2R-STEP-0 Contract | `COMPLETE` | The rejected boundary, dynamic slice and frozen rules are explicit. | Goal/contract/plan/checkpoint links; one representative screen and action chain. | Planning commit. |
|
|
| P9.2R-STEP-1 Yard entry | `COMPLETE` | Enter Game opens a living Guild Yard with visible commission, threat, four Recruits and one obvious action instead of a menu/briefing card flow. | Marker `ABG_P9_2R_GAMEFUL_YARD_ENTRY_OK`; front-door/touch, six-pair, 180-path and P9.2 focused regressions; two normal 844x390 frames; strict diagnostics zero. | Product source `3b3f459`; evidence in `STEP_1_EVIDENCE.md`. |
|
|
| P9.2R-STEP-2 Embodied selection | `COMPLETE` | Tapping actors rallies/removes them in the world; two choices form the automatic line without card pages. | Marker `ABG_P9_2R_GAMEFUL_RECRUIT_RALLY_OK`; six pairs/two click orders; parsed touch; four normal states; strict diagnostics zero. | Product source `88d4e63`; evidence in `STEP_2_EVIDENCE.md`. |
|
|
| P9.2R-STEP-3 Departure | `COMPLETE` | The ordered line visibly departs through the breach and reaches the preserved battle exactly once. | Marker `ABG_P9_2R_GAMEFUL_DEPARTURE_OK`; 7-touch recording marker; three normal frames; 18.5-second 844x390 recording; strict diagnostics zero. | Product source `c89721d`; evidence in `STEP_3_EVIDENCE.md`. |
|
|
| P9.2R-STEP-4 Integrated H5 | `COMPLETE` | Owner can play the repaired opening remotely. | Clean source-bound Web export; Gallery item `KITQfwLYLK6R`; byte-identical HTML/JS/PCK/WASM; remote Title/Yard/mission/zero/one-selection path; browser diagnostics zero. | Delivery in `H5_DELIVERY.md`; closure pushed. |
|
|
| P9.2R-STEP-5 Owner review | `IN_PROGRESS` | Owner decides whether the opening now feels like a game. | Uncoached Owner observation. | Accept or redesign terminal. |
|
|
|
|
## Step 1 Contract
|
|
|
|
Owned files:
|
|
|
|
```text
|
|
runtime/compat/p9_0_root_facade.gd
|
|
runtime/tests/p9_2r/gameful_yard_entry_test.gd
|
|
docs/runtime/p9_2r/IMPLEMENTATION_PLAN.md
|
|
docs/runtime/p9_2r/STEP_1_EVIDENCE.md
|
|
CURRENT_CHECKPOINT.md
|
|
docs/reviews/PHASE9_GODOT_VERTICAL_SLICE_LEDGER.md
|
|
```
|
|
|
|
Step 1 may change only Main Menu and first-commission presentation plus the
|
|
transition between them. It must keep page/state IDs and existing callbacks so
|
|
accepted navigation, settings, Home and Restart behavior remain compatible.
|
|
|
|
Acceptance:
|
|
|
|
- Enter Game reaches a full-bleed Guild Yard, not a full-height menu panel.
|
|
- The commission and breach threat are readable in under two short lines.
|
|
- All four existing Recruits are visible in-world before selection.
|
|
- One primary `Assemble Company` action enters the accepted Recruit-selection
|
|
state; information and settings are compact secondary controls.
|
|
- At 844x390 the world/actors occupy at least 70% of the screen and no repeated
|
|
candidate card exists.
|
|
- zh_CN/en, 130%, 1280x720 and 390x844 remain in bounds.
|
|
|
|
## Frozen
|
|
|
|
P9.2 battle, all values and rules, P9.1 session flow after departure, new media,
|
|
audio generation, persistence, casualty, content, packaging and release.
|
|
|
|
## Step 2 Contract
|
|
|
|
Owned files:
|
|
|
|
```text
|
|
runtime/compat/p9_0_root_facade.gd
|
|
runtime/tests/p9_2r/gameful_recruit_rally_test.gd
|
|
docs/runtime/p9_2r/IMPLEMENTATION_PLAN.md
|
|
docs/runtime/p9_2r/STEP_2_EVIDENCE.md
|
|
CURRENT_CHECKPOINT.md
|
|
docs/reviews/PHASE9_GODOT_VERTICAL_SLICE_LEDGER.md
|
|
```
|
|
|
|
Player outcome: the player chooses people by touching the people in the Yard.
|
|
The chosen actor changes position and gains a selected sigil; two choices show
|
|
the system's lead/support order in the same world. The player can remove one,
|
|
replace one, review the resulting line and proceed without seeing a Recruit card
|
|
grid or formation cards.
|
|
|
|
Acceptance:
|
|
|
|
- Four actor-sized touch targets expose the same four existing Recruits.
|
|
- Zero, one and two selections are visually distinct through position, sigil,
|
|
outline and text; color is not the only signal.
|
|
- A third Recruit is visibly unavailable at capacity without mutating state.
|
|
- Tapping a selected actor removes only that actor and reopens capacity.
|
|
- All six unordered pairs and both click orders yield the same existing
|
|
automatic order.
|
|
- Recruit selection and formation review contain no repeated Recruit or
|
|
formation cards and remain in the same full-bleed Yard.
|
|
- Parsed ScreenTouch, zh_CN/en 130%, reduced motion and 844x390 bounds pass.
|
|
|
|
## Step 3 Contract
|
|
|
|
Owned files:
|
|
|
|
```text
|
|
runtime/compat/p9_0_root_facade.gd
|
|
runtime/tests/p9_2r/gameful_departure_transition_test.gd
|
|
docs/runtime/p9_2r/IMPLEMENTATION_PLAN.md
|
|
docs/runtime/p9_2r/STEP_3_EVIDENCE.md
|
|
CURRENT_CHECKPOINT.md
|
|
docs/reviews/PHASE9_GODOT_VERTICAL_SLICE_LEDGER.md
|
|
```
|
|
|
|
Player outcome: pressing the one departure action commits the existing line
|
|
once, shows both selected actors advancing from the Yard toward the bell gate,
|
|
then reveals the preserved first battle. No second confirmation page appears.
|
|
|
|
Acceptance:
|
|
|
|
- The formation transaction commits exactly once and duplicate input is inert.
|
|
- A normal-motion transition shows both ordered actors advancing toward the
|
|
visible threat for 420-600 ms while the battle clock remains zero.
|
|
- Reduced motion resolves through a short final-position transition without
|
|
changing the committed formation or battle state.
|
|
- The first battle appears after the transition with the same selected IDs,
|
|
HP, phase, values and event rules.
|
|
- Home/Restart cleanup cannot leave a pending departure transition.
|
|
- Parsed ScreenTouch, three representative normal frames and one 15-30 second
|
|
Title-to-battle recording pass strict diagnostics.
|
|
|
|
## Step 4 Contract
|
|
|
|
Owned files:
|
|
|
|
```text
|
|
docs/runtime/p9_2r/IMPLEMENTATION_PLAN.md
|
|
docs/runtime/p9_2r/H5_DELIVERY.md
|
|
CURRENT_CHECKPOINT.md
|
|
docs/reviews/PHASE9_GODOT_VERTICAL_SLICE_LEDGER.md
|
|
```
|
|
|
|
Player outcome: the Owner can open one new stable Gallery item on a landscape
|
|
mobile browser, reset by refreshing, and play the repaired Title-to-battle
|
|
opening without local tooling.
|
|
|
|
Acceptance:
|
|
|
|
- Export is generated from exact clean/upstream source `c89721d` and contains
|
|
the embedded Chinese font and only runtime-required content.
|
|
- The deployed Gallery payload is byte-identical to the local export and uses
|
|
one stable signed link.
|
|
- Remote health, MIME and content-length checks pass; a normal browser reaches
|
|
the real Chinese Title without console warning/error.
|
|
- A short remote path reaches the Yard and preserves readable Chinese, actor
|
|
targets and the current primary action.
|
|
- Delivery records source, payload hashes, Gallery item, reset behavior and
|
|
open human/device/release gates; no package, signing or release work occurs.
|