docs: close character animation candidate

This commit is contained in:
2026-08-12 22:51:44 +08:00
parent 6c72e243c2
commit be17debf4e
3 changed files with 59 additions and 7 deletions
+26 -7
View File
@@ -4,19 +4,38 @@ Active Goal: `docs/goals/PHASE9_0R2_CHARACTER_ANIMATION_GOAL.md`
Active contract: `docs/runtime/PHASE9_0R2_CHARACTER_ANIMATION_CONTRACT.md`
Active ledger: `docs/reviews/PHASE9_GODOT_VERTICAL_SLICE_LEDGER.md`
Animation repair baseline: `db75a17ce8b0a3bc702ad535fa16491debf582e4`
Stage: `P9_0R2_CHARACTER_ANIMATION_ACTIVE`
Fixed product source: `6c72e243c2a35574a9a15ed7f22b0b44f0d0f865`
Stage: `P9_0R2_CHARACTER_ANIMATION_CANDIDATE_READY`
Owner review rejected the P9.0R1 battle motion because whole static images
were translated and bobbed instead of characters changing body and limb poses.
The current task preserves the accepted Title, Yard, front/rear choice, battle
layout, victory, Home and confirmed Restart. It owns only true character frame
animation, gameplay-event timing and a replacement H5. Economy, equipment,
chapters, persistence, authoritative combat, packaging and release are frozen.
Fixed clean/upstream source `6c72e24` preserves the accepted Title, Yard,
front/rear choice, battle layout, victory, Home and confirmed Restart while
replacing static-actor motion with 92 authored frames across 20 states. Five
actors visibly change body and limb poses; damage and healing commit exactly
once at impact frames, and Riftblade death holds its final frame.
Authoritative ignored runtime evidence is
`runtime/evidence/p9-0r2-6c72e24-attempt02/`. Its pre-Web 44-row inventory
SHA-256 is `e92e2f7e1897cb8723f886cb463f878455ddc24a294000328170e17c8edd1e1a`
and verifies 44/44. Two 1280x720 H.264 recordings each run 19.466667 seconds
and cover Hearthguard/Farstring and Wayrunner/Kindhand routes. Attempt 01 is
append-only `INVALID_MOVIE_OUTPUT_PATH` and was not reused.
The clean replacement Web bundle is
`runtime/build/web-preview/6c72e24-r2/`; its nine-file manifest SHA-256 is
`04f655e9ba23e11c21fb1f4d1c7873459d003f0db07964106bc2e93bb3c46483`.
PCK scope proves that tests and evidence are absent while all five actors'
representative action frames are present. Artifact Gallery runtime item
`pPeYCfGUlBjV` reaches the remote Title without browser diagnostics. The share
token is intentionally not stored in Git.
The prior P9.0R1 source and evidence below remain append-only history. Its
`agent_visual_reviewed` animation conclusion is superseded by Owner feedback.
Human visual/fun/understanding remains open. Shortest next action: implement
and verify the fixed character-animation event chain.
Economy, equipment, chapters, persistence, authoritative combat, packaging
and release remain frozen. Human visual/fun/understanding remains open.
Shortest next action: Owner plays the new H5 in landscape and judges whether
the body/limb animation reads clearly at phone size.
## Historical P9.0R1 Candidate
@@ -78,6 +78,36 @@ Kindhand lantern/heal, with one call reserved for a failed or rejected row.
Dry-run, credential preflight, task IDs, returned cost and exact references are
retained. No video, music, SFX or unrelated image generation is authorized.
## Candidate Outcome
Fixed clean/upstream source
`6c72e243c2a35574a9a15ed7f22b0b44f0d0f865` supplies 92 runtime frames and
20 animation states for Hearthguard, Wayrunner, Farstring, Kindhand and
Riftblade. Exact automated markers are:
- `ABG_P9_0R2_ANIMATION_ASSETS_OK files=92 states=20 calls=4 cost_usd=0.056`
- `ABG_P9_0R2_CHARACTER_ANIMATION_OK actors=5 states=20 impact_once=true death_hold=true reduced_motion=true`
- `ABG_P9_0R1_DOMAIN_OK routes=2 replace=front,rear restart=confirmed home=1 battle_phases=6 victory_once=1`
- `ABG_P9_0R1_TOUCH_OK touch=15 fallback=0 direct=0 replace=2 battle=1 home=1 restart=confirmed`
- `ABG_P9_0R1_LAYOUT_OK fixtures=13 landscape=12 portrait=1 pages=4 locales=2 text_130=true min_touch=44`
Fresh normal-render evidence includes two 1280x720 H.264 recordings of
19.466667 seconds. One proves Hearthguard guard/attack plus Farstring
draw/release; the other proves Wayrunner evade/counter plus Kindhand
lantern/heal. Both include Riftblade telegraph, attack, hit and non-looping
death. The pre-Web 44-row attempt-02 inventory verifies 44/44 with SHA-256
`e92e2f7e1897cb8723f886cb463f878455ddc24a294000328170e17c8edd1e1a`.
Attempt 01 remains `INVALID_MOVIE_OUTPUT_PATH` and was not reused.
The final Web projection is
`runtime/build/web-preview/6c72e24-r2/`, with nine-file manifest SHA-256
`04f655e9ba23e11c21fb1f4d1c7873459d003f0db07964106bc2e93bb3c46483`.
Its PCK contains representative action frames for all five actors and contains
neither tests nor evidence. Artifact Gallery item `pPeYCfGUlBjV` was published
as a new runtime; remote Title rendering and browser diagnostics pass. Human
visual acceptance, understanding, fun, physical-device, packaging, store and
release gates remain open.
## Legal Terminal
`Aetherbound Guild P9.0R2 character animation candidate ready`
@@ -15,3 +15,6 @@ separate.
| 2026-08-12 | Owner authorization for opening redesign | `P9_0R1_GAME_OPENING_ACTIVE` | Owner authorized a full first-play and UI redesign. The active slice is Title -> scene-based two-position Company choice -> deterministic short battle -> explicit first-expedition victory, with always-visible Home/Restart. Contract, difficulty, paid Market hire, equipment/order configuration, persistence, chapters, later combat, packaging and release remain frozen. Existing accepted Japanese hand-painted environment, character, Riftblade and VFX assets are reused before any new generation. |
| 2026-08-12 | fixed source `a534af9`; `p9-0r1-a534af9-attempt02`; Gallery `xOSqgKWpzqQt` | `P9_0R1_GAME_OPENING_CANDIDATE_READY` | Fresh isolated archive passes domain routes=2, parsed ScreenTouch `touch=15 fallback=0 direct=0`, 13 layout fixtures, 18 normal-render frames across 1280x720 zh_CN, 844x390 zh_CN 130% and 390x844 English, and a 584-frame/19.47-second normal-render dynamic battle with advance, front response, rear action, enemy defeat and one victory. Complete design, five-seed anti-dominance, one-slot/individual-level, 96-asset provenance and four identity-anchor regressions pass; strict markers are zero. The 50-row evidence inventory SHA-256 is `8dd3b7ece692dfcb7c37b5a51996dcfffc937014c59c97fda4a0f3e6b131d453` and verifies 50/50. Attempt 01 remains `INVALID_CONTROLLING_SESSION`; Web export attempt 01 remains `INVALID_EXPORT_ENVIRONMENT`; neither was reused. Local Web export manifest SHA-256 is `d9f688a4e8a927b15f794026c1c7fb13930f9b98e1e742ba433f6d2c30899636`; remote HTML/JS/WASM/PCK MIME/auth delivery is verified. Automated remote browser control is `INVALID_PLUGIN_TIMEOUT`, so no remote canvas interaction claim is made. Agent visual review passes; Owner phone understanding, visual acceptance, fun, listening, physical device, packaging, store and release remain open. |
| 2026-08-12 | Owner play review of Gallery `xOSqgKWpzqQt`; baseline `db75a17` | `P9_0R1_OWNER_REJECTED_P9_0R2_ACTIVE` | Owner rejected the battle motion because actors were static images moved or bobbed as whole planes. This supersedes the prior supporting agent animation review. P9.0R2 owns authored body/limb frame sequences for both front choices, both rear choices and Riftblade, plus impact-frame event binding and a new H5. Accepted opening UI and flow are preserved; systems, content expansion, persistence, packaging and release remain frozen. |
| 2026-08-12 | fixed source `6c72e24`; `p9-0r2-6c72e24-attempt01` | `INVALID_MOVIE_OUTPUT_PATH` | All focused product gates and three-size captures ran, but both MovieWriter destinations were unresolved relative paths and emitted `ERR_CANT_OPEN`/`ERR_UNCONFIGURED`; no usable recording was produced. The attempt is append-only, contributes no recording judgment and was not reused. Its captures were preserved byte-identically under the declared attempt root after correcting their mistaken nested output location. |
| 2026-08-12 | fixed source `6c72e24`; `p9-0r2-6c72e24-attempt02` | `P9_0R2_CHARACTER_ANIMATION_CANDIDATE_PASS` | Clean/upstream source passes animation assets `files=92 states=20 calls=4 cost_usd=0.056`, character timing `actors=5 states=20 impact_once=true death_hold=true reduced_motion=true`, both front/rear routes, parsed touch `touch=15 fallback=0 direct=0`, 13 layout fixtures, three normal-render viewport profiles and current design/loadout/provenance regressions. Two 1280x720 H.264 recordings each run 19.466667 seconds: Hearthguard/Farstring reports `front_frames=24 rear_frames=8 enemy_frames=32`; Wayrunner/Kindhand reports `front_frames=8 rear_frames=8 enemy_frames=38`. Strict diagnostics are zero. The pre-Web 44-row inventory verifies 44/44, SHA-256 `e92e2f7e1897cb8723f886cb463f878455ddc24a294000328170e17c8edd1e1a`. A later Web export log in this root packaged mistakenly nested attempt-01 captures and is classified separately as `INVALID_EXPORT_INPUT_CONTAMINATION`; it does not change the earlier product/runtime evidence judgment. |
| 2026-08-12 | source `6c72e24`; Web attempts 03/04; Gallery `pPeYCfGUlBjV` | `P9_0R2_REMOTE_WEB_READY` | Isolated Git-archive Web attempt 03 excluded evidence but Godot still exposed tracked `runtime/tests` in the PCK, so it is `INVALID_EXPORT_SCOPE` and was not published. Fresh attempt 04 used the same immutable archive with a runtime-only projection that omitted `runtime/tests`. Godot PCK queries prove tests/evidence absent and representative Hearthguard attack, Wayrunner counter, Farstring release, Kindhand heal and Riftblade death frames present. Local HTML/JS/WASM/PCK MIME checks, local canvas Title-to-battle interaction and remote signed Title rendering pass with browser diagnostics zero. The clean bundle is `runtime/build/web-preview/6c72e24-r2/`; its nine-file manifest SHA-256 is `04f655e9ba23e11c21fb1f4d1c7873459d003f0db07964106bc2e93bb3c46483`. Gallery item `pPeYCfGUlBjV` is new and does not overwrite rejected `xOSqgKWpzqQt`; no share token is stored. Human phone visual/comprehension/fun, device, packaging, store and release remain open. |