Why a person: the automated playthrough checks progression and saved state. These checks cover what only a person can judge in the browser: the Unown puzzle screens and chamber words against the original, Kurt's apricorn menus, the Slowpoke Well and Ilex Forest scenes, and touch controls.
Setup (on a machine with the user's Crystal 1.1 ROM)
Run MAKE_TEST_SAVES=1 npx vitest run tests/playthrough.test.ts (the whole file; its stages share a playthrough).
Run npm run dev, load the ROM, then Savegames → Import native backup → test-saves/route-34.crystal-save.json, then Play.
The save starts in the Ilex Forest gate to Route 34 with QUILAVA at level 24 (hurt), three level-5 Pokémon, HM01 CUT taught, a POTION, a MIRACLE SEED, one POKé BALL, one LURE BALL and ¥9,214. Heal in Goldenrod or Azalea first. The backup contains ROM-derived names and must stay local.
Steps and expected results
Walk back through Ilex Forest to Azalea Town (CUT the tree). The forest's darkness, the shrine and the Farfetch'd area look as in the original; doors and gates return to the right places.
In Azalea, give Kurt an apricorn (pick one from a tree if you have none). The apricorn list shows counts, the 1–99 quantity box steps correctly, and the next day Kurt hands over the matching balls once.
Reach the Ruins of Alph (Union Cave → Route 32 → the Ruins gate). Solve the Kabuto puzzle: the pieces, cursor, START/CANCEL and palettes match the original; pieces pick up and drop with A, B cancels; solving opens the floor.
Read the chamber wall words (the word overlay) and compare with the original's letters. Catch a wild Unown in the chamber below: its letter's picture shows in battle, and the Unown Dex records it.
Repeat the puzzle with the on-screen D-pad and buttons on a phone or tablet. Record device and browser.
Save, reload the page and reopen the save: the solved chamber, apricorn order, caught Unown and Farfetch'd state persist.
Known boundaries: no sound; the research center's Unown printer and the Pokédex's Unown mode are not ported; the Day-Care does not take Pokémon yet (#29). Do not report those as regressions.
Report: tick the checks completed, give the browser/device and commit tested, and describe any failure with the last action and expected/actual behavior. Leave this card in A tester until a person has performed the checks.
Implementation: #32 (f4ef244, 7c4e852).
Why a person: the automated playthrough checks progression and saved state. These checks cover what only a person can judge in the browser: the Unown puzzle screens and chamber words against the original, Kurt's apricorn menus, the Slowpoke Well and Ilex Forest scenes, and touch controls.
**Setup** (on a machine with the user's Crystal 1.1 ROM)
1. Run `MAKE_TEST_SAVES=1 npx vitest run tests/playthrough.test.ts` (the whole file; its stages share a playthrough).
2. Run `npm run dev`, load the ROM, then Savegames → Import native backup → `test-saves/route-34.crystal-save.json`, then Play.
3. The save starts in the Ilex Forest gate to Route 34 with QUILAVA at level 24 (hurt), three level-5 Pokémon, HM01 CUT taught, a POTION, a MIRACLE SEED, one POKé BALL, one LURE BALL and ¥9,214. Heal in Goldenrod or Azalea first. The backup contains ROM-derived names and must stay local.
**Steps and expected results**
- [ ] Walk back through Ilex Forest to Azalea Town (CUT the tree). The forest's darkness, the shrine and the Farfetch'd area look as in the original; doors and gates return to the right places.
- [ ] In Azalea, give Kurt an apricorn (pick one from a tree if you have none). The apricorn list shows counts, the 1–99 quantity box steps correctly, and the next day Kurt hands over the matching balls once.
- [ ] Reach the Ruins of Alph (Union Cave → Route 32 → the Ruins gate). Solve the Kabuto puzzle: the pieces, cursor, START/CANCEL and palettes match the original; pieces pick up and drop with A, B cancels; solving opens the floor.
- [ ] Read the chamber wall words (the word overlay) and compare with the original's letters. Catch a wild Unown in the chamber below: its letter's picture shows in battle, and the Unown Dex records it.
- [ ] Repeat the puzzle with the on-screen D-pad and buttons on a phone or tablet. Record device and browser.
- [ ] Save, reload the page and reopen the save: the solved chamber, apricorn order, caught Unown and Farfetch'd state persist.
Known boundaries: no sound; the research center's Unown printer and the Pokédex's Unown mode are not ported; the Day-Care does not take Pokémon yet (#29). Do not report those as regressions.
**Report**: tick the checks completed, give the browser/device and commit tested, and describe any failure with the last action and expected/actual behavior. Leave this card in A tester until a person has performed the checks.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Implementation: #32 (
f4ef244,7c4e852).Why a person: the automated playthrough checks progression and saved state. These checks cover what only a person can judge in the browser: the Unown puzzle screens and chamber words against the original, Kurt's apricorn menus, the Slowpoke Well and Ilex Forest scenes, and touch controls.
Setup (on a machine with the user's Crystal 1.1 ROM)
MAKE_TEST_SAVES=1 npx vitest run tests/playthrough.test.ts(the whole file; its stages share a playthrough).npm run dev, load the ROM, then Savegames → Import native backup →test-saves/route-34.crystal-save.json, then Play.Steps and expected results
Known boundaries: no sound; the research center's Unown printer and the Pokédex's Unown mode are not ported; the Day-Care does not take Pokémon yet (#29). Do not report those as regressions.
Report: tick the checks completed, give the browser/device and commit tested, and describe any failure with the last action and expected/actual behavior. Leave this card in A tester until a person has performed the checks.