$ cd apps/site && ZOEN_DEV_PAGES=1 pnpm exec next build && ZOEN_DEV_PAGES=1 pnpm exec playwright test tests/e2e/home.spec.ts tests/e2e/chronicle.spec.ts tests/e2e/shell.spec.ts --grep-invert "@signup|@clip|@revalidate" # cwd /Users/king/Desktop/Workspace/SRO/zoen # exit 0 ▲ Next.js 16.3.8 (Turbopack) - Environments: .env.local ✓ Running next.config.ts took 218ms - Cache Components enabled - Experiments (use with caution): · serverActions Creating an optimized production build ... ✓ Compiled successfully in 9.7s Running TypeScript ... Finished TypeScript in 34.5s ... Collecting page data using 7 workers ... Generating static pages using 7 workers (0/76) ... Generating static pages using 7 workers (19/76) Generating static pages using 7 workers (38/76) Generating static pages using 7 workers (57/76) ✓ Generating static pages using 7 workers (76/76) in 7.5s Finalizing page optimization ... Route (app) Revalidate Expire ┌ ○ / 2m 15m ├ ○ /_not-found 2m 15m ├ ○ /alpha 2m 15m ├ ƒ /api/e ├ ƒ /api/revalidate ├ ○ /apple-icon.png ├ ○ /community 2m 15m ├ ○ /cookies 2m 15m ├ ○ /dev/directions 2m 15m ├ ○ /dev/directions/a 2m 15m ├ ○ /dev/directions/b 2m 15m ├ ○ /dev/directions/c 2m 15m ├ ○ /dev/kit 2m 15m ├ ○ /download 2m 15m ├ ○ /faq 2m 15m ├ ○ /game 2m 15m ├ ○ /game/builds 2m 15m ├ /game/builds/[slug] 2m 15m │ ├ ◐ /game/builds/[slug] 2m 15m │ ├ ○ /game/builds/ravager 2m 15m │ ├ ○ /game/builds/warblade 2m 15m │ └ ◐ [+16 more paths] ├ ƒ /game/builds/[slug]/opengraph-image ├ ○ /game/world 2m 15m ├ ○ /how-to-play 2m 15m ├ ○ /icon.png ├ ○ /maintenance 2m 15m ├ ○ /manifest.webmanifest ├ ○ /media 2m 15m ├ ○ /news 2m 15m ├ /news/[slug] 2m 15m │ └ ◐ /news/[slug] 2m 15m ├ ƒ /opengraph-image ├ ○ /patch-notes 2m 15m ├ ○ /play 2m 15m ├ ◐ /preregister/confirm 2m 15m ├ ○ /privacy 2m 15m ├ ○ /roadmap 2m 15m ├ ○ /robots.txt ├ ○ /sitemap.xml 2m 15m ├ ◐ /status 2m 15m ├ ○ /support 2m 15m ├ ○ /terms 2m 15m └ ◐ /unsubscribe 2m 15m ƒ Proxy (Middleware) ○ (Static) prerendered as static content ◐ (Partial Prerender) prerendered as static HTML with dynamic server-streamed content ƒ (Dynamic) server-rendered on demand Running 39 tests using 2 workers ✓ 2 [desktop] › tests/e2e/chronicle.spec.ts:9:3 › chronicle › @fx the hero art is a real image; the WebGL layer joins it only on wide screens with WebGL 2 (1.0m) ✓ 3 [desktop] › tests/e2e/chronicle.spec.ts:23:3 › chronicle › @fx reduced motion gets the static site: no WebGL layers start (19.0s) ✓ 4 [desktop] › tests/e2e/chronicle.spec.ts:36:3 › chronicle › @stage choosing a path and a build changes the stage; the build link follows (5.9s) ✓ 1 [desktop] › tests/e2e/home.spec.ts:11:3 › home › @home every section renders; the chain fires; paths switch; clips load on click (1.5m) ✓ 6 [desktop] › tests/e2e/shell.spec.ts:9:1 › @shell header, footer and security headers; the site sets no cookies (5.2s) ✓ 5 [desktop] › tests/e2e/chronicle.spec.ts:49:3 › chronicle › @world the basin card follows the chosen area; wide screens with WebGL 2 get the 3D diorama (9.3s) ✓ 7 [desktop] › tests/e2e/shell.spec.ts:32:1 › @shell 404 page is themed and has a way home (7.8s) ✓ 8 [desktop] › tests/e2e/chronicle.spec.ts:66:3 › chronicle › @loot rolling a drop changes the item or its rarity; the popup names both (6.8s) ✓ 9 [desktop] › tests/e2e/chronicle.spec.ts:75:3 › chronicle › @shelf the field guide pages with its buttons, which disable at the ends (2.9s) ✓ 10 [desktop] › tests/e2e/chronicle.spec.ts:85:3 › chronicle › @media the gallery opens a viewer that steps with the arrow keys and closes with Escape (2.7s) ✓ 11 [desktop] › tests/e2e/chronicle.spec.ts:100:3 › chronicle › @rail the scroll rail replaces the native bar on every screen and marks the chapter on screen (3.3s) ✓ 12 [tablet] › tests/e2e/chronicle.spec.ts:9:3 › chronicle › @fx the hero art is a real image; the WebGL layer joins it only on wide screens with WebGL 2 (3.6s) - 14 [tablet] › tests/e2e/chronicle.spec.ts:23:3 › chronicle › @fx reduced motion gets the static site: no WebGL layers start ✓ 13 [desktop] › tests/e2e/chronicle.spec.ts:114:3 › chronicle › @seo the home page has its own share card (4.4s) ✓ 15 [tablet] › tests/e2e/chronicle.spec.ts:36:3 › chronicle › @stage choosing a path and a build changes the stage; the build link follows (3.7s) ✓ 17 [tablet] › tests/e2e/chronicle.spec.ts:49:3 › chronicle › @world the basin card follows the chosen area; wide screens with WebGL 2 get the 3D diorama (2.5s) ✓ 18 [tablet] › tests/e2e/chronicle.spec.ts:66:3 › chronicle › @loot rolling a drop changes the item or its rarity; the popup names both (1.9s) ✓ 19 [tablet] › tests/e2e/chronicle.spec.ts:75:3 › chronicle › @shelf the field guide pages with its buttons, which disable at the ends (2.1s) ✓ 20 [tablet] › tests/e2e/chronicle.spec.ts:85:3 › chronicle › @media the gallery opens a viewer that steps with the arrow keys and closes with Escape (5.2s) ✓ 21 [tablet] › tests/e2e/chronicle.spec.ts:100:3 › chronicle › @rail the scroll rail replaces the native bar on every screen and marks the chapter on screen (4.6s) - 22 [tablet] › tests/e2e/chronicle.spec.ts:114:3 › chronicle › @seo the home page has its own share card ✓ 16 [desktop] › tests/e2e/chronicle.spec.ts:123:3 › chronicle › @pages the new chronicle pages are clean on every screen size (19.4s) ✓ 23 [tablet] › tests/e2e/chronicle.spec.ts:123:3 › chronicle › @pages the new chronicle pages are clean on every screen size (17.8s) ✓ 25 [tablet] › tests/e2e/shell.spec.ts:9:1 › @shell header, footer and security headers; the site sets no cookies (1.1s) ✓ 24 [tablet] › tests/e2e/home.spec.ts:11:3 › home › @home every section renders; the chain fires; paths switch; clips load on click (12.9s) ✓ 26 [tablet] › tests/e2e/shell.spec.ts:32:1 › @shell 404 page is themed and has a way home (1.9s) ✓ 27 [mobile] › tests/e2e/chronicle.spec.ts:9:3 › chronicle › @fx the hero art is a real image; the WebGL layer joins it only on wide screens with WebGL 2 (1.6s) - 29 [mobile] › tests/e2e/chronicle.spec.ts:23:3 › chronicle › @fx reduced motion gets the static site: no WebGL layers start ✓ 30 [mobile] › tests/e2e/chronicle.spec.ts:36:3 › chronicle › @stage choosing a path and a build changes the stage; the build link follows (2.9s) ✓ 31 [mobile] › tests/e2e/chronicle.spec.ts:49:3 › chronicle › @world the basin card follows the chosen area; wide screens with WebGL 2 get the 3D diorama (4.0s) ✓ 32 [mobile] › tests/e2e/chronicle.spec.ts:66:3 › chronicle › @loot rolling a drop changes the item or its rarity; the popup names both (2.5s) ✓ 33 [mobile] › tests/e2e/chronicle.spec.ts:75:3 › chronicle › @shelf the field guide pages with its buttons, which disable at the ends (1.7s) ✓ 28 [mobile] › tests/e2e/home.spec.ts:11:3 › home › @home every section renders; the chain fires; paths switch; clips load on click (11.3s) ✓ 34 [mobile] › tests/e2e/chronicle.spec.ts:85:3 › chronicle › @media the gallery opens a viewer that steps with the arrow keys and closes with Escape (2.1s) ✓ 35 [mobile] › tests/e2e/shell.spec.ts:9:1 › @shell header, footer and security headers; the site sets no cookies (3.1s) ✓ 36 [mobile] › tests/e2e/chronicle.spec.ts:100:3 › chronicle › @rail the scroll rail replaces the native bar on every screen and marks the chapter on screen (4.1s) - 38 [mobile] › tests/e2e/chronicle.spec.ts:114:3 › chronicle › @seo the home page has its own share card ✓ 37 [mobile] › tests/e2e/shell.spec.ts:32:1 › @shell 404 page is themed and has a way home (4.4s) ✓ 39 [mobile] › tests/e2e/chronicle.spec.ts:123:3 › chronicle › @pages the new chronicle pages are clean on every screen size (8.5s) 4 skipped 35 passed (3.2m)