5.9 KiB
P9.2 Authoritative Battle Implementation Plan
Status:
CLOSED_REDESIGN_REQUIREDActive step: none Baseline:b43e73e439f786e59aefdd97f3ec6c9d76908b93Goal:docs/goals/PHASE9_2_AUTHORITATIVE_BATTLE_GOAL.mdContract:docs/runtime/PHASE9_2_AUTHORITATIVE_BATTLE_CONTRACT.mdProcess:docs/runtime/PLAN_DRIVEN_DEVELOPMENT_PROTOCOL.mdLedger:docs/reviews/PHASE9_GODOT_VERTICAL_SLICE_LEDGER.md
Player-Visible Stopping Point
P9.2 ends when the P9.1 final result can continue into one real horizontal automatic battle. The player sees both lines move, melee collide, rear roles act, HP change and one deterministic outcome. Pause, speed, inspect and legal retreat work through real touch. The result explains cause, survivors and next action.
Ordered Steps
| Step | Status | Player outcome | Verification | Commit boundary |
|---|---|---|---|---|
| P9.2-STEP-0 Contract and baseline | COMPLETE |
The next playable boundary and frozen scope are unambiguous. | Goal/contract/plan/checkpoint links; exact baseline; one active step. | Planning commit. |
| P9.2-STEP-1 Authoritative domain | COMPLETE |
One fixed encounter resolves movement, contact, profession actions, HP, victory/defeat/timeout and retreat identically from the same inputs. | ABG_P9_2_AUTHORITATIVE_BATTLE_DOMAIN_OK cases=93 actions=37; strict diagnostics zero; P9.1 foundation/full-session regressions pass. |
Pushed in cbf35d0. |
| P9.2-STEP-2 Horizontal battle runtime | COMPLETE |
The player enters from the P9.1 result and watches real state drive the battlefield and HUD. | ABG_P9_2_HORIZONTAL_BATTLE_RUNTIME_OK viewport=844x390 source=p9_1_result members=3 hp_import=true movement=true contact=true member_events=true enemy_events=true outcome=victory domain_bound=true; five native normal-render frames; strict diagnostics zero. |
Pushed in 2e2ed93; evidence in STEP_2_RUNTIME_EVIDENCE.md. |
| P9.2-STEP-3 Controls and result | COMPLETE |
Pause, 1x/2x, inspect and retreat are understandable; result gives cause/survivors/next. | ABG_P9_2_CONTROLS_RESULT_RUNTIME_OK touch=10 fallback=0 direct=0; four outcomes, five result lines, 12 layout fixtures and five normal frames pass strict-clean. |
Pushed in f4ced3f; evidence in STEP_3_CONTROLS_RESULT_EVIDENCE.md. |
| P9.2-STEP-4 Integrated gate and H5 | COMPLETE |
Owner can play the complete new encounter through a stable private H5. | ABG_P9_2_INTEGRATED_RUNTIME_OK profiles=5 touch=35 fallback=0 direct=0; 26.67s 844x390 recording; runtime-only export and Gallery/browser checks pass. |
Runner source df187aa; evidence in INTEGRATED_RUNTIME_EVIDENCE.md; delivery in H5_DELIVERY.md. |
| P9.2-STEP-5 Owner review | COMPLETE |
Owner judges movement, causality, controls and retreat decision without coaching. | Font repair passed, then Owner rejected the preceding first-play presentation because it reads as an app rather than a game. | Closed as redesign required; successor P9.2R owns the opening repair. |
Current Step Contract
P9.2-STEP-5 OWNER_REVIEW
Owned files:
docs/runtime/p9_2/OWNER_PLAY_REPORT.md
docs/runtime/p9_2/IMPLEMENTATION_PLAN.md
docs/runtime/p9_2/H5_DELIVERY.md
docs/runtime/p9_2/FONT_REPAIR_EVIDENCE.md
docs/goals/PHASE9_2_AUTHORITATIVE_BATTLE_GOAL.md
docs/reviews/PHASE9_GODOT_VERTICAL_SLICE_LEDGER.md
CURRENT_CHECKPOINT.md
runtime/main.gd
runtime/tests/p9_2/horizontal_battle_runtime_test.gd
Required acceptance:
- Owner opens the current signed Gallery link, reaches the real Title, completes the preserved P9.1 first session and enters Breach Watch without coaching.
- Owner can explain Pause, 1x/2x, Inspect, tick-50 Retreat, current HP pressure, the five-line result and the difference between continuing and retreating.
- Record the first confusion, unreadable state, weak-feel moment, false choice
or reason not to continue in
OWNER_PLAY_REPORT.md. - At most one bounded P9.2 repair batch follows direct Owner feedback. Permanent casualty/save, content expansion, packaging and release remain frozen.
Bounded repair batch P92-R1 is complete and awaiting Owner replay for the
Owner-reported P9.2 Chinese missing-glyph screen. It only binds the already-
embedded Noto Sans SC theme to the outer runtime tree, adds a focused theme/
glyph regression, regenerates the runtime-only H5, and updates the source-bound
delivery record. It changes no battle behavior, copy, layout, asset or frozen
system.
Issue Register
| ID | Status | Boundary | Disposition |
|---|---|---|---|
| P92-I01 | OPEN |
P9.1 battles are deterministic presentation fixtures rather than a reusable authoritative combat loop. | Step 1 builds an isolated P9.2 domain without rewriting P9.1. |
| P92-I02 | OPEN |
Existing product authorities contain later full-game casualty/save rules beyond this milestone. | P9.2 freezes permanent settlement and records only run-local survivors. |
| P92-I03 | OPEN |
Gallery H5 cold start is multi-minute. | P9.2 reached the real 844x390 Title in about 180 seconds with browser warnings/errors zero. Cache improves repeat use; bundle/host optimization remains a later delivery task, not a gameplay claim. |
| P92-I04 | FIXED_AWAITING_OWNER_REPLAY |
Owner screenshot shows all Chinese glyphs become missing-glyph boxes after the preserved P9.1 flow enters P9.2. Digits and Latin glyphs remain readable. | Source 48228b3 binds the existing Noto Sans SC theme at the outer root and checks exact P9.2 inheritance plus a required Chinese glyph. Clean source-bound regressions, local Web full-flow play and byte-identical Gallery publication pass; Owner replay remains open. |
Stopping Rule
Finish one step, run its checks, commit and push before changing the next step to
IN_PROGRESS. A failure keeps the same step active. P9.3 casualty/recovery/save
does not begin inside this plan.
Legal Terminal
Aetherbound Guild P9.2 redesign required: the first-session presentation after Title reads as an app-style card and confirmation wizard rather than play inside the Guild world.