Skip to content

Enable 9 validation scenes that pass with Babylon.js 9.29.0 - #1934

Merged
bkaradzic-microsoft merged 1 commit into
BabylonJS:masterfrom
bkaradzic-microsoft:shotgun-landing-support
Oct 14, 2026
Merged

bkaradzic-microsoft merged 1 commit into
BabylonJS:masterfrom
bkaradzic-microsoft:shotgun-landing-support

Conversation

@bkaradzic-microsoft

@bkaradzic-microsoft bkaradzic-microsoft commented Oct 14, 2026 •

Copy link
Copy Markdown
Member

Enables 9 more validation scenes that pass with the Babylon.js npm packages BabylonNative currently pins (9.29.0). No dependency, engine-default, native-code or JsRuntimeHost changes.

Newly enabled

  • Chibi Rex (validated at the reference's hardware scaling level via replace; default errorRatio)
  • apply-all-post-processes (stable, deterministic ~3% near-miss; errorRatio 3.3)
  • OpenPBR Analytic Lights Coat Color vs Coat IOR
  • OpenPBR Analytic Lights Coat Color vs Coat Darkening
  • OpenPBR Transmission Color glTF - Analytic Lights
  • OpenPBR Transmission Scatter Anisotropy Reflect - Analytic Lights
  • OpenPBR Subsurface Radius vs Anisotropy - Analytic Lights
  • OpenPBR Thin Walled Anisotropic Transmission - Analytic Lights
  • OpenPBR Thin Walled Subsurface Anisotropy - Analytic Lights

Reference images

The 7 OpenPBR reference images are replaced with the versions from Babylon.js tag 9.29.0 (byte-identical blobs, also identical in 9.30.0). No other reference images change.

Validation (Win32 x64 D3D11, default Chakra build, npm Babylon.js 9.29.0)

  • Full sequential validation_native.js run, matching CI: ran=436 passed=436 failed=0.
  • Baseline upstream/master with the same setup: ran=427 passed=427.
  • Babylon.js 9.30.0 was also checked: it enables no additional scenes, so no package bump is needed.

Not included

The remaining shotgun scenes depend on Babylon.js changes that have not been released to npm yet, or on paired native changes (WebGL viewport as context state, straight-alpha Canvas gradients) that regress scenes with the current Babylon.js 9.29.0. Those will follow once the Babylon.js side is published.

Node material 1 was dropped after CI showed it is a near-miss on JSI/V8 (4.7% vs 4.65%) and Linux OpenGL (5.5%). Tightened per-scene errorRatio values were removed so these scenes use the default 2.5% (Linux OpenGL diffs are 0.25-0.72%).

Copilot AI balanced review requested due to automatic review settings October 14, 2026 00:10

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot wasn't able to review any files in this pull request. Check if the Files changed in this pull request are included in default exclusions.

@bkaradzic-microsoft bkaradzic-microsoft changed the title Shotgun parity: full validation catalog and remaining support changes Enable 10 validation scenes that pass with Babylon.js 9.29.0 Oct 14, 2026
Enable scenes that pass with the Babylon.js npm 9.29.0 packages that
BabylonNative currently pins:

- Chibi Rex (validated at the reference's hardware scaling level)
- apply-all-post-processes (stable ~3% deterministic near-miss)
- 7 OpenPBR analytic-light scenes

The 7 OpenPBR reference images are replaced with the Babylon.js 9.29.0
versions; the existing images no longer match the 9.29.0 renderer output.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 60c2ec68-6de1-445d-9fc9-b699db737eae
@bkaradzic-microsoft bkaradzic-microsoft changed the title Enable 10 validation scenes that pass with Babylon.js 9.29.0 Enable 9 validation scenes that pass with Babylon.js 9.29.0 Oct 14, 2026
@bkaradzic-microsoft
bkaradzic-microsoft merged commit 4cda048 into BabylonJS:master Oct 14, 2026
35 checks passed
bkaradzic-microsoft added a commit that referenced this pull request Oct 15, 2026
The scheduled `BabylonNative Nightly CI` has failed since the 2026-10-14
run (14 validation scenes fail), and so does every manual run of it on
PRs.

## Cause

The pipeline builds Win32 with the default JavaScript engine, Chakra.
#1934, #1936, #1938 and #1942 enabled ~40 validation scenes after Win32
validation moved to V8 (#1935), but the Chakra parser rejects the
playground snippets of 14 of them:

```
Failed to evaluate playground snippet #M2H33B#0: SyntaxError: Syntax error
Failed to evaluate playground snippet #CSCJO2#17: SyntaxError: Unexpected identifier after numeric literal
Failed to evaluate playground snippet #22HT5Z#10: SyntaxError: Expected '('
```

Affected: `Material Plugin`,
`custom-handling-of-materials-for-render-target-pass`, 4x
`computeMaxExtents`, `FrameGraph nrge clustered lights (simple)`,
`Render target texture with clustered lights`, and 6 `Clustered
Lighting` / `Sponza Clustered Lighting` scenes. PR CI never sees it
because it validates on V8 only.

It is not a Babylon.js nightly regression: the same 14 pass on V8 with
the current `preview.babylonjs.com` bundles (checked locally), and the
Win32 V8 sanitizer job passes 463/464 (the one failure was an unrelated
timeout, fixed in #1943).

## Change

Build the nightly with `-D NAPI_JAVASCRIPT_ENGINE=V8`, the same engine
PR CI validates on.

Chakra still builds and runs UnitTests in PR CI (`Win32_x64_D3D11`). The
alternative is to keep Chakra here and add `excludedJavaScriptEngines:
["Chakra"]` (from #1941) to the 14 scenes.

I couldn't run the Azure pipeline from here. Please queue it on this
branch to confirm it goes green.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: c658bb82-1999-4035-840f-54a1df553faf
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.

4 participants