Repository navigation
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s). |
There was a problem hiding this comment.
🔵 Needs a closer look
External snippet contents and visual parity remain independently unverified.
No open issues 🎉
What changed in this PR
Moves glTF camera-rotation roundtrip tests to four dedicated Playground fixtures without changing engine behavior or visual references.
Changes:
- Pins one Playground per source/destination handedness combination and removes option replacements.
- Updates unit assertions for the pins, absent replacements, reference image, and model-facing oracle.
| File | Description |
|---|---|
| packages/tools/tests/test/visualization/config.json | Replaces shared fixture overrides with four dedicated Playground pins. |
| packages/tools/tests/test/unit/cameraLookDirectionFixture.test.ts | Updates fixture assertions while retaining orientation checks. |
Review effort: Balanced
|
Snapshot stored with reference name: Test environment: To test a playground add it to the URL, for example: https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/19014/merge/index.html#WGZLGJ#4600 Links to test your changes to core in the published versions of the Babylon tools (does not contain changes you made to the tools themselves): https://playground.babylonjs.com/?snapshot=refs/pull/19014/merge To test the snapshot in the playground with a playground ID add it after the snapshot query string: https://playground.babylonjs.com/?snapshot=refs/pull/19014/merge#BCU1XR#0 If you made changes to the sandbox or playground in this PR, additional comments will be generated soon containing links to the dev versions of those tools. |
🟢 Memory Leak Test Results4 passed, 0 leaked out of 4 scenarios 🟢 All memory leak tests passed — no leaks detected. Passed Scenarios (4)
|
Popov72
left a comment
There was a problem hiding this comment.
Complete current-PR review found no actionable issues. The four standalone fixture pins preserve the previous handedness configurations and existing scene/orientation checks.
|
Visualization tests for WebGPU |
⚡ Performance Test Results🟢 All performance tests passed — no regressions detected. |
|
WebGL2 visualization test reporter: |
|
CI build 61021 is now terminal on e934464. WebGL 2 and WebGPU visualization, main unit tests, builds, lint, performance and Windows compatibility passed. Two blockers remain:
The identical Native failure is present on master build 61011 at 6f8ffb6, the exact base of this PR: same scene, exception and 471/470/1 summary. That base includes the unsupported-CSM error change from #19000. This is a demonstrated baseline blocker, not merely a transient cancellation, so I have not spent another CI run on unchanged inputs or weakened any test. Existing fix: BabylonJS/BabylonNative#1950 already corrects the Native fixture's capability check. No duplicate repair PR is needed. It must land and be included in a refreshed master Native artifact from pipeline 36 before this job can benefit; a green PR build of Native does not by itself refresh that artifact. Native uses its separately packaged Evidence: PR Native job, master Native job. The PR's code remains unchanged and approved, but blocked until the Native baseline is addressed and the outstanding checks pass. No merge or auto-merge has been requested. Native integration update (2026-10-20 14:19 UTC): Native1950 has been merged by CedricGuillemet as Packaged Native verification and retry (2026-10-20 17:02 UTC): Definition 36 build 61072 is now completed/succeeded on master commit Actual Native input confirmed (2026-10-20 17:44 UTC): the Native job of build 61087 completed its artifact-download step successfully at 17:43:20 UTC. I independently read task log 199: Final result verified (2026-10-20 18:18 UTC): build 61087 is completed/succeeded on tested merge |
|
@bghgary, could you help coordinate the remaining Native CI dependency, or point us to its maintainer? The existing fix in BabylonJS/BabylonNative#1950 has green checks but is still awaiting review/integration. This PR consumes a master Native artifact from pipeline 36, so its PR build alone cannot repair the failing Native scene here. Could you help get that existing fix reviewed and confirm when a corrected master Native artifact is available? The diagnosis above includes the identical failure on this PR's exact master baseline (build 61011). I will retry this PR once its Native input is corrected and check the independent LinuxNode22 timeout on that run. No changes to test coverage, reference images or tolerances, and no request to merge this PR or waive its checks. |
|
/azp run Monorepo CI |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
Reviewer - this PR has made changes to one or more package.json files. |
🟢 Memory Leak Test Results4 passed, 0 leaked out of 4 scenarios 🟢 All memory leak tests passed — no leaks detected. Passed Scenarios (4)
|
|
Visualization tests for WebGPU |
⚡ Performance Test Results🟢 All performance tests passed — no regressions detected. |
|
WebGL2 visualization test reporter: |
bghgary
left a comment
There was a problem hiding this comment.
[Reviewed by Copilot on behalf of @bghgary]
LGTM
@bkaradzic-microsoft, after this merges, can we move Babylon Native's four camera tests to these standalone Playgrounds too? We'd need to preserve its Native-specific adjustments and verify all four cases against both the pinned Babylon.js version and current snapshots.
|
Sure I'll resync config.json |
Summary
Use four standalone Playgrounds for the glTF camera-rotation roundtrip tests instead of injecting options with
replace.Each source sets
roundtripCount = 1,srcRH, anddestRHdirectly. The remaining scene code is unchanged from#3A00GJ#42, including the existing model orientation. A default export makes each new V2 snippet usable directly in the Playground.The config removes only the four corresponding
replacefields. The related unit test now checks the dedicated pins, absence of replacements, unchanged reference image, and existing model-facing oracle.No math, serializer, visualization harness, reference images, or tolerances change.
Validation
cameraLookDirectionFixture.test.ts: 4/4 passed.noEmitcheck passed using the repository compiler options, all eight core ambient declarations, and the complete 3,391-file dependency closure after generating the normal core shader sources and restoring declared Draco types.CI status and external Native dependency
Verified 2026-10-20 18:18 UTC: green and mergeable, not merged. Build 61087 completed successfully: all 18 jobs passed, including Native, LinuxNode22, WebGL 2/WebGPU visualization, unit, size/lint and performance jobs. GitHub reports
OPEN / APPROVED / MERGEABLE / CLEAN, 21 successful and 5 neutral checks, no failures or pending checks, and no review threads. Popov72's approval is on the unchanged heade934464df524cf8c925ecfd2b2a8499d70eb3bbf.a1acb74de92f3ff32bfcb03fcfe25f5aa3a7beae; successful producer 61072's actual package was inspected and consumer 61087's download log confirms that exact build. Native visualization now reports 471 ran, 471 passed, 0 failed, 0 missing references (249 existing skips);Shadow depth wrappersis explicitly validated, not excluded.12dd67c4b71e917f45de8441cf187bb9e242b504, containing the approved head and newer base52ffb86179eaa2996e2babc77ef33a374b708b76. Earlier build 61021 is historical failure evidence, not the current result.Detailed diagnosis and verification history. No source changes, reference updates or tolerance changes were required. No merge or auto-merge has been requested; that decision remains with the maintainer/operator.