# Afterlight — verified checks

## 1.0.0

Verified on 2026-10-04 13:27:33 CEST (UTC+02:00, Europe/Zagreb).

- **15/15 Node simulation tests passed:** seeded salvage, diagonal normalization, pointer approach, cargo limit, timed deposits, flare radius and cooldown, dropped cargo, shields, collisions, spawn warnings, tide repair and victory, defeat and reset, pause, invalid frame timing, portrait resize, and bounded long-running simulations across 30 seeds.
- **19/19 real Chrome browser checks passed:** launch, native release-notes dialog, focus, real keyboard movement, Space flare, pickup HUD, deposit score, modal pause/resume, preservation of manual pause, opt-in audio, blur pause, victory/personal best, defeat/replay, real touch steering, mobile flare, reduced-motion preference, local file play, and no uncaught browser errors.
- Screenshots reviewed at 1440 × 1000 and 390 × 844 CSS pixels, including the title screen, live flight, release notes and victory. Found a duplicated star caption and inaccessible mobile help; these inform the next patch.
- Verified source syntax with Node. No network resources are required by the game.

Test files and screenshots are in the sibling `afterlight-tests` workspace directory. Run `node --test afterlight-tests/engine.test.cjs` and `node afterlight-tests/browser-tests.cjs` from the workspace. Browser tests need Node 24 and Chrome at the path in the test runner, and use a separate temporary test profile. The browser runner contains no npm dependencies.

Scope: Chrome automation on Windows, desktop and emulated touch. Safari, Firefox, real phone hardware, and long-term human enjoyment have not been verified. Tests for endings use controlled state; they do not claim a human completed a flight.

## 1.0.1

Release validation recorded on 2026-10-04 13:36:26 CEST (UTC+02:00, Europe/Zagreb).

- **16/16 simulation tests passed.** Preserved the initial checks, updated the tide transition assertion to require two fresh announced threats, and added complete landscape / portrait flights using only ordinary movement and flare inputs.
- **26/26 Chrome browser checks passed.** Preserved the initial flows and additionally verified real mouse steering, held-key pausing, visible and named phone help, 320-pixel header / dock bounds, blocked storage fallback, live rendering responsiveness and local-only requests. Victory and defeat UI still use controlled state for precise transition assertions.
- **100 complete route simulations:** 50 fixed seeds in both landscape and portrait. 100 wins, zero losses, zero timeouts, 14.8–21.7 seconds of simulated flight time. Across all routes, bots cleared 472 shades, fired 352 flares and sustained 54 hits. Each portrait run matched its landscape counterpart. No teleports, forced deposits, shield overrides or end-state changes were used in these flights.
- Before the balance patch, the same 100 route scenarios all won in 15.2–19.4 seconds at full hull without clearing shades. This supported the inference that distant arrivals were ineffective. It is not a human difficulty comparison.
- **120-frame render sample:** mean 23.055 ms / approximately 43.4 fps, 95th percentile 33.4 ms, maximum 33.4 ms. Chrome was headless with GPU disabled on this Windows host; results do not predict real-device performance.
- Reviewed the refined title screen, 390-pixel mobile flight and 320-pixel flight screenshots. Corrected the duplicated caption and restored phone help; no horizontal overflow was observed at tested widths.
- No uncaught browser exceptions or external game requests in the tested flows. Local disk launch passed; optional storage denial did not prevent victory or session-best display.
- **5/5 extracted-package smoke checks passed:** current version 1.0.1, valid timestamps with timezone for both releases, both entries in the Release notes dialog, direct disk launch from the extracted ZIP, and no uncaught errors. The final documentation-only update records these completed checks; game files are identical to the tested package.

Reproduce the flight evidence with `node afterlight-tests/flight-check.cjs`. JSON output and screenshots are saved in `afterlight-tests/artifacts`. The package smoke mode is `node afterlight-tests/browser-tests.cjs --release-smoke`; set `AFTERLIGHT_TEST_ROOT` to test an extracted package.

Limits remain: this is Chrome on Windows with touch emulation, not Safari / Firefox or physical phone validation. Automated routes establish mechanical reachability; no human playtest is claimed.

## 1.1.0

Release validation recorded on 2026-10-04 14:10:08 CEST (UTC+02:00, Europe/Zagreb).

- **27/27 simulation tests passed:** preserved coverage and added dash direction / normalization / duration / protection / recharge, frozen dash timers, invalid input handling, no resize shield refresh, complete clean returns, capped resonance and final-haul scoring, partial holds, interrupted deposits, hit resets, flight statistics, and complete routes using both abilities.
- **33/33 Chrome browser checks passed:** preserved the existing flows and added native Shift dash and recharge UI, separate scoring records with the old record preserved, resonance feedback, cached-atmosphere invalidation, real touch dash, two simultaneous touch contacts for steering plus dash, and a 320-pixel victory card that fits while leaving the sun visible.
- **200 complete seeded flights:** 50 seeds × two orientations × dash enabled / disabled. All 200 won, zero timeouts or losses; simulated durations ranged from 13.7 to 21.7 seconds. Ordinary movement, flare and optional dash were the only inputs; no state overrides were used.
- Across 100 non-dash routes: average 17.81 seconds, 474 clean returns, 54 hits, 472 shades cleared. Across 100 dash routes: average 16.11 seconds, 472 clean returns, 42 hits, 408 shades cleared and 354 successful dashes. Orientations produced matching seeded outcomes. These bots are efficient route followers, not representative human players.
- **120-frame render sample:** mean 16.6658 ms / approximately 60 fps; 95th percentile 16.8 ms; maximum 16.8 ms. Headless Chrome with GPU disabled on this Windows host. Previous release's recorded mean was 23.055 ms. This is bounded evidence, not a universal performance claim.
- Screenshot review found and corrected the first draft's clipped 320-pixel ending and overlapping point labels. Verified desktop sunrise, violet atmosphere, 390-pixel ability dock and 320-pixel ending. Optional sound and reduced motion remain supported; no external requests or uncaught errors occurred.

Evidence: `afterlight-tests/artifacts/browser-results.json`, `flight-results-v1.1.0.json`, and screenshots. Reproduction commands are unchanged. The browser harness waits for the native dialog close event to settle before checking resume state.

Scope remains Chrome on Windows with emulated touch; Safari, Firefox, physical phones and human enjoyment are unverified.

- **6/6 extracted-package smoke checks passed:** version 1.1.0, valid offset / timezone timestamps for all three releases, all entries displayed by Release notes, direct disk launch, offline Slipstream input and no uncaught errors. The final documentation-only update records these completed checks; the game bytes match the tested ZIP.

## 1.2.0

Release validation recorded on 2026-10-04 20:01:57 CEST (UTC+02:00, Europe/Zagreb).

- **39/39 simulation tests passed:** prior mechanics remain covered. Added deterministic retry in both modes, new seed / mode reset, harmless front warnings, exact gap safety and angular wraparound, front damage / cargo loss, geometric flare cuts with the original gap preserved, out-of-range / full-front flare behavior, shielded crossings, expansion / expiry / caps, paused fronts, distinct arrival profiles and accurate repair events.
- **46/46 Chrome browser checks passed:** prior keyboard / pointer / touch / pause / scoring / sound / offline flows remain covered. Added both mode retries, visible seed / profile, new-voyage selector, independent records and preservation of prior keys, storage-denied session records across mode changes, 320-pixel mode controls, visible warnings, paused warning clocks, native flare openings, band collision HUD and a scripted heavy-scene render sample.
- **400 seeded routes:** 50 seeds × two orientations × two modes × dash enabled / disabled. Dawn: 200 victories, no defeats. Eclipse: 198 victories, two defeats. No timeouts. Winning flight times ranged from 13.7 to 23.4 simulated seconds. The two defeats were Eclipse seed 23 without dash in each orientation, after fourteen returned embers. Bots use ordinary movement / flare / optional dash only, and now consider approaching fronts when using flare.
- Dawn's 200 routes sustained 168 hits (ten from fronts), cut 352 fronts and averaged 17.66 seconds. Eclipse's 200 routes sustained 249 hits (sixty from fronts), cut 684 fronts and averaged 18.27 seconds. Average times include defeats. Outcomes matched across corresponding orientation pairs. Bots establish functional reachability and differing pressure; they do not model human skill or enjoyment.
- **Render samples:** 120 ordinary frames averaged 16.6667 ms; 120 scripted heavy-scene frames averaged 16.6658 ms. Both 95th percentiles were 16.7 ms, and maxima were 16.8 ms. Headless Chrome with GPU disabled on this Windows host. The heavy fixture has three active fronts, thirteen shades and a long shield solely to maintain the rendering workload.
- Reviewed desktop and 390 / 320-pixel mode selectors, front warnings / openings, result controls and the heavy-scene screenshot. Repeated nearby FRONT OPEN labels merge. No external requests or uncaught browser errors occurred.

Evidence: `afterlight-tests/artifacts/flight-results-v1.2.0.json`, `browser-results.json` and screenshots. Commands remain `node --test afterlight-tests/engine.test.cjs`, `node afterlight-tests/browser-tests.cjs` and `node afterlight-tests/flight-check.cjs`.

Limits remain Chrome on Windows with touch emulation, not physical phones or Safari / Firefox. Controlled UI transitions and rendering fixtures are distinct from the 400 unmodified route simulations. Random cosmetic particles are not part of seeded simulation comparisons.

- **8/8 extracted-package smoke checks passed:** version 1.2.0, valid offset / timezone timestamps for all four releases with the initial timestamp preserved, all entries in the native Release notes dialog, direct disk Eclipse launch, native Shift dash, native Space front opening, same-seed Eclipse retry and no uncaught errors. The final documentation-only update records these completed checks; game files match the tested extracted package.

## 1.3.0

Release validation recorded on 2026-10-04 20:21:40 CEST (UTC+02:00, Europe/Zagreb).

- **50/50 simulation tests passed.** Added seeded / bounded / separated / retryable constellations, full-hold / order / range gating, exactly-once score events, +400 total, final recharge and shield without cargo loss or healing, partial-link behavior, progress persistence through hits / tides, paused / ended-state rejection, ordinary pickup activation, resize translation, invalid prototype-named profiles and complete normal-input constellation routes in both modes / orientations.
- **55/55 Chrome browser checks passed.** Preserved prior flows. Added partial-hold guidance, live link progress / score / cargo feedback, paused progress, final visible recharge, full help text, result progress / score, native constellation retry, 320-pixel bounds and real touch steering through a beacon with a toast that clears both HUD and dock. Prior v1 / v1.1 / v1.2 keys remain stored alongside new mode records.
- **800 seeded routes:** 50 seeds × two orientations × two modes × dash enabled / disabled × direct / constellation-seeking strategies. Direct Dawn: 200 wins. Direct Eclipse: 198 wins / two losses. Constellation Dawn: 200 wins. Constellation Eclipse: 189 wins / eleven losses. No timeouts. All 400 constellation-seeking flights linked all three beacons, including the eleven that later lost. Bots use ordinary target movement, flare and optional dash, with no state overrides.
- Direct Dawn / Eclipse averaged 17.66 / 18.27 simulated seconds. Constellation Dawn / Eclipse averaged 23.76 / 25.11 seconds, including defeats. Winning constellation flights ranged from 19.0–34.4 seconds in Dawn and 20.1–32.9 in Eclipse. Total hits were 168 / 249 on direct routes and 168 / 487 on constellation routes. Average scores were 2651.50 / 2644.38 direct and 3126.50 / 2928.12 constellation, including defeat scores.
- Comparison with the saved v1.2.0 direct-route report showed identical gameplay fields except score across all 400 runs. Sixteen direct routes incidentally linked one or two beacons and earned extra score; none completed a constellation. Salvage / arrival randomness remains unchanged.
- Same-seed retry was verified at a fixed viewport. A constellation-seeking Eclipse seed 22 without dash lost in landscape and won in portrait; other statistics can also differ across orientations because hazard expiry uses viewport bounds and floating-point paths may diverge. Earlier releases' orientation statements should be read as referring to the reported outcomes, not a guarantee of all future cross-viewport trajectories.
- **Rendering:** 120 ordinary frames and 120 scripted heavy-scene frames both averaged 16.6658 ms. Ordinary p95 16.8 ms; heavy p95 16.7 ms; both maxima 16.8 ms. The heavy fixture maintains three fronts, thirteen shades and a long shield to sample rendering. Chrome is headless with GPU disabled on Windows.
- Reviewed desktop constellation progress / completion, 320-pixel route guidance / touch link, intro and ending layouts. Corrected first-pass phone toast overlap and small numbers. No external game requests or uncaught browser errors were observed.

Evidence: `afterlight-tests/artifacts/flight-results-v1.3.0.json`, `route-comparison-v1.3.0.json`, `browser-results.json` and screenshots. Reproduction commands remain unchanged; the flight runner now includes both direct and constellation-seeking strategies.

Scope: Chrome automation on Windows and touch emulation. Physical phones, Safari / Firefox and human enjoyment remain unverified. Browser reward / result checks use controlled fixtures; the 800 route simulations use ordinary inputs only.

- **10/10 extracted-package smoke checks passed:** version 1.3.0, valid timestamps and timezones for all five releases, all entries in the native Release notes dialog, direct disk Eclipse launch, native dash / flare, offline constellation scoring and ability recharge, same-seed retry, final 320-pixel intro bounds and no uncaught errors. The final documentation-only update records these checks; all game bytes match the tested extracted package.

## 1.4.0

Release validation recorded on 2026-10-04 20:43:04 CEST (UTC+02:00, Europe/Zagreb).

- **61/61 simulation / recorder tests passed:** preserved 50 engine tests and added eleven recorder / seed checks: blank / zero / maximum / mixed-case seeds, rejection of invalid codes, ten-Hz cadence and exact ending, simulation neutrality, pause and sealing, relative coordinates on resize, shortest-angle interpolation, final fade, five-minute cap, independent attempt snapshots and invalid-time / pose rejection.
- **73/73 Chrome checks passed:** preserved all prior flows and added native invalid / valid Enter input, inline error / focus, typing without game shortcuts, paused recording, sealed endings, matching replay echo without moving / scoring the current skiff, click / touch toggles, help text, fading, cleared new-voyage seed, valid zero, cleared reload state and reproduced seed field, 320-pixel form bounds, paused echo, maximum-length echo responsiveness, reduced-motion opt-in and returned keyboard focus.
- **800 normal-input routes:** the entire report is exactly equal to v1.3.0, including every score, hit / ability count, route link, time and end state. Direct Dawn 200 wins; direct Eclipse 198 wins / two losses; constellation Dawn 200 wins; constellation Eclipse 189 wins / eleven losses. No timeouts. All 400 constellation attempts linked their entire route. The engine source bytes also match the v1.3.0 ZIP.
- **Three 120-frame samples:** ordinary mean 16.6658 ms, three-front / thirteen-shade mean 16.6658 ms, and maximum-length echo plus three fronts / thirteen shades mean 16.6667 ms. Each p95 was 16.7 ms and maximum 16.8 ms. Headless Chrome with GPU disabled on Windows. The echo stress fixture supplies a scripted 3001-sample five-minute path and a long shield to maintain the workload; it does not represent an unmodified gameplay trajectory.
- Reviewed desktop retry echo, 320-pixel seed form and touch echo, and the heavy echo scene. The ghost is a hollow lavender marker; it leaves current movement / scoring untouched. No uncaught errors or external game requests occurred in the checked flows.
- Native Enter checks send its carriage-return character through Chrome's input protocol as well as the key event. The partial-hold fixture places unrelated embers away from the skiff so a coincidental pickup cannot turn its two-ember hold into a valid three-ember link.

Reproduce all pure checks with `node --test afterlight-tests/engine.test.cjs afterlight-tests/voyage.test.cjs`. Browser and full-route commands remain unchanged. Evidence: `afterlight-tests/artifacts/browser-results.json`, `flight-results-v1.4.0.json` and screenshots.

Scope remains Chrome on Windows with touch emulation. Physical phone keyboards / hardware, Safari / Firefox, human learning and enjoyment are unverified. Browser reward / replay fixtures are distinct from normal-input route evidence. Echo interpolation is a visual approximation between recorded samples.

- **13/13 extracted-package smoke checks passed:** current version 1.4.0, valid timestamps / timezones for all six releases, complete native release archive, direct disk Eclipse launch, native seed entry / Enter, dash, flare, constellation rewards, same-seed retry, matching echo, echo toggle without score / movement changes, final 320-pixel intro and no uncaught errors. This final documentation-only update records the completed checks; all game bytes match the tested extracted ZIP.

## 1.5.0

Release validation recorded on 2026-10-04 21:15:38 CEST (UTC+02:00, Europe/Zagreb).

- **68/68 simulation / recorder tests passed:** preserved 61 checks and added timed relative action markers / ignored invalid actions, five-minute and 240-marker limits / sealing, observed state selection, same-time ending coalescence / idempotent finish, complete results outside a truncated clip, independent beacon geometry and an entire normal-input recorded voyage.
- **86/86 Chrome checks passed:** preserved prior flows and added review after defeat, accurate final hull, keyboard Home, stopped initial playback, optional replay without outcome mutation, retained frozen main painting, pointer seeking / playback stop, cleanup / returned focus, victory review, modal resize / repaint, 390-pixel fitting, real touch scrubbing, reachable 320-pixel controls, explicit truncation and maximum-length playback.
- **800 normal-input route results:** exactly equal to the v1.4.0 report, including scores, durations, hits, abilities, route links and outcomes. Direct Dawn 200 wins; direct Eclipse 198 wins / two defeats; constellation Dawn 200 wins; constellation Eclipse 189 wins / eleven defeats. No timeouts. Simulation source bytes also match the v1.4.0 ZIP.
- **Normal-input recorded voyage:** Eclipse seed 17, target steering, flare and dash, no state overrides. Won after 20.1833 simulated seconds with 3450 points, three hull and all three beacons; 203 samples, fifteen delivery markers, three beacon markers and six flare markers. The browser victory review uses this generated record inside a controlled ending fixture.
- **Four 120-frame render samples:** ordinary mean 16.6658 ms, heavy mean 16.6667 ms, echo mean 16.6658 ms; their p95 values were 16.8 / 16.7 / 16.7 ms and maxima 16.8 ms. Atlas maximum-length playback mean 19.0275 ms (about 52.6 fps), p95 33.3 ms, maximum 33.4 ms. Headless Chrome with GPU disabled on Windows. Atlas stress supplies a scripted 3001-sample clip and 240 markers; it is distinct from normal-input flight evidence.
- The first atlas sample averaged 19.5825 ms / p95 33.4 ms. Adding static caching alone measured 19.86 ms / p95 33.4 ms. Frozen main painting produced the final 19.0275 ms sample. Treat this as host-specific measurements with a small observed change, not a general causal performance claim.
- Main paint counts were unchanged while the atlas was open and increased after modal resize; the cached backdrop matched the resized main canvas. Existing modal resume / manual-pause / input checks still passed.
- Reviewed desktop, 390-pixel and 320-pixel atlas layouts, action legend, selected-state text and playback controls. No external requests or uncaught browser errors occurred.

Commands remain `node --test afterlight-tests/engine.test.cjs afterlight-tests/voyage.test.cjs`, `node afterlight-tests/browser-tests.cjs` and `node afterlight-tests/flight-check.cjs`. The recording helper is `afterlight-tests/record-flight.cjs`. Evidence: `atlas-flight-v1.5.0.json`, `flight-results-v1.5.0.json`, `browser-results.json` and screenshots in `afterlight-tests/artifacts`.

Scope: Chrome on Windows with touch emulation. Physical phone hardware / keyboards, Safari / Firefox and human learning or enjoyment remain unverified. Threats are not reconstructed in the atlas. Position / facing interpolation is approximate; state readouts use observed samples, and action markers are recorded when their simulation events are consumed.

- **15/15 extracted-package smoke checks passed:** version 1.5.0, valid timestamps / timezones for all seven releases, native archive, direct disk Eclipse launch, native seed / Enter, dash, flare, constellation rewards, accurate offline atlas / delivery markers, timeline seeking and playback without outcome changes, same-seed retry, matching echo / toggle, final phone intro and no uncaught errors. The final documentation-only update records the checks; all game bytes match the tested extracted ZIP.


## 1.6.0

Release validation recorded on 2026-10-04 21:36:35 CEST (UTC+02:00, Europe/Zagreb).

- **83/83 simulation / recorder / audio checks passed:** all previous 68 checks plus fifteen audio checks. Opt-in context creation / resume, common master / compressor routing, tide harmony and mode tempo, cargo / hull layers, immutable state, pause / phrase restart, independent cue / music control, complete mute / cleanup, volume clamp / silent volume, voice caps, frame-stall recovery / lookahead, pending-resume / mute race, unavailable audio and suspended-context behavior.
- **105/105 Chrome checks passed:** preserved earlier flows and added nineteen checks for silent default / title, native flight music and state layers, pause cleanup / current-tide resume, help controls and labels, keyboard volume, music-off cue voices, M mute, page-local settings, blur / notes / ending / review quietness, 320-pixel fitting, real touch music toggle, reload defaults and real offline synthesis output.
- **800 normal-input voyages:** every result field is exactly equal to v1.5.0, including score, duration, cargo / route bonuses, hits, actions and outcome. Direct Dawn 200 wins; direct Eclipse 198 wins / two defeats; constellation Dawn 200 wins; constellation Eclipse 189 wins / eleven defeats. No timeouts. Engine, recorder and atlas source bytes match the preceding ZIP.
- **Real synthesis render:** twelve seconds / 24 kHz / mono, using browser OfflineAudioContext. Three tide harmonies, full-hold bells and low-hull bass were scheduled in four controlled three-second segments. All samples finite; peak 0.0494879 (below unit clipping), overall RMS 0.00717189, segment RMS 0.00621385 / 0.00634065 / 0.00789717 / 0.00803509. Evidence includes the WAV preview and `audio-render-v1.6.0.json`. This is a scripted synthesis fixture, not a gameplay recording or human listening review.
- **Four 120-frame rendering samples:** ordinary mean 16.6658 ms / p95 16.7 ms; heavy mean 16.6658 ms / p95 16.7 ms; echo mean 16.6667 ms / p95 16.7 ms; maximum atlas mean 19.0275 ms / p95 33.3 ms. Headless Chrome on Windows with GPU disabled. Existing heavy / echo / atlas fixtures remain scripted stress workloads.
- Desktop and 320-pixel mix layouts reviewed. Native keyboard / pointer / touch settings work, settings retain their values across dialogs, and page reload restores a silent default. No external game requests or uncaught errors occurred.

Commands: `node --test afterlight-tests/engine.test.cjs afterlight-tests/voyage.test.cjs afterlight-tests/sound.test.cjs`, `node afterlight-tests/browser-tests.cjs` and `node afterlight-tests/flight-check.cjs`. Evidence: `browser-results.json`, `flight-results-v1.6.0.json`, `audio-render-v1.6.0.json`, `orbital-score-v1.6.0.wav` and screenshots 34 / 35 in `afterlight-tests/artifacts`.

Scope: Chrome on Windows and touch emulation. Audio graph / sample assertions verify scheduling, signal output and lifecycle, not perceived quality or loudness on speakers. Musical enjoyment, human immersion, physical phones and Safari / Firefox remain unverified. The soundtrack reads the current voyage state and restarts phrases after an interruption; it is not recorded in the atlas.

- **18/18 extracted-package smoke checks passed:** version 1.6.0, valid actual offset / timezone timestamps for all eight preserved releases, complete native notes archive, direct disk Eclipse launch and seed entry, silent audio default, explicitly enabled adaptive music, native offline music / master-volume controls, Slipstream / flare / constellation, accurate atlas and safe replay, matching retry / echo, 320-pixel title and no uncaught errors. This documentation-only update records the completed checks; all game bytes match the tested extracted ZIP. Keyboard fixtures explicitly restore canvas focus after closing help, whose focus correctly returns to the opening button.


## 1.7.0

Release validation recorded on 2026-10-04 22:04:05 CEST (UTC+02:00, Europe/Zagreb).

- **100/100 simulation / recorder / audio / prism tests passed:** retained 83 checks and added seventeen prism tests. Shared finite ray geometry / round caps, arrival safety, aim tracking / locking, charge / shot / rest cycle, harmless inactive corridor, beam damage / dropped cargo / resonance / shield, endpoint and footprint limits, protected dash, flare reach / point / one-time counters, staged introduction / three-prism cap, stationary devices, pause / win cleanup, resize and retry / RNG consumption / arrival-event identity.
- **123/123 Chrome checks passed:** retained prior flows, updated records for the new rules and added eighteen checks. Guaranteed Eclipse tide-two introduction / guidance, help, accurate hazard HUD, native pause / phase / damage / recorded marker, real keyboard dash and ordinary evasion, finite endpoint, native flare points, ending statistics / atlas marker, 320-pixel geometry / real touch escape, measured warning labels on four edges, reduced motion and three-beam rendering with music.
- **800 unchanged-strategy routes:** 794 wins / six defeats / no timeouts. Dawn direct 200/200; Dawn constellation 200/200; Eclipse direct 200/200; Eclipse constellation 194/200. All 400 deliberate constellation routes linked all beacons. 32 prism hits / 120 prisms cleared. 544 of 800 records changed in at least one pre-existing field against v1.6.0.
- **800 beam-aware routes:** 790 wins / ten defeats / no timeouts. The first three groups all won; Eclipse constellation won 190/200. All 400 deliberate constellation routes linked all beacons. Two prism hits / 110 clears. This strategy changes only normal target steering near a locked / active corridor; it uses no state overrides. It reduced beam hits but did not improve total completion in this sample.
- **Recorded normal-input voyage:** Eclipse seed 17, victory at 20.1833 seconds / 3425 points / three hull / three beacons; 203 samples, 24 markers. Its browser review uses this generated record inside a controlled ending fixture. Recorder / atlas / soundtrack source bytes match v1.6.0.
- **Five 120-frame rendering samples:** ordinary mean 16.6658 ms / p95 16.8 ms; heavy mean 16.6658 ms / p95 16.7 ms; echo mean 16.6658 ms / p95 16.8 ms; maximum atlas mean 19.8608 ms / p95 33.4 ms; prism stress mean 16.6658 ms / p95 16.7 ms / maximum 16.8 ms. Headless Chrome on Windows with GPU disabled. Prism stress holds three beams open beyond their natural shot duration, plus ten other enemies, three fixed fronts, a long shield and enabled music. This is a rendering fixture, not a natural flight.
- Reviewed desktop locked / firing / hit scenes, phone warning / edge warning and heavy / reduced-motion scenes. Edge labels remain inside the canvas and leaders identify shifted labels. Front-plus-prism HUD reports both threats. No external game requests or uncaught browser errors occurred.
- Fresh v1.7 Dawn / Eclipse keys start empty in a new profile while prior v1 / v1.1 / v1.2 / v1.3 records remain untouched. Blocked storage still retains session bests. Seeded retries reproduce the new rules; older seeds cannot recreate older release mechanics.

Commands: `node --test afterlight-tests/engine.test.cjs afterlight-tests/voyage.test.cjs afterlight-tests/sound.test.cjs afterlight-tests/prism.test.cjs`, `node afterlight-tests/browser-tests.cjs`, `node afterlight-tests/flight-check.cjs` and `node afterlight-tests/flight-check.cjs --avoid-prisms`. Evidence: `browser-results.json`, `flight-results-v1.7.0.json`, `prism-aware-flights-v1.7.0.json`, `atlas-flight-v1.7.0.json` and screenshots 36–42 in `afterlight-tests/artifacts`.

Scope: Chrome on Windows with touch emulation. Native threat / reward / phase fixtures isolate behavior by controlled state; the 1600 simulation voyages use ordinary inputs without overrides. Bot completion does not establish human difficulty or enjoyment. Physical devices / phone hardware, Safari / Firefox, human learning and musical preference remain unverified. Existing sound sample evidence remains a scripted OfflineAudioContext render rather than a listening test.

- **22/22 extracted-package smoke checks passed:** version 1.7.0, valid actual offset / timezone timestamps and the native archive for all nine preserved releases, direct disk Eclipse launch / seed, opt-in adaptive audio / native mix controls, Slipstream / front opening / constellation, prism introduction / finite firing / hull-cargo damage / native 25-point flare kill, accurate atlas and safe playback, matching retry / echo, phone title and no uncaught errors. The final documentation update records these checks; all game bytes match the tested extracted ZIP. Final-source reruns retained all 1600 route results exactly after verifying the warning event’s original name and its separate enemyType metadata.


## 1.8.0

Release validation recorded on 2026-10-04 22:33:20 CEST (UTC+02:00, Europe/Zagreb).

- **113/113 simulation / recorder / audio / prism / guidance checks passed:** retained 100 checks and added thirteen guide checks. Unlocked target selection / independent data, thirty-unit hysteresis, pickup / lock changes, partial / full holds, numbered beacons / home completion, toggle / reset, seed / resize, paused / ended states, invalid coordinates / intent, frozen inputs and exact same-input Game snapshots through an ending. The fixed-input neutrality fixture loses identically in both copies; it does not assert a winning route.
- **140/140 Chrome checks passed:** retained earlier flows and added seventeen guide checks. Initial target / HUD, real G / R and button controls, repeat / paused-state isolation, ordinary pickup / bank transition, sequential node selection / exhausted choice, cargo gating, help / modal isolation, correct ending status, retry preferences, phone fitting / touch switch, reduced motion and typing isolation.
- **1600 normal-input voyage results:** exactly equal to the two v1.7.0 reports. Legacy steering 794 wins / six defeats; beam-aware steering 790 wins / ten defeats; no timeouts. Both strategies linked all beacons in all 400 deliberate constellation routes. Engine / recorder / atlas / soundtrack source bytes match the preceding ZIP; current v1.7 score keys remain applicable and earlier keys are preserved.
- **Five 120-frame samples:** ordinary / heavy means 16.6667 ms; echo / prism means 16.6658 ms; all four p95 values 16.7 ms and maxima 16.8 ms. Maximum atlas mean 19.9992 ms / p95 33.4 ms / maximum 33.4 ms. Headless Chrome on Windows with GPU disabled. Guidance is enabled in the gameplay samples; existing heavy / echo / prism / atlas fixtures use controlled stress states.
- Reviewed desktop gathering / banking / beacon courses and destination reticles, 320-pixel guide controls / blue course, and reduced-motion static marks. The expanded objective remains above the toast and dock. Guide interactions return keyboard focus to the canvas. No external game requests or uncaught errors occurred.

Commands: `node --test afterlight-tests/engine.test.cjs afterlight-tests/voyage.test.cjs afterlight-tests/sound.test.cjs afterlight-tests/prism.test.cjs afterlight-tests/guidance.test.cjs`; `node afterlight-tests/browser-tests.cjs`; `node afterlight-tests/flight-check.cjs`; `node afterlight-tests/flight-check.cjs --avoid-prisms`. Evidence: `browser-results.json`, `flight-results-v1.8.0.json`, `prism-aware-flights-v1.8.0.json`, `atlas-flight-v1.8.0.json` and screenshots 43–47 in `afterlight-tests/artifacts`.

Scope: Chrome on Windows and touch emulation. Destination guidance does not steer the ship or compute a safe path through threats. Actual navigation benefit, learning, enjoyment, physical phone hardware and Safari / Firefox remain unverified. Visual / reward / cargo fixtures use controlled state; the 1600 route reports use ordinary inputs.

- **26/26 extracted-package smoke checks passed:** current version and actual offset / timezone timestamps; all ten preserved release entries; direct disk seed entry / launch, live ember guide, native bank / beacon switch and guide toggle with unchanged cargo / score, final-beacon home route, opt-in soundtrack / native mix, dash / front / constellation, prism introduction / finite beam / damage / flare points, atlas / seeking / playback, seeded retry / echo, 320-pixel intro and no uncaught errors. The final ZIP adds this validation record; its game files match the tested extracted package byte for byte.


## 1.9.0

Release validation recorded on 2026-10-04 22:52:38 CEST (UTC+02:00, Europe/Zagreb).

- **123/123 pure checks passed:** retained 113 simulation / recorder / audio / prism / guide tests and added ten signal tests. Stable chronological / simultaneous identity, invalid action / position / time rejection, 240-marker / five-minute bounds, filtered selection, navigation boundaries, clipped approach intervals, empty / zero-duration review, frozen input isolation and tenth-second minute rollover.
- **157/157 Chrome checks passed:** retained 140 preceding flows and added seventeen native signal checks. Keyboard type filtering, exact hit selection / action location, disabled navigation boundaries, separate same-time hit / flare selection, explicit approach replay / automatic stopping, keyboard row activation, manual seek clearing, desktop simulation equality, real phone touch, 320-pixel fitting / sticky close, static reduced-motion selection, unchanged ending rewards / time and recording through resize, close / focus restoration, zero-duration approach and empty filters.
- **Mechanical isolation:** engine.js, voyage.js, sound.js and guidance.js match v1.8.0 archive bytes. Existing v1.7 record keys remain in use. The browser test regenerated the normal-input Eclipse seed 17 completed route for its atlas fixture. Prior 1600 route reports remain available; they were not rerun for this review-only change.
- **Five 120-frame samples:** ordinary / heavy / echo / prism means 16.6658 ms; p95 16.7 ms except echo 16.8 ms; maxima 16.8 ms. Maximum atlas with 3001 poses / 240 signals mean 19.5825 ms, p95 / maximum 33.4 ms. Headless Chrome on Windows, GPU disabled, existing controlled stress states.
- Reviewed desktop selected-hit / action halo, phone selected-beacon / native controls, reduced-motion and empty-filter presentation. No external game requests or uncaught errors occurred.

Commands: `node --test afterlight-tests/engine.test.cjs afterlight-tests/voyage.test.cjs afterlight-tests/sound.test.cjs afterlight-tests/prism.test.cjs afterlight-tests/guidance.test.cjs afterlight-tests/signals.test.cjs`; `node afterlight-tests/browser-tests.cjs`. Evidence: `browser-results.json`, `atlas-flight-v1.9.0.json` and screenshots 48–51 in `afterlight-tests/artifacts`.

Scope: Chrome on Windows and touch emulation. Signal behavior is isolated using controlled ending records; the existing normal-input route supplies a separate realistic atlas fixture. Resizing translates simulation coordinates normally; review controls leave time / score / cargo / hull / progress unchanged. Ship poses are ten-Hz samples, and the map contains no reconstructed threats or hit causes. Human learning, faster review, enjoyment, physical phones and Safari / Firefox remain unverified.

- **30/30 extracted-package smoke checks passed:** version 1.9.0, actual offset / timezone timestamps and all eleven preserved release entries; direct disk seed / launch, live guide / route controls, opt-in soundtrack / native mix, dash / front / constellation, prism beam / damage / native flare points, accurate atlas, offline signal indexing / native hit filtering / exact selection, explicit approach replay with unchanged ending score, manual seek clearing, ordinary atlas playback, seeded retry / echo, 320-pixel intro and no uncaught errors. The final ZIP adds this validation record; every other file matches the tested extracted package byte for byte.


## 1.10.0

Release validation recorded on 2026-10-05 07:09:45 CEST (UTC+02:00, Europe/Zagreb).

- **137/137 pure checks passed:** retained 123 simulation / recorder / audio / prism / guide / signal tests and added fourteen distinction checks. Independent conditions, victory-only awards, repaired hull / peak streak facts, invalid progress, known / bounded storage identifiers, mode isolation / reload / score keys, idempotence, malformed data, blocked / quota-failing storage / recovery, saved milestone merging and frozen flight isolation.
- **175/175 Chrome checks passed:** retained 157 flows and added eighteen distinction / layout checks. Help / pause progress, all-medal victory / unchanged score, sealed atlas outcome, retry reset, current-versus-collected wording, reload / mode separation / existing bests, defeat rejection, repaired-hull eligibility, 320-pixel defeat / victory bounds, title / seals / Retry visible without scrolling, native touch / keyboard detail disclosure and blocked-storage session retry.
- **Mechanical isolation:** engine.js, voyage.js, sound.js, guidance.js, atlas.js and signals.js match v1.9.0 archive bytes. Current v1.7 score keys remain in use. The browser suite regenerated its normal-input Eclipse seed 17 atlas fixture. Prior 1600 route reports were not rerun for this optional award change.
- **Five 120-frame samples:** ordinary / heavy / echo / prism mean 16.6658 ms; p95 16.7 ms for ordinary and 16.8 ms for the others; maximum 16.8 ms. Maximum atlas mean 20.9708 ms, p95 / maximum 33.4 ms. Headless Chrome on Windows, GPU disabled, controlled stress states.
- Reviewed screenshots 52–55: desktop paused progress / victory seals, phone defeat / compact victory with the full victory sentence, distinction labels and reachable actions. No external game requests or uncaught errors occurred.

Commands: `node --test afterlight-tests/engine.test.cjs afterlight-tests/voyage.test.cjs afterlight-tests/sound.test.cjs afterlight-tests/prism.test.cjs afterlight-tests/guidance.test.cjs afterlight-tests/signals.test.cjs afterlight-tests/distinctions.test.cjs`; `node afterlight-tests/browser-tests.cjs`. Evidence: `browser-results.json`, `atlas-flight-v1.10.0.json` and screenshots 52–55 in `afterlight-tests/artifacts`.

Scope: Chrome on Windows and touch emulation. Controlled state fixtures isolate award conditions and storage; they are not natural-input winning voyages. The existing normal-input atlas record supplies separate realistic route evidence. Collections stay on this browser and use the page session if storage fails. Human motivation, learning, enjoyment, physical phones and Safari / Firefox remain unverified.

- **34/34 extracted-package smoke checks passed:** version 1.10.0, actual timezone / offset timestamps and all twelve preserved releases; direct-disk launch / seed, initially unearned distinctions / pause progress, live guide, opt-in soundtrack / mix, dash / front / constellation / prism / damage / flare points, eligible Starweaver-only victory at the unchanged 2375 points, local distinction persistence / current-attempt reset on retry, atlas / native signals / approach replay / manual seek, echo, 320-pixel intro and no uncaught errors. The final ZIP adds this validation record; all other files match the tested extracted package byte for byte.


## 1.10.1

See the collection TESTING.md for package, browser interaction and isolated analytics checks. All preceding gameplay evidence is preserved.
