Files
aetherbound-guild/docs/runtime/p9_3/IMPLEMENTATION_PLAN.md
T

55 lines
3.8 KiB
Markdown

# P9.3 Reference-Fidelity Core Loop Implementation Plan
> Status: `COMPLETE`
> Active step: `NONE`
> Baseline: `9c46112095bb12094ebc4b4c346f22437cccf8c6`
> Goal: `docs/goals/PHASE9_3_REFERENCE_FIDELITY_LOOP_GOAL.md`
> Contract: `docs/runtime/PHASE9_3_REFERENCE_FIDELITY_LOOP_CONTRACT.md`
## Player Outcome
The player recruits a visible person, sees that person join a horizontal line,
chooses a materially different enemy group, watches the resulting automatic
battle and returns with a visible reward. No card/page wizard mediates the loop.
## Steps
| Step | Status | Outcome | Gate |
|---|---|---|---|
| P9.3-STEP-0 Contract | `COMPLETE` | Owner rejection and replacement loop are bounded. | Goal, contract, plan, checkpoint and ledger agree. |
| P9.3-STEP-1 Modular foundation | `COMPLETE` | A separate controller owns Title, Hall, recruit and encounter state without extending the legacy facade. | Source `a1cf290`; three offers and three encounter transactions pass. |
| P9.3-STEP-2 Automatic battle | `COMPLETE` | The selected Company and encounter run through fixed-tick combat with actor motion and role feedback. | P9.3 normal runtime plus P9.2 authority/five-profile regressions pass. |
| P9.3-STEP-3 Reward return | `COMPLETE` | Outcome and reward commit once; the changed Hall reappears. | Parsed touch reports `touch=7 fallback=0 direct=0`; reward and return persist once. |
| P9.3-STEP-4 H5 review | `COMPLETE` | Owner can play the exact candidate remotely. | Gallery `dKq-nbfRY1xB` is byte-identical and the Owner opened the delivered H5. |
| P9.3-STEP-5 Owner review | `COMPLETE` | Owner judges UI, picture, operation and battle feel. | Owner accepted the direction and requested continued development. |
## Frozen
Only files under `runtime/p9_3/`, the minimal main entry integration, P9.3
tests, P9.3 docs, checkpoint and ledger are owned. Existing P9.0-P9.2 rules,
assets and tests remain unchanged unless a focused compatibility repair becomes
strictly necessary and is recorded as a new source attempt.
## Current Evidence
- Product source: `a1cf2904d0e42661ac4012804ad7b64ae85c1325`.
- Source-bound runtime root: `/private/tmp/abg-p93-a1cf290-r6/`.
- Domain marker: `ABG_P9_3_REFERENCE_FIDELITY_DOMAIN_OK`.
- Runtime marker: `ABG_P9_3_REFERENCE_FIDELITY_RUNTIME_OK` with seven parsed
touches and zero fallback/direct callbacks.
- Nine normal-render `844x390` frames cover Title, Hall, focused offer, three
visible encounters, selection, contact, projectile, result and returned Hall.
- P9.0R3 feedback, P9.0R10 six-pair adaptation, P9.2 93-case battle authority
and P9.2 five-profile integration regressions pass strict-clean.
- H5 delivery details are in `docs/runtime/p9_3/H5_DELIVERY.md`.
## Issue Register
| ID | State | Boundary |
|---|---|---|
| P93-I01 | `FIXED` | Texture controls retained their 256px intrinsic minimum and crowded actors/VFX; source `a1cf290` sets sizing before texture assignment and R6 shows readable play-size composition. |
| P93-I02 | `INVALID_HISTORY` | Development capture R3 ran beside one owned stale headless Godot; it was preserved as invalid, the owned PID was terminated, and clean R4/R5 plus source-bound R6 replaced it. |
| P93-I03 | `INVALID_HISTORY` | Web attempt R1 hid installed export templates inside an isolated HOME and stopped before product export. Fresh archive attempt R2 maps the read-only installed templates and passes. |
| P93-I04 | `CLOSED_BY_OWNER_REVIEW` | No automated browser was connected, but the Owner opened the delivered H5 and accepted the visible direction. Automated browser diagnostics remain unclaimed. |
| P93-I05 | `INVALID_HISTORY` | Recording R1 initialized at the old 1280x720 project default; R2 reached 844x390 but retained test teardown gray. Fresh source `73834ab` R3 ends on gameplay at 844x390 for 23.266667 seconds. |