test: align scene regressions with the current portfolio

Exercise sign state updates and composition together, covering responsive placement, grounding, label reuse, resource ownership, and departure motion. Update poster and visual-model expectations while retaining behavioral checks.

Validation: 46 focused tests passed before commit. The preceding full build:preview run passed all 673 tests plus typecheck, builds, prerender, artifact verification, and transfer budgets.
This commit is contained in:
2026-09-05 22:33:35 +03:00
parent f46131723b
commit 08f3ac18c2
3 changed files with 263 additions and 499 deletions

View File

@@ -4,6 +4,8 @@ import { nextTick } from "vue";
import SceneCanvas from "@/components/SceneCanvas.vue";
import DriveControls from "@/components/DriveControls.vue";
import JourneyHud from "@/components/JourneyHud.vue";
import posterUrl from "@/assets/hero-chromatic.jpg";
import mobilePosterUrl from "@/assets/hero-chromatic-mobile.jpg";
import type { AudioUiState } from "@/audio/types";
import type { MotionPolicy, QualityTier } from "@/journey/motion-policy";
import type { JourneySnapshot } from "@/journey/types";
@@ -87,15 +89,15 @@ describe("SceneCanvas", () => {
expect(wrapper.findAll("canvas")).toHaveLength(0);
expect(wrapper.get("img").attributes()).toMatchObject({
alt: "",
width: "1600",
src: posterUrl,
width: "1440",
height: "900",
});
expect(
wrapper.findAll(".journey-poster-composition > span"),
).toHaveLength(7);
expect(wrapper.find(".journey-poster__sun").exists()).toBe(true);
expect(wrapper.find(".journey-poster__road").exists()).toBe(true);
expect(wrapper.find(".journey-poster__car").exists()).toBe(true);
expect(wrapper.get('picture source').attributes()).toMatchObject({
media: '(max-width: 767px)',
srcset: mobilePosterUrl,
});
expect(wrapper.get('.journey-world').attributes('data-static-fallback')).toBe('true');
expect(wrapper.text()).toContain(
"A decorative night road behind the portfolio content.",
);