Skip to content

feat(experimental): add Volumetric Fire Forge - #2821

Merged
ibgreen-openai merged 5 commits into
masterfrom
codex/volumetric-fire-forge
Aug 2, 2026
Merged

feat(experimental): add Volumetric Fire Forge#2821
ibgreen-openai merged 5 commits into
masterfrom
codex/volumetric-fire-forge

Conversation

@ibgreen-openai

@ibgreen-openai ibgreen-openai commented Aug 2, 2026

Copy link
Copy Markdown
Collaborator

Goals

  • add a reusable, graph-scheduled WebGPU volumetric combustion solver to @luma.gl/experimental
  • prove it in an HDR, interactive Fire Forge showcase rather than shipping a helper-buffer demo
  • cover the API, presentation, interaction, gallery, and numerical behavior as one reviewable final tranche

Changes

  • adds VolumetricFireSimulation, with dense 3D velocity, pressure, obstacle, density, temperature, fuel, age, and reaction fields
  • schedules advection, buoyancy, curl turbulence, obstacle-aware transport, pressure projection, and multi-emitter combustion through GPUCommandGraph
  • hardens command-graph cleanup when transient allocation fails
  • adds an HDR raymarched forge with procedural brick, local fire spill, shadows, bloom-ready radiance, and a constrained cinematic/manual camera
  • adds deterministic irregular burner surges plus click-triggered flares that affect the actual simulation, emitted radiance, and local wall/floor illumination
  • adds synthesized rolling fire-flare audio with lazy browser unlock, distance/pan scaling, voice limiting, mute, and cleanup
  • adds numerical WebGPU regressions, example interaction tests, focused scheduling/audio tests, documentation, release notes, sidebar registration, and an accepted peak-flare gallery image

User impact

The reusable solver can be mixed into other WebGPU renderers, while the example demonstrates that luma.gl can drive a dense GPU simulation and render it as a cinematic HDR effect without CPU readback in the frame loop. Clicking a visible burner causes a localized surge; automatic flares remain deterministic for repeatable QA.

Verification

  • nvm use — passed (Node 22.22.1)
  • yarn install — passed
  • yarn lint fix — passed on the final head
  • focused Fire Forge node tests — 10/10 passed
  • yarn examples:typecheck — all 36 workspaces passed
  • yarn build — passed on the final head
  • pre-commit node suite — 71 files passed, 2 skipped; 303 tests passed, 2 skipped
  • yarn test — the full node phase passed with the same counts; local Chromium then aborted during launch with SIGABRT before headless collection, so GitHub Actions is the authoritative browser run
  • live WebGPU QA — automatic and click flares, empty click suppression, drag suppression, HDR spill, camera interaction, and gallery framing verified
  • yarn website:build — passed on the final head
  • (cd website && yarn build) — passed on the final head

Scope and risk

  • experimental and WebGPU-only
  • the default dense volume is 64 × 96 × 64; applications remain responsible for frame scheduling and presentation choices
  • browser audio begins only after user interaction, as required by autoplay policies
  • rendering and sound are example-layer features; the reusable simulation package remains renderer-agnostic

@ibgreen-openai
ibgreen-openai marked this pull request as ready for review August 2, 2026 19:27

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5359f5afa7

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread modules/experimental/src/index.ts
@ibgreen-openai
ibgreen-openai force-pushed the codex/volumetric-fire-forge branch 2 times, most recently from 1f3951a to cf91b22 Compare August 2, 2026 22:19
@ibgreen-openai ibgreen-openai changed the title feat(experimental): add volumetric fire simulation feat(experimental): add Volumetric Fire Forge Aug 2, 2026
@ibgreen-openai
ibgreen-openai force-pushed the codex/volumetric-fire-forge branch from cf91b22 to 461755c Compare August 2, 2026 22:29
@ibgreen-openai
ibgreen-openai merged commit 82cba7a into master Aug 2, 2026
4 checks passed
@ibgreen-openai
ibgreen-openai deleted the codex/volumetric-fire-forge branch August 2, 2026 23:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants