From 7941227721a6143f77ba37af4590059067e55d50 Mon Sep 17 00:00:00 2001 From: wusumac <736139669@qq.com> Date: Thu, 13 Aug 2026 03:09:33 +0800 Subject: [PATCH] docs: open P9.0R6 second-cycle route --- AGENTS.md | 16 +-- CURRENT_CHECKPOINT.md | 17 ++- .../PHASE9_0R6_SECOND_CYCLE_ROUTE_GOAL.md | 110 ++++++++++++++++++ .../PHASE9_GODOT_VERTICAL_SLICE_LEDGER.md | 1 + .../PHASE9_0R6_SECOND_CYCLE_ROUTE_CONTRACT.md | 107 +++++++++++++++++ 5 files changed, 238 insertions(+), 13 deletions(-) create mode 100644 docs/goals/PHASE9_0R6_SECOND_CYCLE_ROUTE_GOAL.md create mode 100644 docs/runtime/PHASE9_0R6_SECOND_CYCLE_ROUTE_CONTRACT.md diff --git a/AGENTS.md b/AGENTS.md index 9d0299be..3c23a24d 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -11,17 +11,19 @@ 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. P9.0R4 remains the -preserved two-battle preview baseline. P9.0R5 is the only active runtime slice: -begin at the real Title, preserve both existing battles, return to the Guild, -choose between retaining the learned equipment or recruiting the missing rear, -then see the choice in one third encounter and session result. It continues the -fast-H5-before-formal-candidate cadence. +preserved two-battle preview baseline. P9.0R5 is the Owner-accepted complete +first-session baseline through Guild choice, third battle and session result. +P9.0R6 is the only active runtime slice: preserve that complete path, compare +three neutral routes whose coverage changes with the retained item or +three-person line, commit one route, observe one fourth battle and receive a +causal second-cycle result. It continues the fast-H5-before-formal-candidate +cadence. 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, formal Market/permanent equipment inventory, Party order, -authoritative combat, persistence, chapters, device packaging, stores and -release remain frozen. +casualty/recovery, authoritative combat, persistence, chapters, device +packaging, stores and release remain frozen. ## Originality Boundary diff --git a/CURRENT_CHECKPOINT.md b/CURRENT_CHECKPOINT.md index a87b0a91..501b6a24 100644 --- a/CURRENT_CHECKPOINT.md +++ b/CURRENT_CHECKPOINT.md @@ -1,7 +1,7 @@ # Current Checkpoint -Active Goal: `docs/goals/PHASE9_0R5_FIRST_SESSION_ARC_GOAL.md` -Active contract: `docs/runtime/PHASE9_0R5_FIRST_SESSION_ARC_CONTRACT.md` +Active Goal: `docs/goals/PHASE9_0R6_SECOND_CYCLE_ROUTE_GOAL.md` +Active contract: `docs/runtime/PHASE9_0R6_SECOND_CYCLE_ROUTE_CONTRACT.md` Active ledger: `docs/reviews/PHASE9_GODOT_VERTICAL_SLICE_LEDGER.md` P9.0R5 baseline: `6ae33971451912b3cc87c8ffe3b8831fa67c967c` P9.0R5 product preview source: `073ff690ea5a27cb47ee1b563c3eebd6cde9e788` @@ -12,7 +12,8 @@ Animation repair baseline: `db75a17ce8b0a3bc702ad535fa16491debf582e4` Fixed product source: `425fae82d3d88a002bdaadeabb498d8bf0d069cd` Battle-feedback behavior commit: `3b26b3d671ae7d043ab4bfcbd8b31e77df6d6d0d` Battle-feedback baseline: `be17debf4ed3ebe5c3e6de2701d5e3c374de1dcb` -Stage: `P9_0R5_FULL_FIRST_SESSION_FAST_H5_PREVIEW_READY` +P9.0R6 baseline: `c064fb2344fdbf9e95e18b8e1073844ce4d1f212` +Stage: `P9_0R6_SECOND_CYCLE_ROUTE_ACTIVE` P9.0R5 preserves the complete real Title-to-second-result P9.0R4 path and owns one Guild return decision plus a third battle. From `20 Coin`, the player either @@ -40,9 +41,13 @@ pass. This remains fast preview evidence, not a formal candidate. Cold start is still roughly one minute because the 53 MB Web bundle is delivered without compression. -The only next action is Owner play review of the full first session, especially -whether the second Guild decision and its third-battle consequence are clear. -Full candidate evidence waits for that direction acceptance. +On 2026-08-13 the Owner accepted the full first-session preview and authorized +continued development. P9.0R6 now owns the smallest strategically different +next cycle: three neutral routes whose coverage changes with retained +`EQ-002`, retained `EQ-061`, or the three-person line; one route commit; one +fourth automatic battle; and one causal second-cycle result. The only next +action is bounded implementation followed by the fast H5 gate. Formal +candidate evidence waits for Owner review. ## P9.0R4 Fast-Preview Baseline diff --git a/docs/goals/PHASE9_0R6_SECOND_CYCLE_ROUTE_GOAL.md b/docs/goals/PHASE9_0R6_SECOND_CYCLE_ROUTE_GOAL.md new file mode 100644 index 00000000..0393f470 --- /dev/null +++ b/docs/goals/PHASE9_0R6_SECOND_CYCLE_ROUTE_GOAL.md @@ -0,0 +1,110 @@ +# Phase 9.0R6 Second-Cycle Route Goal + +## Owner Decision And Role + +On 2026-08-13 the Owner accepted the P9.0R5 full first-session preview and +authorized continued development. + +- Role: development task. +- Repository: `aetherbound_guild` only. +- Baseline: clean/upstream P9.0R5 closure + `c064fb2344fdbf9e95e18b8e1073844ce4d1f212`. +- Preserved product source: + `073ff690ea5a27cb47ee1b563c3eebd6cde9e788`. +- Active contract: `docs/runtime/PHASE9_0R6_SECOND_CYCLE_ROUTE_CONTRACT.md`. +- Active ledger: `docs/reviews/PHASE9_GODOT_VERTICAL_SLICE_LEDGER.md`. + +## Player Hypothesis + +The first session becomes a strategy loop only when its equipment versus +Company decision changes the value of the next route. A fresh player should +read three pressures, compare current coverage and reward, commit one route, +then explain why the same Company would fare differently on another route. + +The owned continuation is: + +`P9.0R5 session result -> route board -> route commit -> fourth automatic battle -> second-cycle result` + +## Owned Slice + +1. Preserve the complete P9.0R5 Title-to-session-result path unchanged. +2. Continue from session result without resetting Coin, Company, retained item + or added rear. +3. Show three stable, neutral and initially unselected route offers: + - `R6-01 Windwall Causeway / 风墙长堤`: low exposure, front-crush pressure, + `+4 Coin`; + - `R6-02 Bellglass Run / 钟晶疾道`: medium exposure, tempo pressure, + `+7 Coin`; + - `R6-03 Twinflare Ravine / 双辉裂谷`: high exposure, split rear pressure, + `+10 Coin`. +4. Every route shows current coverage as `covered`, `partial` or `gap`, with a + concrete reason derived from the retained item or three-person line. + Coverage is information, not a recommendation or outcome prediction. +5. Selection changes nothing and remains reversible. One explicit review and + commit locks the route and current Company snapshot exactly once. +6. Run one fourth automatic battle using existing accepted actors, Riftblade + family animation and feedback language. It is a bounded route presentation, + not a new catalog enemy or authoritative combat implementation. +7. Result leads with `build -> pressure -> consequence`, then exact Coin, + Company, front/rear HP and time. Route reward commits once at result. + +## Decision Matrix + +Build profiles are mutually exclusive: + +- `guarded`: retained `EQ-002`; +- `tempo`: retained `EQ-061`; +- `full_line`: added missing rear; no retained item. + +| Route | Guarded | Tempo | Full line | +|---|---|---|---| +| `R6-01` front crush | covered; hit `-10`; `7.40s` | gap; hit `-40`; `6.40s` | partial; hit `-30`, one heal `+12`; `7.00s` | +| `R6-02` tempo burst | gap; front `-30`; `8.00s` | covered; initiative `-30`; `6.00s` | partial; front `-30`, one heal `+12`; `6.80s` | +| `R6-03` split rear | gap; rear `-35`; `7.80s` | gap; rear `-35`; `6.70s` | covered; rear `-35`, support restores to `88`; `7.00s` | + +For retained-item routes, an original Kindhand still heals `+12` after front +damage; an original Farstring instead deals the rear hit. For `full_line`, both +Farstring and Kindhand act exactly once. All fixed preview routes clear; the +choice is risk/reward and current coverage, not a hidden loss trap. + +## Preview-First Cadence + +The Owner receives a fast H5 before formal candidate work. The fast gate runs: + +- focused 3x3 matrix and transaction/cleanup tests; +- one real parsed-ScreenTouch route beginning at P9.0R5 session result; +- P9.0R5/P9.0R4/P9.0R3 regressions; +- normal-render `844x390` route board, three coverage states, fourth-battle + pressure and two causal results; +- strict diagnostics and remote Title launch. + +## Frozen + +- P9.0R3 through P9.0R5 values, presentation and complete opening flow. +- Character/background/VFX/animation source assets and paid generation. +- Formal Market, permanent inventory, Party ordering, casualty/recovery, + profession progression and save/persistence. +- Chapter/Region content expansion, authoritative combat, device packaging, + TestFlight, stores and release. + +## Acceptance + +- Three routes render with no preselection and can be revised before commit. +- Coverage changes across `guarded`, `tempo` and `full_line` exactly as the + matrix declares; no route is labeled recommended. +- Commit is inert without a legal route and cannot duplicate after success. +- Nine route/build cells produce the declared time, pressure recipient and + route reward; existing rear role remains causal. +- Route reward adds `4/7/10` Coin exactly once. +- Fourth battle visibly distinguishes front crush, tempo and rear split. +- The second-cycle result explains the chosen route before totals. +- Restart/Home clear both cycles; P9.0R5 regression remains unchanged through + its session result. + +## Legal Terminals + +`Aetherbound Guild P9.0R6 second-cycle route H5 preview ready` + +or + +`Aetherbound Guild P9.0R6 redesign required: ` diff --git a/docs/reviews/PHASE9_GODOT_VERTICAL_SLICE_LEDGER.md b/docs/reviews/PHASE9_GODOT_VERTICAL_SLICE_LEDGER.md index f4f4eec0..d6ad3d51 100644 --- a/docs/reviews/PHASE9_GODOT_VERTICAL_SLICE_LEDGER.md +++ b/docs/reviews/PHASE9_GODOT_VERTICAL_SLICE_LEDGER.md @@ -28,3 +28,4 @@ separate. | 2026-08-13 | product `e895c42`; test metadata `365af54`; Gallery `qpgmCKQMz1TS` | `P9_0R4_FAST_H5_PREVIEW_READY` | Clean/upstream source passes focused second-cycle `Coin=20 once=true choices=2 unselected=true revision=true lock=true safe_hp=90,100 fast_hp=70,82 safe_time=7.05 fast_time=6.00 feedback=4,5 cleanup=true`, parsed ScreenTouch `touch=4 fallback=0 direct=0`, P9.0R1 domain and P9.0R3 feedback regressions. Five `844x390` zh_CN normal-render states pass 44px control bounds and strict product/runtime diagnostics zero. The nine-file 53 MB Web bundle launches remotely to the real Title with browser warnings/errors zero. Cold load is roughly one minute because `37.7 MB` WASM plus `17.1 MB` PCK are served without compression and with 300-second private cache; delivery optimization remains open. This is preview evidence only. Full matrices, both route recordings, immutable inventory and formal candidate status wait for Owner direction acceptance. | | 2026-08-13 | P9.0R5 opened from clean/upstream `6ae3397` | `P9_0R5_FIRST_SESSION_ARC_ACTIVE` | Owner asks for a larger delivery beginning at the real game entry. P9.0R5 preserves P9.0R4 through battle two, then owns one Guild return choice: spend 12 Coin to retain the learned item and Company 2, or spend 14 Coin to recruit the missing rear, return the loan and reach Company 3. A third captain encounter and exact session result must expose the consequence. Formal Market/inventory/save/content/release remain frozen; another fast H5 precedes formal candidate work. | | 2026-08-13 | product `073ff69`; Gallery `XnBQy0rhoJHh` | `P9_0R5_FULL_FIRST_SESSION_FAST_H5_PREVIEW_READY` | Clean/upstream source completes the real Title-to-session-result arc with three battles and the Guild retain-item versus recruit-missing-rear decision. Focused routes pass all six initial rear/item/response combinations, no preselection, reversible selection, insufficient/invalid rejection, once-only spend, exact Coin `8/6`, Company `2/3`, HP `90/100/70/82`, time `7.60/6.60/7.00`, Home/Restart cleanup and mutually exclusive item/recruit state. Real parsed ScreenTouch reaches the result from Title with `touch=11 fallback=0 direct=0`; P9.0R4/P9.0R3 regressions pass; six `844x390` Chinese normal-render states pass 44px bounds and strict runtime diagnostics zero. Runtime-only Web export excludes tests/evidence/build, signed remote MIME/bytes match, and a fresh normal-GPU Chrome reaches the real Title. Cold load remains roughly one minute due to the unchanged uncompressed 53 MB bundle. This is a direction preview only; human understanding/fun/continuation, listening, physical device, packaging, stores and release remain open. | +| 2026-08-13 | Owner continuation decision from clean/upstream `c064fb2` | `P9_0R6_SECOND_CYCLE_ROUTE_ACTIVE` | Owner accepts P9.0R5 and asks development to continue. P9.0R6 preserves the complete first session, then owns three stable routes with front-crush, tempo and split-rear pressures; coverage derived from retained `EQ-002`, retained `EQ-061` or the three-person line; one route commit; one fourth automatic battle; once-only `+4/+7/+10` Coin reward; and a causal second-cycle result. Formal Market, permanent inventory, casualty/recovery, save, chapters, authoritative combat, packaging and release remain frozen. | diff --git a/docs/runtime/PHASE9_0R6_SECOND_CYCLE_ROUTE_CONTRACT.md b/docs/runtime/PHASE9_0R6_SECOND_CYCLE_ROUTE_CONTRACT.md new file mode 100644 index 00000000..f622b05b --- /dev/null +++ b/docs/runtime/PHASE9_0R6_SECOND_CYCLE_ROUTE_CONTRACT.md @@ -0,0 +1,107 @@ +# Phase 9.0R6 Second-Cycle Route Runtime Contract + +## State Machine + +```text +P9.0R5 session_result + -> route_board_unselected + -> route_board_selected + -> route_commit_review + -> fourth_battle + -> second_cycle_result +``` + +Legal reverse paths are selected route to another route and commit review back +to the same selected route. Route commit has no reverse path. Home and confirmed +Restart clear the complete P9.0R1-R6 transient experience. + +## Stable Route Offers + +| ID | Name | Pressure | Exposure | Reward | +|---|---|---|---|---:| +| `R6-01` | Windwall Causeway / 风墙长堤 | captain front crush | low | `+4 Coin` | +| `R6-02` | Bellglass Run / 钟晶疾道 | early tempo burst | medium | `+7 Coin` | +| `R6-03` | Twinflare Ravine / 双辉裂谷 | split rear strike | high | `+10 Coin` | + +The route board states known pressure, exposure, reward and current coverage. +It does not expose exact future HP, mark an option recommended or preselect a +route. Route identities are independently authored for this game. + +## Coverage Rules + +```text +build_profile = + guarded when retained_item == EQ-002 + tempo when retained_item == EQ-061 + full_line when added_rear is Farstring or Kindhand +``` + +| Route | guarded | tempo | full_line | +|---|---|---|---| +| `R6-01` | covered: retained brace answers front crush | gap: initiative does not reduce the hit | partial: Kindhand can recover after the hit | +| `R6-02` | gap: brace does not answer enemy tempo | covered: Early Bell acts before the burst | partial: broader rear line recovers but does not interrupt | +| `R6-03` | gap: front brace does not protect split rear | gap: initiative does not protect split rear | covered: Farstring and Kindhand divide damage and recovery | + +## Route Transaction + +- `open_route_board` inherits exact current Coin, Company and build state. +- `choose_route` validates one stable ID and mutates selection only. +- `review_route` requires one selection and mutates nothing. +- `cancel_review` returns to the selected board state. +- `commit_route` is the only route commit, locks the current snapshot once and + starts the fourth battle. Duplicate commit is inert. +- Route entry costs `0 Coin`; reward is not granted until battle result. + +## Fourth Battle Matrix + +| Route/build | Duration | Front after pressure | Rear after pressure/support | +|---|---:|---:|---:| +| R6-01 guarded | `7.40` | `90`, then `100` only if original rear is Kindhand | `100` | +| R6-01 tempo | `6.40` | `60`, then `72` only if original rear is Kindhand | `100` | +| R6-01 full_line | `7.00` | `70 -> 82` | `100` | +| R6-02 guarded | `8.00` | `70`, then `82` only if original rear is Kindhand | `100` | +| R6-02 tempo | `6.00` | `70`, then `82` only if original rear is Kindhand | `100` | +| R6-02 full_line | `6.80` | `70 -> 82` | `100` | +| R6-03 guarded | `7.80` | `100` | `100 -> 65`; Kindhand self-supports to `77` | +| R6-03 tempo | `6.70` | `100` | `100 -> 65`; Kindhand self-supports to `77` | +| R6-03 full_line | `7.00` | `100` | `100 -> 65 -> 88` | + +Every HP mutation emits one existing P9.0R3 feedback payload over the actual +front, original rear or enemy actor. Both rear professions act once on the +full-line route. Enemy reaches `0`; no respawn, casualty, replacement or save +state is created. + +## Reward And Result + +Reward commit is exactly once after enemy defeat: + +```text +R6-01: coin += 4 +R6-02: coin += 7 +R6-03: coin += 10 +``` + +Result order is build profile and route, pressure/coverage consequence, exact +HP/time, one-time reward and Coin/Company, then Restart/Home only. + +## Presentation + +- Route selection is a world/map scene with three adjacent route nodes and the + current Company visible, not a settings form or receipt table. +- Primary `844x390` viewport has no scrolling and every action is at least 44px. +- Front crush uses a front danger cue; tempo uses an early action cue; rear + split marks the actual rear actor and places its number feedback there. +- Existing art is a bounded Riftblade-family presentation; no new enemy catalog + identity is claimed. + +## Fast Evidence + +- Focused test covers 3x3 coverage, all matrix outcomes, original-rear + counterfactuals, selection/revision, review cancel, once-only commit/reward, + invalid input and cleanup. +- Parsed ScreenTouch continues from a real P9.0R5 session result through route + selection, review, cancel/revise, battle and result with fallback/direct `0`. +- Normal-render captures cover route unselected, each build coverage, review, + the three pressure languages and representative results. +- P9.0R5/P9.0R4/P9.0R3 focused regressions remain mandatory. +- Fast preview evidence cannot become formal candidate evidence.