@loaders.gl/scene 5.0.0-alpha.9 → 5.0.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DRACO-README.md +15 -0
- package/GLTF-README.md +46 -0
- package/LICENSE +2 -30
- package/OBJ-README.md +28 -0
- package/README.md +17 -1
- package/THIRD-PARTY-NOTICES.md +32 -0
- package/bin/gltf/glbdump.js +8 -0
- package/dist/dist.dev.js +40859 -59
- package/dist/dist.min.js +46 -3
- package/dist/draco/bundled.cjs +34 -0
- package/dist/draco/bundled.cjs.map +7 -0
- package/dist/draco/bundled.d.ts +5 -0
- package/dist/draco/bundled.d.ts.map +1 -0
- package/dist/draco/bundled.js +6 -0
- package/dist/draco/bundled.js.map +1 -0
- package/dist/draco/draco-format.cjs +41 -0
- package/dist/draco/draco-format.cjs.map +7 -0
- package/dist/draco/draco-format.d.ts +15 -0
- package/dist/draco/draco-format.d.ts.map +1 -0
- package/dist/draco/draco-format.js +18 -0
- package/dist/draco/draco-format.js.map +1 -0
- package/dist/draco/draco-javascript-loader-with-parser.cjs +47 -0
- package/dist/draco/draco-javascript-loader-with-parser.cjs.map +7 -0
- package/dist/draco/draco-javascript-loader-with-parser.d.ts +36 -0
- package/dist/draco/draco-javascript-loader-with-parser.d.ts.map +1 -0
- package/dist/draco/draco-javascript-loader-with-parser.js +14 -0
- package/dist/draco/draco-javascript-loader-with-parser.js.map +1 -0
- package/dist/draco/draco-libraries.cjs +61 -0
- package/dist/draco/draco-libraries.cjs.map +7 -0
- package/dist/draco/draco-libraries.d.ts +28 -0
- package/dist/draco/draco-libraries.d.ts.map +1 -0
- package/dist/draco/draco-libraries.js +33 -0
- package/dist/draco/draco-libraries.js.map +1 -0
- package/dist/draco/draco-library-options.cjs +80 -0
- package/dist/draco/draco-library-options.cjs.map +7 -0
- package/dist/draco/draco-library-options.d.ts +16 -0
- package/dist/draco/draco-library-options.d.ts.map +1 -0
- package/dist/draco/draco-library-options.js +52 -0
- package/dist/draco/draco-library-options.js.map +1 -0
- package/dist/draco/draco-loader-options.cjs +37 -0
- package/dist/draco/draco-loader-options.cjs.map +7 -0
- package/dist/draco/draco-loader-options.d.ts +27 -0
- package/dist/draco/draco-loader-options.d.ts.map +1 -0
- package/dist/draco/draco-loader-options.js +12 -0
- package/dist/draco/draco-loader-options.js.map +1 -0
- package/dist/draco/draco-loader-types.cjs +87 -0
- package/dist/draco/draco-loader-types.cjs.map +7 -0
- package/dist/draco/draco-loader-types.d.ts +41 -0
- package/dist/draco/draco-loader-types.d.ts.map +1 -0
- package/dist/draco/draco-loader-types.js +54 -0
- package/dist/draco/draco-loader-types.js.map +1 -0
- package/dist/draco/draco-loader.cjs +51 -0
- package/dist/draco/draco-loader.cjs.map +7 -0
- package/dist/draco/draco-loader.d.ts +41 -0
- package/dist/draco/draco-loader.d.ts.map +1 -0
- package/dist/draco/draco-loader.js +22 -0
- package/dist/draco/draco-loader.js.map +1 -0
- package/dist/draco/draco-wasm-loader-with-parser.cjs +48 -0
- package/dist/draco/draco-wasm-loader-with-parser.cjs.map +7 -0
- package/dist/draco/draco-wasm-loader-with-parser.d.ts +36 -0
- package/dist/draco/draco-wasm-loader-with-parser.d.ts.map +1 -0
- package/dist/draco/draco-wasm-loader-with-parser.js +14 -0
- package/dist/draco/draco-wasm-loader-with-parser.js.map +1 -0
- package/dist/draco/draco-writer.cjs +183 -0
- package/dist/draco/draco-writer.cjs.map +7 -0
- package/dist/draco/draco-writer.d.ts +98 -0
- package/dist/draco/draco-writer.d.ts.map +1 -0
- package/dist/draco/draco-writer.js +166 -0
- package/dist/draco/draco-writer.js.map +1 -0
- package/dist/draco/draco3d/draco3d-types.cjs +76 -0
- package/dist/draco/draco3d/draco3d-types.cjs.map +7 -0
- package/dist/draco/draco3d/draco3d-types.d.ts +303 -0
- package/dist/draco/draco3d/draco3d-types.d.ts.map +1 -0
- package/dist/draco/draco3d/draco3d-types.js +47 -0
- package/dist/draco/draco3d/draco3d-types.js.map +1 -0
- package/dist/draco/draco3d-loader-with-parser.cjs +50 -0
- package/dist/draco/draco3d-loader-with-parser.cjs.map +7 -0
- package/dist/draco/draco3d-loader-with-parser.d.ts +36 -0
- package/dist/draco/draco3d-loader-with-parser.d.ts.map +1 -0
- package/dist/draco/draco3d-loader-with-parser.js +21 -0
- package/dist/draco/draco3d-loader-with-parser.js.map +1 -0
- package/dist/draco/index.cjs +51 -0
- package/dist/draco/index.cjs.map +7 -0
- package/dist/draco/index.d.ts +11 -0
- package/dist/draco/index.d.ts.map +1 -0
- package/dist/draco/index.js +10 -0
- package/dist/draco/index.js.map +1 -0
- package/dist/draco/lib/draco-builder.cjs +660 -0
- package/dist/draco/lib/draco-builder.cjs.map +7 -0
- package/dist/draco/lib/draco-builder.d.ts +175 -0
- package/dist/draco/lib/draco-builder.d.ts.map +1 -0
- package/dist/draco/lib/draco-builder.js +612 -0
- package/dist/draco/lib/draco-builder.js.map +1 -0
- package/dist/draco/lib/draco-library-loader.cjs +47 -0
- package/dist/draco/lib/draco-library-loader.cjs.map +7 -0
- package/dist/draco/lib/draco-library-loader.d.ts +5 -0
- package/dist/draco/lib/draco-library-loader.d.ts.map +1 -0
- package/dist/draco/lib/draco-library-loader.js +23 -0
- package/dist/draco/lib/draco-library-loader.js.map +1 -0
- package/dist/draco/lib/draco-module-loader.cjs +281 -0
- package/dist/draco/lib/draco-module-loader.cjs.map +7 -0
- package/dist/draco/lib/draco-module-loader.d.ts +25 -0
- package/dist/draco/lib/draco-module-loader.d.ts.map +1 -0
- package/dist/draco/lib/draco-module-loader.js +220 -0
- package/dist/draco/lib/draco-module-loader.js.map +1 -0
- package/dist/draco/lib/draco-parser.cjs +601 -0
- package/dist/draco/lib/draco-parser.cjs.map +7 -0
- package/dist/draco/lib/draco-parser.d.ts +143 -0
- package/dist/draco/lib/draco-parser.d.ts.map +1 -0
- package/dist/draco/lib/draco-parser.js +598 -0
- package/dist/draco/lib/draco-parser.js.map +1 -0
- package/dist/draco/lib/draco-types.cjs +19 -0
- package/dist/draco/lib/draco-types.cjs.map +7 -0
- package/dist/draco/lib/draco-types.d.ts +59 -0
- package/dist/draco/lib/draco-types.d.ts.map +1 -0
- package/dist/draco/lib/draco-types.js +5 -0
- package/dist/draco/lib/draco-types.js.map +1 -0
- package/dist/draco/lib/parse-draco.cjs +60 -0
- package/dist/draco/lib/parse-draco.cjs.map +7 -0
- package/dist/draco/lib/parse-draco.d.ts +22 -0
- package/dist/draco/lib/parse-draco.d.ts.map +1 -0
- package/dist/draco/lib/parse-draco.js +33 -0
- package/dist/draco/lib/parse-draco.js.map +1 -0
- package/dist/draco/lib/utils/get-draco-schema.cjs +74 -0
- package/dist/draco/lib/utils/get-draco-schema.cjs.map +7 -0
- package/dist/draco/lib/utils/get-draco-schema.d.ts +7 -0
- package/dist/draco/lib/utils/get-draco-schema.d.ts.map +1 -0
- package/dist/draco/lib/utils/get-draco-schema.js +45 -0
- package/dist/draco/lib/utils/get-draco-schema.js.map +1 -0
- package/dist/draco/lib/utils/version.cjs +31 -0
- package/dist/draco/lib/utils/version.cjs.map +7 -0
- package/dist/draco/lib/utils/version.d.ts +2 -0
- package/dist/draco/lib/utils/version.d.ts.map +1 -0
- package/dist/draco/lib/utils/version.js +8 -0
- package/dist/draco/lib/utils/version.js.map +1 -0
- package/dist/draco/unbundled.cjs +31 -0
- package/dist/draco/unbundled.cjs.map +7 -0
- package/dist/draco/unbundled.d.ts +3 -0
- package/dist/draco/unbundled.d.ts.map +1 -0
- package/dist/draco/unbundled.js +5 -0
- package/dist/draco/unbundled.js.map +1 -0
- package/dist/draco/workers/draco-worker-node.cjs +8 -0
- package/dist/draco/workers/draco-worker-node.cjs.map +7 -0
- package/dist/draco/workers/draco-worker-node.d.ts +2 -0
- package/dist/draco/workers/draco-worker-node.d.ts.map +1 -0
- package/dist/draco/workers/draco-worker-node.js +9 -0
- package/dist/draco/workers/draco-worker-node.js.map +1 -0
- package/dist/draco/workers/draco-worker.cjs +7 -0
- package/dist/draco/workers/draco-worker.cjs.map +7 -0
- package/dist/draco/workers/draco-worker.d.ts +2 -0
- package/dist/draco/workers/draco-worker.d.ts.map +1 -0
- package/dist/draco/workers/draco-worker.js +7 -0
- package/dist/draco/workers/draco-worker.js.map +1 -0
- package/dist/draco/workers/draco-writer-worker-node.cjs +11 -0
- package/dist/draco/workers/draco-writer-worker-node.cjs.map +7 -0
- package/dist/draco/workers/draco-writer-worker-node.d.cts +2 -0
- package/dist/draco/workers/draco-writer-worker-node.d.cts.map +1 -0
- package/dist/draco/workers/draco-writer-worker-node.d.ts +2 -0
- package/dist/draco/workers/draco-writer-worker-node.d.ts.map +1 -0
- package/dist/draco/workers/draco-writer-worker-node.js +9 -0
- package/dist/draco/workers/draco-writer-worker-node.js.map +1 -0
- package/dist/draco/workers/draco-writer-worker.cjs +10 -0
- package/dist/draco/workers/draco-writer-worker.cjs.map +7 -0
- package/dist/draco/workers/draco-writer-worker.d.ts +2 -0
- package/dist/draco/workers/draco-writer-worker.d.ts.map +1 -0
- package/dist/draco/workers/draco-writer-worker.js +7 -0
- package/dist/draco/workers/draco-writer-worker.js.map +1 -0
- package/dist/draco-javascript-loader.cjs +25 -0
- package/dist/draco-javascript-loader.cjs.map +7 -0
- package/dist/draco-javascript-loader.d.ts +2 -0
- package/dist/draco-javascript-loader.d.ts.map +1 -0
- package/dist/draco-javascript-loader.js +3 -0
- package/dist/draco-javascript-loader.js.map +1 -0
- package/dist/draco-library-options.cjs +36 -0
- package/dist/draco-library-options.cjs.map +7 -0
- package/dist/draco-library-options.d.ts +3 -0
- package/dist/draco-library-options.d.ts.map +1 -0
- package/dist/draco-library-options.js +4 -0
- package/dist/draco-library-options.js.map +1 -0
- package/dist/draco-loader-types.cjs +25 -0
- package/dist/draco-loader-types.cjs.map +7 -0
- package/dist/draco-loader-types.d.ts +2 -0
- package/dist/draco-loader-types.d.ts.map +1 -0
- package/dist/draco-loader-types.js +3 -0
- package/dist/draco-loader-types.js.map +1 -0
- package/dist/draco-loader.cjs +25 -0
- package/dist/draco-loader.cjs.map +7 -0
- package/dist/draco-loader.d.ts +2 -0
- package/dist/draco-loader.d.ts.map +1 -0
- package/dist/draco-loader.js +3 -0
- package/dist/draco-loader.js.map +1 -0
- package/dist/draco-wasm-loader.cjs +25 -0
- package/dist/draco-wasm-loader.cjs.map +7 -0
- package/dist/draco-wasm-loader.d.ts +2 -0
- package/dist/draco-wasm-loader.d.ts.map +1 -0
- package/dist/draco-wasm-loader.js +3 -0
- package/dist/draco-wasm-loader.js.map +1 -0
- package/dist/draco-worker-node.js +29842 -0
- package/dist/draco-worker-node.js.map +7 -0
- package/dist/draco-worker.js +19668 -0
- package/dist/draco-worker.js.map +7 -0
- package/dist/draco-writer-worker-node.cjs +30022 -0
- package/dist/draco-writer-worker-node.cjs.map +7 -0
- package/dist/draco-writer-worker.js +19767 -0
- package/dist/draco-writer-worker.js.map +7 -0
- package/dist/draco-writer.cjs +25 -0
- package/dist/draco-writer.cjs.map +7 -0
- package/dist/draco-writer.d.ts +2 -0
- package/dist/draco-writer.d.ts.map +1 -0
- package/dist/draco-writer.js +3 -0
- package/dist/draco-writer.js.map +1 -0
- package/dist/draco3d-loader.cjs +25 -0
- package/dist/draco3d-loader.cjs.map +7 -0
- package/dist/draco3d-loader.d.ts +2 -0
- package/dist/draco3d-loader.d.ts.map +1 -0
- package/dist/draco3d-loader.js +3 -0
- package/dist/draco3d-loader.js.map +1 -0
- package/dist/glb-loader-types.cjs +61 -0
- package/dist/glb-loader-types.cjs.map +7 -0
- package/dist/glb-loader-types.d.ts +2 -0
- package/dist/glb-loader-types.d.ts.map +1 -0
- package/dist/glb-loader-types.js +2 -0
- package/dist/glb-loader-types.js.map +1 -0
- package/dist/glb-loader.cjs +48 -0
- package/dist/glb-loader.cjs.map +7 -0
- package/dist/glb-loader.d.ts +2 -0
- package/dist/glb-loader.d.ts.map +1 -0
- package/dist/glb-loader.js +2 -0
- package/dist/glb-loader.js.map +1 -0
- package/dist/glb-writer.cjs +53 -0
- package/dist/glb-writer.cjs.map +7 -0
- package/dist/glb-writer.d.ts +2 -0
- package/dist/glb-writer.d.ts.map +1 -0
- package/dist/glb-writer.js +2 -0
- package/dist/glb-writer.js.map +1 -0
- package/dist/gltf/bundled.cjs +34 -0
- package/dist/gltf/bundled.cjs.map +7 -0
- package/dist/gltf/bundled.d.ts +5 -0
- package/dist/gltf/bundled.d.ts.map +1 -0
- package/dist/gltf/bundled.js +6 -0
- package/dist/gltf/bundled.js.map +1 -0
- package/dist/gltf/glb-loader-types.cjs +59 -0
- package/dist/gltf/glb-loader-types.cjs.map +7 -0
- package/dist/gltf/glb-loader-types.d.ts +58 -0
- package/dist/gltf/glb-loader-types.d.ts.map +1 -0
- package/dist/gltf/glb-loader-types.js +24 -0
- package/dist/gltf/glb-loader-types.js.map +1 -0
- package/dist/gltf/glb-loader.cjs +46 -0
- package/dist/gltf/glb-loader.cjs.map +7 -0
- package/dist/gltf/glb-loader.d.ts +42 -0
- package/dist/gltf/glb-loader.d.ts.map +1 -0
- package/dist/gltf/glb-loader.js +24 -0
- package/dist/gltf/glb-loader.js.map +1 -0
- package/dist/gltf/glb-writer.cjs +51 -0
- package/dist/gltf/glb-writer.cjs.map +7 -0
- package/dist/gltf/glb-writer.d.ts +30 -0
- package/dist/gltf/glb-writer.d.ts.map +1 -0
- package/dist/gltf/glb-writer.js +31 -0
- package/dist/gltf/glb-writer.js.map +1 -0
- package/dist/gltf/gltf-1.schema.json +2075 -0
- package/dist/gltf/gltf-2.1.schema.json +1786 -0
- package/dist/gltf/gltf-2.schema.json +1786 -0
- package/dist/gltf/gltf-all.schema.json +5654 -0
- package/dist/gltf/gltf-format.cjs +55 -0
- package/dist/gltf/gltf-format.cjs.map +7 -0
- package/dist/gltf/gltf-format.d.ts +26 -0
- package/dist/gltf/gltf-format.d.ts.map +1 -0
- package/dist/gltf/gltf-format.js +29 -0
- package/dist/gltf/gltf-format.js.map +1 -0
- package/dist/gltf/gltf-loader-types.cjs +71 -0
- package/dist/gltf/gltf-loader-types.cjs.map +7 -0
- package/dist/gltf/gltf-loader-types.d.ts +77 -0
- package/dist/gltf/gltf-loader-types.d.ts.map +1 -0
- package/dist/gltf/gltf-loader-types.js +30 -0
- package/dist/gltf/gltf-loader-types.js.map +1 -0
- package/dist/gltf/gltf-loader.cjs +46 -0
- package/dist/gltf/gltf-loader.cjs.map +7 -0
- package/dist/gltf/gltf-loader.d.ts +45 -0
- package/dist/gltf/gltf-loader.d.ts.map +1 -0
- package/dist/gltf/gltf-loader.js +22 -0
- package/dist/gltf/gltf-loader.js.map +1 -0
- package/dist/gltf/gltf-source.cjs +236 -0
- package/dist/gltf/gltf-source.cjs.map +7 -0
- package/dist/gltf/gltf-source.d.ts +59 -0
- package/dist/gltf/gltf-source.d.ts.map +1 -0
- package/dist/gltf/gltf-source.js +230 -0
- package/dist/gltf/gltf-source.js.map +1 -0
- package/dist/gltf/gltf-writer.cjs +67 -0
- package/dist/gltf/gltf-writer.cjs.map +7 -0
- package/dist/gltf/gltf-writer.d.ts +14 -0
- package/dist/gltf/gltf-writer.d.ts.map +1 -0
- package/dist/gltf/gltf-writer.js +44 -0
- package/dist/gltf/gltf-writer.js.map +1 -0
- package/dist/gltf/gltf.schema.json +5654 -0
- package/dist/gltf/index.cjs +227 -0
- package/dist/gltf/index.cjs.map +7 -0
- package/dist/gltf/index.d.ts +46 -0
- package/dist/gltf/index.d.ts.map +1 -0
- package/dist/gltf/index.js +39 -0
- package/dist/gltf/index.js.map +1 -0
- package/dist/gltf/lib/api/append-gltf-v1-buffer-data.cjs +68 -0
- package/dist/gltf/lib/api/append-gltf-v1-buffer-data.cjs.map +7 -0
- package/dist/gltf/lib/api/append-gltf-v1-buffer-data.d.ts +17 -0
- package/dist/gltf/lib/api/append-gltf-v1-buffer-data.d.ts.map +1 -0
- package/dist/gltf/lib/api/append-gltf-v1-buffer-data.js +45 -0
- package/dist/gltf/lib/api/append-gltf-v1-buffer-data.js.map +1 -0
- package/dist/gltf/lib/api/bake-gltf-v1-bind-shapes.cjs +133 -0
- package/dist/gltf/lib/api/bake-gltf-v1-bind-shapes.cjs.map +7 -0
- package/dist/gltf/lib/api/bake-gltf-v1-bind-shapes.d.ts +8 -0
- package/dist/gltf/lib/api/bake-gltf-v1-bind-shapes.d.ts.map +1 -0
- package/dist/gltf/lib/api/bake-gltf-v1-bind-shapes.js +138 -0
- package/dist/gltf/lib/api/bake-gltf-v1-bind-shapes.js.map +1 -0
- package/dist/gltf/lib/api/clean-gltf-v1-fields.cjs +93 -0
- package/dist/gltf/lib/api/clean-gltf-v1-fields.cjs.map +7 -0
- package/dist/gltf/lib/api/clean-gltf-v1-fields.d.ts +6 -0
- package/dist/gltf/lib/api/clean-gltf-v1-fields.d.ts.map +1 -0
- package/dist/gltf/lib/api/clean-gltf-v1-fields.js +87 -0
- package/dist/gltf/lib/api/clean-gltf-v1-fields.js.map +1 -0
- package/dist/gltf/lib/api/convert-gltf-v1-accessors.cjs +128 -0
- package/dist/gltf/lib/api/convert-gltf-v1-accessors.cjs.map +7 -0
- package/dist/gltf/lib/api/convert-gltf-v1-accessors.d.ts +8 -0
- package/dist/gltf/lib/api/convert-gltf-v1-accessors.d.ts.map +1 -0
- package/dist/gltf/lib/api/convert-gltf-v1-accessors.js +147 -0
- package/dist/gltf/lib/api/convert-gltf-v1-accessors.js.map +1 -0
- package/dist/gltf/lib/api/convert-gltf-v1-animations.cjs +81 -0
- package/dist/gltf/lib/api/convert-gltf-v1-animations.cjs.map +7 -0
- package/dist/gltf/lib/api/convert-gltf-v1-animations.d.ts +4 -0
- package/dist/gltf/lib/api/convert-gltf-v1-animations.d.ts.map +1 -0
- package/dist/gltf/lib/api/convert-gltf-v1-animations.js +61 -0
- package/dist/gltf/lib/api/convert-gltf-v1-animations.js.map +1 -0
- package/dist/gltf/lib/api/convert-gltf-v1-materials.cjs +265 -0
- package/dist/gltf/lib/api/convert-gltf-v1-materials.cjs.map +7 -0
- package/dist/gltf/lib/api/convert-gltf-v1-materials.d.ts +6 -0
- package/dist/gltf/lib/api/convert-gltf-v1-materials.d.ts.map +1 -0
- package/dist/gltf/lib/api/convert-gltf-v1-materials.js +266 -0
- package/dist/gltf/lib/api/convert-gltf-v1-materials.js.map +1 -0
- package/dist/gltf/lib/api/convert-gltf-v1-matrix-nodes.cjs +98 -0
- package/dist/gltf/lib/api/convert-gltf-v1-matrix-nodes.cjs.map +7 -0
- package/dist/gltf/lib/api/convert-gltf-v1-matrix-nodes.d.ts +4 -0
- package/dist/gltf/lib/api/convert-gltf-v1-matrix-nodes.d.ts.map +1 -0
- package/dist/gltf/lib/api/convert-gltf-v1-matrix-nodes.js +86 -0
- package/dist/gltf/lib/api/convert-gltf-v1-matrix-nodes.js.map +1 -0
- package/dist/gltf/lib/api/convert-gltf-v1-skin-scenes.cjs +87 -0
- package/dist/gltf/lib/api/convert-gltf-v1-skin-scenes.cjs.map +7 -0
- package/dist/gltf/lib/api/convert-gltf-v1-skin-scenes.d.ts +4 -0
- package/dist/gltf/lib/api/convert-gltf-v1-skin-scenes.d.ts.map +1 -0
- package/dist/gltf/lib/api/convert-gltf-v1-skin-scenes.js +72 -0
- package/dist/gltf/lib/api/convert-gltf-v1-skin-scenes.js.map +1 -0
- package/dist/gltf/lib/api/convert-gltf-v1-skins.cjs +173 -0
- package/dist/gltf/lib/api/convert-gltf-v1-skins.cjs.map +7 -0
- package/dist/gltf/lib/api/convert-gltf-v1-skins.d.ts +9 -0
- package/dist/gltf/lib/api/convert-gltf-v1-skins.d.ts.map +1 -0
- package/dist/gltf/lib/api/convert-gltf-v1-skins.js +161 -0
- package/dist/gltf/lib/api/convert-gltf-v1-skins.js.map +1 -0
- package/dist/gltf/lib/api/gltf-accessors.cjs +83 -0
- package/dist/gltf/lib/api/gltf-accessors.cjs.map +7 -0
- package/dist/gltf/lib/api/gltf-accessors.d.ts +22 -0
- package/dist/gltf/lib/api/gltf-accessors.d.ts.map +1 -0
- package/dist/gltf/lib/api/gltf-accessors.js +66 -0
- package/dist/gltf/lib/api/gltf-accessors.js.map +1 -0
- package/dist/gltf/lib/api/gltf-culling.cjs +73 -0
- package/dist/gltf/lib/api/gltf-culling.cjs.map +7 -0
- package/dist/gltf/lib/api/gltf-culling.d.ts +12 -0
- package/dist/gltf/lib/api/gltf-culling.d.ts.map +1 -0
- package/dist/gltf/lib/api/gltf-culling.js +55 -0
- package/dist/gltf/lib/api/gltf-culling.js.map +1 -0
- package/dist/gltf/lib/api/gltf-extension-data.cjs +102 -0
- package/dist/gltf/lib/api/gltf-extension-data.cjs.map +7 -0
- package/dist/gltf/lib/api/gltf-extension-data.d.ts +38 -0
- package/dist/gltf/lib/api/gltf-extension-data.d.ts.map +1 -0
- package/dist/gltf/lib/api/gltf-extension-data.js +75 -0
- package/dist/gltf/lib/api/gltf-extension-data.js.map +1 -0
- package/dist/gltf/lib/api/gltf-extensions.cjs +128 -0
- package/dist/gltf/lib/api/gltf-extensions.cjs.map +7 -0
- package/dist/gltf/lib/api/gltf-extensions.d.ts +33 -0
- package/dist/gltf/lib/api/gltf-extensions.d.ts.map +1 -0
- package/dist/gltf/lib/api/gltf-extensions.js +102 -0
- package/dist/gltf/lib/api/gltf-extensions.js.map +1 -0
- package/dist/gltf/lib/api/gltf-iterator.cjs +1001 -0
- package/dist/gltf/lib/api/gltf-iterator.cjs.map +7 -0
- package/dist/gltf/lib/api/gltf-iterator.d.ts +407 -0
- package/dist/gltf/lib/api/gltf-iterator.d.ts.map +1 -0
- package/dist/gltf/lib/api/gltf-iterator.js +940 -0
- package/dist/gltf/lib/api/gltf-iterator.js.map +1 -0
- package/dist/gltf/lib/api/gltf-mesh-arrow.cjs +269 -0
- package/dist/gltf/lib/api/gltf-mesh-arrow.cjs.map +7 -0
- package/dist/gltf/lib/api/gltf-mesh-arrow.d.ts +53 -0
- package/dist/gltf/lib/api/gltf-mesh-arrow.d.ts.map +1 -0
- package/dist/gltf/lib/api/gltf-mesh-arrow.js +247 -0
- package/dist/gltf/lib/api/gltf-mesh-arrow.js.map +1 -0
- package/dist/gltf/lib/api/gltf-scenegraph.cjs +615 -0
- package/dist/gltf/lib/api/gltf-scenegraph.cjs.map +7 -0
- package/dist/gltf/lib/api/gltf-scenegraph.d.ts +183 -0
- package/dist/gltf/lib/api/gltf-scenegraph.d.ts.map +1 -0
- package/dist/gltf/lib/api/gltf-scenegraph.js +624 -0
- package/dist/gltf/lib/api/gltf-scenegraph.js.map +1 -0
- package/dist/gltf/lib/api/normalize-gltf-v1.cjs +479 -0
- package/dist/gltf/lib/api/normalize-gltf-v1.cjs.map +7 -0
- package/dist/gltf/lib/api/normalize-gltf-v1.d.ts +37 -0
- package/dist/gltf/lib/api/normalize-gltf-v1.d.ts.map +1 -0
- package/dist/gltf/lib/api/normalize-gltf-v1.js +461 -0
- package/dist/gltf/lib/api/normalize-gltf-v1.js.map +1 -0
- package/dist/gltf/lib/api/repack-gltf-v1-accessors.cjs +405 -0
- package/dist/gltf/lib/api/repack-gltf-v1-accessors.cjs.map +7 -0
- package/dist/gltf/lib/api/repack-gltf-v1-accessors.d.ts +50 -0
- package/dist/gltf/lib/api/repack-gltf-v1-accessors.d.ts.map +1 -0
- package/dist/gltf/lib/api/repack-gltf-v1-accessors.js +448 -0
- package/dist/gltf/lib/api/repack-gltf-v1-accessors.js.map +1 -0
- package/dist/gltf/lib/api/validate-gltf-v1-buffers.cjs +110 -0
- package/dist/gltf/lib/api/validate-gltf-v1-buffers.cjs.map +7 -0
- package/dist/gltf/lib/api/validate-gltf-v1-buffers.d.ts +4 -0
- package/dist/gltf/lib/api/validate-gltf-v1-buffers.d.ts.map +1 -0
- package/dist/gltf/lib/api/validate-gltf-v1-buffers.js +111 -0
- package/dist/gltf/lib/api/validate-gltf-v1-buffers.js.map +1 -0
- package/dist/gltf/lib/api/validate-gltf-v1-cameras.cjs +41 -0
- package/dist/gltf/lib/api/validate-gltf-v1-cameras.cjs.map +7 -0
- package/dist/gltf/lib/api/validate-gltf-v1-cameras.d.ts +4 -0
- package/dist/gltf/lib/api/validate-gltf-v1-cameras.d.ts.map +1 -0
- package/dist/gltf/lib/api/validate-gltf-v1-cameras.js +34 -0
- package/dist/gltf/lib/api/validate-gltf-v1-cameras.js.map +1 -0
- package/dist/gltf/lib/api/validate-gltf-v1-geometry.cjs +121 -0
- package/dist/gltf/lib/api/validate-gltf-v1-geometry.cjs.map +7 -0
- package/dist/gltf/lib/api/validate-gltf-v1-geometry.d.ts +5 -0
- package/dist/gltf/lib/api/validate-gltf-v1-geometry.d.ts.map +1 -0
- package/dist/gltf/lib/api/validate-gltf-v1-geometry.js +118 -0
- package/dist/gltf/lib/api/validate-gltf-v1-geometry.js.map +1 -0
- package/dist/gltf/lib/api/validate-gltf-v1-payloads.cjs +265 -0
- package/dist/gltf/lib/api/validate-gltf-v1-payloads.cjs.map +7 -0
- package/dist/gltf/lib/api/validate-gltf-v1-payloads.d.ts +4 -0
- package/dist/gltf/lib/api/validate-gltf-v1-payloads.d.ts.map +1 -0
- package/dist/gltf/lib/api/validate-gltf-v1-payloads.js +268 -0
- package/dist/gltf/lib/api/validate-gltf-v1-payloads.js.map +1 -0
- package/dist/gltf/lib/encoders/encode-glb.cjs +147 -0
- package/dist/gltf/lib/encoders/encode-glb.cjs.map +7 -0
- package/dist/gltf/lib/encoders/encode-glb.d.ts +21 -0
- package/dist/gltf/lib/encoders/encode-glb.d.ts.map +1 -0
- package/dist/gltf/lib/encoders/encode-glb.js +142 -0
- package/dist/gltf/lib/encoders/encode-glb.js.map +1 -0
- package/dist/gltf/lib/encoders/encode-gltf-draco.cjs +212 -0
- package/dist/gltf/lib/encoders/encode-gltf-draco.cjs.map +7 -0
- package/dist/gltf/lib/encoders/encode-gltf-draco.d.ts +20 -0
- package/dist/gltf/lib/encoders/encode-gltf-draco.d.ts.map +1 -0
- package/dist/gltf/lib/encoders/encode-gltf-draco.js +187 -0
- package/dist/gltf/lib/encoders/encode-gltf-draco.js.map +1 -0
- package/dist/gltf/lib/encoders/encode-gltf.cjs +40 -0
- package/dist/gltf/lib/encoders/encode-gltf.cjs.map +7 -0
- package/dist/gltf/lib/encoders/encode-gltf.d.ts +22 -0
- package/dist/gltf/lib/encoders/encode-gltf.d.ts.map +1 -0
- package/dist/gltf/lib/encoders/encode-gltf.js +32 -0
- package/dist/gltf/lib/encoders/encode-gltf.js.map +1 -0
- package/dist/gltf/lib/extensions/EXT_mesh_features.cjs +175 -0
- package/dist/gltf/lib/extensions/EXT_mesh_features.cjs.map +7 -0
- package/dist/gltf/lib/extensions/EXT_mesh_features.d.ts +22 -0
- package/dist/gltf/lib/extensions/EXT_mesh_features.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/EXT_mesh_features.js +189 -0
- package/dist/gltf/lib/extensions/EXT_mesh_features.js.map +1 -0
- package/dist/gltf/lib/extensions/EXT_mesh_polygon.cjs +149 -0
- package/dist/gltf/lib/extensions/EXT_mesh_polygon.cjs.map +7 -0
- package/dist/gltf/lib/extensions/EXT_mesh_polygon.d.ts +7 -0
- package/dist/gltf/lib/extensions/EXT_mesh_polygon.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/EXT_mesh_polygon.js +125 -0
- package/dist/gltf/lib/extensions/EXT_mesh_polygon.js.map +1 -0
- package/dist/gltf/lib/extensions/EXT_meshopt_compression.cjs +37 -0
- package/dist/gltf/lib/extensions/EXT_meshopt_compression.cjs.map +7 -0
- package/dist/gltf/lib/extensions/EXT_meshopt_compression.d.ts +25 -0
- package/dist/gltf/lib/extensions/EXT_meshopt_compression.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/EXT_meshopt_compression.js +29 -0
- package/dist/gltf/lib/extensions/EXT_meshopt_compression.js.map +1 -0
- package/dist/gltf/lib/extensions/EXT_primitive_voxels.cjs +87 -0
- package/dist/gltf/lib/extensions/EXT_primitive_voxels.cjs.map +7 -0
- package/dist/gltf/lib/extensions/EXT_primitive_voxels.d.ts +10 -0
- package/dist/gltf/lib/extensions/EXT_primitive_voxels.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/EXT_primitive_voxels.js +57 -0
- package/dist/gltf/lib/extensions/EXT_primitive_voxels.js.map +1 -0
- package/dist/gltf/lib/extensions/EXT_structural_metadata.cjs +684 -0
- package/dist/gltf/lib/extensions/EXT_structural_metadata.cjs.map +7 -0
- package/dist/gltf/lib/extensions/EXT_structural_metadata.d.ts +26 -0
- package/dist/gltf/lib/extensions/EXT_structural_metadata.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/EXT_structural_metadata.js +786 -0
- package/dist/gltf/lib/extensions/EXT_structural_metadata.js.map +1 -0
- package/dist/gltf/lib/extensions/EXT_texture_avif.cjs +56 -0
- package/dist/gltf/lib/extensions/EXT_texture_avif.cjs.map +7 -0
- package/dist/gltf/lib/extensions/EXT_texture_avif.d.ts +15 -0
- package/dist/gltf/lib/extensions/EXT_texture_avif.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/EXT_texture_avif.js +40 -0
- package/dist/gltf/lib/extensions/EXT_texture_avif.js.map +1 -0
- package/dist/gltf/lib/extensions/EXT_texture_webp.cjs +54 -0
- package/dist/gltf/lib/extensions/EXT_texture_webp.cjs.map +7 -0
- package/dist/gltf/lib/extensions/EXT_texture_webp.d.ts +10 -0
- package/dist/gltf/lib/extensions/EXT_texture_webp.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/EXT_texture_webp.js +35 -0
- package/dist/gltf/lib/extensions/EXT_texture_webp.js.map +1 -0
- package/dist/gltf/lib/extensions/KHR_accessor_float64.cjs +45 -0
- package/dist/gltf/lib/extensions/KHR_accessor_float64.cjs.map +7 -0
- package/dist/gltf/lib/extensions/KHR_accessor_float64.d.ts +6 -0
- package/dist/gltf/lib/extensions/KHR_accessor_float64.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/KHR_accessor_float64.js +20 -0
- package/dist/gltf/lib/extensions/KHR_accessor_float64.js.map +1 -0
- package/dist/gltf/lib/extensions/KHR_audio_emitter.cjs +128 -0
- package/dist/gltf/lib/extensions/KHR_audio_emitter.cjs.map +7 -0
- package/dist/gltf/lib/extensions/KHR_audio_emitter.d.ts +8 -0
- package/dist/gltf/lib/extensions/KHR_audio_emitter.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/KHR_audio_emitter.js +121 -0
- package/dist/gltf/lib/extensions/KHR_audio_emitter.js.map +1 -0
- package/dist/gltf/lib/extensions/KHR_binary_gltf.cjs +53 -0
- package/dist/gltf/lib/extensions/KHR_binary_gltf.cjs.map +7 -0
- package/dist/gltf/lib/extensions/KHR_binary_gltf.d.ts +6 -0
- package/dist/gltf/lib/extensions/KHR_binary_gltf.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/KHR_binary_gltf.js +40 -0
- package/dist/gltf/lib/extensions/KHR_binary_gltf.js.map +1 -0
- package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.cjs +131 -0
- package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.cjs.map +7 -0
- package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.d.ts +8 -0
- package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.js +107 -0
- package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.js.map +1 -0
- package/dist/gltf/lib/extensions/KHR_gaussian_splatting.cjs +225 -0
- package/dist/gltf/lib/extensions/KHR_gaussian_splatting.cjs.map +7 -0
- package/dist/gltf/lib/extensions/KHR_gaussian_splatting.d.ts +14 -0
- package/dist/gltf/lib/extensions/KHR_gaussian_splatting.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/KHR_gaussian_splatting.js +176 -0
- package/dist/gltf/lib/extensions/KHR_gaussian_splatting.js.map +1 -0
- package/dist/gltf/lib/extensions/KHR_mesh_primitive_restart.cjs +110 -0
- package/dist/gltf/lib/extensions/KHR_mesh_primitive_restart.cjs.map +7 -0
- package/dist/gltf/lib/extensions/KHR_mesh_primitive_restart.d.ts +10 -0
- package/dist/gltf/lib/extensions/KHR_mesh_primitive_restart.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/KHR_mesh_primitive_restart.js +87 -0
- package/dist/gltf/lib/extensions/KHR_mesh_primitive_restart.js.map +1 -0
- package/dist/gltf/lib/extensions/KHR_meshopt_compression.cjs +37 -0
- package/dist/gltf/lib/extensions/KHR_meshopt_compression.cjs.map +7 -0
- package/dist/gltf/lib/extensions/KHR_meshopt_compression.d.ts +24 -0
- package/dist/gltf/lib/extensions/KHR_meshopt_compression.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/KHR_meshopt_compression.js +28 -0
- package/dist/gltf/lib/extensions/KHR_meshopt_compression.js.map +1 -0
- package/dist/gltf/lib/extensions/KHR_texture_basisu.cjs +47 -0
- package/dist/gltf/lib/extensions/KHR_texture_basisu.cjs.map +7 -0
- package/dist/gltf/lib/extensions/KHR_texture_basisu.d.ts +10 -0
- package/dist/gltf/lib/extensions/KHR_texture_basisu.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/KHR_texture_basisu.js +26 -0
- package/dist/gltf/lib/extensions/KHR_texture_basisu.js.map +1 -0
- package/dist/gltf/lib/extensions/KHR_texture_transform.cjs +258 -0
- package/dist/gltf/lib/extensions/KHR_texture_transform.cjs.map +7 -0
- package/dist/gltf/lib/extensions/KHR_texture_transform.d.ts +10 -0
- package/dist/gltf/lib/extensions/KHR_texture_transform.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/KHR_texture_transform.js +271 -0
- package/dist/gltf/lib/extensions/KHR_texture_transform.js.map +1 -0
- package/dist/gltf/lib/extensions/MPEG_audio_spatial.cjs +70 -0
- package/dist/gltf/lib/extensions/MPEG_audio_spatial.cjs.map +7 -0
- package/dist/gltf/lib/extensions/MPEG_audio_spatial.d.ts +10 -0
- package/dist/gltf/lib/extensions/MPEG_audio_spatial.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/MPEG_audio_spatial.js +45 -0
- package/dist/gltf/lib/extensions/MPEG_audio_spatial.js.map +1 -0
- package/dist/gltf/lib/extensions/MSFT_texture_dds.cjs +64 -0
- package/dist/gltf/lib/extensions/MSFT_texture_dds.cjs.map +7 -0
- package/dist/gltf/lib/extensions/MSFT_texture_dds.d.ts +12 -0
- package/dist/gltf/lib/extensions/MSFT_texture_dds.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/MSFT_texture_dds.js +39 -0
- package/dist/gltf/lib/extensions/MSFT_texture_dds.js.map +1 -0
- package/dist/gltf/lib/extensions/deprecated/EXT_feature_metadata.cjs +276 -0
- package/dist/gltf/lib/extensions/deprecated/EXT_feature_metadata.cjs.map +7 -0
- package/dist/gltf/lib/extensions/deprecated/EXT_feature_metadata.d.ts +5 -0
- package/dist/gltf/lib/extensions/deprecated/EXT_feature_metadata.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/deprecated/EXT_feature_metadata.js +306 -0
- package/dist/gltf/lib/extensions/deprecated/EXT_feature_metadata.js.map +1 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_lights_punctual.cjs +71 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_lights_punctual.cjs.map +7 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_lights_punctual.d.ts +5 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_lights_punctual.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_lights_punctual.js +54 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_lights_punctual.js.map +1 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_materials_unlit.cjs +62 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_materials_unlit.cjs.map +7 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_materials_unlit.d.ts +9 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_materials_unlit.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_materials_unlit.js +38 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_materials_unlit.js.map +1 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_techniques_webgl.cjs +99 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_techniques_webgl.cjs.map +7 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_techniques_webgl.d.ts +5 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_techniques_webgl.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_techniques_webgl.js +76 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_techniques_webgl.js.map +1 -0
- package/dist/gltf/lib/extensions/meshopt-compression.cjs +114 -0
- package/dist/gltf/lib/extensions/meshopt-compression.cjs.map +7 -0
- package/dist/gltf/lib/extensions/meshopt-compression.d.ts +48 -0
- package/dist/gltf/lib/extensions/meshopt-compression.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/meshopt-compression.js +123 -0
- package/dist/gltf/lib/extensions/meshopt-compression.js.map +1 -0
- package/dist/gltf/lib/extensions/utils/3d-tiles-utils.cjs +280 -0
- package/dist/gltf/lib/extensions/utils/3d-tiles-utils.cjs.map +7 -0
- package/dist/gltf/lib/extensions/utils/3d-tiles-utils.d.ts +84 -0
- package/dist/gltf/lib/extensions/utils/3d-tiles-utils.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/utils/3d-tiles-utils.js +360 -0
- package/dist/gltf/lib/extensions/utils/3d-tiles-utils.js.map +1 -0
- package/dist/gltf/lib/gltf-utils/get-typed-array.cjs +189 -0
- package/dist/gltf/lib/gltf-utils/get-typed-array.cjs.map +7 -0
- package/dist/gltf/lib/gltf-utils/get-typed-array.d.ts +13 -0
- package/dist/gltf/lib/gltf-utils/get-typed-array.d.ts.map +1 -0
- package/dist/gltf/lib/gltf-utils/get-typed-array.js +175 -0
- package/dist/gltf/lib/gltf-utils/get-typed-array.js.map +1 -0
- package/dist/gltf/lib/gltf-utils/gltf-attribute-utils.cjs +90 -0
- package/dist/gltf/lib/gltf-utils/gltf-attribute-utils.cjs.map +7 -0
- package/dist/gltf/lib/gltf-utils/gltf-attribute-utils.d.ts +6 -0
- package/dist/gltf/lib/gltf-utils/gltf-attribute-utils.d.ts.map +1 -0
- package/dist/gltf/lib/gltf-utils/gltf-attribute-utils.js +72 -0
- package/dist/gltf/lib/gltf-utils/gltf-attribute-utils.js.map +1 -0
- package/dist/gltf/lib/gltf-utils/gltf-constants.cjs +90 -0
- package/dist/gltf/lib/gltf-utils/gltf-constants.cjs.map +7 -0
- package/dist/gltf/lib/gltf-utils/gltf-constants.d.ts +26 -0
- package/dist/gltf/lib/gltf-utils/gltf-constants.d.ts.map +1 -0
- package/dist/gltf/lib/gltf-utils/gltf-constants.js +46 -0
- package/dist/gltf/lib/gltf-utils/gltf-constants.js.map +1 -0
- package/dist/gltf/lib/gltf-utils/gltf-utils.cjs +157 -0
- package/dist/gltf/lib/gltf-utils/gltf-utils.cjs.map +7 -0
- package/dist/gltf/lib/gltf-utils/gltf-utils.d.ts +17 -0
- package/dist/gltf/lib/gltf-utils/gltf-utils.d.ts.map +1 -0
- package/dist/gltf/lib/gltf-utils/gltf-utils.js +135 -0
- package/dist/gltf/lib/gltf-utils/gltf-utils.js.map +1 -0
- package/dist/gltf/lib/gltf-utils/resolve-gltf-file.cjs +91 -0
- package/dist/gltf/lib/gltf-utils/resolve-gltf-file.cjs.map +7 -0
- package/dist/gltf/lib/gltf-utils/resolve-gltf-file.d.ts +21 -0
- package/dist/gltf/lib/gltf-utils/resolve-gltf-file.d.ts.map +1 -0
- package/dist/gltf/lib/gltf-utils/resolve-gltf-file.js +77 -0
- package/dist/gltf/lib/gltf-utils/resolve-gltf-file.js.map +1 -0
- package/dist/gltf/lib/gltf-utils/resolve-url.cjs +61 -0
- package/dist/gltf/lib/gltf-utils/resolve-url.cjs.map +7 -0
- package/dist/gltf/lib/gltf-utils/resolve-url.d.ts +10 -0
- package/dist/gltf/lib/gltf-utils/resolve-url.d.ts.map +1 -0
- package/dist/gltf/lib/gltf-utils/resolve-url.js +43 -0
- package/dist/gltf/lib/gltf-utils/resolve-url.js.map +1 -0
- package/dist/gltf/lib/parsers/parse-glb.cjs +185 -0
- package/dist/gltf/lib/parsers/parse-glb.cjs.map +7 -0
- package/dist/gltf/lib/parsers/parse-glb.d.ts +20 -0
- package/dist/gltf/lib/parsers/parse-glb.d.ts.map +1 -0
- package/dist/gltf/lib/parsers/parse-glb.js +216 -0
- package/dist/gltf/lib/parsers/parse-glb.js.map +1 -0
- package/dist/gltf/lib/parsers/parse-gltf.cjs +391 -0
- package/dist/gltf/lib/parsers/parse-gltf.cjs.map +7 -0
- package/dist/gltf/lib/parsers/parse-gltf.d.ts +45 -0
- package/dist/gltf/lib/parsers/parse-gltf.d.ts.map +1 -0
- package/dist/gltf/lib/parsers/parse-gltf.js +392 -0
- package/dist/gltf/lib/parsers/parse-gltf.js.map +1 -0
- package/dist/gltf/lib/types/glb-types.cjs +19 -0
- package/dist/gltf/lib/types/glb-types.cjs.map +7 -0
- package/dist/gltf/lib/types/glb-types.d.ts +35 -0
- package/dist/gltf/lib/types/glb-types.d.ts.map +1 -0
- package/dist/gltf/lib/types/glb-types.js +5 -0
- package/dist/gltf/lib/types/glb-types.js.map +1 -0
- package/dist/gltf/lib/types/gltf-additional-extension-schemas.cjs +145 -0
- package/dist/gltf/lib/types/gltf-additional-extension-schemas.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-additional-extension-schemas.d.ts +133 -0
- package/dist/gltf/lib/types/gltf-additional-extension-schemas.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-additional-extension-schemas.js +109 -0
- package/dist/gltf/lib/types/gltf-additional-extension-schemas.js.map +1 -0
- package/dist/gltf/lib/types/gltf-audio-extension-schemas.cjs +189 -0
- package/dist/gltf/lib/types/gltf-audio-extension-schemas.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-audio-extension-schemas.d.ts +192 -0
- package/dist/gltf/lib/types/gltf-audio-extension-schemas.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-audio-extension-schemas.js +154 -0
- package/dist/gltf/lib/types/gltf-audio-extension-schemas.js.map +1 -0
- package/dist/gltf/lib/types/gltf-ext-feature-metadata-schema.cjs +19 -0
- package/dist/gltf/lib/types/gltf-ext-feature-metadata-schema.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-ext-feature-metadata-schema.d.ts +421 -0
- package/dist/gltf/lib/types/gltf-ext-feature-metadata-schema.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-ext-feature-metadata-schema.js +5 -0
- package/dist/gltf/lib/types/gltf-ext-feature-metadata-schema.js.map +1 -0
- package/dist/gltf/lib/types/gltf-ext-gaussian-splatting-schema.cjs +19 -0
- package/dist/gltf/lib/types/gltf-ext-gaussian-splatting-schema.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-ext-gaussian-splatting-schema.d.ts +39 -0
- package/dist/gltf/lib/types/gltf-ext-gaussian-splatting-schema.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-ext-gaussian-splatting-schema.js +5 -0
- package/dist/gltf/lib/types/gltf-ext-gaussian-splatting-schema.js.map +1 -0
- package/dist/gltf/lib/types/gltf-ext-mesh-features-schema.cjs +19 -0
- package/dist/gltf/lib/types/gltf-ext-mesh-features-schema.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-ext-mesh-features-schema.d.ts +49 -0
- package/dist/gltf/lib/types/gltf-ext-mesh-features-schema.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-ext-mesh-features-schema.js +5 -0
- package/dist/gltf/lib/types/gltf-ext-mesh-features-schema.js.map +1 -0
- package/dist/gltf/lib/types/gltf-ext-structural-metadata-schema.cjs +19 -0
- package/dist/gltf/lib/types/gltf-ext-structural-metadata-schema.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-ext-structural-metadata-schema.d.ts +334 -0
- package/dist/gltf/lib/types/gltf-ext-structural-metadata-schema.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-ext-structural-metadata-schema.js +5 -0
- package/dist/gltf/lib/types/gltf-ext-structural-metadata-schema.js.map +1 -0
- package/dist/gltf/lib/types/gltf-ext-vector-voxel-schema.cjs +19 -0
- package/dist/gltf/lib/types/gltf-ext-vector-voxel-schema.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-ext-vector-voxel-schema.d.ts +42 -0
- package/dist/gltf/lib/types/gltf-ext-vector-voxel-schema.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-ext-vector-voxel-schema.js +5 -0
- package/dist/gltf/lib/types/gltf-ext-vector-voxel-schema.js.map +1 -0
- package/dist/gltf/lib/types/gltf-extension-schemas.cjs +91 -0
- package/dist/gltf/lib/types/gltf-extension-schemas.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-extension-schemas.d.ts +256 -0
- package/dist/gltf/lib/types/gltf-extension-schemas.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-extension-schemas.js +60 -0
- package/dist/gltf/lib/types/gltf-extension-schemas.js.map +1 -0
- package/dist/gltf/lib/types/gltf-interactivity.cjs +34 -0
- package/dist/gltf/lib/types/gltf-interactivity.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-interactivity.d.ts +131 -0
- package/dist/gltf/lib/types/gltf-interactivity.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-interactivity.js +13 -0
- package/dist/gltf/lib/types/gltf-interactivity.js.map +1 -0
- package/dist/gltf/lib/types/gltf-json-schema.cjs +19 -0
- package/dist/gltf/lib/types/gltf-json-schema.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-json-schema.d.ts +841 -0
- package/dist/gltf/lib/types/gltf-json-schema.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-json-schema.js +3 -0
- package/dist/gltf/lib/types/gltf-json-schema.js.map +1 -0
- package/dist/gltf/lib/types/gltf-khr-audio-emitter-schema.cjs +19 -0
- package/dist/gltf/lib/types/gltf-khr-audio-emitter-schema.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-khr-audio-emitter-schema.d.ts +46 -0
- package/dist/gltf/lib/types/gltf-khr-audio-emitter-schema.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-khr-audio-emitter-schema.js +5 -0
- package/dist/gltf/lib/types/gltf-khr-audio-emitter-schema.js.map +1 -0
- package/dist/gltf/lib/types/gltf-mpeg-audio-spatial-schema.cjs +19 -0
- package/dist/gltf/lib/types/gltf-mpeg-audio-spatial-schema.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-mpeg-audio-spatial-schema.d.ts +20 -0
- package/dist/gltf/lib/types/gltf-mpeg-audio-spatial-schema.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-mpeg-audio-spatial-schema.js +5 -0
- package/dist/gltf/lib/types/gltf-mpeg-audio-spatial-schema.js.map +1 -0
- package/dist/gltf/lib/types/gltf-official-json-schemas.cjs +17840 -0
- package/dist/gltf/lib/types/gltf-official-json-schemas.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-official-json-schemas.d.ts +14 -0
- package/dist/gltf/lib/types/gltf-official-json-schemas.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-official-json-schemas.js +17751 -0
- package/dist/gltf/lib/types/gltf-official-json-schemas.js.map +1 -0
- package/dist/gltf/lib/types/gltf-shape-schema.cjs +19 -0
- package/dist/gltf/lib/types/gltf-shape-schema.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-shape-schema.d.ts +49 -0
- package/dist/gltf/lib/types/gltf-shape-schema.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-shape-schema.js +5 -0
- package/dist/gltf/lib/types/gltf-shape-schema.js.map +1 -0
- package/dist/gltf/lib/types/gltf-texture-procedurals.cjs +19 -0
- package/dist/gltf/lib/types/gltf-texture-procedurals.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-texture-procedurals.d.ts +45 -0
- package/dist/gltf/lib/types/gltf-texture-procedurals.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-texture-procedurals.js +5 -0
- package/dist/gltf/lib/types/gltf-texture-procedurals.js.map +1 -0
- package/dist/gltf/lib/types/gltf-types.cjs +19 -0
- package/dist/gltf/lib/types/gltf-types.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-types.d.ts +60 -0
- package/dist/gltf/lib/types/gltf-types.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-types.js +5 -0
- package/dist/gltf/lib/types/gltf-types.js.map +1 -0
- package/dist/gltf/lib/types/gltf-vector-topology.cjs +19 -0
- package/dist/gltf/lib/types/gltf-vector-topology.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-vector-topology.d.ts +56 -0
- package/dist/gltf/lib/types/gltf-vector-topology.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-vector-topology.js +5 -0
- package/dist/gltf/lib/types/gltf-vector-topology.js.map +1 -0
- package/dist/gltf/lib/types/gltf-version-zod-schemas.cjs +423 -0
- package/dist/gltf/lib/types/gltf-version-zod-schemas.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-version-zod-schemas.d.ts +1163 -0
- package/dist/gltf/lib/types/gltf-version-zod-schemas.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-version-zod-schemas.js +333 -0
- package/dist/gltf/lib/types/gltf-version-zod-schemas.js.map +1 -0
- package/dist/gltf/lib/types/gltf-zod-schema.cjs +465 -0
- package/dist/gltf/lib/types/gltf-zod-schema.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-zod-schema.d.ts +1651 -0
- package/dist/gltf/lib/types/gltf-zod-schema.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-zod-schema.js +501 -0
- package/dist/gltf/lib/types/gltf-zod-schema.js.map +1 -0
- package/dist/gltf/lib/utils/assert.cjs +35 -0
- package/dist/gltf/lib/utils/assert.cjs.map +7 -0
- package/dist/gltf/lib/utils/assert.d.ts +2 -0
- package/dist/gltf/lib/utils/assert.d.ts.map +1 -0
- package/dist/gltf/lib/utils/assert.js +12 -0
- package/dist/gltf/lib/utils/assert.js.map +1 -0
- package/dist/gltf/lib/utils/version.cjs +31 -0
- package/dist/gltf/lib/utils/version.cjs.map +7 -0
- package/dist/gltf/lib/utils/version.d.ts +2 -0
- package/dist/gltf/lib/utils/version.d.ts.map +1 -0
- package/dist/gltf/lib/utils/version.js +8 -0
- package/dist/gltf/lib/utils/version.js.map +1 -0
- package/dist/gltf/libs/README.md +12 -0
- package/dist/gltf/libs/meshopt-decoder.d.mts +15 -0
- package/dist/gltf/libs/meshopt-decoder.mjs +196 -0
- package/dist/gltf/libs/meshoptimizer-LICENSE.md +21 -0
- package/dist/gltf/mesh-arrow.cjs +31 -0
- package/dist/gltf/mesh-arrow.cjs.map +7 -0
- package/dist/gltf/mesh-arrow.d.ts +2 -0
- package/dist/gltf/mesh-arrow.d.ts.map +1 -0
- package/dist/gltf/mesh-arrow.js +5 -0
- package/dist/gltf/mesh-arrow.js.map +1 -0
- package/dist/gltf/meshopt/meshopt-decoder.cjs +93 -0
- package/dist/gltf/meshopt/meshopt-decoder.cjs.map +7 -0
- package/dist/gltf/meshopt/meshopt-decoder.d.ts +78 -0
- package/dist/gltf/meshopt/meshopt-decoder.d.ts.map +1 -0
- package/dist/gltf/meshopt/meshopt-decoder.js +111 -0
- package/dist/gltf/meshopt/meshopt-decoder.js.map +1 -0
- package/dist/gltf/meshopt/meshopt-module-loader.cjs +43 -0
- package/dist/gltf/meshopt/meshopt-module-loader.cjs.map +7 -0
- package/dist/gltf/meshopt/meshopt-module-loader.d.ts +3 -0
- package/dist/gltf/meshopt/meshopt-module-loader.d.ts.map +1 -0
- package/dist/gltf/meshopt/meshopt-module-loader.js +8 -0
- package/dist/gltf/meshopt/meshopt-module-loader.js.map +1 -0
- package/dist/gltf/schema.cjs +63 -0
- package/dist/gltf/schema.cjs.map +7 -0
- package/dist/gltf/schema.d.ts +7 -0
- package/dist/gltf/schema.d.ts.map +1 -0
- package/dist/gltf/schema.js +11 -0
- package/dist/gltf/schema.js.map +1 -0
- package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_binary_glTF/image.KHR_binary_glTF.schema.json +34 -0
- package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_binary_glTF/shader.KHR_binary_glTF.schema.json +16 -0
- package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_materials_common/glTF.KHR_materials_common.schema.json +272 -0
- package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_materials_common/light.ambient.schema.json +57 -0
- package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_materials_common/light.directional.schema.json +57 -0
- package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_materials_common/light.point.schema.json +72 -0
- package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_materials_common/light.schema.json +258 -0
- package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_materials_common/light.spot.schema.json +82 -0
- package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_materials_common/node.KHR_materials_common.schema.json +23 -0
- package/dist/gltf/schemas/extensions/1.0/Vendor/CESIUM_RTC/CESIUM_RTC.schema.json +21 -0
- package/dist/gltf/schemas/extensions/1.0/Vendor/WEB3D_quantized_attributes/WEB3D_quantized_attributes.accessor.schema.json +40 -0
- package/dist/gltf/schemas/extensions/2.0/Archived/KHR_materials_pbrSpecularGlossiness/glTF.KHR_materials_pbrSpecularGlossiness.schema.json +141 -0
- package/dist/gltf/schemas/extensions/2.0/Archived/KHR_techniques_webgl/glTF.KHR_techniques_webgl.schema.json +417 -0
- package/dist/gltf/schemas/extensions/2.0/Archived/KHR_techniques_webgl/material.KHR_techniques_webgl.schema.json +133 -0
- package/dist/gltf/schemas/extensions/2.0/Archived/KHR_techniques_webgl/program.schema.json +97 -0
- package/dist/gltf/schemas/extensions/2.0/Archived/KHR_techniques_webgl/shader.schema.json +109 -0
- package/dist/gltf/schemas/extensions/2.0/Archived/KHR_techniques_webgl/technique.attribute.schema.json +51 -0
- package/dist/gltf/schemas/extensions/2.0/Archived/KHR_techniques_webgl/technique.schema.json +267 -0
- package/dist/gltf/schemas/extensions/2.0/Archived/KHR_techniques_webgl/technique.uniform.schema.json +185 -0
- package/dist/gltf/schemas/extensions/2.0/Archived/KHR_techniques_webgl/uniform.value.schema.json +98 -0
- package/dist/gltf/schemas/extensions/2.0/Archived/KHR_xmp/glTF.KHR_xmp.schema.json +61 -0
- package/dist/gltf/schemas/extensions/2.0/Archived/KHR_xmp/node.KHR_xmp.schema.json +59 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_animation_pointer/animation.channel.target.KHR_animation_pointer.schema.json +51 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_draco_mesh_compression/mesh.primitive.KHR_draco_mesh_compression.schema.json +67 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_gaussian_splatting/mesh.primitive.KHR_gaussian_splatting.schema.json +100 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_interactivity/declaration.KHR_interactivity.schema.json +106 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_interactivity/event.KHR_interactivity.schema.json +90 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_interactivity/glTF.KHR_interactivity.schema.json +546 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_interactivity/graph.KHR_interactivity.schema.json +512 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_interactivity/node.KHR_interactivity.schema.json +183 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_interactivity/type.KHR_interactivity.schema.json +96 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_interactivity/variable.KHR_interactivity.schema.json +64 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_lights_punctual/glTF.KHR_lights_punctual.schema.json +175 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_lights_punctual/light.schema.json +151 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_lights_punctual/light.spot.schema.json +58 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_lights_punctual/node.KHR_lights_punctual.schema.json +58 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_anisotropy/material.KHR_materials_anisotropy.schema.json +103 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_clearcoat/material.KHR_materials_clearcoat.schema.json +144 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_diffuse_transmission/material.KHR_materials_diffuse_transmission.schema.json +123 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_dispersion/material.KHR_materials_dispersion.schema.json +50 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_emissive_strength/material.KHR_materials_emissive_strength.schema.json +49 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_ior/material.KHR_materials_ior.schema.json +58 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_iridescence/material.KHR_materials_iridescence.schema.json +125 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_sheen/material.KHR_materials_sheen.schema.json +122 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_specular/material.KHR_materials_specular.schema.json +122 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_transmission/material.KHR_materials_transmission.schema.json +97 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_unlit/material.KHR_materials_unlit.schema.json +43 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_variants/glTF.KHR_materials_variants.schema.json +88 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_variants/mesh.primitive.KHR_materials_variants.schema.json +100 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_volume/material.KHR_materials_volume.schema.json +119 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_meshopt_compression/buffer.KHR_meshopt_compression.schema.json +48 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_meshopt_compression/bufferView.KHR_meshopt_compression.schema.json +106 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_node_hoverability/node.KHR_node_hoverability.schema.json +49 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_node_selectability/node.KHR_node_selectability.schema.json +49 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_node_visibility/node.KHR_node_visibility.schema.json +49 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_texture_basisu/texture.KHR_texture_basisu.schema.json +56 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_texture_transform/textureInfo.KHR_texture_transform.schema.json +79 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_xmp_json_ld/KHR_xmp_json_ld.schema.json +59 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_xmp_json_ld/glTF.KHR_xmp_json_ld.schema.json +70 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/ADOBE_materials_clearcoat_specular/glTF.ADOBE_materials_clearcoat_specular.schema.json +105 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/ADOBE_materials_clearcoat_tint/material.ADOBE_materials_clearcoat_tint.schema.json +106 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/ADOBE_materials_thin_transparency/glTF.ADOBE_materials_thin_transparency.schema.json +105 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/AGI_articulations/articulation.schema.json +177 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/AGI_articulations/articulation.stage.schema.json +136 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/AGI_articulations/gltf.AGI_articulations.schema.json +200 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/AGI_articulations/node.AGI_articulations.schema.json +53 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/AGI_stk_metadata/gltf.AGI_stk_metadata.schema.json +81 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/AGI_stk_metadata/node.AGI_stk_metadata.schema.json +53 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/AGI_stk_metadata/solarPanelGroup.schema.json +59 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/CESIUM_primitive_outline/primitive.CESIUM_primitive_outline.schema.json +56 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_lights_ies/glTF.EXT_lights_ies.schema.json +132 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_lights_ies/lightProfile.schema.json +107 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_lights_ies/node.EXT_lights_ies.schema.json +80 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_lights_image_based/glTF.EXT_lights_image_based.schema.json +145 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_lights_image_based/light.schema.json +121 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_lights_image_based/scene.EXT_lights_image_based.schema.json +58 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_mesh_gpu_instancing/glTF.EXT_mesh_gpu_instancing.schema.json +56 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_mesh_manifold/mesh.EXT_mesh_manifold.schema.json +175 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_mesh_primitive_edge_visibility/lineString.schema.json +70 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_mesh_primitive_edge_visibility/primitive.EXT_mesh_primitive_edge_visibility.schema.json +119 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_mesh_primitive_restart/EXT_mesh_primitive_restart.schema.json +97 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_mesh_primitive_restart/primitiveGroup.schema.json +72 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_meshopt_compression/buffer.EXT_meshopt_compression.schema.json +48 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_meshopt_compression/bufferView.EXT_meshopt_compression.schema.json +105 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_texture_astc/texture.EXT_texture_astc.schema.json +56 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_texture_webp/glTF.EXT_texture_webp.schema.json +56 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/FB_geometry_metadata/scene.FB_geometry_metadata.schema.json +97 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/FB_geometry_metadata/sceneBounds.schema.json +64 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/GRIFFEL_bim_data/GRIFFEL_bim_data.schema.json +164 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/GRIFFEL_bim_data/glTF.GRIFFEL_bim_data.schema.json +107 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/GRIFFEL_bim_data/node.GRIFFEL_bim_data.schema.json +95 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_accessor_timed/MPEG_accessor_timed.schema.json +85 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_animation_timing/MPEG_animation_timing.schema.json +60 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_audio_spatial/MPEG_audio_spatial.listener.schema.json +51 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_audio_spatial/MPEG_audio_spatial.reverb.property.schema.json +63 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_audio_spatial/MPEG_audio_spatial.reverb.schema.json +107 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_audio_spatial/MPEG_audio_spatial.schema.json +276 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_audio_spatial/MPEG_audio_spatial.source.schema.json +139 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_buffer_circular/MPEG_buffer_circular.schema.json +80 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_media/MPEG_media.media.alternative.schema.json +110 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_media/MPEG_media.media.alternative.track.schema.json +56 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_media/MPEG_media.media.schema.json +195 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_media/MPEG_media.schema.json +237 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_mesh_linking/MPEG_mesh_linking.schema.json +89 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_scene_dynamic/MPEG_scene_dynamic.schema.json +69 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_texture_video/MPEG_texture_video.schema.json +109 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_viewport_recommended/MPEG_viewport_recommended.schema.json +119 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_viewport_recommended/MPEG_viewport_recommended.viewport.schema.json +96 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MSFT_lod/glTF.MSFT_lod.schema.json +51 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MSFT_packing_normalRoughnessMetallic/glTF.MSFT_packing_normalRoughnessMetallic.schema.json +62 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MSFT_packing_occlusionRoughnessMetallic/glTF.MSFT_packing_occlusionRoughnessMetallic.schema.json +90 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MSFT_texture_dds/glTF.MSFT_texture_dds.schema.json +56 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/NV_materials_mdl/bsdfMeasurement.schema.json +109 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/NV_materials_mdl/functionCall.argument.schema.json +228 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/NV_materials_mdl/functionCall.schema.json +292 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/NV_materials_mdl/functionCall.type.schema.json +86 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/NV_materials_mdl/glTF.NV_materials_mdl.schema.json +451 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/NV_materials_mdl/material.NV_materials_mdl.schema.json +60 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/NV_materials_mdl/module.schema.json +114 -0
- package/dist/gltf/unbundled.cjs +34 -0
- package/dist/gltf/unbundled.cjs.map +7 -0
- package/dist/gltf/unbundled.d.ts +5 -0
- package/dist/gltf/unbundled.d.ts.map +1 -0
- package/dist/gltf/unbundled.js +6 -0
- package/dist/gltf/unbundled.js.map +1 -0
- package/dist/gltf/webp/webp.cjs +53 -0
- package/dist/gltf/webp/webp.cjs.map +7 -0
- package/dist/gltf/webp/webp.d.ts +7 -0
- package/dist/gltf/webp/webp.d.ts.map +1 -0
- package/dist/gltf/webp/webp.js +38 -0
- package/dist/gltf/webp/webp.js.map +1 -0
- package/dist/gltf-loader-types.cjs +73 -0
- package/dist/gltf-loader-types.cjs.map +7 -0
- package/dist/gltf-loader-types.d.ts +2 -0
- package/dist/gltf-loader-types.d.ts.map +1 -0
- package/dist/gltf-loader-types.js +2 -0
- package/dist/gltf-loader-types.js.map +1 -0
- package/dist/gltf-loader.cjs +48 -0
- package/dist/gltf-loader.cjs.map +7 -0
- package/dist/gltf-loader.d.ts +2 -0
- package/dist/gltf-loader.d.ts.map +1 -0
- package/dist/gltf-loader.js +2 -0
- package/dist/gltf-loader.js.map +1 -0
- package/dist/gltf-source.cjs +238 -0
- package/dist/gltf-source.cjs.map +7 -0
- package/dist/gltf-source.d.ts +2 -0
- package/dist/gltf-source.d.ts.map +1 -0
- package/dist/gltf-source.js +2 -0
- package/dist/gltf-source.js.map +1 -0
- package/dist/gltf-writer.cjs +69 -0
- package/dist/gltf-writer.cjs.map +7 -0
- package/dist/gltf-writer.d.ts +2 -0
- package/dist/gltf-writer.d.ts.map +1 -0
- package/dist/gltf-writer.js +2 -0
- package/dist/gltf-writer.js.map +1 -0
- package/dist/index.cjs +56 -809
- package/dist/index.cjs.map +4 -3
- package/dist/index.d.ts +20 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -2
- package/dist/index.js.map +1 -1
- package/dist/libs/DRACO-LICENSE +252 -0
- package/dist/libs/README.md +20 -0
- package/dist/libs/draco_decoder.js +34 -0
- package/dist/libs/draco_decoder.mjs +37 -0
- package/dist/libs/draco_decoder.wasm +0 -0
- package/dist/libs/draco_decoder_gltf.wasm +0 -0
- package/dist/libs/draco_encoder.js +98 -0
- package/dist/libs/draco_encoder.mjs +101 -0
- package/dist/libs/draco_encoder.wasm +0 -0
- package/dist/libs/draco_wasm_wrapper.js +117 -0
- package/dist/libs/draco_wasm_wrapper.mjs +120 -0
- package/dist/libs/draco_wasm_wrapper_gltf.js +116 -0
- package/dist/libs/draco_wasm_wrapper_gltf.mjs +119 -0
- package/dist/materialx/parse-materialx.cjs +61 -0
- package/dist/materialx/parse-materialx.cjs.map +7 -0
- package/dist/materialx/parse-materialx.d.ts +23 -0
- package/dist/materialx/parse-materialx.d.ts.map +1 -0
- package/dist/materialx/parse-materialx.js +39 -0
- package/dist/materialx/parse-materialx.js.map +1 -0
- package/dist/materialx/procedural-graph.cjs +77 -0
- package/dist/materialx/procedural-graph.cjs.map +7 -0
- package/dist/materialx/procedural-graph.d.ts +40 -0
- package/dist/materialx/procedural-graph.d.ts.map +1 -0
- package/dist/materialx/procedural-graph.js +59 -0
- package/dist/materialx/procedural-graph.js.map +1 -0
- package/dist/materialx-loader-types.cjs +57 -0
- package/dist/materialx-loader-types.cjs.map +7 -0
- package/dist/materialx-loader-types.d.ts +34 -0
- package/dist/materialx-loader-types.d.ts.map +1 -0
- package/dist/materialx-loader-types.js +20 -0
- package/dist/materialx-loader-types.js.map +1 -0
- package/dist/materialx-loader.cjs +40 -0
- package/dist/materialx-loader.cjs.map +7 -0
- package/dist/materialx-loader.d.ts +19 -0
- package/dist/materialx-loader.d.ts.map +1 -0
- package/dist/materialx-loader.js +14 -0
- package/dist/materialx-loader.js.map +1 -0
- package/dist/mtl-loader-types.cjs +61 -0
- package/dist/mtl-loader-types.cjs.map +7 -0
- package/dist/mtl-loader-types.d.ts +2 -0
- package/dist/mtl-loader-types.d.ts.map +1 -0
- package/dist/mtl-loader-types.js +2 -0
- package/dist/mtl-loader-types.js.map +1 -0
- package/dist/mtl-loader.cjs +47 -0
- package/dist/mtl-loader.cjs.map +7 -0
- package/dist/mtl-loader.d.ts +2 -0
- package/dist/mtl-loader.d.ts.map +1 -0
- package/dist/mtl-loader.js +2 -0
- package/dist/mtl-loader.js.map +1 -0
- package/dist/obj/bundled.cjs +42 -0
- package/dist/obj/bundled.cjs.map +7 -0
- package/dist/obj/bundled.d.ts +7 -0
- package/dist/obj/bundled.d.ts.map +1 -0
- package/dist/obj/bundled.js +8 -0
- package/dist/obj/bundled.js.map +1 -0
- package/dist/obj/index.cjs +43 -0
- package/dist/obj/index.cjs.map +7 -0
- package/dist/obj/index.d.ts +9 -0
- package/dist/obj/index.d.ts.map +1 -0
- package/dist/obj/index.js +11 -0
- package/dist/obj/index.js.map +1 -0
- package/dist/obj/lib/get-obj-schema.cjs +60 -0
- package/dist/obj/lib/get-obj-schema.cjs.map +7 -0
- package/dist/obj/lib/get-obj-schema.d.ts +4 -0
- package/dist/obj/lib/get-obj-schema.d.ts.map +1 -0
- package/dist/obj/lib/get-obj-schema.js +36 -0
- package/dist/obj/lib/get-obj-schema.js.map +1 -0
- package/dist/obj/lib/obj-types.cjs +2 -0
- package/dist/obj/lib/obj-types.cjs.map +7 -0
- package/dist/obj/lib/obj-types.d.ts +1 -0
- package/dist/obj/lib/obj-types.d.ts.map +1 -0
- package/dist/obj/lib/obj-types.js +5 -0
- package/dist/obj/lib/obj-types.js.map +1 -0
- package/dist/obj/lib/parse-mtl.cjs +97 -0
- package/dist/obj/lib/parse-mtl.cjs.map +7 -0
- package/dist/obj/lib/parse-mtl.d.ts +34 -0
- package/dist/obj/lib/parse-mtl.d.ts.map +1 -0
- package/dist/obj/lib/parse-mtl.js +200 -0
- package/dist/obj/lib/parse-mtl.js.map +1 -0
- package/dist/obj/lib/parse-obj-meshes.cjs +389 -0
- package/dist/obj/lib/parse-obj-meshes.cjs.map +7 -0
- package/dist/obj/lib/parse-obj-meshes.d.ts +5 -0
- package/dist/obj/lib/parse-obj-meshes.d.ts.map +1 -0
- package/dist/obj/lib/parse-obj-meshes.js +441 -0
- package/dist/obj/lib/parse-obj-meshes.js.map +1 -0
- package/dist/obj/lib/parse-obj.cjs +96 -0
- package/dist/obj/lib/parse-obj.cjs.map +7 -0
- package/dist/obj/lib/parse-obj.d.ts +3 -0
- package/dist/obj/lib/parse-obj.d.ts.map +1 -0
- package/dist/obj/lib/parse-obj.js +72 -0
- package/dist/obj/lib/parse-obj.js.map +1 -0
- package/dist/obj/mtl-format.cjs +39 -0
- package/dist/obj/mtl-format.cjs.map +7 -0
- package/dist/obj/mtl-format.d.ts +14 -0
- package/dist/obj/mtl-format.d.ts.map +1 -0
- package/dist/obj/mtl-format.js +17 -0
- package/dist/obj/mtl-format.js.map +1 -0
- package/dist/obj/mtl-loader-types.cjs +59 -0
- package/dist/obj/mtl-loader-types.cjs.map +7 -0
- package/dist/obj/mtl-loader-types.d.ts +53 -0
- package/dist/obj/mtl-loader-types.d.ts.map +1 -0
- package/dist/obj/mtl-loader-types.js +32 -0
- package/dist/obj/mtl-loader-types.js.map +1 -0
- package/dist/obj/mtl-loader.cjs +45 -0
- package/dist/obj/mtl-loader.cjs.map +7 -0
- package/dist/obj/mtl-loader.d.ts +51 -0
- package/dist/obj/mtl-loader.d.ts.map +1 -0
- package/dist/obj/mtl-loader.js +25 -0
- package/dist/obj/mtl-loader.js.map +1 -0
- package/dist/obj/obj-format.cjs +39 -0
- package/dist/obj/obj-format.cjs.map +7 -0
- package/dist/obj/obj-format.d.ts +13 -0
- package/dist/obj/obj-format.d.ts.map +1 -0
- package/dist/obj/obj-format.js +16 -0
- package/dist/obj/obj-format.js.map +1 -0
- package/dist/obj/obj-loader-types.cjs +68 -0
- package/dist/obj/obj-loader-types.cjs.map +7 -0
- package/dist/obj/obj-loader-types.d.ts +92 -0
- package/dist/obj/obj-loader-types.d.ts.map +1 -0
- package/dist/obj/obj-loader-types.js +41 -0
- package/dist/obj/obj-loader-types.js.map +1 -0
- package/dist/obj/obj-loader.cjs +193 -0
- package/dist/obj/obj-loader.cjs.map +7 -0
- package/dist/obj/obj-loader.d.ts +74 -0
- package/dist/obj/obj-loader.d.ts.map +1 -0
- package/dist/obj/obj-loader.js +181 -0
- package/dist/obj/obj-loader.js.map +1 -0
- package/dist/obj/obj-writer.cjs +165 -0
- package/dist/obj/obj-writer.cjs.map +7 -0
- package/dist/obj/obj-writer.d.ts +36 -0
- package/dist/obj/obj-writer.d.ts.map +1 -0
- package/dist/obj/obj-writer.js +123 -0
- package/dist/obj/obj-writer.js.map +1 -0
- package/dist/obj/unbundled.cjs +40 -0
- package/dist/obj/unbundled.cjs.map +7 -0
- package/dist/obj/unbundled.d.ts +7 -0
- package/dist/obj/unbundled.d.ts.map +1 -0
- package/dist/obj/unbundled.js +8 -0
- package/dist/obj/unbundled.js.map +1 -0
- package/dist/obj/workers/obj-worker.cjs +23 -0
- package/dist/obj/workers/obj-worker.cjs.map +7 -0
- package/dist/obj/workers/obj-worker.d.ts +2 -0
- package/dist/obj/workers/obj-worker.d.ts.map +1 -0
- package/dist/obj/workers/obj-worker.js +23 -0
- package/dist/obj/workers/obj-worker.js.map +1 -0
- package/dist/obj-loader-types.cjs +70 -0
- package/dist/obj-loader-types.cjs.map +7 -0
- package/dist/obj-loader-types.d.ts +2 -0
- package/dist/obj-loader-types.d.ts.map +1 -0
- package/dist/obj-loader-types.js +2 -0
- package/dist/obj-loader-types.js.map +1 -0
- package/dist/obj-loader.cjs +195 -0
- package/dist/obj-loader.cjs.map +7 -0
- package/dist/obj-loader.d.ts +2 -0
- package/dist/obj-loader.d.ts.map +1 -0
- package/dist/obj-loader.js +2 -0
- package/dist/obj-loader.js.map +1 -0
- package/dist/obj-worker.js +18623 -0
- package/dist/obj-writer.cjs +167 -0
- package/dist/obj-writer.cjs.map +7 -0
- package/dist/obj-writer.d.ts +2 -0
- package/dist/obj-writer.d.ts.map +1 -0
- package/dist/obj-writer.js +2 -0
- package/dist/obj-writer.js.map +1 -0
- package/dist/stl/parse-stl.cjs +100 -0
- package/dist/stl/parse-stl.cjs.map +7 -0
- package/dist/stl/parse-stl.d.ts +4 -0
- package/dist/stl/parse-stl.d.ts.map +1 -0
- package/dist/stl/parse-stl.js +84 -0
- package/dist/stl/parse-stl.js.map +1 -0
- package/dist/stl-loader-types.cjs +58 -0
- package/dist/stl-loader-types.cjs.map +7 -0
- package/dist/stl-loader-types.d.ts +32 -0
- package/dist/stl-loader-types.d.ts.map +1 -0
- package/dist/stl-loader-types.js +25 -0
- package/dist/stl-loader-types.js.map +1 -0
- package/dist/stl-loader.cjs +38 -0
- package/dist/stl-loader.cjs.map +7 -0
- package/dist/stl-loader.d.ts +17 -0
- package/dist/stl-loader.d.ts.map +1 -0
- package/dist/stl-loader.js +13 -0
- package/dist/stl-loader.js.map +1 -0
- package/dist/usd/index.cjs +31 -0
- package/dist/usd/index.cjs.map +7 -0
- package/dist/usd/index.d.ts +3 -0
- package/dist/usd/index.d.ts.map +1 -0
- package/dist/usd/index.js +5 -0
- package/dist/usd/index.js.map +1 -0
- package/dist/usd/lib/parse-usd.cjs +331 -0
- package/dist/usd/lib/parse-usd.cjs.map +7 -0
- package/dist/{lib → usd/lib}/parse-usd.d.ts +1 -1
- package/dist/usd/lib/parse-usd.d.ts.map +1 -0
- package/dist/{lib → usd/lib}/parse-usd.js +53 -6
- package/dist/usd/lib/parse-usd.js.map +1 -0
- package/dist/usd/lib/parse-usda.cjs +406 -0
- package/dist/usd/lib/parse-usda.cjs.map +7 -0
- package/dist/usd/lib/parse-usda.d.ts.map +1 -0
- package/dist/usd/lib/parse-usda.js.map +1 -0
- package/dist/usd/lib/parse-usdc.cjs +187 -0
- package/dist/usd/lib/parse-usdc.cjs.map +7 -0
- package/dist/usd/lib/parse-usdc.d.ts +4 -0
- package/dist/usd/lib/parse-usdc.d.ts.map +1 -0
- package/dist/usd/lib/parse-usdc.js +176 -0
- package/dist/usd/lib/parse-usdc.js.map +1 -0
- package/dist/usd/lib/parse-usdz.cjs +98 -0
- package/dist/usd/lib/parse-usdz.cjs.map +7 -0
- package/dist/usd/lib/parse-usdz.d.ts.map +1 -0
- package/dist/{lib → usd/lib}/parse-usdz.js +26 -0
- package/dist/usd/lib/parse-usdz.js.map +1 -0
- package/dist/usd/lib/usd-types.cjs +19 -0
- package/dist/usd/lib/usd-types.cjs.map +7 -0
- package/dist/{lib → usd/lib}/usd-types.d.ts +15 -2
- package/dist/usd/lib/usd-types.d.ts.map +1 -0
- package/dist/{lib → usd/lib}/usd-types.js +1 -1
- package/dist/usd/lib/usd-types.js.map +1 -0
- package/dist/usd/libs/README.md +27 -0
- package/dist/usd/libs/THREE-LICENSE +21 -0
- package/dist/usd/libs/usdc-parser.d.ts +78 -0
- package/dist/usd/libs/usdc-parser.d.ts.map +1 -0
- package/dist/usd/libs/usdc-parser.js +1669 -0
- package/dist/usd/libs/usdc-parser.js.map +1 -0
- package/dist/usd/usd-loader-types.cjs +67 -0
- package/dist/usd/usd-loader-types.cjs.map +7 -0
- package/dist/usd/usd-loader-types.d.ts +50 -0
- package/dist/usd/usd-loader-types.d.ts.map +1 -0
- package/dist/usd/usd-loader-types.js +35 -0
- package/dist/usd/usd-loader-types.js.map +1 -0
- package/dist/usd/usd-loader.cjs +41 -0
- package/dist/usd/usd-loader.cjs.map +7 -0
- package/dist/usd/usd-loader.d.ts +30 -0
- package/dist/usd/usd-loader.d.ts.map +1 -0
- package/dist/usd/usd-loader.js +17 -0
- package/dist/usd/usd-loader.js.map +1 -0
- package/dist/usd-loader-types.cjs +69 -0
- package/dist/usd-loader-types.cjs.map +7 -0
- package/dist/usd-loader-types.d.ts +1 -49
- package/dist/usd-loader-types.d.ts.map +1 -1
- package/dist/usd-loader-types.js +1 -34
- package/dist/usd-loader-types.js.map +1 -1
- package/dist/usd-loader.cjs +43 -0
- package/dist/usd-loader.cjs.map +7 -0
- package/dist/usd-loader.d.ts +1 -29
- package/dist/usd-loader.d.ts.map +1 -1
- package/dist/usd-loader.js +1 -16
- package/dist/usd-loader.js.map +1 -1
- package/package.json +254 -11
- package/src/draco/bundled.ts +9 -0
- package/src/draco/draco-format.ts +20 -0
- package/src/draco/draco-javascript-loader-with-parser.ts +30 -0
- package/src/draco/draco-libraries.ts +35 -0
- package/src/draco/draco-library-options.ts +76 -0
- package/src/draco/draco-loader-options.ts +33 -0
- package/src/draco/draco-loader-types.ts +77 -0
- package/src/draco/draco-loader.ts +45 -0
- package/src/draco/draco-wasm-loader-with-parser.ts +31 -0
- package/src/draco/draco-writer.ts +254 -0
- package/src/draco/draco3d/draco3d-types.ts +498 -0
- package/src/draco/draco3d-loader-with-parser.ts +34 -0
- package/src/draco/index.ts +42 -0
- package/src/draco/lib/draco-builder.ts +935 -0
- package/src/draco/lib/draco-library-loader.ts +38 -0
- package/src/draco/lib/draco-module-loader.ts +370 -0
- package/src/draco/lib/draco-parser.ts +779 -0
- package/src/draco/lib/draco-types.ts +72 -0
- package/src/draco/lib/parse-draco.ts +52 -0
- package/src/draco/lib/utils/get-draco-schema.ts +65 -0
- package/src/draco/lib/utils/version.ts +8 -0
- package/src/draco/libs/DRACO-LICENSE +252 -0
- package/src/draco/libs/README.md +20 -0
- package/src/draco/libs/draco_decoder.js +34 -0
- package/src/draco/libs/draco_decoder.wasm +0 -0
- package/src/draco/libs/draco_decoder_gltf.wasm +0 -0
- package/src/draco/libs/draco_encoder.js +98 -0
- package/src/draco/libs/draco_encoder.wasm +0 -0
- package/src/draco/libs/draco_wasm_wrapper.js +117 -0
- package/src/draco/libs/draco_wasm_wrapper_gltf.js +116 -0
- package/src/draco/unbundled.ts +6 -0
- package/src/draco/workers/draco-worker-node.ts +10 -0
- package/src/draco/workers/draco-worker.ts +8 -0
- package/src/draco/workers/draco-writer-worker-node.cjs +21 -0
- package/src/draco/workers/draco-writer-worker-node.ts +13 -0
- package/src/draco/workers/draco-writer-worker.ts +11 -0
- package/src/draco-javascript-loader.ts +2 -0
- package/src/draco-library-options.ts +6 -0
- package/src/draco-loader-types.ts +2 -0
- package/src/draco-loader.ts +2 -0
- package/src/draco-wasm-loader.ts +2 -0
- package/src/draco-writer.ts +2 -0
- package/src/draco3d-loader.ts +2 -0
- package/src/glb-loader-types.ts +1 -0
- package/src/glb-loader.ts +1 -0
- package/src/glb-writer.ts +1 -0
- package/src/gltf/bundled.ts +8 -0
- package/src/gltf/glb-loader-types.ts +40 -0
- package/src/gltf/glb-loader.ts +42 -0
- package/src/gltf/glb-writer.ts +46 -0
- package/src/gltf/gltf-format.ts +32 -0
- package/src/gltf/gltf-loader-types.ts +58 -0
- package/src/gltf/gltf-loader.ts +49 -0
- package/src/gltf/gltf-source.ts +244 -0
- package/src/gltf/gltf-writer.ts +62 -0
- package/src/gltf/index.ts +273 -0
- package/src/gltf/lib/api/append-gltf-v1-buffer-data.ts +61 -0
- package/src/gltf/lib/api/bake-gltf-v1-bind-shapes.ts +178 -0
- package/src/gltf/lib/api/clean-gltf-v1-fields.ts +94 -0
- package/src/gltf/lib/api/convert-gltf-v1-accessors.ts +170 -0
- package/src/gltf/lib/api/convert-gltf-v1-animations.ts +79 -0
- package/src/gltf/lib/api/convert-gltf-v1-materials.ts +351 -0
- package/src/gltf/lib/api/convert-gltf-v1-matrix-nodes.ts +116 -0
- package/src/gltf/lib/api/convert-gltf-v1-skin-scenes.ts +88 -0
- package/src/gltf/lib/api/convert-gltf-v1-skins.ts +217 -0
- package/src/gltf/lib/api/gltf-accessors.ts +87 -0
- package/src/gltf/lib/api/gltf-culling.ts +80 -0
- package/src/gltf/lib/api/gltf-extension-data.ts +125 -0
- package/src/gltf/lib/api/gltf-extensions.ts +138 -0
- package/src/gltf/lib/api/gltf-iterator.ts +1469 -0
- package/src/gltf/lib/api/gltf-mesh-arrow.ts +410 -0
- package/src/gltf/lib/api/gltf-scenegraph.ts +741 -0
- package/src/gltf/lib/api/normalize-gltf-v1.ts +603 -0
- package/src/gltf/lib/api/repack-gltf-v1-accessors.ts +566 -0
- package/src/gltf/lib/api/validate-gltf-v1-buffers.ts +139 -0
- package/src/gltf/lib/api/validate-gltf-v1-cameras.ts +40 -0
- package/src/gltf/lib/api/validate-gltf-v1-geometry.ts +156 -0
- package/src/gltf/lib/api/validate-gltf-v1-payloads.ts +315 -0
- package/src/gltf/lib/encoders/encode-glb.ts +198 -0
- package/src/gltf/lib/encoders/encode-gltf-draco.ts +239 -0
- package/src/gltf/lib/encoders/encode-gltf.ts +45 -0
- package/src/gltf/lib/extensions/EXT_mesh_features.ts +240 -0
- package/src/gltf/lib/extensions/EXT_mesh_polygon.ts +172 -0
- package/src/gltf/lib/extensions/EXT_meshopt_compression.ts +33 -0
- package/src/gltf/lib/extensions/EXT_primitive_voxels.ts +85 -0
- package/src/gltf/lib/extensions/EXT_structural_metadata.ts +1130 -0
- package/src/gltf/lib/extensions/EXT_texture_avif.ts +56 -0
- package/src/gltf/lib/extensions/EXT_texture_webp.ts +49 -0
- package/src/gltf/lib/extensions/KHR_accessor_float64.ts +22 -0
- package/src/gltf/lib/extensions/KHR_audio_emitter.ts +136 -0
- package/src/gltf/lib/extensions/KHR_binary_gltf.ts +56 -0
- package/src/gltf/lib/extensions/KHR_draco_mesh_compression.ts +170 -0
- package/src/gltf/lib/extensions/KHR_gaussian_splatting.ts +263 -0
- package/src/gltf/lib/extensions/KHR_mesh_primitive_restart.ts +108 -0
- package/src/gltf/lib/extensions/KHR_meshopt_compression.ts +32 -0
- package/src/gltf/lib/extensions/KHR_texture_basisu.ts +39 -0
- package/src/gltf/lib/extensions/KHR_texture_transform.ts +385 -0
- package/src/gltf/lib/extensions/MPEG_audio_spatial.ts +59 -0
- package/src/gltf/lib/extensions/MSFT_texture_dds.ts +52 -0
- package/src/gltf/lib/extensions/deprecated/EXT_feature_metadata.ts +479 -0
- package/src/gltf/lib/extensions/deprecated/KHR_lights_punctual.ts +67 -0
- package/src/gltf/lib/extensions/deprecated/KHR_materials_unlit.ts +52 -0
- package/src/gltf/lib/extensions/deprecated/KHR_techniques_webgl.ts +105 -0
- package/src/gltf/lib/extensions/meshopt-compression.ts +189 -0
- package/src/gltf/lib/extensions/utils/3d-tiles-utils.ts +477 -0
- package/src/gltf/lib/gltf-utils/get-typed-array.ts +215 -0
- package/src/gltf/lib/gltf-utils/gltf-attribute-utils.ts +85 -0
- package/src/gltf/lib/gltf-utils/gltf-constants.ts +53 -0
- package/src/gltf/lib/gltf-utils/gltf-utils.ts +162 -0
- package/src/gltf/lib/gltf-utils/resolve-gltf-file.ts +95 -0
- package/src/gltf/lib/gltf-utils/resolve-url.ts +48 -0
- package/src/gltf/lib/parsers/parse-glb.ts +299 -0
- package/src/gltf/lib/parsers/parse-gltf.ts +602 -0
- package/src/gltf/lib/types/glb-types.ts +44 -0
- package/src/gltf/lib/types/gltf-additional-extension-schemas.ts +159 -0
- package/src/gltf/lib/types/gltf-audio-extension-schemas.ts +167 -0
- package/src/gltf/lib/types/gltf-ext-feature-metadata-schema.ts +474 -0
- package/src/gltf/lib/types/gltf-ext-gaussian-splatting-schema.ts +46 -0
- package/src/gltf/lib/types/gltf-ext-mesh-features-schema.ts +56 -0
- package/src/gltf/lib/types/gltf-ext-structural-metadata-schema.ts +387 -0
- package/src/gltf/lib/types/gltf-ext-vector-voxel-schema.ts +49 -0
- package/src/gltf/lib/types/gltf-extension-schemas.ts +99 -0
- package/src/gltf/lib/types/gltf-interactivity.ts +168 -0
- package/src/gltf/lib/types/gltf-json-schema.ts +948 -0
- package/src/gltf/lib/types/gltf-khr-audio-emitter-schema.ts +60 -0
- package/src/gltf/lib/types/gltf-mpeg-audio-spatial-schema.ts +31 -0
- package/src/gltf/lib/types/gltf-official-json-schemas.ts +18619 -0
- package/src/gltf/lib/types/gltf-shape-schema.ts +47 -0
- package/src/gltf/lib/types/gltf-texture-procedurals.ts +67 -0
- package/src/gltf/lib/types/gltf-types.ts +98 -0
- package/src/gltf/lib/types/gltf-vector-topology.ts +65 -0
- package/src/gltf/lib/types/gltf-version-zod-schemas.ts +511 -0
- package/src/gltf/lib/types/gltf-zod-schema.ts +551 -0
- package/src/gltf/lib/utils/assert.ts +12 -0
- package/src/gltf/lib/utils/version.ts +8 -0
- package/src/gltf/libs/README.md +12 -0
- package/src/gltf/libs/meshopt-decoder.d.mts +15 -0
- package/src/gltf/libs/meshopt-decoder.mjs +196 -0
- package/src/gltf/libs/meshoptimizer-LICENSE.md +21 -0
- package/src/gltf/mesh-arrow.ts +11 -0
- package/src/gltf/meshopt/meshopt-decoder.ts +185 -0
- package/src/gltf/meshopt/meshopt-encoder.ts.disabled +409 -0
- package/src/gltf/meshopt/meshopt-module-loader.ts +8 -0
- package/src/gltf/schema.ts +25 -0
- package/src/gltf/unbundled.ts +8 -0
- package/src/gltf/webp/webp.ts +45 -0
- package/src/gltf-loader-types.ts +1 -0
- package/src/gltf-loader.ts +1 -0
- package/src/gltf-source.ts +1 -0
- package/src/gltf-writer.ts +1 -0
- package/src/index.ts +24 -12
- package/src/materialx/README.md +5 -0
- package/src/materialx/parse-materialx.ts +70 -0
- package/src/materialx/procedural-graph.ts +94 -0
- package/src/materialx-loader-types.ts +24 -0
- package/src/materialx-loader.ts +15 -0
- package/src/mtl-loader-types.ts +1 -0
- package/src/mtl-loader.ts +1 -0
- package/src/obj/bundled.ts +13 -0
- package/src/obj/index.ts +17 -0
- package/src/obj/lib/get-obj-schema.ts +45 -0
- package/src/obj/lib/obj-types.ts +3 -0
- package/src/obj/lib/parse-mtl.ts +248 -0
- package/src/obj/lib/parse-obj-meshes.ts +530 -0
- package/src/obj/lib/parse-obj.ts +88 -0
- package/src/obj/mtl-format.ts +19 -0
- package/src/obj/mtl-loader-types.ts +43 -0
- package/src/obj/mtl-loader.ts +37 -0
- package/src/obj/obj-format.ts +18 -0
- package/src/obj/obj-loader-types.ts +75 -0
- package/src/obj/obj-loader.ts +253 -0
- package/src/obj/obj-writer.ts +194 -0
- package/src/obj/unbundled.ts +10 -0
- package/src/obj/workers/obj-worker.ts +24 -0
- package/src/obj-loader-types.ts +1 -0
- package/src/obj-loader.ts +1 -0
- package/src/obj-writer.ts +1 -0
- package/src/stl/parse-stl.ts +90 -0
- package/src/stl-loader-types.ts +28 -0
- package/src/stl-loader.ts +12 -0
- package/src/usd/index.ts +16 -0
- package/src/{lib → usd/lib}/parse-usd.ts +69 -8
- package/src/usd/lib/parse-usdc.ts +188 -0
- package/src/{lib → usd/lib}/parse-usdz.ts +28 -0
- package/src/{lib → usd/lib}/usd-types.ts +17 -3
- package/src/usd/libs/README.md +27 -0
- package/src/usd/libs/THREE-LICENSE +21 -0
- package/src/usd/libs/usdc-parser.d.ts +18 -0
- package/src/usd/libs/usdc-parser.js +1669 -0
- package/src/usd/usd-loader-types.ts +40 -0
- package/src/usd/usd-loader.ts +26 -0
- package/src/usd-loader-types.ts +1 -40
- package/src/usd-loader.ts +1 -26
- package/third-party-licenses/gltf-loader-ts-LICENSE +21 -0
- package/third-party-licenses/three-LICENSE +21 -0
- package/dist/lib/parse-usd.d.ts.map +0 -1
- package/dist/lib/parse-usd.js.map +0 -1
- package/dist/lib/parse-usda.d.ts.map +0 -1
- package/dist/lib/parse-usda.js.map +0 -1
- package/dist/lib/parse-usdz.d.ts.map +0 -1
- package/dist/lib/parse-usdz.js.map +0 -1
- package/dist/lib/usd-types.d.ts.map +0 -1
- package/dist/lib/usd-types.js.map +0 -1
- /package/dist/{lib → usd/lib}/parse-usda.d.ts +0 -0
- /package/dist/{lib → usd/lib}/parse-usda.js +0 -0
- /package/dist/{lib → usd/lib}/parse-usdz.d.ts +0 -0
- /package/src/{lib → usd/lib}/parse-usda.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-url.d.ts","sourceRoot":"","sources":["../../../../src/gltf/lib/gltf-utils/resolve-url.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,aAAa,EAAE,mBAAmB,EAAC,MAAM,+BAA+B,CAAC;AAItF,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,aAAa,UAY7F;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMnD"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
// Resolves a relative url against a baseUrl
|
|
5
|
+
// If url is absolute, return it unchanged
|
|
6
|
+
export function resolveUrl(url, options, context) {
|
|
7
|
+
// TODO: Use better logic to handle all protocols plus not delay on data
|
|
8
|
+
const absolute = url.startsWith('data:') || url.startsWith('http:') || url.startsWith('https:');
|
|
9
|
+
if (absolute) {
|
|
10
|
+
return canonicalizeUrl(url);
|
|
11
|
+
}
|
|
12
|
+
const baseUrl = context?.baseUrl || getResolveBaseUrl(options?.core?.baseUrl);
|
|
13
|
+
if (!baseUrl) {
|
|
14
|
+
throw new Error(`'baseUrl' must be provided to resolve relative url ${url}`);
|
|
15
|
+
}
|
|
16
|
+
const resolvedUrl = baseUrl.endsWith('/') ? `${baseUrl}${url}` : `${baseUrl}/${url}`;
|
|
17
|
+
return canonicalizeUrl(resolvedUrl);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Normalize equivalent absolute URLs for cache and cycle-detection keys.
|
|
21
|
+
* Non-URL paths are returned unchanged so local and virtual file-system resolution remains intact.
|
|
22
|
+
* @param url - URL to normalize.
|
|
23
|
+
* @returns Canonical URL when the input has a supported absolute scheme.
|
|
24
|
+
*/
|
|
25
|
+
export function canonicalizeUrl(url) {
|
|
26
|
+
try {
|
|
27
|
+
return new URL(url).href;
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
return url;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
function getResolveBaseUrl(baseUrl) {
|
|
34
|
+
if (!baseUrl) {
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
if (baseUrl.endsWith('/')) {
|
|
38
|
+
return baseUrl;
|
|
39
|
+
}
|
|
40
|
+
const slashIndex = baseUrl.lastIndexOf('/');
|
|
41
|
+
return slashIndex >= 0 ? baseUrl.slice(0, slashIndex + 1) : '';
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=resolve-url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-url.js","sourceRoot":"","sources":["../../../../src/gltf/lib/gltf-utils/resolve-url.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAIpC,4CAA4C;AAC5C,0CAA0C;AAC1C,MAAM,UAAU,UAAU,CAAC,GAAW,EAAE,OAA6B,EAAE,OAAuB;IAC5F,wEAAwE;IACxE,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAChG,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9E,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,sDAAsD,GAAG,EAAE,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,GAAG,EAAE,CAAC;IACrF,OAAO,eAAe,CAAC,WAAW,CAAC,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAgB;IACzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC5C,OAAO,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACjE,CAAC"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/gltf/lib/parsers/parse-glb.ts
|
|
21
|
+
var parse_glb_exports = {};
|
|
22
|
+
__export(parse_glb_exports, {
|
|
23
|
+
isGLB: () => isGLB,
|
|
24
|
+
parseGLBSync: () => parseGLBSync
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(parse_glb_exports);
|
|
27
|
+
var import_loader_utils = require("@loaders.gl/core/loader-utils");
|
|
28
|
+
var LITTLE_ENDIAN = true;
|
|
29
|
+
var MAGIC_glTF = 1735152710;
|
|
30
|
+
var GLB_V1_V2_FILE_HEADER_SIZE = 12;
|
|
31
|
+
var GLB_V3_FILE_HEADER_SIZE = 16;
|
|
32
|
+
var GLB_V1_V2_CHUNK_HEADER_SIZE = 8;
|
|
33
|
+
var GLB_V3_CHUNK_HEADER_SIZE = 16;
|
|
34
|
+
var GLB_CHUNK_TYPE_JSON = 1313821514;
|
|
35
|
+
var GLB_CHUNK_TYPE_BIN = 5130562;
|
|
36
|
+
var GLB_V1_CONTENT_FORMAT_JSON = 0;
|
|
37
|
+
var GLB_CHUNK_TYPE_JSON_XVIZ_DEPRECATED = 0;
|
|
38
|
+
var GLB_CHUNK_TYPE_BIX_XVIZ_DEPRECATED = 1;
|
|
39
|
+
function getMagicString(dataView, byteOffset = 0) {
|
|
40
|
+
return `${String.fromCharCode(dataView.getUint8(byteOffset + 0))}${String.fromCharCode(dataView.getUint8(byteOffset + 1))}${String.fromCharCode(dataView.getUint8(byteOffset + 2))}${String.fromCharCode(dataView.getUint8(byteOffset + 3))}`;
|
|
41
|
+
}
|
|
42
|
+
function isGLB(arrayBuffer, byteOffset = 0, options = {}) {
|
|
43
|
+
const dataView = new DataView(arrayBuffer);
|
|
44
|
+
const { magic = MAGIC_glTF } = options;
|
|
45
|
+
const magic1 = dataView.getUint32(byteOffset, false);
|
|
46
|
+
return magic1 === magic || magic1 === MAGIC_glTF;
|
|
47
|
+
}
|
|
48
|
+
function parseGLBSync(glb, arrayBuffer, byteOffset = 0, options = {}) {
|
|
49
|
+
const dataView = new DataView(arrayBuffer);
|
|
50
|
+
const type = getMagicString(dataView, byteOffset + 0);
|
|
51
|
+
const version = dataView.getUint32(byteOffset + 4, LITTLE_ENDIAN);
|
|
52
|
+
const byteLength = version === 3 ? getSafeUint64(dataView, byteOffset + 8, "GLB byte length") : dataView.getUint32(byteOffset + 8, LITTLE_ENDIAN);
|
|
53
|
+
Object.assign(glb, {
|
|
54
|
+
// Put less important stuff in a header, to avoid clutter
|
|
55
|
+
header: {
|
|
56
|
+
byteOffset,
|
|
57
|
+
// Byte offset into the initial arrayBuffer
|
|
58
|
+
byteLength,
|
|
59
|
+
hasBinChunk: false
|
|
60
|
+
},
|
|
61
|
+
type,
|
|
62
|
+
version,
|
|
63
|
+
json: {},
|
|
64
|
+
jsonChunkIndex: -1,
|
|
65
|
+
binChunks: []
|
|
66
|
+
});
|
|
67
|
+
switch (glb.version) {
|
|
68
|
+
case 1:
|
|
69
|
+
return parseGLBV1(glb, dataView, byteOffset + GLB_V1_V2_FILE_HEADER_SIZE);
|
|
70
|
+
case 2:
|
|
71
|
+
return parseGLBV2(glb, dataView, byteOffset + GLB_V1_V2_FILE_HEADER_SIZE, options);
|
|
72
|
+
case 3:
|
|
73
|
+
return parseGLBV3(glb, dataView, byteOffset + GLB_V3_FILE_HEADER_SIZE, options);
|
|
74
|
+
default:
|
|
75
|
+
throw new Error(`Invalid GLB version ${glb.version}. Only supports versions 1, 2 and 3.`);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
function parseGLBV1(glb, dataView, byteOffset) {
|
|
79
|
+
(0, import_loader_utils.assert)(glb.header.byteLength > GLB_V1_V2_FILE_HEADER_SIZE + GLB_V1_V2_CHUNK_HEADER_SIZE);
|
|
80
|
+
const fileEndByteOffset = glb.header.byteOffset + glb.header.byteLength;
|
|
81
|
+
(0, import_loader_utils.assert)(fileEndByteOffset <= dataView.byteLength);
|
|
82
|
+
const contentLength = dataView.getUint32(byteOffset + 0, LITTLE_ENDIAN);
|
|
83
|
+
const contentFormat = dataView.getUint32(byteOffset + 4, LITTLE_ENDIAN);
|
|
84
|
+
byteOffset += GLB_V1_V2_CHUNK_HEADER_SIZE;
|
|
85
|
+
(0, import_loader_utils.assert)(contentFormat === GLB_V1_CONTENT_FORMAT_JSON);
|
|
86
|
+
if (byteOffset + contentLength > fileEndByteOffset) {
|
|
87
|
+
throw new Error("GLB JSON content extends beyond the declared file length.");
|
|
88
|
+
}
|
|
89
|
+
parseJSONChunk(glb, dataView, byteOffset, contentLength, 0);
|
|
90
|
+
byteOffset += contentLength;
|
|
91
|
+
const bodyByteLength = fileEndByteOffset - byteOffset;
|
|
92
|
+
if (bodyByteLength > 0) {
|
|
93
|
+
parseBINChunk(glb, dataView, byteOffset, bodyByteLength, 1);
|
|
94
|
+
}
|
|
95
|
+
return fileEndByteOffset;
|
|
96
|
+
}
|
|
97
|
+
function parseGLBV2(glb, dataView, byteOffset, options) {
|
|
98
|
+
(0, import_loader_utils.assert)(glb.header.byteLength > GLB_V1_V2_FILE_HEADER_SIZE + GLB_V1_V2_CHUNK_HEADER_SIZE);
|
|
99
|
+
parseGLBChunksSync(glb, dataView, byteOffset, GLB_V1_V2_CHUNK_HEADER_SIZE, options);
|
|
100
|
+
return glb.header.byteOffset + glb.header.byteLength;
|
|
101
|
+
}
|
|
102
|
+
function parseGLBV3(glb, dataView, byteOffset, options) {
|
|
103
|
+
(0, import_loader_utils.assert)(glb.header.byteLength >= GLB_V3_FILE_HEADER_SIZE + GLB_V3_CHUNK_HEADER_SIZE);
|
|
104
|
+
parseGLBChunksSync(glb, dataView, byteOffset, GLB_V3_CHUNK_HEADER_SIZE, options);
|
|
105
|
+
return glb.header.byteOffset + glb.header.byteLength;
|
|
106
|
+
}
|
|
107
|
+
function parseGLBChunksSync(glb, dataView, byteOffset, chunkHeaderSize, options) {
|
|
108
|
+
const fileEndByteOffset = glb.header.byteOffset + glb.header.byteLength;
|
|
109
|
+
(0, import_loader_utils.assert)(fileEndByteOffset <= dataView.byteLength);
|
|
110
|
+
let chunkIndex = 0;
|
|
111
|
+
while (byteOffset + chunkHeaderSize <= fileEndByteOffset) {
|
|
112
|
+
const isVersion3 = glb.version === 3;
|
|
113
|
+
const chunkFormat = dataView.getUint32(byteOffset + (isVersion3 ? 0 : 4), LITTLE_ENDIAN);
|
|
114
|
+
const chunkEncoding = isVersion3 ? dataView.getUint32(byteOffset + 4, LITTLE_ENDIAN) : 0;
|
|
115
|
+
const chunkLength = isVersion3 ? getSafeUint64(dataView, byteOffset + 8, "GLB chunk length") : dataView.getUint32(byteOffset + 0, LITTLE_ENDIAN);
|
|
116
|
+
byteOffset += chunkHeaderSize;
|
|
117
|
+
if (chunkEncoding !== 0) {
|
|
118
|
+
throw new Error(`Unsupported GLB chunk encoding ${chunkEncoding}.`);
|
|
119
|
+
}
|
|
120
|
+
if (byteOffset + chunkLength > fileEndByteOffset) {
|
|
121
|
+
throw new Error("GLB chunk extends beyond the declared file length.");
|
|
122
|
+
}
|
|
123
|
+
switch (chunkFormat) {
|
|
124
|
+
case GLB_CHUNK_TYPE_JSON:
|
|
125
|
+
if (glb.version !== 3 || glb.jsonChunkIndex === -1) {
|
|
126
|
+
parseJSONChunk(glb, dataView, byteOffset, chunkLength, chunkIndex);
|
|
127
|
+
}
|
|
128
|
+
break;
|
|
129
|
+
case GLB_CHUNK_TYPE_BIN:
|
|
130
|
+
parseBINChunk(glb, dataView, byteOffset, chunkLength, chunkIndex);
|
|
131
|
+
break;
|
|
132
|
+
// Backward compatibility for very old xviz files
|
|
133
|
+
case GLB_CHUNK_TYPE_JSON_XVIZ_DEPRECATED:
|
|
134
|
+
if (!options.strict) {
|
|
135
|
+
parseJSONChunk(glb, dataView, byteOffset, chunkLength, chunkIndex);
|
|
136
|
+
}
|
|
137
|
+
break;
|
|
138
|
+
case GLB_CHUNK_TYPE_BIX_XVIZ_DEPRECATED:
|
|
139
|
+
if (!options.strict) {
|
|
140
|
+
parseBINChunk(glb, dataView, byteOffset, chunkLength, chunkIndex);
|
|
141
|
+
}
|
|
142
|
+
break;
|
|
143
|
+
default:
|
|
144
|
+
break;
|
|
145
|
+
}
|
|
146
|
+
byteOffset += padToFourBytes(chunkLength);
|
|
147
|
+
chunkIndex++;
|
|
148
|
+
}
|
|
149
|
+
return byteOffset;
|
|
150
|
+
}
|
|
151
|
+
function parseJSONChunk(glb, dataView, byteOffset, chunkLength, chunkIndex) {
|
|
152
|
+
const jsonChunk = new Uint8Array(dataView.buffer, byteOffset, chunkLength);
|
|
153
|
+
const textDecoder = new TextDecoder("utf8");
|
|
154
|
+
const jsonText = textDecoder.decode(jsonChunk);
|
|
155
|
+
glb.json = JSON.parse(jsonText);
|
|
156
|
+
glb.jsonChunkIndex = chunkIndex;
|
|
157
|
+
return padToFourBytes(chunkLength);
|
|
158
|
+
}
|
|
159
|
+
function parseBINChunk(glb, dataView, byteOffset, chunkLength, chunkIndex) {
|
|
160
|
+
glb.header.hasBinChunk = true;
|
|
161
|
+
glb.binChunks.push({
|
|
162
|
+
chunkIndex,
|
|
163
|
+
byteOffset,
|
|
164
|
+
byteLength: chunkLength,
|
|
165
|
+
arrayBuffer: dataView.buffer
|
|
166
|
+
// TODO - copy, or create typed array view?
|
|
167
|
+
});
|
|
168
|
+
return padToFourBytes(chunkLength);
|
|
169
|
+
}
|
|
170
|
+
function getSafeUint64(dataView, byteOffset, label) {
|
|
171
|
+
const value = dataView.getBigUint64(byteOffset, LITTLE_ENDIAN);
|
|
172
|
+
if (value > BigInt(Number.MAX_SAFE_INTEGER)) {
|
|
173
|
+
throw new Error(`${label} exceeds JavaScript's safe integer range.`);
|
|
174
|
+
}
|
|
175
|
+
return Number(value);
|
|
176
|
+
}
|
|
177
|
+
function padToFourBytes(byteLength) {
|
|
178
|
+
return Math.ceil(byteLength / 4) * 4;
|
|
179
|
+
}
|
|
180
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
181
|
+
0 && (module.exports = {
|
|
182
|
+
isGLB,
|
|
183
|
+
parseGLBSync
|
|
184
|
+
});
|
|
185
|
+
//# sourceMappingURL=parse-glb.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/gltf/lib/parsers/parse-glb.ts"],
|
|
4
|
+
"sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n/* eslint-disable camelcase, max-statements */\n// https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#glb-file-format-specification\n// Draft GLB v3 layout: https://github.com/KhronosGroup/glTF/issues/2594\n// https://github.com/KhronosGroup/glTF/tree/master/extensions/1.0/Khronos/KHR_binary_glTF\nimport type {GLB} from '../types/glb-types';\nimport {assert} from '@loaders.gl/core/loader-utils';\n\n/** Options for parsing a GLB */\nexport type ParseGLBOptions = {\n /** @deprecated This option was used by XVIZ protocol to define a non-standard magic number */\n magic?: number;\n /** @deprecated This option was used by XVIZ protocol to embed non-standard chunks */\n strict?: boolean;\n};\n\n/** Binary GLTF is little endian. */\nconst LITTLE_ENDIAN = true;\n\n/** 'glTF' in Big-Endian ASCII */\nconst MAGIC_glTF = 0x676c5446;\nconst GLB_V1_V2_FILE_HEADER_SIZE = 12;\nconst GLB_V3_FILE_HEADER_SIZE = 16;\nconst GLB_V1_V2_CHUNK_HEADER_SIZE = 8;\nconst GLB_V3_CHUNK_HEADER_SIZE = 16;\nconst GLB_CHUNK_TYPE_JSON = 0x4e4f534a;\nconst GLB_CHUNK_TYPE_BIN = 0x004e4942;\nconst GLB_V1_CONTENT_FORMAT_JSON = 0x0;\n\n/** @deprecated - Backward compatibility for old xviz files */\nconst GLB_CHUNK_TYPE_JSON_XVIZ_DEPRECATED = 0;\n/** @deprecated - Backward compatibility for old xviz files */\nconst GLB_CHUNK_TYPE_BIX_XVIZ_DEPRECATED = 1;\n\nfunction getMagicString(dataView, byteOffset = 0) {\n return `\\\n${String.fromCharCode(dataView.getUint8(byteOffset + 0))}\\\n${String.fromCharCode(dataView.getUint8(byteOffset + 1))}\\\n${String.fromCharCode(dataView.getUint8(byteOffset + 2))}\\\n${String.fromCharCode(dataView.getUint8(byteOffset + 3))}`;\n}\n\n/** Check if the contents of an array buffer contains GLB byte markers */\nexport function isGLB(\n arrayBuffer: ArrayBuffer,\n byteOffset: number = 0,\n options: ParseGLBOptions = {}\n): boolean {\n const dataView = new DataView(arrayBuffer);\n // Check that GLB Header starts with the magic number\n const {magic = MAGIC_glTF} = options;\n const magic1 = dataView.getUint32(byteOffset, false);\n return magic1 === magic || magic1 === MAGIC_glTF;\n}\n\n/**\n * Synchronously parse a GLB\n * @param glb - Target, Output is stored there\n * @param arrayBuffer - Input data\n * @param byteOffset - Offset into arrayBuffer to start parsing from (for \"embedded\" GLBs, e.g. in 3D tiles)\n * @param options\n * @returns\n */\nexport function parseGLBSync(\n glb: GLB,\n arrayBuffer: ArrayBuffer,\n byteOffset: number = 0,\n options: ParseGLBOptions = {}\n) {\n // Check that GLB Header starts with the magic number\n const dataView = new DataView(arrayBuffer);\n\n // Compare format with GLBLoader documentation\n const type = getMagicString(dataView, byteOffset + 0);\n const version = dataView.getUint32(byteOffset + 4, LITTLE_ENDIAN);\n const byteLength =\n version === 3\n ? getSafeUint64(dataView, byteOffset + 8, 'GLB byte length')\n : dataView.getUint32(byteOffset + 8, LITTLE_ENDIAN);\n\n Object.assign(glb, {\n // Put less important stuff in a header, to avoid clutter\n header: {\n byteOffset, // Byte offset into the initial arrayBuffer\n byteLength,\n hasBinChunk: false\n },\n\n type,\n version,\n\n json: {},\n jsonChunkIndex: -1,\n binChunks: []\n } as GLB);\n\n switch (glb.version) {\n case 1:\n return parseGLBV1(glb, dataView, byteOffset + GLB_V1_V2_FILE_HEADER_SIZE);\n case 2:\n return parseGLBV2(glb, dataView, byteOffset + GLB_V1_V2_FILE_HEADER_SIZE, options);\n case 3:\n return parseGLBV3(glb, dataView, byteOffset + GLB_V3_FILE_HEADER_SIZE, options);\n default:\n throw new Error(`Invalid GLB version ${glb.version}. Only supports versions 1, 2 and 3.`);\n }\n}\n\n/**\n * Parse a V1 GLB\n * @param glb - target, output is stored in this object\n * @param dataView - Input, memory to be parsed\n * @param byteOffset - Offset of first byte of GLB data in the data view\n * @returns Number of bytes parsed (there could be additional non-GLB data after the GLB)\n */\nfunction parseGLBV1(glb: GLB, dataView: DataView, byteOffset: number): number {\n // Sanity: ensure file is big enough to hold at least the headers\n assert(glb.header.byteLength > GLB_V1_V2_FILE_HEADER_SIZE + GLB_V1_V2_CHUNK_HEADER_SIZE);\n const fileEndByteOffset = glb.header.byteOffset + glb.header.byteLength;\n assert(fileEndByteOffset <= dataView.byteLength);\n\n // Explanation of GLB structure:\n // https://cloud.githubusercontent.com/assets/3479527/22600725/36b87122-ea55-11e6-9d40-6fd42819fcab.png\n const contentLength = dataView.getUint32(byteOffset + 0, LITTLE_ENDIAN); // Byte length of chunk\n const contentFormat = dataView.getUint32(byteOffset + 4, LITTLE_ENDIAN); // Chunk format as uint32\n byteOffset += GLB_V1_V2_CHUNK_HEADER_SIZE;\n\n // GLB v1 only supports a single chunk type\n assert(contentFormat === GLB_V1_CONTENT_FORMAT_JSON);\n if (byteOffset + contentLength > fileEndByteOffset) {\n throw new Error('GLB JSON content extends beyond the declared file length.');\n }\n\n parseJSONChunk(glb, dataView, byteOffset, contentLength, 0);\n // No need to call the function padToBytes() from parseJSONChunk()\n byteOffset += contentLength;\n const bodyByteLength = fileEndByteOffset - byteOffset;\n if (bodyByteLength > 0) {\n parseBINChunk(glb, dataView, byteOffset, bodyByteLength, 1);\n }\n\n return fileEndByteOffset;\n}\n\n/**\n * Parse a V2 GLB\n * @param glb - target, output is stored in this object\n * @param dataView - Input, memory to be parsed\n * @param byteOffset - Offset of first byte of GLB data in the data view\n * @returns Number of bytes parsed (there could be additional non-GLB data after the GLB)\n */\nfunction parseGLBV2(\n glb: GLB,\n dataView: DataView,\n byteOffset: number,\n options: ParseGLBOptions\n): number {\n // Sanity: ensure file is big enough to hold at least the first chunk header\n assert(glb.header.byteLength > GLB_V1_V2_FILE_HEADER_SIZE + GLB_V1_V2_CHUNK_HEADER_SIZE);\n\n parseGLBChunksSync(glb, dataView, byteOffset, GLB_V1_V2_CHUNK_HEADER_SIZE, options);\n\n return glb.header.byteOffset + glb.header.byteLength;\n}\n\n/** Parse a draft V3 GLB with 64-bit file and chunk lengths. */\nfunction parseGLBV3(\n glb: GLB,\n dataView: DataView,\n byteOffset: number,\n options: ParseGLBOptions\n): number {\n assert(glb.header.byteLength >= GLB_V3_FILE_HEADER_SIZE + GLB_V3_CHUNK_HEADER_SIZE);\n\n parseGLBChunksSync(glb, dataView, byteOffset, GLB_V3_CHUNK_HEADER_SIZE, options);\n\n return glb.header.byteOffset + glb.header.byteLength;\n}\n\n/** Iterate over GLB chunks and parse them */\nfunction parseGLBChunksSync(\n glb: GLB,\n dataView: DataView,\n byteOffset: number,\n chunkHeaderSize: number,\n options: ParseGLBOptions\n) {\n const fileEndByteOffset = glb.header.byteOffset + glb.header.byteLength;\n assert(fileEndByteOffset <= dataView.byteLength);\n let chunkIndex = 0;\n\n // Per spec we must iterate over chunks, ignoring all except JSON and BIN\n // Iterate as long as there is space left for another chunk header\n while (byteOffset + chunkHeaderSize <= fileEndByteOffset) {\n const isVersion3 = glb.version === 3;\n const chunkFormat = dataView.getUint32(byteOffset + (isVersion3 ? 0 : 4), LITTLE_ENDIAN);\n const chunkEncoding = isVersion3 ? dataView.getUint32(byteOffset + 4, LITTLE_ENDIAN) : 0;\n const chunkLength = isVersion3\n ? getSafeUint64(dataView, byteOffset + 8, 'GLB chunk length')\n : dataView.getUint32(byteOffset + 0, LITTLE_ENDIAN);\n byteOffset += chunkHeaderSize;\n\n if (chunkEncoding !== 0) {\n throw new Error(`Unsupported GLB chunk encoding ${chunkEncoding}.`);\n }\n if (byteOffset + chunkLength > fileEndByteOffset) {\n throw new Error('GLB chunk extends beyond the declared file length.');\n }\n\n // Per spec we must iterate over chunks, ignoring all except JSON and BIN\n switch (chunkFormat) {\n case GLB_CHUNK_TYPE_JSON:\n // GLB v3 defines the first JSON chunk as the glTF JSON chunk.\n if (glb.version !== 3 || glb.jsonChunkIndex === -1) {\n parseJSONChunk(glb, dataView, byteOffset, chunkLength, chunkIndex);\n }\n break;\n case GLB_CHUNK_TYPE_BIN:\n parseBINChunk(glb, dataView, byteOffset, chunkLength, chunkIndex);\n break;\n\n // Backward compatibility for very old xviz files\n case GLB_CHUNK_TYPE_JSON_XVIZ_DEPRECATED:\n if (!options.strict) {\n parseJSONChunk(glb, dataView, byteOffset, chunkLength, chunkIndex);\n }\n break;\n case GLB_CHUNK_TYPE_BIX_XVIZ_DEPRECATED:\n if (!options.strict) {\n parseBINChunk(glb, dataView, byteOffset, chunkLength, chunkIndex);\n }\n break;\n\n default:\n // Ignore, per spec\n // console.warn(`Unknown GLB chunk type`); // eslint-disable-line\n break;\n }\n\n byteOffset += padToFourBytes(chunkLength);\n chunkIndex++;\n }\n\n return byteOffset;\n}\n\n/* Parse a GLB JSON chunk */\nfunction parseJSONChunk(\n glb: GLB,\n dataView: DataView,\n byteOffset: number,\n chunkLength: number,\n chunkIndex: number\n) {\n // 1. Create a \"view\" of the binary encoded JSON data inside the GLB\n const jsonChunk = new Uint8Array(dataView.buffer, byteOffset, chunkLength);\n\n // 2. Decode the JSON binary array into clear text\n const textDecoder = new TextDecoder('utf8');\n const jsonText = textDecoder.decode(jsonChunk);\n\n // 3. Parse the JSON text into a JavaScript data structure\n glb.json = JSON.parse(jsonText);\n glb.jsonChunkIndex = chunkIndex;\n\n return padToFourBytes(chunkLength);\n}\n\n/** Parse a GLB BIN chunk */\nfunction parseBINChunk(glb: GLB, dataView, byteOffset, chunkLength, chunkIndex: number) {\n // Note: BIN chunk can be optional\n glb.header.hasBinChunk = true;\n glb.binChunks.push({\n chunkIndex,\n byteOffset,\n byteLength: chunkLength,\n arrayBuffer: dataView.buffer\n // TODO - copy, or create typed array view?\n });\n\n return padToFourBytes(chunkLength);\n}\n\n/** Read a uint64 that can be represented exactly by JavaScript offsets and lengths. */\nfunction getSafeUint64(dataView: DataView, byteOffset: number, label: string): number {\n const value = dataView.getBigUint64(byteOffset, LITTLE_ENDIAN);\n if (value > BigInt(Number.MAX_SAFE_INTEGER)) {\n throw new Error(`${label} exceeds JavaScript's safe integer range.`);\n }\n return Number(value);\n}\n\n/** Round a byte length up to the four-byte alignment required by GLB chunks. */\nfunction padToFourBytes(byteLength: number): number {\n return Math.ceil(byteLength / 4) * 4;\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,0BAAqB;AAWrB,IAAM,gBAAgB;AAGtB,IAAM,aAAa;AACnB,IAAM,6BAA6B;AACnC,IAAM,0BAA0B;AAChC,IAAM,8BAA8B;AACpC,IAAM,2BAA2B;AACjC,IAAM,sBAAsB;AAC5B,IAAM,qBAAqB;AAC3B,IAAM,6BAA6B;AAGnC,IAAM,sCAAsC;AAE5C,IAAM,qCAAqC;AAE3C,SAAS,eAAe,UAAU,aAAa,GAAG;AAChD,SAAO,GACP,OAAO,aAAa,SAAS,SAAS,aAAa,CAAC,CAAC,CAAC,GACtD,OAAO,aAAa,SAAS,SAAS,aAAa,CAAC,CAAC,CAAC,GACtD,OAAO,aAAa,SAAS,SAAS,aAAa,CAAC,CAAC,CAAC,GACtD,OAAO,aAAa,SAAS,SAAS,aAAa,CAAC,CAAC,CAAC;AACxD;AAGO,SAAS,MACd,aACA,aAAqB,GACrB,UAA2B,CAAC,GACnB;AACT,QAAM,WAAW,IAAI,SAAS,WAAW;AAEzC,QAAM,EAAC,QAAQ,WAAU,IAAI;AAC7B,QAAM,SAAS,SAAS,UAAU,YAAY,KAAK;AACnD,SAAO,WAAW,SAAS,WAAW;AACxC;AAUO,SAAS,aACd,KACA,aACA,aAAqB,GACrB,UAA2B,CAAC,GAC5B;AAEA,QAAM,WAAW,IAAI,SAAS,WAAW;AAGzC,QAAM,OAAO,eAAe,UAAU,aAAa,CAAC;AACpD,QAAM,UAAU,SAAS,UAAU,aAAa,GAAG,aAAa;AAChE,QAAM,aACJ,YAAY,IACR,cAAc,UAAU,aAAa,GAAG,iBAAiB,IACzD,SAAS,UAAU,aAAa,GAAG,aAAa;AAEtD,SAAO,OAAO,KAAK;AAAA;AAAA,IAEjB,QAAQ;AAAA,MACN;AAAA;AAAA,MACA;AAAA,MACA,aAAa;AAAA,IACf;AAAA,IAEA;AAAA,IACA;AAAA,IAEA,MAAM,CAAC;AAAA,IACP,gBAAgB;AAAA,IAChB,WAAW,CAAC;AAAA,EACd,CAAQ;AAER,UAAQ,IAAI,SAAS;AAAA,IACnB,KAAK;AACH,aAAO,WAAW,KAAK,UAAU,aAAa,0BAA0B;AAAA,IAC1E,KAAK;AACH,aAAO,WAAW,KAAK,UAAU,aAAa,4BAA4B,OAAO;AAAA,IACnF,KAAK;AACH,aAAO,WAAW,KAAK,UAAU,aAAa,yBAAyB,OAAO;AAAA,IAChF;AACE,YAAM,IAAI,MAAM,uBAAuB,IAAI,OAAO,sCAAsC;AAAA,EAC5F;AACF;AASA,SAAS,WAAW,KAAU,UAAoB,YAA4B;AAE5E,kCAAO,IAAI,OAAO,aAAa,6BAA6B,2BAA2B;AACvF,QAAM,oBAAoB,IAAI,OAAO,aAAa,IAAI,OAAO;AAC7D,kCAAO,qBAAqB,SAAS,UAAU;AAI/C,QAAM,gBAAgB,SAAS,UAAU,aAAa,GAAG,aAAa;AACtE,QAAM,gBAAgB,SAAS,UAAU,aAAa,GAAG,aAAa;AACtE,gBAAc;AAGd,kCAAO,kBAAkB,0BAA0B;AACnD,MAAI,aAAa,gBAAgB,mBAAmB;AAClD,UAAM,IAAI,MAAM,2DAA2D;AAAA,EAC7E;AAEA,iBAAe,KAAK,UAAU,YAAY,eAAe,CAAC;AAE1D,gBAAc;AACd,QAAM,iBAAiB,oBAAoB;AAC3C,MAAI,iBAAiB,GAAG;AACtB,kBAAc,KAAK,UAAU,YAAY,gBAAgB,CAAC;AAAA,EAC5D;AAEA,SAAO;AACT;AASA,SAAS,WACP,KACA,UACA,YACA,SACQ;AAER,kCAAO,IAAI,OAAO,aAAa,6BAA6B,2BAA2B;AAEvF,qBAAmB,KAAK,UAAU,YAAY,6BAA6B,OAAO;AAElF,SAAO,IAAI,OAAO,aAAa,IAAI,OAAO;AAC5C;AAGA,SAAS,WACP,KACA,UACA,YACA,SACQ;AACR,kCAAO,IAAI,OAAO,cAAc,0BAA0B,wBAAwB;AAElF,qBAAmB,KAAK,UAAU,YAAY,0BAA0B,OAAO;AAE/E,SAAO,IAAI,OAAO,aAAa,IAAI,OAAO;AAC5C;AAGA,SAAS,mBACP,KACA,UACA,YACA,iBACA,SACA;AACA,QAAM,oBAAoB,IAAI,OAAO,aAAa,IAAI,OAAO;AAC7D,kCAAO,qBAAqB,SAAS,UAAU;AAC/C,MAAI,aAAa;AAIjB,SAAO,aAAa,mBAAmB,mBAAmB;AACxD,UAAM,aAAa,IAAI,YAAY;AACnC,UAAM,cAAc,SAAS,UAAU,cAAc,aAAa,IAAI,IAAI,aAAa;AACvF,UAAM,gBAAgB,aAAa,SAAS,UAAU,aAAa,GAAG,aAAa,IAAI;AACvF,UAAM,cAAc,aAChB,cAAc,UAAU,aAAa,GAAG,kBAAkB,IAC1D,SAAS,UAAU,aAAa,GAAG,aAAa;AACpD,kBAAc;AAEd,QAAI,kBAAkB,GAAG;AACvB,YAAM,IAAI,MAAM,kCAAkC,aAAa,GAAG;AAAA,IACpE;AACA,QAAI,aAAa,cAAc,mBAAmB;AAChD,YAAM,IAAI,MAAM,oDAAoD;AAAA,IACtE;AAGA,YAAQ,aAAa;AAAA,MACnB,KAAK;AAEH,YAAI,IAAI,YAAY,KAAK,IAAI,mBAAmB,IAAI;AAClD,yBAAe,KAAK,UAAU,YAAY,aAAa,UAAU;AAAA,QACnE;AACA;AAAA,MACF,KAAK;AACH,sBAAc,KAAK,UAAU,YAAY,aAAa,UAAU;AAChE;AAAA;AAAA,MAGF,KAAK;AACH,YAAI,CAAC,QAAQ,QAAQ;AACnB,yBAAe,KAAK,UAAU,YAAY,aAAa,UAAU;AAAA,QACnE;AACA;AAAA,MACF,KAAK;AACH,YAAI,CAAC,QAAQ,QAAQ;AACnB,wBAAc,KAAK,UAAU,YAAY,aAAa,UAAU;AAAA,QAClE;AACA;AAAA,MAEF;AAGE;AAAA,IACJ;AAEA,kBAAc,eAAe,WAAW;AACxC;AAAA,EACF;AAEA,SAAO;AACT;AAGA,SAAS,eACP,KACA,UACA,YACA,aACA,YACA;AAEA,QAAM,YAAY,IAAI,WAAW,SAAS,QAAQ,YAAY,WAAW;AAGzE,QAAM,cAAc,IAAI,YAAY,MAAM;AAC1C,QAAM,WAAW,YAAY,OAAO,SAAS;AAG7C,MAAI,OAAO,KAAK,MAAM,QAAQ;AAC9B,MAAI,iBAAiB;AAErB,SAAO,eAAe,WAAW;AACnC;AAGA,SAAS,cAAc,KAAU,UAAU,YAAY,aAAa,YAAoB;AAEtF,MAAI,OAAO,cAAc;AACzB,MAAI,UAAU,KAAK;AAAA,IACjB;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ,aAAa,SAAS;AAAA;AAAA,EAExB,CAAC;AAED,SAAO,eAAe,WAAW;AACnC;AAGA,SAAS,cAAc,UAAoB,YAAoB,OAAuB;AACpF,QAAM,QAAQ,SAAS,aAAa,YAAY,aAAa;AAC7D,MAAI,QAAQ,OAAO,OAAO,gBAAgB,GAAG;AAC3C,UAAM,IAAI,MAAM,GAAG,KAAK,2CAA2C;AAAA,EACrE;AACA,SAAO,OAAO,KAAK;AACrB;AAGA,SAAS,eAAe,YAA4B;AAClD,SAAO,KAAK,KAAK,aAAa,CAAC,IAAI;AACrC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { GLB } from "../types/glb-types.js";
|
|
2
|
+
/** Options for parsing a GLB */
|
|
3
|
+
export type ParseGLBOptions = {
|
|
4
|
+
/** @deprecated This option was used by XVIZ protocol to define a non-standard magic number */
|
|
5
|
+
magic?: number;
|
|
6
|
+
/** @deprecated This option was used by XVIZ protocol to embed non-standard chunks */
|
|
7
|
+
strict?: boolean;
|
|
8
|
+
};
|
|
9
|
+
/** Check if the contents of an array buffer contains GLB byte markers */
|
|
10
|
+
export declare function isGLB(arrayBuffer: ArrayBuffer, byteOffset?: number, options?: ParseGLBOptions): boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Synchronously parse a GLB
|
|
13
|
+
* @param glb - Target, Output is stored there
|
|
14
|
+
* @param arrayBuffer - Input data
|
|
15
|
+
* @param byteOffset - Offset into arrayBuffer to start parsing from (for "embedded" GLBs, e.g. in 3D tiles)
|
|
16
|
+
* @param options
|
|
17
|
+
* @returns
|
|
18
|
+
*/
|
|
19
|
+
export declare function parseGLBSync(glb: GLB, arrayBuffer: ArrayBuffer, byteOffset?: number, options?: ParseGLBOptions): number;
|
|
20
|
+
//# sourceMappingURL=parse-glb.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-glb.d.ts","sourceRoot":"","sources":["../../../../src/gltf/lib/parsers/parse-glb.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAC,GAAG,EAAC,8BAA2B;AAG5C,gCAAgC;AAChC,MAAM,MAAM,eAAe,GAAG;IAC5B,8FAA8F;IAC9F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qFAAqF;IACrF,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AA4BF,yEAAyE;AACzE,wBAAgB,KAAK,CACnB,WAAW,EAAE,WAAW,EACxB,UAAU,GAAE,MAAU,EACtB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAMT;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,WAAW,EACxB,UAAU,GAAE,MAAU,EACtB,OAAO,GAAE,eAAoB,UAuC9B"}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { assert } from '@loaders.gl/core/loader-utils';
|
|
5
|
+
/** Binary GLTF is little endian. */
|
|
6
|
+
const LITTLE_ENDIAN = true;
|
|
7
|
+
/** 'glTF' in Big-Endian ASCII */
|
|
8
|
+
const MAGIC_glTF = 0x676c5446;
|
|
9
|
+
const GLB_V1_V2_FILE_HEADER_SIZE = 12;
|
|
10
|
+
const GLB_V3_FILE_HEADER_SIZE = 16;
|
|
11
|
+
const GLB_V1_V2_CHUNK_HEADER_SIZE = 8;
|
|
12
|
+
const GLB_V3_CHUNK_HEADER_SIZE = 16;
|
|
13
|
+
const GLB_CHUNK_TYPE_JSON = 0x4e4f534a;
|
|
14
|
+
const GLB_CHUNK_TYPE_BIN = 0x004e4942;
|
|
15
|
+
const GLB_V1_CONTENT_FORMAT_JSON = 0x0;
|
|
16
|
+
/** @deprecated - Backward compatibility for old xviz files */
|
|
17
|
+
const GLB_CHUNK_TYPE_JSON_XVIZ_DEPRECATED = 0;
|
|
18
|
+
/** @deprecated - Backward compatibility for old xviz files */
|
|
19
|
+
const GLB_CHUNK_TYPE_BIX_XVIZ_DEPRECATED = 1;
|
|
20
|
+
function getMagicString(dataView, byteOffset = 0) {
|
|
21
|
+
return `\
|
|
22
|
+
${String.fromCharCode(dataView.getUint8(byteOffset + 0))}\
|
|
23
|
+
${String.fromCharCode(dataView.getUint8(byteOffset + 1))}\
|
|
24
|
+
${String.fromCharCode(dataView.getUint8(byteOffset + 2))}\
|
|
25
|
+
${String.fromCharCode(dataView.getUint8(byteOffset + 3))}`;
|
|
26
|
+
}
|
|
27
|
+
/** Check if the contents of an array buffer contains GLB byte markers */
|
|
28
|
+
export function isGLB(arrayBuffer, byteOffset = 0, options = {}) {
|
|
29
|
+
const dataView = new DataView(arrayBuffer);
|
|
30
|
+
// Check that GLB Header starts with the magic number
|
|
31
|
+
const { magic = MAGIC_glTF } = options;
|
|
32
|
+
const magic1 = dataView.getUint32(byteOffset, false);
|
|
33
|
+
return magic1 === magic || magic1 === MAGIC_glTF;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Synchronously parse a GLB
|
|
37
|
+
* @param glb - Target, Output is stored there
|
|
38
|
+
* @param arrayBuffer - Input data
|
|
39
|
+
* @param byteOffset - Offset into arrayBuffer to start parsing from (for "embedded" GLBs, e.g. in 3D tiles)
|
|
40
|
+
* @param options
|
|
41
|
+
* @returns
|
|
42
|
+
*/
|
|
43
|
+
export function parseGLBSync(glb, arrayBuffer, byteOffset = 0, options = {}) {
|
|
44
|
+
// Check that GLB Header starts with the magic number
|
|
45
|
+
const dataView = new DataView(arrayBuffer);
|
|
46
|
+
// Compare format with GLBLoader documentation
|
|
47
|
+
const type = getMagicString(dataView, byteOffset + 0);
|
|
48
|
+
const version = dataView.getUint32(byteOffset + 4, LITTLE_ENDIAN);
|
|
49
|
+
const byteLength = version === 3
|
|
50
|
+
? getSafeUint64(dataView, byteOffset + 8, 'GLB byte length')
|
|
51
|
+
: dataView.getUint32(byteOffset + 8, LITTLE_ENDIAN);
|
|
52
|
+
Object.assign(glb, {
|
|
53
|
+
// Put less important stuff in a header, to avoid clutter
|
|
54
|
+
header: {
|
|
55
|
+
byteOffset, // Byte offset into the initial arrayBuffer
|
|
56
|
+
byteLength,
|
|
57
|
+
hasBinChunk: false
|
|
58
|
+
},
|
|
59
|
+
type,
|
|
60
|
+
version,
|
|
61
|
+
json: {},
|
|
62
|
+
jsonChunkIndex: -1,
|
|
63
|
+
binChunks: []
|
|
64
|
+
});
|
|
65
|
+
switch (glb.version) {
|
|
66
|
+
case 1:
|
|
67
|
+
return parseGLBV1(glb, dataView, byteOffset + GLB_V1_V2_FILE_HEADER_SIZE);
|
|
68
|
+
case 2:
|
|
69
|
+
return parseGLBV2(glb, dataView, byteOffset + GLB_V1_V2_FILE_HEADER_SIZE, options);
|
|
70
|
+
case 3:
|
|
71
|
+
return parseGLBV3(glb, dataView, byteOffset + GLB_V3_FILE_HEADER_SIZE, options);
|
|
72
|
+
default:
|
|
73
|
+
throw new Error(`Invalid GLB version ${glb.version}. Only supports versions 1, 2 and 3.`);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Parse a V1 GLB
|
|
78
|
+
* @param glb - target, output is stored in this object
|
|
79
|
+
* @param dataView - Input, memory to be parsed
|
|
80
|
+
* @param byteOffset - Offset of first byte of GLB data in the data view
|
|
81
|
+
* @returns Number of bytes parsed (there could be additional non-GLB data after the GLB)
|
|
82
|
+
*/
|
|
83
|
+
function parseGLBV1(glb, dataView, byteOffset) {
|
|
84
|
+
// Sanity: ensure file is big enough to hold at least the headers
|
|
85
|
+
assert(glb.header.byteLength > GLB_V1_V2_FILE_HEADER_SIZE + GLB_V1_V2_CHUNK_HEADER_SIZE);
|
|
86
|
+
const fileEndByteOffset = glb.header.byteOffset + glb.header.byteLength;
|
|
87
|
+
assert(fileEndByteOffset <= dataView.byteLength);
|
|
88
|
+
// Explanation of GLB structure:
|
|
89
|
+
// https://cloud.githubusercontent.com/assets/3479527/22600725/36b87122-ea55-11e6-9d40-6fd42819fcab.png
|
|
90
|
+
const contentLength = dataView.getUint32(byteOffset + 0, LITTLE_ENDIAN); // Byte length of chunk
|
|
91
|
+
const contentFormat = dataView.getUint32(byteOffset + 4, LITTLE_ENDIAN); // Chunk format as uint32
|
|
92
|
+
byteOffset += GLB_V1_V2_CHUNK_HEADER_SIZE;
|
|
93
|
+
// GLB v1 only supports a single chunk type
|
|
94
|
+
assert(contentFormat === GLB_V1_CONTENT_FORMAT_JSON);
|
|
95
|
+
if (byteOffset + contentLength > fileEndByteOffset) {
|
|
96
|
+
throw new Error('GLB JSON content extends beyond the declared file length.');
|
|
97
|
+
}
|
|
98
|
+
parseJSONChunk(glb, dataView, byteOffset, contentLength, 0);
|
|
99
|
+
// No need to call the function padToBytes() from parseJSONChunk()
|
|
100
|
+
byteOffset += contentLength;
|
|
101
|
+
const bodyByteLength = fileEndByteOffset - byteOffset;
|
|
102
|
+
if (bodyByteLength > 0) {
|
|
103
|
+
parseBINChunk(glb, dataView, byteOffset, bodyByteLength, 1);
|
|
104
|
+
}
|
|
105
|
+
return fileEndByteOffset;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Parse a V2 GLB
|
|
109
|
+
* @param glb - target, output is stored in this object
|
|
110
|
+
* @param dataView - Input, memory to be parsed
|
|
111
|
+
* @param byteOffset - Offset of first byte of GLB data in the data view
|
|
112
|
+
* @returns Number of bytes parsed (there could be additional non-GLB data after the GLB)
|
|
113
|
+
*/
|
|
114
|
+
function parseGLBV2(glb, dataView, byteOffset, options) {
|
|
115
|
+
// Sanity: ensure file is big enough to hold at least the first chunk header
|
|
116
|
+
assert(glb.header.byteLength > GLB_V1_V2_FILE_HEADER_SIZE + GLB_V1_V2_CHUNK_HEADER_SIZE);
|
|
117
|
+
parseGLBChunksSync(glb, dataView, byteOffset, GLB_V1_V2_CHUNK_HEADER_SIZE, options);
|
|
118
|
+
return glb.header.byteOffset + glb.header.byteLength;
|
|
119
|
+
}
|
|
120
|
+
/** Parse a draft V3 GLB with 64-bit file and chunk lengths. */
|
|
121
|
+
function parseGLBV3(glb, dataView, byteOffset, options) {
|
|
122
|
+
assert(glb.header.byteLength >= GLB_V3_FILE_HEADER_SIZE + GLB_V3_CHUNK_HEADER_SIZE);
|
|
123
|
+
parseGLBChunksSync(glb, dataView, byteOffset, GLB_V3_CHUNK_HEADER_SIZE, options);
|
|
124
|
+
return glb.header.byteOffset + glb.header.byteLength;
|
|
125
|
+
}
|
|
126
|
+
/** Iterate over GLB chunks and parse them */
|
|
127
|
+
function parseGLBChunksSync(glb, dataView, byteOffset, chunkHeaderSize, options) {
|
|
128
|
+
const fileEndByteOffset = glb.header.byteOffset + glb.header.byteLength;
|
|
129
|
+
assert(fileEndByteOffset <= dataView.byteLength);
|
|
130
|
+
let chunkIndex = 0;
|
|
131
|
+
// Per spec we must iterate over chunks, ignoring all except JSON and BIN
|
|
132
|
+
// Iterate as long as there is space left for another chunk header
|
|
133
|
+
while (byteOffset + chunkHeaderSize <= fileEndByteOffset) {
|
|
134
|
+
const isVersion3 = glb.version === 3;
|
|
135
|
+
const chunkFormat = dataView.getUint32(byteOffset + (isVersion3 ? 0 : 4), LITTLE_ENDIAN);
|
|
136
|
+
const chunkEncoding = isVersion3 ? dataView.getUint32(byteOffset + 4, LITTLE_ENDIAN) : 0;
|
|
137
|
+
const chunkLength = isVersion3
|
|
138
|
+
? getSafeUint64(dataView, byteOffset + 8, 'GLB chunk length')
|
|
139
|
+
: dataView.getUint32(byteOffset + 0, LITTLE_ENDIAN);
|
|
140
|
+
byteOffset += chunkHeaderSize;
|
|
141
|
+
if (chunkEncoding !== 0) {
|
|
142
|
+
throw new Error(`Unsupported GLB chunk encoding ${chunkEncoding}.`);
|
|
143
|
+
}
|
|
144
|
+
if (byteOffset + chunkLength > fileEndByteOffset) {
|
|
145
|
+
throw new Error('GLB chunk extends beyond the declared file length.');
|
|
146
|
+
}
|
|
147
|
+
// Per spec we must iterate over chunks, ignoring all except JSON and BIN
|
|
148
|
+
switch (chunkFormat) {
|
|
149
|
+
case GLB_CHUNK_TYPE_JSON:
|
|
150
|
+
// GLB v3 defines the first JSON chunk as the glTF JSON chunk.
|
|
151
|
+
if (glb.version !== 3 || glb.jsonChunkIndex === -1) {
|
|
152
|
+
parseJSONChunk(glb, dataView, byteOffset, chunkLength, chunkIndex);
|
|
153
|
+
}
|
|
154
|
+
break;
|
|
155
|
+
case GLB_CHUNK_TYPE_BIN:
|
|
156
|
+
parseBINChunk(glb, dataView, byteOffset, chunkLength, chunkIndex);
|
|
157
|
+
break;
|
|
158
|
+
// Backward compatibility for very old xviz files
|
|
159
|
+
case GLB_CHUNK_TYPE_JSON_XVIZ_DEPRECATED:
|
|
160
|
+
if (!options.strict) {
|
|
161
|
+
parseJSONChunk(glb, dataView, byteOffset, chunkLength, chunkIndex);
|
|
162
|
+
}
|
|
163
|
+
break;
|
|
164
|
+
case GLB_CHUNK_TYPE_BIX_XVIZ_DEPRECATED:
|
|
165
|
+
if (!options.strict) {
|
|
166
|
+
parseBINChunk(glb, dataView, byteOffset, chunkLength, chunkIndex);
|
|
167
|
+
}
|
|
168
|
+
break;
|
|
169
|
+
default:
|
|
170
|
+
// Ignore, per spec
|
|
171
|
+
// console.warn(`Unknown GLB chunk type`); // eslint-disable-line
|
|
172
|
+
break;
|
|
173
|
+
}
|
|
174
|
+
byteOffset += padToFourBytes(chunkLength);
|
|
175
|
+
chunkIndex++;
|
|
176
|
+
}
|
|
177
|
+
return byteOffset;
|
|
178
|
+
}
|
|
179
|
+
/* Parse a GLB JSON chunk */
|
|
180
|
+
function parseJSONChunk(glb, dataView, byteOffset, chunkLength, chunkIndex) {
|
|
181
|
+
// 1. Create a "view" of the binary encoded JSON data inside the GLB
|
|
182
|
+
const jsonChunk = new Uint8Array(dataView.buffer, byteOffset, chunkLength);
|
|
183
|
+
// 2. Decode the JSON binary array into clear text
|
|
184
|
+
const textDecoder = new TextDecoder('utf8');
|
|
185
|
+
const jsonText = textDecoder.decode(jsonChunk);
|
|
186
|
+
// 3. Parse the JSON text into a JavaScript data structure
|
|
187
|
+
glb.json = JSON.parse(jsonText);
|
|
188
|
+
glb.jsonChunkIndex = chunkIndex;
|
|
189
|
+
return padToFourBytes(chunkLength);
|
|
190
|
+
}
|
|
191
|
+
/** Parse a GLB BIN chunk */
|
|
192
|
+
function parseBINChunk(glb, dataView, byteOffset, chunkLength, chunkIndex) {
|
|
193
|
+
// Note: BIN chunk can be optional
|
|
194
|
+
glb.header.hasBinChunk = true;
|
|
195
|
+
glb.binChunks.push({
|
|
196
|
+
chunkIndex,
|
|
197
|
+
byteOffset,
|
|
198
|
+
byteLength: chunkLength,
|
|
199
|
+
arrayBuffer: dataView.buffer
|
|
200
|
+
// TODO - copy, or create typed array view?
|
|
201
|
+
});
|
|
202
|
+
return padToFourBytes(chunkLength);
|
|
203
|
+
}
|
|
204
|
+
/** Read a uint64 that can be represented exactly by JavaScript offsets and lengths. */
|
|
205
|
+
function getSafeUint64(dataView, byteOffset, label) {
|
|
206
|
+
const value = dataView.getBigUint64(byteOffset, LITTLE_ENDIAN);
|
|
207
|
+
if (value > BigInt(Number.MAX_SAFE_INTEGER)) {
|
|
208
|
+
throw new Error(`${label} exceeds JavaScript's safe integer range.`);
|
|
209
|
+
}
|
|
210
|
+
return Number(value);
|
|
211
|
+
}
|
|
212
|
+
/** Round a byte length up to the four-byte alignment required by GLB chunks. */
|
|
213
|
+
function padToFourBytes(byteLength) {
|
|
214
|
+
return Math.ceil(byteLength / 4) * 4;
|
|
215
|
+
}
|
|
216
|
+
//# sourceMappingURL=parse-glb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-glb.js","sourceRoot":"","sources":["../../../../src/gltf/lib/parsers/parse-glb.ts"],"names":[],"mappings":"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"}
|