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
FireSystemfacade:create,update,render,composite,resize,loadPreset,getParams,setParams,setQualityLevel,resetanddispose. - 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 presetautoBurst, and anonBursthook. Read more. fireLightandfillLight, driven by an asynchronous GPU reduction, plusfireState. Read more.patchReflectiveMaterialfor wet-floor reflections of the fire.- Seven presets (one file each), four quality tiers, and the
window.__prodemo contract. - The full demo with the original UI, plus a Copy preset JSON button.
- Examples:
examples/basic(Vite) andexamples/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.