@loaders.gl/scene 5.0.0-alpha.8 → 5.0.0-beta.1
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/GLTF-README.md +46 -0
- package/LICENSE +2 -30
- package/OBJ-README.md +28 -0
- package/README.md +5 -0
- package/THIRD-PARTY-NOTICES.md +23 -0
- package/bin/gltf/glbdump.js +8 -0
- package/dist/dist.dev.js +33820 -23
- package/dist/dist.min.js +38 -3
- 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 +71 -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 +225 -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 +123 -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 +100 -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 +202 -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 +53 -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 +32 -0
- package/dist/gltf/lib/extensions/EXT_texture_webp.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 +209 -0
- package/dist/gltf/lib/extensions/KHR_gaussian_splatting.cjs.map +7 -0
- package/dist/gltf/lib/extensions/KHR_gaussian_splatting.d.ts +13 -0
- package/dist/gltf/lib/extensions/KHR_gaussian_splatting.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/KHR_gaussian_splatting.js +160 -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/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 +358 -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 +365 -0
- package/dist/gltf/lib/parsers/parse-gltf.cjs.map +7 -0
- package/dist/gltf/lib/parsers/parse-gltf.d.ts +43 -0
- package/dist/gltf/lib/parsers/parse-gltf.d.ts.map +1 -0
- package/dist/gltf/lib/parsers/parse-gltf.js +372 -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 +123 -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 +110 -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 +87 -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 +83 -0
- package/dist/gltf/lib/types/gltf-extension-schemas.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-extension-schemas.d.ts +229 -0
- package/dist/gltf/lib/types/gltf-extension-schemas.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-extension-schemas.js +53 -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-types.cjs +19 -0
- package/dist/gltf/lib/types/gltf-types.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-types.d.ts +53 -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 +1129 -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 +462 -0
- package/dist/gltf/lib/types/gltf-zod-schema.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-zod-schema.d.ts +1595 -0
- package/dist/gltf/lib/types/gltf-zod-schema.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-zod-schema.js +497 -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 +60 -0
- package/dist/gltf/schema.cjs.map +7 -0
- package/dist/gltf/schema.d.ts +6 -0
- package/dist/gltf/schema.d.ts.map +1 -0
- package/dist/gltf/schema.js +10 -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/index.cjs +43 -809
- package/dist/index.cjs.map +4 -3
- package/dist/index.d.ts +13 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/dist/obj/bundled.cjs +44 -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 +49 -0
- package/dist/obj/index.cjs.map +7 -0
- package/dist/obj/index.d.ts +13 -0
- package/dist/obj/index.d.ts.map +1 -0
- package/dist/obj/index.js +16 -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 +62 -0
- package/dist/obj/mtl-loader-types.cjs.map +7 -0
- package/dist/obj/mtl-loader-types.d.ts +73 -0
- package/dist/obj/mtl-loader-types.d.ts.map +1 -0
- package/dist/obj/mtl-loader-types.js +34 -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 +69 -0
- package/dist/obj/obj-loader-types.cjs.map +7 -0
- package/dist/obj/obj-loader-types.d.ts +112 -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 +161 -0
- package/dist/obj/obj-loader.cjs.map +7 -0
- package/dist/obj/obj-loader.d.ts +40 -0
- package/dist/obj/obj-loader.d.ts.map +1 -0
- package/dist/obj/obj-loader.js +142 -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 +35 -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 +44 -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-worker.js +17609 -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 +294 -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/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-usdz.cjs +76 -0
- package/dist/usd/lib/parse-usdz.cjs.map +7 -0
- package/dist/usd/lib/parse-usdz.d.ts.map +1 -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 +1 -1
- package/dist/usd/lib/usd-types.d.ts.map +1 -0
- package/dist/usd/lib/usd-types.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.map +1 -0
- package/dist/{usd-loader-types.js → usd/usd-loader-types.js} +2 -2
- 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.map +1 -0
- package/dist/usd/usd-loader.js.map +1 -0
- package/package.json +181 -10
- 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 +52 -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 +270 -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 +133 -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 +46 -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 +169 -0
- package/src/gltf/lib/extensions/KHR_gaussian_splatting.ts +239 -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/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 +473 -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 +570 -0
- package/src/gltf/lib/types/glb-types.ts +44 -0
- package/src/gltf/lib/types/gltf-additional-extension-schemas.ts +127 -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 +87 -0
- package/src/gltf/lib/types/gltf-interactivity.ts +168 -0
- package/src/gltf/lib/types/gltf-json-schema.ts +947 -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-types.ts +90 -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 +545 -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 +24 -0
- package/src/gltf/unbundled.ts +8 -0
- package/src/gltf/webp/webp.ts +45 -0
- package/src/index.ts +13 -11
- package/src/obj/bundled.ts +16 -0
- package/src/obj/index.ts +23 -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 +46 -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 +203 -0
- package/src/obj/obj-writer.ts +190 -0
- package/src/obj/unbundled.ts +10 -0
- package/src/obj/workers/obj-worker.ts +24 -0
- package/src/usd/index.ts +15 -0
- package/src/{lib → usd/lib}/parse-usd.ts +1 -1
- package/src/{lib → usd/lib}/usd-types.ts +1 -1
- package/src/{usd-loader-types.ts → usd/usd-loader-types.ts} +2 -2
- package/src/{usd-loader.ts → usd/usd-loader.ts} +1 -1
- 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/usd-loader-types.d.ts.map +0 -1
- package/dist/usd-loader-types.js.map +0 -1
- package/dist/usd-loader.d.ts.map +0 -1
- package/dist/usd-loader.js.map +0 -1
- /package/dist/{lib → usd/lib}/parse-usd.js +0 -0
- /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/dist/{lib → usd/lib}/parse-usdz.js +0 -0
- /package/dist/{lib → usd/lib}/usd-types.js +0 -0
- /package/dist/{usd-loader-types.d.ts → usd/usd-loader-types.d.ts} +0 -0
- /package/dist/{usd-loader.d.ts → usd/usd-loader.d.ts} +0 -0
- /package/dist/{usd-loader.js → usd/usd-loader.js} +0 -0
- /package/src/{lib → usd/lib}/parse-usda.ts +0 -0
- /package/src/{lib → usd/lib}/parse-usdz.ts +0 -0
|
@@ -0,0 +1,99 @@
|
|
|
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 name2 in all)
|
|
8
|
+
__defProp(target, name2, { get: all[name2], 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/extensions/deprecated/KHR_techniques_webgl.ts
|
|
21
|
+
var KHR_techniques_webgl_exports = {};
|
|
22
|
+
__export(KHR_techniques_webgl_exports, {
|
|
23
|
+
decode: () => decode,
|
|
24
|
+
encode: () => encode,
|
|
25
|
+
name: () => name
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(KHR_techniques_webgl_exports);
|
|
28
|
+
var import_gltf_iterator = require("../../api/gltf-iterator.cjs");
|
|
29
|
+
var import_get_typed_array = require("../../gltf-utils/get-typed-array.cjs");
|
|
30
|
+
var KHR_TECHNIQUES_WEBGL = "KHR_techniques_webgl";
|
|
31
|
+
var name = KHR_TECHNIQUES_WEBGL;
|
|
32
|
+
async function decode(gltfData) {
|
|
33
|
+
const iterator = new import_gltf_iterator.GLTFIterator(gltfData);
|
|
34
|
+
const extension = iterator.getExtension(KHR_TECHNIQUES_WEBGL);
|
|
35
|
+
if (extension) {
|
|
36
|
+
const techniques = resolveTechniques(extension, iterator);
|
|
37
|
+
for (const material of iterator.materials) {
|
|
38
|
+
const materialExtension = iterator.getExtension(material, KHR_TECHNIQUES_WEBGL);
|
|
39
|
+
if (materialExtension) {
|
|
40
|
+
material.technique = Object.assign(
|
|
41
|
+
{},
|
|
42
|
+
materialExtension,
|
|
43
|
+
// @ts-ignore
|
|
44
|
+
techniques[materialExtension.technique]
|
|
45
|
+
);
|
|
46
|
+
material.technique.values = resolveValues(material.technique, iterator);
|
|
47
|
+
}
|
|
48
|
+
iterator.removeExtension(material, KHR_TECHNIQUES_WEBGL);
|
|
49
|
+
}
|
|
50
|
+
iterator.removeExtension(KHR_TECHNIQUES_WEBGL);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
async function encode(gltfData, options) {
|
|
54
|
+
}
|
|
55
|
+
function resolveTechniques(techniquesExtension, iterator) {
|
|
56
|
+
const { programs = [], shaders = [], techniques = [] } = techniquesExtension;
|
|
57
|
+
const textDecoder = new TextDecoder();
|
|
58
|
+
shaders.forEach((shader) => {
|
|
59
|
+
if (Number.isFinite(shader.bufferView)) {
|
|
60
|
+
shader.code = textDecoder.decode(
|
|
61
|
+
(0, import_get_typed_array.getTypedArrayForBufferView)(iterator.data, iterator.gltf.buffers, shader.bufferView)
|
|
62
|
+
);
|
|
63
|
+
} else {
|
|
64
|
+
throw new Error("KHR_techniques_webgl: no shader code");
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
programs.forEach((program) => {
|
|
68
|
+
program.fragmentShader = shaders[program.fragmentShader];
|
|
69
|
+
program.vertexShader = shaders[program.vertexShader];
|
|
70
|
+
});
|
|
71
|
+
techniques.forEach((technique) => {
|
|
72
|
+
technique.program = programs[technique.program];
|
|
73
|
+
});
|
|
74
|
+
return techniques;
|
|
75
|
+
}
|
|
76
|
+
function resolveValues(technique, iterator) {
|
|
77
|
+
const values = Object.assign({}, technique.values);
|
|
78
|
+
Object.keys(technique.uniforms || {}).forEach((uniform) => {
|
|
79
|
+
if (technique.uniforms[uniform].value && !(uniform in values)) {
|
|
80
|
+
values[uniform] = technique.uniforms[uniform].value;
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
Object.keys(values).forEach((uniform) => {
|
|
84
|
+
if (typeof values[uniform] === "object" && values[uniform].index !== void 0) {
|
|
85
|
+
values[uniform].texture = iterator.resolveTexture(
|
|
86
|
+
values[uniform].index,
|
|
87
|
+
`technique.values.${uniform}.index`
|
|
88
|
+
);
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
return values;
|
|
92
|
+
}
|
|
93
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
94
|
+
0 && (module.exports = {
|
|
95
|
+
decode,
|
|
96
|
+
encode,
|
|
97
|
+
name
|
|
98
|
+
});
|
|
99
|
+
//# sourceMappingURL=KHR_techniques_webgl.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/gltf/lib/extensions/deprecated/KHR_techniques_webgl.ts"],
|
|
4
|
+
"sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// GLTF EXTENSION: KHR_techniques_webgl\n// https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_techniques_webgl\n\nimport type {GLTFWithBuffers} from '../../types/gltf-types';\n\nimport {GLTFIterator} from '../../api/gltf-iterator';\nimport {getTypedArrayForBufferView} from '../../gltf-utils/get-typed-array';\n\nconst KHR_TECHNIQUES_WEBGL = 'KHR_techniques_webgl';\n\nexport const name = KHR_TECHNIQUES_WEBGL;\n\nexport async function decode(gltfData: GLTFWithBuffers): Promise<void> {\n const iterator = new GLTFIterator(gltfData);\n\n const extension = iterator.getExtension(KHR_TECHNIQUES_WEBGL);\n if (extension) {\n const techniques = resolveTechniques(extension, iterator);\n\n for (const material of iterator.materials) {\n const materialExtension = iterator.getExtension<any>(material, KHR_TECHNIQUES_WEBGL);\n if (materialExtension) {\n // @ts-ignore TODO\n (material as any).technique = Object.assign(\n {},\n materialExtension,\n // @ts-ignore\n techniques[materialExtension.technique]\n );\n // @ts-ignore TODO\n (material as any).technique.values = resolveValues((material as any).technique, iterator);\n }\n iterator.removeExtension(material, KHR_TECHNIQUES_WEBGL);\n }\n\n // Remove the top-level extension\n iterator.removeExtension(KHR_TECHNIQUES_WEBGL);\n }\n}\n// eslint-disable-next-line\nexport async function encode(gltfData, options): Promise<void> {\n // TODO\n}\n\nfunction resolveTechniques(\n techniquesExtension: {[key: string]: any},\n // programs: {[key: string]: any}[],\n // shaders: {[key: string]: any}[],\n // techniques: {[key: string]: any}[]\n iterator: GLTFIterator\n) {\n const {programs = [], shaders = [], techniques = []} = techniquesExtension;\n const textDecoder = new TextDecoder();\n\n shaders.forEach(shader => {\n if (Number.isFinite(shader.bufferView)) {\n shader.code = textDecoder.decode(\n getTypedArrayForBufferView(iterator.data, iterator.gltf.buffers, shader.bufferView)\n );\n } else {\n // TODO: handle URI shader\n throw new Error('KHR_techniques_webgl: no shader code');\n }\n });\n\n programs.forEach(program => {\n program.fragmentShader = shaders[program.fragmentShader];\n program.vertexShader = shaders[program.vertexShader];\n });\n\n techniques.forEach(technique => {\n technique.program = programs[technique.program];\n });\n\n return techniques;\n}\n\nfunction resolveValues(technique, iterator: GLTFIterator) {\n const values = Object.assign({}, technique.values);\n\n // merge values from uniforms\n Object.keys(technique.uniforms || {}).forEach(uniform => {\n if (technique.uniforms[uniform].value && !(uniform in values)) {\n values[uniform] = technique.uniforms[uniform].value;\n }\n });\n\n // resolve textures\n Object.keys(values).forEach(uniform => {\n if (typeof values[uniform] === 'object' && values[uniform].index !== undefined) {\n // Assume this is a texture\n // TODO: find if there are any other types that can be referenced\n values[uniform].texture = iterator.resolveTexture(\n values[uniform].index,\n `technique.values.${uniform}.index`\n );\n }\n });\n\n return values;\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,2BAA2B;AAC3B,6BAAyC;AAEzC,IAAM,uBAAuB;AAEtB,IAAM,OAAO;AAEpB,eAAsB,OAAO,UAA0C;AACrE,QAAM,WAAW,IAAI,kCAAa,QAAQ;AAE1C,QAAM,YAAY,SAAS,aAAa,oBAAoB;AAC5D,MAAI,WAAW;AACb,UAAM,aAAa,kBAAkB,WAAW,QAAQ;AAExD,eAAW,YAAY,SAAS,WAAW;AACzC,YAAM,oBAAoB,SAAS,aAAkB,UAAU,oBAAoB;AACnF,UAAI,mBAAmB;AAErB,QAAC,SAAiB,YAAY,OAAO;AAAA,UACnC,CAAC;AAAA,UACD;AAAA;AAAA,UAEA,WAAW,kBAAkB,SAAS;AAAA,QACxC;AAEA,QAAC,SAAiB,UAAU,SAAS,cAAe,SAAiB,WAAW,QAAQ;AAAA,MAC1F;AACA,eAAS,gBAAgB,UAAU,oBAAoB;AAAA,IACzD;AAGA,aAAS,gBAAgB,oBAAoB;AAAA,EAC/C;AACF;AAEA,eAAsB,OAAO,UAAU,SAAwB;AAE/D;AAEA,SAAS,kBACP,qBAIA,UACA;AACA,QAAM,EAAC,WAAW,CAAC,GAAG,UAAU,CAAC,GAAG,aAAa,CAAC,EAAC,IAAI;AACvD,QAAM,cAAc,IAAI,YAAY;AAEpC,UAAQ,QAAQ,YAAU;AACxB,QAAI,OAAO,SAAS,OAAO,UAAU,GAAG;AACtC,aAAO,OAAO,YAAY;AAAA,YACxB,mDAA2B,SAAS,MAAM,SAAS,KAAK,SAAS,OAAO,UAAU;AAAA,MACpF;AAAA,IACF,OAAO;AAEL,YAAM,IAAI,MAAM,sCAAsC;AAAA,IACxD;AAAA,EACF,CAAC;AAED,WAAS,QAAQ,aAAW;AAC1B,YAAQ,iBAAiB,QAAQ,QAAQ,cAAc;AACvD,YAAQ,eAAe,QAAQ,QAAQ,YAAY;AAAA,EACrD,CAAC;AAED,aAAW,QAAQ,eAAa;AAC9B,cAAU,UAAU,SAAS,UAAU,OAAO;AAAA,EAChD,CAAC;AAED,SAAO;AACT;AAEA,SAAS,cAAc,WAAW,UAAwB;AACxD,QAAM,SAAS,OAAO,OAAO,CAAC,GAAG,UAAU,MAAM;AAGjD,SAAO,KAAK,UAAU,YAAY,CAAC,CAAC,EAAE,QAAQ,aAAW;AACvD,QAAI,UAAU,SAAS,OAAO,EAAE,SAAS,EAAE,WAAW,SAAS;AAC7D,aAAO,OAAO,IAAI,UAAU,SAAS,OAAO,EAAE;AAAA,IAChD;AAAA,EACF,CAAC;AAGD,SAAO,KAAK,MAAM,EAAE,QAAQ,aAAW;AACrC,QAAI,OAAO,OAAO,OAAO,MAAM,YAAY,OAAO,OAAO,EAAE,UAAU,QAAW;AAG9E,aAAO,OAAO,EAAE,UAAU,SAAS;AAAA,QACjC,OAAO,OAAO,EAAE;AAAA,QAChB,oBAAoB,OAAO;AAAA,MAC7B;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { GLTFWithBuffers } from "../../types/gltf-types.js";
|
|
2
|
+
export declare const name = "KHR_techniques_webgl";
|
|
3
|
+
export declare function decode(gltfData: GLTFWithBuffers): Promise<void>;
|
|
4
|
+
export declare function encode(gltfData: any, options: any): Promise<void>;
|
|
5
|
+
//# sourceMappingURL=KHR_techniques_webgl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KHR_techniques_webgl.d.ts","sourceRoot":"","sources":["../../../../../src/gltf/lib/extensions/deprecated/KHR_techniques_webgl.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAC,eAAe,EAAC,kCAA+B;AAO5D,eAAO,MAAM,IAAI,yBAAuB,CAAC;AAEzC,wBAAsB,MAAM,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BrE;AAED,wBAAsB,MAAM,CAAC,QAAQ,KAAA,EAAE,OAAO,KAAA,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7D"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { GLTFIterator } from "../../api/gltf-iterator.js";
|
|
5
|
+
import { getTypedArrayForBufferView } from "../../gltf-utils/get-typed-array.js";
|
|
6
|
+
const KHR_TECHNIQUES_WEBGL = 'KHR_techniques_webgl';
|
|
7
|
+
export const name = KHR_TECHNIQUES_WEBGL;
|
|
8
|
+
export async function decode(gltfData) {
|
|
9
|
+
const iterator = new GLTFIterator(gltfData);
|
|
10
|
+
const extension = iterator.getExtension(KHR_TECHNIQUES_WEBGL);
|
|
11
|
+
if (extension) {
|
|
12
|
+
const techniques = resolveTechniques(extension, iterator);
|
|
13
|
+
for (const material of iterator.materials) {
|
|
14
|
+
const materialExtension = iterator.getExtension(material, KHR_TECHNIQUES_WEBGL);
|
|
15
|
+
if (materialExtension) {
|
|
16
|
+
// @ts-ignore TODO
|
|
17
|
+
material.technique = Object.assign({}, materialExtension,
|
|
18
|
+
// @ts-ignore
|
|
19
|
+
techniques[materialExtension.technique]);
|
|
20
|
+
// @ts-ignore TODO
|
|
21
|
+
material.technique.values = resolveValues(material.technique, iterator);
|
|
22
|
+
}
|
|
23
|
+
iterator.removeExtension(material, KHR_TECHNIQUES_WEBGL);
|
|
24
|
+
}
|
|
25
|
+
// Remove the top-level extension
|
|
26
|
+
iterator.removeExtension(KHR_TECHNIQUES_WEBGL);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
// eslint-disable-next-line
|
|
30
|
+
export async function encode(gltfData, options) {
|
|
31
|
+
// TODO
|
|
32
|
+
}
|
|
33
|
+
function resolveTechniques(techniquesExtension,
|
|
34
|
+
// programs: {[key: string]: any}[],
|
|
35
|
+
// shaders: {[key: string]: any}[],
|
|
36
|
+
// techniques: {[key: string]: any}[]
|
|
37
|
+
iterator) {
|
|
38
|
+
const { programs = [], shaders = [], techniques = [] } = techniquesExtension;
|
|
39
|
+
const textDecoder = new TextDecoder();
|
|
40
|
+
shaders.forEach(shader => {
|
|
41
|
+
if (Number.isFinite(shader.bufferView)) {
|
|
42
|
+
shader.code = textDecoder.decode(getTypedArrayForBufferView(iterator.data, iterator.gltf.buffers, shader.bufferView));
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
// TODO: handle URI shader
|
|
46
|
+
throw new Error('KHR_techniques_webgl: no shader code');
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
programs.forEach(program => {
|
|
50
|
+
program.fragmentShader = shaders[program.fragmentShader];
|
|
51
|
+
program.vertexShader = shaders[program.vertexShader];
|
|
52
|
+
});
|
|
53
|
+
techniques.forEach(technique => {
|
|
54
|
+
technique.program = programs[technique.program];
|
|
55
|
+
});
|
|
56
|
+
return techniques;
|
|
57
|
+
}
|
|
58
|
+
function resolveValues(technique, iterator) {
|
|
59
|
+
const values = Object.assign({}, technique.values);
|
|
60
|
+
// merge values from uniforms
|
|
61
|
+
Object.keys(technique.uniforms || {}).forEach(uniform => {
|
|
62
|
+
if (technique.uniforms[uniform].value && !(uniform in values)) {
|
|
63
|
+
values[uniform] = technique.uniforms[uniform].value;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
// resolve textures
|
|
67
|
+
Object.keys(values).forEach(uniform => {
|
|
68
|
+
if (typeof values[uniform] === 'object' && values[uniform].index !== undefined) {
|
|
69
|
+
// Assume this is a texture
|
|
70
|
+
// TODO: find if there are any other types that can be referenced
|
|
71
|
+
values[uniform].texture = iterator.resolveTexture(values[uniform].index, `technique.values.${uniform}.index`);
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
return values;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=KHR_techniques_webgl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KHR_techniques_webgl.js","sourceRoot":"","sources":["../../../../../src/gltf/lib/extensions/deprecated/KHR_techniques_webgl.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,114 @@
|
|
|
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/extensions/meshopt-compression.ts
|
|
21
|
+
var meshopt_compression_exports = {};
|
|
22
|
+
__export(meshopt_compression_exports, {
|
|
23
|
+
decodeMeshoptCompression: () => decodeMeshoptCompression,
|
|
24
|
+
validateMeshoptCompressionExclusivity: () => validateMeshoptCompressionExclusivity
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(meshopt_compression_exports);
|
|
27
|
+
var import_gltf_iterator = require("../api/gltf-iterator.cjs");
|
|
28
|
+
var import_meshopt_decoder = require("../../meshopt/meshopt-decoder.cjs");
|
|
29
|
+
async function decodeMeshoptCompression(gltfData, options, extensionName) {
|
|
30
|
+
if (!options.gltf?.decompressMeshes && options.gltf?.decompressBufferViewIndices === void 0 || !options.gltf?.loadBuffers) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
validateMeshoptCompressionExclusivity(gltfData.json);
|
|
34
|
+
const iterator = new import_gltf_iterator.GLTFIterator(gltfData);
|
|
35
|
+
const configuredBufferViewIndices = options.gltf.decompressBufferViewIndices;
|
|
36
|
+
const selectedBufferViewIndices = configuredBufferViewIndices ? new Set(
|
|
37
|
+
typeof configuredBufferViewIndices === "function" ? configuredBufferViewIndices(gltfData.json) : configuredBufferViewIndices
|
|
38
|
+
) : void 0;
|
|
39
|
+
const bufferViews = Array.from(iterator.bufferViews);
|
|
40
|
+
const promises = bufferViews.map(
|
|
41
|
+
(bufferView, bufferViewIndex) => selectedBufferViewIndices?.has(bufferViewIndex) === false ? Promise.resolve() : decodeMeshoptBufferView(iterator, bufferView, extensionName)
|
|
42
|
+
);
|
|
43
|
+
await Promise.all(promises);
|
|
44
|
+
if (selectedBufferViewIndices) {
|
|
45
|
+
for (const bufferViewIndex of selectedBufferViewIndices) {
|
|
46
|
+
const bufferView = bufferViews[bufferViewIndex];
|
|
47
|
+
if (bufferView) {
|
|
48
|
+
iterator.removeExtension(bufferView, extensionName);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
for (const bufferView of bufferViews) {
|
|
54
|
+
iterator.removeExtension(bufferView, extensionName);
|
|
55
|
+
}
|
|
56
|
+
for (const buffer of iterator.buffers) {
|
|
57
|
+
iterator.removeExtension(buffer, extensionName);
|
|
58
|
+
}
|
|
59
|
+
iterator.removeExtension(extensionName);
|
|
60
|
+
}
|
|
61
|
+
function validateMeshoptCompressionExclusivity(gltf) {
|
|
62
|
+
const bufferViews = gltf.bufferViews || [];
|
|
63
|
+
for (let bufferViewIndex = 0; bufferViewIndex < bufferViews.length; bufferViewIndex++) {
|
|
64
|
+
const extensions = bufferViews[bufferViewIndex].extensions;
|
|
65
|
+
if (extensions?.KHR_meshopt_compression && extensions.EXT_meshopt_compression) {
|
|
66
|
+
throw new Error(
|
|
67
|
+
`glTF bufferView ${bufferViewIndex} cannot use both KHR_meshopt_compression and EXT_meshopt_compression.`
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
const buffers = gltf.buffers || [];
|
|
72
|
+
for (let bufferIndex = 0; bufferIndex < buffers.length; bufferIndex++) {
|
|
73
|
+
const extensions = buffers[bufferIndex].extensions;
|
|
74
|
+
if (extensions?.KHR_meshopt_compression && extensions.EXT_meshopt_compression) {
|
|
75
|
+
throw new Error(
|
|
76
|
+
`glTF buffer ${bufferIndex} cannot use both KHR_meshopt_compression and EXT_meshopt_compression.`
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
async function decodeMeshoptBufferView(iterator, bufferView, extensionName) {
|
|
82
|
+
const meshoptExtension = iterator.getExtension(bufferView, extensionName);
|
|
83
|
+
if (!meshoptExtension) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
const {
|
|
87
|
+
byteOffset = 0,
|
|
88
|
+
byteLength,
|
|
89
|
+
byteStride,
|
|
90
|
+
count,
|
|
91
|
+
mode,
|
|
92
|
+
filter = "NONE",
|
|
93
|
+
buffer: sourceBufferIndex
|
|
94
|
+
} = meshoptExtension;
|
|
95
|
+
const sourceBuffer = iterator.gltf.buffers[sourceBufferIndex];
|
|
96
|
+
const targetBuffer = iterator.gltf.buffers[bufferView.buffer];
|
|
97
|
+
const source = new Uint8Array(
|
|
98
|
+
sourceBuffer.arrayBuffer,
|
|
99
|
+
sourceBuffer.byteOffset + byteOffset,
|
|
100
|
+
byteLength
|
|
101
|
+
);
|
|
102
|
+
const target = new Uint8Array(
|
|
103
|
+
targetBuffer.arrayBuffer,
|
|
104
|
+
targetBuffer.byteOffset + (bufferView.byteOffset || 0),
|
|
105
|
+
bufferView.byteLength
|
|
106
|
+
);
|
|
107
|
+
await (0, import_meshopt_decoder.meshoptDecodeGltfBuffer)(target, count, byteStride, source, mode, filter);
|
|
108
|
+
}
|
|
109
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
110
|
+
0 && (module.exports = {
|
|
111
|
+
decodeMeshoptCompression,
|
|
112
|
+
validateMeshoptCompressionExclusivity
|
|
113
|
+
});
|
|
114
|
+
//# sourceMappingURL=meshopt-compression.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/gltf/lib/extensions/meshopt-compression.ts"],
|
|
4
|
+
"sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n/* eslint-disable camelcase */\nimport type {GLTFLoaderOptions} from '../../gltf-loader-types';\nimport type {\n GLTF,\n GLTFBufferView,\n GLTF_EXT_meshopt_compression,\n GLTF_KHR_meshopt_compression\n} from '../types/gltf-json-schema';\nimport type {GLTFWithBuffers} from '../types/gltf-types';\nimport {GLTFIterator} from '../api/gltf-iterator';\nimport {meshoptDecodeGltfBuffer} from '../../meshopt/meshopt-decoder';\n\n/**\n * Exact extension identifiers accepted by the shared meshopt decoder.\n *\n * The two extensions deliberately remain separate capabilities even though their JSON layouts are\n * compatible: KHR adds version 1 attribute streams and the `COLOR` filter, while existing EXT\n * assets continue to require the EXT identifier.\n */\nexport type MeshoptCompressionExtensionName = 'KHR_meshopt_compression' | 'EXT_meshopt_compression';\n\n/**\n * Decompresses every buffer view that uses one meshopt extension.\n *\n * The Khronos and vendor extensions share their buffer-view layout, but the Khronos extension\n * additionally permits version 1 attribute streams and the `COLOR` filter. A buffer view or\n * fallback buffer cannot opt into both extensions because the specifications define them as\n * mutually exclusive. The extension object identifies the compressed source range; the parent\n * buffer view identifies the destination range that will contain `count * byteStride`\n * decompressed bytes.\n *\n * Extension objects, fallback-buffer markers, and top-level `extensionsUsed` and\n * `extensionsRequired` declarations are removed only after every matching buffer view decodes\n * successfully. Source buffers containing compressed bytes remain in `gltfData.buffers`; the\n * loader does not compact or renumber buffers.\n *\n * @param gltfData Parsed glTF JSON and its resolved buffers.\n * @param options glTF loader options controlling buffer loading and mesh decompression.\n * @param extensionName Meshopt extension to process.\n * @returns A promise that resolves after all matching buffer views are decoded and their extension\n * declarations are removed.\n * @throws If KHR and EXT declarations are mixed on the same buffer view or buffer, or if a\n * compressed stream cannot be decoded.\n */\nexport async function decodeMeshoptCompression(\n gltfData: GLTFWithBuffers,\n options: GLTFLoaderOptions,\n extensionName: MeshoptCompressionExtensionName\n): Promise<void> {\n // Meshopt needs both the compressed source and the parent buffer view's destination buffer.\n if (\n (!options.gltf?.decompressMeshes && options.gltf?.decompressBufferViewIndices === undefined) ||\n !options.gltf?.loadBuffers\n ) {\n return;\n }\n\n validateMeshoptCompressionExclusivity(gltfData.json);\n\n const iterator = new GLTFIterator(gltfData);\n const configuredBufferViewIndices = options.gltf.decompressBufferViewIndices;\n const selectedBufferViewIndices = configuredBufferViewIndices\n ? new Set(\n typeof configuredBufferViewIndices === 'function'\n ? configuredBufferViewIndices(gltfData.json)\n : configuredBufferViewIndices\n )\n : undefined;\n const bufferViews = Array.from(iterator.bufferViews);\n const promises = bufferViews.map((bufferView, bufferViewIndex) =>\n selectedBufferViewIndices?.has(bufferViewIndex) === false\n ? Promise.resolve()\n : decodeMeshoptBufferView(iterator, bufferView, extensionName)\n );\n\n await Promise.all(promises);\n\n if (selectedBufferViewIndices) {\n for (const bufferViewIndex of selectedBufferViewIndices) {\n const bufferView = bufferViews[bufferViewIndex];\n if (bufferView) {\n iterator.removeExtension(bufferView, extensionName);\n }\n }\n return;\n }\n\n // Preserve compressed source buffers, but remove capability markers after successful decoding.\n for (const bufferView of bufferViews) {\n iterator.removeExtension(bufferView, extensionName);\n }\n for (const buffer of iterator.buffers) {\n iterator.removeExtension(buffer, extensionName);\n }\n iterator.removeExtension(extensionName);\n}\n\n/**\n * Enforces the KHR/EXT capability invariant before any compressed bytes are decoded.\n *\n * Khronos specifies the two extension identifiers as mutually exclusive on both compressed buffer\n * views and fallback buffers. Validating the whole document before decoding prevents traversal\n * order from turning an invalid mixed declaration into partially decoded output.\n *\n * @param gltf Parsed glTF document.\n * @throws If one buffer view or buffer declares both `KHR_meshopt_compression` and\n * `EXT_meshopt_compression`.\n */\nexport function validateMeshoptCompressionExclusivity(gltf: GLTF): void {\n const bufferViews = gltf.bufferViews || [];\n for (let bufferViewIndex = 0; bufferViewIndex < bufferViews.length; bufferViewIndex++) {\n const extensions = bufferViews[bufferViewIndex].extensions;\n if (extensions?.KHR_meshopt_compression && extensions.EXT_meshopt_compression) {\n throw new Error(\n `glTF bufferView ${bufferViewIndex} cannot use both KHR_meshopt_compression and EXT_meshopt_compression.`\n );\n }\n }\n\n const buffers = gltf.buffers || [];\n for (let bufferIndex = 0; bufferIndex < buffers.length; bufferIndex++) {\n const extensions = buffers[bufferIndex].extensions;\n if (extensions?.KHR_meshopt_compression && extensions.EXT_meshopt_compression) {\n throw new Error(\n `glTF buffer ${bufferIndex} cannot use both KHR_meshopt_compression and EXT_meshopt_compression.`\n );\n }\n }\n}\n\n/**\n * Decodes one meshopt-compressed buffer view.\n *\n * The extension's `buffer` and byte range select compressed source bytes. The parent buffer view's\n * `buffer`, `byteOffset`, and `byteLength` select the destination. Buffer-level byte offsets from\n * `GLTFWithBuffers` are included in both ranges so sliced GLB buffers remain valid.\n *\n * This helper deliberately leaves the extension object in place. The caller removes all processed\n * declarations together only after every parallel decode succeeds.\n *\n * @param iterator Iterator containing parsed JSON and resolved buffers.\n * @param bufferView Parent buffer view that describes the decompressed destination range.\n * @param extensionName Exact meshopt extension identifier to process.\n * @returns A promise that resolves when the buffer view has been decoded, or immediately when the\n * buffer view does not declare `extensionName`.\n * @throws If the compressed bitstream is malformed or incompatible with its declared mode,\n * filter, count, or byte stride.\n */\nasync function decodeMeshoptBufferView(\n iterator: GLTFIterator,\n bufferView: GLTFBufferView,\n extensionName: MeshoptCompressionExtensionName\n): Promise<void> {\n const meshoptExtension = iterator.getExtension<\n GLTF_KHR_meshopt_compression | GLTF_EXT_meshopt_compression\n >(bufferView, extensionName);\n\n if (!meshoptExtension) {\n return;\n }\n\n const {\n byteOffset = 0,\n byteLength,\n byteStride,\n count,\n mode,\n filter = 'NONE',\n buffer: sourceBufferIndex\n } = meshoptExtension;\n const sourceBuffer = iterator.gltf.buffers[sourceBufferIndex];\n const targetBuffer = iterator.gltf.buffers[bufferView.buffer];\n const source = new Uint8Array(\n sourceBuffer.arrayBuffer,\n sourceBuffer.byteOffset + byteOffset,\n byteLength\n );\n const target = new Uint8Array(\n targetBuffer.arrayBuffer,\n targetBuffer.byteOffset + (bufferView.byteOffset || 0),\n bufferView.byteLength\n );\n\n await meshoptDecodeGltfBuffer(target, count, byteStride, source, mode, filter);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAaA,2BAA2B;AAC3B,6BAAsC;AAkCtC,eAAsB,yBACpB,UACA,SACA,eACe;AAEf,MACG,CAAC,QAAQ,MAAM,oBAAoB,QAAQ,MAAM,gCAAgC,UAClF,CAAC,QAAQ,MAAM,aACf;AACA;AAAA,EACF;AAEA,wCAAsC,SAAS,IAAI;AAEnD,QAAM,WAAW,IAAI,kCAAa,QAAQ;AAC1C,QAAM,8BAA8B,QAAQ,KAAK;AACjD,QAAM,4BAA4B,8BAC9B,IAAI;AAAA,IACF,OAAO,gCAAgC,aACnC,4BAA4B,SAAS,IAAI,IACzC;AAAA,EACN,IACA;AACJ,QAAM,cAAc,MAAM,KAAK,SAAS,WAAW;AACnD,QAAM,WAAW,YAAY;AAAA,IAAI,CAAC,YAAY,oBAC5C,2BAA2B,IAAI,eAAe,MAAM,QAChD,QAAQ,QAAQ,IAChB,wBAAwB,UAAU,YAAY,aAAa;AAAA,EACjE;AAEA,QAAM,QAAQ,IAAI,QAAQ;AAE1B,MAAI,2BAA2B;AAC7B,eAAW,mBAAmB,2BAA2B;AACvD,YAAM,aAAa,YAAY,eAAe;AAC9C,UAAI,YAAY;AACd,iBAAS,gBAAgB,YAAY,aAAa;AAAA,MACpD;AAAA,IACF;AACA;AAAA,EACF;AAGA,aAAW,cAAc,aAAa;AACpC,aAAS,gBAAgB,YAAY,aAAa;AAAA,EACpD;AACA,aAAW,UAAU,SAAS,SAAS;AACrC,aAAS,gBAAgB,QAAQ,aAAa;AAAA,EAChD;AACA,WAAS,gBAAgB,aAAa;AACxC;AAaO,SAAS,sCAAsC,MAAkB;AACtE,QAAM,cAAc,KAAK,eAAe,CAAC;AACzC,WAAS,kBAAkB,GAAG,kBAAkB,YAAY,QAAQ,mBAAmB;AACrF,UAAM,aAAa,YAAY,eAAe,EAAE;AAChD,QAAI,YAAY,2BAA2B,WAAW,yBAAyB;AAC7E,YAAM,IAAI;AAAA,QACR,mBAAmB,eAAe;AAAA,MACpC;AAAA,IACF;AAAA,EACF;AAEA,QAAM,UAAU,KAAK,WAAW,CAAC;AACjC,WAAS,cAAc,GAAG,cAAc,QAAQ,QAAQ,eAAe;AACrE,UAAM,aAAa,QAAQ,WAAW,EAAE;AACxC,QAAI,YAAY,2BAA2B,WAAW,yBAAyB;AAC7E,YAAM,IAAI;AAAA,QACR,eAAe,WAAW;AAAA,MAC5B;AAAA,IACF;AAAA,EACF;AACF;AAoBA,eAAe,wBACb,UACA,YACA,eACe;AACf,QAAM,mBAAmB,SAAS,aAEhC,YAAY,aAAa;AAE3B,MAAI,CAAC,kBAAkB;AACrB;AAAA,EACF;AAEA,QAAM;AAAA,IACJ,aAAa;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT,QAAQ;AAAA,EACV,IAAI;AACJ,QAAM,eAAe,SAAS,KAAK,QAAQ,iBAAiB;AAC5D,QAAM,eAAe,SAAS,KAAK,QAAQ,WAAW,MAAM;AAC5D,QAAM,SAAS,IAAI;AAAA,IACjB,aAAa;AAAA,IACb,aAAa,aAAa;AAAA,IAC1B;AAAA,EACF;AACA,QAAM,SAAS,IAAI;AAAA,IACjB,aAAa;AAAA,IACb,aAAa,cAAc,WAAW,cAAc;AAAA,IACpD,WAAW;AAAA,EACb;AAEA,YAAM,gDAAwB,QAAQ,OAAO,YAAY,QAAQ,MAAM,MAAM;AAC/E;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { GLTFLoaderOptions } from "../../gltf-loader-types.js";
|
|
2
|
+
import type { GLTF } from "../types/gltf-json-schema.js";
|
|
3
|
+
import type { GLTFWithBuffers } from "../types/gltf-types.js";
|
|
4
|
+
/**
|
|
5
|
+
* Exact extension identifiers accepted by the shared meshopt decoder.
|
|
6
|
+
*
|
|
7
|
+
* The two extensions deliberately remain separate capabilities even though their JSON layouts are
|
|
8
|
+
* compatible: KHR adds version 1 attribute streams and the `COLOR` filter, while existing EXT
|
|
9
|
+
* assets continue to require the EXT identifier.
|
|
10
|
+
*/
|
|
11
|
+
export type MeshoptCompressionExtensionName = 'KHR_meshopt_compression' | 'EXT_meshopt_compression';
|
|
12
|
+
/**
|
|
13
|
+
* Decompresses every buffer view that uses one meshopt extension.
|
|
14
|
+
*
|
|
15
|
+
* The Khronos and vendor extensions share their buffer-view layout, but the Khronos extension
|
|
16
|
+
* additionally permits version 1 attribute streams and the `COLOR` filter. A buffer view or
|
|
17
|
+
* fallback buffer cannot opt into both extensions because the specifications define them as
|
|
18
|
+
* mutually exclusive. The extension object identifies the compressed source range; the parent
|
|
19
|
+
* buffer view identifies the destination range that will contain `count * byteStride`
|
|
20
|
+
* decompressed bytes.
|
|
21
|
+
*
|
|
22
|
+
* Extension objects, fallback-buffer markers, and top-level `extensionsUsed` and
|
|
23
|
+
* `extensionsRequired` declarations are removed only after every matching buffer view decodes
|
|
24
|
+
* successfully. Source buffers containing compressed bytes remain in `gltfData.buffers`; the
|
|
25
|
+
* loader does not compact or renumber buffers.
|
|
26
|
+
*
|
|
27
|
+
* @param gltfData Parsed glTF JSON and its resolved buffers.
|
|
28
|
+
* @param options glTF loader options controlling buffer loading and mesh decompression.
|
|
29
|
+
* @param extensionName Meshopt extension to process.
|
|
30
|
+
* @returns A promise that resolves after all matching buffer views are decoded and their extension
|
|
31
|
+
* declarations are removed.
|
|
32
|
+
* @throws If KHR and EXT declarations are mixed on the same buffer view or buffer, or if a
|
|
33
|
+
* compressed stream cannot be decoded.
|
|
34
|
+
*/
|
|
35
|
+
export declare function decodeMeshoptCompression(gltfData: GLTFWithBuffers, options: GLTFLoaderOptions, extensionName: MeshoptCompressionExtensionName): Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* Enforces the KHR/EXT capability invariant before any compressed bytes are decoded.
|
|
38
|
+
*
|
|
39
|
+
* Khronos specifies the two extension identifiers as mutually exclusive on both compressed buffer
|
|
40
|
+
* views and fallback buffers. Validating the whole document before decoding prevents traversal
|
|
41
|
+
* order from turning an invalid mixed declaration into partially decoded output.
|
|
42
|
+
*
|
|
43
|
+
* @param gltf Parsed glTF document.
|
|
44
|
+
* @throws If one buffer view or buffer declares both `KHR_meshopt_compression` and
|
|
45
|
+
* `EXT_meshopt_compression`.
|
|
46
|
+
*/
|
|
47
|
+
export declare function validateMeshoptCompressionExclusivity(gltf: GLTF): void;
|
|
48
|
+
//# sourceMappingURL=meshopt-compression.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meshopt-compression.d.ts","sourceRoot":"","sources":["../../../../src/gltf/lib/extensions/meshopt-compression.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,iBAAiB,EAAC,mCAAgC;AAC/D,OAAO,KAAK,EACV,IAAI,EAIL,qCAAkC;AACnC,OAAO,KAAK,EAAC,eAAe,EAAC,+BAA4B;AAIzD;;;;;;GAMG;AACH,MAAM,MAAM,+BAA+B,GAAG,yBAAyB,GAAG,yBAAyB,CAAC;AAEpG;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,iBAAiB,EAC1B,aAAa,EAAE,+BAA+B,GAC7C,OAAO,CAAC,IAAI,CAAC,CA+Cf;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qCAAqC,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAoBtE"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { GLTFIterator } from "../api/gltf-iterator.js";
|
|
5
|
+
import { meshoptDecodeGltfBuffer } from "../../meshopt/meshopt-decoder.js";
|
|
6
|
+
/**
|
|
7
|
+
* Decompresses every buffer view that uses one meshopt extension.
|
|
8
|
+
*
|
|
9
|
+
* The Khronos and vendor extensions share their buffer-view layout, but the Khronos extension
|
|
10
|
+
* additionally permits version 1 attribute streams and the `COLOR` filter. A buffer view or
|
|
11
|
+
* fallback buffer cannot opt into both extensions because the specifications define them as
|
|
12
|
+
* mutually exclusive. The extension object identifies the compressed source range; the parent
|
|
13
|
+
* buffer view identifies the destination range that will contain `count * byteStride`
|
|
14
|
+
* decompressed bytes.
|
|
15
|
+
*
|
|
16
|
+
* Extension objects, fallback-buffer markers, and top-level `extensionsUsed` and
|
|
17
|
+
* `extensionsRequired` declarations are removed only after every matching buffer view decodes
|
|
18
|
+
* successfully. Source buffers containing compressed bytes remain in `gltfData.buffers`; the
|
|
19
|
+
* loader does not compact or renumber buffers.
|
|
20
|
+
*
|
|
21
|
+
* @param gltfData Parsed glTF JSON and its resolved buffers.
|
|
22
|
+
* @param options glTF loader options controlling buffer loading and mesh decompression.
|
|
23
|
+
* @param extensionName Meshopt extension to process.
|
|
24
|
+
* @returns A promise that resolves after all matching buffer views are decoded and their extension
|
|
25
|
+
* declarations are removed.
|
|
26
|
+
* @throws If KHR and EXT declarations are mixed on the same buffer view or buffer, or if a
|
|
27
|
+
* compressed stream cannot be decoded.
|
|
28
|
+
*/
|
|
29
|
+
export async function decodeMeshoptCompression(gltfData, options, extensionName) {
|
|
30
|
+
// Meshopt needs both the compressed source and the parent buffer view's destination buffer.
|
|
31
|
+
if ((!options.gltf?.decompressMeshes && options.gltf?.decompressBufferViewIndices === undefined) ||
|
|
32
|
+
!options.gltf?.loadBuffers) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
validateMeshoptCompressionExclusivity(gltfData.json);
|
|
36
|
+
const iterator = new GLTFIterator(gltfData);
|
|
37
|
+
const configuredBufferViewIndices = options.gltf.decompressBufferViewIndices;
|
|
38
|
+
const selectedBufferViewIndices = configuredBufferViewIndices
|
|
39
|
+
? new Set(typeof configuredBufferViewIndices === 'function'
|
|
40
|
+
? configuredBufferViewIndices(gltfData.json)
|
|
41
|
+
: configuredBufferViewIndices)
|
|
42
|
+
: undefined;
|
|
43
|
+
const bufferViews = Array.from(iterator.bufferViews);
|
|
44
|
+
const promises = bufferViews.map((bufferView, bufferViewIndex) => selectedBufferViewIndices?.has(bufferViewIndex) === false
|
|
45
|
+
? Promise.resolve()
|
|
46
|
+
: decodeMeshoptBufferView(iterator, bufferView, extensionName));
|
|
47
|
+
await Promise.all(promises);
|
|
48
|
+
if (selectedBufferViewIndices) {
|
|
49
|
+
for (const bufferViewIndex of selectedBufferViewIndices) {
|
|
50
|
+
const bufferView = bufferViews[bufferViewIndex];
|
|
51
|
+
if (bufferView) {
|
|
52
|
+
iterator.removeExtension(bufferView, extensionName);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
// Preserve compressed source buffers, but remove capability markers after successful decoding.
|
|
58
|
+
for (const bufferView of bufferViews) {
|
|
59
|
+
iterator.removeExtension(bufferView, extensionName);
|
|
60
|
+
}
|
|
61
|
+
for (const buffer of iterator.buffers) {
|
|
62
|
+
iterator.removeExtension(buffer, extensionName);
|
|
63
|
+
}
|
|
64
|
+
iterator.removeExtension(extensionName);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Enforces the KHR/EXT capability invariant before any compressed bytes are decoded.
|
|
68
|
+
*
|
|
69
|
+
* Khronos specifies the two extension identifiers as mutually exclusive on both compressed buffer
|
|
70
|
+
* views and fallback buffers. Validating the whole document before decoding prevents traversal
|
|
71
|
+
* order from turning an invalid mixed declaration into partially decoded output.
|
|
72
|
+
*
|
|
73
|
+
* @param gltf Parsed glTF document.
|
|
74
|
+
* @throws If one buffer view or buffer declares both `KHR_meshopt_compression` and
|
|
75
|
+
* `EXT_meshopt_compression`.
|
|
76
|
+
*/
|
|
77
|
+
export function validateMeshoptCompressionExclusivity(gltf) {
|
|
78
|
+
const bufferViews = gltf.bufferViews || [];
|
|
79
|
+
for (let bufferViewIndex = 0; bufferViewIndex < bufferViews.length; bufferViewIndex++) {
|
|
80
|
+
const extensions = bufferViews[bufferViewIndex].extensions;
|
|
81
|
+
if (extensions?.KHR_meshopt_compression && extensions.EXT_meshopt_compression) {
|
|
82
|
+
throw new Error(`glTF bufferView ${bufferViewIndex} cannot use both KHR_meshopt_compression and EXT_meshopt_compression.`);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
const buffers = gltf.buffers || [];
|
|
86
|
+
for (let bufferIndex = 0; bufferIndex < buffers.length; bufferIndex++) {
|
|
87
|
+
const extensions = buffers[bufferIndex].extensions;
|
|
88
|
+
if (extensions?.KHR_meshopt_compression && extensions.EXT_meshopt_compression) {
|
|
89
|
+
throw new Error(`glTF buffer ${bufferIndex} cannot use both KHR_meshopt_compression and EXT_meshopt_compression.`);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Decodes one meshopt-compressed buffer view.
|
|
95
|
+
*
|
|
96
|
+
* The extension's `buffer` and byte range select compressed source bytes. The parent buffer view's
|
|
97
|
+
* `buffer`, `byteOffset`, and `byteLength` select the destination. Buffer-level byte offsets from
|
|
98
|
+
* `GLTFWithBuffers` are included in both ranges so sliced GLB buffers remain valid.
|
|
99
|
+
*
|
|
100
|
+
* This helper deliberately leaves the extension object in place. The caller removes all processed
|
|
101
|
+
* declarations together only after every parallel decode succeeds.
|
|
102
|
+
*
|
|
103
|
+
* @param iterator Iterator containing parsed JSON and resolved buffers.
|
|
104
|
+
* @param bufferView Parent buffer view that describes the decompressed destination range.
|
|
105
|
+
* @param extensionName Exact meshopt extension identifier to process.
|
|
106
|
+
* @returns A promise that resolves when the buffer view has been decoded, or immediately when the
|
|
107
|
+
* buffer view does not declare `extensionName`.
|
|
108
|
+
* @throws If the compressed bitstream is malformed or incompatible with its declared mode,
|
|
109
|
+
* filter, count, or byte stride.
|
|
110
|
+
*/
|
|
111
|
+
async function decodeMeshoptBufferView(iterator, bufferView, extensionName) {
|
|
112
|
+
const meshoptExtension = iterator.getExtension(bufferView, extensionName);
|
|
113
|
+
if (!meshoptExtension) {
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
const { byteOffset = 0, byteLength, byteStride, count, mode, filter = 'NONE', buffer: sourceBufferIndex } = meshoptExtension;
|
|
117
|
+
const sourceBuffer = iterator.gltf.buffers[sourceBufferIndex];
|
|
118
|
+
const targetBuffer = iterator.gltf.buffers[bufferView.buffer];
|
|
119
|
+
const source = new Uint8Array(sourceBuffer.arrayBuffer, sourceBuffer.byteOffset + byteOffset, byteLength);
|
|
120
|
+
const target = new Uint8Array(targetBuffer.arrayBuffer, targetBuffer.byteOffset + (bufferView.byteOffset || 0), bufferView.byteLength);
|
|
121
|
+
await meshoptDecodeGltfBuffer(target, count, byteStride, source, mode, filter);
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=meshopt-compression.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meshopt-compression.js","sourceRoot":"","sources":["../../../../src/gltf/lib/extensions/meshopt-compression.ts"],"names":[],"mappings":"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"}
|