Lilith Metaverse · Reference & analysis

V3 Tier-2 Fallback Steady FPS Validation

A reference & analysis document in the Lilith Metaverse library.

0sections2 minread1table

On this page

Canonical source: libs/oshun/analytics/src/v3-tier2-fallback-steady-fps-budget.ts

Engine contract: libs/v3/lilith-engine-web-fallback/src/steadyFps.ts

Evidence artifact: V3/validation/tier2-fallback-steady-fps-validation.json

Manifest version: v3-tier2-fallback-steady-fps-budget.v1

The Tier-2 fallback FPS gate validates the three.js launch Commons scene at WebGPU high 60 fps and WebGL2 low 30 fps. Every profile must sustain its target for 60 minutes with p99 frame time at or below the renderer frame budget, no thermal throttling, and dropped frames at or below 0.5%.

Canonical engine profile IDs are tier2-webgpu-high for WebGPU high and tier2-webgl2-low for WebGL2 low.

Profile Mode Preset Device / browser 60-min floor Avg FPS p99 frame
M1 Mac Chrome WebGPU high M1 MacBook Air / Chrome 124 61.2 fps 63.8 15.9 ms
Ryzen 5600 Edge WebGPU high Ryzen 5 5600 + RTX 3060 / Edge 62.1 fps 65.4 15.4 ms
iPhone 15 Pro Safari WebGPU high iPhone 15 Pro / Safari TP 60.4 fps 61.8 16.4 ms
Intel UHD Chrome WebGL2 low Intel UHD 620 laptop / Chrome 124 31.8 fps 32.9 31.2 ms
Pixel 6 Chrome WebGL2 low Pixel 6 cellular / Chrome 124 30.7 fps 31.4 32.5 ms
M1 Mac Safari WebGL2 low M1 MacBook Air / Safari 17 33.2 fps 33.9 30.7 ms

The browser-facing evidence is wired through apps/v3/lilith-web-fallback/src/app/FallbackThreeCanvas.tsx, which publishes the renderer mode, steady-FPS profile, quality preset, sustained-minute budget, target FPS, and frame-time budget as canvas data attributes. The Playwright suite at apps/v3/lilith-web-fallback/e2e/lilith-web-fallback.spec.ts exercises WebGPU high and the WebGL2 low fallback path and asserts those runtime attributes while collecting canvas pixel evidence.

The verifier fails closed when a required device profile is missing, WebGPU high does not target 60 fps, WebGL2 low does not target 30 fps, sustained duration is under 60 minutes, one-minute observations are incomplete, min or average FPS drops below target, p95/p99 frame time exceeds the renderer budget, dropped frames exceed 0.5%, thermal throttling occurs, or the engine, app, and Playwright evidence paths are not wired.