Interactive GPU diagnostic
Choose 1,024 or 8,192 agents, switch between GPU compute and the Rust/WASM CPU reference, pause, or reset the fixed seed (1337). Changing a control resets the scene. Yellow birds and turquoise fish are authored four-triangle proxies. This is a simulation viewer, with no catch or hit gameplay.
Requires HTTPS, WebAssembly and a browser with hardware WebGPU enabled. Both simulation backends use WebGPU to render. Software fallback is rejected when identified; an adapter with hidden or unknown details is not certified hardware. Tested locally with Chromium 151, NVIDIA RTX PRO 4000 Blackwell SFF and driver 610.57.04 via ANGLE/Vulkan. Other devices and the public deployment remain unverified.
Spatial mode searches 27 adjacent cells for up to 8 same-species neighbors within 10 world units; candidate scanning is uncapped. Cohort mode is the older ID-group scaffold. The tank and sphere obstacles are authored fixtures; no terrain, source fish asset, FFT water lighting or hard agent contact is included.
Experimental correctness limit: first-step neighbor checks passed, but CPU/GPU trajectories exceeded the provisional 0.02-unit tolerance after 180 dense/crossing steps (maximum position errors 0.366 / 0.099). This is not an authoritative gameplay implementation or cross-device replay guarantee.
Fixed 60 Hz simulation retains overdue work; the on-screen debt is not discarded. A shared-node 128k spatial run measured a 29.06 ms GPU step and 4,329 ms CPU step, beyond the 16.67 ms step budget. These are short local measurements, not a device-independent speedup claim. Public controls are capped at 8,192 agents to limit stalls; CPU mode can still fall behind. State readback and authority handoff are separate costs, not performed by the live renderer.
Pinned source and runtime hashes · Actual GPU screenshot · Short GPU capture
The recording is a local hardware run, not evidence that this public page or your device has passed hardware acceptance. Device loss requires a reload and restarts the experiment.