@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,161 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
/**
|
|
5
|
+
* Resolve glTF 1 joint names inside each instance's skeleton hierarchy.
|
|
6
|
+
* Shared skins are cloned when instances use different joint nodes. Non-identity bind shapes
|
|
7
|
+
* remain available for binary baking. Multiple explicit roots are supported when their
|
|
8
|
+
* disjoint subtrees resolve every joint uniquely and share an unambiguous common ancestor.
|
|
9
|
+
*/
|
|
10
|
+
export function convertGLTFV1Skins(json, resolveNodeId, reportUnsupported) {
|
|
11
|
+
const nodes = (json.nodes || []);
|
|
12
|
+
const skins = (json.skins || []);
|
|
13
|
+
const originalSkinCount = skins.length;
|
|
14
|
+
let hasUnconvertedSkin = false;
|
|
15
|
+
for (let skinIndex = 0; skinIndex < originalSkinCount; skinIndex++) {
|
|
16
|
+
const skin = skins[skinIndex];
|
|
17
|
+
const jointNames = skin.jointNames;
|
|
18
|
+
if (!Array.isArray(jointNames) ||
|
|
19
|
+
jointNames.length === 0 ||
|
|
20
|
+
jointNames.some(name => typeof name !== 'string' || !name) ||
|
|
21
|
+
new Set(jointNames).size !== jointNames.length) {
|
|
22
|
+
reportUnsupported(`skin ${skinIndex} has invalid joint names`);
|
|
23
|
+
hasUnconvertedSkin = true;
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
const instanceIndices = nodes.flatMap((node, nodeIndex) => node.skin === skinIndex ? [nodeIndex] : []);
|
|
27
|
+
const plans = (instanceIndices.length ? instanceIndices : [undefined]).map(nodeIndex => resolveSkinInstance(nodes, jointNames, nodeIndex, resolveNodeId, feature => reportUnsupported(`skin ${skinIndex} ${feature}`)));
|
|
28
|
+
const hasFailedPlan = plans.some(plan => !plan);
|
|
29
|
+
hasUnconvertedSkin ||= hasFailedPlan;
|
|
30
|
+
const convertedBindings = new Map();
|
|
31
|
+
for (const plan of plans) {
|
|
32
|
+
if (!plan)
|
|
33
|
+
continue;
|
|
34
|
+
const bindingKey = `${plan.skeletonIndex}:${plan.jointIndices.join(',')}`;
|
|
35
|
+
let convertedSkinIndex = convertedBindings.get(bindingKey);
|
|
36
|
+
if (convertedSkinIndex === undefined) {
|
|
37
|
+
const convertedSkin = {
|
|
38
|
+
...skin,
|
|
39
|
+
joints: plan.jointIndices,
|
|
40
|
+
skeleton: plan.skeletonIndex
|
|
41
|
+
};
|
|
42
|
+
delete convertedSkin.jointNames;
|
|
43
|
+
if (skin.bindShapeMatrix !== undefined && isIdentityBindShape(skin.bindShapeMatrix)) {
|
|
44
|
+
delete convertedSkin.bindShapeMatrix;
|
|
45
|
+
}
|
|
46
|
+
if (!hasFailedPlan && convertedBindings.size === 0) {
|
|
47
|
+
convertedSkinIndex = skinIndex;
|
|
48
|
+
skins[skinIndex] = convertedSkin;
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
delete convertedSkin.id;
|
|
52
|
+
convertedSkinIndex = skins.length;
|
|
53
|
+
skins.push(convertedSkin);
|
|
54
|
+
}
|
|
55
|
+
convertedBindings.set(bindingKey, convertedSkinIndex);
|
|
56
|
+
}
|
|
57
|
+
if (plan.nodeIndex !== undefined) {
|
|
58
|
+
nodes[plan.nodeIndex].skin = convertedSkinIndex;
|
|
59
|
+
delete nodes[plan.nodeIndex].skeletons;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
// Keep symbolic names available when a best-effort result contains an unresolved legacy skin.
|
|
64
|
+
if (!hasUnconvertedSkin) {
|
|
65
|
+
for (const node of nodes)
|
|
66
|
+
delete node.jointName;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/** Resolve ordered names within explicit subtrees, or uniquely across the document. */
|
|
70
|
+
function resolveSkinInstance(nodes, jointNames, nodeIndex, resolveNodeId, reportUnsupported) {
|
|
71
|
+
const skeletonIds = nodeIndex === undefined ? undefined : nodes[nodeIndex].skeletons;
|
|
72
|
+
if (skeletonIds !== undefined &&
|
|
73
|
+
(!Array.isArray(skeletonIds) ||
|
|
74
|
+
skeletonIds.some(id => typeof id !== 'string' || !id) ||
|
|
75
|
+
new Set(skeletonIds).size !== skeletonIds.length)) {
|
|
76
|
+
reportUnsupported('has invalid skeleton roots');
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
const explicitRoots = (skeletonIds || []).map(resolveNodeId);
|
|
80
|
+
const candidates = !explicitRoots.length
|
|
81
|
+
? nodes.map((node, candidateIndex) => candidateIndex)
|
|
82
|
+
: collectSkeletonNodes(nodes, explicitRoots);
|
|
83
|
+
if (!candidates) {
|
|
84
|
+
reportUnsupported('has invalid or overlapping skeleton subtrees');
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
const jointIndices = [];
|
|
88
|
+
const namedCandidates = new Map();
|
|
89
|
+
for (const candidateIndex of candidates) {
|
|
90
|
+
const jointName = nodes[candidateIndex].jointName;
|
|
91
|
+
if (jointName === undefined)
|
|
92
|
+
continue;
|
|
93
|
+
const matches = namedCandidates.get(jointName) || [];
|
|
94
|
+
matches.push(candidateIndex);
|
|
95
|
+
namedCandidates.set(jointName, matches);
|
|
96
|
+
}
|
|
97
|
+
for (const jointName of jointNames) {
|
|
98
|
+
const matches = namedCandidates.get(jointName) || [];
|
|
99
|
+
if (matches.length !== 1) {
|
|
100
|
+
reportUnsupported(`cannot uniquely resolve joint ${jointName}`);
|
|
101
|
+
return null;
|
|
102
|
+
}
|
|
103
|
+
jointIndices.push(matches[0]);
|
|
104
|
+
}
|
|
105
|
+
const commonRoot = findCommonJointRoot(nodes, [...jointIndices, ...explicitRoots]);
|
|
106
|
+
if (commonRoot === undefined) {
|
|
107
|
+
reportUnsupported('joints have no unambiguous common hierarchy root');
|
|
108
|
+
return null;
|
|
109
|
+
}
|
|
110
|
+
return {
|
|
111
|
+
nodeIndex,
|
|
112
|
+
jointIndices,
|
|
113
|
+
skeletonIndex: explicitRoots.length === 1 ? explicitRoots[0] : commonRoot
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
/** Collect disjoint subtrees, rejecting missing nodes, cycles, and overlapping paths. */
|
|
117
|
+
function collectSkeletonNodes(nodes, rootIndices) {
|
|
118
|
+
const visited = new Set();
|
|
119
|
+
const pending = [...rootIndices];
|
|
120
|
+
while (pending.length) {
|
|
121
|
+
const nodeIndex = pending.pop();
|
|
122
|
+
if (!Number.isSafeInteger(nodeIndex) || !nodes[nodeIndex] || visited.has(nodeIndex))
|
|
123
|
+
return null;
|
|
124
|
+
visited.add(nodeIndex);
|
|
125
|
+
pending.push(...(nodes[nodeIndex].children || []));
|
|
126
|
+
}
|
|
127
|
+
return Array.from(visited);
|
|
128
|
+
}
|
|
129
|
+
/** Find the closest common ancestor, rejecting cycles and multiply-parented node graphs. */
|
|
130
|
+
function findCommonJointRoot(nodes, jointIndices) {
|
|
131
|
+
const parents = new Map();
|
|
132
|
+
for (const [nodeIndex, node] of nodes.entries()) {
|
|
133
|
+
for (const childIndex of node.children || []) {
|
|
134
|
+
if (!Number.isSafeInteger(childIndex) || !nodes[childIndex] || parents.has(childIndex))
|
|
135
|
+
return undefined;
|
|
136
|
+
parents.set(childIndex, nodeIndex);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
const ancestorPaths = jointIndices.map(jointIndex => {
|
|
140
|
+
const path = [];
|
|
141
|
+
const visited = new Set();
|
|
142
|
+
let ancestorIndex = jointIndex;
|
|
143
|
+
while (ancestorIndex !== undefined) {
|
|
144
|
+
if (visited.has(ancestorIndex))
|
|
145
|
+
return [];
|
|
146
|
+
visited.add(ancestorIndex);
|
|
147
|
+
path.push(ancestorIndex);
|
|
148
|
+
ancestorIndex = parents.get(ancestorIndex);
|
|
149
|
+
}
|
|
150
|
+
return path;
|
|
151
|
+
});
|
|
152
|
+
const ancestorSets = ancestorPaths.map(path => new Set(path));
|
|
153
|
+
return ancestorPaths[0].find(ancestorIndex => ancestorSets.every(ancestors => ancestors.has(ancestorIndex)));
|
|
154
|
+
}
|
|
155
|
+
/** Check exact identity; even small non-identity values require actual matrix baking. */
|
|
156
|
+
function isIdentityBindShape(matrix) {
|
|
157
|
+
return (Array.isArray(matrix) &&
|
|
158
|
+
matrix.length === 16 &&
|
|
159
|
+
Array.from(matrix).every((value, index) => value === (index % 5 === 0 ? 1 : 0)));
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=convert-gltf-v1-skins.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert-gltf-v1-skins.js","sourceRoot":"","sources":["../../../../src/gltf/lib/api/convert-gltf-v1-skins.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
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/api/gltf-accessors.ts
|
|
21
|
+
var gltf_accessors_exports = {};
|
|
22
|
+
__export(gltf_accessors_exports, {
|
|
23
|
+
getGLTFAccessor: () => getGLTFAccessor,
|
|
24
|
+
getGLTFAccessorValue: () => getGLTFAccessorValue,
|
|
25
|
+
setGLTFAccessorValue: () => setGLTFAccessorValue
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(gltf_accessors_exports);
|
|
28
|
+
var import_get_typed_array = require("../gltf-utils/get-typed-array.cjs");
|
|
29
|
+
var import_gltf_utils = require("../gltf-utils/gltf-utils.cjs");
|
|
30
|
+
var import_assert = require("../utils/assert.cjs");
|
|
31
|
+
var import_loader_utils = require("@loaders.gl/core/loader-utils");
|
|
32
|
+
function getGLTFAccessor(gltf, reference) {
|
|
33
|
+
const accessor = typeof reference === "number" ? gltf.json.accessors?.[reference] : reference;
|
|
34
|
+
(0, import_assert.assert)(accessor);
|
|
35
|
+
return accessor;
|
|
36
|
+
}
|
|
37
|
+
function getGLTFAccessorValue(gltf, reference) {
|
|
38
|
+
return (0, import_get_typed_array.getTypedArrayForAccessor)(gltf.json, gltf.buffers, reference);
|
|
39
|
+
}
|
|
40
|
+
function setGLTFAccessorValue(gltf, reference, value) {
|
|
41
|
+
const accessor = getGLTFAccessor(gltf, reference);
|
|
42
|
+
const componentType = (0, import_gltf_utils.getComponentTypeFromArray)(value);
|
|
43
|
+
const components = accessor.type.startsWith("MAT") ? Number(accessor.type.slice(3)) ** 2 : accessor.type === "SCALAR" ? 1 : Number(accessor.type.slice(3));
|
|
44
|
+
(0, import_assert.assert)(value.length === accessor.count * components);
|
|
45
|
+
const columns = accessor.type.startsWith("MAT") ? Number(accessor.type.slice(3)) : 1;
|
|
46
|
+
const columnByteLength = columns * value.BYTES_PER_ELEMENT;
|
|
47
|
+
const columnByteStride = (0, import_loader_utils.padToNBytes)(columnByteLength, 4);
|
|
48
|
+
let storage = {
|
|
49
|
+
arrayBuffer: value.buffer,
|
|
50
|
+
byteOffset: value.byteOffset,
|
|
51
|
+
byteLength: value.byteLength
|
|
52
|
+
};
|
|
53
|
+
if (columns > 1 && columnByteStride !== columnByteLength) {
|
|
54
|
+
const bytes = new Uint8Array(accessor.count * columns * columnByteStride);
|
|
55
|
+
const source = new Uint8Array(value.buffer, value.byteOffset, value.byteLength);
|
|
56
|
+
for (let columnIndex = 0; columnIndex < accessor.count * columns; columnIndex++) {
|
|
57
|
+
bytes.set(
|
|
58
|
+
source.subarray(columnIndex * columnByteLength, (columnIndex + 1) * columnByteLength),
|
|
59
|
+
columnIndex * columnByteStride
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
storage = { arrayBuffer: bytes.buffer, byteOffset: 0, byteLength: bytes.byteLength };
|
|
63
|
+
}
|
|
64
|
+
const bufferIndex = Math.max(gltf.buffers.length, gltf.json.buffers?.length || 0);
|
|
65
|
+
gltf.json.buffers ||= [];
|
|
66
|
+
gltf.json.buffers[bufferIndex] = { byteLength: storage.byteLength };
|
|
67
|
+
gltf.buffers[bufferIndex] = storage;
|
|
68
|
+
gltf.json.bufferViews ||= [];
|
|
69
|
+
const bufferViews = gltf.json.bufferViews;
|
|
70
|
+
accessor.bufferView = bufferViews.length;
|
|
71
|
+
bufferViews.push({ buffer: bufferIndex, byteOffset: 0, byteLength: storage.byteLength });
|
|
72
|
+
accessor.byteOffset = 0;
|
|
73
|
+
accessor.componentType = componentType;
|
|
74
|
+
delete accessor.sparse;
|
|
75
|
+
delete accessor.value;
|
|
76
|
+
}
|
|
77
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
78
|
+
0 && (module.exports = {
|
|
79
|
+
getGLTFAccessor,
|
|
80
|
+
getGLTFAccessorValue,
|
|
81
|
+
setGLTFAccessorValue
|
|
82
|
+
});
|
|
83
|
+
//# sourceMappingURL=gltf-accessors.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/gltf/lib/api/gltf-accessors.ts"],
|
|
4
|
+
"sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {BigTypedArray} from '@loaders.gl/core/schema';\nimport type {GLTFWithBuffers, GLTFAccessor} from '../types/gltf-types';\nimport {getTypedArrayForAccessor} from '../gltf-utils/get-typed-array';\nimport {getComponentTypeFromArray} from '../gltf-utils/gltf-utils';\nimport {assert} from '../utils/assert';\nimport {padToNBytes} from '@loaders.gl/core/loader-utils';\n\n/** Indexed or inline accessor, including optional values supplied by mesh decoders. */\nexport type GLTFAccessorReference = number | (GLTFAccessor & {value?: BigTypedArray});\n\n/** Resolve an indexed or decoder-provided inline accessor without linking the scene graph. */\nexport function getGLTFAccessor(\n gltf: GLTFWithBuffers,\n reference: GLTFAccessorReference\n): GLTFAccessor {\n const accessor = typeof reference === 'number' ? gltf.json.accessors?.[reference] : reference;\n assert(accessor);\n return accessor!;\n}\n\n/**\n * Read packed accessor values without replacing JSON indices. Packed dense values borrow storage;\n * interleaved, unaligned, padded matrix and sparse values are materialized. Normalized integers\n * retain their stored values. Accessors without a buffer view start at zero; decoder values are\n * preserved. Sparse substitutions never modify input storage.\n */\nexport function getGLTFAccessorValue(\n gltf: GLTFWithBuffers,\n reference: GLTFAccessorReference\n): BigTypedArray {\n return getTypedArrayForAccessor(gltf.json, gltf.buffers, reference);\n}\n\n/**\n * Replace accessor storage with a packed value, preserving index references and other accessors.\n * Packed storage borrows the supplied array; padded matrix columns are copied. Sparse and decoder overrides are cleared so reads,\n * encoders and writers observe the replacement. Bounds metadata remains caller-owned.\n */\nexport function setGLTFAccessorValue(\n gltf: GLTFWithBuffers,\n reference: GLTFAccessorReference,\n value: BigTypedArray\n): void {\n const accessor = getGLTFAccessor(gltf, reference);\n const componentType = getComponentTypeFromArray(value);\n const components = accessor.type.startsWith('MAT')\n ? Number(accessor.type.slice(3)) ** 2\n : accessor.type === 'SCALAR'\n ? 1\n : Number(accessor.type.slice(3));\n assert(value.length === accessor.count * components);\n const columns = accessor.type.startsWith('MAT') ? Number(accessor.type.slice(3)) : 1;\n const columnByteLength = columns * value.BYTES_PER_ELEMENT;\n const columnByteStride = padToNBytes(columnByteLength, 4);\n let storage = {\n arrayBuffer: value.buffer as ArrayBuffer,\n byteOffset: value.byteOffset,\n byteLength: value.byteLength\n };\n if (columns > 1 && columnByteStride !== columnByteLength) {\n const bytes = new Uint8Array(accessor.count * columns * columnByteStride);\n const source = new Uint8Array(value.buffer, value.byteOffset, value.byteLength);\n for (let columnIndex = 0; columnIndex < accessor.count * columns; columnIndex++) {\n bytes.set(\n source.subarray(columnIndex * columnByteLength, (columnIndex + 1) * columnByteLength),\n columnIndex * columnByteStride\n );\n }\n storage = {arrayBuffer: bytes.buffer, byteOffset: 0, byteLength: bytes.byteLength};\n }\n const bufferIndex = Math.max(gltf.buffers.length, gltf.json.buffers?.length || 0);\n gltf.json.buffers ||= [];\n gltf.json.buffers[bufferIndex] = {byteLength: storage.byteLength};\n gltf.buffers[bufferIndex] = storage;\n gltf.json.bufferViews ||= [];\n const bufferViews = gltf.json.bufferViews;\n accessor.bufferView = bufferViews.length;\n bufferViews.push({buffer: bufferIndex, byteOffset: 0, byteLength: storage.byteLength});\n accessor.byteOffset = 0;\n accessor.componentType = componentType;\n delete accessor.sparse;\n delete (accessor as GLTFAccessor & {value?: BigTypedArray}).value;\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,6BAAuC;AACvC,wBAAwC;AACxC,oBAAqB;AACrB,0BAA0B;AAMnB,SAAS,gBACd,MACA,WACc;AACd,QAAM,WAAW,OAAO,cAAc,WAAW,KAAK,KAAK,YAAY,SAAS,IAAI;AACpF,4BAAO,QAAQ;AACf,SAAO;AACT;AAQO,SAAS,qBACd,MACA,WACe;AACf,aAAO,iDAAyB,KAAK,MAAM,KAAK,SAAS,SAAS;AACpE;AAOO,SAAS,qBACd,MACA,WACA,OACM;AACN,QAAM,WAAW,gBAAgB,MAAM,SAAS;AAChD,QAAM,oBAAgB,6CAA0B,KAAK;AACrD,QAAM,aAAa,SAAS,KAAK,WAAW,KAAK,IAC7C,OAAO,SAAS,KAAK,MAAM,CAAC,CAAC,KAAK,IAClC,SAAS,SAAS,WAChB,IACA,OAAO,SAAS,KAAK,MAAM,CAAC,CAAC;AACnC,4BAAO,MAAM,WAAW,SAAS,QAAQ,UAAU;AACnD,QAAM,UAAU,SAAS,KAAK,WAAW,KAAK,IAAI,OAAO,SAAS,KAAK,MAAM,CAAC,CAAC,IAAI;AACnF,QAAM,mBAAmB,UAAU,MAAM;AACzC,QAAM,uBAAmB,iCAAY,kBAAkB,CAAC;AACxD,MAAI,UAAU;AAAA,IACZ,aAAa,MAAM;AAAA,IACnB,YAAY,MAAM;AAAA,IAClB,YAAY,MAAM;AAAA,EACpB;AACA,MAAI,UAAU,KAAK,qBAAqB,kBAAkB;AACxD,UAAM,QAAQ,IAAI,WAAW,SAAS,QAAQ,UAAU,gBAAgB;AACxE,UAAM,SAAS,IAAI,WAAW,MAAM,QAAQ,MAAM,YAAY,MAAM,UAAU;AAC9E,aAAS,cAAc,GAAG,cAAc,SAAS,QAAQ,SAAS,eAAe;AAC/E,YAAM;AAAA,QACJ,OAAO,SAAS,cAAc,mBAAmB,cAAc,KAAK,gBAAgB;AAAA,QACpF,cAAc;AAAA,MAChB;AAAA,IACF;AACA,cAAU,EAAC,aAAa,MAAM,QAAQ,YAAY,GAAG,YAAY,MAAM,WAAU;AAAA,EACnF;AACA,QAAM,cAAc,KAAK,IAAI,KAAK,QAAQ,QAAQ,KAAK,KAAK,SAAS,UAAU,CAAC;AAChF,OAAK,KAAK,YAAY,CAAC;AACvB,OAAK,KAAK,QAAQ,WAAW,IAAI,EAAC,YAAY,QAAQ,WAAU;AAChE,OAAK,QAAQ,WAAW,IAAI;AAC5B,OAAK,KAAK,gBAAgB,CAAC;AAC3B,QAAM,cAAc,KAAK,KAAK;AAC9B,WAAS,aAAa,YAAY;AAClC,cAAY,KAAK,EAAC,QAAQ,aAAa,YAAY,GAAG,YAAY,QAAQ,WAAU,CAAC;AACrF,WAAS,aAAa;AACtB,WAAS,gBAAgB;AACzB,SAAO,SAAS;AAChB,SAAQ,SAAoD;AAC9D;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { BigTypedArray } from '@loaders.gl/core/schema';
|
|
2
|
+
import type { GLTFWithBuffers, GLTFAccessor } from "../types/gltf-types.js";
|
|
3
|
+
/** Indexed or inline accessor, including optional values supplied by mesh decoders. */
|
|
4
|
+
export type GLTFAccessorReference = number | (GLTFAccessor & {
|
|
5
|
+
value?: BigTypedArray;
|
|
6
|
+
});
|
|
7
|
+
/** Resolve an indexed or decoder-provided inline accessor without linking the scene graph. */
|
|
8
|
+
export declare function getGLTFAccessor(gltf: GLTFWithBuffers, reference: GLTFAccessorReference): GLTFAccessor;
|
|
9
|
+
/**
|
|
10
|
+
* Read packed accessor values without replacing JSON indices. Packed dense values borrow storage;
|
|
11
|
+
* interleaved, unaligned, padded matrix and sparse values are materialized. Normalized integers
|
|
12
|
+
* retain their stored values. Accessors without a buffer view start at zero; decoder values are
|
|
13
|
+
* preserved. Sparse substitutions never modify input storage.
|
|
14
|
+
*/
|
|
15
|
+
export declare function getGLTFAccessorValue(gltf: GLTFWithBuffers, reference: GLTFAccessorReference): BigTypedArray;
|
|
16
|
+
/**
|
|
17
|
+
* Replace accessor storage with a packed value, preserving index references and other accessors.
|
|
18
|
+
* Packed storage borrows the supplied array; padded matrix columns are copied. Sparse and decoder overrides are cleared so reads,
|
|
19
|
+
* encoders and writers observe the replacement. Bounds metadata remains caller-owned.
|
|
20
|
+
*/
|
|
21
|
+
export declare function setGLTFAccessorValue(gltf: GLTFWithBuffers, reference: GLTFAccessorReference, value: BigTypedArray): void;
|
|
22
|
+
//# sourceMappingURL=gltf-accessors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gltf-accessors.d.ts","sourceRoot":"","sources":["../../../../src/gltf/lib/api/gltf-accessors.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAC,eAAe,EAAE,YAAY,EAAC,+BAA4B;AAMvE,uFAAuF;AACvF,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,CAAC,YAAY,GAAG;IAAC,KAAK,CAAC,EAAE,aAAa,CAAA;CAAC,CAAC,CAAC;AAEtF,8FAA8F;AAC9F,wBAAgB,eAAe,CAC7B,IAAI,EAAE,eAAe,EACrB,SAAS,EAAE,qBAAqB,GAC/B,YAAY,CAId;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,eAAe,EACrB,SAAS,EAAE,qBAAqB,GAC/B,aAAa,CAEf;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,eAAe,EACrB,SAAS,EAAE,qBAAqB,EAChC,KAAK,EAAE,aAAa,GACnB,IAAI,CAwCN"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { getTypedArrayForAccessor } from "../gltf-utils/get-typed-array.js";
|
|
5
|
+
import { getComponentTypeFromArray } from "../gltf-utils/gltf-utils.js";
|
|
6
|
+
import { assert } from "../utils/assert.js";
|
|
7
|
+
import { padToNBytes } from '@loaders.gl/core/loader-utils';
|
|
8
|
+
/** Resolve an indexed or decoder-provided inline accessor without linking the scene graph. */
|
|
9
|
+
export function getGLTFAccessor(gltf, reference) {
|
|
10
|
+
const accessor = typeof reference === 'number' ? gltf.json.accessors?.[reference] : reference;
|
|
11
|
+
assert(accessor);
|
|
12
|
+
return accessor;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Read packed accessor values without replacing JSON indices. Packed dense values borrow storage;
|
|
16
|
+
* interleaved, unaligned, padded matrix and sparse values are materialized. Normalized integers
|
|
17
|
+
* retain their stored values. Accessors without a buffer view start at zero; decoder values are
|
|
18
|
+
* preserved. Sparse substitutions never modify input storage.
|
|
19
|
+
*/
|
|
20
|
+
export function getGLTFAccessorValue(gltf, reference) {
|
|
21
|
+
return getTypedArrayForAccessor(gltf.json, gltf.buffers, reference);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Replace accessor storage with a packed value, preserving index references and other accessors.
|
|
25
|
+
* Packed storage borrows the supplied array; padded matrix columns are copied. Sparse and decoder overrides are cleared so reads,
|
|
26
|
+
* encoders and writers observe the replacement. Bounds metadata remains caller-owned.
|
|
27
|
+
*/
|
|
28
|
+
export function setGLTFAccessorValue(gltf, reference, value) {
|
|
29
|
+
const accessor = getGLTFAccessor(gltf, reference);
|
|
30
|
+
const componentType = getComponentTypeFromArray(value);
|
|
31
|
+
const components = accessor.type.startsWith('MAT')
|
|
32
|
+
? Number(accessor.type.slice(3)) ** 2
|
|
33
|
+
: accessor.type === 'SCALAR'
|
|
34
|
+
? 1
|
|
35
|
+
: Number(accessor.type.slice(3));
|
|
36
|
+
assert(value.length === accessor.count * components);
|
|
37
|
+
const columns = accessor.type.startsWith('MAT') ? Number(accessor.type.slice(3)) : 1;
|
|
38
|
+
const columnByteLength = columns * value.BYTES_PER_ELEMENT;
|
|
39
|
+
const columnByteStride = padToNBytes(columnByteLength, 4);
|
|
40
|
+
let storage = {
|
|
41
|
+
arrayBuffer: value.buffer,
|
|
42
|
+
byteOffset: value.byteOffset,
|
|
43
|
+
byteLength: value.byteLength
|
|
44
|
+
};
|
|
45
|
+
if (columns > 1 && columnByteStride !== columnByteLength) {
|
|
46
|
+
const bytes = new Uint8Array(accessor.count * columns * columnByteStride);
|
|
47
|
+
const source = new Uint8Array(value.buffer, value.byteOffset, value.byteLength);
|
|
48
|
+
for (let columnIndex = 0; columnIndex < accessor.count * columns; columnIndex++) {
|
|
49
|
+
bytes.set(source.subarray(columnIndex * columnByteLength, (columnIndex + 1) * columnByteLength), columnIndex * columnByteStride);
|
|
50
|
+
}
|
|
51
|
+
storage = { arrayBuffer: bytes.buffer, byteOffset: 0, byteLength: bytes.byteLength };
|
|
52
|
+
}
|
|
53
|
+
const bufferIndex = Math.max(gltf.buffers.length, gltf.json.buffers?.length || 0);
|
|
54
|
+
gltf.json.buffers ||= [];
|
|
55
|
+
gltf.json.buffers[bufferIndex] = { byteLength: storage.byteLength };
|
|
56
|
+
gltf.buffers[bufferIndex] = storage;
|
|
57
|
+
gltf.json.bufferViews ||= [];
|
|
58
|
+
const bufferViews = gltf.json.bufferViews;
|
|
59
|
+
accessor.bufferView = bufferViews.length;
|
|
60
|
+
bufferViews.push({ buffer: bufferIndex, byteOffset: 0, byteLength: storage.byteLength });
|
|
61
|
+
accessor.byteOffset = 0;
|
|
62
|
+
accessor.componentType = componentType;
|
|
63
|
+
delete accessor.sparse;
|
|
64
|
+
delete accessor.value;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=gltf-accessors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gltf-accessors.js","sourceRoot":"","sources":["../../../../src/gltf/lib/api/gltf-accessors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
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/api/gltf-culling.ts
|
|
21
|
+
var gltf_culling_exports = {};
|
|
22
|
+
__export(gltf_culling_exports, {
|
|
23
|
+
getGLTFCullingShape: () => getGLTFCullingShape,
|
|
24
|
+
getGLTFNodeCullingShape: () => getGLTFNodeCullingShape
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(gltf_culling_exports);
|
|
27
|
+
var import_culling = require("@math.gl/geometry/culling");
|
|
28
|
+
var import_core = require("@math.gl/core");
|
|
29
|
+
function getGLTFCullingShape(gltf, shapeIndex, options = {}) {
|
|
30
|
+
const shape = gltf.json.shapes?.[shapeIndex];
|
|
31
|
+
if (!shape) throw new Error(`Invalid glTF shape reference: /shapes/${shapeIndex}`);
|
|
32
|
+
switch (shape.type) {
|
|
33
|
+
case "box":
|
|
34
|
+
return new import_culling.BoxShape({ size: shape.box?.size, matrix: options.matrix });
|
|
35
|
+
case "capsule":
|
|
36
|
+
return new import_culling.CapsuleShape({ ...shape.capsule, matrix: options.matrix });
|
|
37
|
+
case "cylinder":
|
|
38
|
+
return new import_culling.CylinderShape({ ...shape.cylinder, matrix: options.matrix });
|
|
39
|
+
case "plane":
|
|
40
|
+
return new import_culling.PlaneShape({ ...shape.plane, matrix: options.matrix });
|
|
41
|
+
case "sphere":
|
|
42
|
+
return new import_culling.SphereShape({ ...shape.sphere, matrix: options.matrix });
|
|
43
|
+
default:
|
|
44
|
+
return void 0;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
function getGLTFNodeCullingShape(gltf, nodeIndex, options = {}) {
|
|
48
|
+
const node = gltf.json.nodes?.[nodeIndex];
|
|
49
|
+
if (!node) throw new Error(`Invalid glTF node reference: /nodes/${nodeIndex}`);
|
|
50
|
+
const boundingVolume = node.boundingVolume;
|
|
51
|
+
if (!boundingVolume) return void 0;
|
|
52
|
+
const shape = getGLTFCullingShape(gltf, boundingVolume.shape, {
|
|
53
|
+
matrix: getBoundingVolumeMatrix(boundingVolume)
|
|
54
|
+
});
|
|
55
|
+
if (shape && options.matrix) shape.transform(options.matrix);
|
|
56
|
+
return shape;
|
|
57
|
+
}
|
|
58
|
+
function getBoundingVolumeMatrix(boundingVolume) {
|
|
59
|
+
if (boundingVolume.matrix) {
|
|
60
|
+
return boundingVolume.matrix;
|
|
61
|
+
}
|
|
62
|
+
if (!boundingVolume.translation && !boundingVolume.rotation && !boundingVolume.scale) {
|
|
63
|
+
return void 0;
|
|
64
|
+
}
|
|
65
|
+
const rotationMatrix = new import_core.Matrix4().fromQuaternion(boundingVolume.rotation || [0, 0, 0, 1]);
|
|
66
|
+
return new import_core.Matrix4().translate(boundingVolume.translation || [0, 0, 0]).multiplyRight(rotationMatrix).scale(boundingVolume.scale || [1, 1, 1]);
|
|
67
|
+
}
|
|
68
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
69
|
+
0 && (module.exports = {
|
|
70
|
+
getGLTFCullingShape,
|
|
71
|
+
getGLTFNodeCullingShape
|
|
72
|
+
});
|
|
73
|
+
//# sourceMappingURL=gltf-culling.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/gltf/lib/api/gltf-culling.ts"],
|
|
4
|
+
"sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {\n BoxShape,\n CapsuleShape,\n CylinderShape,\n PlaneShape,\n SphereShape\n} from '@math.gl/geometry/culling';\nimport type {ImplicitShape} from '@math.gl/geometry/culling';\nimport type {GLTFBoundingVolume, GLTFShape} from '../types/gltf-shape-schema';\nimport type {GLTFWithBuffers} from '../types/gltf-types';\nimport {Matrix4} from '@math.gl/core';\n\n/** Options for resolving a glTF 2.1 shape. */\nexport type GLTFCullingShapeOptions = {\n /** Optional transform applied after the shape's own local transform. */\n matrix?: readonly number[];\n};\n\n/** Resolve a draft glTF 2.1 shape into the corresponding math.gl analytic shape. */\nexport function getGLTFCullingShape(\n gltf: GLTFWithBuffers,\n shapeIndex: number,\n options: GLTFCullingShapeOptions = {}\n): ImplicitShape | undefined {\n const shape = gltf.json.shapes?.[shapeIndex] as GLTFShape | undefined;\n if (!shape) throw new Error(`Invalid glTF shape reference: /shapes/${shapeIndex}`);\n\n switch (shape.type) {\n case 'box':\n return new BoxShape({size: shape.box?.size, matrix: options.matrix});\n case 'capsule':\n return new CapsuleShape({...shape.capsule, matrix: options.matrix});\n case 'cylinder':\n return new CylinderShape({...shape.cylinder, matrix: options.matrix});\n case 'plane':\n return new PlaneShape({...shape.plane, matrix: options.matrix});\n case 'sphere':\n return new SphereShape({...shape.sphere, matrix: options.matrix});\n default:\n return undefined;\n }\n}\n\n/** Resolve a node's draft glTF 2.1 bounding volume, including its local matrix. */\nexport function getGLTFNodeCullingShape(\n gltf: GLTFWithBuffers,\n nodeIndex: number,\n options: GLTFCullingShapeOptions = {}\n): ImplicitShape | undefined {\n const node = gltf.json.nodes?.[nodeIndex];\n if (!node) throw new Error(`Invalid glTF node reference: /nodes/${nodeIndex}`);\n const boundingVolume = node.boundingVolume as GLTFBoundingVolume | undefined;\n if (!boundingVolume) return undefined;\n const shape = getGLTFCullingShape(gltf, boundingVolume.shape, {\n matrix: getBoundingVolumeMatrix(boundingVolume)\n });\n if (shape && options.matrix) shape.transform(options.matrix);\n return shape;\n}\n\n/** Compose a bounding-volume matrix from its matrix or TRS representation. */\nfunction getBoundingVolumeMatrix(\n boundingVolume: GLTFBoundingVolume\n): readonly number[] | undefined {\n if (boundingVolume.matrix) {\n return boundingVolume.matrix;\n }\n if (!boundingVolume.translation && !boundingVolume.rotation && !boundingVolume.scale) {\n return undefined;\n }\n const rotationMatrix = new Matrix4().fromQuaternion(boundingVolume.rotation || [0, 0, 0, 1]);\n return new Matrix4()\n .translate(boundingVolume.translation || [0, 0, 0])\n .multiplyRight(rotationMatrix)\n .scale(boundingVolume.scale || [1, 1, 1]);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,qBAMO;AAIP,kBAAsB;AASf,SAAS,oBACd,MACA,YACA,UAAmC,CAAC,GACT;AAC3B,QAAM,QAAQ,KAAK,KAAK,SAAS,UAAU;AAC3C,MAAI,CAAC,MAAO,OAAM,IAAI,MAAM,yCAAyC,UAAU,EAAE;AAEjF,UAAQ,MAAM,MAAM;AAAA,IAClB,KAAK;AACH,aAAO,IAAI,wBAAS,EAAC,MAAM,MAAM,KAAK,MAAM,QAAQ,QAAQ,OAAM,CAAC;AAAA,IACrE,KAAK;AACH,aAAO,IAAI,4BAAa,EAAC,GAAG,MAAM,SAAS,QAAQ,QAAQ,OAAM,CAAC;AAAA,IACpE,KAAK;AACH,aAAO,IAAI,6BAAc,EAAC,GAAG,MAAM,UAAU,QAAQ,QAAQ,OAAM,CAAC;AAAA,IACtE,KAAK;AACH,aAAO,IAAI,0BAAW,EAAC,GAAG,MAAM,OAAO,QAAQ,QAAQ,OAAM,CAAC;AAAA,IAChE,KAAK;AACH,aAAO,IAAI,2BAAY,EAAC,GAAG,MAAM,QAAQ,QAAQ,QAAQ,OAAM,CAAC;AAAA,IAClE;AACE,aAAO;AAAA,EACX;AACF;AAGO,SAAS,wBACd,MACA,WACA,UAAmC,CAAC,GACT;AAC3B,QAAM,OAAO,KAAK,KAAK,QAAQ,SAAS;AACxC,MAAI,CAAC,KAAM,OAAM,IAAI,MAAM,uCAAuC,SAAS,EAAE;AAC7E,QAAM,iBAAiB,KAAK;AAC5B,MAAI,CAAC,eAAgB,QAAO;AAC5B,QAAM,QAAQ,oBAAoB,MAAM,eAAe,OAAO;AAAA,IAC5D,QAAQ,wBAAwB,cAAc;AAAA,EAChD,CAAC;AACD,MAAI,SAAS,QAAQ,OAAQ,OAAM,UAAU,QAAQ,MAAM;AAC3D,SAAO;AACT;AAGA,SAAS,wBACP,gBAC+B;AAC/B,MAAI,eAAe,QAAQ;AACzB,WAAO,eAAe;AAAA,EACxB;AACA,MAAI,CAAC,eAAe,eAAe,CAAC,eAAe,YAAY,CAAC,eAAe,OAAO;AACpF,WAAO;AAAA,EACT;AACA,QAAM,iBAAiB,IAAI,oBAAQ,EAAE,eAAe,eAAe,YAAY,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;AAC3F,SAAO,IAAI,oBAAQ,EAChB,UAAU,eAAe,eAAe,CAAC,GAAG,GAAG,CAAC,CAAC,EACjD,cAAc,cAAc,EAC5B,MAAM,eAAe,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC;AAC5C;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ImplicitShape } from '@math.gl/geometry/culling';
|
|
2
|
+
import type { GLTFWithBuffers } from "../types/gltf-types.js";
|
|
3
|
+
/** Options for resolving a glTF 2.1 shape. */
|
|
4
|
+
export type GLTFCullingShapeOptions = {
|
|
5
|
+
/** Optional transform applied after the shape's own local transform. */
|
|
6
|
+
matrix?: readonly number[];
|
|
7
|
+
};
|
|
8
|
+
/** Resolve a draft glTF 2.1 shape into the corresponding math.gl analytic shape. */
|
|
9
|
+
export declare function getGLTFCullingShape(gltf: GLTFWithBuffers, shapeIndex: number, options?: GLTFCullingShapeOptions): ImplicitShape | undefined;
|
|
10
|
+
/** Resolve a node's draft glTF 2.1 bounding volume, including its local matrix. */
|
|
11
|
+
export declare function getGLTFNodeCullingShape(gltf: GLTFWithBuffers, nodeIndex: number, options?: GLTFCullingShapeOptions): ImplicitShape | undefined;
|
|
12
|
+
//# sourceMappingURL=gltf-culling.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gltf-culling.d.ts","sourceRoot":"","sources":["../../../../src/gltf/lib/api/gltf-culling.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AAE7D,OAAO,KAAK,EAAC,eAAe,EAAC,+BAA4B;AAGzD,8CAA8C;AAC9C,MAAM,MAAM,uBAAuB,GAAG;IACpC,wEAAwE;IACxE,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF,oFAAoF;AACpF,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,eAAe,EACrB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,uBAA4B,GACpC,aAAa,GAAG,SAAS,CAkB3B;AAED,mFAAmF;AACnF,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,eAAe,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,uBAA4B,GACpC,aAAa,GAAG,SAAS,CAU3B"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { BoxShape, CapsuleShape, CylinderShape, PlaneShape, SphereShape } from '@math.gl/geometry/culling';
|
|
5
|
+
import { Matrix4 } from '@math.gl/core';
|
|
6
|
+
/** Resolve a draft glTF 2.1 shape into the corresponding math.gl analytic shape. */
|
|
7
|
+
export function getGLTFCullingShape(gltf, shapeIndex, options = {}) {
|
|
8
|
+
const shape = gltf.json.shapes?.[shapeIndex];
|
|
9
|
+
if (!shape)
|
|
10
|
+
throw new Error(`Invalid glTF shape reference: /shapes/${shapeIndex}`);
|
|
11
|
+
switch (shape.type) {
|
|
12
|
+
case 'box':
|
|
13
|
+
return new BoxShape({ size: shape.box?.size, matrix: options.matrix });
|
|
14
|
+
case 'capsule':
|
|
15
|
+
return new CapsuleShape({ ...shape.capsule, matrix: options.matrix });
|
|
16
|
+
case 'cylinder':
|
|
17
|
+
return new CylinderShape({ ...shape.cylinder, matrix: options.matrix });
|
|
18
|
+
case 'plane':
|
|
19
|
+
return new PlaneShape({ ...shape.plane, matrix: options.matrix });
|
|
20
|
+
case 'sphere':
|
|
21
|
+
return new SphereShape({ ...shape.sphere, matrix: options.matrix });
|
|
22
|
+
default:
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/** Resolve a node's draft glTF 2.1 bounding volume, including its local matrix. */
|
|
27
|
+
export function getGLTFNodeCullingShape(gltf, nodeIndex, options = {}) {
|
|
28
|
+
const node = gltf.json.nodes?.[nodeIndex];
|
|
29
|
+
if (!node)
|
|
30
|
+
throw new Error(`Invalid glTF node reference: /nodes/${nodeIndex}`);
|
|
31
|
+
const boundingVolume = node.boundingVolume;
|
|
32
|
+
if (!boundingVolume)
|
|
33
|
+
return undefined;
|
|
34
|
+
const shape = getGLTFCullingShape(gltf, boundingVolume.shape, {
|
|
35
|
+
matrix: getBoundingVolumeMatrix(boundingVolume)
|
|
36
|
+
});
|
|
37
|
+
if (shape && options.matrix)
|
|
38
|
+
shape.transform(options.matrix);
|
|
39
|
+
return shape;
|
|
40
|
+
}
|
|
41
|
+
/** Compose a bounding-volume matrix from its matrix or TRS representation. */
|
|
42
|
+
function getBoundingVolumeMatrix(boundingVolume) {
|
|
43
|
+
if (boundingVolume.matrix) {
|
|
44
|
+
return boundingVolume.matrix;
|
|
45
|
+
}
|
|
46
|
+
if (!boundingVolume.translation && !boundingVolume.rotation && !boundingVolume.scale) {
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
const rotationMatrix = new Matrix4().fromQuaternion(boundingVolume.rotation || [0, 0, 0, 1]);
|
|
50
|
+
return new Matrix4()
|
|
51
|
+
.translate(boundingVolume.translation || [0, 0, 0])
|
|
52
|
+
.multiplyRight(rotationMatrix)
|
|
53
|
+
.scale(boundingVolume.scale || [1, 1, 1]);
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=gltf-culling.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gltf-culling.js","sourceRoot":"","sources":["../../../../src/gltf/lib/api/gltf-culling.ts"],"names":[],"mappings":"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"}
|