import { expect, test } from '../helpers/serve-dist'; test('keeps the decorative world separate from the semantic reading path', async ({ page, distUrl }) => { await page.goto(distUrl, { waitUntil: 'domcontentloaded' }); await expect(page.locator('#journey-scene-description')).toContainText('night'); await expect(page.locator('.journey-world')).toHaveAttribute('aria-hidden', 'true'); await expect(page.locator('.journey-poster')).toHaveAttribute('alt', ''); await expect(page.locator('.journey-poster')).toHaveAttribute('width', '1600'); await expect(page.locator('main#portfolio-content')).toBeVisible(); }); test('provides native motion and quality controls with visible state', async ({ page, distUrl }) => { await page.goto(distUrl, { waitUntil: 'domcontentloaded' }); const quality = page.getByLabel('Quality control'); await expect(quality).toBeVisible(); await expect(page.getByRole('button', { name: 'Pause motion' })).toBeVisible(); await expect(page.getByRole('status')).toContainText('Motion:'); await page.getByRole('button', { name: 'Pause motion' }).click(); await expect(page.getByRole('button', { name: 'Resume motion' })).toBeVisible(); await expect(page.locator('.journey-canvas')).toHaveCount(0); await page.getByRole('button', { name: 'Resume motion' }).click(); await expect(page.getByRole('button', { name: 'Pause motion' })).toBeVisible(); await quality.selectOption('static'); await expect(page.getByRole('button', { name: 'Enable motion' })).toBeVisible(); await expect(page.locator('.journey-canvas')).toHaveCount(0); await expect(page.getByRole('status')).toContainText('Motion: static'); }); test('never creates a canvas when the system requests reduced motion', async ({ page, distUrl }) => { await page.emulateMedia({ reducedMotion: 'reduce' }); await page.goto(distUrl, { waitUntil: 'domcontentloaded' }); await expect(page.locator('.journey-canvas')).toHaveCount(0); await expect(page.getByRole('status')).toContainText('reduced motion requested'); await expect(page.getByLabel('Quality control')).toBeVisible(); }); test('shows ARRIVED from the authoritative section snapshot at Contact', async ({ page, distUrl }) => { await page.goto(distUrl, { waitUntil: 'domcontentloaded' }); await page.locator('nav a[href="#contact"]').click(); await expect(page.locator('.journey-hud')).toContainText('Contact'); await expect(page.locator('.journey-hud')).toContainText('ARRIVED'); await expect(page.locator('.journey-hud')).toContainText('100%'); });