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

2.2 KiB

Phase 9.0 Boot And Title Contract

State Boundary

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.