New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Change script loading architecture #14447
Conversation
Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s). |
Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s). |
Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s). |
Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s). |
Snapshot stored with reference name: Test environment: To test a playground add it to the URL, for example: https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14447/merge/index.html#WGZLGJ#4600 Links to test babylon tools with this snapshot: https://playground.babylonjs.com/?snapshot=refs/pull/14447/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/14447/merge#BCU1XR#0 |
Should we change the tests code to use this feature or maybe a separate PR? |
Good catch. I can add it here, will be a great test for the entire change. |
I would wait on merging this till monday (even if approved) because... Friday? |
I will probably merge and monitor as issues might not be too hard to fix and it looks like it might impact less ppl in case of regressions. What do you think ? |
Scripts (js and wasm) should now be loaded using the Tools' GetScriptUrl function.
This function will check if the URL is absolute or relative. if relative it will append the BaseScriptUrl defined in Tools to the URL. Otherwise it will run a preprocessor and will make sure, if requested, that the URL is absolute.
This one you can either define a new URL per module OR a new global base URL for the scripts and thus replace the babylon's CDN in one call.
The preprocessor can be defined by the devs themselves to modify the URL to whatever it needs to be. Checking if the URL is absolute (GetAbsoluteUrl) was kept for back-compat reasons.
Notes