BNDL is an experimental file format for bundling arbitrary files (images, 3D models, ...) as binary bundle for consumption in JavaScript applications.
BNDL is largely a byproduct of the development of PRWM. Support for multiple models in a single file was deliberately not implemented in PRWM as my understanding was that with HTTP/2 it would not matter as requesting multiple files would not incur any additional load time. It was later pointed out to me by Alexey Shildyakov that HTTP/2 could still benefit from bundling when dealing with a large number of files. See the relevant article for more information.
The BNDL format does not apply any compression on the original file content, so the size of the bundle will usually be about the same as the original files size. It is instead recommended to rely standard HTTP compression (gzip, brotli, ...) when serving BNDL bundles to achieve the best performance.
github / npm / online example 1 / online example 2
The reference encoder/decoder for the file format with a CLI tool to generate bundles and an example web loader implementation to consume them in a browser.
http://www.kchapelier.com/bndl/examples/bndl-inspector.html
Drag and drop a BNDL file to analyze its content.
http://www.kchapelier.com/bndl/examples/bndl-generation.html
Drag and drop files to create a BNDL bundle.
It is recommended to use the CLI tool included in the bndl
npm package instead.