Files
aetherbound-guild/docs/runtime/PHASE9_0_BOOT_TITLE_CONTRACT.md

53 lines
2.2 KiB
Markdown

# Phase 9.0 Boot And Title Contract
## State Boundary
```text
boot_verifying -> title_no_run -> new_game_contract
```
Boot verifies the required local scene, domain, world, actor, equipment and
embedded UI font resources in stable order. A failed check retains the failed
path and offers a real Retry action. A successful check presents a real
`10 / 10 resources ready` terminal before entering Title. Boot itself spends
nothing and creates no save or run.
Title exposes:
- `AETHERBOUND GUILD / 裂脉远征团`;
- local-content verified status;
- `No expedition yet / 尚无远征记录`;
- one primary `Start New Game / 开始新游戏` action;
- real language, text-scale, reduced-motion and mute controls.
There is no fake Continue action when no run exists. `Start New Game` changes
only the current page and opens the existing Contract state with Coin `52`,
Company `0/4`, no selected Contract, no difficulty and no Recruit offers open.
When Title appears, `Start New Game` owns initial keyboard/controller focus;
all four accessibility controls remain real touch targets.
## Presentation
The world is full-bleed. UI copy occupies clear ground and is not placed in a
large decorative card. The title uses the accepted Japanese 2D guild/route
direction; the existing clean Windglass world asset is the temporary runtime
background. The Phase 6 title master controls composition only because its
baked HUD, buttons, text and numbers are not legal runtime controls.
The first read is the working route/world, the second is product identity, and
the third is current run state plus the primary action. Compact accessibility
tools remain visible without becoming the focal point.
## Test Markers
- `ABG_P9_0_BOOT_TITLE_OK`: ordered checks, verified transition, no-run truth,
presentation-only settings and exact Contract-entry snapshot.
- `ABG_P9_0_TOUCH_OK`: parsed ScreenTouch changes settings and reaches Contract
with fallback/direct zero.
- `ABG_P9_0_LAYOUT_OK`: Boot and Title fit all declared fixtures.
- `ABG_P9_0_RUNTIME_CAPTURE_OK`: normal renderer captures Boot and Title with
clean diagnostics.
Tests may directly arrange a render fixture only when they claim no input.
Touch evidence must use `Input.parse_input_event` ScreenTouch.