Shrinking a canvas does not make a particle system responsive by itself. This deck shows a bounded Three.js runtime sample in which the host deliberately selects one of two authored emission rates: 96 particles per second for a 1280 × 720 viewport and 36 for 640 × 360. With a 1.2-second lifetime and fixed 1/60-second updates, the desktop run stabilized at 117 active particles in the two- and three-second samples; the compact run stabilized at 43 and peaked at 44. Both reported zero unsupported Three.js features.
The numbers demonstrate the selection rule, not device performance. The sample did not measure GPU time, visual quality, browser behavior, or a target phone. A web game VFX editor can make the two variants easy to author and validate, but the host still owns the viewport policy. The NixieFX runtime reference documents the shared simulation, backend support reports, and runtime integration needed to verify that boundary: https://nixiefx.com/vfx-runtime-docs/