THREE.JS / WEBGL PARTICLE BILLBOARDS
One point, one billboard.
A source-backed particle contract: one position buffer feeds a textured Points cloud, while PointsMaterial.sizeAttenuation, pointer camera input, and animated HSL color remain explicit and reversible.
This route claims the installed WebGLRenderer, deterministic BufferGeometry position buffer, one Points/PointsMaterial billboard cloud, CanvasTexture sprite substitute, alphaTest/transparent policy, size attenuation, pointer input, animated color, resize, sampling, reset, and teardown only. The official disc.png asset, Math.random field, Stats/GUI presentation, exact camera composition, device coverage, and whole-example fidelity remain separate.
Sources: official billboard example · PointsMaterial · Points