@babylonjs/loaders 9.13.0 → 9.15.0
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/BVH/bvhFileLoader.d.ts +4 -67
- package/BVH/bvhFileLoader.js +6 -130
- package/BVH/bvhFileLoader.js.map +1 -1
- package/BVH/bvhFileLoader.pure.d.ts +75 -0
- package/BVH/bvhFileLoader.pure.js +154 -0
- package/BVH/bvhFileLoader.pure.js.map +1 -0
- package/BVH/bvhFileLoader.types.d.ts +11 -0
- package/BVH/bvhFileLoader.types.js +2 -0
- package/BVH/bvhFileLoader.types.js.map +1 -0
- package/BVH/pure.d.ts +3 -0
- package/BVH/pure.js +5 -0
- package/BVH/pure.js.map +1 -0
- package/FBX/fbxFileLoader.d.ts +4 -192
- package/FBX/fbxFileLoader.js +6 -2437
- package/FBX/fbxFileLoader.js.map +1 -1
- package/FBX/fbxFileLoader.pure.d.ts +190 -0
- package/FBX/fbxFileLoader.pure.js +2451 -0
- package/FBX/fbxFileLoader.pure.js.map +1 -0
- package/FBX/fbxFileLoader.types.d.ts +11 -0
- package/FBX/fbxFileLoader.types.js +2 -0
- package/FBX/fbxFileLoader.types.js.map +1 -0
- package/FBX/pure.d.ts +3 -0
- package/FBX/pure.js +4 -0
- package/FBX/pure.js.map +1 -0
- package/OBJ/objFileLoader.d.ts +4 -134
- package/OBJ/objFileLoader.js +6 -315
- package/OBJ/objFileLoader.js.map +1 -1
- package/OBJ/objFileLoader.pure.d.ts +132 -0
- package/OBJ/objFileLoader.pure.js +329 -0
- package/OBJ/objFileLoader.pure.js.map +1 -0
- package/OBJ/objFileLoader.types.d.ts +11 -0
- package/OBJ/objFileLoader.types.js +2 -0
- package/OBJ/objFileLoader.types.js.map +1 -0
- package/OBJ/pure.d.ts +5 -0
- package/OBJ/pure.js +6 -0
- package/OBJ/pure.js.map +1 -0
- package/OBJ/solidParser.js +4 -3
- package/OBJ/solidParser.js.map +1 -1
- package/SPLAT/gaussianSplattingBlockAllocator.d.ts +137 -0
- package/SPLAT/gaussianSplattingBlockAllocator.js +555 -0
- package/SPLAT/gaussianSplattingBlockAllocator.js.map +1 -0
- package/SPLAT/gaussianSplattingDownloadManager.d.ts +109 -0
- package/SPLAT/gaussianSplattingDownloadManager.js +241 -0
- package/SPLAT/gaussianSplattingDownloadManager.js.map +1 -0
- package/SPLAT/gaussianSplattingResidencyController.d.ts +133 -0
- package/SPLAT/gaussianSplattingResidencyController.js +222 -0
- package/SPLAT/gaussianSplattingResidencyController.js.map +1 -0
- package/SPLAT/gaussianSplattingStream.d.ts +122 -4
- package/SPLAT/gaussianSplattingStream.js +413 -42
- package/SPLAT/gaussianSplattingStream.js.map +1 -1
- package/SPLAT/gaussianSplattingWorkBuffer.d.ts +36 -0
- package/SPLAT/gaussianSplattingWorkBuffer.js +125 -13
- package/SPLAT/gaussianSplattingWorkBuffer.js.map +1 -1
- package/SPLAT/gaussianSplattingWorkBufferShaders.d.ts +15 -0
- package/SPLAT/gaussianSplattingWorkBufferShaders.js +82 -0
- package/SPLAT/gaussianSplattingWorkBufferShaders.js.map +1 -1
- package/SPLAT/pure.d.ts +5 -0
- package/SPLAT/pure.js +7 -0
- package/SPLAT/pure.js.map +1 -0
- package/SPLAT/sog.d.ts +1 -97
- package/SPLAT/sog.js +1 -501
- package/SPLAT/sog.js.map +1 -1
- package/SPLAT/sog.pure.d.ts +102 -0
- package/SPLAT/sog.pure.js +514 -0
- package/SPLAT/sog.pure.js.map +1 -0
- package/SPLAT/splatFileLoader.d.ts +5 -106
- package/SPLAT/splatFileLoader.js +9 -636
- package/SPLAT/splatFileLoader.js.map +1 -1
- package/SPLAT/splatFileLoader.pure.d.ts +104 -0
- package/SPLAT/splatFileLoader.pure.js +650 -0
- package/SPLAT/splatFileLoader.pure.js.map +1 -0
- package/SPLAT/splatFileLoader.types.d.ts +11 -0
- package/SPLAT/splatFileLoader.types.js +2 -0
- package/SPLAT/splatFileLoader.types.js.map +1 -0
- package/STL/pure.d.ts +2 -0
- package/STL/pure.js +3 -0
- package/STL/pure.js.map +1 -0
- package/STL/stlFileLoader.d.ts +5 -76
- package/STL/stlFileLoader.js +7 -236
- package/STL/stlFileLoader.js.map +1 -1
- package/STL/stlFileLoader.pure.d.ts +73 -0
- package/STL/stlFileLoader.pure.js +249 -0
- package/STL/stlFileLoader.pure.js.map +1 -0
- package/STL/stlFileLoader.types.d.ts +10 -0
- package/STL/stlFileLoader.types.js +2 -0
- package/STL/stlFileLoader.types.js.map +1 -0
- package/glTF/1.0/pure.d.ts +3 -0
- package/glTF/1.0/pure.js +4 -0
- package/glTF/1.0/pure.js.map +1 -0
- package/glTF/2.0/Extensions/EXT_lights_area.d.ts +4 -39
- package/glTF/2.0/Extensions/EXT_lights_area.js +6 -91
- package/glTF/2.0/Extensions/EXT_lights_area.js.map +1 -1
- package/glTF/2.0/Extensions/EXT_lights_area.pure.d.ts +38 -0
- package/glTF/2.0/Extensions/EXT_lights_area.pure.js +106 -0
- package/glTF/2.0/Extensions/EXT_lights_area.pure.js.map +1 -0
- package/glTF/2.0/Extensions/EXT_lights_area.types.d.ts +9 -0
- package/glTF/2.0/Extensions/EXT_lights_area.types.js +2 -0
- package/glTF/2.0/Extensions/EXT_lights_area.types.js.map +1 -0
- package/glTF/2.0/Extensions/EXT_lights_ies.d.ts +4 -39
- package/glTF/2.0/Extensions/EXT_lights_ies.js +6 -81
- package/glTF/2.0/Extensions/EXT_lights_ies.js.map +1 -1
- package/glTF/2.0/Extensions/EXT_lights_ies.pure.d.ts +38 -0
- package/glTF/2.0/Extensions/EXT_lights_ies.pure.js +96 -0
- package/glTF/2.0/Extensions/EXT_lights_ies.pure.js.map +1 -0
- package/glTF/2.0/Extensions/EXT_lights_ies.types.d.ts +9 -0
- package/glTF/2.0/Extensions/EXT_lights_ies.types.js +2 -0
- package/glTF/2.0/Extensions/EXT_lights_ies.types.js.map +1 -0
- package/glTF/2.0/Extensions/EXT_lights_image_based.d.ts +4 -46
- package/glTF/2.0/Extensions/EXT_lights_image_based.js +6 -113
- package/glTF/2.0/Extensions/EXT_lights_image_based.js.map +1 -1
- package/glTF/2.0/Extensions/EXT_lights_image_based.pure.d.ts +37 -0
- package/glTF/2.0/Extensions/EXT_lights_image_based.pure.js +128 -0
- package/glTF/2.0/Extensions/EXT_lights_image_based.pure.js.map +1 -0
- package/glTF/2.0/Extensions/EXT_lights_image_based.types.d.ts +17 -0
- package/glTF/2.0/Extensions/EXT_lights_image_based.types.js +2 -0
- package/glTF/2.0/Extensions/EXT_lights_image_based.types.js.map +1 -0
- package/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.d.ts +5 -37
- package/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.js +7 -92
- package/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.js.map +1 -1
- package/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.pure.d.ts +35 -0
- package/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.pure.js +106 -0
- package/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.pure.js.map +1 -0
- package/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.types.d.ts +9 -0
- package/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.types.js +2 -0
- package/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.types.js.map +1 -0
- package/glTF/2.0/Extensions/EXT_meshopt_compression.d.ts +4 -37
- package/glTF/2.0/Extensions/EXT_meshopt_compression.js +6 -48
- package/glTF/2.0/Extensions/EXT_meshopt_compression.js.map +1 -1
- package/glTF/2.0/Extensions/EXT_meshopt_compression.pure.d.ts +36 -0
- package/glTF/2.0/Extensions/EXT_meshopt_compression.pure.js +63 -0
- package/glTF/2.0/Extensions/EXT_meshopt_compression.pure.js.map +1 -0
- package/glTF/2.0/Extensions/EXT_meshopt_compression.types.d.ts +9 -0
- package/glTF/2.0/Extensions/EXT_meshopt_compression.types.js +2 -0
- package/glTF/2.0/Extensions/EXT_meshopt_compression.types.js.map +1 -0
- package/glTF/2.0/Extensions/EXT_texture_avif.d.ts +4 -32
- package/glTF/2.0/Extensions/EXT_texture_avif.js +6 -36
- package/glTF/2.0/Extensions/EXT_texture_avif.js.map +1 -1
- package/glTF/2.0/Extensions/EXT_texture_avif.pure.d.ts +31 -0
- package/glTF/2.0/Extensions/EXT_texture_avif.pure.js +51 -0
- package/glTF/2.0/Extensions/EXT_texture_avif.pure.js.map +1 -0
- package/glTF/2.0/Extensions/EXT_texture_avif.types.d.ts +9 -0
- package/glTF/2.0/Extensions/EXT_texture_avif.types.js +2 -0
- package/glTF/2.0/Extensions/EXT_texture_avif.types.js.map +1 -0
- package/glTF/2.0/Extensions/EXT_texture_webp.d.ts +4 -31
- package/glTF/2.0/Extensions/EXT_texture_webp.js +6 -35
- package/glTF/2.0/Extensions/EXT_texture_webp.js.map +1 -1
- package/glTF/2.0/Extensions/EXT_texture_webp.pure.d.ts +30 -0
- package/glTF/2.0/Extensions/EXT_texture_webp.pure.js +50 -0
- package/glTF/2.0/Extensions/EXT_texture_webp.pure.js.map +1 -0
- package/glTF/2.0/Extensions/EXT_texture_webp.types.d.ts +9 -0
- package/glTF/2.0/Extensions/EXT_texture_webp.types.js +2 -0
- package/glTF/2.0/Extensions/EXT_texture_webp.types.js.map +1 -0
- package/glTF/2.0/Extensions/ExtrasAsMetadata.d.ts +4 -51
- package/glTF/2.0/Extensions/ExtrasAsMetadata.js +6 -71
- package/glTF/2.0/Extensions/ExtrasAsMetadata.js.map +1 -1
- package/glTF/2.0/Extensions/ExtrasAsMetadata.pure.d.ts +50 -0
- package/glTF/2.0/Extensions/ExtrasAsMetadata.pure.js +85 -0
- package/glTF/2.0/Extensions/ExtrasAsMetadata.pure.js.map +1 -0
- package/glTF/2.0/Extensions/ExtrasAsMetadata.types.d.ts +9 -0
- package/glTF/2.0/Extensions/ExtrasAsMetadata.types.js +2 -0
- package/glTF/2.0/Extensions/ExtrasAsMetadata.types.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_animation_pointer.d.ts +5 -45
- package/glTF/2.0/Extensions/KHR_animation_pointer.js +7 -75
- package/glTF/2.0/Extensions/KHR_animation_pointer.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_animation_pointer.pure.d.ts +43 -0
- package/glTF/2.0/Extensions/KHR_animation_pointer.pure.js +89 -0
- package/glTF/2.0/Extensions/KHR_animation_pointer.pure.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_animation_pointer.types.d.ts +9 -0
- package/glTF/2.0/Extensions/KHR_animation_pointer.types.js +2 -0
- package/glTF/2.0/Extensions/KHR_animation_pointer.types.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_draco_mesh_compression.d.ts +4 -45
- package/glTF/2.0/Extensions/KHR_draco_mesh_compression.js +6 -90
- package/glTF/2.0/Extensions/KHR_draco_mesh_compression.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_draco_mesh_compression.pure.d.ts +44 -0
- package/glTF/2.0/Extensions/KHR_draco_mesh_compression.pure.js +105 -0
- package/glTF/2.0/Extensions/KHR_draco_mesh_compression.pure.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_draco_mesh_compression.types.d.ts +9 -0
- package/glTF/2.0/Extensions/KHR_draco_mesh_compression.types.js +2 -0
- package/glTF/2.0/Extensions/KHR_draco_mesh_compression.types.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_interactivity/pure.d.ts +4 -0
- package/glTF/2.0/Extensions/KHR_interactivity/pure.js +5 -0
- package/glTF/2.0/Extensions/KHR_interactivity/pure.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_interactivity.d.ts +4 -36
- package/glTF/2.0/Extensions/KHR_interactivity.js +6 -148
- package/glTF/2.0/Extensions/KHR_interactivity.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_interactivity.pure.d.ts +35 -0
- package/glTF/2.0/Extensions/KHR_interactivity.pure.js +163 -0
- package/glTF/2.0/Extensions/KHR_interactivity.pure.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_interactivity.types.d.ts +9 -0
- package/glTF/2.0/Extensions/KHR_interactivity.types.js +2 -0
- package/glTF/2.0/Extensions/KHR_interactivity.types.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_lights_punctual.d.ts +4 -39
- package/glTF/2.0/Extensions/KHR_lights_punctual.js +6 -89
- package/glTF/2.0/Extensions/KHR_lights_punctual.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_lights_punctual.pure.d.ts +38 -0
- package/glTF/2.0/Extensions/KHR_lights_punctual.pure.js +104 -0
- package/glTF/2.0/Extensions/KHR_lights_punctual.pure.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_lights_punctual.types.d.ts +9 -0
- package/glTF/2.0/Extensions/KHR_lights_punctual.types.js +2 -0
- package/glTF/2.0/Extensions/KHR_lights_punctual.types.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_anisotropy.d.ts +4 -40
- package/glTF/2.0/Extensions/KHR_materials_anisotropy.js +6 -63
- package/glTF/2.0/Extensions/KHR_materials_anisotropy.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_materials_anisotropy.pure.d.ts +39 -0
- package/glTF/2.0/Extensions/KHR_materials_anisotropy.pure.js +78 -0
- package/glTF/2.0/Extensions/KHR_materials_anisotropy.pure.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_anisotropy.types.d.ts +9 -0
- package/glTF/2.0/Extensions/KHR_materials_anisotropy.types.js +2 -0
- package/glTF/2.0/Extensions/KHR_materials_anisotropy.types.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_clearcoat.d.ts +4 -41
- package/glTF/2.0/Extensions/KHR_materials_clearcoat.js +6 -77
- package/glTF/2.0/Extensions/KHR_materials_clearcoat.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_materials_clearcoat.pure.d.ts +40 -0
- package/glTF/2.0/Extensions/KHR_materials_clearcoat.pure.js +92 -0
- package/glTF/2.0/Extensions/KHR_materials_clearcoat.pure.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_clearcoat.types.d.ts +9 -0
- package/glTF/2.0/Extensions/KHR_materials_clearcoat.types.js +2 -0
- package/glTF/2.0/Extensions/KHR_materials_clearcoat.types.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_coat.d.ts +4 -47
- package/glTF/2.0/Extensions/KHR_materials_coat.js +6 -117
- package/glTF/2.0/Extensions/KHR_materials_coat.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_materials_coat.pure.d.ts +46 -0
- package/glTF/2.0/Extensions/KHR_materials_coat.pure.js +132 -0
- package/glTF/2.0/Extensions/KHR_materials_coat.pure.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_coat.types.d.ts +9 -0
- package/glTF/2.0/Extensions/KHR_materials_coat.types.js +2 -0
- package/glTF/2.0/Extensions/KHR_materials_coat.types.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_diffuse_roughness.d.ts +4 -41
- package/glTF/2.0/Extensions/KHR_materials_diffuse_roughness.js +6 -56
- package/glTF/2.0/Extensions/KHR_materials_diffuse_roughness.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_materials_diffuse_roughness.pure.d.ts +40 -0
- package/glTF/2.0/Extensions/KHR_materials_diffuse_roughness.pure.js +71 -0
- package/glTF/2.0/Extensions/KHR_materials_diffuse_roughness.pure.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_diffuse_roughness.types.d.ts +9 -0
- package/glTF/2.0/Extensions/KHR_materials_diffuse_roughness.types.js +2 -0
- package/glTF/2.0/Extensions/KHR_materials_diffuse_roughness.types.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_diffuse_transmission.d.ts +4 -41
- package/glTF/2.0/Extensions/KHR_materials_diffuse_transmission.js +6 -71
- package/glTF/2.0/Extensions/KHR_materials_diffuse_transmission.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_materials_diffuse_transmission.pure.d.ts +40 -0
- package/glTF/2.0/Extensions/KHR_materials_diffuse_transmission.pure.js +86 -0
- package/glTF/2.0/Extensions/KHR_materials_diffuse_transmission.pure.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_diffuse_transmission.types.d.ts +9 -0
- package/glTF/2.0/Extensions/KHR_materials_diffuse_transmission.types.js +2 -0
- package/glTF/2.0/Extensions/KHR_materials_diffuse_transmission.types.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_dispersion.d.ts +4 -41
- package/glTF/2.0/Extensions/KHR_materials_dispersion.js +6 -54
- package/glTF/2.0/Extensions/KHR_materials_dispersion.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_materials_dispersion.pure.d.ts +40 -0
- package/glTF/2.0/Extensions/KHR_materials_dispersion.pure.js +69 -0
- package/glTF/2.0/Extensions/KHR_materials_dispersion.pure.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_dispersion.types.d.ts +9 -0
- package/glTF/2.0/Extensions/KHR_materials_dispersion.types.js +2 -0
- package/glTF/2.0/Extensions/KHR_materials_dispersion.types.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_emissive_strength.d.ts +4 -40
- package/glTF/2.0/Extensions/KHR_materials_emissive_strength.js +6 -45
- package/glTF/2.0/Extensions/KHR_materials_emissive_strength.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_materials_emissive_strength.pure.d.ts +39 -0
- package/glTF/2.0/Extensions/KHR_materials_emissive_strength.pure.js +60 -0
- package/glTF/2.0/Extensions/KHR_materials_emissive_strength.pure.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_emissive_strength.types.d.ts +9 -0
- package/glTF/2.0/Extensions/KHR_materials_emissive_strength.types.js +2 -0
- package/glTF/2.0/Extensions/KHR_materials_emissive_strength.types.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_fuzz.d.ts +4 -41
- package/glTF/2.0/Extensions/KHR_materials_fuzz.js +6 -75
- package/glTF/2.0/Extensions/KHR_materials_fuzz.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_materials_fuzz.pure.d.ts +40 -0
- package/glTF/2.0/Extensions/KHR_materials_fuzz.pure.js +90 -0
- package/glTF/2.0/Extensions/KHR_materials_fuzz.pure.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_fuzz.types.d.ts +9 -0
- package/glTF/2.0/Extensions/KHR_materials_fuzz.types.js +2 -0
- package/glTF/2.0/Extensions/KHR_materials_fuzz.types.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_ior.d.ts +4 -44
- package/glTF/2.0/Extensions/KHR_materials_ior.js +6 -52
- package/glTF/2.0/Extensions/KHR_materials_ior.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_materials_ior.pure.d.ts +43 -0
- package/glTF/2.0/Extensions/KHR_materials_ior.pure.js +67 -0
- package/glTF/2.0/Extensions/KHR_materials_ior.pure.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_ior.types.d.ts +9 -0
- package/glTF/2.0/Extensions/KHR_materials_ior.types.js +2 -0
- package/glTF/2.0/Extensions/KHR_materials_ior.types.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_iridescence.d.ts +4 -40
- package/glTF/2.0/Extensions/KHR_materials_iridescence.js +6 -66
- package/glTF/2.0/Extensions/KHR_materials_iridescence.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_materials_iridescence.pure.d.ts +39 -0
- package/glTF/2.0/Extensions/KHR_materials_iridescence.pure.js +81 -0
- package/glTF/2.0/Extensions/KHR_materials_iridescence.pure.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_iridescence.types.d.ts +9 -0
- package/glTF/2.0/Extensions/KHR_materials_iridescence.types.js +2 -0
- package/glTF/2.0/Extensions/KHR_materials_iridescence.types.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.d.ts +4 -40
- package/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.js +6 -72
- package/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.pure.d.ts +39 -0
- package/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.pure.js +87 -0
- package/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.pure.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.types.d.ts +9 -0
- package/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.types.js +2 -0
- package/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.types.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_sheen.d.ts +4 -41
- package/glTF/2.0/Extensions/KHR_materials_sheen.js +6 -71
- package/glTF/2.0/Extensions/KHR_materials_sheen.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_materials_sheen.pure.d.ts +40 -0
- package/glTF/2.0/Extensions/KHR_materials_sheen.pure.js +86 -0
- package/glTF/2.0/Extensions/KHR_materials_sheen.pure.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_sheen.types.d.ts +9 -0
- package/glTF/2.0/Extensions/KHR_materials_sheen.types.js +2 -0
- package/glTF/2.0/Extensions/KHR_materials_sheen.types.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_specular.d.ts +4 -40
- package/glTF/2.0/Extensions/KHR_materials_specular.js +6 -74
- package/glTF/2.0/Extensions/KHR_materials_specular.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_materials_specular.pure.d.ts +39 -0
- package/glTF/2.0/Extensions/KHR_materials_specular.pure.js +89 -0
- package/glTF/2.0/Extensions/KHR_materials_specular.pure.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_specular.types.d.ts +9 -0
- package/glTF/2.0/Extensions/KHR_materials_specular.types.js +2 -0
- package/glTF/2.0/Extensions/KHR_materials_specular.types.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_transmission.d.ts +4 -40
- package/glTF/2.0/Extensions/KHR_materials_transmission.js +6 -70
- package/glTF/2.0/Extensions/KHR_materials_transmission.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_materials_transmission.pure.d.ts +39 -0
- package/glTF/2.0/Extensions/KHR_materials_transmission.pure.js +85 -0
- package/glTF/2.0/Extensions/KHR_materials_transmission.pure.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_transmission.types.d.ts +9 -0
- package/glTF/2.0/Extensions/KHR_materials_transmission.types.js +2 -0
- package/glTF/2.0/Extensions/KHR_materials_transmission.types.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_unlit.d.ts +4 -40
- package/glTF/2.0/Extensions/KHR_materials_unlit.js +6 -64
- package/glTF/2.0/Extensions/KHR_materials_unlit.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_materials_unlit.pure.d.ts +39 -0
- package/glTF/2.0/Extensions/KHR_materials_unlit.pure.js +79 -0
- package/glTF/2.0/Extensions/KHR_materials_unlit.pure.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_unlit.types.d.ts +9 -0
- package/glTF/2.0/Extensions/KHR_materials_unlit.types.js +2 -0
- package/glTF/2.0/Extensions/KHR_materials_unlit.types.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_variants.d.ts +4 -110
- package/glTF/2.0/Extensions/KHR_materials_variants.js +6 -260
- package/glTF/2.0/Extensions/KHR_materials_variants.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_materials_variants.pure.d.ts +97 -0
- package/glTF/2.0/Extensions/KHR_materials_variants.pure.js +275 -0
- package/glTF/2.0/Extensions/KHR_materials_variants.pure.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_variants.types.d.ts +29 -0
- package/glTF/2.0/Extensions/KHR_materials_variants.types.js +2 -0
- package/glTF/2.0/Extensions/KHR_materials_variants.types.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_volume.d.ts +4 -41
- package/glTF/2.0/Extensions/KHR_materials_volume.js +6 -77
- package/glTF/2.0/Extensions/KHR_materials_volume.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_materials_volume.pure.d.ts +40 -0
- package/glTF/2.0/Extensions/KHR_materials_volume.pure.js +92 -0
- package/glTF/2.0/Extensions/KHR_materials_volume.pure.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_volume.types.d.ts +9 -0
- package/glTF/2.0/Extensions/KHR_materials_volume.types.js +2 -0
- package/glTF/2.0/Extensions/KHR_materials_volume.types.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_volume_scatter.d.ts +4 -43
- package/glTF/2.0/Extensions/KHR_materials_volume_scatter.js +6 -113
- package/glTF/2.0/Extensions/KHR_materials_volume_scatter.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_materials_volume_scatter.pure.d.ts +42 -0
- package/glTF/2.0/Extensions/KHR_materials_volume_scatter.pure.js +128 -0
- package/glTF/2.0/Extensions/KHR_materials_volume_scatter.pure.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_materials_volume_scatter.types.d.ts +9 -0
- package/glTF/2.0/Extensions/KHR_materials_volume_scatter.types.js +2 -0
- package/glTF/2.0/Extensions/KHR_materials_volume_scatter.types.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_mesh_quantization.d.ts +4 -27
- package/glTF/2.0/Extensions/KHR_mesh_quantization.js +6 -20
- package/glTF/2.0/Extensions/KHR_mesh_quantization.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_mesh_quantization.pure.d.ts +26 -0
- package/glTF/2.0/Extensions/KHR_mesh_quantization.pure.js +35 -0
- package/glTF/2.0/Extensions/KHR_mesh_quantization.pure.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_mesh_quantization.types.d.ts +9 -0
- package/glTF/2.0/Extensions/KHR_mesh_quantization.types.js +2 -0
- package/glTF/2.0/Extensions/KHR_mesh_quantization.types.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_node_hoverability.d.ts +4 -29
- package/glTF/2.0/Extensions/KHR_node_hoverability.js +6 -187
- package/glTF/2.0/Extensions/KHR_node_hoverability.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_node_hoverability.pure.d.ts +28 -0
- package/glTF/2.0/Extensions/KHR_node_hoverability.pure.js +202 -0
- package/glTF/2.0/Extensions/KHR_node_hoverability.pure.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_node_hoverability.types.d.ts +9 -0
- package/glTF/2.0/Extensions/KHR_node_hoverability.types.js +2 -0
- package/glTF/2.0/Extensions/KHR_node_hoverability.types.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_node_selectability.d.ts +4 -28
- package/glTF/2.0/Extensions/KHR_node_selectability.js +6 -121
- package/glTF/2.0/Extensions/KHR_node_selectability.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_node_selectability.pure.d.ts +27 -0
- package/glTF/2.0/Extensions/KHR_node_selectability.pure.js +136 -0
- package/glTF/2.0/Extensions/KHR_node_selectability.pure.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_node_selectability.types.d.ts +9 -0
- package/glTF/2.0/Extensions/KHR_node_selectability.types.js +2 -0
- package/glTF/2.0/Extensions/KHR_node_selectability.types.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_node_visibility.d.ts +4 -28
- package/glTF/2.0/Extensions/KHR_node_visibility.js +6 -64
- package/glTF/2.0/Extensions/KHR_node_visibility.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_node_visibility.pure.d.ts +27 -0
- package/glTF/2.0/Extensions/KHR_node_visibility.pure.js +79 -0
- package/glTF/2.0/Extensions/KHR_node_visibility.pure.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_node_visibility.types.d.ts +9 -0
- package/glTF/2.0/Extensions/KHR_node_visibility.types.js +2 -0
- package/glTF/2.0/Extensions/KHR_node_visibility.types.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_texture_basisu.d.ts +4 -31
- package/glTF/2.0/Extensions/KHR_texture_basisu.js +6 -35
- package/glTF/2.0/Extensions/KHR_texture_basisu.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_texture_basisu.pure.d.ts +30 -0
- package/glTF/2.0/Extensions/KHR_texture_basisu.pure.js +50 -0
- package/glTF/2.0/Extensions/KHR_texture_basisu.pure.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_texture_basisu.types.d.ts +9 -0
- package/glTF/2.0/Extensions/KHR_texture_basisu.types.js +2 -0
- package/glTF/2.0/Extensions/KHR_texture_basisu.types.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_texture_transform.d.ts +4 -35
- package/glTF/2.0/Extensions/KHR_texture_transform.js +6 -56
- package/glTF/2.0/Extensions/KHR_texture_transform.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_texture_transform.pure.d.ts +34 -0
- package/glTF/2.0/Extensions/KHR_texture_transform.pure.js +71 -0
- package/glTF/2.0/Extensions/KHR_texture_transform.pure.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_texture_transform.types.d.ts +9 -0
- package/glTF/2.0/Extensions/KHR_texture_transform.types.js +2 -0
- package/glTF/2.0/Extensions/KHR_texture_transform.types.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_xmp_json_ld.d.ts +4 -37
- package/glTF/2.0/Extensions/KHR_xmp_json_ld.js +6 -45
- package/glTF/2.0/Extensions/KHR_xmp_json_ld.js.map +1 -1
- package/glTF/2.0/Extensions/KHR_xmp_json_ld.pure.d.ts +36 -0
- package/glTF/2.0/Extensions/KHR_xmp_json_ld.pure.js +60 -0
- package/glTF/2.0/Extensions/KHR_xmp_json_ld.pure.js.map +1 -0
- package/glTF/2.0/Extensions/KHR_xmp_json_ld.types.d.ts +9 -0
- package/glTF/2.0/Extensions/KHR_xmp_json_ld.types.js +2 -0
- package/glTF/2.0/Extensions/KHR_xmp_json_ld.types.js.map +1 -0
- package/glTF/2.0/Extensions/MSFT_audio_emitter.d.ts +5 -54
- package/glTF/2.0/Extensions/MSFT_audio_emitter.js +7 -226
- package/glTF/2.0/Extensions/MSFT_audio_emitter.js.map +1 -1
- package/glTF/2.0/Extensions/MSFT_audio_emitter.pure.d.ts +52 -0
- package/glTF/2.0/Extensions/MSFT_audio_emitter.pure.js +240 -0
- package/glTF/2.0/Extensions/MSFT_audio_emitter.pure.js.map +1 -0
- package/glTF/2.0/Extensions/MSFT_audio_emitter.types.d.ts +9 -0
- package/glTF/2.0/Extensions/MSFT_audio_emitter.types.js +2 -0
- package/glTF/2.0/Extensions/MSFT_audio_emitter.types.js.map +1 -0
- package/glTF/2.0/Extensions/MSFT_lod.d.ts +4 -102
- package/glTF/2.0/Extensions/MSFT_lod.js +6 -335
- package/glTF/2.0/Extensions/MSFT_lod.js.map +1 -1
- package/glTF/2.0/Extensions/MSFT_lod.pure.d.ts +96 -0
- package/glTF/2.0/Extensions/MSFT_lod.pure.js +350 -0
- package/glTF/2.0/Extensions/MSFT_lod.pure.js.map +1 -0
- package/glTF/2.0/Extensions/MSFT_lod.types.d.ts +14 -0
- package/glTF/2.0/Extensions/MSFT_lod.types.js +2 -0
- package/glTF/2.0/Extensions/MSFT_lod.types.js.map +1 -0
- package/glTF/2.0/Extensions/MSFT_minecraftMesh.d.ts +6 -27
- package/glTF/2.0/Extensions/MSFT_minecraftMesh.js +8 -40
- package/glTF/2.0/Extensions/MSFT_minecraftMesh.js.map +1 -1
- package/glTF/2.0/Extensions/MSFT_minecraftMesh.pure.d.ts +24 -0
- package/glTF/2.0/Extensions/MSFT_minecraftMesh.pure.js +53 -0
- package/glTF/2.0/Extensions/MSFT_minecraftMesh.pure.js.map +1 -0
- package/glTF/2.0/Extensions/MSFT_minecraftMesh.types.d.ts +9 -0
- package/glTF/2.0/Extensions/MSFT_minecraftMesh.types.js +2 -0
- package/glTF/2.0/Extensions/MSFT_minecraftMesh.types.js.map +1 -0
- package/glTF/2.0/Extensions/MSFT_sRGBFactors.d.ts +6 -27
- package/glTF/2.0/Extensions/MSFT_sRGBFactors.js +8 -38
- package/glTF/2.0/Extensions/MSFT_sRGBFactors.js.map +1 -1
- package/glTF/2.0/Extensions/MSFT_sRGBFactors.pure.d.ts +24 -0
- package/glTF/2.0/Extensions/MSFT_sRGBFactors.pure.js +51 -0
- package/glTF/2.0/Extensions/MSFT_sRGBFactors.pure.js.map +1 -0
- package/glTF/2.0/Extensions/MSFT_sRGBFactors.types.d.ts +9 -0
- package/glTF/2.0/Extensions/MSFT_sRGBFactors.types.js +2 -0
- package/glTF/2.0/Extensions/MSFT_sRGBFactors.types.js.map +1 -0
- package/glTF/2.0/Extensions/objectModelMapping.d.ts +31 -2
- package/glTF/2.0/Extensions/objectModelMapping.js +3 -3
- package/glTF/2.0/Extensions/objectModelMapping.js.map +1 -1
- package/glTF/2.0/Extensions/pure.d.ts +45 -0
- package/glTF/2.0/Extensions/pure.js +47 -0
- package/glTF/2.0/Extensions/pure.js.map +1 -0
- package/glTF/2.0/glTFLoader.d.ts +1 -471
- package/glTF/2.0/glTFLoader.js +3 -2539
- package/glTF/2.0/glTFLoader.js.map +1 -1
- package/glTF/2.0/glTFLoader.pure.d.ts +476 -0
- package/glTF/2.0/glTFLoader.pure.js +2575 -0
- package/glTF/2.0/glTFLoader.pure.js.map +1 -0
- package/glTF/2.0/glTFLoaderAnimation.d.ts +2 -2
- package/glTF/2.0/glTFLoaderAnimation.js +2 -2
- package/glTF/2.0/glTFLoaderAnimation.js.map +1 -1
- package/glTF/2.0/pbrMaterialLoadingAdapter.d.ts +1 -1
- package/glTF/2.0/pbrMaterialLoadingAdapter.js +2 -2
- package/glTF/2.0/pbrMaterialLoadingAdapter.js.map +1 -1
- package/glTF/2.0/pure.d.ts +8 -0
- package/glTF/2.0/pure.js +10 -0
- package/glTF/2.0/pure.js.map +1 -0
- package/glTF/glTFFileLoader.d.ts +5 -551
- package/glTF/glTFFileLoader.js +6 -996
- package/glTF/glTFFileLoader.js.map +1 -1
- package/glTF/glTFFileLoader.pure.d.ts +562 -0
- package/glTF/glTFFileLoader.pure.js +1024 -0
- package/glTF/glTFFileLoader.pure.js.map +1 -0
- package/glTF/glTFFileLoader.types.d.ts +11 -0
- package/glTF/glTFFileLoader.types.js +2 -0
- package/glTF/glTFFileLoader.types.js.map +1 -0
- package/glTF/glTFValidation.js +1 -1
- package/glTF/glTFValidation.js.map +1 -1
- package/glTF/pure.d.ts +6 -0
- package/glTF/pure.js +8 -0
- package/glTF/pure.js.map +1 -0
- package/package.json +56 -4
- package/pure.d.ts +8 -0
- package/pure.js +10 -0
- package/pure.js.map +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KHR_node_hoverability.types.js","sourceRoot":"","sources":["../../../../../../dev/loaders/src/glTF/2.0/Extensions/KHR_node_hoverability.types.ts"],"names":[],"mappings":"","sourcesContent":["export {};\r\n\r\ndeclare module \"../../glTFFileLoader\" {\r\n // eslint-disable-next-line jsdoc/require-jsdoc, @typescript-eslint/naming-convention\r\n export interface GLTFLoaderExtensionOptions {\r\n /**\r\n * Defines options for the KHR_node_hoverability extension.\r\n */\r\n // NOTE: Don't use NAME here as it will break the UMD type declarations.\r\n [\"KHR_node_hoverability\"]: {};\r\n }\r\n}\r\n"]}
|
|
@@ -1,30 +1,6 @@
|
|
|
1
|
-
import { type GLTFLoader } from "../glTFLoader.js";
|
|
2
|
-
import { type IGLTFLoaderExtension } from "../glTFLoaderExtension.js";
|
|
3
|
-
declare module "../../glTFFileLoader.js" {
|
|
4
|
-
interface GLTFLoaderExtensionOptions {
|
|
5
|
-
/**
|
|
6
|
-
* Defines options for the KHR_selectability extension.
|
|
7
|
-
*/
|
|
8
|
-
["KHR_node_selectability"]: {};
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
1
|
/**
|
|
12
|
-
*
|
|
2
|
+
* Re-exports the pure implementation and applies the runtime registration side effect.
|
|
3
|
+
* Import "./KHR_node_selectability.pure" for tree-shakeable, side-effect-free usage.
|
|
13
4
|
*/
|
|
14
|
-
export
|
|
15
|
-
|
|
16
|
-
* The name of this extension.
|
|
17
|
-
*/
|
|
18
|
-
readonly name = "KHR_node_selectability";
|
|
19
|
-
/**
|
|
20
|
-
* Defines whether this extension is enabled.
|
|
21
|
-
*/
|
|
22
|
-
enabled: boolean;
|
|
23
|
-
private _loader;
|
|
24
|
-
/**
|
|
25
|
-
* @internal
|
|
26
|
-
*/
|
|
27
|
-
constructor(loader: GLTFLoader);
|
|
28
|
-
onReady(): Promise<void>;
|
|
29
|
-
dispose(): void;
|
|
30
|
-
}
|
|
5
|
+
export * from "./KHR_node_selectability.types.js";
|
|
6
|
+
export * from "./KHR_node_selectability.pure.js";
|
|
@@ -1,124 +1,9 @@
|
|
|
1
|
-
import { registerGLTFExtension, unregisterGLTFExtension } from "../glTFLoaderExtensionRegistry.js";
|
|
2
|
-
import { addNewInteractivityFlowGraphMapping } from "./KHR_interactivity/declarationMapper.js";
|
|
3
|
-
import { AddObjectAccessorToKey } from "./objectModelMapping.js";
|
|
4
|
-
const NAME = "KHR_node_selectability";
|
|
5
|
-
// add the interactivity mapping for the onSelect event
|
|
6
|
-
addNewInteractivityFlowGraphMapping("event/onSelect", NAME, {
|
|
7
|
-
// using GetVariable as the nodeIndex is a configuration and not a value (i.e. it's not mutable)
|
|
8
|
-
blocks: ["FlowGraphMeshPickEventBlock" /* FlowGraphBlockNames.MeshPickEvent */, "FlowGraphGetVariableBlock" /* FlowGraphBlockNames.GetVariable */, "FlowGraphIndexOfBlock" /* FlowGraphBlockNames.IndexOf */, "KHR_interactivity/FlowGraphGLTFDataProvider"],
|
|
9
|
-
configuration: {
|
|
10
|
-
stopPropagation: { name: "stopPropagation" },
|
|
11
|
-
nodeIndex: {
|
|
12
|
-
name: "variable",
|
|
13
|
-
toBlock: "FlowGraphGetVariableBlock" /* FlowGraphBlockNames.GetVariable */,
|
|
14
|
-
dataTransformer(data) {
|
|
15
|
-
return "pickedMesh_" + data;
|
|
16
|
-
},
|
|
17
|
-
},
|
|
18
|
-
},
|
|
19
|
-
outputs: {
|
|
20
|
-
values: {
|
|
21
|
-
selectedNodeIndex: { name: "index", toBlock: "FlowGraphIndexOfBlock" /* FlowGraphBlockNames.IndexOf */ },
|
|
22
|
-
controllerIndex: { name: "pointerId" },
|
|
23
|
-
selectionPoint: { name: "pickedPoint" },
|
|
24
|
-
selectionRayOrigin: { name: "pickOrigin" },
|
|
25
|
-
},
|
|
26
|
-
flows: {
|
|
27
|
-
out: { name: "done" },
|
|
28
|
-
},
|
|
29
|
-
},
|
|
30
|
-
interBlockConnectors: [
|
|
31
|
-
{
|
|
32
|
-
input: "asset",
|
|
33
|
-
output: "value",
|
|
34
|
-
inputBlockIndex: 0,
|
|
35
|
-
outputBlockIndex: 1,
|
|
36
|
-
isVariable: true,
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
input: "array",
|
|
40
|
-
output: "nodes",
|
|
41
|
-
inputBlockIndex: 2,
|
|
42
|
-
outputBlockIndex: 3,
|
|
43
|
-
isVariable: true,
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
input: "object",
|
|
47
|
-
output: "pickedMesh",
|
|
48
|
-
inputBlockIndex: 2,
|
|
49
|
-
outputBlockIndex: 0,
|
|
50
|
-
isVariable: true,
|
|
51
|
-
},
|
|
52
|
-
],
|
|
53
|
-
extraProcessor(gltfBlock, _declaration, _mapping, _arrays, serializedObjects, context, globalGLTF) {
|
|
54
|
-
// add the glTF to the configuration of the last serialized object
|
|
55
|
-
const serializedObject = serializedObjects[serializedObjects.length - 1];
|
|
56
|
-
serializedObject.config = serializedObject.config || {};
|
|
57
|
-
serializedObject.config.glTF = globalGLTF;
|
|
58
|
-
// find the listener nodeIndex value
|
|
59
|
-
const nodeIndex = gltfBlock.configuration?.["nodeIndex"]?.value?.[0];
|
|
60
|
-
if (nodeIndex === undefined || typeof nodeIndex !== "number") {
|
|
61
|
-
throw new Error("nodeIndex not found in configuration");
|
|
62
|
-
}
|
|
63
|
-
const variableName = "pickedMesh_" + nodeIndex;
|
|
64
|
-
// find the nodeIndex value
|
|
65
|
-
serializedObjects[1].config.variable = variableName;
|
|
66
|
-
context._userVariables[variableName] = {
|
|
67
|
-
className: "Mesh",
|
|
68
|
-
id: globalGLTF?.nodes?.[nodeIndex]._babylonTransformNode?.id,
|
|
69
|
-
uniqueId: globalGLTF?.nodes?.[nodeIndex]._babylonTransformNode?.uniqueId,
|
|
70
|
-
};
|
|
71
|
-
return serializedObjects;
|
|
72
|
-
},
|
|
73
|
-
});
|
|
74
|
-
// object model extension for selectable
|
|
75
|
-
AddObjectAccessorToKey("/nodes/{}/extensions/KHR_node_selectability/selectable", {
|
|
76
|
-
get: (node) => {
|
|
77
|
-
const tn = node._babylonTransformNode;
|
|
78
|
-
if (tn && tn.isPickable !== undefined) {
|
|
79
|
-
return tn.isPickable;
|
|
80
|
-
}
|
|
81
|
-
return true;
|
|
82
|
-
},
|
|
83
|
-
set: (value, node) => {
|
|
84
|
-
node._primitiveBabylonMeshes?.forEach((mesh) => {
|
|
85
|
-
mesh.isPickable = value;
|
|
86
|
-
});
|
|
87
|
-
},
|
|
88
|
-
getTarget: (node) => node._babylonTransformNode,
|
|
89
|
-
getPropertyName: [() => "isPickable"],
|
|
90
|
-
type: "boolean",
|
|
91
|
-
});
|
|
92
1
|
/**
|
|
93
|
-
*
|
|
2
|
+
* Re-exports the pure implementation and applies the runtime registration side effect.
|
|
3
|
+
* Import "./KHR_node_selectability.pure" for tree-shakeable, side-effect-free usage.
|
|
94
4
|
*/
|
|
95
|
-
|
|
96
|
-
export
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
*/
|
|
100
|
-
constructor(loader) {
|
|
101
|
-
/**
|
|
102
|
-
* The name of this extension.
|
|
103
|
-
*/
|
|
104
|
-
this.name = NAME;
|
|
105
|
-
this._loader = loader;
|
|
106
|
-
this.enabled = loader.isExtensionUsed(NAME);
|
|
107
|
-
}
|
|
108
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention, @typescript-eslint/no-misused-promises
|
|
109
|
-
async onReady() {
|
|
110
|
-
this._loader.gltf.nodes?.forEach((node) => {
|
|
111
|
-
if (node.extensions?.KHR_node_selectability && node.extensions?.KHR_node_selectability.selectable === false) {
|
|
112
|
-
node._babylonTransformNode?.getChildMeshes().forEach((mesh) => {
|
|
113
|
-
mesh.isPickable = false;
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
dispose() {
|
|
119
|
-
this._loader = null;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
unregisterGLTFExtension(NAME);
|
|
123
|
-
registerGLTFExtension(NAME, true, (loader) => new KHR_node_selectability(loader));
|
|
5
|
+
export * from "./KHR_node_selectability.types.js";
|
|
6
|
+
export * from "./KHR_node_selectability.pure.js";
|
|
7
|
+
import { RegisterKHR_node_selectability } from "./KHR_node_selectability.pure.js";
|
|
8
|
+
RegisterKHR_node_selectability();
|
|
124
9
|
//# sourceMappingURL=KHR_node_selectability.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KHR_node_selectability.js","sourceRoot":"","sources":["../../../../../../dev/loaders/src/glTF/2.0/Extensions/KHR_node_selectability.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"KHR_node_selectability.js","sourceRoot":"","sources":["../../../../../../dev/loaders/src/glTF/2.0/Extensions/KHR_node_selectability.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAE9C,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/E,8BAA8B,EAAE,CAAC","sourcesContent":["/**\r\n * Re-exports the pure implementation and applies the runtime registration side effect.\r\n * Import \"./KHR_node_selectability.pure\" for tree-shakeable, side-effect-free usage.\r\n */\r\nexport * from \"./KHR_node_selectability.types\";\r\nexport * from \"./KHR_node_selectability.pure\";\r\n\r\nimport { RegisterKHR_node_selectability } from \"./KHR_node_selectability.pure\";\r\nRegisterKHR_node_selectability();\r\n"]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type GLTFLoader } from "../glTFLoader.pure.js";
|
|
2
|
+
import { type IGLTFLoaderExtension } from "../glTFLoaderExtension.js";
|
|
3
|
+
/**
|
|
4
|
+
* Loader extension for KHR_selectability
|
|
5
|
+
*/
|
|
6
|
+
export declare class KHR_node_selectability implements IGLTFLoaderExtension {
|
|
7
|
+
/**
|
|
8
|
+
* The name of this extension.
|
|
9
|
+
*/
|
|
10
|
+
readonly name = "KHR_node_selectability";
|
|
11
|
+
/**
|
|
12
|
+
* Defines whether this extension is enabled.
|
|
13
|
+
*/
|
|
14
|
+
enabled: boolean;
|
|
15
|
+
private _loader;
|
|
16
|
+
/**
|
|
17
|
+
* @internal
|
|
18
|
+
*/
|
|
19
|
+
constructor(loader: GLTFLoader);
|
|
20
|
+
onReady(): Promise<void>;
|
|
21
|
+
dispose(): void;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Registers the KHR_node_selectability glTF loader extension.
|
|
25
|
+
* Safe to call multiple times; only the first call has an effect.
|
|
26
|
+
*/
|
|
27
|
+
export declare function RegisterKHR_node_selectability(): void;
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { registerGLTFExtension, unregisterGLTFExtension } from "../glTFLoaderExtensionRegistry.js";
|
|
2
|
+
import { addNewInteractivityFlowGraphMapping } from "./KHR_interactivity/declarationMapper.js";
|
|
3
|
+
import { AddObjectAccessorToKey } from "./objectModelMapping.js";
|
|
4
|
+
const NAME = "KHR_node_selectability";
|
|
5
|
+
// add the interactivity mapping for the onSelect event
|
|
6
|
+
// object model extension for selectable
|
|
7
|
+
/**
|
|
8
|
+
* Loader extension for KHR_selectability
|
|
9
|
+
*/
|
|
10
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
11
|
+
export class KHR_node_selectability {
|
|
12
|
+
/**
|
|
13
|
+
* @internal
|
|
14
|
+
*/
|
|
15
|
+
constructor(loader) {
|
|
16
|
+
/**
|
|
17
|
+
* The name of this extension.
|
|
18
|
+
*/
|
|
19
|
+
this.name = NAME;
|
|
20
|
+
this._loader = loader;
|
|
21
|
+
this.enabled = loader.isExtensionUsed(NAME);
|
|
22
|
+
}
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention, @typescript-eslint/no-misused-promises
|
|
24
|
+
async onReady() {
|
|
25
|
+
this._loader.gltf.nodes?.forEach((node) => {
|
|
26
|
+
if (node.extensions?.KHR_node_selectability && node.extensions?.KHR_node_selectability.selectable === false) {
|
|
27
|
+
node._babylonTransformNode?.getChildMeshes().forEach((mesh) => {
|
|
28
|
+
mesh.isPickable = false;
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
dispose() {
|
|
34
|
+
this._loader = null;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
let _Registered = false;
|
|
38
|
+
/**
|
|
39
|
+
* Registers the KHR_node_selectability glTF loader extension.
|
|
40
|
+
* Safe to call multiple times; only the first call has an effect.
|
|
41
|
+
*/
|
|
42
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
43
|
+
export function RegisterKHR_node_selectability() {
|
|
44
|
+
if (_Registered) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
_Registered = true;
|
|
48
|
+
addNewInteractivityFlowGraphMapping("event/onSelect", NAME, {
|
|
49
|
+
// using GetVariable as the nodeIndex is a configuration and not a value (i.e. it's not mutable)
|
|
50
|
+
blocks: ["FlowGraphMeshPickEventBlock" /* FlowGraphBlockNames.MeshPickEvent */, "FlowGraphGetVariableBlock" /* FlowGraphBlockNames.GetVariable */, "FlowGraphIndexOfBlock" /* FlowGraphBlockNames.IndexOf */, "KHR_interactivity/FlowGraphGLTFDataProvider"],
|
|
51
|
+
configuration: {
|
|
52
|
+
stopPropagation: { name: "stopPropagation" },
|
|
53
|
+
nodeIndex: {
|
|
54
|
+
name: "variable",
|
|
55
|
+
toBlock: "FlowGraphGetVariableBlock" /* FlowGraphBlockNames.GetVariable */,
|
|
56
|
+
dataTransformer(data) {
|
|
57
|
+
return "pickedMesh_" + data;
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
outputs: {
|
|
62
|
+
values: {
|
|
63
|
+
selectedNodeIndex: { name: "index", toBlock: "FlowGraphIndexOfBlock" /* FlowGraphBlockNames.IndexOf */ },
|
|
64
|
+
controllerIndex: { name: "pointerId" },
|
|
65
|
+
selectionPoint: { name: "pickedPoint" },
|
|
66
|
+
selectionRayOrigin: { name: "pickOrigin" },
|
|
67
|
+
},
|
|
68
|
+
flows: {
|
|
69
|
+
out: { name: "done" },
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
interBlockConnectors: [
|
|
73
|
+
{
|
|
74
|
+
input: "asset",
|
|
75
|
+
output: "value",
|
|
76
|
+
inputBlockIndex: 0,
|
|
77
|
+
outputBlockIndex: 1,
|
|
78
|
+
isVariable: true,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
input: "array",
|
|
82
|
+
output: "nodes",
|
|
83
|
+
inputBlockIndex: 2,
|
|
84
|
+
outputBlockIndex: 3,
|
|
85
|
+
isVariable: true,
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
input: "object",
|
|
89
|
+
output: "pickedMesh",
|
|
90
|
+
inputBlockIndex: 2,
|
|
91
|
+
outputBlockIndex: 0,
|
|
92
|
+
isVariable: true,
|
|
93
|
+
},
|
|
94
|
+
],
|
|
95
|
+
extraProcessor(gltfBlock, _declaration, _mapping, _arrays, serializedObjects, context, globalGLTF) {
|
|
96
|
+
// add the glTF to the configuration of the last serialized object
|
|
97
|
+
const serializedObject = serializedObjects[serializedObjects.length - 1];
|
|
98
|
+
serializedObject.config = serializedObject.config || {};
|
|
99
|
+
serializedObject.config.glTF = globalGLTF;
|
|
100
|
+
// find the listener nodeIndex value
|
|
101
|
+
const nodeIndex = gltfBlock.configuration?.["nodeIndex"]?.value?.[0];
|
|
102
|
+
if (nodeIndex === undefined || typeof nodeIndex !== "number") {
|
|
103
|
+
throw new Error("nodeIndex not found in configuration");
|
|
104
|
+
}
|
|
105
|
+
const variableName = "pickedMesh_" + nodeIndex;
|
|
106
|
+
// find the nodeIndex value
|
|
107
|
+
serializedObjects[1].config.variable = variableName;
|
|
108
|
+
context._userVariables[variableName] = {
|
|
109
|
+
className: "Mesh",
|
|
110
|
+
id: globalGLTF?.nodes?.[nodeIndex]._babylonTransformNode?.id,
|
|
111
|
+
uniqueId: globalGLTF?.nodes?.[nodeIndex]._babylonTransformNode?.uniqueId,
|
|
112
|
+
};
|
|
113
|
+
return serializedObjects;
|
|
114
|
+
},
|
|
115
|
+
});
|
|
116
|
+
AddObjectAccessorToKey("/nodes/{}/extensions/KHR_node_selectability/selectable", {
|
|
117
|
+
get: (node) => {
|
|
118
|
+
const tn = node._babylonTransformNode;
|
|
119
|
+
if (tn && tn.isPickable !== undefined) {
|
|
120
|
+
return tn.isPickable;
|
|
121
|
+
}
|
|
122
|
+
return true;
|
|
123
|
+
},
|
|
124
|
+
set: (value, node) => {
|
|
125
|
+
node._primitiveBabylonMeshes?.forEach((mesh) => {
|
|
126
|
+
mesh.isPickable = value;
|
|
127
|
+
});
|
|
128
|
+
},
|
|
129
|
+
getTarget: (node) => node._babylonTransformNode,
|
|
130
|
+
getPropertyName: [() => "isPickable"],
|
|
131
|
+
type: "boolean",
|
|
132
|
+
});
|
|
133
|
+
unregisterGLTFExtension(NAME);
|
|
134
|
+
registerGLTFExtension(NAME, true, (loader) => new KHR_node_selectability(loader));
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=KHR_node_selectability.pure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KHR_node_selectability.pure.js","sourceRoot":"","sources":["../../../../../../dev/loaders/src/glTF/2.0/Extensions/KHR_node_selectability.pure.ts"],"names":[],"mappings":"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","sourcesContent":["import { type GLTFLoader } from \"../glTFLoader.pure\";\r\nimport { type IGLTFLoaderExtension } from \"../glTFLoaderExtension\";\r\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\r\nimport { FlowGraphBlockNames } from \"core/FlowGraph/Blocks/flowGraphBlockNames\";\r\nimport { addNewInteractivityFlowGraphMapping } from \"./KHR_interactivity/declarationMapper\";\r\nimport { type INode } from \"../glTFLoaderInterfaces\";\r\nimport { AddObjectAccessorToKey } from \"./objectModelMapping\";\r\n\r\nconst NAME = \"KHR_node_selectability\";\r\n\r\n// add the interactivity mapping for the onSelect event\r\n\r\n// object model extension for selectable\r\n\r\n/**\r\n * Loader extension for KHR_selectability\r\n */\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport class KHR_node_selectability implements IGLTFLoaderExtension {\r\n /**\r\n * The name of this extension.\r\n */\r\n public readonly name = NAME;\r\n /**\r\n * Defines whether this extension is enabled.\r\n */\r\n public enabled: boolean;\r\n\r\n private _loader: GLTFLoader;\r\n\r\n /**\r\n * @internal\r\n */\r\n constructor(loader: GLTFLoader) {\r\n this._loader = loader;\r\n this.enabled = loader.isExtensionUsed(NAME);\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention, @typescript-eslint/no-misused-promises\r\n public async onReady(): Promise<void> {\r\n this._loader.gltf.nodes?.forEach((node) => {\r\n if (node.extensions?.KHR_node_selectability && node.extensions?.KHR_node_selectability.selectable === false) {\r\n node._babylonTransformNode?.getChildMeshes().forEach((mesh) => {\r\n mesh.isPickable = false;\r\n });\r\n }\r\n });\r\n }\r\n\r\n public dispose() {\r\n (this._loader as any) = null;\r\n }\r\n}\r\n\r\nlet _Registered = false;\r\n/**\r\n * Registers the KHR_node_selectability glTF loader extension.\r\n * Safe to call multiple times; only the first call has an effect.\r\n */\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport function RegisterKHR_node_selectability(): void {\r\n if (_Registered) {\r\n return;\r\n }\r\n _Registered = true;\r\n\r\n addNewInteractivityFlowGraphMapping(\"event/onSelect\", NAME, {\r\n // using GetVariable as the nodeIndex is a configuration and not a value (i.e. it's not mutable)\r\n blocks: [FlowGraphBlockNames.MeshPickEvent, FlowGraphBlockNames.GetVariable, FlowGraphBlockNames.IndexOf, \"KHR_interactivity/FlowGraphGLTFDataProvider\"],\r\n configuration: {\r\n stopPropagation: { name: \"stopPropagation\" },\r\n nodeIndex: {\r\n name: \"variable\",\r\n toBlock: FlowGraphBlockNames.GetVariable,\r\n dataTransformer(data) {\r\n return \"pickedMesh_\" + data;\r\n },\r\n },\r\n },\r\n outputs: {\r\n values: {\r\n selectedNodeIndex: { name: \"index\", toBlock: FlowGraphBlockNames.IndexOf },\r\n controllerIndex: { name: \"pointerId\" },\r\n selectionPoint: { name: \"pickedPoint\" },\r\n selectionRayOrigin: { name: \"pickOrigin\" },\r\n },\r\n flows: {\r\n out: { name: \"done\" },\r\n },\r\n },\r\n interBlockConnectors: [\r\n {\r\n input: \"asset\",\r\n output: \"value\",\r\n inputBlockIndex: 0,\r\n outputBlockIndex: 1,\r\n isVariable: true,\r\n },\r\n {\r\n input: \"array\",\r\n output: \"nodes\",\r\n inputBlockIndex: 2,\r\n outputBlockIndex: 3,\r\n isVariable: true,\r\n },\r\n {\r\n input: \"object\",\r\n output: \"pickedMesh\",\r\n inputBlockIndex: 2,\r\n outputBlockIndex: 0,\r\n isVariable: true,\r\n },\r\n ],\r\n extraProcessor(gltfBlock, _declaration, _mapping, _arrays, serializedObjects, context, globalGLTF) {\r\n // add the glTF to the configuration of the last serialized object\r\n const serializedObject = serializedObjects[serializedObjects.length - 1];\r\n serializedObject.config = serializedObject.config || {};\r\n serializedObject.config.glTF = globalGLTF;\r\n // find the listener nodeIndex value\r\n const nodeIndex = gltfBlock.configuration?.[\"nodeIndex\"]?.value?.[0];\r\n if (nodeIndex === undefined || typeof nodeIndex !== \"number\") {\r\n throw new Error(\"nodeIndex not found in configuration\");\r\n }\r\n const variableName = \"pickedMesh_\" + nodeIndex;\r\n // find the nodeIndex value\r\n serializedObjects[1].config.variable = variableName;\r\n context._userVariables[variableName] = {\r\n className: \"Mesh\",\r\n id: globalGLTF?.nodes?.[nodeIndex]._babylonTransformNode?.id,\r\n uniqueId: globalGLTF?.nodes?.[nodeIndex]._babylonTransformNode?.uniqueId,\r\n };\r\n return serializedObjects;\r\n },\r\n });\r\n\r\n AddObjectAccessorToKey(\"/nodes/{}/extensions/KHR_node_selectability/selectable\", {\r\n get: (node: INode) => {\r\n const tn = node._babylonTransformNode as any;\r\n if (tn && tn.isPickable !== undefined) {\r\n return tn.isPickable;\r\n }\r\n return true;\r\n },\r\n set: (value: boolean, node: INode) => {\r\n node._primitiveBabylonMeshes?.forEach((mesh) => {\r\n mesh.isPickable = value;\r\n });\r\n },\r\n getTarget: (node: INode) => node._babylonTransformNode,\r\n getPropertyName: [() => \"isPickable\"],\r\n type: \"boolean\",\r\n });\r\n\r\n unregisterGLTFExtension(NAME);\r\n\r\n registerGLTFExtension(NAME, true, (loader) => new KHR_node_selectability(loader));\r\n}\r\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KHR_node_selectability.types.js","sourceRoot":"","sources":["../../../../../../dev/loaders/src/glTF/2.0/Extensions/KHR_node_selectability.types.ts"],"names":[],"mappings":"","sourcesContent":["export {};\r\n\r\ndeclare module \"../../glTFFileLoader\" {\r\n // eslint-disable-next-line jsdoc/require-jsdoc, @typescript-eslint/naming-convention\r\n export interface GLTFLoaderExtensionOptions {\r\n /**\r\n * Defines options for the KHR_selectability extension.\r\n */\r\n // NOTE: Don't use NAME here as it will break the UMD type declarations.\r\n [\"KHR_node_selectability\"]: {};\r\n }\r\n}\r\n"]}
|
|
@@ -1,30 +1,6 @@
|
|
|
1
|
-
import { type GLTFLoader } from "../glTFLoader.js";
|
|
2
|
-
import { type IGLTFLoaderExtension } from "../glTFLoaderExtension.js";
|
|
3
|
-
declare module "../../glTFFileLoader.js" {
|
|
4
|
-
interface GLTFLoaderExtensionOptions {
|
|
5
|
-
/**
|
|
6
|
-
* Defines options for the KHR_node_visibility extension.
|
|
7
|
-
*/
|
|
8
|
-
["KHR_node_visibility"]: {};
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
1
|
/**
|
|
12
|
-
*
|
|
2
|
+
* Re-exports the pure implementation and applies the runtime registration side effect.
|
|
3
|
+
* Import "./KHR_node_visibility.pure" for tree-shakeable, side-effect-free usage.
|
|
13
4
|
*/
|
|
14
|
-
export
|
|
15
|
-
|
|
16
|
-
* The name of this extension.
|
|
17
|
-
*/
|
|
18
|
-
readonly name = "KHR_node_visibility";
|
|
19
|
-
/**
|
|
20
|
-
* Defines whether this extension is enabled.
|
|
21
|
-
*/
|
|
22
|
-
enabled: boolean;
|
|
23
|
-
private _loader?;
|
|
24
|
-
/**
|
|
25
|
-
* @internal
|
|
26
|
-
*/
|
|
27
|
-
constructor(loader: GLTFLoader);
|
|
28
|
-
onReady(): void;
|
|
29
|
-
dispose(): void;
|
|
30
|
-
}
|
|
5
|
+
export * from "./KHR_node_visibility.types.js";
|
|
6
|
+
export * from "./KHR_node_visibility.pure.js";
|
|
@@ -1,67 +1,9 @@
|
|
|
1
|
-
import { registerGLTFExtension, unregisterGLTFExtension } from "../glTFLoaderExtensionRegistry.js";
|
|
2
|
-
import { AddObjectAccessorToKey } from "./objectModelMapping.js";
|
|
3
|
-
const NAME = "KHR_node_visibility";
|
|
4
|
-
// object model extension for visibility
|
|
5
|
-
AddObjectAccessorToKey("/nodes/{}/extensions/KHR_node_visibility/visible", {
|
|
6
|
-
get: (node) => {
|
|
7
|
-
const tn = node._babylonTransformNode;
|
|
8
|
-
if (tn && tn.isVisible !== undefined) {
|
|
9
|
-
return tn.isVisible;
|
|
10
|
-
}
|
|
11
|
-
return true;
|
|
12
|
-
},
|
|
13
|
-
set: (value, node) => {
|
|
14
|
-
node._primitiveBabylonMeshes?.forEach((mesh) => {
|
|
15
|
-
mesh.inheritVisibility = true;
|
|
16
|
-
});
|
|
17
|
-
if (node._babylonTransformNode) {
|
|
18
|
-
node._babylonTransformNode.isVisible = value;
|
|
19
|
-
}
|
|
20
|
-
node._primitiveBabylonMeshes?.forEach((mesh) => {
|
|
21
|
-
mesh.isVisible = value;
|
|
22
|
-
});
|
|
23
|
-
},
|
|
24
|
-
getTarget: (node) => node._babylonTransformNode,
|
|
25
|
-
getPropertyName: [() => "isVisible"],
|
|
26
|
-
type: "boolean",
|
|
27
|
-
});
|
|
28
1
|
/**
|
|
29
|
-
*
|
|
2
|
+
* Re-exports the pure implementation and applies the runtime registration side effect.
|
|
3
|
+
* Import "./KHR_node_visibility.pure" for tree-shakeable, side-effect-free usage.
|
|
30
4
|
*/
|
|
31
|
-
|
|
32
|
-
export
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
*/
|
|
36
|
-
constructor(loader) {
|
|
37
|
-
/**
|
|
38
|
-
* The name of this extension.
|
|
39
|
-
*/
|
|
40
|
-
this.name = NAME;
|
|
41
|
-
this._loader = loader;
|
|
42
|
-
this.enabled = loader.isExtensionUsed(NAME);
|
|
43
|
-
}
|
|
44
|
-
onReady() {
|
|
45
|
-
if (!this._loader) {
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
const nodes = this._loader.gltf.nodes;
|
|
49
|
-
if (nodes) {
|
|
50
|
-
for (const node of nodes) {
|
|
51
|
-
const babylonTransformNode = node._babylonTransformNode;
|
|
52
|
-
if (babylonTransformNode) {
|
|
53
|
-
babylonTransformNode.inheritVisibility = true;
|
|
54
|
-
if (node.extensions && node.extensions.KHR_node_visibility && node.extensions.KHR_node_visibility.visible === false) {
|
|
55
|
-
babylonTransformNode.isVisible = false;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
dispose() {
|
|
62
|
-
delete this._loader;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
unregisterGLTFExtension(NAME);
|
|
66
|
-
registerGLTFExtension(NAME, true, (loader) => new KHR_node_visibility(loader));
|
|
5
|
+
export * from "./KHR_node_visibility.types.js";
|
|
6
|
+
export * from "./KHR_node_visibility.pure.js";
|
|
7
|
+
import { RegisterKHR_node_visibility } from "./KHR_node_visibility.pure.js";
|
|
8
|
+
RegisterKHR_node_visibility();
|
|
67
9
|
//# sourceMappingURL=KHR_node_visibility.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KHR_node_visibility.js","sourceRoot":"","sources":["../../../../../../dev/loaders/src/glTF/2.0/Extensions/KHR_node_visibility.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"KHR_node_visibility.js","sourceRoot":"","sources":["../../../../../../dev/loaders/src/glTF/2.0/Extensions/KHR_node_visibility.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAE3C,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,2BAA2B,EAAE,CAAC","sourcesContent":["/**\r\n * Re-exports the pure implementation and applies the runtime registration side effect.\r\n * Import \"./KHR_node_visibility.pure\" for tree-shakeable, side-effect-free usage.\r\n */\r\nexport * from \"./KHR_node_visibility.types\";\r\nexport * from \"./KHR_node_visibility.pure\";\r\n\r\nimport { RegisterKHR_node_visibility } from \"./KHR_node_visibility.pure\";\r\nRegisterKHR_node_visibility();\r\n"]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type GLTFLoader } from "../glTFLoader.pure.js";
|
|
2
|
+
import { type IGLTFLoaderExtension } from "../glTFLoaderExtension.js";
|
|
3
|
+
/**
|
|
4
|
+
* Loader extension for KHR_node_visibility
|
|
5
|
+
*/
|
|
6
|
+
export declare class KHR_node_visibility implements IGLTFLoaderExtension {
|
|
7
|
+
/**
|
|
8
|
+
* The name of this extension.
|
|
9
|
+
*/
|
|
10
|
+
readonly name = "KHR_node_visibility";
|
|
11
|
+
/**
|
|
12
|
+
* Defines whether this extension is enabled.
|
|
13
|
+
*/
|
|
14
|
+
enabled: boolean;
|
|
15
|
+
private _loader?;
|
|
16
|
+
/**
|
|
17
|
+
* @internal
|
|
18
|
+
*/
|
|
19
|
+
constructor(loader: GLTFLoader);
|
|
20
|
+
onReady(): void;
|
|
21
|
+
dispose(): void;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Registers the KHR_node_visibility glTF loader extension.
|
|
25
|
+
* Safe to call multiple times; only the first call has an effect.
|
|
26
|
+
*/
|
|
27
|
+
export declare function RegisterKHR_node_visibility(): void;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { registerGLTFExtension, unregisterGLTFExtension } from "../glTFLoaderExtensionRegistry.js";
|
|
2
|
+
import { AddObjectAccessorToKey } from "./objectModelMapping.js";
|
|
3
|
+
const NAME = "KHR_node_visibility";
|
|
4
|
+
// object model extension for visibility
|
|
5
|
+
/**
|
|
6
|
+
* Loader extension for KHR_node_visibility
|
|
7
|
+
*/
|
|
8
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
9
|
+
export class KHR_node_visibility {
|
|
10
|
+
/**
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
constructor(loader) {
|
|
14
|
+
/**
|
|
15
|
+
* The name of this extension.
|
|
16
|
+
*/
|
|
17
|
+
this.name = NAME;
|
|
18
|
+
this._loader = loader;
|
|
19
|
+
this.enabled = loader.isExtensionUsed(NAME);
|
|
20
|
+
}
|
|
21
|
+
onReady() {
|
|
22
|
+
if (!this._loader) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const nodes = this._loader.gltf.nodes;
|
|
26
|
+
if (nodes) {
|
|
27
|
+
for (const node of nodes) {
|
|
28
|
+
const babylonTransformNode = node._babylonTransformNode;
|
|
29
|
+
if (babylonTransformNode) {
|
|
30
|
+
babylonTransformNode.inheritVisibility = true;
|
|
31
|
+
if (node.extensions && node.extensions.KHR_node_visibility && node.extensions.KHR_node_visibility.visible === false) {
|
|
32
|
+
babylonTransformNode.isVisible = false;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
dispose() {
|
|
39
|
+
delete this._loader;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
let _Registered = false;
|
|
43
|
+
/**
|
|
44
|
+
* Registers the KHR_node_visibility glTF loader extension.
|
|
45
|
+
* Safe to call multiple times; only the first call has an effect.
|
|
46
|
+
*/
|
|
47
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
48
|
+
export function RegisterKHR_node_visibility() {
|
|
49
|
+
if (_Registered) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
_Registered = true;
|
|
53
|
+
AddObjectAccessorToKey("/nodes/{}/extensions/KHR_node_visibility/visible", {
|
|
54
|
+
get: (node) => {
|
|
55
|
+
const tn = node._babylonTransformNode;
|
|
56
|
+
if (tn && tn.isVisible !== undefined) {
|
|
57
|
+
return tn.isVisible;
|
|
58
|
+
}
|
|
59
|
+
return true;
|
|
60
|
+
},
|
|
61
|
+
set: (value, node) => {
|
|
62
|
+
node._primitiveBabylonMeshes?.forEach((mesh) => {
|
|
63
|
+
mesh.inheritVisibility = true;
|
|
64
|
+
});
|
|
65
|
+
if (node._babylonTransformNode) {
|
|
66
|
+
node._babylonTransformNode.isVisible = value;
|
|
67
|
+
}
|
|
68
|
+
node._primitiveBabylonMeshes?.forEach((mesh) => {
|
|
69
|
+
mesh.isVisible = value;
|
|
70
|
+
});
|
|
71
|
+
},
|
|
72
|
+
getTarget: (node) => node._babylonTransformNode,
|
|
73
|
+
getPropertyName: [() => "isVisible"],
|
|
74
|
+
type: "boolean",
|
|
75
|
+
});
|
|
76
|
+
unregisterGLTFExtension(NAME);
|
|
77
|
+
registerGLTFExtension(NAME, true, (loader) => new KHR_node_visibility(loader));
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=KHR_node_visibility.pure.js.map
|