@loaders.gl/scene 5.0.0-beta.1 → 5.0.0-beta.2
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/README.md +7 -1
- package/THIRD-PARTY-NOTICES.md +4 -1
- package/dist/dist.dev.js +5708 -4937
- package/dist/dist.min.js +24 -24
- package/dist/draco/bundled.cjs +37 -0
- package/dist/draco/bundled.cjs.map +7 -0
- package/dist/draco/bundled.d.ts +6 -0
- package/dist/draco/bundled.d.ts.map +1 -0
- package/dist/draco/bundled.js +7 -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 +44 -0
- package/dist/draco/draco-javascript-loader-with-parser.cjs.map +7 -0
- package/dist/draco/draco-javascript-loader-with-parser.d.ts +34 -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 +88 -0
- package/dist/draco/draco-loader-types.cjs.map +7 -0
- package/dist/draco/draco-loader-types.d.ts +69 -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 +39 -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 +34 -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 +97 -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 +34 -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 +54 -0
- package/dist/draco/index.cjs.map +7 -0
- package/dist/draco/index.d.ts +13 -0
- package/dist/draco/index.d.ts.map +1 -0
- package/dist/draco/index.js +13 -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 +598 -0
- package/dist/draco/lib/draco-parser.cjs.map +7 -0
- package/dist/draco/lib/draco-parser.d.ts +142 -0
- package/dist/draco/lib/draco-parser.d.ts.map +1 -0
- package/dist/draco/lib/draco-parser.js +595 -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 +59 -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 +32 -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 +33 -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 +28279 -0
- package/dist/draco-worker-node.js.map +7 -0
- package/dist/draco-worker.js +18145 -0
- package/dist/draco-worker.js.map +7 -0
- package/dist/draco-writer-worker-node.cjs +27521 -0
- package/dist/draco-writer-worker-node.cjs.map +7 -0
- package/dist/draco-writer-worker.js +17339 -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/glb-loader-types.cjs +1 -1
- package/dist/gltf/glb-loader-types.cjs.map +2 -2
- package/dist/gltf/glb-loader-types.d.ts +2 -2
- package/dist/gltf/glb-loader-types.js +1 -1
- package/dist/gltf/glb-loader-types.js.map +1 -1
- package/dist/gltf/gltf-loader-types.cjs +1 -1
- package/dist/gltf/gltf-loader-types.cjs.map +2 -2
- package/dist/gltf/gltf-loader-types.d.ts +5 -5
- package/dist/gltf/gltf-loader-types.d.ts.map +1 -1
- package/dist/gltf/gltf-loader-types.js +1 -1
- package/dist/gltf/gltf-loader-types.js.map +1 -1
- package/dist/gltf/gltf-loader.cjs.map +1 -1
- package/dist/gltf/gltf-loader.d.ts +4 -4
- package/dist/gltf/gltf-loader.d.ts.map +1 -1
- package/dist/gltf/lib/encoders/encode-gltf-draco.cjs +12 -2
- package/dist/gltf/lib/encoders/encode-gltf-draco.cjs.map +2 -2
- package/dist/gltf/lib/encoders/encode-gltf-draco.d.ts +1 -1
- package/dist/gltf/lib/encoders/encode-gltf-draco.d.ts.map +1 -1
- package/dist/gltf/lib/encoders/encode-gltf-draco.js +1 -1
- package/dist/gltf/lib/encoders/encode-gltf-draco.js.map +1 -1
- package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.cjs +2 -2
- package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.cjs.map +2 -2
- package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.d.ts.map +1 -1
- package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.js +1 -1
- package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.js.map +1 -1
- package/dist/gltf/lib/parsers/parse-gltf.cjs +2 -2
- package/dist/gltf/lib/parsers/parse-gltf.cjs.map +3 -3
- package/dist/gltf/lib/parsers/parse-gltf.js +5 -5
- package/dist/gltf/lib/parsers/parse-gltf.js.map +1 -1
- package/dist/gltf/lib/types/gltf-zod-schema.d.ts +1 -1
- package/dist/gltf/lib/utils/version.cjs +1 -1
- package/dist/gltf/lib/utils/version.js +1 -1
- 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 +13 -0
- package/dist/index.cjs.map +2 -2
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- 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/mtl-loader-types.cjs +64 -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/mtl-loader-types.cjs +2 -2
- package/dist/obj/mtl-loader-types.cjs.map +2 -2
- package/dist/obj/mtl-loader-types.d.ts +2 -2
- package/dist/obj/mtl-loader-types.js +2 -2
- package/dist/obj/mtl-loader-types.js.map +1 -1
- package/dist/obj/mtl-loader.cjs +1 -1
- package/dist/obj/mtl-loader.cjs.map +2 -2
- package/dist/obj/mtl-loader.js +1 -1
- package/dist/obj/mtl-loader.js.map +1 -1
- package/dist/obj/obj-loader-types.cjs +2 -2
- package/dist/obj/obj-loader-types.cjs.map +2 -2
- package/dist/obj/obj-loader-types.js +2 -2
- package/dist/obj/obj-loader-types.js.map +1 -1
- package/dist/obj/obj-writer.cjs +1 -1
- package/dist/obj/obj-writer.js +1 -1
- package/dist/obj-loader-types.cjs +71 -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 +163 -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 +204 -71
- 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/usd/usd-loader-types.cjs +2 -2
- package/dist/usd/usd-loader-types.cjs.map +2 -2
- package/dist/usd/usd-loader-types.js +2 -2
- package/dist/usd/usd-loader-types.js.map +1 -1
- package/dist/usd-loader-types.cjs +69 -0
- package/dist/usd-loader-types.cjs.map +7 -0
- package/dist/usd-loader-types.d.ts +2 -0
- package/dist/usd-loader-types.d.ts.map +1 -0
- package/dist/usd-loader-types.js +2 -0
- package/dist/usd-loader-types.js.map +1 -0
- package/dist/usd-loader.cjs +43 -0
- package/dist/usd-loader.cjs.map +7 -0
- package/dist/usd-loader.d.ts +2 -0
- package/dist/usd-loader.d.ts.map +1 -0
- package/dist/usd-loader.js +2 -0
- package/dist/usd-loader.js.map +1 -0
- package/package.json +130 -71
- package/src/draco/bundled.ts +10 -0
- package/src/draco/draco-format.ts +20 -0
- package/src/draco/draco-javascript-loader-with-parser.ts +26 -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 +78 -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 +252 -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 +46 -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 +776 -0
- package/src/draco/lib/draco-types.ts +72 -0
- package/src/draco/lib/parse-draco.ts +51 -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/glb-loader-types.ts +1 -1
- package/src/gltf/gltf-loader-types.ts +5 -5
- package/src/gltf/gltf-loader.ts +4 -4
- package/src/gltf/lib/encoders/encode-gltf-draco.ts +2 -2
- package/src/gltf/lib/extensions/KHR_draco_mesh_compression.ts +2 -1
- package/src/gltf/lib/parsers/parse-gltf.ts +5 -5
- 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 +5 -0
- package/src/mtl-loader-types.ts +1 -0
- package/src/mtl-loader.ts +1 -0
- package/src/obj/mtl-loader-types.ts +1 -1
- package/src/obj/mtl-loader.ts +1 -1
- package/src/obj/obj-loader-types.ts +1 -1
- package/src/obj-loader-types.ts +1 -0
- package/src/obj-loader.ts +1 -0
- package/src/obj-writer.ts +1 -0
- package/src/usd/usd-loader-types.ts +1 -1
- package/src/usd-loader-types.ts +1 -0
- package/src/usd-loader.ts +1 -0
|
@@ -0,0 +1,498 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
|
|
3
|
+
// A set of typescript types manually adapted from the Draco 1.5.7 web IDL.
|
|
4
|
+
// Draco JS is a bit tricky to work with due to the C++ emscripten code base
|
|
5
|
+
// sparse documentation, so these types provide an extra safety net.
|
|
6
|
+
|
|
7
|
+
// Typescript defs adapted from the release-pinned draco3d emscripten IDL:
|
|
8
|
+
// https://raw.githubusercontent.com/google/draco/8786740086a9f4d83f44aa83badfbea4dce7a1b5/src/draco/javascript/emscripten/draco_web_decoder.idl
|
|
9
|
+
// https://raw.githubusercontent.com/google/draco/8786740086a9f4d83f44aa83badfbea4dce7a1b5/src/draco/javascript/emscripten/draco_web_encoder.idl
|
|
10
|
+
// Interface exposed to emscripten's WebIDL Binder.
|
|
11
|
+
// http://kripken.github.io/emscripten-site/docs/porting/connecting_cpp_and_javascript/WebIDL-Binder.html
|
|
12
|
+
|
|
13
|
+
/* eslint-disable camelcase */
|
|
14
|
+
|
|
15
|
+
/** Byte offset into Draco's WebAssembly memory. */
|
|
16
|
+
type VoidPtr = number;
|
|
17
|
+
|
|
18
|
+
// DRACO WEB DECODER IDL
|
|
19
|
+
|
|
20
|
+
/** Draco3D geometry attribute type */
|
|
21
|
+
export enum draco_GeometryAttribute_Type {
|
|
22
|
+
'draco_GeometryAttribute::INVALID',
|
|
23
|
+
'draco_GeometryAttribute::POSITION',
|
|
24
|
+
'draco_GeometryAttribute::NORMAL',
|
|
25
|
+
'draco_GeometryAttribute::COLOR',
|
|
26
|
+
'draco_GeometryAttribute::TEX_COORD',
|
|
27
|
+
'draco_GeometryAttribute::GENERIC'
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/** Draco3D encoded geometry type */
|
|
31
|
+
export enum draco_EncodedGeometryType {
|
|
32
|
+
'draco::INVALID_GEOMETRY_TYPE',
|
|
33
|
+
'draco::POINT_CLOUD',
|
|
34
|
+
'draco::TRIANGULAR_MESH'
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/** Draco3D data type */
|
|
38
|
+
export enum draco_DataType {
|
|
39
|
+
'draco::DT_INVALID',
|
|
40
|
+
'draco::DT_INT8',
|
|
41
|
+
'draco::DT_UINT8',
|
|
42
|
+
'draco::DT_INT16',
|
|
43
|
+
'draco::DT_UINT16',
|
|
44
|
+
'draco::DT_INT32',
|
|
45
|
+
'draco::DT_UINT32',
|
|
46
|
+
'draco::DT_INT64',
|
|
47
|
+
'draco::DT_UINT64',
|
|
48
|
+
'draco::DT_FLOAT32',
|
|
49
|
+
'draco::DT_FLOAT64',
|
|
50
|
+
'draco::DT_BOOL',
|
|
51
|
+
'draco::DT_TYPES_COUNT'
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/** Draco3D status code */
|
|
55
|
+
export enum draco_StatusCode {
|
|
56
|
+
'draco_Status::OK',
|
|
57
|
+
'draco_Status::DRACO_ERROR',
|
|
58
|
+
'draco_Status::IO_ERROR',
|
|
59
|
+
'draco_Status::INVALID_PARAMETER',
|
|
60
|
+
'draco_Status::UNSUPPORTED_VERSION',
|
|
61
|
+
'draco_Status::UNKNOWN_VERSION'
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/** Draco3D decoder buffer allocated on emscripten heap */
|
|
65
|
+
export declare class DecoderBuffer {
|
|
66
|
+
constructor();
|
|
67
|
+
Init(data: Int8Array, data_size: number): void;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/** Draco3D attribute transform data */
|
|
71
|
+
export declare class AttributeTransformData {
|
|
72
|
+
constructor();
|
|
73
|
+
transform_type(): number;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/** Draco3D geometry attribute */
|
|
77
|
+
export declare class GeometryAttribute {
|
|
78
|
+
constructor();
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/** Draco3D point attribute */
|
|
82
|
+
export declare class PointAttribute {
|
|
83
|
+
ptr: VoidPtr;
|
|
84
|
+
|
|
85
|
+
constructor();
|
|
86
|
+
size(): number;
|
|
87
|
+
GetAttributeTransformData(): AttributeTransformData;
|
|
88
|
+
|
|
89
|
+
// From GeometryAttribute
|
|
90
|
+
attribute_type(): number;
|
|
91
|
+
data_type(): number;
|
|
92
|
+
num_components(): number;
|
|
93
|
+
normalized(): boolean;
|
|
94
|
+
byte_stride(): number;
|
|
95
|
+
byte_offset(): number;
|
|
96
|
+
unique_id(): number;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/** Draco3D attribute transform */
|
|
100
|
+
export declare class AttributeQuantizationTransform {
|
|
101
|
+
constructor();
|
|
102
|
+
InitFromAttribute(att: PointAttribute): boolean;
|
|
103
|
+
quantization_bits(): number;
|
|
104
|
+
min_value(axis: number): number;
|
|
105
|
+
range(): number;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/** Draco3D attribute transform */
|
|
109
|
+
export declare class AttributeOctahedronTransform {
|
|
110
|
+
constructor();
|
|
111
|
+
InitFromAttribute(att: PointAttribute): boolean;
|
|
112
|
+
quantization_bits(): number;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/** Draco3D point cloud */
|
|
116
|
+
export declare class PointCloud {
|
|
117
|
+
ptr: VoidPtr;
|
|
118
|
+
|
|
119
|
+
constructor();
|
|
120
|
+
num_attributes(): number;
|
|
121
|
+
num_points(): number;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/** Draco3D mesh */
|
|
125
|
+
export declare class Mesh extends PointCloud {
|
|
126
|
+
constructor();
|
|
127
|
+
num_faces(): number;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/** Draco3D metadata */
|
|
131
|
+
export declare class Metadata {
|
|
132
|
+
ptr: VoidPtr;
|
|
133
|
+
|
|
134
|
+
constructor();
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/** Draco3D status */
|
|
138
|
+
export declare class Status {
|
|
139
|
+
constructor();
|
|
140
|
+
code(): draco_StatusCode;
|
|
141
|
+
ok(): boolean;
|
|
142
|
+
error_msg(): string;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/** Draco3D Float32Array allocated on the emscripten heap */
|
|
146
|
+
export declare class DracoFloat32Array {
|
|
147
|
+
constructor();
|
|
148
|
+
GetValue(index: number): number;
|
|
149
|
+
size(): number;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/** Draco3D Int8Array allocated on the emscripten heap */
|
|
153
|
+
export declare class DracoInt8Array {
|
|
154
|
+
constructor();
|
|
155
|
+
GetValue(index: number): number;
|
|
156
|
+
size(): number;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/** Draco3D Uint8Array allocated on the emscripten heap */
|
|
160
|
+
export declare class DracoUInt8Array {
|
|
161
|
+
GetValue(index: number): number;
|
|
162
|
+
size(): number;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
/** Draco3D Int16Array allocated on the emscripten heap */
|
|
166
|
+
export declare class DracoInt16Array {
|
|
167
|
+
constructor();
|
|
168
|
+
GetValue(index: number): number;
|
|
169
|
+
size(): number;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/** Draco3D Uint16Array allocated on the emscripten heap */
|
|
173
|
+
export declare class DracoUInt16Array {
|
|
174
|
+
constructor();
|
|
175
|
+
GetValue(index: number): number;
|
|
176
|
+
size(): number;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/** Draco3D Int32Array allocated on the emscripten heap */
|
|
180
|
+
export declare class DracoInt32Array {
|
|
181
|
+
constructor();
|
|
182
|
+
GetValue(index: number): number;
|
|
183
|
+
size(): number;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/** Draco3D Uint32Array allocated on the emscripten heap */
|
|
187
|
+
export declare class DracoUInt32Array {
|
|
188
|
+
constructor();
|
|
189
|
+
GetValue(index: number): number;
|
|
190
|
+
size(): number;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
/** Draco3D metadata querier */
|
|
194
|
+
export declare class MetadataQuerier {
|
|
195
|
+
constructor();
|
|
196
|
+
|
|
197
|
+
HasEntry(metadata: Metadata, entry_name: string): string;
|
|
198
|
+
GetIntEntry(metadata: Metadata, entry_name: string);
|
|
199
|
+
GetIntEntryArray(metadata: Metadata, entry_name: string, out_values: DracoInt32Array);
|
|
200
|
+
GetDoubleEntry(metadata: Metadata, entry_name: string): number;
|
|
201
|
+
GetStringEntry(metadata: Metadata, entry_name: string): string;
|
|
202
|
+
|
|
203
|
+
NumEntries(metadata: Metadata): number;
|
|
204
|
+
GetEntryName(metadata: Metadata, entry_id: number): string;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* Draco3D Decoder class
|
|
209
|
+
*/
|
|
210
|
+
export declare class Decoder {
|
|
211
|
+
constructor();
|
|
212
|
+
|
|
213
|
+
GetEncodedGeometryType(data: Int8Array): draco_EncodedGeometryType;
|
|
214
|
+
|
|
215
|
+
DecodeArrayToPointCloud(data: Int8Array, data_size: number, out_point_cloud: PointCloud): Status;
|
|
216
|
+
DecodeArrayToMesh(data: Int8Array, data_size: number, out_mesh: Mesh): Status;
|
|
217
|
+
|
|
218
|
+
/** @deprecated Use `DecodeArrayToPointCloud`. */
|
|
219
|
+
DecodeBufferToPointCloud(in_buffer: DecoderBuffer, out_point_cloud: PointCloud): Status;
|
|
220
|
+
/** @deprecated Use `DecodeArrayToMesh`. */
|
|
221
|
+
DecodeBufferToMesh(in_buffer: DecoderBuffer, out_mesh: Mesh): Status;
|
|
222
|
+
|
|
223
|
+
GetAttributeId(pc: PointCloud, type: draco_GeometryAttribute_Type): number;
|
|
224
|
+
GetAttributeIdByName(pc: PointCloud, name: string): number;
|
|
225
|
+
GetAttributeIdByMetadataEntry(pc: PointCloud, name: string, value: string): number;
|
|
226
|
+
|
|
227
|
+
GetAttribute(pc: PointCloud, att_id: number): PointAttribute;
|
|
228
|
+
GetAttributeByUniqueId(pc: PointCloud, unique_id: number): PointAttribute;
|
|
229
|
+
|
|
230
|
+
GetMetadata(pc: PointCloud): Metadata;
|
|
231
|
+
GetAttributeMetadata(pc: PointCloud, att_id: number): Metadata;
|
|
232
|
+
|
|
233
|
+
GetFaceFromMesh(m: Mesh, face_id: number, out_values: DracoInt32Array): boolean;
|
|
234
|
+
GetTriangleStripsFromMesh(m: Mesh, strip_values: DracoInt32Array);
|
|
235
|
+
|
|
236
|
+
GetTrianglesUInt16Array(m: Mesh, out_size: number, out_values: VoidPtr): boolean;
|
|
237
|
+
GetTrianglesUInt32Array(m: Mesh, out_size: number, out_values: VoidPtr): boolean;
|
|
238
|
+
|
|
239
|
+
GetAttributeFloat(pa: PointAttribute, att_index: number, out_values: DracoFloat32Array): boolean;
|
|
240
|
+
|
|
241
|
+
GetAttributeFloatForAllPoints(
|
|
242
|
+
pc: PointCloud,
|
|
243
|
+
pa: PointAttribute,
|
|
244
|
+
out_values: DracoFloat32Array
|
|
245
|
+
): boolean;
|
|
246
|
+
|
|
247
|
+
// Deprecated, use GetAttributeInt32ForAllPoints instead.
|
|
248
|
+
GetAttributeIntForAllPoints(
|
|
249
|
+
pc: PointCloud,
|
|
250
|
+
pa: PointAttribute,
|
|
251
|
+
out_values: DracoInt32Array
|
|
252
|
+
): boolean;
|
|
253
|
+
|
|
254
|
+
GetAttributeInt8ForAllPoints(
|
|
255
|
+
pc: PointCloud,
|
|
256
|
+
pa: PointAttribute,
|
|
257
|
+
out_values: DracoInt8Array
|
|
258
|
+
): boolean;
|
|
259
|
+
GetAttributeUInt8ForAllPoints(
|
|
260
|
+
pc: PointCloud,
|
|
261
|
+
pa: PointAttribute,
|
|
262
|
+
out_values: DracoUInt8Array
|
|
263
|
+
): boolean;
|
|
264
|
+
GetAttributeInt16ForAllPoints(
|
|
265
|
+
pc: PointCloud,
|
|
266
|
+
pa: PointAttribute,
|
|
267
|
+
out_values: DracoInt16Array
|
|
268
|
+
): boolean;
|
|
269
|
+
GetAttributeUInt16ForAllPoints(
|
|
270
|
+
pc: PointCloud,
|
|
271
|
+
pa: PointAttribute,
|
|
272
|
+
out_values: DracoUInt16Array
|
|
273
|
+
): boolean;
|
|
274
|
+
GetAttributeInt32ForAllPoints(
|
|
275
|
+
pc: PointCloud,
|
|
276
|
+
pa: PointAttribute,
|
|
277
|
+
out_values: DracoInt32Array
|
|
278
|
+
): boolean;
|
|
279
|
+
GetAttributeUInt32ForAllPoints(
|
|
280
|
+
pc: PointCloud,
|
|
281
|
+
pa: PointAttribute,
|
|
282
|
+
out_values: DracoUInt32Array
|
|
283
|
+
): boolean;
|
|
284
|
+
|
|
285
|
+
GetAttributeDataArrayForAllPoints(
|
|
286
|
+
pc: PointCloud,
|
|
287
|
+
pa: PointAttribute,
|
|
288
|
+
data_type: draco_DataType,
|
|
289
|
+
out_size: number,
|
|
290
|
+
out_values: VoidPtr
|
|
291
|
+
): boolean;
|
|
292
|
+
|
|
293
|
+
SkipAttributeTransform(att_type: draco_GeometryAttribute_Type): void;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
// DRACO WEB ENCODER IDL
|
|
297
|
+
|
|
298
|
+
/** Draco3D metadata builder */
|
|
299
|
+
export declare class MetadataBuilder {
|
|
300
|
+
constructor();
|
|
301
|
+
AddStringEntry(metadata: Metadata, entry_name: string, entry_value: string);
|
|
302
|
+
AddIntEntry(metadata: Metadata, entry_name: string, entry_value: number);
|
|
303
|
+
AddDoubleEntry(metadata: Metadata, entry_name: string, entry_value: number);
|
|
304
|
+
AddIntEntryArray(
|
|
305
|
+
metadata: Metadata,
|
|
306
|
+
entry_name: string,
|
|
307
|
+
entry_value: Int32Array,
|
|
308
|
+
num_values: number
|
|
309
|
+
);
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
/** Draco3D point cloud builder */
|
|
313
|
+
|
|
314
|
+
export declare class PointCloudBuilder {
|
|
315
|
+
constructor();
|
|
316
|
+
PointCloudBuilder(): void;
|
|
317
|
+
AddFloatAttribute(
|
|
318
|
+
pc: PointCloud,
|
|
319
|
+
type: draco_GeometryAttribute_Type,
|
|
320
|
+
num_vertices: number,
|
|
321
|
+
num_components: number,
|
|
322
|
+
att_values: Float32Array
|
|
323
|
+
);
|
|
324
|
+
AddInt8Attribute(
|
|
325
|
+
pc: PointCloud,
|
|
326
|
+
type: draco_GeometryAttribute_Type,
|
|
327
|
+
num_vertices: number,
|
|
328
|
+
num_components: number,
|
|
329
|
+
att_values: Int8Array
|
|
330
|
+
);
|
|
331
|
+
AddUInt8Attribute(
|
|
332
|
+
pc: PointCloud,
|
|
333
|
+
type: draco_GeometryAttribute_Type,
|
|
334
|
+
num_vertices: number,
|
|
335
|
+
num_components: number,
|
|
336
|
+
att_values: Uint8Array
|
|
337
|
+
);
|
|
338
|
+
AddInt16Attribute(
|
|
339
|
+
pc: PointCloud,
|
|
340
|
+
type: draco_GeometryAttribute_Type,
|
|
341
|
+
num_vertices: number,
|
|
342
|
+
num_components: number,
|
|
343
|
+
att_values: Int16Array
|
|
344
|
+
);
|
|
345
|
+
AddUInt16Attribute(
|
|
346
|
+
pc: PointCloud,
|
|
347
|
+
type: draco_GeometryAttribute_Type,
|
|
348
|
+
num_vertices: number,
|
|
349
|
+
num_components: number,
|
|
350
|
+
att_values: Uint16Array
|
|
351
|
+
);
|
|
352
|
+
AddInt32Attribute(
|
|
353
|
+
pc: PointCloud,
|
|
354
|
+
type: draco_GeometryAttribute_Type,
|
|
355
|
+
num_vertices: number,
|
|
356
|
+
num_components: number,
|
|
357
|
+
att_values: Int32Array
|
|
358
|
+
);
|
|
359
|
+
AddUInt32Attribute(
|
|
360
|
+
pc: PointCloud,
|
|
361
|
+
type: draco_GeometryAttribute_Type,
|
|
362
|
+
num_vertices: number,
|
|
363
|
+
num_components: number,
|
|
364
|
+
att_values: Uint32Array
|
|
365
|
+
);
|
|
366
|
+
|
|
367
|
+
AddMetadata(pc: PointCloud, metadata: Metadata): boolean;
|
|
368
|
+
SetMetadataForAttribute(pc: PointCloud, attribute_id: number, metadata: Metadata);
|
|
369
|
+
SetNormalizedFlagForAttribute(pc: PointCloud, attribute_id: number, normalized: boolean): boolean;
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
/** Draco3D mesh builder */
|
|
373
|
+
export declare class MeshBuilder extends PointCloudBuilder {
|
|
374
|
+
constructor();
|
|
375
|
+
AddFacesToMesh(mesh: Mesh, num_faces: number, faces: Uint16Array | Uint32Array): boolean;
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
/** Draco3D encoder */
|
|
379
|
+
export declare class Encoder {
|
|
380
|
+
constructor();
|
|
381
|
+
Encoder(): void;
|
|
382
|
+
SetEncodingMethod(method: number): void;
|
|
383
|
+
SetAttributeQuantization(type: draco_GeometryAttribute_Type, quantization_bits: number);
|
|
384
|
+
SetAttributeExplicitQuantization(
|
|
385
|
+
type: draco_GeometryAttribute_Type,
|
|
386
|
+
quantization_bits: number,
|
|
387
|
+
num_components: number,
|
|
388
|
+
origin: number[],
|
|
389
|
+
range: number
|
|
390
|
+
);
|
|
391
|
+
SetSpeedOptions(encoding_speed: number, decoding_speed: number): void;
|
|
392
|
+
SetTrackEncodedProperties(flag: boolean): void;
|
|
393
|
+
|
|
394
|
+
EncodeMeshToDracoBuffer(mesh: Mesh, encoded_data: DracoInt8Array);
|
|
395
|
+
EncodePointCloudToDracoBuffer(
|
|
396
|
+
pc: PointCloud,
|
|
397
|
+
deduplicate_values: boolean,
|
|
398
|
+
encoded_data: DracoInt8Array
|
|
399
|
+
);
|
|
400
|
+
|
|
401
|
+
// Returns the number of encoded points or faces from the last Encode
|
|
402
|
+
// operation. Returns 0 if SetTrackEncodedProperties was not set to true.
|
|
403
|
+
GetNumberOfEncodedPoints(): number;
|
|
404
|
+
GetNumberOfEncodedFaces(): number;
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
/** Draco3D expert encoder */
|
|
408
|
+
export declare class ExpertEncoder {
|
|
409
|
+
constructor(pointCloud: PointCloud);
|
|
410
|
+
SetEncodingMethod(method: number): void;
|
|
411
|
+
SetAttributeQuantization(att_id: number, quantization_bits: number);
|
|
412
|
+
SetAttributeExplicitQuantization(
|
|
413
|
+
att_id: number,
|
|
414
|
+
quantization_bits: number,
|
|
415
|
+
num_components: number,
|
|
416
|
+
origin: number[],
|
|
417
|
+
range: number
|
|
418
|
+
);
|
|
419
|
+
SetSpeedOptions(encoding_speed: number, decoding_speed: number): void;
|
|
420
|
+
SetTrackEncodedProperties(flag: boolean): void;
|
|
421
|
+
|
|
422
|
+
EncodeToDracoBuffer(deduplicate_values: boolean, encoded_data: DracoInt8Array);
|
|
423
|
+
|
|
424
|
+
// Returns the number of encoded points or faces from the last Encode
|
|
425
|
+
// operation. Returns 0 if SetTrackEncodedProperties was not set to true.
|
|
426
|
+
GetNumberOfEncodedPoints(): number;
|
|
427
|
+
GetNumberOfEncodedFaces(): number;
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
/** Draco3D module interface */
|
|
431
|
+
export interface Draco3D {
|
|
432
|
+
// ENUMS
|
|
433
|
+
|
|
434
|
+
// draco_EncodedGeometryType
|
|
435
|
+
readonly INVALID_GEOMETRY_TYPE: draco_EncodedGeometryType;
|
|
436
|
+
readonly POINT_CLOUD: draco_EncodedGeometryType;
|
|
437
|
+
readonly TRIANGULAR_MESH: draco_EncodedGeometryType;
|
|
438
|
+
|
|
439
|
+
// enum draco_GeometryAttribute_Type
|
|
440
|
+
readonly INVALID: draco_GeometryAttribute_Type;
|
|
441
|
+
readonly POSITION: draco_GeometryAttribute_Type;
|
|
442
|
+
readonly NORMAL: draco_GeometryAttribute_Type;
|
|
443
|
+
readonly COLOR: draco_GeometryAttribute_Type;
|
|
444
|
+
readonly TEX_COORD: draco_GeometryAttribute_Type;
|
|
445
|
+
readonly GENERIC: draco_GeometryAttribute_Type;
|
|
446
|
+
|
|
447
|
+
readonly MESH_SEQUENTIAL_ENCODING: number;
|
|
448
|
+
readonly MESH_EDGEBREAKER_ENCODING: number;
|
|
449
|
+
|
|
450
|
+
// enum draco_DataType
|
|
451
|
+
readonly DT_INVALID: draco_DataType;
|
|
452
|
+
readonly DT_INT8: draco_DataType;
|
|
453
|
+
readonly DT_UINT8: draco_DataType;
|
|
454
|
+
readonly DT_INT16: draco_DataType;
|
|
455
|
+
readonly DT_UINT16: draco_DataType;
|
|
456
|
+
readonly DT_INT32: draco_DataType;
|
|
457
|
+
readonly DT_UINT32: draco_DataType;
|
|
458
|
+
readonly DT_INT64: draco_DataType;
|
|
459
|
+
readonly DT_UINT64: draco_DataType;
|
|
460
|
+
readonly DT_FLOAT32: draco_DataType;
|
|
461
|
+
readonly DT_FLOAT64: draco_DataType;
|
|
462
|
+
readonly DT_BOOL: draco_DataType;
|
|
463
|
+
readonly DT_TYPES_COUNT: draco_DataType;
|
|
464
|
+
|
|
465
|
+
readonly Mesh: typeof Mesh;
|
|
466
|
+
readonly PointCloud: typeof PointCloud;
|
|
467
|
+
readonly Metadata: typeof Metadata;
|
|
468
|
+
|
|
469
|
+
readonly Encoder: typeof Encoder;
|
|
470
|
+
readonly ExpertEncoder: typeof ExpertEncoder;
|
|
471
|
+
readonly MeshBuilder: typeof MeshBuilder;
|
|
472
|
+
readonly MetadataBuilder: typeof MetadataBuilder;
|
|
473
|
+
|
|
474
|
+
readonly MetadataQuerier: typeof MetadataQuerier;
|
|
475
|
+
readonly Decoder: typeof Decoder;
|
|
476
|
+
readonly DecoderBuffer: typeof DecoderBuffer;
|
|
477
|
+
|
|
478
|
+
readonly DracoFloat32Array: typeof DracoFloat32Array;
|
|
479
|
+
readonly DracoInt8Array: typeof DracoInt8Array;
|
|
480
|
+
readonly DracoUInt8Array: typeof DracoUInt8Array;
|
|
481
|
+
readonly DracoInt16Array: typeof DracoInt16Array;
|
|
482
|
+
readonly DracoUInt16Array: typeof DracoUInt16Array;
|
|
483
|
+
readonly DracoInt32Array: typeof DracoInt32Array;
|
|
484
|
+
readonly DracoUInt32Array: typeof DracoUInt32Array;
|
|
485
|
+
|
|
486
|
+
readonly AttributeQuantizationTransform: typeof AttributeQuantizationTransform;
|
|
487
|
+
readonly AttributeOctahedronTransform: typeof AttributeOctahedronTransform;
|
|
488
|
+
|
|
489
|
+
// createEncoderModule(): Encoder;
|
|
490
|
+
// createDecoderModule(): Decoder;
|
|
491
|
+
destroy(resource: object): void;
|
|
492
|
+
_malloc(byteLength: number): number;
|
|
493
|
+
_free(ptr: number): void;
|
|
494
|
+
|
|
495
|
+
HEAPU8: {
|
|
496
|
+
buffer: ArrayBuffer;
|
|
497
|
+
};
|
|
498
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
|
|
5
|
+
import type {LoaderWithParser, LoaderContext} from '@loaders.gl/core/loader-utils';
|
|
6
|
+
import type {ArrowTable} from '@loaders.gl/core/schema';
|
|
7
|
+
import type {DracoMesh} from './lib/draco-types';
|
|
8
|
+
import {loadDracoDecoderModuleFromDraco3D} from './lib/draco-module-loader';
|
|
9
|
+
import {parseDraco} from './lib/parse-draco';
|
|
10
|
+
import {DracoLoader as DracoLoaderMetadata} from './draco-loader-types';
|
|
11
|
+
import type {DracoLoaderOptions} from './draco-loader-options';
|
|
12
|
+
|
|
13
|
+
const {preload: _DracoLoaderPreload, ...DracoLoaderMetadataWithoutPreload} = DracoLoaderMetadata;
|
|
14
|
+
|
|
15
|
+
/** Parser-bearing Draco loader backed by an injected `draco3d` package. */
|
|
16
|
+
export const Draco3DLoaderWithParser = {
|
|
17
|
+
...DracoLoaderMetadataWithoutPreload,
|
|
18
|
+
parse: async (arrayBuffer: ArrayBuffer, options?: DracoLoaderOptions, context?: LoaderContext) =>
|
|
19
|
+
await parseDraco(
|
|
20
|
+
arrayBuffer,
|
|
21
|
+
options,
|
|
22
|
+
async () => await loadDracoDecoderModuleFromDraco3D(getDraco3DModule(options)),
|
|
23
|
+
context
|
|
24
|
+
)
|
|
25
|
+
} as const satisfies LoaderWithParser<DracoMesh | ArrowTable, never, DracoLoaderOptions>;
|
|
26
|
+
|
|
27
|
+
/** Extracts the injected `draco3d` package from loader options. */
|
|
28
|
+
function getDraco3DModule(options?: DracoLoaderOptions): unknown {
|
|
29
|
+
const draco3DModule = options?.modules?.draco3d;
|
|
30
|
+
if (!draco3DModule) {
|
|
31
|
+
throw new Error('DracoLoader: backend "draco3d" requires options.modules.draco3d');
|
|
32
|
+
}
|
|
33
|
+
return draco3DModule;
|
|
34
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
|
|
5
|
+
// Module constants
|
|
6
|
+
export {DRACO_EXTERNAL_LIBRARIES, DRACO_EXTERNAL_LIBRARY_URLS} from './lib/draco-module-loader';
|
|
7
|
+
export type {DracoDecoderProfile} from './lib/draco-module-loader';
|
|
8
|
+
|
|
9
|
+
// Draco data types
|
|
10
|
+
|
|
11
|
+
export type {DracoMesh, DracoLoaderData} from './lib/draco-types';
|
|
12
|
+
export {DracoFormat} from './draco-format';
|
|
13
|
+
|
|
14
|
+
// Draco Writer
|
|
15
|
+
|
|
16
|
+
export type {
|
|
17
|
+
DracoBatchOptions,
|
|
18
|
+
DracoBatchProgress,
|
|
19
|
+
DracoWriterAttributes,
|
|
20
|
+
DracoWriterInput,
|
|
21
|
+
DracoWriterInputBatch,
|
|
22
|
+
DracoWriterOptions
|
|
23
|
+
} from './draco-writer';
|
|
24
|
+
export {encodeDraco, encodeDracoBatch, encodeDracoInBatches} from './draco-writer';
|
|
25
|
+
export type {
|
|
26
|
+
DracoAttributeQuantization,
|
|
27
|
+
DracoAttributeType,
|
|
28
|
+
DracoBuilderMesh,
|
|
29
|
+
DracoBuildOptions,
|
|
30
|
+
DracoEncodingMethod,
|
|
31
|
+
DracoEncodingAttributeReport,
|
|
32
|
+
DracoEncodingReport,
|
|
33
|
+
DracoEncodingResult,
|
|
34
|
+
DracoExplicitQuantization,
|
|
35
|
+
DracoMetadata
|
|
36
|
+
} from './lib/draco-builder';
|
|
37
|
+
export {DracoWriterWorker, DracoWriter} from './draco-writer';
|
|
38
|
+
|
|
39
|
+
// Draco Loader
|
|
40
|
+
|
|
41
|
+
export type {DracoLoaderOptions} from './draco-loader-types';
|
|
42
|
+
export {DracoLoader} from './draco-loader-types';
|
|
43
|
+
|
|
44
|
+
// DEPRECATED EXPORTS
|
|
45
|
+
/** @deprecated Use DracoLoader. */
|
|
46
|
+
export {DracoWorkerLoader} from './draco-loader-types';
|