fix(sky): restore the Milky Way on teardown, tidy the anime QA script

- VisualEffects.destroy() puts skyBox.milkyWayVisibility back to 1, as it
  already restores the borrowed bloom stage, so a surviving viewer does not
  keep a faded sky.
- Rename scripts/qa-anime-space-mask.mjs to qa-anime-sky.mjs: rewrite the
  header for the current approach, drop --space-expr and --repo, import
  puppeteer as a package, reject unknown cases and count the milkyway case
  as reached only while the anime stage is on.
- Put both sky QA scripts under format:check.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
German KhokhlovandClaude Opus 5.5 committed 2026-10-20 00:42:22 +04:00
1 parent 65b98b4971
commit 8deb47560e
4 files changed
+78 -42

No files matched your search

+18
View File
@@ -179,6 +179,24 @@ test('the anime stage fades the Milky Way out with its own intensity', () => {
f.effects.destroy();
});
test('destroying the effects gives a surviving viewer its Milky Way back', () => {
const f = fixture();
const sky = { milkyWayVisibility: 1 };
f.effects.viewer.scene.skyBox = sky;
f.effects.initStyles();
f.effects.startTransition('anime', 0, 1);
f.tick(250);
f.effects.stop();
const frozen = sky.milkyWayVisibility;
assert.ok(
frozen > 0 && frozen < 1,
'stop keeps the stages, and the fade, as they are',
);
f.effects.destroy();
assert.equal(sky.milkyWayVisibility, 1);
assert.equal(f.requests.at(-1), 'style-stage');
});
test('bloom retains its dead zone, normalized intensity and independent toggle', () => {
const f = fixture();
f.effects.initPostProcess();