If you load this PG and enter VR, you’ll see these network errors:
webRequest.ts:185 GET https://cdn.babylonjs.com/v8.37.0/HandMeshes/l_hand_rhs.glb 404 (Not Found)
webRequest.ts:185 GET https://cdn.babylonjs.com/v8.37.0/HandMeshes/r_hand_rhs.glb 404 (Not Found)
In our case, we’re hosting a copy of the CDN from the github deploys snapshot and pointing to it via CDNBaseUrl and we have the same problem. Browsing the files from the snapshot, it doesn’t look like the assets are included. So I think our immediate fix will be to assign our self-hosted CDN url to Tools.ScriptBaseUrl instead, but then where do we get a copy of the CDN resources for Tools.AssetBaseUrl?
Yeah, it’d be good to version and publish the Assets CDN somewhere. A GitHub artifact sounds like a good place to start. cc @docEdub
Fortunately, the asset CDN structure doesn’t change often, but files are added and shuffled around (EDIT: with accompanying redirects, of course) every now and then.
Since there is no build for the assets repo, the GitHub .zip archive is what would be in any release archive we would generate, so I don’t think it’s needed.
Thank you. How do we correlate Assets repo git hash with BabylonJS library version to ensure we get the correct version? I don’t see any releases or tags on the Assets repo.
That zip is probably pretty large - I’m also going to try to do some git magic to checkout only the core folder to save time since we’re doing this in CI workflows
That doesn’t feel sufficiently safe for production use. As @alexchuber mentioned above, assets may be added or moved. If we have a version of bjs core that references new assets or changed asset locations, but an old copy of the assets repo deployed, then we’ll have failures.
If we always run the current copy of assets, then we run the risk of an older deployed version of BJS referencing urls that no longer exist.
Or let’s say WebXR hand tracking standard is updated someday and the reference hand models are updated with different joint names. How do we ensure we’ve got the matching version in our assets for our BJS version?
Is there a guarantee of never making backwards-incompatible changes to BabylonJS/Assets so we can safely deploy the current version regardless of our library update schedule?
In your webXR example, we will have the obligation to make it work with old and new assets (assuming we add new feature to the hand model for instance)