TEMPESTBYCall Me Sensei
Development · visual refinement · measured performance

An ocean,
contained.

A procedural Three.js ship-in-a-bottle study, developed live with screenshot checkpoints and a guided, labeled camera tour.

Quality-accepted Cinematic ship in a bottle
11:34:41DEVELOPMENT WALL TIME
110.98MCUMULATIVE TOKENS, CACHED INPUT INCLUDED
$28.88HYPOTHETICAL STANDARD API MODEL COST
19.4 FPSFASTEST QUALITY-ACCEPTED CINEMATIC RUN

The performance verdict.

The selected measured configuration is gpu-opt-05 / optimization level 14. Mean frame time changed from 85.63 ms to 51.55 ms (39.8% reduction). CPU submission: 16.22 → 8.45 ms. GPU elapsed: 75.84 → 45.81 ms. Draw calls: 488 → 489.

60 FPS is not a locked result. The fastest formal-series run averages 19.4 FPS, with a p95 frame time of 84.60 ms. Repeat verification values appear below; they can differ with host load. A sustained 60 FPS guarantee across cameras, devices and this host's changing load has not been established. No FPS counter was hardcoded to hide this. A later repeat at identical settings and draw/triangle counts reached about 42 FPS with all nine repeat-image comparisons passing. That large shift is not an additional code optimization; it demonstrates host/queue variability and is reported separately.

The measured optimization series uses actual WebGPU on an Apple M4 Pro with a 20-core GPU. All authored shader effects are Three.js Shading Language (TSL) graphs and NodeMaterials. The same scene also runs on the WebGL2 backend of WebGPURenderer. Two accessible tabs switch backends with settings preserved; unavailable WebGPU is disabled and fallback is explicitly labeled. Three.js is pinned to 0.186.1 / r186, the latest npm release rechecked on 1 October 2026 JST.

60 FPS / 16.67 ms85.630062.590156.410255.510351.790451.550552.000658.550755.740857.440955.3110
RunChangeMean msFPSp95 msCPU msGPU msGain vs bestPlateau streak9-view fidelity
gpu-opt-00Cinematic TSL baseline85.6311.7120.9016.2275.84+0.00%0PASS
gpu-opt-01Skip zero-contribution dielectric SSR rays; allocation-free normals62.5916.096.1016.1953.70+26.91%0PASS
gpu-opt-02Shared GPU cloud optical-depth light cache56.4117.789.5017.6347.22+9.87%0PASS
gpu-opt-0316-bit wave display; 32-bit FFT retained55.5118.193.408.6648.58+1.60%1PASS
gpu-opt-04Low-resolution 2×2 cloud-light cache — rejected by RMS audit51.7919.487.308.9045.72+6.70%0REJECT / incomplete
gpu-opt-05Refined optical-depth cache: 256×64×128, 2×2 amortization51.5519.484.608.4545.81+7.13%0PASS
gpu-opt-06Typed, phase-cached spectral buoyancy52.0019.287.408.6245.94-0.87%1PASS
gpu-opt-07Freeze nonmoving world transforms58.5517.192.008.5151.16-13.57%2PASS
gpu-opt-08Reuse FFT quad and camera across butterfly stages55.7418.091.808.6148.25-8.12%3PASS
gpu-opt-09Cache shadow-light traversal57.4417.487.808.4849.64-11.42%4PASS
gpu-opt-10Pre-bit-reverse spectrum and conjugate inputs55.3118.187.909.5147.82-7.30%5PASS

Stopping rule: MET

5 consecutive distinct optimization candidates produced less than 5% improvement versus the fastest prior quality-accepted incumbent. The last five observations: gpu-opt-06: -0.87%, gpu-opt-07: -13.57%, gpu-opt-08: -8.12%, gpu-opt-09: -11.42%, gpu-opt-10: -7.30%.

Fixed 1280×720 viewport, DPR 1, Cinematic quality, 100% tempest, 150 warmup and 360 sampled frames. Simulation advances at a fixed 1/60 second for reproducibility; this is a scene benchmark, not a claim about every interactive camera. The queue is capped at two frames and FPS is derived from actual GPU-completion fences, not JavaScript submission speed. Whole-frame timestamp markers span all captures and post-processing, rather than adding overlapping pass timers. GPU elapsed can include contention and submission gaps; CPU and GPU durations overlap and must not be added. Timing differences are observational, not statistically isolated causal estimates. Earlier WebGL experiments, invalid summed GPU timers and submission-only FPS readings are excluded from the formal acceptance series. Measurements are immutable locked snapshots; later hot reloads cannot replace them.

Detail preserved, measured.

Nine deterministic views compare the selected candidate with the corrected baseline at the same simulation time. Both the whole scene and detail-region tests must stay below 1% local-luminance SSIM loss and 1% mean absolute RGB error. The worst accepted SSIM loss is 0.2736%. Only the benchmark panel is masked.

No reduction of viewport, pixel ratio, wave-field size, cloud ray steps, cloth lattice, texture-map detail or geometry is used to pass these tests. Cinematic retains 80 primary cloud steps, eight self-shadow samples, 4096² shadows, full-resolution SSR/GTAO, four-sample MSAA and the authored geometry. World-space light caching retains primary density and silhouette sampling. The low-resolution temporal cache is rejected after its lighting RMS error exceeded 1%; the refined cache must pass this extra gate. It is not screen-space temporal reprojection. Screenshot agreement is not proof of photographic realism or a universal perceptual guarantee.

What was built.

Sea, sky and optics

  • 128×128 directional wind-wave spectrum and GPU inverse FFT; finite-depth gravity dispersion, horizontal choppiness, wave normals and persistent breaking foam. FFT accumulation remains 32-bit; a separately audited 16-bit display texture reduces repeated sampling bandwidth without reducing wave modes.
  • Planar reflections, refraction/depth capture, Fresnel response, absorption and underwater fog, with full-resolution SSR, GTAO and depth-aware denoising in Cinematic. These supplement environment reflections; they are not hardware ray tracing or full path tracing.
  • Bounded 3D storm clouds, self-shadowing, rain, lightning and room-derived bottle reflections. The WebGPU acceleration caches light in a world-space field, updating a 2×2 phase per frame and refreshing completely on pause/quality/weather transitions. Camera motion does not reproject screen history; this avoids screen-space trail accumulation.
  • Hull-scale buoyancy probes retain over 97% of spectral energy; their smoothing is a real-time approximation, not a full pressure-integrated fluid solution.

Collision and clearance

  • Aft shrouds and outboard backstays clear the helm; the test suite checks every standing-rigging segment against its clearance volume.
  • Cloth responds to capsule contacts and complete segment/triangle intersections, including thin rigging, mast fittings and yards. Conservative broadphase rejection avoids only impossible contacts.
  • Walking checks solid ship geometry; rain is masked out of dry compartments. The water surface excludes the moving hull footprint.

Ship, whale and historical detail

  • Three masts, nine constrained cloth sails, stays/ratlines, cannon battery, deck fittings, a working wheel and companion hatch.
  • Captain's cabin, gun deck and cargo hold: beams, furniture, chart desk, cot, hammocks, cannon carriages, provisions and worn surfaces.
  • Metal-nib dip pen and gimballed 1847-style marine chronometer, with wear, fine geometry and moving hands.
  • Circling blue whale: mottled skin, integrated throat-fold relief, small recessed eyes and orbital folds, tapered hydrofoil flukes with span-wise flex, surfacing and moist exhalation.
  • 23 labeled cinematic stops, including a tracking shot alongside the whale and close-ups of its tail, eye, the pen, clock and rigging.
  • Original Call Me Sensei SVG lockup, following Toonlab's byline treatment while retaining Tempest's mark.
Scope limits: this is a hand-authored, physically motivated real-time interpretation—not a photographic scan, full Navier–Stokes simulation, path-traced image, exact historic vessel, or universal rigid-body collision world. Joined rigid props remain fixed. The bottle boundary clips the ocean visually rather than solving sealed-vessel sloshing. No claim of zero clipping in every possible state is made from a finite set of checks. The object reconstruction skill’s full formal admission/sculpt pipeline was not completed; this report’s scene-specific evidence must not be mistaken for those certification gates.

Where the time goes.

Feature ablations — diagnostic only

RunFrame msCompleted FPSCPU msGPU elapsed msGraphics valid
diag-full87.8211.48.7176.22True
diag-no-water52.6819.06.8645.00True
diag-no-shadows77.9212.714.4670.18True
diag-no-lighting63.2415.810.6855.49True
diag-no-clouds73.0513.711.4564.49True
diag-no-ssr52.8319.18.7146.95True
diag-no-ao92.0110.910.5681.13True

Backend and quality measurements

RunFrame msCompleted FPSCPU msGPU elapsed msGraphics valid
verify-gpu-cine24.0141.711.6520.46True
verify-gpu-high18.3754.59.7615.43True
verify-gl-cine30.7432.616.0954.63True
verify-gl-high21.8945.714.1338.34True
verify-final24.8440.212.8121.33True
verify-lifecycle23.8042.011.7620.69True

Ablations used 60 warmup / 120 samples at the same initial configuration. They remove whole features to identify costs, not to pass the quality-preserving optimization gate. Water removal includes FFT, foam and optical captures; CPU buoyancy remains. Lighting removal concerns scene lights/shadows and environment, not every manually shaded water/cloud term. Differences overlap and are not additive; host variation obscures the AO result.

Final live cloud-bearing probe audit: 0.653% RMS, 0.236% mean absolute error, 1627 active probes from 4096 scattered positions. Maximum local probe error is 12.571%; the sub-1% image/RMS tests are aggregate instruments, not a guarantee for every pixel.

The labeled camera study.

Representative settled shots and an exhalation-peak capture. The original failed framing shots are retained in the evidence bundle; these corrected views are not a guarantee against every possible transient occlusion.

Verification.

Automated numerical and rigging tests, TypeScript checking and production build diagnostics are retained with the project. The GPU FFT spot audit is recorded inside each benchmark JSON and is compared with independent CPU Fourier evaluation.

The development timelapse.

Original progress screenshots are preserved. The video overlays elapsed time and the latest logged cumulative token counts for each saved screenshot. A checkpoint with no saved image is omitted rather than fabricated.

Checkpoint accounting uses the screenshot file's save timestamp and the last usage event at or before it. Earlier on-page timer bugs do not override this timeline. Counter snapshots can lag the capture; the exact usage-as-of timestamp is retained.

00:24:03 001-bottle-and-ship-blockout.jpgDevelopment checkpoint 001-bottle-and-ship-blockout.jpg

Saved 2026-09-30T05:59:01.434108+00:00. Usage as of 2026-09-30T05:58:33.676Z.
Input 2,029,489 · cached 1,888,384 · output 24,036 · total 2,053,525.

00:27:56 Wave field, volumetric clouds and reflective glassDevelopment checkpoint 002-water-clouds-reflections.jpg

Saved 2026-09-30T06:02:54.790772+00:00. Usage as of 2026-09-30T06:02:43.561Z.
Input 3,228,937 · cached 3,065,472 · output 28,315 · total 3,257,252.

00:33:41 Detailed three-masted frigate, rigging and Verlet cloth sailsDevelopment checkpoint 003-frigate-and-sail-physics.jpg

Saved 2026-09-30T06:08:39.725162+00:00. Usage as of 2026-09-30T06:08:22.377Z.
Input 3,548,768 · cached 3,383,040 · output 35,127 · total 3,583,895.

00:41:23 Cartographer’s study, carved walnut stand, cork, hanging compass and lanternsDevelopment checkpoint 004-room-and-nautical-instruments.jpg

Saved 2026-09-30T06:16:21.188695+00:00. Usage as of 2026-09-30T06:16:04.927Z.
Input 4,061,237 · cached 3,879,296 · output 44,312 · total 4,105,549.

00:44:29 Corrected transparent depth layering for visible contained clouds and reduced glass glareDevelopment checkpoint 005-optical-layering-and-clouds.jpg

Saved 2026-09-30T06:19:27.607265+00:00. Usage as of 2026-09-30T06:17:16.522Z.
Input 4,419,078 · cached 4,057,472 · output 45,347 · total 4,464,425.

00:52:23 Finite-depth directional spectrum, Gerstner choppiness, planar reflections and coherent self-shadowed cloudsDevelopment checkpoint 006-ocean-and-atmospheric-physics.jpg

Saved 2026-09-30T06:27:21.124242+00:00. Usage as of 2026-09-30T06:27:09.470Z.
Input 5,171,311 · cached 4,791,040 · output 56,895 · total 5,228,206.

01:15:30 First-person steering and three genuine interior compartments with furnishingsDevelopment checkpoint 007-interiors-and-helm.jpg

Saved 2026-09-30T06:50:27.937188+00:00. Usage as of 2026-09-30T06:50:09.657Z.
Input 6,208,048 · cached 5,804,544 · output 85,000 · total 6,293,048.

01:31:04 Breathing blue whale, depth-based water refraction, aged dip pen, ticking chronometer and cabin wearDevelopment checkpoint 008-whale-and-period-desk.jpg

Saved 2026-09-30T07:06:02.683584+00:00. Usage as of 2026-09-30T07:05:31.114Z.
Input 7,894,541 · cached 7,455,232 · output 102,658 · total 7,997,199.

01:56:29 Twenty-one-stop cinematic guided tour with explanatory captions and world-space detail pointersDevelopment checkpoint 009-guided-inspection-tour.jpg

Saved 2026-09-30T07:31:26.938221+00:00. Usage as of 2026-09-30T07:27:48.283Z.
Input 10,322,974 · cached 9,749,248 · output 113,754 · total 10,436,728.

02:14:30 Laid three-strand hemp with fiber relief, whale tracking shots, and performance baseline preparationDevelopment checkpoint 010-fiber-rope-and-whale-tracking.jpg

Saved 2026-09-30T07:49:28.044088+00:00. Usage as of 2026-09-30T07:48:52.661Z.
Input 12,416,773 · cached 11,807,360 · output 130,338 · total 12,547,111.

03:04:34 Controlled high-detail benchmark with 360 measured frames, CPU submission timing and GPU timer queriesDevelopment checkpoint 012-performance-baseline.jpg

Saved 2026-09-30T08:39:32.012009+00:00. Usage as of 2026-09-30T08:35:47.966Z.
Input 19,260,261 · cached 18,564,096 · output 169,128 · total 19,429,389.

03:09:15 Storm foam now forms only at breaking compression and persists as sparse advected streaks; benchmark camera isolation fixedDevelopment checkpoint 013-breaking-foam-and-underwater-inspection.jpg

Saved 2026-09-30T08:44:13.316739+00:00. Usage as of 2026-09-30T08:43:28.536Z.
Input 20,383,972 · cached 19,674,496 · output 177,625 · total 20,561,597.

03:54:34 Profiling pass reuse · preserved high-detail geometry and opticsDevelopment checkpoint 014-pass-reuse-and-detail-batching.jpg

Saved 2026-09-30T09:29:32.060465+00:00. Usage as of 2026-09-30T09:28:45.210Z.
Input 26,398,041 · cached 25,535,616 · output 214,802 · total 26,612,843.

03:59:00 Storm reference correction · 55 m swell, wind ripples, darker water and filament foamDevelopment checkpoint 015-reference-informed-storm-water.jpg

Saved 2026-09-30T09:33:58.443066+00:00. Usage as of 2026-09-30T09:33:35.378Z.
Input 26,779,017 · cached 25,905,408 · output 220,362 · total 26,999,379.

04:12:17 Replacing rounded wave geometry · full 128² GPU wind spectrum and inverse FFTDevelopment checkpoint 016-gpu-spectral-wave-geometry.jpg

Saved 2026-09-30T09:47:15.741739+00:00. Usage as of 2026-09-30T09:46:52.166Z.
Input 28,412,070 · cached 27,508,352 · output 235,223 · total 28,647,293.

04:17:08 Inspecting spectral crests · correcting excessive foam coverageDevelopment checkpoint 017-storm-crest-and-foam-inspection.jpg

Saved 2026-09-30T09:52:06.759406+00:00. Usage as of 2026-09-30T09:51:04.013Z.
Input 29,278,487 · cached 28,358,400 · output 239,636 · total 29,518,123.

05:10:42 Branding installed · inspecting helm clearances and the refined whale at high detailDevelopment checkpoint 020-call-me-sensei-branding.jpg

Saved 2026-09-30T10:45:40.124337+00:00. Usage as of 2026-09-30T10:45:00.791Z.
Input 36,817,619 · cached 35,809,920 · output 297,285 · total 37,114,904.

05:10:43 Collision-aware ship · capsule-constrained cloth, dry-cabin rain mask and solid-geometry walkingDevelopment checkpoint 018-rigging-clearance-and-collisions.jpg

Saved 2026-09-30T10:45:41.288577+00:00. Usage as of 2026-09-30T10:45:00.791Z.
Input 36,817,619 · cached 35,809,920 · output 297,285 · total 37,114,904.

05:23:41 Whale refinement · tapered flexible foil flukes and recessed eyes with soft eyelid foldsDevelopment checkpoint 019-whale-flukes-and-eyes.jpg

Saved 2026-09-30T10:58:39.255520+00:00. Usage as of 2026-09-30T10:57:40.958Z.
Input 38,698,540 · cached 37,672,320 · output 309,751 · total 39,008,291.

05:58:21 Integrated whale folds · subtle geometric recesses and shared cool underwater shadingDevelopment checkpoint 022-integrated-ventral-folds.jpg

Saved 2026-09-30T11:33:19.686156+00:00. Usage as of 2026-09-30T11:29:35.454Z.
Input 44,284,912 · cached 43,218,432 · output 339,749 · total 44,624,661.

07:03:18 TSL migration: shared FFT, ocean, clouds, rain, spray and post-processing implemented; testing both enginesDevelopment checkpoint 023-tsl-migration.jpg

Saved 2026-09-30T12:38:16.502766+00:00. Usage as of 2026-09-30T12:38:02.133Z.
Input 54,107,945 · cached 52,627,328 · output 399,618 · total 54,507,563.

07:35:16 Shared TSL migration works on both backends; tab toggle and full-optics Cinematic mode under testDevelopment checkpoint 024-webgpu-tabs-optics.jpg

Saved 2026-09-30T13:10:14.333705+00:00. Usage as of 2026-09-30T13:09:52.516Z.
Input 63,447,651 · cached 61,878,272 · output 425,676 · total 63,873,327.

07:59:16 WebGPU/WebGL2 tabs verified; Cinematic reflections and contact shadows working; optimizing completed-frame performanceDevelopment checkpoint 025-cinematic-validated.jpg

Saved 2026-09-30T13:34:14.451885+00:00. Usage as of 2026-09-30T13:33:56.227Z.
Input 67,977,020 · cached 66,369,152 · output 442,015 · total 68,419,035.

09:07:07 Cinematic GPU ablation complete; starting quality-gated optimization iterationsDevelopment checkpoint 026-optimization-baseline.jpg

Saved 2026-09-30T14:42:05.048757+00:00. Usage as of 2026-09-30T14:40:18.192Z.
Input 83,423,380 · cached 81,733,120 · output 481,411 · total 83,904,791.

09:23:55 Full-quality GPU optimization: SSR early rejection; cloud and water precision candidatesDevelopment checkpoint 027-gpu-ssr.jpg

Saved 2026-09-30T14:58:53.800737+00:00. Usage as of 2026-09-30T14:58:26.740Z.
Input 85,071,848 · cached 83,306,240 · output 490,024 · total 85,561,872.

09:25:53 028-cloud-light-cache.jpgDevelopment checkpoint 028-cloud-light-cache.jpg

Saved 2026-09-30T15:00:51.651411+00:00. Usage as of 2026-09-30T15:00:35.786Z.
Input 85,667,706 · cached 83,887,232 · output 490,972 · total 86,158,678.

09:30:09 Water display precision verified numerically; testing temporal cloud-light reuseDevelopment checkpoint 029-half-float-water.jpg

Saved 2026-09-30T15:05:07.337862+00:00. Usage as of 2026-09-30T15:04:45.351Z.
Input 86,355,534 · cached 84,556,672 · output 494,244 · total 86,849,778.

09:35:59 World-space cloud-light amortization: temporal fidelity auditedDevelopment checkpoint 030-cloud-amortization.jpg

Saved 2026-09-30T15:10:57.770529+00:00. Usage as of 2026-09-30T15:09:45.812Z.
Input 87,248,248 · cached 85,439,616 · output 498,501 · total 87,746,749.

09:40:12 Refined cache passes: 0.643% lighting RMS; phase-cached buoyancy testDevelopment checkpoint 031-refined-clouds.jpg

Saved 2026-09-30T15:15:10.144553+00:00. Usage as of 2026-09-30T15:14:26.527Z.
Input 87,932,445 · cached 86,115,200 · output 502,234 · total 88,434,679.

09:43:54 Cloud audit passed; CPU and transform optimizations under testDevelopment checkpoint 032-transform-cache.jpg

Saved 2026-09-30T15:18:52.474749+00:00. Usage as of 2026-09-30T15:17:57.854Z.
Input 88,657,438 · cached 86,830,720 · output 504,689 · total 89,162,127.

09:47:58 GPU and CPU candidates: visual checks remain below 1%Development checkpoint 033-fft-reuse.jpg

Saved 2026-09-30T15:22:56.862465+00:00. Usage as of 2026-09-30T15:22:06.586Z.
Input 89,569,026 · cached 87,735,552 · output 507,753 · total 90,076,779.

09:56:26 Four consecutive sub-5% candidates; prepacked FFT input is nextDevelopment checkpoint 034-final-optimization.jpg

Saved 2026-09-30T15:31:24.164875+00:00. Usage as of 2026-09-30T15:30:59.063Z.
Input 92,214,492 · cached 90,177,152 · output 514,315 · total 92,728,807.

10:02:09 Optimization plateau reached; final WebGPU/WebGL2, quality and tour validationDevelopment checkpoint 035-plateau-complete.jpg

Saved 2026-09-30T15:37:07.459838+00:00. Usage as of 2026-09-30T15:36:17.593Z.
Input 93,680,982 · cached 91,635,200 · output 518,087 · total 94,199,069.

10:10:16 Final mode checks: WebGPU 41.7 FPS Cinematic / 54.5 FPS High; testing WebGL2Development checkpoint 036-backend-validation.jpg

Saved 2026-09-30T15:45:14.232517+00:00. Usage as of 2026-09-30T15:44:00.746Z.
Input 95,417,213 · cached 93,359,872 · output 524,021 · total 95,941,234.

10:22:54 Both TSL backends render; checking the 23-shot guided tour and interactive controlsDevelopment checkpoint 037-cinematic-tour.jpg

Saved 2026-09-30T15:57:51.960994+00:00. Usage as of 2026-09-30T15:57:03.188Z.
Input 97,886,889 · cached 95,786,368 · output 532,166 · total 98,419,055.

10:37:38 Tour framing repaired; whale waits for keel clearance before surfacingDevelopment checkpoint 038-tour-framing-fix.jpg

Saved 2026-09-30T16:12:36.753703+00:00. Usage as of 2026-09-30T16:11:44.682Z.
Input 99,682,971 · cached 97,556,608 · output 544,097 · total 100,227,068.

11:06:14 Final delivery: responsive engine tabs, report, screenshots and accountingDevelopment checkpoint 039-final-scene.jpg

Saved 2026-09-30T16:41:12.572688+00:00. Usage as of 2026-09-30T16:39:54.695Z.
Input 107,162,542 · cached 104,988,544 · output 565,109 · total 107,727,651.

Tokens, time and hypothetical API cost.

Wall time starts at 2026-09-30T05:34:57.889Z. Report accounting was generated at 2026-09-30T17:09:39.810572+00:00, using usage reported through 2026-09-30T17:05:18.100Z. This includes interactive feedback and benchmarking, not only typing or compiler time.

Token categoryCountReconstructed cost
Uncached input2,205,683$5.53642
Cached input108,187,776$16.27050
Cache writes0$0.00000
Output, including reasoning583,520$7.07538
Model-token total110,976,979$28.88231
Reasoning subset — not billed again354,954Included above

Official OpenAI API pricing, checked against current official documentation (30 September UTC / 1 October JST 2026): Standard short-context rates per million are $2 uncached input, $0.10 cached input, $2.50 cache writes and $10 output. Above 272K input in a request, rates are $4, $0.20, $5 and $15. Rates were applied per unique usage increment, not blindly to an aggregate prompt. 167 of 486 reconstructed requests were long-context; the largest reported input was 424,636 tokens.

This is a hypothetical model-token API equivalent, not a Codex subscription charge or invoice. Cumulative input re-counts context on every request; cached input is included in input totals. Fast mode, regional uplifts and taxes are not assumed. External tool, hosting, hardware and electricity charges are excluded. Unreported in-flight usage and subsequent messages, including the final response, are outside this snapshot. Session metadata identifies gpt-6.1-sol with max effort; service_tier is null, so Standard is an explicit pricing assumption.

References & reproducibility.

npm install · npm run dev -- --port 5173 · npm test · npm run typecheck · npm run build

Selected benchmark: http://127.0.0.1:5173/?renderer=webgpu&quality=cinematic&bench=1&opt=14&iteration=reproduce. Per-screenshot elapsed-time/token ledger · Raw benchmark and quality evidence. Raw measurements and per-view quality JSON live in artifacts/benchmarks.