Files
aetherbound-guild/docs/runtime/p9_1/visual_slice/HANDOFF.md
T

82 lines
3.5 KiB
Markdown

# P9.1 Formation-To-Diagnosis Visual Handoff
## Scope
This handoff covers one representative chain only:
```text
formation review -> approach/contact -> damage -> heal response
-> ranged finish -> first causal diagnosis
```
It is a design and layer reference, not integrated runtime source and not Owner
visual acceptance. Open `index.html?frame=<id>` at exactly `844x390`.
## Representative Truth
- All four accepted Recruit identity anchors are included in
`assets/actors/`; this representative pair renders only Farstring and
Kindhand and does not imply that either is a fixed protagonist.
- Starting pair: `Farstring + Kindhand` (`FS-KH`).
- Automatic order: `Farstring` is order `0`, exposed-right lead; `Kindhand` is
order `1`, protected-left second member.
- Battle 1 starts both at `100 HP`; exposed Farstring takes `-42` to `58`;
Kindhand restores `+12` to `70`.
- The final remote response is a representative ordered event showing the
enemy at `34/100`; it is not presented as a new combat formula.
- Result 1 names the system order, both profession actions, current HP, the
once-only `+20 Coin` receipt and the next adaptation comparison.
## Frames
| ID | Contract proof | First read |
|---|---|---|
| `formation-review` | `P91-E04` | Automatic order and both responsibilities |
| `approach-contact` | `P91-E05` contact | Actual target geometry before impact |
| `damage-feedback` | `P91-E05` damage | One `-42`, attached to Farstring, `100 -> 58` |
| `heal-response` | profession response | Kindhand-to-Farstring connector and one `+12` |
| `ranged-finish` | ranged response | Farstring-to-enemy direction and one `-30` |
| `first-diagnosis` | Result 1 | Earliest divergence, response and cause-first copy |
## Editable Layers
The HTML keeps layers semantic and independently replaceable:
1. `.layer-environment`: accepted hand-painted battlefield and scene wash.
2. `.layer-actors`: stable Recruit/enemy art and action poses.
3. `.layer-connectors`: party cord, target line, projectile and heal path.
4. `.layer-feedback`: signed number and semantic VFX.
5. `.layer-ui`: status, objective, context rail and controls.
6. `.layer-captions`: ordered event ribbon or cause-first result text.
Runtime implementation should bind those layers to immutable party snapshots
and ordered events. It must not reproduce branch logic from these static frames.
## Accessibility And Variants
- Every mechanic has text and geometry in addition to color.
- The current target remains visible before impact.
- Captions use `来源 -> 动作 -> 目标 -> 结果`.
- Touch controls are at least `48x48`; primary actions are `56` high.
- Reduced motion can use the same six stable poses and connectors with no
camera travel, parallax, bobbing or continuous motion.
- Reduced flashes can remove any transient emphasis without removing contours,
signed numbers or before/after values.
- Mute changes no geometry, timing or caption.
## Integration Notes
- Preserve accepted actor sources and their stable IDs; do not redraw names or
profession labels into raster art.
- Do not copy the static result values into UI logic. Bind resolved result
clauses from `P91_RESULT`.
- Do not expose manual order, front/rear toggles or combat commands.
- The result context rail is deliberately dense at 100% and is not a 130%
acceptance frame. Runtime 130% reflow follows the frozen spec.
## Residual Gates
- Owner visual judgment remains open.
- Runtime comprehension, motion feel, sound, devices, packaging and release
remain outside this visual-slice handoff.