@babylonjs/viewer
Version:
The Babylon Viewer aims to simplify a specific but common Babylon.js use case: loading, viewing, and interacting with a 3D model.
3 lines (2 loc) • 22.4 kB
JavaScript
import{u as e,b3 as t,aD as r,M as n,b1 as a,C as o}from"./index-OM-TXt9s.esm.min.js";import{S as s}from"./spotLight.pure-guqQj5Iw.esm.min.js";class i{constructor(e){this.value=this._toInt(e)}_toInt(e){return 0|e}add(e){return new i(this.value+e.value)}subtract(e){return new i(this.value-e.value)}multiply(e){return new i(Math.imul(this.value,e.value))}divide(e){return new i(this.value/e.value)}getClassName(){return i.ClassName}equals(e){return this.value===e.value}static FromValue(e){return new i(e)}toString(){return this.value.toString()}}i.ClassName="FlowGraphInteger";let g=!1;function l(){g||(g=!0,e("FlowGraphInteger",i))}const _=[{regex:new RegExp("^/nodes/\\d+/extensions/")},{regex:new RegExp("^/animations/\\d+/extensions/")},{regex:new RegExp("^/nodes/\\d+/weights")},{regex:new RegExp("^/meshes/\\d+/weights")},{regex:new RegExp("/extensions/KHR_texture_transform/")}];class m{constructor(e,t){this._gltf=e,this._infoTree=t}convert(e){let t,r=this._gltf,n=this._infoTree;if(!e.startsWith("/"))throw new Error("Path must start with a /");const a=e.split("/");if(a.shift(),a[a.length-1].includes(".length")){const e=a[a.length-1].split(".");a.pop(),a.push(...e)}let o=!1;for(const s of a){if("length"===s){if(!n.length)throw n.__array__?new Error(`Path ${e} is invalid - no length accessor`):new Error(`Path ${e} is invalid`);n=n.length,void 0!==r&&(t=r)}else{if(n.__ignoreObjectTree__&&(o=!0),n.__array__)n=n.__array__;else if(n=n[s],!n)throw new Error(`Path ${e} is invalid`);if(n.__passThroughTarget__)o=!0;else if(o){const e=/^\d+$/.test(s)?parseInt(s,10):NaN;if(!isNaN(e)&&"function"==typeof n.get){const t=n;n={...t},n.get=(r,n,...a)=>t.get(r,e,...a),"function"==typeof t.set&&(n.set=(r,n,a,...o)=>t.set(r,n,e,...o)),"function"==typeof t.getTarget&&(n.getTarget=(r,n,...a)=>t.getTarget(r,e,...a))}}else if(void 0===r){if(!_.find(t=>t.regex.test(e)))throw new Error(`Path ${e} is invalid`)}else r=r?.[s];n.__target__&&void 0!==r&&(t=r)}}return{object:t,info:n}}}function u(e,t){return{type:"FlowGraphInteger",get:t=>{const r=e(t);return void 0===r?void 0:i.FromValue(r)},getTarget:t,getPropertyName:[()=>"length"]}}const y={length:u(e=>e.length,e=>e.map(e=>e._babylonTransformNode)),__array__:{__target__:!0,translation:{type:"Vector3",get:e=>e._babylonTransformNode?.position,set:(e,t)=>t._babylonTransformNode?.position.copyFrom(e),getTarget:e=>e._babylonTransformNode,getPropertyName:[()=>"position"]},rotation:{type:"Quaternion",get:e=>e._babylonTransformNode?.rotationQuaternion,set:(e,t)=>t._babylonTransformNode?.rotationQuaternion?.copyFrom(e),getTarget:e=>e._babylonTransformNode,getPropertyName:[()=>"rotationQuaternion"]},scale:{type:"Vector3",get:e=>e._babylonTransformNode?.scaling,set:(e,t)=>t._babylonTransformNode?.scaling.copyFrom(e),getTarget:e=>e._babylonTransformNode,getPropertyName:[()=>"scaling"]},weights:{__passThroughTarget__:!0,length:u(e=>{const t=h(e);return t?t.mtm.numTargets:void 0!==e?.mesh?0:void 0},e=>e?._babylonTransformNode),__array__:{__target__:!0,type:"number",get:(e,t)=>{const r=h(e);if(r&&void 0!==t&&t>=0&&t<r.mtm.numTargets)return T(r.mtm.getTarget(t).influence)},set:(e,t,r)=>{const n="number"==typeof e?e:"number"==typeof e?.value?e.value:e,a=h(t);if(!(!a||void 0===r||r<0||r>=a.mtm.numTargets))for(const e of a.meshes){const t=e.morphTargetManager?.getTarget(r);t&&(t.influence=n)}},getTarget:(e,t)=>{const r=h(e);return r&&void 0!==t&&t>=0&&t<r.mtm.numTargets?r.mtm.getTarget(t):e?._babylonTransformNode},getPropertyName:[()=>"influence"]},type:"number[]",get:e=>{const t=h(e);if(!t)return[];const r=[];for(let e=0;e<t.mtm.numTargets;e++)r.push(T(t.mtm.getTarget(e).influence));return r},getTarget:e=>e?._babylonTransformNode,getPropertyName:[()=>"influence"]},matrix:{type:"Matrix",get:e=>n.Compose(e._babylonTransformNode?.scaling,e._babylonTransformNode?.rotationQuaternion,e._babylonTransformNode?.position),getTarget:e=>e._babylonTransformNode,isReadOnly:!0},globalMatrix:{type:"Matrix",get:e=>{const t=n.Identity();let r=e.parent;for(;r&&r.parent;)r=r.parent;const a=e._babylonTransformNode?.position._isDirty||e._babylonTransformNode?.rotationQuaternion?._isDirty||e._babylonTransformNode?.scaling._isDirty;if(r){const n=r._babylonTransformNode?.computeWorldMatrix(!0).invert();n&&e._babylonTransformNode?.computeWorldMatrix(a)?.multiplyToRef(n,t)}else e._babylonTransformNode&&t.copyFrom(e._babylonTransformNode.computeWorldMatrix(a));return t},getTarget:e=>e._babylonTransformNode,isReadOnly:!0},camera:{type:"string",get:e=>void 0!==e.camera?`/cameras/${e.camera}`:"",getTarget:e=>e,isReadOnly:!0},mesh:{type:"string",get:e=>void 0!==e.mesh?`/meshes/${e.mesh}`:"",getTarget:e=>e,isReadOnly:!0},skin:{type:"string",get:e=>void 0!==e.skin?`/skins/${e.skin}`:"",getTarget:e=>e,isReadOnly:!0},parent:{type:"string",get:e=>e.parent&&void 0!==e.parent.index?`/nodes/${e.parent.index}`:"",getTarget:e=>e,isReadOnly:!0},children:{length:u(e=>e?.length??0,e=>e??[]),__array__:{__target__:!0,type:"string",get:e=>"number"==typeof e?`/nodes/${e}`:"",getTarget:()=>({__nodeIndex:!0}),isReadOnly:!0}},extensions:{EXT_lights_ies:{multiplier:{type:"number",get:e=>e._babylonTransformNode?.getChildren(e=>e instanceof s,!0)[0]?.intensity,getTarget:e=>e._babylonTransformNode?.getChildren(e=>e instanceof s,!0)[0],set:(e,t)=>{if(t._babylonTransformNode){const r=t._babylonTransformNode.getChildren(e=>e instanceof s,!0)[0];r&&(r.intensity=e)}}},color:{type:"Color3",get:e=>e._babylonTransformNode?.getChildren(e=>e instanceof s,!0)[0]?.diffuse,getTarget:e=>e._babylonTransformNode?.getChildren(e=>e instanceof s,!0)[0],set:(e,t)=>{if(t._babylonTransformNode){const r=t._babylonTransformNode.getChildren(e=>e instanceof s,!0)[0];r&&(r.diffuse=e)}}}},KHR_node_visibility:{visible:{type:"boolean",get:e=>!!e._primitiveBabylonMeshes&&e._primitiveBabylonMeshes[0].isVisible,getTarget:()=>{},set:(e,t)=>{t._primitiveBabylonMeshes&&t._primitiveBabylonMeshes.forEach(t=>t.isVisible=e)}}}}}},c={length:u(e=>e.length,e=>e.map(e=>e._babylonAnimationGroup)),__array__:{__target__:!0,type:"string",get:e=>e&&"number"==typeof e.index?`/animations/${e.index}`:"",getTarget:e=>e._babylonAnimationGroup,isReadOnly:!0}},b={length:u(e=>e.length,e=>e.map(e=>e.primitives[0]._instanceData?.babylonSourceMesh)),__array__:{__target__:!0,primitives:{length:u(e=>e?.length??0,e=>e??[]),__array__:{__target__:!0,material:{type:"string",get:e=>void 0!==e.material?`/materials/${e.material}`:"",getTarget:e=>e,isReadOnly:!0}}},weights:{length:u(e=>e?.length??0,e=>e??[]),__array__:{__target__:!0,type:"number",get:e=>e,getTarget:()=>({__weightValue:!0}),isReadOnly:!0}}}};function f(e,t,r,n){const a=p(e);return n?a[r][n]:a[r]}function p(e,t,r){return e._data?.[r?.fillMode??o.MATERIAL_TriangleFillMode]?.babylonMaterial}function h(e){const t=e?._babylonTransformNode;if(!t)return;const r=function(e){const t=e?._babylonTransformNode;if(!t)return;if(t.morphTargetManager)return t.morphTargetManager;const r=e._primitiveBabylonMeshes;if(r)for(const e of r){if(e?.morphTargetManager)return e.morphTargetManager;if(e?.sourceMesh?.morphTargetManager)return e.sourceMesh.morphTargetManager}}(e);if(r&&e._primitiveBabylonMeshes&&e._primitiveBabylonMeshes.length>0)return{mtm:r,meshes:e._primitiveBabylonMeshes};const n=t.getDescendants(!1);for(const e of n){const t=e,r=t.morphTargetManager??t.sourceMesh?.morphTargetManager;if(!r)continue;const n=[],a=t.parent;if(a)for(const e of a.getChildMeshes(!0)){(e.morphTargetManager??e.sourceMesh?.morphTargetManager)===r&&n.push(e)}return 0===n.length&&n.push(t),{mtm:r,meshes:n}}}function T(e){return Number.isFinite(e)?parseFloat(e.toPrecision(7)):e}function d(e,t,r){if(!e)return;let n=e.extensions;if(!n){if(!r)return;n={},e.extensions=n}let a=n[t.extensionKey];if(!a){if(!r)return;a={},n[t.extensionKey]=a}for(const e of t.texturePath){let t=a[e];if(!t){if(!r)return;t={},a[e]=t}a=t}if(!a.extensions){if(!r)return;a.extensions={}}let o=a.extensions.KHR_texture_transform;if(!o){if(!r)return;o={},a.extensions.KHR_texture_transform=o}return o}function x(e,r,n){return{offset:{componentsCount:2,type:"Vector2",get:(a,o,s)=>{const i=f(a,0,e,r);if(i)return new t(i.uOffset,i.vOffset);if(n){const e=d(a,n,!1),r=e?.offset;return new t(r?.[0]??0,r?.[1]??0)}return new t(0,0)},getTarget:p,set:(t,a,o,s)=>{const i=f(a,0,e,r);if(i&&(i.uOffset=t.x,i.vOffset=t.y),n){const e=d(a,n,!0);e&&(e.offset=[t.x,t.y])}},getPropertyName:[()=>`${e}${r?"."+r:""}.uOffset`,()=>`${e}${r?"."+r:""}.vOffset`]},rotation:{type:"number",get:(t,a,o)=>{const s=f(t,0,e,r);if(s)return s.wAng;if(n){const e=d(t,n,!1);return e?.rotation??0}return 0},getTarget:p,set:(t,a,o,s)=>{const i=f(a,0,e,r);if(i&&(i.wAng=t),n){const e=d(a,n,!0);e&&(e.rotation=t)}},getPropertyName:[()=>`${e}${r?"."+r:""}.wAng`]},scale:{componentsCount:2,type:"Vector2",get:(a,o,s)=>{const i=f(a,0,e,r);if(i)return new t(i.uScale,i.vScale);if(n){const e=d(a,n,!1),r=e?.scale;return new t(r?.[0]??1,r?.[1]??1)}return new t(1,1)},getTarget:p,set:(t,a,o,s)=>{const i=f(a,0,e,r);if(i&&(i.uScale=t.x,i.vScale=t.y),n){const e=d(a,n,!0);e&&(e.scale=[t.x,t.y])}},getPropertyName:[()=>`${e}${r?"."+r:""}.uScale`,()=>`${e}${r?"."+r:""}.vScale`]}}}const C={scene:{__target__:!0,type:"number",get:e=>e??0,getTarget:()=>({__gltfRoot:!0}),isReadOnly:!0,getPropertyName:[()=>"scene"]},cameras:{length:u(e=>e.length,e=>e.map(e=>e._babylonCamera)),__array__:{__target__:!0,orthographic:{xmag:{componentsCount:2,type:"Vector2",get:e=>new t(e._babylonCamera?.orthoLeft??0,e._babylonCamera?.orthoRight??0),set:(e,t)=>{t._babylonCamera&&(t._babylonCamera.orthoLeft=e.x,t._babylonCamera.orthoRight=e.y)},getTarget:e=>e,getPropertyName:[()=>"orthoLeft",()=>"orthoRight"]},ymag:{componentsCount:2,type:"Vector2",get:e=>new t(e._babylonCamera?.orthoBottom??0,e._babylonCamera?.orthoTop??0),set:(e,t)=>{t._babylonCamera&&(t._babylonCamera.orthoBottom=e.x,t._babylonCamera.orthoTop=e.y)},getTarget:e=>e,getPropertyName:[()=>"orthoBottom",()=>"orthoTop"]},zfar:{type:"number",get:e=>e._babylonCamera?.maxZ,set:(e,t)=>{t._babylonCamera&&(t._babylonCamera.maxZ=e)},getTarget:e=>e,getPropertyName:[()=>"maxZ"]},znear:{type:"number",get:e=>e._babylonCamera?.minZ,set:(e,t)=>{t._babylonCamera&&(t._babylonCamera.minZ=e)},getTarget:e=>e,getPropertyName:[()=>"minZ"]}},perspective:{aspectRatio:{type:"number",get:e=>e._babylonCamera?.getEngine().getAspectRatio(e._babylonCamera),getTarget:e=>e,getPropertyName:[()=>"aspectRatio"],isReadOnly:!0},yfov:{type:"number",get:e=>e._babylonCamera?.fov,set:(e,t)=>{t._babylonCamera&&(t._babylonCamera.fov=e)},getTarget:e=>e,getPropertyName:[()=>"fov"]},zfar:{type:"number",get:e=>e._babylonCamera?.maxZ,set:(e,t)=>{t._babylonCamera&&(t._babylonCamera.maxZ=e)},getTarget:e=>e,getPropertyName:[()=>"maxZ"]},znear:{type:"number",get:e=>e._babylonCamera?.minZ,set:(e,t)=>{t._babylonCamera&&(t._babylonCamera.minZ=e)},getTarget:e=>e,getPropertyName:[()=>"minZ"]}}}},nodes:y,materials:{length:u(e=>e.length,e=>e.map(e=>e._data?.[o.MATERIAL_TriangleFillMode]?.babylonMaterial)),__array__:{__target__:!0,doubleSided:{type:"boolean",get:(e,t,r)=>!p(e,t,r)?.backFaceCulling,set:(e,t,r,n)=>{const a=p(t,r,n);a&&(a.backFaceCulling=!e)},getTarget:(e,t,r)=>p(e,t,r),getPropertyName:[()=>"backFaceCulling"]},alphaCutoff:{type:"number",get:(e,t,r)=>p(e,t,r)?.alphaCutOff,set:(e,t,r,n)=>{const a=p(t,r,n);a&&(a.alphaCutOff=e)},getTarget:(e,t,r)=>p(e,t,r),getPropertyName:[()=>"alphaCutOff"]},emissiveFactor:{type:"Color3",get:(e,t,r)=>p(e,t,r).emissiveColor,set:(e,t,r,n)=>p(t,r,n).emissiveColor.copyFrom(e),getTarget:(e,t,r)=>p(e,t,r),getPropertyName:[()=>"emissiveColor"]},emissiveTexture:{extensions:{KHR_texture_transform:x("emissiveTexture")}},normalTexture:{scale:{type:"number",get:(e,t,r)=>f(e,r,"bumpTexture")?.level,set:(e,t,r,n)=>{const a=f(t,n,"bumpTexture");a&&(a.level=e)},getTarget:(e,t,r)=>p(e,t,r),getPropertyName:[()=>"level"]},extensions:{KHR_texture_transform:x("bumpTexture")}},occlusionTexture:{strength:{type:"number",get:(e,t,r)=>p(e,t,r).ambientTextureStrength,set:(e,t,r,n)=>{const a=p(t,r,n);a&&(a.ambientTextureStrength=e)},getTarget:(e,t,r)=>p(e,t,r),getPropertyName:[()=>"ambientTextureStrength"]},extensions:{KHR_texture_transform:x("ambientTexture")}},pbrMetallicRoughness:{baseColorFactor:{type:"Color4",get:(e,t,r)=>{const n=p(e,t,r);return a.FromColor3(n.albedoColor,n.alpha)},set:(e,t,r,n)=>{const a=p(t,r,n);a.albedoColor.set(e.r,e.g,e.b),a.alpha=e.a},getTarget:(e,t,r)=>p(e,t,r),getPropertyName:[()=>"albedoColor",()=>"alpha"]},baseColorTexture:{extensions:{KHR_texture_transform:x("albedoTexture")}},metallicFactor:{type:"number",get:(e,t,r)=>p(e,t,r).metallic,set:(e,t,r,n)=>{const a=p(t,r,n);a&&(a.metallic=e)},getTarget:(e,t,r)=>p(e,t,r),getPropertyName:[()=>"metallic"]},roughnessFactor:{type:"number",get:(e,t,r)=>p(e,t,r).roughness,set:(e,t,r,n)=>{const a=p(t,r,n);a&&(a.roughness=e)},getTarget:(e,t,r)=>p(e,t,r),getPropertyName:[()=>"roughness"]},metallicRoughnessTexture:{extensions:{KHR_texture_transform:x("metallicTexture")}}},extensions:{KHR_materials_anisotropy:{anisotropyStrength:{type:"number",get:(e,t,r)=>p(e,t,r)?.anisotropy?.intensity,set:(e,t,r,n)=>{const a=p(t,r,n);a&&(a.anisotropy.intensity=e)},getTarget:(e,t,r)=>p(e,t,r),getPropertyName:[()=>"anisotropy.intensity"]},anisotropyRotation:{type:"number",get:(e,t,r)=>p(e,t,r)?.anisotropy?.angle,set:(e,t,r,n)=>{const a=p(t,r,n);a&&(a.anisotropy.angle=e)},getTarget:(e,t,r)=>p(e,t,r),getPropertyName:[()=>"anisotropy.angle"]},anisotropyTexture:{extensions:{KHR_texture_transform:x("anisotropy","texture")}}},KHR_materials_clearcoat:{clearcoatFactor:{type:"number",get:(e,t,r)=>p(e,t,r).clearCoat.intensity,set:(e,t,r,n)=>{p(t,r,n).clearCoat.intensity=e},getTarget:(e,t,r)=>p(e,t,r),getPropertyName:[()=>"clearCoat.intensity"]},clearcoatRoughnessFactor:{type:"number",get:(e,t,r)=>p(e,t,r).clearCoat.roughness,set:(e,t,r,n)=>{p(t,r,n).clearCoat.roughness=e},getTarget:(e,t,r)=>p(e,t,r),getPropertyName:[()=>"clearCoat.roughness"]},clearcoatTexture:{extensions:{KHR_texture_transform:x("clearCoat","texture")}},clearcoatNormalTexture:{scale:{type:"number",get:(e,t,r)=>p(e,t,r).clearCoat.bumpTexture?.level,getTarget:p,set:(e,t,r,n)=>p(t,r,n).clearCoat.bumpTexture.level=e},extensions:{KHR_texture_transform:x("clearCoat","bumpTexture")}},clearcoatRoughnessTexture:{extensions:{KHR_texture_transform:x("clearCoat","textureRoughness")}}},KHR_materials_dispersion:{dispersion:{type:"number",get:(e,t,r)=>p(e,t,r).subSurface.dispersion,getTarget:p,set:(e,t,r,n)=>p(t,r,n).subSurface.dispersion=e}},KHR_materials_emissive_strength:{emissiveStrength:{type:"number",get:(e,t,r)=>p(e,t,r).emissiveIntensity,getTarget:p,set:(e,t,r,n)=>p(t,r,n).emissiveIntensity=e}},KHR_materials_ior:{ior:{type:"number",get:(e,t,r)=>p(e,t,r).indexOfRefraction,getTarget:p,set:(e,t,r,n)=>p(t,r,n).indexOfRefraction=e}},KHR_materials_iridescence:{iridescenceFactor:{type:"number",get:(e,t,r)=>p(e,t,r).iridescence.intensity,getTarget:p,set:(e,t,r,n)=>p(t,r,n).iridescence.intensity=e},iridescenceIor:{type:"number",get:(e,t,r)=>p(e,t,r).iridescence.indexOfRefraction,getTarget:p,set:(e,t,r,n)=>p(t,r,n).iridescence.indexOfRefraction=e},iridescenceTexture:{extensions:{KHR_texture_transform:x("iridescence","texture")}},iridescenceThicknessMaximum:{type:"number",get:(e,t,r)=>p(e,t,r).iridescence.maximumThickness,getTarget:p,set:(e,t,r,n)=>p(t,r,n).iridescence.maximumThickness=e},iridescenceThicknessMinimum:{type:"number",get:(e,t,r)=>p(e,t,r).iridescence.minimumThickness,getTarget:p,set:(e,t,r,n)=>p(t,r,n).iridescence.minimumThickness=e},iridescenceThicknessTexture:{extensions:{KHR_texture_transform:x("iridescence","thicknessTexture")}}},KHR_materials_sheen:{sheenColorFactor:{type:"Color3",get:(e,t,r)=>p(e,t,r).sheen.color,getTarget:p,set:(e,t,r,n)=>p(t,r,n).sheen.color.copyFrom(e)},sheenColorTexture:{extensions:{KHR_texture_transform:x("sheen","texture")}},sheenRoughnessFactor:{type:"number",get:(e,t,r)=>p(e,t,r).sheen.intensity,getTarget:p,set:(e,t,r,n)=>p(t,r,n).sheen.intensity=e},sheenRoughnessTexture:{extensions:{KHR_texture_transform:x("sheen","textureRoughness")}}},KHR_materials_specular:{specularFactor:{type:"number",get:(e,t,r)=>p(e,t,r).metallicF0Factor,getTarget:p,set:(e,t,r,n)=>p(t,r,n).metallicF0Factor=e,getPropertyName:[()=>"metallicF0Factor"]},specularColorFactor:{type:"Color3",get:(e,t,r)=>p(e,t,r).metallicReflectanceColor,getTarget:p,set:(e,t,r,n)=>p(t,r,n).metallicReflectanceColor.copyFrom(e),getPropertyName:[()=>"metallicReflectanceColor"]},specularTexture:{extensions:{KHR_texture_transform:x("metallicReflectanceTexture")}},specularColorTexture:{extensions:{KHR_texture_transform:x("reflectanceTexture")}}},KHR_materials_transmission:{transmissionFactor:{type:"number",get:(e,t,r)=>p(e,t,r).subSurface.refractionIntensity,getTarget:p,set:(e,t,r,n)=>p(t,r,n).subSurface.refractionIntensity=e,getPropertyName:[()=>"subSurface.refractionIntensity"]},transmissionTexture:{extensions:{KHR_texture_transform:x("subSurface","refractionIntensityTexture",{extensionKey:"KHR_materials_transmission",texturePath:["transmissionTexture"]})}}},KHR_materials_diffuse_transmission:{diffuseTransmissionFactor:{type:"number",get:(e,t,r)=>p(e,t,r).subSurface.translucencyIntensity,getTarget:p,set:(e,t,r,n)=>p(t,r,n).subSurface.translucencyIntensity=e},diffuseTransmissionTexture:{extensions:{KHR_texture_transform:x("subSurface","translucencyIntensityTexture",{extensionKey:"KHR_materials_diffuse_transmission",texturePath:["diffuseTransmissionTexture"]})}},diffuseTransmissionColorFactor:{type:"Color3",get:(e,t,r)=>p(e,t,r).subSurface.translucencyColor,getTarget:p,set:(e,t,r,n)=>e&&p(t,r,n).subSurface.translucencyColor?.copyFrom(e)},diffuseTransmissionColorTexture:{extensions:{KHR_texture_transform:x("subSurface","translucencyColorTexture",{extensionKey:"KHR_materials_diffuse_transmission",texturePath:["diffuseTransmissionColorTexture"]})}}},KHR_materials_volume:{attenuationColor:{type:"Color3",get:(e,t,r)=>p(e,t,r).subSurface.tintColor,getTarget:p,set:(e,t,r,n)=>p(t,r,n).subSurface.tintColor.copyFrom(e)},attenuationDistance:{type:"number",get:(e,t,r)=>p(e,t,r).subSurface.tintColorAtDistance,getTarget:p,set:(e,t,r,n)=>p(t,r,n).subSurface.tintColorAtDistance=e},thicknessFactor:{type:"number",get:(e,t,r)=>p(e,t,r).subSurface.maximumThickness,getTarget:p,set:(e,t,r,n)=>p(t,r,n).subSurface.maximumThickness=e},thicknessTexture:{extensions:{KHR_texture_transform:x("subSurface","thicknessTexture",{extensionKey:"KHR_materials_volume",texturePath:["thicknessTexture"]})}}}}}},extensions:{KHR_lights_punctual:{lights:{length:u(e=>e.length,e=>e.map(e=>e._babylonLight)),__array__:{__target__:!0,color:{type:"Color3",get:e=>e._babylonLight?.diffuse,set:(e,t)=>t._babylonLight?.diffuse.copyFrom(e),getTarget:e=>e._babylonLight,getPropertyName:[e=>"diffuse"]},intensity:{type:"number",get:e=>e._babylonLight?.intensity,set:(e,t)=>t._babylonLight?t._babylonLight.intensity=e:void 0,getTarget:e=>e._babylonLight,getPropertyName:[e=>"intensity"]},range:{type:"number",get:e=>e._babylonLight?.range,set:(e,t)=>t._babylonLight?t._babylonLight.range=e:void 0,getTarget:e=>e._babylonLight,getPropertyName:[e=>"range"]},spot:{innerConeAngle:{type:"number",get:e=>e._babylonLight?.innerAngle,set:(e,t)=>t._babylonLight?t._babylonLight.innerAngle=e:void 0,getTarget:e=>e._babylonLight,getPropertyName:[e=>"innerConeAngle"]},outerConeAngle:{type:"number",get:e=>e._babylonLight?.angle,set:(e,t)=>t._babylonLight?t._babylonLight.angle=e:void 0,getTarget:e=>e._babylonLight,getPropertyName:[e=>"outerConeAngle"]}}}}},EXT_lights_area:{lights:{length:u(e=>e.length,e=>e.map(e=>e._babylonLight)),__array__:{__target__:!0,color:{type:"Color3",get:e=>e._babylonLight?.diffuse,set:(e,t)=>t._babylonLight?.diffuse.copyFrom(e),getTarget:e=>e._babylonLight,getPropertyName:[e=>"diffuse"]},intensity:{type:"number",get:e=>e._babylonLight?.intensity,set:(e,t)=>t._babylonLight?t._babylonLight.intensity=e:void 0,getTarget:e=>e._babylonLight,getPropertyName:[e=>"intensity"]},size:{type:"number",get:e=>e._babylonLight?.height,set:(e,t)=>t._babylonLight?t._babylonLight.height=e:void 0,getTarget:e=>e._babylonLight,getPropertyName:[e=>"size"]},rect:{aspect:{type:"number",get:e=>e._babylonLight?.width/e._babylonLight?.height,set:(e,t)=>t._babylonLight?t._babylonLight.width=e*t._babylonLight.height:void 0,getTarget:e=>e._babylonLight,getPropertyName:[e=>"aspect"]}}}}},EXT_lights_ies:{lights:{length:u(e=>e.length,e=>e.map(e=>e._babylonLight))}},EXT_lights_image_based:{lights:{length:u(e=>e.length,e=>e.map(e=>e._babylonTexture)),__array__:{__target__:!0,intensity:{type:"number",get:e=>e._babylonTexture?.level,set:(e,t)=>{t._babylonTexture&&(t._babylonTexture.level=e)},getTarget:e=>e._babylonTexture},rotation:{type:"Quaternion",get:e=>e._babylonTexture&&r.FromRotationMatrix(e._babylonTexture?.getReflectionTextureMatrix()),set:(e,t)=>{t._babylonTexture&&(t._babylonTexture.getScene()?.useRightHandedSystem||(e=r.Inverse(e)),n.FromQuaternionToRef(e,t._babylonTexture.getReflectionTextureMatrix()))},getTarget:e=>e._babylonTexture}}}}},animations:c,meshes:b,scenes:{length:u(e=>e.length,e=>e),__array__:{__target__:!0,nodes:{length:u(e=>e?.length??0,e=>e??[]),__array__:{__target__:!0,type:"string",get:e=>"number"==typeof e?`/nodes/${e}`:"",getTarget:()=>({__nodeIndex:!0}),isReadOnly:!0}}}},skins:{length:u(e=>e.length,e=>e.map(e=>e._data?.babylonSkeleton)),__array__:{__target__:!0,joints:{length:u(e=>e?.length??0,e=>e??[]),__array__:{__target__:!0,type:"string",get:e=>"number"==typeof e?`/nodes/${e}`:"",getTarget:()=>({__nodeIndex:!0}),isReadOnly:!0}},skeleton:{type:"string",get:e=>{const t=e.skeleton;return"number"==typeof t?`/nodes/${t}`:""},getTarget:e=>e,isReadOnly:!0}}}};function R(e){return new m(e,C)}function v(e){const t=e.split("/").map(e=>e.replace(/{}/g,"__array__"));let r=C;for(const e of t)e&&(r=r[e]);if(r&&r.type&&r.get)return r}function N(e,t){const r=e.split("/").map(e=>e.replace(/{}/g,"__array__"));let n=C;for(const e of r)e&&(n=n[e]);n&&n.type&&n.get&&(n.interpolation=t)}function P(e,t){const r=e.split("/").map(e=>e.replace(/{}/g,"__array__"));let n=C;for(const e of r)if(e){if(!n[e]){if("?"===e){n.__ignoreObjectTree__=!0;continue}n[e]={},"__array__"===e&&(n[e].__target__=!0)}n=n[e]}Object.assign(n,t)}export{P as A,i as F,R as G,l as R,N as S,v as a};
//# sourceMappingURL=objectModelMapping-DA3c5cv8.esm.min.js.map