Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

High-level prioritized item list

0. Legal requirements

Clarify ASWF vs. USD contribution guidelines regarding attributions.

1. Build system changes

  1. Add Dockerfile to standardize Emscripten build (using an Ubunutu 22.04 LTS base image)
    • Using known good Emscripten version (2.0.24)
  2. Update build_usd.py build script to support:
    1. Adding an --emscripten build option to specify a WebAssembly target
    2. Using emcmake/emmake as a drop-in replacement for cmake when targeting WebAssembly build
    3. Replacing TBB with WasmTBB
    4. Listing USD components incompatible with WebAssembly build to warn Users that Python, usdview, imaging have been disabled
  3. Add CMakeLists.txt for JavaScript/WebAssembly bindings in order to:
    • List USD binding dependencies (usd, usdLux, usdGeom, usdUtils, sdf, tf)
    • Specify location of WebAssembly build artifacts (WASM bundle, WebWorker, JavaScript bindings)
  4. Include tests to validate WebAssembly build, using a NodeJS dependency in order to enable tests from headless environments. Test examples include (but are not limited to):
    1. Loading a USDA stage
    2. Exporting USDA stage to string
    3. Traversing the USDA stage
    4. Running WebWorkers
    5. etc.

...