Autopilot
The autopilot walks the game as an ordered playthrough, driven by synthetic input, and asserts each step from the logs. It runs on the dev box via npm run sanity-check (see the user journey for each screen). Covered: 10/10.
Steps
| Step | Screen | Persona | Status | What it asserts |
|---|---|---|---|---|
| 1 | Splash Screen | new user | ✓ covered | Asserts the engine boots and bootstrap.tscn starts (the [bootstrap] banner). |
| 2 | Download Content | new user | ✓ covered | Asserts the asset pack mounts before continuing (cache-hit or local copy; the harness uses the local dist pack so it stays offline). |
| 3 | Controls Setup | new user | ✓ covered | First-run only: asserts the controller-config screen appears, then injects a keypress to pick the keyboard scheme. |
| 4 | Title Screen | new user | ✓ covered | Autopilot presses Start (ui_accept) to leave the title for character select. |
| 5 | Character Select | new user | ✓ covered | Autopilot accepts on the default slot to begin a new character. |
| 6 | Create Character | new user | ✓ covered | Autopilot reaches the create wizard (CLASS_SELECT → APPEARANCE → NAME_ENTRY → CONFIRM). Appearance/customize is a step inside this wizard, not a separate screen. Completing it through name entry into the city is the next step. |
| 7 | City | new user | ✓ covered | Autopilot completes creation (names the character “humar”) and spawns into the city Office. Skips the intro dialog, teleports to the Office exit, then walks the Counter → Office (briefing) → Counter → Warp arc as described in the next steps. |
| 8 | Accept Quest | new user | ✓ covered | Autopilot teleports onto the Guild Counter NPC, presses interact to open the guild_counter overlay, then 3× ui_accept to select Search and Rescue → difficulty → confirm. SessionManager.has_accepted_quest() flips true. |
| 9 | Quest Briefing | new user | ✓ covered | After accepting, autopilot teleports back to the Office trigger — the briefing dialog auto-fires. ui_accept spam advances the 7-page briefing; exits when SessionManager.get_accepted_quest().briefing_shown flips true. |
| 10 | Start Quest | new user | ✓ covered | Autopilot teleports to the central WarpTeleporter pad, presses interact to open the warp_teleporter UI, then ui_accept to start the quest. Scene changes to valley_field — sanity check is green. |
Recordings
No recordings yet. Generate one on the dev box:
scripts/tools/autoplay/record_boot.sh — onboarding (wipes save, makes character "humar", spawns in office, saves + quits).
scripts/tools/autoplay/record_first_mission.sh — Search and Rescue (resumes the boot save, runs the quest end-to-end, saves + quits).