My company is looking to replace another 3D engine and its editor (Sumerian) with BabylonJS in our production websites. It looks like both will fit our needs and be a great addition to our tech stack, but there is one absence that we need to address in our artists’ workflow.
The editor for Sumerian integrates with AWS services to basically do the following (let’s call it the “publishing process”, exposed by a publish button:
- Bundle scene assets into proprietary .sumerian format
- Upload the files to an S3 bucket fronted by a CloudFront CDN
- Invalidate the CloudFront files so that the latest version is fetched and served by the CDN edge caches
We then have a module (the “top level” or “parent” scene) that uses the Sumerian scene loader to orchestrate the dynamic loading and unloading of other scenes (“child” scenes).
We intend to replace our Sumerian editor-based workflow with the Babylon desktop editor, but our scene loading architecture – and the performance of our website, which has many very small scenes and then a few very heavy scenes – benefits heavily from downloading a copy of scene at runtime. Most of the time this will be a cache hit, either in the browser cache or the CDN cache, but after the publishing process is run, we would expect it to be a cache miss and the user would download the fresh copy and load that at runtime.
Thank you for all you are doing! We are excited to work with Babylon.