amazon-sumerian-hosts
amazon-sumerian-hosts copied to clipboard
Remove webpack, use vanilla ES Modules to simplify the project.
Webpack already caused a break (see https://github.com/aws-samples/amazon-sumerian-hosts/pull/181) and generally speaking there's quite a bit of build magic happening that I think detracts from the simplicity of managing the code.
I've got a branch that converted everything to vanilla ES Modules, and it ends up being really simple that way:
- https://github.com/aws-samples/amazon-sumerian-hosts/pull/183
To do this, I had to update Babylon because Babylon 4 source code is not ESM. However, updating to Babylon 5 caused animations to break, and one model has a deformed jaw line (like those long-time chewing tobacco users). That's tracked here:
- https://github.com/aws-samples/amazon-sumerian-hosts/issues/155
The Three.js host works perfect on the latest version after a small tweak of one line of code due to a renamed API (*BufferGeometry
-> *Geometry
).
Apart from Babylon breakage, everything is working nice on vanilla ESM, and all that you need to do to run anything is simply start a static web server; very easy.
I believe this is more ideal for this type of lib (app authors can choose which bundlers and tools they want to optimize their app with, but otherwise having to manage dependencies and build configs makes it all have a higher learning curve and maintenance cost)
Sidenote: Three.js's global script for loading a global THREE
variable containing all Three.js APIs is deprecated and will be removed on release 0.160 (which isn't far off). At that point, the Three.js library will ship only JavaScript modules.
WIP PR is up:
- #183