NatureGL Firev1.0.0

More

Changelog

Every release of naturegl-fire. The package follows semantic versioning.

#1.0.0

2026-09-24 The first release. It ports firepro.html to a reusable library, a demo and examples.

#Added

  • The FireSystem facade: create, update, render, composite, resize, loadPreset, getParams, setParams, setQualityLevel, reset and dispose.
  • Emitter handles (addEmitter): point, sphere, box and mesh (a scene mesh or a built-in geometry), with motion inheritance and per-emitter embers. Read more.
  • Obstacle handles (addObstacle): sphere and box, up to 4. Moving obstacles push the gas. Read more.
  • Bursts: explode, fireball, burst, the preset autoBurst, and an onBurst hook. Read more.
  • fireLight and fillLight, driven by an asynchronous GPU reduction, plus fireState. Read more.
  • patchReflectiveMaterial for wet-floor reflections of the fire.
  • Seven presets (one file each), four quality tiers, and the window.__pro demo contract.
  • The full demo with the original UI, plus a Copy preset JSON button.
  • Examples: examples/basic (Vite) and examples/cdn (import map + build/).
  • A headless GPU smoke test (npm test).

#Improved over firepro.html

  • MacCormack advection for temperature and smoke (velocity too on ultra), with per-tier cooling compensation.
  • A CIE 1931–integrated blackbody colour ramp for both the flame and the light.
  • Lumpy burst injection and a jittered radial push, so explosions break into lobes.
  • An upward-transmittance channel, so thick smoke self-shadows its ambient light.
  • YCoCg variance clipping in the volume TAA.
  • Asynchronous fire-probe readback, with no pipeline stall.
  • Updated for three 0.186: THREE.Timer, PCFShadowMap, and no deprecation warnings.

See Under the hood for before-and-after images.