Skip to content

Playground: correct excludeFromAutomaticTesting reasons for texture-format, GPU-particle, and remote-asset tests#1779

Open
bkaradzic-microsoft wants to merge 1 commit into
BabylonJS:masterfrom
bkaradzic-microsoft:fix-config-exclude-reasons
Open

Playground: correct excludeFromAutomaticTesting reasons for texture-format, GPU-particle, and remote-asset tests#1779
bkaradzic-microsoft wants to merge 1 commit into
BabylonJS:masterfrom
bkaradzic-microsoft:fix-config-exclude-reasons

Conversation

@bkaradzic-microsoft

@bkaradzic-microsoft bkaradzic-microsoft commented Jul 10, 2026

Copy link
Copy Markdown
Member

Summary

51 excluded tests carry a generic/stale reason (mostly "Pixel comparison fails (more than 20% pixels differ)", a few "Test crashes or hangs" / "Loading remote https:// assets is not supported"), but they actually throw before ever reaching pixel comparison, or fail for a different reason than labelled. This corrects the reason strings to the real, verified failure so triage isn't misdirected toward rendering-parity work.

No tests are enabled/disabled — only the human-readable reason strings change (51 lines, JSON otherwise untouched).

Corrections

Each affected index was run individually headless (--include-excluded --test-index=N) on Playground Debug (D3D11, Chakra) at master and the thrown error captured.

Texture-format + GPU-particle (39)

tests actual failure
Textured - Area Lights - Standard Material, … - PBR RuntimeError: Unsupported texture format or type: format 5, type 3553
Normed 16 bits texture formats RuntimeError: Unsupported texture format or type: format 33322, type 5
34 × GPU Particles - * TypeError: Unable to get property 'ARRAY_BUFFER' of undefined or null reference
GPU Particles - Multiply Blend reuses Cubemap load not implemented on Babylon Native convention (Cannot load cubemap because 6 files were not defined)
GPU Particles - Flowmaps ReferenceError: 'Image' is not defined

Remote-asset + misc (12)

Re-verified on a fresh master build with network egress (the referenced CDN assets return HTTP 200 via curl, so these are not dead-asset / offline-CI failures):

idx test actual failure
95 Gaussian Splatting modify Uncaught Error: Invalid argument
100 Gaussian Splatting SPZ SH RuntimeError: Unable to load from https://raw.githubusercontent.com/.../hornedlizard.spz: Unknown error opening URL
104 SPZ v3 - Splat RuntimeError: Unable to load from https://assets.babylonjs.com/splats/combined_SPZv3.spz: Unknown error opening URL
123 EXT_lights_ies RuntimeError: Unable to load from …/Example.gltf: 'name' is not defined
157 CSGVertColor Error: Unknown error opening URL (remote asset reachable via curl)
186 Chibi Rex Cannot load cubemap because 6 files were not defined
187 Yeti pixel diff 239982/240000 (99.99%)
188 CSG Error: Unknown error opening URL (remote asset reachable via curl)
234 GLTF Buggy with Meshopt Compression Object doesn't support property or method 'createObjectURL'
257 GlowLayer pixel diff 237981/240000 (99.16%)
294 Prepass SSAO + glow layer pixel diff 236380/240000 (98.49%)
434 FrameGraph nrge depth of field Out of stack space (OBJ parser recursion)

Notably, the four Unknown error opening URL cases (100/104/157/188) load URLs that curl fetches at HTTP 200 — a genuine BN HTTPS/URL-open issue, not a network or dead-asset problem.

Testing

  • Each index run individually; captured error matches the new reason.
  • config.json re-validated as JSON; test count unchanged (720).
  • Diff is exactly 51 changed reason lines.

Copilot AI review requested due to automatic review settings July 10, 2026 20:01

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.

Pull request overview

This PR updates the human-readable reason strings for a set of already-excluded Playground automated tests so the stated failure cause matches the actual pre-render exceptions seen on Babylon Native, avoiding misdirected triage toward pixel-diff/rendering parity work.

Changes:

  • Updated reason messages for texture-format-related failures to reflect Unsupported texture format or type throws.
  • Updated reason messages for many GPU particle tests to reflect pre-render exceptions (e.g., ARRAY_BUFFER access), plus specific cubemap/Image-constructor failures.

Comment thread Apps/Playground/Scripts/config.json Outdated
"playgroundId": "#D7LQAZ#0",
"excludeFromAutomaticTesting": true,
"reason": "Pixel comparison fails (more than 20% pixels differ)",
"reason": "Native cubemap load gap: throws 'Cannot load cubemap because 6 files were not defined' before rendering (not a pixel-diff).",

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Done in 2dfbe85 — reused the existing Cubemap load not implemented on Babylon Native convention wording (matches config.json line 687), with the verbatim Cannot load cubemap because 6 files were not defined appended for the specific trigger.

Comment thread Apps/Playground/Scripts/config.json Outdated
"playgroundId": "#SGAEHS#0",
"excludeFromAutomaticTesting": true,
"reason": "Pixel comparison fails (more than 20% pixels differ)",
"reason": "Native lacks the 'Image' DOM constructor: throws 'ReferenceError: Image is not defined' before rendering (not a pixel-diff).",

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Done in 2dfbe85 — reason now carries the verbatim ReferenceError: 'Image' is not defined (quotes preserved).

Comment thread Apps/Playground/Scripts/config.json Outdated
"playgroundId": "#3HLS3D#2",
"excludeFromAutomaticTesting": true,
"reason": "Pixel comparison fails (more than 20% pixels differ)",
"reason": "GPUParticleSystem throws TypeError 'Unable to get property ARRAY_BUFFER of undefined' on Native before rendering (not a pixel-diff).",

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Done in 2dfbe85 — all 34 GPU-particle reasons now use the verbatim exception text: TypeError: Unable to get property 'ARRAY_BUFFER' of undefined or null reference.

@bkaradzic-microsoft bkaradzic-microsoft force-pushed the fix-config-exclude-reasons branch from 85bfbb0 to 2dfbe85 Compare July 10, 2026 21:25
…at, GPU-particle, remote-asset tests)

Replace stale/generic exclude reasons with the verbatim runtime error each
test actually hits on Babylon Native, re-verified on a fresh master build:

- Texture-format tests (BabylonJS#1609 family): RuntimeError: Unsupported texture
  format or type ... instead of a pixel-diff label.
- GPU-particle tests: the verbatim TypeError/ReferenceError thrown before
  rendering (ARRAY_BUFFER, 'Image'), and reuse of the existing
  'Cubemap load not implemented on Babylon Native' convention.
- Remote-asset / misc tests: several were mislabeled as generic pixel-diff
  or crash; use the actual thrown error (Unable to load ... Unknown error
  opening URL for curl-reachable URLs, createObjectURL missing, OBJ
  'Out of stack space', cubemap load gap), or the measured pixel-diff.

Reason-string wording only; no test is enabled or disabled.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@bkaradzic-microsoft bkaradzic-microsoft force-pushed the fix-config-exclude-reasons branch from 2dfbe85 to 7825a2b Compare July 10, 2026 22:28
@bkaradzic-microsoft bkaradzic-microsoft changed the title Playground: correct excludeFromAutomaticTesting reasons for texture-format and GPU-particle tests Playground: correct excludeFromAutomaticTesting reasons for texture-format, GPU-particle, and remote-asset tests Jul 10, 2026
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.

3 participants