Files
dependabot[bot] ee48d5ca76 Bump vite from 6.3.5 to 6.3.6 in /web/demo
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.3.5 to 6.3.6.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.3.6/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.3.6/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.3.6
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-10 02:00:41 +00:00
..
2025-06-27 08:31:37 +09:00
2025-06-28 04:02:56 +09:00
2025-06-26 08:47:45 +09:00
2025-06-26 08:47:45 +09:00
2025-06-28 07:53:05 +09:00

TinyUSDZ JS/WASM

Demo app

See demo folder. It uses npm package of tinyusdz, so no WASM building required.

Technical note on JS/WASM version of TinyUSDZ

Please see wiki https://github.com/lighttransport/tinyusdz/wiki/WASM-and-JavaScript-module

For library developers

See js folder for JS codes.

Building WASM module

Emscripten and emcmake required.

See /.github/workflows/wasmPublish.yml or

$ ./bootstrap-linux.sh
$ cd build
$ make

wasm module(tinyusdz.js and tinyusdz.wasm) will be output to js/src/tinyusdz folder.

Note

  • asyncify is disabled since it increases code size ~2.5x

Code size

tinyusdz.wasm

2025/05. emsdk 4.0.8. -Oz : 1.6 MB 2025/06. emsdk 4.0.9. -Oz : 1.9 MB

zstd compression

we recommend to use zstd compression for wasm binary in the deployment. for example, 1.9MB tinyusdz wasm can be compressed to 400KB with -19 compression level.

Prepare wasm.zstd

$ zstd -19 tinyusdz.wasm

See js/src/tinyusdz/TinyUSDZLoader.js to how to load zstd compressed wasm.

stack size

128k => ok. 64k => ok.

npm packaging

See npm folder and <tinyusdz>/.github/workflows/wasmPublish.yml for npm publish.