docs: open P9.0R4 second cycle
This commit is contained in:
@@ -10,12 +10,18 @@ Runtime source belongs under `runtime/`; accepted HTML design authority remains
|
||||
under `prototype/` and may not be silently rewritten to fit implementation.
|
||||
P9.0R3 is the Owner-accepted baseline for tutorial-battle pacing and
|
||||
event-bound combat feedback inside the preserved Title -> Guild Yard ->
|
||||
tutorial battle -> victory flow. Its source is frozen.
|
||||
tutorial battle -> victory flow. Its source is frozen. P9.0R4 is the only
|
||||
active runtime slice: diagnose that first victory, apply the existing 20-Coin
|
||||
Steady payout, choose one of two run-local loaned adaptations, and see the
|
||||
consequence in one second short battle. It uses a fast H5 preview before full
|
||||
candidate evidence so Owner direction can be reviewed without waiting for a
|
||||
complete matrix on every iteration.
|
||||
It shortens dead holds between accepted authored animation states and adds
|
||||
bounded damage/heal number pops, impact nudge and existing VFX timing without
|
||||
changing HP results, roles, victory, animation assets or the opening flow.
|
||||
Contract, difficulty, Market, equipment, Party order, authoritative combat,
|
||||
persistence, chapters, device packaging, stores and release remain frozen.
|
||||
Contract, difficulty, Market, permanent equipment inventory, Party order,
|
||||
authoritative combat, persistence, chapters, device packaging, stores and
|
||||
release remain frozen.
|
||||
|
||||
## Originality Boundary
|
||||
|
||||
|
||||
+20
-3
@@ -1,13 +1,30 @@
|
||||
# Current Checkpoint
|
||||
|
||||
Active Goal: `docs/goals/PHASE9_0R3_BATTLE_FEEDBACK_GOAL.md`
|
||||
Active contract: `docs/runtime/PHASE9_0R3_BATTLE_FEEDBACK_CONTRACT.md`
|
||||
Active Goal: `docs/goals/PHASE9_0R4_SECOND_CYCLE_ADAPTATION_GOAL.md`
|
||||
Active contract: `docs/runtime/PHASE9_0R4_SECOND_CYCLE_ADAPTATION_CONTRACT.md`
|
||||
Active ledger: `docs/reviews/PHASE9_GODOT_VERTICAL_SLICE_LEDGER.md`
|
||||
P9.0R4 baseline: `232e3a0a45ec2437ddd528502d487d5264f1c6ae`
|
||||
Animation repair baseline: `db75a17ce8b0a3bc702ad535fa16491debf582e4`
|
||||
Fixed product source: `425fae82d3d88a002bdaadeabb498d8bf0d069cd`
|
||||
Battle-feedback behavior commit: `3b26b3d671ae7d043ab4bfcbd8b31e77df6d6d0d`
|
||||
Battle-feedback baseline: `be17debf4ed3ebe5c3e6de2701d5e3c374de1dcb`
|
||||
Stage: `P9_0R3_OWNER_ACCEPTED`
|
||||
Stage: `P9_0R4_SECOND_CYCLE_ADAPTATION_ACTIVE`
|
||||
|
||||
P9.0R4 owns only the first-result diagnosis, the existing `B0/R1/Q0` Steady
|
||||
`+20 Coin` payout, one unselected choice between run-local loaned `EQ-002` and
|
||||
`EQ-061`, and one second tutorial battle whose survival/time consequence is
|
||||
visible. The accepted first battle remains unchanged. Market, permanent
|
||||
inventory, Party order, casualty/recovery, persistence, chapters, authoritative
|
||||
combat, packaging and release stay frozen.
|
||||
|
||||
This milestone uses a two-stage review cadence. First publish a fast H5 preview
|
||||
after its focused test, one `844x390` normal-render route and strict scan. Only
|
||||
after Owner direction acceptance run the complete candidate regressions,
|
||||
matrices, both route recordings, immutable inventory, PCK/browser and final
|
||||
Gallery gates. Shortest next action: implement the bounded second-cycle loop
|
||||
without reopening P9.0R3.
|
||||
|
||||
## P9.0R3 Owner-Accepted Baseline
|
||||
|
||||
Fixed clean/upstream source `425fae8` tightens the six-phase automatic battle
|
||||
from the prior `13.50` seconds to `7.25` declared / `7.33` rendered seconds.
|
||||
|
||||
@@ -0,0 +1,117 @@
|
||||
# Phase 9.0R4 Second-Cycle Adaptation Goal
|
||||
|
||||
## Owner Decision And Role
|
||||
|
||||
On 2026-08-13 the Owner accepted the P9.0R3 battle cadence, authored character
|
||||
motion and event-bound combat feedback, asked development to continue, and
|
||||
reported that waiting for each playable delivery is too slow.
|
||||
|
||||
- Role: development task.
|
||||
- Repository: `aetherbound_guild` only.
|
||||
- Baseline: clean/upstream P9.0R3 Owner-acceptance closure `232e3a0`.
|
||||
- Fixed accepted product source:
|
||||
`425fae82d3d88a002bdaadeabb498d8bf0d069cd`.
|
||||
- Active contract:
|
||||
`docs/runtime/PHASE9_0R4_SECOND_CYCLE_ADAPTATION_CONTRACT.md`.
|
||||
- Active ledger: `docs/reviews/PHASE9_GODOT_VERTICAL_SLICE_LEDGER.md`.
|
||||
|
||||
## Player Hypothesis
|
||||
|
||||
After the first automatic battle, a new player can identify the causal lesson,
|
||||
understand the earned reward, choose between safety and tempo, and see that
|
||||
choice change a second battle without opening a form-like Market or inventory.
|
||||
|
||||
The bounded loop is:
|
||||
|
||||
`first battle -> diagnosis -> +20 Coin -> two-option adaptation -> second battle -> changed result`
|
||||
|
||||
## Owned Slice
|
||||
|
||||
1. Replace the first-victory terminal with a readable diagnosis that names the
|
||||
selected front/rear roles and their committed contribution before totals.
|
||||
2. Bind the tutorial fight to the existing `B=0/R=1/Q=0` Steady reward formula:
|
||||
`battle_coin = floor(18 + 2) = 20`. Apply it once on first victory.
|
||||
3. Show the next known threat before preparation: the veteran Riftblade's first
|
||||
strike pushes and heavily damages the exposed front.
|
||||
4. Offer exactly two stable, unselected, run-local loan choices from the
|
||||
accepted equipment catalog:
|
||||
- `EQ-002 Frontpin Greaves`: resist the first push and reduce its damage, but
|
||||
delay the next front basic;
|
||||
- `EQ-061 Early Bell`: resolve the first front basic before the enemy strike,
|
||||
but delay the second front basic and accept the full strike.
|
||||
5. Commit exactly one loan, start one second automatic battle using the accepted
|
||||
actors, animation states, feedback language and controls, then show the exact
|
||||
surviving front HP, elapsed battle time and first decisive difference.
|
||||
6. Keep Home and confirmed Restart available throughout. Restart clears Coin,
|
||||
adaptation and both battles; repeated input cannot grant Coin or commit the
|
||||
loan twice.
|
||||
|
||||
## Fixed Second-Cycle Fixture
|
||||
|
||||
The second encounter is a bounded tutorial veteran using the existing
|
||||
Riftblade identity and assets. It is not a new catalog enemy or authoritative
|
||||
full-combat implementation.
|
||||
|
||||
| Loan | First decisive change | Front result | Cadence consequence |
|
||||
|---|---|---|---|
|
||||
| `EQ-002` | First push is resisted; committed hit is `100 -> 90` | `90`, or `100` after Kindhand's capped heal | Front follow-up resolves later; safer route is slower |
|
||||
| `EQ-061` | Front basic commits before the first enemy strike | Full strike commits `100 -> 70`, then Kindhand may heal to `82` | Delayed second front basic still produces the faster route |
|
||||
|
||||
Farstring keeps one committed rear hit; Kindhand keeps one committed heal. Both
|
||||
adaptations win this tutorial, but one preserves more front HP and the other
|
||||
finishes sooner. The result must compare only actual committed facts.
|
||||
|
||||
## Preview-First Delivery Cadence
|
||||
|
||||
P9.0R4 uses two explicit gates so the Owner can judge direction quickly:
|
||||
|
||||
1. `FAST_PREVIEW`: run the new focused domain/UI test, one normal-render
|
||||
landscape route and strict diagnostic scan; export and publish a clearly
|
||||
labeled H5 preview. This is not a candidate and cannot upgrade final evidence.
|
||||
2. `FORMAL_CANDIDATE`: only after the Owner accepts the preview direction, bind
|
||||
a clean pushed source and run affected regressions, required viewport/
|
||||
language/accessibility matrices, both adaptation routes, MovieWriter,
|
||||
immutable inventory, PCK scope, browser verification and final Gallery
|
||||
publication.
|
||||
|
||||
No formal evidence is silently omitted. Expensive evidence is postponed until
|
||||
the product direction is accepted instead of being regenerated for every
|
||||
preview revision.
|
||||
|
||||
## Frozen
|
||||
|
||||
- P9.0R3 first-battle HP values, roles, targets, event order, victory and timing.
|
||||
- Existing character, enemy, background, VFX and animation source assets.
|
||||
- Title, Yard selection, Home and confirmed Restart semantics.
|
||||
- Market, recruit hiring, permanent equipment inventory, Party order, risk
|
||||
selection, casualty, recovery, persistence, chapters and content expansion.
|
||||
- Authoritative full combat, paid generation, audio expansion, device packaging,
|
||||
TestFlight, stores and release.
|
||||
|
||||
## Acceptance
|
||||
|
||||
- The diagnosis precedes the reward and adaptation choice and uses no raw IDs as
|
||||
its primary player explanation.
|
||||
- Coin changes `0 -> 20` exactly once on first victory and never on view/replay.
|
||||
- Neither adaptation is preselected. Each names benefit, tradeoff and expected
|
||||
next-threat interaction before commit.
|
||||
- The two routes produce different event order, front HP and elapsed time while
|
||||
preserving one victory and exact feedback deltas.
|
||||
- The second result names what changed because of the selected loan and offers
|
||||
Replay and Home without opening the frozen Market.
|
||||
- The fast preview is playable in phone landscape and is clearly reported as
|
||||
direction-review evidence rather than a fixed candidate.
|
||||
|
||||
## Legal Terminals
|
||||
|
||||
Preview:
|
||||
|
||||
`Aetherbound Guild P9.0R4 fast H5 preview ready`
|
||||
|
||||
Formal candidate after Owner direction acceptance:
|
||||
|
||||
`Aetherbound Guild P9.0R4 second-cycle adaptation candidate ready`
|
||||
|
||||
or
|
||||
|
||||
`Aetherbound Guild P9.0R4 redesign required: <earliest failed player boundary>`
|
||||
@@ -24,3 +24,4 @@ separate.
|
||||
| 2026-08-12 | source `425fae8`; `p9-0r3-425fae8-attempt03` | `INVALID_WEB_EXPORT_TEMPLATE_HOME` | Product, capture, recordings and normal audio-lifecycle test passed, but isolated Web export stopped before packaging because its HOME did not expose the installed Godot 4.6.1 templates. This was an export-environment failure, not a product failure, and the attempt was not reused. |
|
||||
| 2026-08-12 | fixed source `425fae8`; `p9-0r3-425fae8-attempt04`; Gallery `_N8bdzMkdn1c` | `P9_0R3_BATTLE_FEEDBACK_CANDIDATE_READY` | Fresh isolated archive passes feedback `duration=7.25 values=-18,-12,-36,+12,-30,-34 once=true`, default audio lifecycle, P9.0R2 animation and P9.0R1 domain/touch/layout regressions. Eighteen normal-render frames cover three landscape viewport/locale/text profiles. Two `1280x720`, 30 fps H.264 recordings run `15.233333` seconds with battle victory at `7.33` seconds, all four route payloads, visible victory holds and no teardown gray. Strict diagnostics are zero. The 65-row inventory SHA-256 is `d1040cec77d3cc63e8322c63d2df5dcc6ee88c35ab04329d52f6687c5529720a`. Runtime-only PCK excludes tests/evidence, and the nine-file Web manifest SHA-256 is `d48922ed4892e15057284275e237d6ef35dd77201a2c67efd170e870c98225bb`. Local Chrome reaches Title -> Yard -> battle -> victory, portrait rotate guidance and browser diagnostics zero; remote HTML/JS/WASM/PCK identity, MIME and bytes pass. Human phone feel/readability, fun, listening, device, packaging, store and release remain open. |
|
||||
| 2026-08-13 | Owner play review of Gallery `_N8bdzMkdn1c` | `P9_0R3_OWNER_ACCEPTED` | Owner reports that this version is acceptable and authorizes continued development. The accepted P9.0R3 battle cadence, character motion and event-bound damage/heal feedback become the frozen `human_reviewed` direction. Listening, broader fun/continuation, physical device, packaging, store and release remain open. The next slice must start from the first victory and prove one readable adaptation before a strategically different second battle; it may not reopen accepted battle values or presentation. |
|
||||
| 2026-08-13 | P9.0R4 task opened from clean/upstream `232e3a0` | `P9_0R4_SECOND_CYCLE_ADAPTATION_ACTIVE` | Owner authorizes continued development and requests faster playable review. The bounded slice is first-result diagnosis, existing Steady `B0/R1/Q0` `+20 Coin`, unselected loan choice `EQ-002` safety versus `EQ-061` tempo, one changed second battle and exact consequence. A fast H5 preview follows focused plus one-route runtime validation; complete immutable candidate evidence waits for Owner direction acceptance. P9.0R3 and all frozen Market/persistence/content/release scope remain unchanged. |
|
||||
|
||||
@@ -0,0 +1,89 @@
|
||||
# Phase 9.0R4 Second-Cycle Adaptation Runtime Contract
|
||||
|
||||
## State Machine
|
||||
|
||||
```text
|
||||
first_battle
|
||||
-> first_result_diagnosis_and_coin
|
||||
-> adaptation_unselected
|
||||
-> adaptation_selected
|
||||
-> second_battle
|
||||
-> second_result
|
||||
```
|
||||
|
||||
`first_result_diagnosis_and_coin` commits the existing Steady `B0/R1/Q0`
|
||||
victory Coin exactly once. Viewing or leaving any page does not mutate Coin.
|
||||
The adaptation is reversible until `Begin second battle`; after that it is
|
||||
locked for the encounter.
|
||||
|
||||
## First Result
|
||||
|
||||
The cause line is derived only from committed P9.0R3 facts:
|
||||
|
||||
- Hearthguard: first strike `-18`, explicitly blocked;
|
||||
- Wayrunner: first strike `-12`, explicitly evaded/reduced;
|
||||
- Farstring: one rear hit `-36` opened the finish;
|
||||
- Kindhand: one heal `+12`, capped by current front HP.
|
||||
|
||||
The player sees the cause before `+20 Coin`, current front HP and the next
|
||||
action. The result does not claim casualty, reward draft, Market or persistence.
|
||||
|
||||
## Adaptation Choice
|
||||
|
||||
| Stable ID | Player-facing promise | Tradeoff | Recommended when |
|
||||
|---|---|---|---|
|
||||
| `EQ-002` | Anchor the front against the veteran's first push; first hit becomes `-10` | The next front basic resolves after the rear action | No rear healer is present or survival is preferred |
|
||||
| `EQ-061` | Resolve the first front basic before the veteran strikes | Full `-30` strike lands and the second front basic is delayed | Kindhand can recover the hit or speed is preferred |
|
||||
|
||||
Recommendation is explanatory, never selection. Both buttons remain equally
|
||||
reachable and the selected state can be changed before commit.
|
||||
|
||||
## Second Battle Event Map
|
||||
|
||||
### `EQ-002` safer route
|
||||
|
||||
1. both lines enter;
|
||||
2. veteran telegraphs a pushing strike;
|
||||
3. Frontpin resists displacement and the front commits `100 -> 90` (`-10`);
|
||||
4. Farstring commits enemy `100 -> 64` (`-36`) or Kindhand commits front
|
||||
`90 -> 100` (`+10`, exact capped heal);
|
||||
5. delayed front/rear coordination commits enemy to `34`;
|
||||
6. finisher commits enemy `34 -> 0`.
|
||||
|
||||
### `EQ-061` faster route
|
||||
|
||||
1. both lines enter;
|
||||
2. Early Bell advances the first front basic and commits enemy `100 -> 72`
|
||||
(`-28`) before the strike;
|
||||
3. the full pushing strike commits front `100 -> 70` (`-30`);
|
||||
4. Farstring commits enemy `72 -> 36` (`-36`) or Kindhand commits front
|
||||
`70 -> 82` (`+12`);
|
||||
5. the delayed second front basic commits enemy to `24`;
|
||||
6. finisher commits enemy to `0`.
|
||||
|
||||
Every HP mutation emits one matching P9.0R3 feedback payload. Non-mutating
|
||||
telegraph/recovery states emit no number. Existing animations may be retimed or
|
||||
reordered but their source frames cannot change.
|
||||
|
||||
## Presentation
|
||||
|
||||
- Result and preparation remain battlefield scenes, not receipt tables or
|
||||
nested cards.
|
||||
- The two loan choices read as physical tactical plinths with a familiar shield
|
||||
and bell/tempo symbol, exact effect, cost `借用/Loan`, and one tradeoff.
|
||||
- The known threat and current two-person squad stay visible with the choice.
|
||||
- Second result leads with `更稳/Safer` or `更快/Faster`, then shows exact front
|
||||
HP and elapsed time. It never says one route is globally best.
|
||||
- `844x390` is the primary fast-preview viewport; content must not require
|
||||
scrolling. Portrait retains the rotate notice.
|
||||
|
||||
## Preview Evidence
|
||||
|
||||
- Focused test covers once-only Coin, no preselection, selection revision,
|
||||
commit lock, both route event maps, exact HP, distinct elapsed time, Restart
|
||||
and Home cleanup.
|
||||
- One normal-render `844x390` Simplified-Chinese route captures first result,
|
||||
unselected adaptation, selected adaptation, second battle and second result.
|
||||
- Logs are scanned for script, parse/resource/import, assertion, ObjectDB and
|
||||
cleanup markers.
|
||||
- The exported H5 is labeled preview. It is not immutable candidate evidence.
|
||||
Reference in New Issue
Block a user