babylonjs-editor-tools 5.4.3-alpha.3 → 5.4.3-alpha.5

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.
@@ -1 +1 @@
1
- var Pe=Object.defineProperty;var vn=Object.getOwnPropertyDescriptor;var Cn=Object.getOwnPropertyNames;var In=Object.prototype.hasOwnProperty;var i=(e,r)=>Pe(e,"name",{value:r,configurable:!0});var En=(e,r)=>{for(var t in r)Pe(e,t,{get:r[t],enumerable:!0})},Tn=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of Cn(r))!In.call(e,o)&&o!==t&&Pe(e,o,{get:()=>r[o],enumerable:!(n=vn(r,o))||n.enumerable});return e};var On=e=>Tn(Pe({},"__esModule",{value:!0}),e);var ko={};En(ko,{AdvancedAssetContainer:()=>de,AdvancedAssetContainerInstantiatedEntries:()=>ue,Cinematic:()=>he,Database:()=>be,NodeParticleSystemSet:()=>mn.NodeParticleSystemSet,_applyScriptsForObject:()=>F,_getKtx2TextureName:()=>Oe,_preloadScriptsAssets:()=>bt,_registerScriptInstance:()=>At,_removeRegisteredScriptInstance:()=>Ie,addExcludedCompressedTexture:()=>De,animationFromSprite:()=>wo,animationGroupFromScene:()=>mo,applyMeshesLODQuality:()=>ke,applyRenderingConfigurationForCamera:()=>pt,applyScriptOnObject:()=>eo,applyShadowsQuality:()=>Gn,applyTexturesQuality:()=>no,componentFromScene:()=>co,configureEngineToUseCompressedTextures:()=>ro,configureMeshDistanceOrScreenCoverage:()=>Ke,configureShadowMapRefreshRate:()=>ve,configureShadowMapRenderListPredicate:()=>ze,copyAndParseRagdollConfiguration:()=>dt,createAndOpenDatabase:()=>Ft,createDefaultRenderingPipeline:()=>tr,createMotionBlurPostProcess:()=>qt,createSSAO2RenderingPipeline:()=>Yt,createSSRRenderingPipeline:()=>jt,createTAARenderingPipeline:()=>Qt,createVLSPostProcess:()=>zt,defaultPipelineCameraConfigurations:()=>Z,disposeDefaultRenderingPipeline:()=>at,disposeMotionBlurPostProcess:()=>nt,disposeSSAO2RenderingPipeline:()=>Xe,disposeSSRRenderingPipeline:()=>We,disposeTAARenderingPipeline:()=>qe,disposeVLSPostProcess:()=>je,forceCompileAllSceneMaterials:()=>ao,generateCinematicAnimationGroup:()=>Lo,getAllScriptsByClassForObject:()=>ne,getAnimationTypeForObject:()=>ye,getDefaultRenderingPipeline:()=>pe,getFromIndexDB:()=>Se,getMotionBlurPostProcess:()=>rt,getPowerOfTwoUntil:()=>M,getSSAO2RenderingPipeline:()=>Un,getSSRRenderingPipeline:()=>kn,getScriptByClassForObject:()=>xt,getTAARenderingPipeline:()=>$n,getTextureUrl:()=>Me,getVLSPostProcess:()=>$e,guiFromAsset:()=>fo,isAbstractMesh:()=>$,isAnyParticleSystem:()=>Ve,isArcRotateCamera:()=>Nn,isBone:()=>Dn,isCamera:()=>xe,isCinematicGroup:()=>Ro,isCinematicKey:()=>wt,isCinematicKeyCut:()=>ie,isCinematicKeyEvent:()=>Fo,isCinematicSound:()=>_o,isClusteredLightContainer:()=>Ae,isDecalMesh:()=>Lt,isDirectionalLight:()=>Rn,isFreeCamera:()=>wn,isGPUParticleSystem:()=>Vn,isGroundMesh:()=>Mn,isHemisphericLight:()=>Ln,isInstancedMesh:()=>le,isLight:()=>_t,isMesh:()=>D,isNode:()=>Q,isNodeFromStaticGroup:()=>Ge,isParticleSystem:()=>Le,isPointLight:()=>Fn,isScene:()=>_e,isSoundNode:()=>j,isSpotLight:()=>_n,isSprite:()=>Be,isTexture:()=>ce,isTransformNode:()=>k,isUsingKtx2CompressedTextures:()=>ge,loadMaterialFromFile:()=>so,loadScene:()=>io,motionBlurPostProcessCameraConfigurations:()=>J,nodeFromDescendants:()=>po,nodeFromScene:()=>lo,normalizeAtlasJson:()=>Ct,onKeyboardEvent:()=>Do,onPointerEvent:()=>Oo,openIndexDB:()=>Nt,parseCinematic:()=>No,parseCinematicKeyValue:()=>_,parseDefaultRenderingPipeline:()=>ct,parseKeyFrameAnimations:()=>Dt,parseMotionBlurPostProcess:()=>it,parseRagdollConfiguration:()=>ar,parseSSAO2RenderingPipeline:()=>tt,parseSSRRenderingPipeline:()=>He,parseTAARenderingPipeline:()=>Ze,parseVLSPostProcess:()=>Qe,particleSystemFromScene:()=>yo,playSpriteAnimationFromName:()=>oo,preloadAssetsToDatabase:()=>Ko,putInIndexDB:()=>V,registerScriptAssetParser:()=>Xn,saveRenderingConfigurationForCamera:()=>Hn,sceneAsset:()=>uo,scriptAssetsCache:()=>O,scriptAssetsParsers:()=>fe,scriptsDictionary:()=>R,serializeDefaultRenderingPipeline:()=>lt,serializeMotionBlurPostProcess:()=>ot,serializeSSAO2RenderingPipeline:()=>et,serializeSSRRenderingPipeline:()=>Ye,serializeTAARenderingPipeline:()=>Je,serializeVLSPostProcess:()=>Ue,setDefaultRenderingPipelineRef:()=>Yn,setMotionBlurPostProcessRef:()=>Wn,setSSAO2RenderingPipelineRef:()=>Qn,setSSRRenderingPipelineRef:()=>zn,setStaticDecalsEnabled:()=>Bn,setTAARenderingPipelineRef:()=>jn,setUseKtx2CompressedTextures:()=>to,setVLSPostProcessRef:()=>Kn,setupOfflineProvider:()=>Vo,soundFromScene:()=>go,spriteFromSpriteManager:()=>Mo,ssaoRenderingPipelineCameraConfigurations:()=>q,ssrRenderingPipelineCameraConfigurations:()=>Y,taaRenderingPipelineCameraConfigurations:()=>H,visibleAsAsset:()=>To,visibleAsBoolean:()=>ho,visibleAsColor3:()=>Ao,visibleAsColor4:()=>vo,visibleAsEntity:()=>Co,visibleAsKeyMap:()=>Eo,visibleAsNumber:()=>bo,visibleAsString:()=>So,visibleAsTexture:()=>Io,visibleAsVector2:()=>Po,visibleAsVector3:()=>xo,vlsPostProcessCameraConfigurations:()=>W});module.exports=On(ko);function $(e){switch(e.getClassName?.()){case"Mesh":case"LineMesh":case"GroundMesh":case"InstancedMesh":return!0}return!1}i($,"isAbstractMesh");function D(e){switch(e.getClassName?.()){case"Mesh":case"GroundMesh":return!0}return!1}i(D,"isMesh");function le(e){return e.getClassName?.()==="InstancedMesh"}i(le,"isInstancedMesh");function Dn(e){return e.getClassName?.()==="Bone"}i(Dn,"isBone");function Mn(e){return e.getClassName?.()==="GroundMesh"}i(Mn,"isGroundMesh");function k(e){return e.getClassName?.()==="TransformNode"}i(k,"isTransformNode");function ce(e){return e?.getClassName?.()==="Texture"}i(ce,"isTexture");function xe(e){switch(e.getClassName?.()){case"Camera":case"FreeCamera":case"TargetCamera":case"EditorCamera":case"ArcRotateCamera":case"UniversalCamera":return!0}return!1}i(xe,"isCamera");function wn(e){switch(e.getClassName?.()){case"FreeCamera":case"UniversalCamera":return!0}return!1}i(wn,"isFreeCamera");function Nn(e){return e.getClassName?.()==="ArcRotateCamera"}i(Nn,"isArcRotateCamera");function Fn(e){return e.getClassName?.()==="PointLight"}i(Fn,"isPointLight");function Rn(e){return e.getClassName?.()==="DirectionalLight"}i(Rn,"isDirectionalLight");function _n(e){return e.getClassName?.()==="SpotLight"}i(_n,"isSpotLight");function Ln(e){return e.getClassName?.()==="HemisphericLight"}i(Ln,"isHemisphericLight");function _t(e){switch(e.getClassName?.()){case"Light":case"PointLight":case"SpotLight":case"DirectionalLight":case"HemisphericLight":return!0}return!1}i(_t,"isLight");function Ae(e){return e.getClassName?.()==="ClusteredLightContainer"}i(Ae,"isClusteredLightContainer");function Q(e){return $(e)||k(e)||_t(e)||xe(e)}i(Q,"isNode");function _e(e){return e.getClassName?.()==="Scene"}i(_e,"isScene");function Le(e){return e.getClassName?.()==="ParticleSystem"}i(Le,"isParticleSystem");function Vn(e){return e.getClassName?.()==="GPUParticleSystem"}i(Vn,"isGPUParticleSystem");function Ve(e){switch(e.getClassName?.()){case"ParticleSystem":case"GPUParticleSystem":return!0}return!1}i(Ve,"isAnyParticleSystem");function Be(e){return e.getClassName?.()==="Sprite"}i(Be,"isSprite");function j(e){return e.getClassName?.()==="SoundNode"}i(j,"isSoundNode");function Ge(e){let r=e;for(;r;){if(r.metadata?.isStaticGroup)return!0;r=r.parent}return!1}i(Ge,"isNodeFromStaticGroup");function Ke(e){e.meshes.forEach(r=>{D(r)&&r.getLODLevels().forEach(t=>{t.mesh&&(t.mesh.originalDistanceOrScreenCoverage=t.distanceOrScreenCoverage)})})}i(Ke,"configureMeshDistanceOrScreenCoverage");function ke(e,r){r.meshes.forEach(t=>{D(t)&&t.getLODLevels().forEach(n=>{if(n.mesh?.originalDistanceOrScreenCoverage)switch(e){case"very-low":n.distanceOrScreenCoverage=n.mesh.originalDistanceOrScreenCoverage*.125;break;case"low":n.distanceOrScreenCoverage=n.mesh.originalDistanceOrScreenCoverage*.25;break;case"medium":n.distanceOrScreenCoverage=n.mesh.originalDistanceOrScreenCoverage*.5;break;case"high":n.distanceOrScreenCoverage=n.mesh.originalDistanceOrScreenCoverage;break}})})}i(ke,"applyMeshesLODQuality");function Lt(e){return(e.metadata?.decal??null)!==null}i(Lt,"isDecalMesh");function Bn(e,r){r.meshes.forEach(t=>{Lt(t)&&Ge(t)&&t.setEnabled(e)})}i(Bn,"setStaticDecalsEnabled");function M(e){let r=1;for(;r<=e;)r<<=1;return r>>1}i(M,"getPowerOfTwoUntil");var Vt=require("babylonjs"),Bt=require("babylonjs");function ze(e){e.lights.forEach(r=>{let t=r.getShadowGenerator()?.getShadowMap();t&&(t.renderListPredicate=n=>Vt.Vector3.Distance(n.getAbsolutePosition(),r.getAbsolutePosition())<=r.range)})}i(ze,"configureShadowMapRenderListPredicate");async function ve(e){e.executeWhenReady(()=>{e.lights.forEach(r=>{let t=r.getShadowGenerator()?.getShadowMap();t&&(t.refreshRate=r.metadata?.refreshRate??Bt.RenderTargetTexture.REFRESHRATE_RENDER_ONEVERYFRAME)})})}i(ve,"configureShadowMapRefreshRate");function Gn(e,r){r.lights.forEach(t=>{let n=t.getShadowGenerator(),o=n?.getShadowMap();if(n?.originalMapSize){let s=n.originalMapSize;switch(e){case"medium":s=s*.5;break;case"low":s=s*.25;break;case"very-low":s=s*.125;break}s=Math.max(128,M(s)),o?.getSize().width!==s&&o.resize(s)}}),ve(r)}i(Gn,"applyShadowsQuality");var Gt=require("babylonjs"),Kt=require("babylonjs"),kt=require("babylonjs"),I=null,W=new Map;function $e(){return I}i($e,"getVLSPostProcess");function Kn(e){I=e}i(Kn,"setVLSPostProcessRef");function je(e){I&&e.activeCamera&&(I.dispose(e.activeCamera),I=null)}i(je,"disposeVLSPostProcess");function zt(e,r){return r??=e.meshes.find(t=>D(t)),I=new kt.VolumetricLightScatteringPostProcess("VolumetricLightScatteringPostProcess",1,e.activeCamera,r,100,Kt.Texture.BILINEAR_SAMPLINGMODE,e.getEngine(),!1),I}i(zt,"createVLSPostProcess");function Ue(){return I?{meshId:I.mesh?.id,exposure:I.exposure,decay:I.decay,weight:I.weight,density:I.density,invert:I.invert,useCustomMeshPosition:I.useCustomMeshPosition,customMeshPosition:I.customMeshPosition.asArray()}:null}i(Ue,"serializeVLSPostProcess");function Qe(e,r){let t=null;if(r.meshId){let o=e.getMeshById(r.meshId);o&&D(o)&&(t=o)}let n=zt(e,t);return n.exposure=r.exposure,n.decay=r.decay,n.weight=r.weight,n.density=r.density,n.invert=r.invert,n.useCustomMeshPosition=r.useCustomMeshPosition,n.customMeshPosition.copyFrom(Gt.Vector3.FromArray(r.customMeshPosition)),n}i(Qe,"parseVLSPostProcess");var $t=require("babylonjs"),b=null,Y=new Map;function kn(){return b}i(kn,"getSSRRenderingPipeline");function zn(e){b=e}i(zn,"setSSRRenderingPipelineRef");function We(){b&&(b.dispose(),b=null)}i(We,"disposeSSRRenderingPipeline");function jt(e,r){return b=new $t.SSRRenderingPipeline("SSRRenderingPipeline",e,[r]),b.samples=4,b}i(jt,"createSSRRenderingPipeline");function Ye(){return b?{samples:b.samples,step:b.step,thickness:b.thickness,strength:b.strength,reflectionSpecularFalloffExponent:b.reflectionSpecularFalloffExponent,maxSteps:b.maxSteps,maxDistance:b.maxDistance,roughnessFactor:b.roughnessFactor,reflectivityThreshold:b.reflectivityThreshold,blurDispersionStrehgth:b.blurDispersionStrength,clipToFrustum:b.clipToFrustum,enableSmoothReflections:b.enableSmoothReflections,enableAutomaticThicknessComputation:b.enableAutomaticThicknessComputation,attenuateFacingCamera:b.attenuateFacingCamera,attenuateScreenBorders:b.attenuateScreenBorders,attenuateIntersectionDistance:b.attenuateIntersectionDistance,attenuateBackfaceReflection:b.attenuateBackfaceReflection,blurDownsample:b.blurDownsample,selfCollisionNumSkip:b.selfCollisionNumSkip,ssrDownsample:b.ssrDownsample,backfaceDepthTextureDownsample:b.backfaceDepthTextureDownsample}:null}i(Ye,"serializeSSRRenderingPipeline");function He(e,r,t){if(b)return b;let n=jt(e,r);return n.samples=t.samples,n.step=t.step,n.thickness=t.thickness,n.strength=t.strength,n.reflectionSpecularFalloffExponent=t.reflectionSpecularFalloffExponent,n.maxSteps=t.maxSteps,n.maxDistance=t.maxDistance,n.roughnessFactor=t.roughnessFactor,n.reflectivityThreshold=t.reflectivityThreshold,n.blurDispersionStrength=t.blurDispersionStrehgth,n.clipToFrustum=t.clipToFrustum,n.enableSmoothReflections=t.enableSmoothReflections,n.enableAutomaticThicknessComputation=t.enableAutomaticThicknessComputation,n.attenuateFacingCamera=t.attenuateFacingCamera,n.attenuateScreenBorders=t.attenuateScreenBorders,n.attenuateIntersectionDistance=t.attenuateIntersectionDistance,n.attenuateBackfaceReflection=t.attenuateBackfaceReflection,n.blurDownsample=t.blurDownsample,n.selfCollisionNumSkip=t.selfCollisionNumSkip,n.ssrDownsample=t.ssrDownsample,n.backfaceDepthTextureDownsample=t.backfaceDepthTextureDownsample,n}i(He,"parseSSRRenderingPipeline");var Ut=require("babylonjs"),E=null,H=new Map;function $n(){return E}i($n,"getTAARenderingPipeline");function jn(e){E=e}i(jn,"setTAARenderingPipelineRef");function qe(){E&&(E.dispose(),E=null)}i(qe,"disposeTAARenderingPipeline");function Qt(e,r){return E=new Ut.TAARenderingPipeline("TAARenderingPipeline",e,[r]),E.samples=4,E}i(Qt,"createTAARenderingPipeline");function Je(){return E?{factor:E.factor,samples:E.samples,clampHistory:E.clampHistory,reprojectHistory:E.reprojectHistory,disableOnCameraMove:E.disableOnCameraMove}:null}i(Je,"serializeTAARenderingPipeline");function Ze(e,r,t){if(E)return E;let n=Qt(e,r);return n.factor=t.factor,n.samples=t.samples,n.clampHistory=t.clampHistory,n.reprojectHistory=t.reprojectHistory,n.disableOnCameraMove=t.disableOnCameraMove,n}i(Ze,"parseTAARenderingPipeline");var Wt=require("babylonjs"),x=null,q=new Map;function Un(){return x}i(Un,"getSSAO2RenderingPipeline");function Qn(e){x=e}i(Qn,"setSSAO2RenderingPipelineRef");function Xe(){x&&(x.dispose(),x=null)}i(Xe,"disposeSSAO2RenderingPipeline");function Yt(e,r){return x=new Wt.SSAO2RenderingPipeline("SSAO2RenderingPipeline",e,1,[r]),x.samples=4,x}i(Yt,"createSSAO2RenderingPipeline");function et(){return x?{radius:x.radius,totalStrength:x.totalStrength,samples:x.samples,maxZ:x.maxZ,minZAspect:x.minZAspect,epsilon:x.epsilon,textureSamples:x.textureSamples,bypassBlur:x.bypassBlur,bilateralSamples:x.bilateralSamples,bilateralSoften:x.bilateralSoften,bilateralTolerance:x.bilateralTolerance,expensiveBlur:x.expensiveBlur}:null}i(et,"serializeSSAO2RenderingPipeline");function tt(e,r,t){if(x)return x;let n=Yt(e,r);return n.radius=t.radius,n.totalStrength=t.totalStrength,n.samples=t.samples,n.maxZ=t.maxZ,n.minZAspect=t.minZAspect,n.epsilon=t.epsilon,n.textureSamples=t.textureSamples,n.bypassBlur=t.bypassBlur,n.bilateralSamples=t.bilateralSamples,n.bilateralSoften=t.bilateralSoften,n.bilateralTolerance=t.bilateralTolerance,n.expensiveBlur=t.expensiveBlur,n}i(tt,"parseSSAO2RenderingPipeline");var Ht=require("babylonjs"),T=null,J=new Map;function rt(){return T}i(rt,"getMotionBlurPostProcess");function Wn(e){T=e}i(Wn,"setMotionBlurPostProcessRef");function nt(){T&&(T.dispose(),T=null)}i(nt,"disposeMotionBlurPostProcess");function qt(e,r){return T=new Ht.MotionBlurPostProcess("MotionBlurPostProcess",e,1,r),T.motionStrength=1,T.isObjectBased=!0,T}i(qt,"createMotionBlurPostProcess");function ot(){return T?{isObjectBased:T.isObjectBased,motionStrength:T.motionStrength,motionBlurSamples:T.motionBlurSamples}:null}i(ot,"serializeMotionBlurPostProcess");function it(e,r,t){if(T)return T;let n=qt(e,r);return n.isObjectBased=t.isObjectBased,n.motionStrength=t.motionStrength,n.motionBlurSamples=t.motionBlurSamples,n}i(it,"parseMotionBlurPostProcess");var Jt=require("babylonjs"),st=require("babylonjs"),Zt=require("babylonjs"),Xt=require("babylonjs"),er=require("babylonjs"),d=null,Z=new Map;function pe(){return d}i(pe,"getDefaultRenderingPipeline");function Yn(e){d=e}i(Yn,"setDefaultRenderingPipelineRef");function at(){d&&(d.dispose(),d=null)}i(at,"disposeDefaultRenderingPipeline");function tr(e,r){return d=new er.DefaultRenderingPipeline("DefaultRenderingPipeline",!0,e,[r]),d.samples=4,d.depthOfField.lensSize=512,d.depthOfField.fStop=.25,d.depthOfField.focusDistance=55e3,d}i(tr,"createDefaultRenderingPipeline");function lt(){return d?{samples:d.samples,fxaaEnabled:d.fxaaEnabled,imageProcessingEnabled:d.imageProcessingEnabled,exposure:d.imageProcessing?.exposure,contrast:d.imageProcessing?.contrast,fromLinearSpace:d.imageProcessing?.fromLinearSpace,toneMappingEnabled:d.imageProcessing?.toneMappingEnabled,toneMappingType:d.imageProcessing?.toneMappingType,ditheringEnabled:d.imageProcessing?.ditheringEnabled,ditheringIntensity:d.imageProcessing?.ditheringIntensity,bloomEnabled:d.bloomEnabled,bloomThreshold:d.bloomThreshold,bloomWeight:d.bloomWeight,bloomScale:d.bloomScale,bloomKernel:d.bloomKernel,sharpenEnabled:d.sharpenEnabled,sharpenEdgeAmount:d.sharpen.edgeAmount,sharpenColorAmount:d.sharpen.colorAmount,grainEnabled:d.grainEnabled,grainIntensity:d.grain.intensity,grainAnimated:d.grain.animated,depthOfFieldEnabled:d.depthOfFieldEnabled,depthOfFieldBlurLevel:d.depthOfFieldBlurLevel,lensSize:d.depthOfField.lensSize,fStop:d.depthOfField.fStop,focusDistance:d.depthOfField.focusDistance,focalLength:d.depthOfField.focalLength,vignetteEnabled:d.imageProcessing?.vignetteEnabled,vignetteColor:d.imageProcessing?.vignetteColor.asArray(),vignetteWeight:d.imageProcessing?.vignetteWeight,chromaticAberrationEnabled:d.chromaticAberrationEnabled,aberrationAmount:d.chromaticAberration.aberrationAmount,radialIntensity:d.chromaticAberration.radialIntensity,direction:d.chromaticAberration.direction.asArray(),centerPosition:d.chromaticAberration.centerPosition.asArray(),glowLayerEnabled:d.glowLayerEnabled,glowLayerIntensity:d.glowLayer?.intensity,glowLayerBlurKernelSize:d.glowLayer?.blurKernelSize,colorGradingEnabled:d.imageProcessing.colorGradingEnabled,colorGradingTexture:d.imageProcessing.colorGradingTexture?.serialize(),colorGradingWithGreenDepth:d.imageProcessing.imageProcessingConfiguration.colorGradingWithGreenDepth,colorCurvesEnabled:d.imageProcessing.colorCurvesEnabled,globalHue:d.imageProcessing.colorCurves?.globalHue,globalDensity:d.imageProcessing.colorCurves?.globalDensity,globalExposure:d.imageProcessing.colorCurves?.globalExposure,globalSaturation:d.imageProcessing.colorCurves?.globalSaturation,highlightsHue:d.imageProcessing.colorCurves?.highlightsHue,highlightsDensity:d.imageProcessing.colorCurves?.highlightsDensity,highlightsExposure:d.imageProcessing.colorCurves?.highlightsExposure,highlightsSaturation:d.imageProcessing.colorCurves?.highlightsSaturation,midtonesHue:d.imageProcessing.colorCurves?.midtonesHue,midtonesDensity:d.imageProcessing.colorCurves?.midtonesDensity,midtonesExposure:d.imageProcessing.colorCurves?.midtonesExposure,midtonesSaturation:d.imageProcessing.colorCurves?.midtonesSaturation,shadowsHue:d.imageProcessing.colorCurves?.shadowsHue,shadowsDensity:d.imageProcessing.colorCurves?.shadowsDensity,shadowsExposure:d.imageProcessing.colorCurves?.shadowsExposure,shadowsSaturation:d.imageProcessing.colorCurves?.shadowsSaturation}:null}i(lt,"serializeDefaultRenderingPipeline");function ct(e,r,t,n){if(d)return d;let o=tr(e,r);if(o.samples=t.samples,o.fxaaEnabled=t.fxaaEnabled,o.imageProcessingEnabled=t.imageProcessingEnabled,o.imageProcessing){if(o.imageProcessing.exposure=t.exposure,o.imageProcessing.contrast=t.contrast,o.imageProcessing.fromLinearSpace=t.fromLinearSpace,o.imageProcessing.toneMappingEnabled=t.toneMappingEnabled,o.imageProcessing.toneMappingType=t.toneMappingType,o.imageProcessing.ditheringEnabled=t.ditheringEnabled,o.imageProcessing.ditheringIntensity=t.ditheringIntensity,o.imageProcessing.vignetteEnabled=t.vignetteEnabled??!1,o.imageProcessing.vignetteColor=Jt.Color4.FromArray(t.vignetteColor??[0,0,0]),o.imageProcessing.vignetteWeight=t.vignetteWeight??.3,o.imageProcessing.colorGradingEnabled=t.colorGradingEnabled??!1,o.imageProcessing.imageProcessingConfiguration.colorGradingWithGreenDepth=t.colorGradingWithGreenDepth??!0,t.colorGradingTexture){let s=null;if(t.colorGradingTexture.customType==="BABYLON.ColorGradingTexture"){let a=n+t.colorGradingTexture.name;s=new Xt.ColorGradingTexture(a,e),s.level=t.colorGradingTexture.level}else{let a=Zt.Texture.Parse(t.colorGradingTexture,e,n);ce(a)&&(s=a)}o.imageProcessing.colorGradingTexture=s}o.imageProcessing.colorCurvesEnabled=t.colorCurvesEnabled??!1,o.imageProcessing.colorCurves&&(o.imageProcessing.colorCurves.globalHue=t.globalHue??30,o.imageProcessing.colorCurves.globalDensity=t.globalDensity??0,o.imageProcessing.colorCurves.globalExposure=t.globalExposure??0,o.imageProcessing.colorCurves.globalSaturation=t.globalSaturation??0,o.imageProcessing.colorCurves.highlightsHue=t.highlightsHue??30,o.imageProcessing.colorCurves.highlightsDensity=t.highlightsDensity??0,o.imageProcessing.colorCurves.highlightsExposure=t.highlightsExposure??0,o.imageProcessing.colorCurves.highlightsSaturation=t.highlightsSaturation??0,o.imageProcessing.colorCurves.midtonesHue=t.midtonesHue??30,o.imageProcessing.colorCurves.midtonesDensity=t.midtonesDensity??0,o.imageProcessing.colorCurves.midtonesExposure=t.midtonesExposure??0,o.imageProcessing.colorCurves.midtonesSaturation=t.midtonesSaturation??0,o.imageProcessing.colorCurves.shadowsHue=t.shadowsHue??30,o.imageProcessing.colorCurves.shadowsDensity=t.shadowsDensity??0,o.imageProcessing.colorCurves.shadowsExposure=t.shadowsExposure??0,o.imageProcessing.colorCurves.shadowsSaturation=t.shadowsSaturation??0)}return o.bloomEnabled=t.bloomEnabled,o.bloomThreshold=t.bloomThreshold,o.bloomWeight=t.bloomWeight,o.bloomScale=t.bloomScale,o.bloomKernel=t.bloomKernel,o.sharpenEnabled=t.sharpenEnabled,o.sharpen.edgeAmount=t.sharpenEdgeAmount,o.sharpen.colorAmount=t.sharpenColorAmount,o.grainEnabled=t.grainEnabled,o.grain.intensity=t.grainIntensity,o.grain.animated=t.grainAnimated,o.depthOfFieldEnabled=t.depthOfFieldEnabled,o.depthOfFieldBlurLevel=t.depthOfFieldBlurLevel,o.depthOfField.lensSize=t.lensSize,o.depthOfField.fStop=t.fStop,o.depthOfField.focusDistance=t.focusDistance,o.depthOfField.focalLength=t.focalLength,o.chromaticAberrationEnabled=t.chromaticAberrationEnabled??!1,o.chromaticAberration.aberrationAmount=t.aberrationAmount??10,o.chromaticAberration.radialIntensity=t.radialIntensity??1,o.chromaticAberration.direction=st.Vector2.FromArray(t.direction??[0,0]),o.chromaticAberration.centerPosition=st.Vector2.FromArray(t.centerPosition??[0,0]),o.glowLayerEnabled=t.glowLayerEnabled??!1,o.glowLayer&&(o.glowLayer.intensity=t.glowLayerIntensity??1,o.glowLayer.blurKernelSize=t.glowLayerBlurKernelSize??32),o}i(ct,"parseDefaultRenderingPipeline");function Hn(e){q.set(e,et()),W.set(e,Ue()),Y.set(e,Ye()),J.set(e,ot()),Z.set(e,lt()),H.set(e,Je())}i(Hn,"saveRenderingConfigurationForCamera");function pt(e,r,t){Xe(),je(e.getScene()),We(),nt(),at(),qe();let n=q.get(e);n&&!t?.ssao2Disabled&&tt(e.getScene(),e,n);let o=W.get(e);o&&!t?.vlsDisabled&&Qe(e.getScene(),o);let s=Y.get(e);s&&!t?.ssrDisabled&&He(e.getScene(),e,s);let a=J.get(e);a&&!t?.motionBlurDisabled&&it(e.getScene(),e,a);let c=Z.get(e);c&&!t?.defaultPipelineDisabled&&ct(e.getScene(),e,c,r);let l=H.get(e);l&&!t?.taaDisabled&&Ze(e.getScene(),e,l)}i(pt,"applyRenderingConfigurationForCamera");var me=require("babylonjs"),rr=require("babylonjs");function nr(e){let r=e.metadata?.physicsAggregate;if(!r)return;let t;D(e)?t=e:le(e)&&(t=e.sourceMesh);let n=new rr.PhysicsAggregate(e,r.shape.type,{mesh:t,mass:r.massProperties.mass});n.body.setMassProperties({mass:r.massProperties.mass,inertia:r.massProperties.inertia?me.Vector3.FromArray(r.massProperties.inertia):void 0,centerOfMass:r.massProperties.centerOfMass?me.Vector3.FromArray(r.massProperties.centerOfMass):void 0,inertiaOrientation:r.massProperties.inertiaOrientation?me.Quaternion.FromArray(r.massProperties.inertiaOrientation):void 0}),n.shape.density=r.shape.density,n.body.setMotionType(r.body.motionType),n.shape.material=r.material,e.physicsAggregate=n,e.metadata.physicsAggregate=void 0}i(nr,"configurePhysicsAggregate");function or(e,r){(Array.isArray(r)?r:[]).forEach(n=>{let o=e.getCameraById(n.cameraId);o&&(n.ssao2RenderingPipeline&&q.set(o,n.ssao2RenderingPipeline),n.vlsPostProcess&&W.set(o,n.vlsPostProcess),n.ssrRenderingPipeline&&Y.set(o,n.ssrRenderingPipeline),n.motionBlurPostProcess&&J.set(o,n.motionBlurPostProcess),n.defaultRenderingPipeline&&Z.set(o,n.defaultRenderingPipeline),n.taaRenderingPipeline&&H.set(o,n.taaRenderingPipeline))})}i(or,"applyRenderingConfigurations");var ir=require("babylonjs");function X(e,r,t){return new Promise((n,o)=>{let s=new ir.WebRequest;s.open("GET",e),s.responseType=r,s.send(),s.addEventListener("progress",a=>{t?.({total:a.total,loaded:a.loaded})}),s.addEventListener("load",()=>{n(r==="text"?s.responseText:s.response)}),s.addEventListener("error",a=>o(a))})}i(X,"loadFile");async function N(e,r){let t=await X(e,"text",r);return JSON.parse(t)}i(N,"loadJsonFile");function mt(e,r){let t=r.getNodeByName(e);if(t)return t;let n=r.lights.filter(o=>Ae(o));for(let o of n){let s=o.lights.find(a=>a.name===e);if(s)return s}return null}i(mt,"getNodeByName");function ee(e,r){let t=r.getNodeById(e);if(t)return t;let n=r.lights.filter(o=>Ae(o));for(let o of n){let s=o.lights.find(a=>a.id===e);if(s)return s}return null}i(ee,"getNodeById");var U=require("babylonjs"),sr=require("babylonjs");function ut(e){let r=sr.Vector3.FromArray(e);return r.equals(U.Axis.X)?U.Axis.X:r.equals(U.Axis.Y)?U.Axis.Y:r.equals(U.Axis.Z)?U.Axis.Z:r}i(ut,"parseAxis");function ar(e){return e.runtimeConfiguration.forEach(r=>{r.rotationAxis&&(r.rotationAxis=ut(r.rotationAxis)),r.boneOffsetAxis&&(r.boneOffsetAxis=ut(r.boneOffsetAxis))}),e}i(ar,"parseRagdollConfiguration");function dt(e){let r={rootNodeId:e.rootNodeId,skeletonName:e.skeletonName,scalingFactor:e.scalingFactor,runtimeConfiguration:e.runtimeConfiguration.map(t=>({name:t.name,bones:t.bones,width:t.width,depth:t.depth,height:t.height,size:t.size,joint:t.joint,min:t.min,max:t.max,boxOffset:t.boxOffset,rotationAxis:t.rotationAxis?.slice(),boneOffsetAxis:t.boneOffsetAxis?.slice()}))};return ar(r)}i(dt,"copyAndParseRagdollConfiguration");function qn(e){return new Promise(r=>{setTimeout(()=>r(),e)})}i(qn,"waitMs");async function ft(e){for(;!e();)await qn(150)}i(ft,"waitUntil");function gt(e){return e&&JSON.parse(JSON.stringify(e))}i(gt,"cloneJSObject");var ht=require("babylonjs"),dr=require("babylonjs"),Ce=require("babylonjs"),fr=require("babylonjs"),gr=require("babylonjs"),z=require("babylonjs"),lr=!1,cr=null,te=[],yt=new Map;function Jn(e,r){let t=(0,z._GetAudioEngine)(null);return new gr._WebAudioStaticSound(e,t,r)}i(Jn,"createSoundInstance");function pr(e){if(cr?.remove(),!te.length)return;let r=ht.Vector3.Zero();cr=e.onBeforeRenderObservable.add(()=>{let t=(0,z._GetAudioEngine)(null).listener.attachedNode;t&&(t.getWorldMatrix().getTranslationToRef(r),te.forEach(n=>{n.isEnabled(!1)&&n.autoUpdateSpatial&&n.sound?._isSpatial&&n.isPlaying()&&e.activeCamera&&ht.Vector3.Distance(r,n.absolutePosition)<=n.sound.spatial.maxDistance&&n.sound.spatial.update()}))})}i(pr,"registerUpdateSoundsObserver");function mr(e){e.sound?.onDisposeObservable.addOnce(()=>{let r=te.indexOf(e);r!==-1&&te.splice(r,1)}),e.onDisposeObservable.addOnce(()=>{e.sound?.dispose()})}i(mr,"registerSoundNodeEvents");function Zn(e,r){return new Promise(async(t,n)=>{if(!e.offlineProvider||!dr.Database.IDBStorageEnabled)return(0,z.CreateSoundBufferAsync)(r).then(o=>t(o)).catch(o=>n(o));e.offlineProvider.loadFile(r,o=>{(0,z.CreateSoundBufferAsync)(o).then(s=>t(s)).catch(s=>n(s))},void 0,()=>{n(null)},!0)})}i(Zn,"loadSoundBuffer");function yr(e,r){if(!e.soundRelativePath||!e.sound)return;let t=Jn(e.soundRelativePath,{spatialAutoUpdate:!1});t._initAsync(e.sound.buffer,{spatialAutoUpdate:!1}).then(()=>{t.volume=e.volume,t._isSpatial=e.sound._isSpatial,t._isSpatial&&(t.spatial.attach(r),t.spatial.maxDistance=e.sound.spatial.maxDistance,t.spatial.panningModel=e.sound.spatial.panningModel,t.spatial.distanceModel=e.sound.spatial.distanceModel),r.sound=t,r.isSoundNode=!0,r.soundRelativePath=e.soundRelativePath,r.autoUpdateSpatial=e.autoUpdateSpatial,te.push(r),pr(r.getScene())}),mr(r),ur(r,t)}i(yr,"configureSourceNodeFrom");function ur(e,r){Object.defineProperty(e,"volume",{get:i(()=>r.volume,"get"),set:i(t=>{r.volume=t},"set")}),Object.defineProperty(e,"playbackRate",{get:i(()=>r.playbackRate,"get"),set:i(t=>{r.playbackRate=t},"set")}),e.isPaused=()=>r.state===Ce.SoundState.Paused,e.isPlaying=()=>r.state===Ce.SoundState.Started,e.isStopped=()=>r.state===Ce.SoundState.Stopped,e.pause=()=>r.pause(),e.resume=()=>r.resume(),e.stop=t=>r.stop(t),e.play=t=>r.play(t),e.setVolume=(t,n)=>r.setVolume(t,n),e.attachTo=(t,n,o)=>r.spatial.attach(t,n,o),e.getClassName=()=>"SoundNode"}i(ur,"configureSoundNodePrototype");function hr(){lr||(lr=!0,(0,fr.AddParser)("SoundNode",(e,r,t,n)=>{e.transformNodes?.forEach(o=>{if(!o.isSoundNode)return;let s=t.transformNodes?.find(a=>a.id===o.id);if(s&&o.soundRelativePath){let a=`${n}${o.soundRelativePath}`;r.addPendingData(a),yt.has(a)||yt.set(a,Zn(r,a)),yt.get(a).then(l=>{(0,z.CreateSoundAsync)(o.soundRelativePath,l,{spatialAutoUpdate:!1}).then(p=>{if(r.removePendingData(a),s.isDisposed())return p.dispose();p.volume=o.volume,p._isSpatial=o.isSpatial,o.isSpatial&&(p.spatial.attach(s),p.spatial.maxDistance=o.maxDistance,p.spatial.panningModel=o.panningModel,p.spatial.distanceModel=o.distanceModel),s.sound=p,s.isSoundNode=!0,s.soundRelativePath=o.soundRelativePath,s.autoUpdateSpatial=o.autoUpdateSpatial,te.push(s),mr(s),ur(s,p),pr(r)})})}})}))}i(hr,"registerAudioParser");function re(e){let r=new Set;[...e.transformNodes,...e.meshes].forEach(n=>{if(n.metadata?.isStaticGroup){let o=n.getDescendants(!1);o.push(n),o.forEach(s=>{if(($(s)||k(s)&&!s.isWorldMatrixFrozen)&&s.freezeWorldMatrix(),$(s)){let a=s.material;a&&!a.isFrozen&&!r.has(a)&&(r.add(a),a.onBindObservable.addOnce(()=>{a.freeze()}))}})}})}i(re,"configureTransformNodes");var ue=class{constructor(r,t){this.entries=r;this.namingId=t}entries;namingId;static{i(this,"AdvancedAssetContainerInstantiatedEntries")}get rootNodes(){return this.entries.rootNodes}get skeletons(){return this.entries.skeletons}get animationGroups(){return this.entries.animationGroups}dispose(){this.entries.dispose()}getRootNodeByName(r){let t=`${r}-${this.namingId}`;return this.entries.rootNodes.find(n=>n.name===t)??null}getNodeByName(r){let t=`${r}-${this.namingId}`;for(let n of this.entries.rootNodes){let o=this._recursivelyGetNodeByName(t,n);if(o)return o}return null}_recursivelyGetNodeByName(r,t){if(t.name===r)return t;for(let n of t.getDescendants(!0)){let o=this._recursivelyGetNodeByName(r,n);if(o)return o}return null}getScriptByClassByObjectName(r,t){let n=this.getNodeByName(r);if(n){let o=ne(n,t);if(o?.length===1)return o[0]}return null}};var St=require("babylonjs"),de=class{static{i(this,"AdvancedAssetContainer")}container;_rootUrl;_scriptsMap;_originalDescendants=[];_nodesMap=new Map;_animationGroupsMap=new Map;constructor(r,t,n){this.container=r,this._rootUrl=t,this._scriptsMap=n,r.populateRootNodes(),r.rootNodes.forEach(o=>{this._originalDescendants.push(o,...o.getDescendants(!1))}),r.animationGroups.forEach(o=>{this._animationGroupsMap.set(o.name,o)}),this._originalDescendants.forEach(o=>{this._nodesMap.set(o,{node:o,metadata:gt(o.metadata)})})}removeDefault(){this.container.getNodes().forEach(r=>{R.get(r)?.forEach(n=>{Ie(r,n)})}),this.container.removeAllFromScene()}getRootNodeByName(r){return this.container.rootNodes.find(t=>t.name===r)??null}getScriptByClassByObjectName(r,t){let n=this.container.getNodes();for(let o of n)if(o.name===r){let s=ne(o,t);if(s?.length===1)return s[0]}return null}instantiate(r){let t=St.Tools.RandomId(),n=i(l=>l,"nameFunction"),o=this.container.instantiateModelsToScene(n,!1,{...r,predicate:i(l=>(l.name=`${l.name}@editor-tools@${t}_${l.id}`,r?.predicate?.(l)??!0),"predicate")}),s=new ue(o,t);[...this.container.transformNodes,...this.container.meshes,...this.container.lights,...this.container.cameras,...this.container.animationGroups,...this.container.skeletons].forEach(l=>{let p=l.name.split("@editor-tools@");l.name=p[0]}),o.animationGroups.forEach(l=>{let p=l.name.split("@editor-tools@");l.name=`${p[0]}-${t}`});let c=[];return o.rootNodes.forEach(l=>{c.push(l,...l.getDescendants(!1))}),c.forEach(l=>{let p=l.name.split("@editor-tools@"),m=p[1].split("_").pop();l.name=`${p[0]}-${t}`;let u=this._originalDescendants.find(f=>f.id===m);j(u)&&k(l)&&yr(u,l),l.id=St.Tools.RandomId(),l.metadata=gt(this._nodesMap.get(u).metadata),l.metadata??={},l.metadata.originalId=m,c.forEach(f=>{f.metadata.scripts?.forEach(g=>{Object.keys(g.values||{}).forEach(y=>{let P=g.values[y];if(P.type==="entity"){P.value===m&&(P.value=l.id),P.value===u.name&&(P.value=l.name);let A=this._animationGroupsMap.get(P.value);A&&(P.value=`${A.name}-${t}`)}})})})}),c.forEach(l=>{F(this.container.scene,l,this._scriptsMap,this._rootUrl)}),re(this.container.scene),s}};var Sr=require("babylonjs"),br=require("babylonjs");async function Pr(e,r,t){let n=t.iblIntensity,o=t.environmentIntensity,a=e.split("/").pop().replace(".scene",".babylon"),c=await(0,br.LoadAssetContainerAsync)(a,t,{rootUrl:r,pluginExtension:".babylon"});return Sr.SceneLoaderFlags.ForceFullSceneLoadingForIncremental&&t.meshes.forEach(l=>D(l)&&l._checkDelayState()),c.addAllToScene(),t.iblIntensity=n,t.environmentIntensity=o,re(t),c}i(Pr,"preloadSceneScriptAsset");async function xr(e,r){return N(`${r}${e}`)}i(xr,"preloadCommonScriptAsset");var O=new Map,fe=new Map;function Xn(e,r){fe.has(e)&&console.warn(`A parser for the extension '${e}' was already registered. It will be overwritten.`),fe.set(e,r)}i(Xn,"registerScriptAssetParser");async function bt(e,r,t){[r,...r.transformNodes,...r.meshes,...r.lights,...r.cameras].filter(c=>c.metadata?.scripts?.length).map(c=>c.metadata.scripts).flat().forEach(c=>{if(t[c.key]?.default?._SceneAssets?.forEach(p=>{O.get(p.sceneName)||O.set(p.sceneName,null)}),c.values)for(let p in c.values){if(!c.values.hasOwnProperty(p))continue;let m=c.values[p];m.type==="asset"&&m.value&&!O.get(m.value)&&O.set(m.value,null)}});let s=0;for(let c of O.values())c===null&&++s;if(s===0)return s;let a=[];return O.forEach((c,l)=>{O.get(l)||a.push(new Promise(async p=>{try{let m=l.split(".").pop();switch(m){case"scene":let u=await Pr(l,e,r);r.onDisposeObservable.addOnce(()=>{u.dispose(),O.delete(l)}),O.set(l,new de(u,e,t));break;default:if(fe.has(m)){let f=fe.get(m);O.set(l,await f({key:l,rootUrl:e,scene:r}));break}else O.set(l,await xr(l,e));break}}catch(m){console.error(m)}p()}))}),await Promise.all(a),s}i(bt,"_preloadScriptsAssets");var Ar=require("babylonjs"),Ee=require("babylonjs"),vr=require("babylonjs"),Te=require("babylonjs"),Cr=require("babylonjs"),Ir=require("babylonjs-gui");function Pt(e,r,t,n,o){let s=n.constructor;if(!s)return;s._NodesFromScene?.forEach(l=>{n[l.propertyKey.toString()]=mt(l.nodeName,e)}),s._ComponentsFromScene?.length&&e.getEngine().onBeginFrameObservable.addOnce(()=>{s._ComponentsFromScene?.forEach(l=>{let p=[];if([e,...e.transformNodes,...e.meshes,...e.lights,...e.cameras].forEach(u=>{let f=xt(u,l.componentConstructor);f&&p.push(f)}),p.length>1)throw new Error(`Multiple components of type ${s._ComponentsFromScene[0].componentConstructor.name} found in scene for property "${s._ComponentsFromScene[0].propertyKey.toString()}".`);n[l.propertyKey.toString()]=p[0]??null})}),s._NodesFromDescendants?.forEach(l=>{let p=r.getDescendants?.(l.directDescendantsOnly,m=>m.name===l.nodeName)[0];n[l.propertyKey.toString()]=p??null}),s._AnimationGroups?.forEach(l=>{n[l.propertyKey.toString()]=e.getAnimationGroupByName(l.animationGroupName)}),s._SoundsFromScene?.forEach(l=>{let p=mt(l.soundName,e);p&&j(p)&&(n[l.propertyKey.toString()]=p??null)}),(s._GuiFromAsset??[]).map(async l=>{let p=`${o}assets/${l.pathInAssets}`;try{let m=await N(p),u=Ir.AdvancedDynamicTexture.CreateFullscreenUI(m.name,!0,e);u.parseSerializedObject(m.content,!1),n[l.propertyKey.toString()]=u,l.onGuiCreated?.(n,u)}catch(m){throw console.error(`Failed to load GUI from asset: ${p}`),m}}),s._ParticleSystemsFromScene?.forEach(l=>{let p=e.particleSystems?.find(m=>m.name!==l.particleSystemName?!1:l.directDescendantsOnly?m.emitter===r:m);n[l.propertyKey.toString()]=p}),(s._VisibleInInspector??[]).forEach(l=>{let p=l.propertyKey.toString(),m=t.values;if(!m)throw new Error(`No values found for script with key "${t.key}".`);if(m.hasOwnProperty(p)&&m[p].hasOwnProperty("value")){let u=m[p].value;switch(l.configuration.type){case"number":case"boolean":case"keymap":case"string":n[p]=u;break;case"vector2":n[p]=Te.Vector2.FromArray(u);break;case"vector3":n[p]=Te.Vector3.FromArray(u);break;case"color3":n[p]=Ee.Color3.FromArray(u);break;case"color4":n[p]=Ee.Color4.FromArray(u);break;case"entity":switch(l.configuration.entityType){case"node":case"sound":n[p]=ee(u,e)??null;break;case"animationGroup":n[p]=e.getAnimationGroupByName(u)??null;break;case"particleSystem":n[p]=e.particleSystems?.find(g=>g.id===u)??null;break}break;case"texture":u&&(n[p]=vr.Texture.Parse(u,e,o));break;case"asset":if(u){let g=l.configuration.assetType,h=O.get(u);switch(g){case"json":case"gui":case"scene":case"navmesh":case"cinematic":n[p]=h;break;case"ragdoll":n[p]=dt(h);break;case"nodeParticleSystemSet":let y=Cr.NodeParticleSystemSet.Parse(h);n[p]=y;break;case"material":n[p]=Ar.Material.Parse(h,e,o);break}}}}});let a=null,c=null;if(s._PointerEvents?.length){if(s._PointerEvents.find(m=>m.options.mode==="attachedMeshOnly")&&!$(r))throw new Error('@onPointerEvent with mode "attachedMeshOnly" can only be used on scripts attached to meshes (extends AbstractMesh).');if(s._PointerEvents.find(m=>m.options.mode!=="global")&&!Q(r))throw new Error('@onPointerEvent with mode different from "global" can be used only on scripts attached to Node: Mesh, Light, Camera, TransformNode.');a=e.onPointerObservable.add(m=>{let u=null;s._PointerEvents.forEach(f=>{if(!f.eventTypes.includes(m.type))return;let g=f.propertyKey.toString();if(f.options.mode==="global")return n[g]?.(m);u=m.pickInfo,u||(u=e.pick(e.pointerX,e.pointerY,y=>y.isVisible&&y.isPickable&&y.isEnabled(!0)&&!y._masterMesh,!1));let h=u.pickedMesh;if(h&&(f.options.mode==="attachedMeshOnly"&&h===r||f.options.mode==="includeDescendants"&&Q(r)&&[r,...r.getDescendants(!1)].find(A=>A===h)))return n[g]?.(m)})})}if(s._KeyboardEvents?.length&&(c=e.onKeyboardObservable.add(l=>{s._KeyboardEvents.forEach(p=>{p.eventTypes.includes(l.type)&&n[p.propertyKey.toString()]?.(l)})})),s._SpritesFromSpriteManager?.length){let l=r;if(!k(l)||!l.isSpriteManager)return console.error("@spriteFromSpriteManager decorator can only be used on SpriteManagerNode.");if(!l.spriteManager)return console.error(`SpriteManagerNode "${l.name}" has no sprite manager assigned.`);s._SpritesFromSpriteManager?.forEach(p=>{let m=l.spriteManager?.sprites.find(u=>u.name===p.spriteName)||null;n[p.propertyKey.toString()]=m})}if(s._AnimationsFromSprite?.length){if(!Be(r))return console.error("@animationFromSprite decorator can only be used in scripts attached on Sprite.");let l=r.metadata?.spriteAnimations;if(!l?.length)return console.error(`Sprite "${r.name}" has no sprite animations assigned.`);s._AnimationsFromSprite.forEach(p=>{let m=l.find(u=>u.name===p.animationName);m?n[p.propertyKey.toString()]=m??null:console.warn(`Sprite animation named "${p.animationName}" not found on sprite "${r.name}".`)})}return s._SceneAssets?.forEach(l=>{n[l.propertyKey.toString()]=O.get(l.sceneName)}),{observers:{pointerObserver:a,keyboardObserver:c}}}i(Pt,"applyDecorators");function F(e,r,t,n){r.metadata?.scripts&&(r.metadata.scripts?.forEach(o=>{if(!o.enabled)return;let s=t[o.key];if(!s)return;let a=s,c={};if(s.default){a=new s.default(r);let l=Pt(e,r,o,a,n);Object.assign(c,l?.observers??{})}a.onStart&&(c.onStartObserver=e.onBeforeRenderObservable.addOnce(()=>a.onStart(r))),a.onUpdate&&(c.onUpdateObserver=e.onBeforeRenderObservable.add(()=>a.onUpdate(r))),At(r,a,o.key,c)}),r.metadata.scripts=void 0)}i(F,"_applyScriptsForObject");function eo(e,r,t){if(t??=e.getScene?.(),!t)throw new Error("Cannot apply script on object: no scene available.");let n=new r(e),o={};return Pt(t,e,{values:{}},n,""),n.onStart&&(o.onStartObserver=t.onBeforeRenderObservable.addOnce(()=>n.onStart())),n.onUpdate&&t.onBeforeRenderObservable.add(()=>n.onUpdate()),At(e,n,"runtime",o),n}i(eo,"applyScriptOnObject");var R=new Map;function At(e,r,t,n){let o={key:t,observers:n,instance:r};R.has(e)?R.get(e).push(o):R.set(e,[o]),(Q(e)||Ve(e)||_e(e)||j(e))&&e.onDisposeObservable.addOnce((()=>{R.get(e)?.slice()?.forEach(a=>{Ie(e,a)}),R.delete(e)}))}i(At,"_registerScriptInstance");function Ie(e,r){r.observers.onStartObserver?.remove(),r.observers.onUpdateObserver?.remove(),r.observers.pointerObserver?.remove(),r.observers.keyboardObserver?.remove();try{r.instance.onStop?.(e)}catch(o){console.error(`Failed to call onStop for script ${r.key} on object ${e}`,o)}let t=R.get(e),n=t?.indexOf(r)??-1;n!==-1&&t?.splice(n,1)}i(Ie,"_removeRegisteredScriptInstance");function ne(e,r){return R.get(e)?.filter(o=>o.instance.constructor===r)?.map(o=>o.instance)??null}i(ne,"getAllScriptsByClassForObject");function xt(e,r){return ne(e,r)?.[0]??null}i(xt,"getScriptByClassForObject");var Er=!1;function to(e){Er=e}i(to,"setUseKtx2CompressedTextures");function ge(){return Er}i(ge,"isUsingKtx2CompressedTextures");function Oe(e){return`${e.substring(0,e.lastIndexOf("."))}.ktx2`}i(Oe,"_getKtx2TextureName");function ro(e){e.setCompressedTextureExclusions([".env",".hdr",".dds"]),e.setTextureFormatToUse(["-dxt.ktx","-astc.ktx","-pvrtc.ktx","-etc1.ktx","-etc2.ktx"])}i(ro,"configureEngineToUseCompressedTextures");function De(e,r){e._excludedCompressedTextures&&!e._excludedCompressedTextures?.includes(r)&&e._excludedCompressedTextures?.push(r)}i(De,"addExcludedCompressedTexture");function no(e,r,t){r.loadingTexturesQuality!==e&&(r.loadingTexturesQuality=e,r.textures.forEach(n=>{if(!ce(n)||!n.url)return;let o=Me(n,r);!o||n.url.includes(o)||n.updateURL(t+o)}))}i(no,"applyTexturesQuality");function Me(e,r){if(r.loadingTexturesQuality==="high"||!e.metadata?.baseSize)return e.name;let t=e.metadata.baseSize.width,n=e.metadata.baseSize.height,o=t===M(t)||n===M(n),s="";switch(r.loadingTexturesQuality){case"medium":let f=t*.66>>0,g=n*.66>>0;o&&(f=M(f),g=M(g)),s=`_${f}_${g}`;break;case"low":case"very-low":let h=t*.33>>0,y=n*.33>>0;o&&(h=M(h),y=M(y)),s=`_${h}_${y}`;break}let a=e.name;if(!a||!s)return e.name;let c=a.split("/"),l=c.pop();if(!l)return e.name;let p=l.split(".").pop(),u=`${l.replace(`.${p}`,"")}${s}.${p}`;return c.push(u),c.join("/")}i(Me,"getTextureUrl");var vt=require("babylonjs"),Tr=!1;function Or(){if(Tr)return;Tr=!0;let e=vt.SerializationHelper._TextureParser;vt.SerializationHelper._TextureParser=(r,t,n)=>{ge()&&(r.name&&(r.name=Oe(r.name)),r.url&&(r.url=Oe(r.url)));let o=Me(r,t);if(!o)return e(r,t,n);let s=r.name;r.name=o;let a=e(r,t,n);return a&&(a.name=s),a}}i(Or,"registerTextureParser");var Mr=require("babylonjs"),wr=require("babylonjs"),we=require("babylonjs"),Nr=require("babylonjs"),Dr=!1;function Fr(){if(Dr)return;Dr=!0,(0,Nr.RegisterShadowGeneratorSceneComponent)(wr.ShadowGenerator);let e=(0,we.GetParser)(Mr.SceneComponentConstants.NAME_SHADOWGENERATOR);(0,we.AddParser)("ShadowGeneratorEditorPlugin",(r,t,n,o)=>{let s=new Map;r.shadowGenerators?.forEach(a=>{if(s.set(a.id,a.mapSize),t.loadingShadowsQuality!=="high"){switch(t.loadingShadowsQuality){case"medium":a.mapSize=a.mapSize*.5;break;case"low":a.mapSize=a.mapSize*.25;break;case"very-low":a.mapSize=a.mapSize*.125;break}a.mapSize=Math.max(128,M(a.mapSize))}}),e?.(r,t,n,o),t.lights.forEach(a=>{let c=a.getShadowGenerator();if(c?.getShadowMap()){let p=c.id,m=s.get(p);m&&(c.originalMapSize=m)}})})}i(Fr,"registerShadowGeneratorParser");var _r=require("babylonjs"),Lr=require("babylonjs"),Rr=!1;function Vr(){Rr||(Rr=!0,(0,Lr.AddParser)("MorphTargetManagerEditorPlugin",(e,r,t,n)=>{e.morphTargetManagers.forEach(o=>{let a=t.meshes.find(p=>p.id===o.meshId)?.morphTargetManager;if(!a||o.targets.find(p=>!p.delayLoadingFile))return;let l=[];o.targets.forEach(p=>{if(!p.delayLoadingFile)return l.push(Promise.resolve(null));let m=`${n}${p.delayLoadingFile}`;r.addPendingData(m);let u=new _r.WebRequest;u.responseType="arraybuffer",u.open("GET",m),u.send(),l.push(new Promise(f=>{u.addEventListener("load",()=>{r.removePendingData(m),f(u.response)})}))}),Promise.all(l).then(p=>{for(let m=0,u=a.numTargets;m<u;++m){let f=a.getTarget(m),g=o.targets[m],h=p[m];if(g.positionsCount){let y=new Float32Array(h,g.positionsOffset,g.positionsCount);f._positions=y,f.setPositions(y)}if(g.normalsCount){let y=new Float32Array(h,g.normalsOffset,g.normalsCount);f._normals=y,f.setNormals(y)}if(g.tangentsCount){let y=new Float32Array(h,g.tangentsOffset,g.tangentsCount);f._tangents=y,f.setTangents(y)}if(g.uvsCount){let y=new Float32Array(h,g.uvsOffset,g.uvsCount);f._uvs=y,f.setUVs(y)}if(g.uv2sCount){let y=new Float32Array(h,g.uv2sOffset,g.uv2sCount);f._uv2s=y,f.setUV2s(y)}}for(let m=0,u=a.numTargets;m<u;++m)a.getTarget(m)._onDataLayoutChanged.notifyObservers()})})}))}i(Vr,"registerMorphTargetManagerParser");var Br=require("babylonjs");function Gr(e,r){r??=new Br.ClusteredLightContainer("Clustered Light Container",[],e);let t=e.metadata?.clusteredLight;return t&&(t.lights.length>0&&(r.horizontalTiles=t.horizontalTiles,r.verticalTiles=t.verticalTiles,r.depthSlices=t.depthSlices,r.maxRange=t.maxRange),t.lights.forEach(n=>{let o=e.getLightById(n);o&&r?.addLight(o)})),r}i(Gr,"configureLights");function Ct(e){if(!Array.isArray(e.frames)){let r=[];for(let t of Object.keys(e.frames))r.push({filename:t,...e.frames[t]});e.frames=r}}i(Ct,"normalizeAtlasJson");function oo(e,r,t){let o=(e.metadata?.spriteAnimations??[]).find(s=>s.name===r);if(!o)return console.error(`Animation with name "${r}" not found on sprite.`);e.playAnimation(o.from,o.to,o.loop,o.delay,t)}i(oo,"playSpriteAnimationFromName");var kr=require("babylonjs"),zr=require("babylonjs"),$r=require("babylonjs"),jr=require("babylonjs"),It=require("babylonjs"),oe=require("babylonjs"),Ur=require("babylonjs"),Kr=!1;function Qr(){Kr||(Kr=!0,(0,Ur.AddParser)("SpriteMapNode",(e,r,t,n)=>{e.transformNodes?.forEach(o=>{if(!o.isSpriteMap)return;let s=t.transformNodes?.find(l=>l.id===o.id);if(!s)return;s.isSpriteMap=o.isSpriteMap;let a=`${n}${o.atlasJsonRelativePath}`;r.addPendingData(a);let c=new $r.WebRequest;c.open("GET",a),c.send(),c.addEventListener("load",()=>{r.removePendingData(a);let l=JSON.parse(c.responseText);Ct(l);let p=`${kr.Tools.GetFolderPath(a)}${l.meta.image}`,m=new It.Texture(p,r,!1,!1,It.Texture.NEAREST_NEAREST,null,null,null,!1,zr.Engine.TEXTUREFORMAT_RGBA),u=new jr.SpriteMap(s.name,l,m,{layerCount:o.options.layerCount,stageSize:oe.Vector2.FromArray(o.options.stageSize??[10,1]),outputSize:oe.Vector2.FromArray(o.options.outputSize??[100,100]),colorMultiply:oe.Vector3.FromArray(o.options.colorMultiply??[1,1,1]),flipU:!0},r);o.getClassName=()=>"SpriteMapNode",o.tiles.forEach(g=>{for(let h=0,y=g.repeatCount.x+1;h<y;++h)for(let P=0,A=g.repeatCount.y+1;P<A;++P){let v=h*(g.repeatOffset.x+1),S=P*(g.repeatOffset.y+1);u.changeTiles(g.layer,new oe.Vector2(g.position.x+v,(u.options.stageSize?.y??0)-1-g.position.y-S),g.tile)}});let f=u._output;f.parent=s,s.spriteMap=u})})}))}i(Qr,"registerSpriteMapParser");var Hr=require("babylonjs"),qr=require("babylonjs"),Jr=require("babylonjs"),Et=require("babylonjs"),Zr=require("babylonjs");function Wr(e,r){r?.fogEnabled!==void 0&&(e.fogEnabled=r?.fogEnabled),r?.blendMode!==void 0&&(e.blendMode=r?.blendMode),r?.disableDepthWrite!==void 0&&(e.disableDepthWrite=r?.disableDepthWrite),r?.pixelPerfect!==void 0&&(e.pixelPerfect=r?.pixelPerfect),r?.useLogarithmicDepth!==void 0&&(e.useLogarithmicDepth=r?.useLogarithmicDepth),r?.metadata!==void 0&&(e.metadata=r?.metadata);for(let t of r?.sprites??[]){let n=qr.Sprite.Parse(t,e);n.uniqueId=t.uniqueId,n.metadata=t.metadata}}i(Wr,"parseSerializedSpriteManager");var Yr=!1;function Xr(){Yr||(Yr=!0,(0,Zr.AddParser)("SpriteManagerNode",(e,r,t,n)=>{e.transformNodes?.forEach(o=>{if(!o.isSpriteManager)return;let s=t.transformNodes?.find(c=>c.id===o.id);if(!s)return;let a=r.getEngine();if(s.isSpriteManager=o.isSpriteManager,o.atlasJsonRelativePath){let c=`${n}${o.atlasJsonRelativePath}`;r.addPendingData(c);let l=new Jr.WebRequest;l.open("GET",c),l.send(),l.addEventListener("load",()=>{r.removePendingData(c);let p=JSON.parse(l.responseText),m=`${Hr.Tools.GetFolderPath(c)}${p.meta.image}`;De(a,m);let u=new Et.SpriteManager(s.name,m,1e3,64,r,void 0,void 0,!0,p);s.spriteManager=u,s.getClassName=()=>"SpriteManagerNode",o.spriteManager&&Wr(u,o.spriteManager)})}else if(o.spriteManager?.textureUrl){De(a,o.spriteManager.textureUrl);let c=`${n}${o.spriteManager.textureUrl}`,l=new Et.SpriteManager(s.name,c,1e3,{width:o.spriteManager.cellWidth,height:o.spriteManager.cellHeight},r,void 0,void 0,!1);s.spriteManager=l,s.getClassName=()=>"SpriteManagerNode",o.spriteManager&&Wr(l,o.spriteManager)}})}))}i(Xr,"registerSpriteManagerParser");var tn=require("babylonjs"),rn=require("babylonjs"),en=!1;function nn(){en||(en=!0,(0,tn.AddParser)("NodeParticleSystemSetEditorPlugin",(e,r,t,n)=>{e.meshes?.forEach(o=>{if(!o.isNodeParticleSystemMesh)return;let s=t.meshes?.find(a=>a.id===o.id);s&&(o.nodeParticleSystemSet.blocks?.forEach(a=>{a.url&&(a.url=`${n}${a.url}`)}),s.nodeParticleSystemSet=rn.NodeParticleSystemSet.Parse(o.nodeParticleSystemSet),s.nodeParticleSystemSet.id=o.nodeParticleSystemSet.id,s.nodeParticleSystemSet.uniqueId=o.uniqueId,r.addPendingData(o.id),s.nodeParticleSystemSet.buildAsync(r,!1).then(a=>{r.removePendingData(o.id),s.particleSystemSet=a,a.systems.forEach(c=>{if(Le(c)){let l=c._sizeCreation.process;l&&(c._sizeCreation.process=(p,m)=>{l(p,m),p.scale.x*=100,p.scale.y*=100})}}),a.emitterNode=s,a.start()}))})}))}i(nn,"registerNodeParticleSystemSetParser");var an=require("babylonjs"),Tt=require("babylonjs"),ln=require("babylonjs"),cn=require("babylonjs"),on=new Map;async function sn(e,r){let t=e.getWaitingItemsCount();for(;!e.isDisposed&&(!e.isReady()||e.getWaitingItemsCount()>0);){await new Promise(o=>setTimeout(o,150));let n=t-e.getWaitingItemsCount();n===t&&e.textures.forEach(o=>{o.delayLoadState===Tt.Constants.DELAYLOADSTATE_NONE&&(o.delayLoadState=Tt.Constants.DELAYLOADSTATE_LOADED)}),r(n/t)}}i(sn,"waitForWaitingItems");async function io(e,r,t,n,o){t.loadingQuality=o?.quality??"high",t.loadingTexturesQuality=o?.texturesQuality??t.loadingQuality,t.loadingShadowsQuality=o?.shadowsQuality??t.loadingQuality,t.loadingLodsQuality=o?.lodsQuality??t.loadingQuality,hr(),Or(),Fr(),Vr(),Qr(),Xr(),nn();let s=on.get(t)??{};if(on.set(t,s),await(0,ln.AppendSceneAsync)(`${e}${r}`,t,{pluginExtension:".babylon",onProgress:i(c=>{let l=Math.min(c.loaded/c.total*.5);o?.onProgress?.(l)},"onProgress")}),await sn(t,c=>{o?.onProgress?.(.5+c*.25)}),!o?.skipAssetsPreload){let c=0;do c=await bt(e,t,n);while(c!==0&&!t.isDisposed)}cn.SceneLoaderFlags.ForceFullSceneLoadingForIncremental&&t.meshes.forEach(c=>D(c)&&c._checkDelayState());let a=Gr(t,s.clusteredLightContainer);s.clusteredLightContainer=a,await sn(t,c=>{o?.onProgress?.(.75+c*.25)}),o?.onProgress?.(1),Ke(t),ke(t.loadingLodsQuality,t),ze(t),ve(t),t.metadata?.rendering&&(or(t,t.metadata.rendering),t.activeCamera&&pt(t.activeCamera,e,o?.postProcessConfiguration)),t.metadata?.physicsGravity&&t.getPhysicsEngine()?.setGravity(an.Vector3.FromArray(t.metadata?.physicsGravity)),F(t,t,n,e),t.transformNodes.forEach(c=>{F(t,c,n,e)}),t.meshes.forEach(c=>{nr(c),F(t,c,n,e)}),t.lights.forEach(c=>{F(t,c,n,e)}),t.cameras.forEach(c=>{F(t,c,n,e)}),t.spriteManagers?.forEach(c=>{c.sprites.forEach(l=>{F(t,l,n,e)})}),re(t)}i(io,"loadScene");var pn=require("babylonjs");async function so(e,r,t){let n=await N(e+r),s=pn.Tools.Instantiate(n.customType).Parse(n,t,e);return s.id=n.id,s.uniqueId=n.uniqueId,s}i(so,"loadMaterialFromFile");function ao(e){return Promise.all(e.materials.map(async r=>{let t=r.getBindedMeshes();await Promise.all(t.map(async n=>{le(n)||await r.forceCompilationAsync(n,{clipPlane:!!e.clipPlane,useInstances:n.hasInstances})}))}))}i(ao,"forceCompileAllSceneMaterials");var B=require("babylonjs");function ye(e){if(!isNaN(parseFloat(e))&&isFinite(e))return B.Animation.ANIMATIONTYPE_FLOAT;switch(e?.getClassName?.()){case"Vector2":return B.Animation.ANIMATIONTYPE_VECTOR2;case"Vector3":return B.Animation.ANIMATIONTYPE_VECTOR3;case"Quaternion":return B.Animation.ANIMATIONTYPE_QUATERNION;case"Color3":return B.Animation.ANIMATIONTYPE_COLOR3;case"Color4":return B.Animation.ANIMATIONTYPE_COLOR4;case"Size":return B.Animation.ANIMATIONTYPE_SIZE;case"Matrix":return B.Animation.ANIMATIONTYPE_MATRIX}return null}i(ye,"getAnimationTypeForObject");var mn=require("babylonjs");function lo(e){return function(r,t){let n=r.constructor;n._NodesFromScene??=[],n._NodesFromScene.push({propertyKey:t,nodeName:e})}}i(lo,"nodeFromScene");function co(e){return function(r,t){let n=r.constructor;n._ComponentsFromScene??=[],n._ComponentsFromScene.push({propertyKey:t,componentConstructor:e})}}i(co,"componentFromScene");function po(e,r=!1){return function(t,n){let o=t.constructor;o._NodesFromDescendants??=[],o._NodesFromDescendants.push({propertyKey:n,nodeName:e,directDescendantsOnly:r})}}i(po,"nodeFromDescendants");function mo(e){return function(r,t){let n=r.constructor;n._AnimationGroups??=[],n._AnimationGroups.push({animationGroupName:e,propertyKey:t})}}i(mo,"animationGroupFromScene");function uo(e){return function(r,t){let n=r.constructor;n._SceneAssets??=[],n._SceneAssets.push({sceneName:e,propertyKey:t})}}i(uo,"sceneAsset");function fo(e,r){return function(t,n){let o=t.constructor;o._GuiFromAsset??=[],o._GuiFromAsset.push({propertyKey:n,pathInAssets:e,onGuiCreated:r})}}i(fo,"guiFromAsset");function go(e){return function(r,t){let n=r.constructor;n._SoundsFromScene??=[],n._SoundsFromScene.push({propertyKey:t,soundName:e})}}i(go,"soundFromScene");function yo(e,r=!1){return function(t,n){let o=t.constructor;o._ParticleSystemsFromScene??=[],o._ParticleSystemsFromScene.push({propertyKey:n,particleSystemName:e,directDescendantsOnly:r})}}i(yo,"particleSystemFromScene");function ho(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"boolean"}})}}i(ho,"visibleAsBoolean");function So(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"string"}})}}i(So,"visibleAsString");function bo(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"number"}})}}i(bo,"visibleAsNumber");function Po(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"vector2"}})}}i(Po,"visibleAsVector2");function xo(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"vector3"}})}}i(xo,"visibleAsVector3");function Ao(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"color3"}})}}i(Ao,"visibleAsColor3");function vo(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"color4"}})}}i(vo,"visibleAsColor4");function Co(e,r,t){return function(n,o){let s=n.constructor;s._VisibleInInspector??=[],s._VisibleInInspector.push({label:r,propertyKey:o,configuration:{...t,entityType:e,type:"entity"}})}}i(Co,"visibleAsEntity");function Io(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"texture"}})}}i(Io,"visibleAsTexture");function Eo(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"keymap"}})}}i(Eo,"visibleAsKeyMap");function To(e,r,t){return function(n,o){let s=n.constructor;s._VisibleInInspector??=[],s._VisibleInInspector.push({label:r,propertyKey:o,configuration:{...t,assetType:e,type:"asset"}})}}i(To,"visibleAsAsset");function Oo(e,r){return function(t,n){let o=t.constructor;o._PointerEvents??=[],o._PointerEvents.push({propertyKey:n,options:{mode:"global",...r??{}},eventTypes:Array.isArray(e)?e:[e]})}}i(Oo,"onPointerEvent");function Do(e){return function(r,t){let n=r.constructor;n._KeyboardEvents??=[],n._KeyboardEvents.push({propertyKey:t,eventTypes:Array.isArray(e)?e:[e]})}}i(Do,"onKeyboardEvent");function Mo(e){return function(r,t){let n=r.constructor;n._SpritesFromSpriteManager??=[],n._SpritesFromSpriteManager.push({propertyKey:t,spriteName:e})}}i(Mo,"spriteFromSpriteManager");function wo(e){return function(r,t){let n=r.constructor;n._AnimationsFromSprite??=[],n._AnimationsFromSprite.push({propertyKey:t,animationName:e})}}i(wo,"animationFromSprite");var Ne=require("babylonjs");function Zu(e,r){let t;return e===Ne.Animation.ANIMATIONTYPE_FLOAT?t=r.value:t=r.value.clone(),{value:t,frame:r.frame,interpolation:r.interpolation,inTangent:e===Ne.Animation.ANIMATIONTYPE_FLOAT?r.inTangent:r.inTangent?.clone(),outTangent:e===Ne.Animation.ANIMATIONTYPE_FLOAT?r.outTangent:r.outTangent?.clone()}}i(Zu,"cloneKey");function Fe(e,r){let t=r.split("."),n=e;for(let o=0;o<t.length;++o)n=n[t[o]];return n}i(Fe,"getPropertyValue");function Ot(e,r,t){let n=null;e.onAnimationGroupPlayObservable.add(()=>{n=r.onAfterAnimationsObservable.add(()=>{t()})}),e.onAnimationGroupPauseObservable.add(()=>{n&&(r.onAfterAnimationsObservable.remove(n),n=null)}),e.onAnimationGroupEndObservable.add(()=>{n&&(r.onAfterAnimationsObservable.remove(n),n=null)})}i(Ot,"registerAfterAnimationCallback");var G=require("babylonjs"),Re=require("babylonjs"),L=require("babylonjs");function No(e,r){return{name:e.name,framesPerSecond:e.framesPerSecond,outputFramesPerSecond:e.outputFramesPerSecond,tracks:e.tracks.map(t=>{let n=null,o=null;if(t.node?(n=ee(t.node,r),n||(n=r.particleSystems?.find(a=>a.id===t.node)??null)):t.defaultRenderingPipeline?n=pe():t.volumetricLightScattering&&(n=$e()),t.propertyPath){let a=Fe(n,t.propertyPath);o=ye(a)}let s=null;return t.sound&&(s=ee(t.sound,r)),{node:n,sound:s,propertyPath:t.propertyPath,defaultRenderingPipeline:t.defaultRenderingPipeline,volumetricLightScattering:t.volumetricLightScattering,animationGroupWeight:t.animationGroupWeight,animationGroup:t.animationGroup?r.getAnimationGroupByName(t.animationGroup):null,animationGroups:t.animationGroups,sounds:t.sounds,soundVolume:Dt(t.soundVolume??[],G.Animation.ANIMATIONTYPE_FLOAT),keyFrameEvents:t.keyFrameEvents?.map(a=>{let c={...a};switch(a.data?.type){case"set-enabled":c.data={type:"set-enabled",value:a.data.value,node:ee(a.data.node,r)};break;case"apply-impulse":c.data={type:"apply-impulse",radius:a.data.radius,mesh:r.getMeshById(a.data.mesh),force:L.Vector3.FromArray(a.data.force),contactPoint:L.Vector3.FromArray(a.data.contactPoint)};break}return c}),keyFrameAnimations:n&&o!==null&&Dt(t.keyFrameAnimations??[],o)}})}}i(No,"parseCinematic");function _(e,r){if(e===null)return null;if(e!==void 0)switch(r){case G.Animation.ANIMATIONTYPE_FLOAT:return e;case G.Animation.ANIMATIONTYPE_VECTOR2:return L.Vector2.FromArray(e);case G.Animation.ANIMATIONTYPE_VECTOR3:return L.Vector3.FromArray(e);case G.Animation.ANIMATIONTYPE_QUATERNION:return L.Quaternion.FromArray(e);case G.Animation.ANIMATIONTYPE_COLOR3:return Re.Color3.FromArray(e);case G.Animation.ANIMATIONTYPE_COLOR4:return Re.Color4.FromArray(e);case G.Animation.ANIMATIONTYPE_MATRIX:return L.Matrix.FromArray(e)}}i(_,"parseCinematicKeyValue");function Dt(e,r){return e?.map(t=>{let n=t.type==="key"?t:null;if(n)return{...n,value:_(n.value,r),inTangent:_(n.inTangent,r),outTangent:_(n.outTangent,r)};let o=t.type==="cut"?t:null;if(o)return{...o,key1:{...o.key1,value:_(o.key1.value,r),inTangent:_(o.key1.inTangent,r),outTangent:_(o.key1.outTangent,r)},key2:{...o.key2,value:_(o.key2.value,r),inTangent:_(o.key2.inTangent,r),outTangent:_(o.key2.outTangent,r)}};throw new Error(`Unknown key frame type: ${t.type}`)})}i(Dt,"parseKeyFrameAnimations");function un(e,r){e.onEventObservable.notifyObservers(r.eventName)}i(un,"handleApplyEvent");function dn(e){e.node?.setEnabled(e.value)}i(dn,"handleSetEnabledEvent");var Mt=require("babylonjs"),fn=Mt.Vector3.Zero();function gn(e,r){let t=r.mesh?[r.mesh]:e.meshes.filter(n=>n.physicsAggregate);r.radius&&(t=t.filter(n=>{let o=n.getBoundingInfo().boundingBox.centerWorld;return Mt.Vector3.Distance(o,r.contactPoint)<=r.radius})),t.forEach(n=>{if(n.physicsAggregate?.body){let o=r.contactPoint.subtract(n.getBoundingInfo().boundingBox.centerWorld);o.multiplyInPlace(r.force),n.physicsAggregate.body.setLinearVelocity(fn),n.physicsAggregate.body.setAngularVelocity(fn),n.physicsAggregate.body.applyImpulse(o.negateInPlace(),r.contactPoint)}})}i(gn,"handleApplyImpulseEvent");var yn=require("babylonjs"),hn=require("babylonjs"),he=class extends hn.AnimationGroup{static{i(this,"Cinematic")}onEventObservable=new yn.Observable;onEvent(r,t){this.onEventObservable.add(n=>{r===n&&t()})}};function wt(e){return e.type==="key"}i(wt,"isCinematicKey");function ie(e){return e.type==="cut"}i(ie,"isCinematicKeyCut");function Fo(e){return e.type==="event"}i(Fo,"isCinematicKeyEvent");function Ro(e){return e.type==="group"}i(Ro,"isCinematicGroup");function _o(e){return e.type==="sound"}i(_o,"isCinematicSound");var C=require("babylonjs"),se=require("babylonjs");function Lo(e,r,t){let n=new he(e.name,r);return e.tracks.forEach(o=>{let s=o.animationGroup;if(s&&o.animationGroups?.length){let f=s.clone(`${s.name}-cinematic-temp`),g=r.animationGroups.indexOf(f);g!==-1&&r.animationGroups.splice(g,1),n.onAnimationEndObservable.add(()=>{s.stop(),f.stop()});let h=o.animationGroups.reduce((v,S)=>Math.min(v,S.frame),Number.MAX_VALUE)??0,y=o.animationGroups.reduce((v,S)=>Math.max(v,S.frame+S.endFrame),0)??0,P={frame:h},A=new C.Animation(f.name,"frame",60,C.Animation.ANIMATIONTYPE_FLOAT,C.Animation.ANIMATIONLOOPMODE_CYCLE,!1);if(A.setKeys([{frame:h,value:0},{frame:y,value:y}]),o.animationGroups.forEach(v=>{A.addEvent(new se.AnimationEvent(v.frame,()=>{let S=v.repeatCount??0;if(f.to=v.endFrame,f.speedRatio=v.speed,f.stop(),f.play(S>0),f.from!==v.startFrame&&f.goToFrame(v.startFrame),S){let w=0;f.onAnimationGroupLoopObservable.add(()=>{++w,w>S&&f.stop()})}}))}),n.addTargetedAnimation(A,P),(o.animationGroupWeight?.length??0)>=2&&o.animationGroupWeight.find(S=>ie(S)?S.key1.value!==1||S.key2.value!==1:S.value!==1)){let S={weight:0},w=new C.Animation(`${f.name}-weights`,"weight",60,C.Animation.ANIMATIONTYPE_FLOAT,C.Animation.ANIMATIONLOOPMODE_CYCLE,!1),K=[];o.animationGroupWeight.forEach(ae=>{ie(ae)?(K.push(ae.key1),K.push(ae.key2)):K.push(ae)}),w.setKeys(K),n.addTargetedAnimation(w,S),Ot(n,r,()=>{f.weight=S.weight})}}let a=o.sound;if(!t?.ignoreSounds&&a&&a.sound?.buffer&&o.sounds?.length){let f={dummy:0,volume:0},g=new C.Animation(a.name,"dummy",60,C.Animation.ANIMATIONTYPE_FLOAT,C.Animation.ANIMATIONLOOPMODE_CYCLE,!1),h=0;if(o.sounds?.forEach(y=>{let P=y.endFrame-y.startFrame;h=Math.max(h,y.frame+P),g.addEvent(new se.AnimationEvent(y.frame,A=>{let S=(A-y.frame+y.startFrame)/e.framesPerSecond;a.play({startOffset:S})},!1)),g.addEvent(new se.AnimationEvent(y.frame+P,()=>{a.stop()}))}),g.setKeys([{frame:0,value:0},{frame:h,value:h}]),n.addTargetedAnimation(g,f),(o.soundVolume?.length??0)>=2){let y=new C.Animation(a.name,"volume",60,C.Animation.ANIMATIONTYPE_FLOAT,C.Animation.ANIMATIONLOOPMODE_CYCLE,!1),P=[];o.soundVolume.forEach(A=>{ie(A)?(P.push(A.key1),P.push(A.key2)):P.push(A)}),y.setKeys(P),n.addTargetedAnimation(y,f),Ot(n,r,()=>{a.volume=f.volume})}}if(o.keyFrameEvents){let f={dummy:0},g=new C.Animation("events","dummy",60,C.Animation.ANIMATIONTYPE_FLOAT,C.Animation.ANIMATIONLOOPMODE_CYCLE,!1),h=0;o.keyFrameEvents?.forEach(y=>{h=Math.max(h,y.frame),g.addEvent(new se.AnimationEvent(y.frame,()=>{switch(y.data?.type){case"event":un(n,y.data);break;case"set-enabled":dn(y.data);break;case"apply-impulse":gn(r,y.data);break}}))}),g.setKeys([{frame:0,value:0},{frame:h+1,value:h+1}]),n.addTargetedAnimation(g,f)}let c=o.defaultRenderingPipeline?pe():o.node;if(!c||!o.propertyPath||!o.keyFrameAnimations)return;let l=Fe(c,o.propertyPath),p=ye(l);if(p===null)return;let m=new C.Animation(o.propertyPath,o.propertyPath,60,p,C.Animation.ANIMATIONLOOPMODE_CYCLE,!1),u=[];o.keyFrameAnimations?.forEach(f=>{if(wt(f))return u.push(f);ie(f)&&(u.push(f.key1),u.push(f.key2),xe(c)&&o.propertyPath==="position"&&m.addEvent(new se.AnimationEvent(f.key1.frame,()=>{let g=rt();if(!g)return;let h=g.motionStrength;g.motionStrength=0,requestAnimationFrame(()=>{g.motionStrength=h})})))}),m.setKeys(u),n.addTargetedAnimation(m,c)}),n.normalize(),n}i(Lo,"generateCinematicAnimationGroup");async function Nt(e,r){return new Promise((t,n)=>{let o=indexedDB.open(e,1);o.addEventListener("error",()=>n()),o.addEventListener("blocked",()=>n()),o.addEventListener("upgradeneeded",()=>{try{r(o.result)}catch(s){n(s)}}),o.addEventListener("success",()=>{t(o.result)})})}i(Nt,"openIndexDB");function Se(e,r,t){return new Promise(n=>{let s=e.transaction(r).objectStore(r).get(t);s.addEventListener("error",()=>{n(null)}),s.addEventListener("success",()=>{n(s.result??null)})})}i(Se,"getFromIndexDB");async function V(e,r,t){let o=e.transaction(r,"readwrite").objectStore(r).put(t);await new Promise((s,a)=>{o.addEventListener("error",()=>a()),o.addEventListener("success",()=>s())})}i(V,"putInIndexDB");var Sn=require("babylonjs");function Vo(e){Sn.AbstractEngine.OfflineProviderFactory=(r,t,n=!1)=>new be(e,r,t,n)}i(Vo,"setupOfflineProvider");async function Ft(e,r){let t=await new Promise(n=>{let o=new be(e,r,s=>n(s?o:null),!1)});return await t?.open(),t}i(Ft,"createAndOpenDatabase");var be=class{static{i(this,"Database")}enableSceneOffline=!0;enableTexturesOffline=!0;name;_database=null;_manifestVersion=null;_loadFilePromises=new Map;constructor(r,t,n,o){this.name=r,o?n(!1):this._checkManifest(t,n)}async _checkManifest(r,t){try{let n=await N(`${r}.manifest?${Date.now()}`);this._manifestVersion=n.version,t(!0)}catch{this.enableSceneOffline=!1,this.enableTexturesOffline=!1,t(!1)}}async open(r,t){try{this._database=await Nt(this.name,n=>{n.createObjectStore("files",{keyPath:"url"}),n.createObjectStore("images",{keyPath:"url"}),n.createObjectStore("versions",{keyPath:"url"})}),r?.()}catch{t?.()}}close(){this._database?.close(),this._database=null,this._loadFilePromises.clear()}async loadImage(r,t){if(!this._database){t.src=r;return}let n=null;await ft(()=>this._manifestVersion!==null);let o=this._loadFilePromises.get(r);if(o)return o.then(a=>{a!==null?t.src=a:t.src=r});let s=new Promise(async a=>{if(await this._getFileVersionForUrl(r)!==this._manifestVersion?(n=await X(r,"blob"),await Promise.all([V(this._database,"images",{url:r,data:n}),V(this._database,"versions",{url:r,version:this._manifestVersion})])):n=(await Se(this._database,"images",r))?.data??null,n!==null){let l=URL.createObjectURL(n);t.src=l}else t.src=r;a(t.src)});this._loadFilePromises.set(r,s)}async saveImage(r){if(!this._database)throw new Error("Database is not available");let t=await X(r,"blob");await Promise.all([V(this._database,"images",{url:r,data:t}),V(this._database,"versions",{url:r,version:this._manifestVersion})])}async isFileMatchingVersion(r){return await this._getFileVersionForUrl(r)===this._manifestVersion}async loadFile(r,t,n,o,s){if(!this._database)return o?.();let a=null;await ft(()=>this._manifestVersion!==null);let c=this._loadFilePromises.get(r);if(c)return c.then(p=>{p!==null?t(p):o?.()});let l=new Promise(async p=>{await this._getFileVersionForUrl(r)!==this._manifestVersion?(a=await X(r,s?"arraybuffer":"text",n),await Promise.all([V(this._database,"files",{url:r,data:a}),V(this._database,"versions",{url:r,version:this._manifestVersion})])):a=(await Se(this._database,"files",r))?.data??null,a!==null?t(a):o?.(),p(a)});this._loadFilePromises.set(r,l)}async saveFile(r,t,n){if(!this._database)throw new Error("Database is not available");let o=await X(r,t?"arraybuffer":"text",n);await Promise.all([V(this._database,"files",{url:r,data:o}),V(this._database,"versions",{url:r,version:this._manifestVersion})])}async _getFileVersionForUrl(r){return(await Se(this._database,"versions",r))?.version??null}};var bn=["mp3","wav"],Pn=["babylonbinarymeshdata"],Bo=["ktx","ktx2","jpg","jpeg","png","bmp","webp"],xn=["babylon","json"],Rt=["jpg","jpeg","png","bmp","webp"],An=["bin","ktx","ktx2",...Pn,...bn],Go=[...xn,...Rt,...An];async function Ko(e,r,t){let n=[],o=await N(`${r}scenes-used-files.json`),s=[];if(t?.scenesFilter){s=t.scenesFilter.map(u=>typeof u=="string"?{sceneName:u,disableSounds:!1,disableTextures:!1,disableGeometries:!1}:u);for(let[u,f]of Object.entries(o))s.find(g=>g.sceneName===u)||delete o[u]}let a=0,c=0,l=t?.engine?.textureFormatInUse?t?.engine?.texturesSupported[0]:null,p=Object.values(o).reduce((u,f)=>u+f.length,0);function m(u){++c,t?.onProgress?.(c/p),u?.()}i(m,"notifyProgress");for(let[u,f]of Object.entries(o)){let g=u.replace(".scene",".babylon"),h=await Ft(e,`${r}${g}`);if(!h)continue;let y=s.find(P=>P.sceneName===u);for(let P=0,A=f.length;P<A;++P){let v=f[P],S=v.split(".").pop()?.toLowerCase();if(!S){m();continue}if(Pn.includes(S)&&y?.disableGeometries){m();continue}if(Bo.includes(S)&&y?.disableTextures){m();continue}if(bn.includes(S)&&y?.disableSounds){m();continue}if(Rt.includes(S)&&y?.disableTextures){m();continue}if(S==="ktx")if(l){if(!v.endsWith(l)){m();continue}}else{m();continue}if(S==="ktx2"&&!ge()){m();continue}if(n.length>300){try{await Promise.all(n)}catch{}n.splice(0,n.length)}let w=`${r}${v}`;Go.includes(S)&&n.push(new Promise(async K=>{if(await h.isFileMatchingVersion(w))return m(K);try{Rt.includes(S)?t?.disableImages||(await h.saveImage(w),++a):An.includes(S)?(await h.saveFile(w,!0),++a):xn.includes(S)&&(await h.saveFile(w,!1),++a)}catch{}m(K)}))}await Promise.all(n),h.close()}return await Promise.all(n),{loadedCount:a,processedFilesCount:c}}i(Ko,"preloadAssetsToDatabase");0&&(module.exports={AdvancedAssetContainer,AdvancedAssetContainerInstantiatedEntries,Cinematic,Database,NodeParticleSystemSet,_applyScriptsForObject,_getKtx2TextureName,_preloadScriptsAssets,_registerScriptInstance,_removeRegisteredScriptInstance,addExcludedCompressedTexture,animationFromSprite,animationGroupFromScene,applyMeshesLODQuality,applyRenderingConfigurationForCamera,applyScriptOnObject,applyShadowsQuality,applyTexturesQuality,componentFromScene,configureEngineToUseCompressedTextures,configureMeshDistanceOrScreenCoverage,configureShadowMapRefreshRate,configureShadowMapRenderListPredicate,copyAndParseRagdollConfiguration,createAndOpenDatabase,createDefaultRenderingPipeline,createMotionBlurPostProcess,createSSAO2RenderingPipeline,createSSRRenderingPipeline,createTAARenderingPipeline,createVLSPostProcess,defaultPipelineCameraConfigurations,disposeDefaultRenderingPipeline,disposeMotionBlurPostProcess,disposeSSAO2RenderingPipeline,disposeSSRRenderingPipeline,disposeTAARenderingPipeline,disposeVLSPostProcess,forceCompileAllSceneMaterials,generateCinematicAnimationGroup,getAllScriptsByClassForObject,getAnimationTypeForObject,getDefaultRenderingPipeline,getFromIndexDB,getMotionBlurPostProcess,getPowerOfTwoUntil,getSSAO2RenderingPipeline,getSSRRenderingPipeline,getScriptByClassForObject,getTAARenderingPipeline,getTextureUrl,getVLSPostProcess,guiFromAsset,isAbstractMesh,isAnyParticleSystem,isArcRotateCamera,isBone,isCamera,isCinematicGroup,isCinematicKey,isCinematicKeyCut,isCinematicKeyEvent,isCinematicSound,isClusteredLightContainer,isDecalMesh,isDirectionalLight,isFreeCamera,isGPUParticleSystem,isGroundMesh,isHemisphericLight,isInstancedMesh,isLight,isMesh,isNode,isNodeFromStaticGroup,isParticleSystem,isPointLight,isScene,isSoundNode,isSpotLight,isSprite,isTexture,isTransformNode,isUsingKtx2CompressedTextures,loadMaterialFromFile,loadScene,motionBlurPostProcessCameraConfigurations,nodeFromDescendants,nodeFromScene,normalizeAtlasJson,onKeyboardEvent,onPointerEvent,openIndexDB,parseCinematic,parseCinematicKeyValue,parseDefaultRenderingPipeline,parseKeyFrameAnimations,parseMotionBlurPostProcess,parseRagdollConfiguration,parseSSAO2RenderingPipeline,parseSSRRenderingPipeline,parseTAARenderingPipeline,parseVLSPostProcess,particleSystemFromScene,playSpriteAnimationFromName,preloadAssetsToDatabase,putInIndexDB,registerScriptAssetParser,saveRenderingConfigurationForCamera,sceneAsset,scriptAssetsCache,scriptAssetsParsers,scriptsDictionary,serializeDefaultRenderingPipeline,serializeMotionBlurPostProcess,serializeSSAO2RenderingPipeline,serializeSSRRenderingPipeline,serializeTAARenderingPipeline,serializeVLSPostProcess,setDefaultRenderingPipelineRef,setMotionBlurPostProcessRef,setSSAO2RenderingPipelineRef,setSSRRenderingPipelineRef,setStaticDecalsEnabled,setTAARenderingPipelineRef,setUseKtx2CompressedTextures,setVLSPostProcessRef,setupOfflineProvider,soundFromScene,spriteFromSpriteManager,ssaoRenderingPipelineCameraConfigurations,ssrRenderingPipelineCameraConfigurations,taaRenderingPipelineCameraConfigurations,visibleAsAsset,visibleAsBoolean,visibleAsColor3,visibleAsColor4,visibleAsEntity,visibleAsKeyMap,visibleAsNumber,visibleAsString,visibleAsTexture,visibleAsVector2,visibleAsVector3,vlsPostProcessCameraConfigurations});
1
+ var Pe=Object.defineProperty;var In=Object.getOwnPropertyDescriptor;var En=Object.getOwnPropertyNames;var Tn=Object.prototype.hasOwnProperty;var i=(e,r)=>Pe(e,"name",{value:r,configurable:!0});var On=(e,r)=>{for(var t in r)Pe(e,t,{get:r[t],enumerable:!0})},Dn=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of En(r))!Tn.call(e,o)&&o!==t&&Pe(e,o,{get:()=>r[o],enumerable:!(n=In(r,o))||n.enumerable});return e};var Mn=e=>Dn(Pe({},"__esModule",{value:!0}),e);var $o={};On($o,{AdvancedAssetContainer:()=>de,AdvancedAssetContainerInstantiatedEntries:()=>ue,Cinematic:()=>Se,Database:()=>be,NodeParticleSystemSet:()=>dn.NodeParticleSystemSet,_applyScriptsForObject:()=>F,_getKtx2TextureName:()=>Oe,_preloadScriptsAssets:()=>xt,_registerScriptInstance:()=>Ct,_removeRegisteredScriptInstance:()=>Ie,addExcludedCompressedTexture:()=>De,animationFromSprite:()=>Fo,animationGroupFromScene:()=>fo,applyMeshesLODQuality:()=>ze,applyRenderingConfigurationForCamera:()=>mt,applyScriptOnObject:()=>ro,applyShadowsQuality:()=>kn,applyTexturesQuality:()=>io,componentFromScene:()=>mo,configureEngineToUseCompressedTextures:()=>oo,configureMeshDistanceOrScreenCoverage:()=>ke,configureShadowMapRefreshRate:()=>ve,configureShadowMapRenderListPredicate:()=>$e,copyAndParseRagdollConfiguration:()=>ft,createAndOpenDatabase:()=>_t,createDefaultRenderingPipeline:()=>nr,createMotionBlurPostProcess:()=>Zt,createSSAO2RenderingPipeline:()=>qt,createSSRRenderingPipeline:()=>Qt,createTAARenderingPipeline:()=>Yt,createVLSPostProcess:()=>jt,defaultPipelineCameraConfigurations:()=>Z,disposeDefaultRenderingPipeline:()=>lt,disposeMotionBlurPostProcess:()=>ot,disposeSSAO2RenderingPipeline:()=>et,disposeSSRRenderingPipeline:()=>Ye,disposeTAARenderingPipeline:()=>Je,disposeVLSPostProcess:()=>Ue,forceCompileAllSceneMaterials:()=>co,generateCinematicAnimationGroup:()=>Bo,getAllScriptsByClassForObject:()=>ne,getAnimationTypeForObject:()=>ye,getDefaultRenderingPipeline:()=>pe,getFromIndexDB:()=>he,getMotionBlurPostProcess:()=>nt,getPowerOfTwoUntil:()=>M,getSSAO2RenderingPipeline:()=>Wn,getSSRRenderingPipeline:()=>$n,getScriptByClassForObject:()=>vt,getTAARenderingPipeline:()=>Un,getTextureUrl:()=>Me,getVLSPostProcess:()=>je,guiFromAsset:()=>yo,isAbstractMesh:()=>$,isAnyParticleSystem:()=>Ve,isArcRotateCamera:()=>Rn,isBone:()=>wn,isCamera:()=>xe,isCinematicGroup:()=>Lo,isCinematicKey:()=>Ft,isCinematicKeyCut:()=>ie,isCinematicKeyEvent:()=>_o,isCinematicSound:()=>Vo,isClusteredLightContainer:()=>Ae,isDecalMesh:()=>Bt,isDirectionalLight:()=>Ln,isFreeCamera:()=>Fn,isGPUParticleSystem:()=>Gn,isGaussianSplattingMesh:()=>Ge,isGroundMesh:()=>Nn,isHemisphericLight:()=>Bn,isInstancedMesh:()=>le,isLight:()=>Vt,isMesh:()=>D,isNode:()=>Q,isNodeFromStaticGroup:()=>Ke,isParticleSystem:()=>Le,isPointLight:()=>_n,isScene:()=>_e,isSoundNode:()=>j,isSpotLight:()=>Vn,isSprite:()=>Be,isTexture:()=>ce,isTransformNode:()=>k,isUsingKtx2CompressedTextures:()=>ge,loadMaterialFromFile:()=>lo,loadScene:()=>ao,motionBlurPostProcessCameraConfigurations:()=>J,nodeFromDescendants:()=>uo,nodeFromScene:()=>po,normalizeAtlasJson:()=>Tt,onKeyboardEvent:()=>wo,onPointerEvent:()=>Mo,openIndexDB:()=>Rt,parseCinematic:()=>Ro,parseCinematicKeyValue:()=>_,parseDefaultRenderingPipeline:()=>pt,parseKeyFrameAnimations:()=>wt,parseMotionBlurPostProcess:()=>st,parseRagdollConfiguration:()=>cr,parseSSAO2RenderingPipeline:()=>rt,parseSSRRenderingPipeline:()=>qe,parseTAARenderingPipeline:()=>Xe,parseVLSPostProcess:()=>We,particleSystemFromScene:()=>ho,playSpriteAnimationFromName:()=>so,preloadAssetsToDatabase:()=>zo,putInIndexDB:()=>V,registerScriptAssetParser:()=>to,saveRenderingConfigurationForCamera:()=>Jn,sceneAsset:()=>go,scriptAssetsCache:()=>O,scriptAssetsParsers:()=>fe,scriptsDictionary:()=>R,serializeDefaultRenderingPipeline:()=>ct,serializeMotionBlurPostProcess:()=>it,serializeSSAO2RenderingPipeline:()=>tt,serializeSSRRenderingPipeline:()=>He,serializeTAARenderingPipeline:()=>Ze,serializeVLSPostProcess:()=>Qe,setDefaultRenderingPipelineRef:()=>qn,setMotionBlurPostProcessRef:()=>Hn,setSSAO2RenderingPipelineRef:()=>Yn,setSSRRenderingPipelineRef:()=>jn,setStaticDecalsEnabled:()=>Kn,setTAARenderingPipelineRef:()=>Qn,setUseKtx2CompressedTextures:()=>no,setVLSPostProcessRef:()=>zn,setupOfflineProvider:()=>Go,soundFromScene:()=>So,spriteFromSpriteManager:()=>No,ssaoRenderingPipelineCameraConfigurations:()=>q,ssrRenderingPipelineCameraConfigurations:()=>Y,taaRenderingPipelineCameraConfigurations:()=>H,visibleAsAsset:()=>Do,visibleAsBoolean:()=>bo,visibleAsColor3:()=>Co,visibleAsColor4:()=>Io,visibleAsEntity:()=>Eo,visibleAsKeyMap:()=>Oo,visibleAsNumber:()=>xo,visibleAsString:()=>Po,visibleAsTexture:()=>To,visibleAsVector2:()=>Ao,visibleAsVector3:()=>vo,vlsPostProcessCameraConfigurations:()=>W});module.exports=Mn($o);function $(e){switch(e.getClassName?.()){case"Mesh":case"LineMesh":case"GroundMesh":case"InstancedMesh":return!0}return!1}i($,"isAbstractMesh");function D(e){switch(e.getClassName?.()){case"Mesh":case"GroundMesh":return!0}return!1}i(D,"isMesh");function le(e){return e.getClassName?.()==="InstancedMesh"}i(le,"isInstancedMesh");function wn(e){return e.getClassName?.()==="Bone"}i(wn,"isBone");function Nn(e){return e.getClassName?.()==="GroundMesh"}i(Nn,"isGroundMesh");function k(e){return e.getClassName?.()==="TransformNode"}i(k,"isTransformNode");function ce(e){return e?.getClassName?.()==="Texture"}i(ce,"isTexture");function xe(e){switch(e.getClassName?.()){case"Camera":case"FreeCamera":case"TargetCamera":case"EditorCamera":case"ArcRotateCamera":case"UniversalCamera":return!0}return!1}i(xe,"isCamera");function Fn(e){switch(e.getClassName?.()){case"FreeCamera":case"UniversalCamera":return!0}return!1}i(Fn,"isFreeCamera");function Rn(e){return e.getClassName?.()==="ArcRotateCamera"}i(Rn,"isArcRotateCamera");function _n(e){return e.getClassName?.()==="PointLight"}i(_n,"isPointLight");function Ln(e){return e.getClassName?.()==="DirectionalLight"}i(Ln,"isDirectionalLight");function Vn(e){return e.getClassName?.()==="SpotLight"}i(Vn,"isSpotLight");function Bn(e){return e.getClassName?.()==="HemisphericLight"}i(Bn,"isHemisphericLight");function Vt(e){switch(e.getClassName?.()){case"Light":case"PointLight":case"SpotLight":case"DirectionalLight":case"HemisphericLight":return!0}return!1}i(Vt,"isLight");function Ae(e){return e.getClassName?.()==="ClusteredLightContainer"}i(Ae,"isClusteredLightContainer");function Q(e){return $(e)||k(e)||Vt(e)||xe(e)}i(Q,"isNode");function _e(e){return e.getClassName?.()==="Scene"}i(_e,"isScene");function Le(e){return e.getClassName?.()==="ParticleSystem"}i(Le,"isParticleSystem");function Gn(e){return e.getClassName?.()==="GPUParticleSystem"}i(Gn,"isGPUParticleSystem");function Ve(e){switch(e.getClassName?.()){case"ParticleSystem":case"GPUParticleSystem":return!0}return!1}i(Ve,"isAnyParticleSystem");function Be(e){return e.getClassName?.()==="Sprite"}i(Be,"isSprite");function j(e){return e.getClassName?.()==="SoundNode"}i(j,"isSoundNode");function Ge(e){return e.getClassName?.()==="GaussianSplattingMesh"}i(Ge,"isGaussianSplattingMesh");function Ke(e){let r=e;for(;r;){if(r.metadata?.isStaticGroup)return!0;r=r.parent}return!1}i(Ke,"isNodeFromStaticGroup");function ke(e){e.meshes.forEach(r=>{D(r)&&r.getLODLevels().forEach(t=>{t.mesh&&(t.mesh.originalDistanceOrScreenCoverage=t.distanceOrScreenCoverage)})})}i(ke,"configureMeshDistanceOrScreenCoverage");function ze(e,r){r.meshes.forEach(t=>{D(t)&&t.getLODLevels().forEach(n=>{if(n.mesh?.originalDistanceOrScreenCoverage)switch(e){case"very-low":n.distanceOrScreenCoverage=n.mesh.originalDistanceOrScreenCoverage*.125;break;case"low":n.distanceOrScreenCoverage=n.mesh.originalDistanceOrScreenCoverage*.25;break;case"medium":n.distanceOrScreenCoverage=n.mesh.originalDistanceOrScreenCoverage*.5;break;case"high":n.distanceOrScreenCoverage=n.mesh.originalDistanceOrScreenCoverage;break}})})}i(ze,"applyMeshesLODQuality");function Bt(e){return(e.metadata?.decal??null)!==null}i(Bt,"isDecalMesh");function Kn(e,r){r.meshes.forEach(t=>{Bt(t)&&Ke(t)&&t.setEnabled(e)})}i(Kn,"setStaticDecalsEnabled");function M(e){let r=1;for(;r<=e;)r<<=1;return r>>1}i(M,"getPowerOfTwoUntil");var Gt=require("babylonjs"),Kt=require("babylonjs");function $e(e){e.lights.forEach(r=>{let t=r.getShadowGenerator()?.getShadowMap();t&&(t.renderListPredicate=n=>Ge(n)?!1:Gt.Vector3.Distance(n.getAbsolutePosition(),r.getAbsolutePosition())<=r.range)})}i($e,"configureShadowMapRenderListPredicate");async function ve(e){e.executeWhenReady(()=>{e.lights.forEach(r=>{let t=r.getShadowGenerator()?.getShadowMap();t&&(t.refreshRate=r.metadata?.refreshRate??Kt.RenderTargetTexture.REFRESHRATE_RENDER_ONEVERYFRAME)})})}i(ve,"configureShadowMapRefreshRate");function kn(e,r){r.lights.forEach(t=>{let n=t.getShadowGenerator(),o=n?.getShadowMap();if(n?.originalMapSize){let s=n.originalMapSize;switch(e){case"medium":s=s*.5;break;case"low":s=s*.25;break;case"very-low":s=s*.125;break}s=Math.max(128,M(s)),o?.getSize().width!==s&&o.resize(s)}}),ve(r)}i(kn,"applyShadowsQuality");var kt=require("babylonjs"),zt=require("babylonjs"),$t=require("babylonjs"),I=null,W=new Map;function je(){return I}i(je,"getVLSPostProcess");function zn(e){I=e}i(zn,"setVLSPostProcessRef");function Ue(e){I&&e.activeCamera&&(I.dispose(e.activeCamera),I=null)}i(Ue,"disposeVLSPostProcess");function jt(e,r){return r??=e.meshes.find(t=>D(t)),I=new $t.VolumetricLightScatteringPostProcess("VolumetricLightScatteringPostProcess",1,e.activeCamera,r,100,zt.Texture.BILINEAR_SAMPLINGMODE,e.getEngine(),!1),I}i(jt,"createVLSPostProcess");function Qe(){return I?{meshId:I.mesh?.id,exposure:I.exposure,decay:I.decay,weight:I.weight,density:I.density,invert:I.invert,useCustomMeshPosition:I.useCustomMeshPosition,customMeshPosition:I.customMeshPosition.asArray()}:null}i(Qe,"serializeVLSPostProcess");function We(e,r){let t=null;if(r.meshId){let o=e.getMeshById(r.meshId);o&&D(o)&&(t=o)}let n=jt(e,t);return n.exposure=r.exposure,n.decay=r.decay,n.weight=r.weight,n.density=r.density,n.invert=r.invert,n.useCustomMeshPosition=r.useCustomMeshPosition,n.customMeshPosition.copyFrom(kt.Vector3.FromArray(r.customMeshPosition)),n}i(We,"parseVLSPostProcess");var Ut=require("babylonjs"),b=null,Y=new Map;function $n(){return b}i($n,"getSSRRenderingPipeline");function jn(e){b=e}i(jn,"setSSRRenderingPipelineRef");function Ye(){b&&(b.dispose(),b=null)}i(Ye,"disposeSSRRenderingPipeline");function Qt(e,r){return b=new Ut.SSRRenderingPipeline("SSRRenderingPipeline",e,[r]),b.samples=4,b}i(Qt,"createSSRRenderingPipeline");function He(){return b?{samples:b.samples,step:b.step,thickness:b.thickness,strength:b.strength,reflectionSpecularFalloffExponent:b.reflectionSpecularFalloffExponent,maxSteps:b.maxSteps,maxDistance:b.maxDistance,roughnessFactor:b.roughnessFactor,reflectivityThreshold:b.reflectivityThreshold,blurDispersionStrehgth:b.blurDispersionStrength,clipToFrustum:b.clipToFrustum,enableSmoothReflections:b.enableSmoothReflections,enableAutomaticThicknessComputation:b.enableAutomaticThicknessComputation,attenuateFacingCamera:b.attenuateFacingCamera,attenuateScreenBorders:b.attenuateScreenBorders,attenuateIntersectionDistance:b.attenuateIntersectionDistance,attenuateBackfaceReflection:b.attenuateBackfaceReflection,blurDownsample:b.blurDownsample,selfCollisionNumSkip:b.selfCollisionNumSkip,ssrDownsample:b.ssrDownsample,backfaceDepthTextureDownsample:b.backfaceDepthTextureDownsample}:null}i(He,"serializeSSRRenderingPipeline");function qe(e,r,t){if(b)return b;let n=Qt(e,r);return n.samples=t.samples,n.step=t.step,n.thickness=t.thickness,n.strength=t.strength,n.reflectionSpecularFalloffExponent=t.reflectionSpecularFalloffExponent,n.maxSteps=t.maxSteps,n.maxDistance=t.maxDistance,n.roughnessFactor=t.roughnessFactor,n.reflectivityThreshold=t.reflectivityThreshold,n.blurDispersionStrength=t.blurDispersionStrehgth,n.clipToFrustum=t.clipToFrustum,n.enableSmoothReflections=t.enableSmoothReflections,n.enableAutomaticThicknessComputation=t.enableAutomaticThicknessComputation,n.attenuateFacingCamera=t.attenuateFacingCamera,n.attenuateScreenBorders=t.attenuateScreenBorders,n.attenuateIntersectionDistance=t.attenuateIntersectionDistance,n.attenuateBackfaceReflection=t.attenuateBackfaceReflection,n.blurDownsample=t.blurDownsample,n.selfCollisionNumSkip=t.selfCollisionNumSkip,n.ssrDownsample=t.ssrDownsample,n.backfaceDepthTextureDownsample=t.backfaceDepthTextureDownsample,n}i(qe,"parseSSRRenderingPipeline");var Wt=require("babylonjs"),E=null,H=new Map;function Un(){return E}i(Un,"getTAARenderingPipeline");function Qn(e){E=e}i(Qn,"setTAARenderingPipelineRef");function Je(){E&&(E.dispose(),E=null)}i(Je,"disposeTAARenderingPipeline");function Yt(e,r){return E=new Wt.TAARenderingPipeline("TAARenderingPipeline",e,[r]),E.samples=4,E}i(Yt,"createTAARenderingPipeline");function Ze(){return E?{factor:E.factor,samples:E.samples,clampHistory:E.clampHistory,reprojectHistory:E.reprojectHistory,disableOnCameraMove:E.disableOnCameraMove}:null}i(Ze,"serializeTAARenderingPipeline");function Xe(e,r,t){if(E)return E;let n=Yt(e,r);return n.factor=t.factor,n.samples=t.samples,n.clampHistory=t.clampHistory,n.reprojectHistory=t.reprojectHistory,n.disableOnCameraMove=t.disableOnCameraMove,n}i(Xe,"parseTAARenderingPipeline");var Ht=require("babylonjs"),x=null,q=new Map;function Wn(){return x}i(Wn,"getSSAO2RenderingPipeline");function Yn(e){x=e}i(Yn,"setSSAO2RenderingPipelineRef");function et(){x&&(x.dispose(),x=null)}i(et,"disposeSSAO2RenderingPipeline");function qt(e,r){return x=new Ht.SSAO2RenderingPipeline("SSAO2RenderingPipeline",e,1,[r]),x.samples=4,x}i(qt,"createSSAO2RenderingPipeline");function tt(){return x?{radius:x.radius,totalStrength:x.totalStrength,samples:x.samples,maxZ:x.maxZ,minZAspect:x.minZAspect,epsilon:x.epsilon,textureSamples:x.textureSamples,bypassBlur:x.bypassBlur,bilateralSamples:x.bilateralSamples,bilateralSoften:x.bilateralSoften,bilateralTolerance:x.bilateralTolerance,expensiveBlur:x.expensiveBlur}:null}i(tt,"serializeSSAO2RenderingPipeline");function rt(e,r,t){if(x)return x;let n=qt(e,r);return n.radius=t.radius,n.totalStrength=t.totalStrength,n.samples=t.samples,n.maxZ=t.maxZ,n.minZAspect=t.minZAspect,n.epsilon=t.epsilon,n.textureSamples=t.textureSamples,n.bypassBlur=t.bypassBlur,n.bilateralSamples=t.bilateralSamples,n.bilateralSoften=t.bilateralSoften,n.bilateralTolerance=t.bilateralTolerance,n.expensiveBlur=t.expensiveBlur,n}i(rt,"parseSSAO2RenderingPipeline");var Jt=require("babylonjs"),T=null,J=new Map;function nt(){return T}i(nt,"getMotionBlurPostProcess");function Hn(e){T=e}i(Hn,"setMotionBlurPostProcessRef");function ot(){T&&(T.dispose(),T=null)}i(ot,"disposeMotionBlurPostProcess");function Zt(e,r){return T=new Jt.MotionBlurPostProcess("MotionBlurPostProcess",e,1,r),T.motionStrength=1,T.isObjectBased=!0,T}i(Zt,"createMotionBlurPostProcess");function it(){return T?{isObjectBased:T.isObjectBased,motionStrength:T.motionStrength,motionBlurSamples:T.motionBlurSamples}:null}i(it,"serializeMotionBlurPostProcess");function st(e,r,t){if(T)return T;let n=Zt(e,r);return n.isObjectBased=t.isObjectBased,n.motionStrength=t.motionStrength,n.motionBlurSamples=t.motionBlurSamples,n}i(st,"parseMotionBlurPostProcess");var Xt=require("babylonjs"),at=require("babylonjs"),er=require("babylonjs"),tr=require("babylonjs"),rr=require("babylonjs"),d=null,Z=new Map;function pe(){return d}i(pe,"getDefaultRenderingPipeline");function qn(e){d=e}i(qn,"setDefaultRenderingPipelineRef");function lt(){d&&(d.dispose(),d=null)}i(lt,"disposeDefaultRenderingPipeline");function nr(e,r){return d=new rr.DefaultRenderingPipeline("DefaultRenderingPipeline",!0,e,[r]),d.samples=4,d.depthOfField.lensSize=512,d.depthOfField.fStop=.25,d.depthOfField.focusDistance=55e3,d}i(nr,"createDefaultRenderingPipeline");function ct(){return d?{samples:d.samples,fxaaEnabled:d.fxaaEnabled,imageProcessingEnabled:d.imageProcessingEnabled,exposure:d.imageProcessing?.exposure,contrast:d.imageProcessing?.contrast,fromLinearSpace:d.imageProcessing?.fromLinearSpace,toneMappingEnabled:d.imageProcessing?.toneMappingEnabled,toneMappingType:d.imageProcessing?.toneMappingType,ditheringEnabled:d.imageProcessing?.ditheringEnabled,ditheringIntensity:d.imageProcessing?.ditheringIntensity,bloomEnabled:d.bloomEnabled,bloomThreshold:d.bloomThreshold,bloomWeight:d.bloomWeight,bloomScale:d.bloomScale,bloomKernel:d.bloomKernel,sharpenEnabled:d.sharpenEnabled,sharpenEdgeAmount:d.sharpen.edgeAmount,sharpenColorAmount:d.sharpen.colorAmount,grainEnabled:d.grainEnabled,grainIntensity:d.grain.intensity,grainAnimated:d.grain.animated,depthOfFieldEnabled:d.depthOfFieldEnabled,depthOfFieldBlurLevel:d.depthOfFieldBlurLevel,lensSize:d.depthOfField.lensSize,fStop:d.depthOfField.fStop,focusDistance:d.depthOfField.focusDistance,focalLength:d.depthOfField.focalLength,vignetteEnabled:d.imageProcessing?.vignetteEnabled,vignetteColor:d.imageProcessing?.vignetteColor.asArray(),vignetteWeight:d.imageProcessing?.vignetteWeight,chromaticAberrationEnabled:d.chromaticAberrationEnabled,aberrationAmount:d.chromaticAberration.aberrationAmount,radialIntensity:d.chromaticAberration.radialIntensity,direction:d.chromaticAberration.direction.asArray(),centerPosition:d.chromaticAberration.centerPosition.asArray(),glowLayerEnabled:d.glowLayerEnabled,glowLayerIntensity:d.glowLayer?.intensity,glowLayerBlurKernelSize:d.glowLayer?.blurKernelSize,colorGradingEnabled:d.imageProcessing.colorGradingEnabled,colorGradingTexture:d.imageProcessing.colorGradingTexture?.serialize(),colorGradingWithGreenDepth:d.imageProcessing.imageProcessingConfiguration.colorGradingWithGreenDepth,colorCurvesEnabled:d.imageProcessing.colorCurvesEnabled,globalHue:d.imageProcessing.colorCurves?.globalHue,globalDensity:d.imageProcessing.colorCurves?.globalDensity,globalExposure:d.imageProcessing.colorCurves?.globalExposure,globalSaturation:d.imageProcessing.colorCurves?.globalSaturation,highlightsHue:d.imageProcessing.colorCurves?.highlightsHue,highlightsDensity:d.imageProcessing.colorCurves?.highlightsDensity,highlightsExposure:d.imageProcessing.colorCurves?.highlightsExposure,highlightsSaturation:d.imageProcessing.colorCurves?.highlightsSaturation,midtonesHue:d.imageProcessing.colorCurves?.midtonesHue,midtonesDensity:d.imageProcessing.colorCurves?.midtonesDensity,midtonesExposure:d.imageProcessing.colorCurves?.midtonesExposure,midtonesSaturation:d.imageProcessing.colorCurves?.midtonesSaturation,shadowsHue:d.imageProcessing.colorCurves?.shadowsHue,shadowsDensity:d.imageProcessing.colorCurves?.shadowsDensity,shadowsExposure:d.imageProcessing.colorCurves?.shadowsExposure,shadowsSaturation:d.imageProcessing.colorCurves?.shadowsSaturation}:null}i(ct,"serializeDefaultRenderingPipeline");function pt(e,r,t,n){if(d)return d;let o=nr(e,r);if(o.samples=t.samples,o.fxaaEnabled=t.fxaaEnabled,o.imageProcessingEnabled=t.imageProcessingEnabled,o.imageProcessing){if(o.imageProcessing.exposure=t.exposure,o.imageProcessing.contrast=t.contrast,o.imageProcessing.fromLinearSpace=t.fromLinearSpace,o.imageProcessing.toneMappingEnabled=t.toneMappingEnabled,o.imageProcessing.toneMappingType=t.toneMappingType,o.imageProcessing.ditheringEnabled=t.ditheringEnabled,o.imageProcessing.ditheringIntensity=t.ditheringIntensity,o.imageProcessing.vignetteEnabled=t.vignetteEnabled??!1,o.imageProcessing.vignetteColor=Xt.Color4.FromArray(t.vignetteColor??[0,0,0]),o.imageProcessing.vignetteWeight=t.vignetteWeight??.3,o.imageProcessing.colorGradingEnabled=t.colorGradingEnabled??!1,o.imageProcessing.imageProcessingConfiguration.colorGradingWithGreenDepth=t.colorGradingWithGreenDepth??!0,t.colorGradingTexture){let s=null;if(t.colorGradingTexture.customType==="BABYLON.ColorGradingTexture"){let a=n+t.colorGradingTexture.name;s=new tr.ColorGradingTexture(a,e),s.level=t.colorGradingTexture.level}else{let a=er.Texture.Parse(t.colorGradingTexture,e,n);ce(a)&&(s=a)}o.imageProcessing.colorGradingTexture=s}o.imageProcessing.colorCurvesEnabled=t.colorCurvesEnabled??!1,o.imageProcessing.colorCurves&&(o.imageProcessing.colorCurves.globalHue=t.globalHue??30,o.imageProcessing.colorCurves.globalDensity=t.globalDensity??0,o.imageProcessing.colorCurves.globalExposure=t.globalExposure??0,o.imageProcessing.colorCurves.globalSaturation=t.globalSaturation??0,o.imageProcessing.colorCurves.highlightsHue=t.highlightsHue??30,o.imageProcessing.colorCurves.highlightsDensity=t.highlightsDensity??0,o.imageProcessing.colorCurves.highlightsExposure=t.highlightsExposure??0,o.imageProcessing.colorCurves.highlightsSaturation=t.highlightsSaturation??0,o.imageProcessing.colorCurves.midtonesHue=t.midtonesHue??30,o.imageProcessing.colorCurves.midtonesDensity=t.midtonesDensity??0,o.imageProcessing.colorCurves.midtonesExposure=t.midtonesExposure??0,o.imageProcessing.colorCurves.midtonesSaturation=t.midtonesSaturation??0,o.imageProcessing.colorCurves.shadowsHue=t.shadowsHue??30,o.imageProcessing.colorCurves.shadowsDensity=t.shadowsDensity??0,o.imageProcessing.colorCurves.shadowsExposure=t.shadowsExposure??0,o.imageProcessing.colorCurves.shadowsSaturation=t.shadowsSaturation??0)}return o.bloomEnabled=t.bloomEnabled,o.bloomThreshold=t.bloomThreshold,o.bloomWeight=t.bloomWeight,o.bloomScale=t.bloomScale,o.bloomKernel=t.bloomKernel,o.sharpenEnabled=t.sharpenEnabled,o.sharpen.edgeAmount=t.sharpenEdgeAmount,o.sharpen.colorAmount=t.sharpenColorAmount,o.grainEnabled=t.grainEnabled,o.grain.intensity=t.grainIntensity,o.grain.animated=t.grainAnimated,o.depthOfFieldEnabled=t.depthOfFieldEnabled,o.depthOfFieldBlurLevel=t.depthOfFieldBlurLevel,o.depthOfField.lensSize=t.lensSize,o.depthOfField.fStop=t.fStop,o.depthOfField.focusDistance=t.focusDistance,o.depthOfField.focalLength=t.focalLength,o.chromaticAberrationEnabled=t.chromaticAberrationEnabled??!1,o.chromaticAberration.aberrationAmount=t.aberrationAmount??10,o.chromaticAberration.radialIntensity=t.radialIntensity??1,o.chromaticAberration.direction=at.Vector2.FromArray(t.direction??[0,0]),o.chromaticAberration.centerPosition=at.Vector2.FromArray(t.centerPosition??[0,0]),o.glowLayerEnabled=t.glowLayerEnabled??!1,o.glowLayer&&(o.glowLayer.intensity=t.glowLayerIntensity??1,o.glowLayer.blurKernelSize=t.glowLayerBlurKernelSize??32),o}i(pt,"parseDefaultRenderingPipeline");function Jn(e){q.set(e,tt()),W.set(e,Qe()),Y.set(e,He()),J.set(e,it()),Z.set(e,ct()),H.set(e,Ze())}i(Jn,"saveRenderingConfigurationForCamera");function mt(e,r,t){et(),Ue(e.getScene()),Ye(),ot(),lt(),Je();let n=q.get(e);n&&!t?.ssao2Disabled&&rt(e.getScene(),e,n);let o=W.get(e);o&&!t?.vlsDisabled&&We(e.getScene(),o);let s=Y.get(e);s&&!t?.ssrDisabled&&qe(e.getScene(),e,s);let a=J.get(e);a&&!t?.motionBlurDisabled&&st(e.getScene(),e,a);let c=Z.get(e);c&&!t?.defaultPipelineDisabled&&pt(e.getScene(),e,c,r);let l=H.get(e);l&&!t?.taaDisabled&&Xe(e.getScene(),e,l)}i(mt,"applyRenderingConfigurationForCamera");var me=require("babylonjs"),or=require("babylonjs");function ir(e){let r=e.metadata?.physicsAggregate;if(!r)return;let t;D(e)?t=e:le(e)&&(t=e.sourceMesh);let n=new or.PhysicsAggregate(e,r.shape.type,{mesh:t,mass:r.massProperties.mass});n.body.setMassProperties({mass:r.massProperties.mass,inertia:r.massProperties.inertia?me.Vector3.FromArray(r.massProperties.inertia):void 0,centerOfMass:r.massProperties.centerOfMass?me.Vector3.FromArray(r.massProperties.centerOfMass):void 0,inertiaOrientation:r.massProperties.inertiaOrientation?me.Quaternion.FromArray(r.massProperties.inertiaOrientation):void 0}),n.shape.density=r.shape.density,n.body.setMotionType(r.body.motionType),n.shape.material=r.material,e.physicsAggregate=n,e.metadata.physicsAggregate=void 0}i(ir,"configurePhysicsAggregate");function sr(e,r){(Array.isArray(r)?r:[]).forEach(n=>{let o=e.getCameraById(n.cameraId);o&&(n.ssao2RenderingPipeline&&q.set(o,n.ssao2RenderingPipeline),n.vlsPostProcess&&W.set(o,n.vlsPostProcess),n.ssrRenderingPipeline&&Y.set(o,n.ssrRenderingPipeline),n.motionBlurPostProcess&&J.set(o,n.motionBlurPostProcess),n.defaultRenderingPipeline&&Z.set(o,n.defaultRenderingPipeline),n.taaRenderingPipeline&&H.set(o,n.taaRenderingPipeline))})}i(sr,"applyRenderingConfigurations");var ar=require("babylonjs");function X(e,r,t){return new Promise((n,o)=>{let s=new ar.WebRequest;s.open("GET",e),s.responseType=r,s.send(),s.addEventListener("progress",a=>{t?.({total:a.total,loaded:a.loaded})}),s.addEventListener("load",()=>{n(r==="text"?s.responseText:s.response)}),s.addEventListener("error",a=>o(a))})}i(X,"loadFile");async function N(e,r){let t=await X(e,"text",r);return JSON.parse(t)}i(N,"loadJsonFile");function ut(e,r){let t=r.getNodeByName(e);if(t)return t;let n=r.lights.filter(o=>Ae(o));for(let o of n){let s=o.lights.find(a=>a.name===e);if(s)return s}return null}i(ut,"getNodeByName");function ee(e,r){let t=r.getNodeById(e);if(t)return t;let n=r.lights.filter(o=>Ae(o));for(let o of n){let s=o.lights.find(a=>a.id===e);if(s)return s}return null}i(ee,"getNodeById");var U=require("babylonjs"),lr=require("babylonjs");function dt(e){let r=lr.Vector3.FromArray(e);return r.equals(U.Axis.X)?U.Axis.X:r.equals(U.Axis.Y)?U.Axis.Y:r.equals(U.Axis.Z)?U.Axis.Z:r}i(dt,"parseAxis");function cr(e){return e.runtimeConfiguration.forEach(r=>{r.rotationAxis&&(r.rotationAxis=dt(r.rotationAxis)),r.boneOffsetAxis&&(r.boneOffsetAxis=dt(r.boneOffsetAxis))}),e}i(cr,"parseRagdollConfiguration");function ft(e){let r={rootNodeId:e.rootNodeId,skeletonName:e.skeletonName,scalingFactor:e.scalingFactor,runtimeConfiguration:e.runtimeConfiguration.map(t=>({name:t.name,bones:t.bones,width:t.width,depth:t.depth,height:t.height,size:t.size,joint:t.joint,min:t.min,max:t.max,boxOffset:t.boxOffset,rotationAxis:t.rotationAxis?.slice(),boneOffsetAxis:t.boneOffsetAxis?.slice()}))};return cr(r)}i(ft,"copyAndParseRagdollConfiguration");function Zn(e){return new Promise(r=>{setTimeout(()=>r(),e)})}i(Zn,"waitMs");async function gt(e){for(;!e();)await Zn(150)}i(gt,"waitUntil");function yt(e){return e&&JSON.parse(JSON.stringify(e))}i(yt,"cloneJSObject");var ht=require("babylonjs"),gr=require("babylonjs"),Ce=require("babylonjs"),yr=require("babylonjs"),Sr=require("babylonjs"),hr=require("babylonjs"),z=require("babylonjs"),pr=!1,mr=null,te=[],St=new Map;function Xn(e,r){let t=(0,z._GetAudioEngine)(null);return new hr._WebAudioStaticSound(e,t,r)}i(Xn,"createSoundInstance");function ur(e){if(mr?.remove(),!te.length)return;let r=ht.Vector3.Zero();mr=e.onBeforeRenderObservable.add(()=>{let t=(0,z._GetAudioEngine)(null).listener.attachedNode;t&&(t.getWorldMatrix().getTranslationToRef(r),te.forEach(n=>{n.isEnabled(!1)&&n.autoUpdateSpatial&&n.sound?._isSpatial&&n.isPlaying()&&e.activeCamera&&ht.Vector3.Distance(r,n.getAbsolutePosition())<=n.sound.spatial.maxDistance&&n.sound.spatial.update()}))})}i(ur,"registerUpdateSoundsObserver");function dr(e){e.sound?.onDisposeObservable.addOnce(()=>{let r=te.indexOf(e);r!==-1&&te.splice(r,1)}),e.onDisposeObservable.addOnce(()=>{e.sound?.dispose()})}i(dr,"registerSoundNodeEvents");function eo(e,r){return new Promise(async(t,n)=>{if(!e.offlineProvider||!gr.Database.IDBStorageEnabled)return(0,z.CreateSoundBufferAsync)(r).then(o=>t(o)).catch(o=>n(o));e.offlineProvider.loadFile(r,o=>{(0,z.CreateSoundBufferAsync)(o).then(s=>t(s)).catch(s=>n(s))},void 0,()=>{n(null)},!0)})}i(eo,"loadSoundBuffer");function bt(e,r){if(!e.soundRelativePath||!e.sound)return;r.onSoundLoadedObservable=new yr.Observable;let t=Xn(e.soundRelativePath,{spatialAutoUpdate:!1});t._initAsync(e.sound.buffer,{spatialAutoUpdate:!0}).then(()=>{t.volume=e.volume,t._isSpatial=e.sound._isSpatial,t._isSpatial&&(t.spatial.attach(r),t.spatial.maxDistance=e.sound.spatial.maxDistance,t.spatial.panningModel=e.sound.spatial.panningModel,t.spatial.distanceModel=e.sound.spatial.distanceModel),r.sound=t,r.soundRelativePath=e.soundRelativePath,r.autoUpdateSpatial=e.autoUpdateSpatial,te.push(r),ur(r.getScene()),r.onSoundLoadedObservable.notifyObservers(r)}),dr(r),fr(r,t)}i(bt,"configureSourceNodeFrom");function fr(e,r){Object.defineProperty(e,"volume",{get:i(()=>r.volume,"get"),set:i(t=>{r.volume=t},"set")}),Object.defineProperty(e,"playbackRate",{get:i(()=>r.playbackRate,"get"),set:i(t=>{r.playbackRate=t},"set")}),e.isPaused=()=>r.state===Ce.SoundState.Paused,e.isPlaying=()=>r.state===Ce.SoundState.Started,e.isStopped=()=>r.state===Ce.SoundState.Stopped,e.pause=()=>r.pause(),e.resume=()=>r.resume(),e.stop=t=>r.stop(t),e.play=t=>r.play(t),e.setVolume=(t,n)=>r.setVolume(t,n),e.getClassName=()=>"SoundNode",e.setSoundSpatial=t=>new Promise(n=>{r._isSpatial=t,setTimeout(()=>{t&&r.spatial.attach(e),n()})}),e.cloneAsync=async(t,n,o)=>new Promise(s=>{let a=e.clone(t,n,o);bt(e,a),a.onSoundLoadedObservable.addOnce(()=>{setTimeout(()=>s(a))})})}i(fr,"configureSoundNodePrototype");function br(){pr||(pr=!0,(0,Sr.AddParser)("SoundNode",(e,r,t,n)=>{e.transformNodes?.forEach(o=>{if(!o.isSoundNode)return;let s=t.transformNodes?.find(a=>a.id===o.id);if(s&&o.soundRelativePath){let a=`${n}${o.soundRelativePath}`;r.addPendingData(a),St.has(a)||St.set(a,eo(r,a)),St.get(a).then(l=>{(0,z.CreateSoundAsync)(o.soundRelativePath,l,{spatialAutoUpdate:!1}).then(p=>{if(r.removePendingData(a),s.isDisposed())return p.dispose();p.volume=o.volume,p._isSpatial=o.isSpatial,o.isSpatial&&(p.spatial.attach(s),p.spatial.maxDistance=o.maxDistance,p.spatial.panningModel=o.panningModel,p.spatial.distanceModel=o.distanceModel),s.sound=p,s.soundRelativePath=o.soundRelativePath,s.autoUpdateSpatial=o.autoUpdateSpatial,te.push(s),dr(s),fr(s,p),ur(r)})})}})}))}i(br,"registerAudioParser");function re(e){let r=new Set;[...e.transformNodes,...e.meshes].forEach(n=>{if(n.metadata?.isStaticGroup){let o=n.getDescendants(!1);o.push(n),o.forEach(s=>{if(($(s)||k(s)&&!s.isWorldMatrixFrozen)&&s.freezeWorldMatrix(),$(s)){let a=s.material;a&&!a.isFrozen&&!r.has(a)&&(r.add(a),a.onBindObservable.addOnce(()=>{a.freeze()}))}})}})}i(re,"configureTransformNodes");var ue=class{constructor(r,t){this.entries=r;this.namingId=t}entries;namingId;static{i(this,"AdvancedAssetContainerInstantiatedEntries")}get rootNodes(){return this.entries.rootNodes}get skeletons(){return this.entries.skeletons}get animationGroups(){return this.entries.animationGroups}dispose(){this.entries.dispose()}getRootNodeByName(r){let t=`${r}-${this.namingId}`;return this.entries.rootNodes.find(n=>n.name===t)??null}getNodeByName(r){let t=`${r}-${this.namingId}`;for(let n of this.entries.rootNodes){let o=this._recursivelyGetNodeByName(t,n);if(o)return o}return null}_recursivelyGetNodeByName(r,t){if(t.name===r)return t;for(let n of t.getDescendants(!0)){let o=this._recursivelyGetNodeByName(r,n);if(o)return o}return null}getScriptByClassByObjectName(r,t){let n=this.getNodeByName(r);if(n){let o=ne(n,t);if(o?.length===1)return o[0]}return null}};var Pt=require("babylonjs"),de=class{static{i(this,"AdvancedAssetContainer")}container;_rootUrl;_scriptsMap;_originalDescendants=[];_nodesMap=new Map;_animationGroupsMap=new Map;constructor(r,t,n){this.container=r,this._rootUrl=t,this._scriptsMap=n,r.populateRootNodes(),r.rootNodes.forEach(o=>{this._originalDescendants.push(o,...o.getDescendants(!1))}),r.animationGroups.forEach(o=>{this._animationGroupsMap.set(o.name,o)}),this._originalDescendants.forEach(o=>{this._nodesMap.set(o,{node:o,metadata:yt(o.metadata)})})}removeDefault(){this.container.getNodes().forEach(r=>{R.get(r)?.forEach(n=>{Ie(r,n)})}),this.container.removeAllFromScene()}getRootNodeByName(r){return this.container.rootNodes.find(t=>t.name===r)??null}getScriptByClassByObjectName(r,t){let n=this.container.getNodes();for(let o of n)if(o.name===r){let s=ne(o,t);if(s?.length===1)return s[0]}return null}instantiate(r){let t=Pt.Tools.RandomId(),n=i(l=>l,"nameFunction"),o=this.container.instantiateModelsToScene(n,!1,{...r,predicate:i(l=>(l.name=`${l.name}@editor-tools@${t}_${l.id}`,r?.predicate?.(l)??!0),"predicate")}),s=new ue(o,t);[...this.container.transformNodes,...this.container.meshes,...this.container.lights,...this.container.cameras,...this.container.animationGroups,...this.container.skeletons].forEach(l=>{let p=l.name.split("@editor-tools@");l.name=p[0]}),o.animationGroups.forEach(l=>{let p=l.name.split("@editor-tools@");l.name=`${p[0]}-${t}`});let c=[];return o.rootNodes.forEach(l=>{c.push(l,...l.getDescendants(!1))}),c.forEach(l=>{let p=l.name.split("@editor-tools@"),m=p[1].split("_").pop();l.name=`${p[0]}-${t}`;let u=this._originalDescendants.find(f=>f.id===m);j(u)&&k(l)&&bt(u,l),l.id=Pt.Tools.RandomId(),l.metadata=yt(this._nodesMap.get(u).metadata),l.metadata??={},l.metadata.originalId=m,c.forEach(f=>{f.metadata.scripts?.forEach(g=>{Object.keys(g.values||{}).forEach(y=>{let P=g.values[y];if(P.type==="entity"){P.value===m&&(P.value=l.id),P.value===u.name&&(P.value=l.name);let A=this._animationGroupsMap.get(P.value);A&&(P.value=`${A.name}-${t}`)}})})})}),c.forEach(l=>{F(this.container.scene,l,this._scriptsMap,this._rootUrl)}),re(this.container.scene),s}};var Pr=require("babylonjs"),xr=require("babylonjs");async function Ar(e,r,t){let n=t.iblIntensity,o=t.environmentIntensity,a=e.split("/").pop().replace(".scene",".babylon"),c=await(0,xr.LoadAssetContainerAsync)(a,t,{rootUrl:r,pluginExtension:".babylon"});return Pr.SceneLoaderFlags.ForceFullSceneLoadingForIncremental&&t.meshes.forEach(l=>D(l)&&l._checkDelayState()),c.addAllToScene(),t.iblIntensity=n,t.environmentIntensity=o,re(t),c}i(Ar,"preloadSceneScriptAsset");async function vr(e,r){return N(`${r}${e}`)}i(vr,"preloadCommonScriptAsset");var O=new Map,fe=new Map;function to(e,r){fe.has(e)&&console.warn(`A parser for the extension '${e}' was already registered. It will be overwritten.`),fe.set(e,r)}i(to,"registerScriptAssetParser");async function xt(e,r,t){[r,...r.transformNodes,...r.meshes,...r.lights,...r.cameras].filter(c=>c.metadata?.scripts?.length).map(c=>c.metadata.scripts).flat().forEach(c=>{if(t[c.key]?.default?._SceneAssets?.forEach(p=>{O.get(p.sceneName)||O.set(p.sceneName,null)}),c.values)for(let p in c.values){if(!c.values.hasOwnProperty(p))continue;let m=c.values[p];m.type==="asset"&&m.value&&!O.get(m.value)&&O.set(m.value,null)}});let s=0;for(let c of O.values())c===null&&++s;if(s===0)return s;let a=[];return O.forEach((c,l)=>{O.get(l)||a.push(new Promise(async p=>{try{let m=l.split(".").pop();switch(m){case"scene":let u=await Ar(l,e,r);r.onDisposeObservable.addOnce(()=>{u.dispose(),O.delete(l)}),O.set(l,new de(u,e,t));break;default:if(fe.has(m)){let f=fe.get(m);O.set(l,await f({key:l,rootUrl:e,scene:r}));break}else O.set(l,await vr(l,e));break}}catch(m){console.error(m)}p()}))}),await Promise.all(a),s}i(xt,"_preloadScriptsAssets");var Cr=require("babylonjs"),Ee=require("babylonjs"),Ir=require("babylonjs"),Te=require("babylonjs"),Er=require("babylonjs"),Tr=require("babylonjs-gui");function At(e,r,t,n,o){let s=n.constructor;if(!s)return;s._NodesFromScene?.forEach(l=>{n[l.propertyKey.toString()]=ut(l.nodeName,e)}),s._ComponentsFromScene?.length&&e.getEngine().onBeginFrameObservable.addOnce(()=>{s._ComponentsFromScene?.forEach(l=>{let p=[];if([e,...e.transformNodes,...e.meshes,...e.lights,...e.cameras].forEach(u=>{let f=vt(u,l.componentConstructor);f&&p.push(f)}),p.length>1)throw new Error(`Multiple components of type ${s._ComponentsFromScene[0].componentConstructor.name} found in scene for property "${s._ComponentsFromScene[0].propertyKey.toString()}".`);n[l.propertyKey.toString()]=p[0]??null})}),s._NodesFromDescendants?.forEach(l=>{let p=r.getDescendants?.(l.directDescendantsOnly,m=>m.name===l.nodeName)[0];n[l.propertyKey.toString()]=p??null}),s._AnimationGroups?.forEach(l=>{n[l.propertyKey.toString()]=e.getAnimationGroupByName(l.animationGroupName)}),s._SoundsFromScene?.forEach(l=>{let p=ut(l.soundName,e);p&&j(p)&&(n[l.propertyKey.toString()]=p??null)}),(s._GuiFromAsset??[]).map(async l=>{let p=`${o}assets/${l.pathInAssets}`;try{let m=await N(p),u=Tr.AdvancedDynamicTexture.CreateFullscreenUI(m.name,!0,e);u.parseSerializedObject(m.content,!1),n[l.propertyKey.toString()]=u,l.onGuiCreated?.(n,u)}catch(m){throw console.error(`Failed to load GUI from asset: ${p}`),m}}),s._ParticleSystemsFromScene?.forEach(l=>{let p=e.particleSystems?.find(m=>m.name!==l.particleSystemName?!1:l.directDescendantsOnly?m.emitter===r:m);n[l.propertyKey.toString()]=p}),(s._VisibleInInspector??[]).forEach(l=>{let p=l.propertyKey.toString(),m=t.values;if(!m)throw new Error(`No values found for script with key "${t.key}".`);if(m.hasOwnProperty(p)&&m[p].hasOwnProperty("value")){let u=m[p].value;switch(l.configuration.type){case"number":case"boolean":case"keymap":case"string":n[p]=u;break;case"vector2":n[p]=Te.Vector2.FromArray(u);break;case"vector3":n[p]=Te.Vector3.FromArray(u);break;case"color3":n[p]=Ee.Color3.FromArray(u);break;case"color4":n[p]=Ee.Color4.FromArray(u);break;case"entity":switch(l.configuration.entityType){case"node":case"sound":n[p]=ee(u,e)??null;break;case"animationGroup":n[p]=e.getAnimationGroupByName(u)??null;break;case"particleSystem":n[p]=e.particleSystems?.find(g=>g.id===u)??null;break}break;case"texture":u&&(n[p]=Ir.Texture.Parse(u,e,o));break;case"asset":if(u){let g=l.configuration.assetType,S=O.get(u);switch(g){case"json":case"gui":case"scene":case"navmesh":case"cinematic":n[p]=S;break;case"ragdoll":n[p]=ft(S);break;case"nodeParticleSystemSet":let y=Er.NodeParticleSystemSet.Parse(S);n[p]=y;break;case"material":n[p]=Cr.Material.Parse(S,e,o);break}}}}});let a=null,c=null;if(s._PointerEvents?.length){if(s._PointerEvents.find(m=>m.options.mode==="attachedMeshOnly")&&!$(r))throw new Error('@onPointerEvent with mode "attachedMeshOnly" can only be used on scripts attached to meshes (extends AbstractMesh).');if(s._PointerEvents.find(m=>m.options.mode!=="global")&&!Q(r))throw new Error('@onPointerEvent with mode different from "global" can be used only on scripts attached to Node: Mesh, Light, Camera, TransformNode.');a=e.onPointerObservable.add(m=>{let u=null;s._PointerEvents.forEach(f=>{if(!f.eventTypes.includes(m.type))return;let g=f.propertyKey.toString();if(f.options.mode==="global")return n[g]?.(m);u=m.pickInfo,u||(u=e.pick(e.pointerX,e.pointerY,y=>y.isVisible&&y.isPickable&&y.isEnabled(!0)&&!y._masterMesh,!1));let S=u.pickedMesh;if(S&&(f.options.mode==="attachedMeshOnly"&&S===r||f.options.mode==="includeDescendants"&&Q(r)&&[r,...r.getDescendants(!1)].find(A=>A===S)))return n[g]?.(m)})})}if(s._KeyboardEvents?.length&&(c=e.onKeyboardObservable.add(l=>{s._KeyboardEvents.forEach(p=>{p.eventTypes.includes(l.type)&&n[p.propertyKey.toString()]?.(l)})})),s._SpritesFromSpriteManager?.length){let l=r;if(!k(l)||!l.isSpriteManager)return console.error("@spriteFromSpriteManager decorator can only be used on SpriteManagerNode.");if(!l.spriteManager)return console.error(`SpriteManagerNode "${l.name}" has no sprite manager assigned.`);s._SpritesFromSpriteManager?.forEach(p=>{let m=l.spriteManager?.sprites.find(u=>u.name===p.spriteName)||null;n[p.propertyKey.toString()]=m})}if(s._AnimationsFromSprite?.length){if(!Be(r))return console.error("@animationFromSprite decorator can only be used in scripts attached on Sprite.");let l=r.metadata?.spriteAnimations;if(!l?.length)return console.error(`Sprite "${r.name}" has no sprite animations assigned.`);s._AnimationsFromSprite.forEach(p=>{let m=l.find(u=>u.name===p.animationName);m?n[p.propertyKey.toString()]=m??null:console.warn(`Sprite animation named "${p.animationName}" not found on sprite "${r.name}".`)})}return s._SceneAssets?.forEach(l=>{n[l.propertyKey.toString()]=O.get(l.sceneName)}),{observers:{pointerObserver:a,keyboardObserver:c}}}i(At,"applyDecorators");function F(e,r,t,n){r.metadata?.scripts&&(r.metadata.scripts?.forEach(o=>{if(!o.enabled)return;let s=t[o.key];if(!s)return;let a=s,c={};if(s.default){a=new s.default(r);let l=At(e,r,o,a,n);Object.assign(c,l?.observers??{})}a.onStart&&(c.onStartObserver=e.onBeforeRenderObservable.addOnce(()=>a.onStart(r))),a.onUpdate&&(c.onUpdateObserver=e.onBeforeRenderObservable.add(()=>a.onUpdate(r))),Ct(r,a,o.key,c)}),r.metadata.scripts=void 0)}i(F,"_applyScriptsForObject");function ro(e,r,t){if(t??=e.getScene?.(),!t)throw new Error("Cannot apply script on object: no scene available.");let n=new r(e),o={};return At(t,e,{values:{}},n,""),n.onStart&&(o.onStartObserver=t.onBeforeRenderObservable.addOnce(()=>n.onStart())),n.onUpdate&&t.onBeforeRenderObservable.add(()=>n.onUpdate()),Ct(e,n,"runtime",o),n}i(ro,"applyScriptOnObject");var R=new Map;function Ct(e,r,t,n){let o={key:t,observers:n,instance:r};R.has(e)?R.get(e).push(o):R.set(e,[o]),(Q(e)||Ve(e)||_e(e)||j(e))&&e.onDisposeObservable.addOnce((()=>{R.get(e)?.slice()?.forEach(a=>{Ie(e,a)}),R.delete(e)}))}i(Ct,"_registerScriptInstance");function Ie(e,r){r.observers.onStartObserver?.remove(),r.observers.onUpdateObserver?.remove(),r.observers.pointerObserver?.remove(),r.observers.keyboardObserver?.remove();try{r.instance.onStop?.(e)}catch(o){console.error(`Failed to call onStop for script ${r.key} on object ${e}`,o)}let t=R.get(e),n=t?.indexOf(r)??-1;n!==-1&&t?.splice(n,1)}i(Ie,"_removeRegisteredScriptInstance");function ne(e,r){return R.get(e)?.filter(o=>o.instance.constructor===r)?.map(o=>o.instance)??null}i(ne,"getAllScriptsByClassForObject");function vt(e,r){return ne(e,r)?.[0]??null}i(vt,"getScriptByClassForObject");var Or=!1;function no(e){Or=e}i(no,"setUseKtx2CompressedTextures");function ge(){return Or}i(ge,"isUsingKtx2CompressedTextures");function Oe(e){return`${e.substring(0,e.lastIndexOf("."))}.ktx2`}i(Oe,"_getKtx2TextureName");function oo(e){e.setCompressedTextureExclusions([".env",".hdr",".dds"]),e.setTextureFormatToUse(["-dxt.ktx","-astc.ktx","-pvrtc.ktx","-etc1.ktx","-etc2.ktx"])}i(oo,"configureEngineToUseCompressedTextures");function De(e,r){e._excludedCompressedTextures&&!e._excludedCompressedTextures?.includes(r)&&e._excludedCompressedTextures?.push(r)}i(De,"addExcludedCompressedTexture");function io(e,r,t){r.loadingTexturesQuality!==e&&(r.loadingTexturesQuality=e,r.textures.forEach(n=>{if(!ce(n)||!n.url)return;let o=Me(n,r);!o||n.url.includes(o)||n.updateURL(t+o)}))}i(io,"applyTexturesQuality");function Me(e,r){if(r.loadingTexturesQuality==="high"||!e.metadata?.baseSize)return e.name;let t=e.metadata.baseSize.width,n=e.metadata.baseSize.height,o=t===M(t)||n===M(n),s="";switch(r.loadingTexturesQuality){case"medium":let f=t*.66>>0,g=n*.66>>0;o&&(f=M(f),g=M(g)),s=`_${f}_${g}`;break;case"low":case"very-low":let S=t*.33>>0,y=n*.33>>0;o&&(S=M(S),y=M(y)),s=`_${S}_${y}`;break}let a=e.name;if(!a||!s)return e.name;let c=a.split("/"),l=c.pop();if(!l)return e.name;let p=l.split(".").pop(),u=`${l.replace(`.${p}`,"")}${s}.${p}`;return c.push(u),c.join("/")}i(Me,"getTextureUrl");var It=require("babylonjs"),Dr=!1;function Mr(){if(Dr)return;Dr=!0;let e=It.SerializationHelper._TextureParser;It.SerializationHelper._TextureParser=(r,t,n)=>{ge()&&(r.name&&(r.name=Oe(r.name)),r.url&&(r.url=Oe(r.url)));let o=Me(r,t);if(!o)return e(r,t,n);let s=r.name;r.name=o;let a=e(r,t,n);return a&&(a.name=s),a}}i(Mr,"registerTextureParser");var Nr=require("babylonjs"),Fr=require("babylonjs"),we=require("babylonjs"),Rr=require("babylonjs"),wr=!1;function _r(){if(wr)return;wr=!0,(0,Rr.RegisterShadowGeneratorSceneComponent)(Fr.ShadowGenerator);let e=(0,we.GetParser)(Nr.SceneComponentConstants.NAME_SHADOWGENERATOR);(0,we.AddParser)("ShadowGeneratorEditorPlugin",(r,t,n,o)=>{let s=new Map;r.shadowGenerators?.forEach(a=>{if(s.set(a.id,a.mapSize),t.loadingShadowsQuality!=="high"){switch(t.loadingShadowsQuality){case"medium":a.mapSize=a.mapSize*.5;break;case"low":a.mapSize=a.mapSize*.25;break;case"very-low":a.mapSize=a.mapSize*.125;break}a.mapSize=Math.max(128,M(a.mapSize))}}),e?.(r,t,n,o),t.lights.forEach(a=>{let c=a.getShadowGenerator();if(c?.getShadowMap()){let p=c.id,m=s.get(p);m&&(c.originalMapSize=m)}})})}i(_r,"registerShadowGeneratorParser");var Br=require("babylonjs"),Gr=require("babylonjs"),Kr=require("babylonjs"),Et=require("babylonjs"),kr=require("babylonjs");function Lr(e,r){r?.fogEnabled!==void 0&&(e.fogEnabled=r?.fogEnabled),r?.blendMode!==void 0&&(e.blendMode=r?.blendMode),r?.disableDepthWrite!==void 0&&(e.disableDepthWrite=r?.disableDepthWrite),r?.pixelPerfect!==void 0&&(e.pixelPerfect=r?.pixelPerfect),r?.useLogarithmicDepth!==void 0&&(e.useLogarithmicDepth=r?.useLogarithmicDepth),r?.metadata!==void 0&&(e.metadata=r?.metadata);for(let t of r?.sprites??[]){let n=Gr.Sprite.Parse(t,e);n.uniqueId=t.uniqueId,n.metadata=t.metadata}}i(Lr,"parseSerializedSpriteManager");var Vr=!1;function zr(){Vr||(Vr=!0,(0,kr.AddParser)("SpriteManagerNode",(e,r,t,n)=>{e.transformNodes?.forEach(o=>{if(!o.isSpriteManager)return;let s=t.transformNodes?.find(c=>c.id===o.id);if(!s)return;let a=r.getEngine();if(s.isSpriteManager=o.isSpriteManager,o.atlasJsonRelativePath){let c=`${n}${o.atlasJsonRelativePath}`;r.addPendingData(c);let l=new Kr.WebRequest;l.open("GET",c),l.send(),l.addEventListener("load",()=>{r.removePendingData(c);let p=JSON.parse(l.responseText),m=`${Br.Tools.GetFolderPath(c)}${p.meta.image}`;De(a,m);let u=new Et.SpriteManager(s.name,m,1e3,64,r,void 0,void 0,!0,p);s.spriteManager=u,s.getClassName=()=>"SpriteManagerNode",o.spriteManager&&Lr(u,o.spriteManager)})}else if(o.spriteManager?.textureUrl){De(a,o.spriteManager.textureUrl);let c=`${n}${o.spriteManager.textureUrl}`,l=new Et.SpriteManager(s.name,c,1e3,{width:o.spriteManager.cellWidth,height:o.spriteManager.cellHeight},r,void 0,void 0,!1);s.spriteManager=l,s.getClassName=()=>"SpriteManagerNode",o.spriteManager&&Lr(l,o.spriteManager)}})}))}i(zr,"registerSpriteManagerParser");var jr=require("babylonjs"),Ur=require("babylonjs"),$r=!1;function Qr(){$r||($r=!0,(0,Ur.AddParser)("MorphTargetManagerEditorPlugin",(e,r,t,n)=>{e.morphTargetManagers.forEach(o=>{let a=t.meshes.find(p=>p.id===o.meshId)?.morphTargetManager;if(!a||o.targets.find(p=>!p.delayLoadingFile))return;let l=[];o.targets.forEach(p=>{if(!p.delayLoadingFile)return l.push(Promise.resolve(null));let m=`${n}${p.delayLoadingFile}`;r.addPendingData(m);let u=new jr.WebRequest;u.responseType="arraybuffer",u.open("GET",m),u.send(),l.push(new Promise(f=>{u.addEventListener("load",()=>{r.removePendingData(m),f(u.response)})}))}),Promise.all(l).then(p=>{for(let m=0,u=a.numTargets;m<u;++m){let f=a.getTarget(m),g=o.targets[m],S=p[m];if(g.positionsCount){let y=new Float32Array(S,g.positionsOffset,g.positionsCount);f._positions=y,f.setPositions(y)}if(g.normalsCount){let y=new Float32Array(S,g.normalsOffset,g.normalsCount);f._normals=y,f.setNormals(y)}if(g.tangentsCount){let y=new Float32Array(S,g.tangentsOffset,g.tangentsCount);f._tangents=y,f.setTangents(y)}if(g.uvsCount){let y=new Float32Array(S,g.uvsOffset,g.uvsCount);f._uvs=y,f.setUVs(y)}if(g.uv2sCount){let y=new Float32Array(S,g.uv2sOffset,g.uv2sCount);f._uv2s=y,f.setUV2s(y)}}for(let m=0,u=a.numTargets;m<u;++m)a.getTarget(m)._onDataLayoutChanged.notifyObservers()})})}))}i(Qr,"registerMorphTargetManagerParser");var Yr=require("babylonjs"),Hr=require("babylonjs"),Wr=!1;function qr(){Wr||(Wr=!0,(0,Yr.AddParser)("NodeParticleSystemSetEditorPlugin",(e,r,t,n)=>{e.meshes?.forEach(o=>{if(!o.isNodeParticleSystemMesh)return;let s=t.meshes?.find(a=>a.id===o.id);s&&(o.nodeParticleSystemSet.blocks?.forEach(a=>{a.url&&(a.url=`${n}${a.url}`)}),s.nodeParticleSystemSet=Hr.NodeParticleSystemSet.Parse(o.nodeParticleSystemSet),s.nodeParticleSystemSet.id=o.nodeParticleSystemSet.id,s.nodeParticleSystemSet.uniqueId=o.uniqueId,r.addPendingData(o.id),s.nodeParticleSystemSet.buildAsync(r,!1).then(a=>{r.removePendingData(o.id),s.particleSystemSet=a,a.systems.forEach(c=>{if(Le(c)){let l=c._sizeCreation.process;l&&(c._sizeCreation.process=(p,m)=>{l(p,m),p.scale.x*=100,p.scale.y*=100})}}),a.emitterNode=s,a.start()}))})}))}i(qr,"registerNodeParticleSystemSetParser");var Jr=require("babylonjs");function Zr(e,r){r??=new Jr.ClusteredLightContainer("Clustered Light Container",[],e);let t=e.metadata?.clusteredLight;return t&&(t.lights.length>0&&(r.horizontalTiles=t.horizontalTiles,r.verticalTiles=t.verticalTiles,r.depthSlices=t.depthSlices,r.maxRange=t.maxRange),t.lights.forEach(n=>{let o=e.getLightById(n);o&&r?.addLight(o)})),r}i(Zr,"configureLights");function Tt(e){if(!Array.isArray(e.frames)){let r=[];for(let t of Object.keys(e.frames))r.push({filename:t,...e.frames[t]});e.frames=r}}i(Tt,"normalizeAtlasJson");function so(e,r,t){let o=(e.metadata?.spriteAnimations??[]).find(s=>s.name===r);if(!o)return console.error(`Animation with name "${r}" not found on sprite.`);e.playAnimation(o.from,o.to,o.loop,o.delay,t)}i(so,"playSpriteAnimationFromName");var en=require("babylonjs"),tn=require("babylonjs"),rn=require("babylonjs"),nn=require("babylonjs"),Ot=require("babylonjs"),oe=require("babylonjs"),on=require("babylonjs"),Xr=!1;function sn(){Xr||(Xr=!0,(0,on.AddParser)("SpriteMapNode",(e,r,t,n)=>{e.transformNodes?.forEach(o=>{if(!o.isSpriteMap)return;let s=t.transformNodes?.find(l=>l.id===o.id);if(!s)return;s.isSpriteMap=o.isSpriteMap;let a=`${n}${o.atlasJsonRelativePath}`;r.addPendingData(a);let c=new rn.WebRequest;c.open("GET",a),c.send(),c.addEventListener("load",()=>{r.removePendingData(a);let l=JSON.parse(c.responseText);Tt(l);let p=`${en.Tools.GetFolderPath(a)}${l.meta.image}`,m=new Ot.Texture(p,r,!1,!1,Ot.Texture.NEAREST_NEAREST,null,null,null,!1,tn.Engine.TEXTUREFORMAT_RGBA),u=new nn.SpriteMap(s.name,l,m,{layerCount:o.options.layerCount,stageSize:oe.Vector2.FromArray(o.options.stageSize??[10,1]),outputSize:oe.Vector2.FromArray(o.options.outputSize??[100,100]),colorMultiply:oe.Vector3.FromArray(o.options.colorMultiply??[1,1,1]),flipU:!0},r);o.getClassName=()=>"SpriteMapNode",o.tiles.forEach(g=>{for(let S=0,y=g.repeatCount.x+1;S<y;++S)for(let P=0,A=g.repeatCount.y+1;P<A;++P){let v=S*(g.repeatOffset.x+1),h=P*(g.repeatOffset.y+1);u.changeTiles(g.layer,new oe.Vector2(g.position.x+v,(u.options.stageSize?.y??0)-1-g.position.y-h),g.tile)}});let f=u._output;f.parent=s,s.spriteMap=u})})}))}i(sn,"registerSpriteMapParser");var cn=require("babylonjs"),Dt=require("babylonjs"),pn=require("babylonjs"),mn=require("babylonjs"),an=new Map;async function ln(e,r){let t=e.getWaitingItemsCount();for(;!e.isDisposed&&(!e.isReady()||e.getWaitingItemsCount()>0);){await new Promise(o=>setTimeout(o,150));let n=t-e.getWaitingItemsCount();n===t&&e.textures.forEach(o=>{o.delayLoadState===Dt.Constants.DELAYLOADSTATE_NONE&&(o.delayLoadState=Dt.Constants.DELAYLOADSTATE_LOADED)}),r(n/t)}}i(ln,"waitForWaitingItems");async function ao(e,r,t,n,o){t.loadingQuality=o?.quality??"high",t.loadingTexturesQuality=o?.texturesQuality??t.loadingQuality,t.loadingShadowsQuality=o?.shadowsQuality??t.loadingQuality,t.loadingLodsQuality=o?.lodsQuality??t.loadingQuality,br(),Mr(),_r(),Qr(),sn(),zr(),qr();let s=an.get(t)??{};if(an.set(t,s),await(0,pn.AppendSceneAsync)(`${e}${r}`,t,{pluginExtension:".babylon",onProgress:i(c=>{let l=Math.min(c.loaded/c.total*.5);o?.onProgress?.(l)},"onProgress")}),await ln(t,c=>{o?.onProgress?.(.5+c*.25)}),!o?.skipAssetsPreload){let c=0;do c=await xt(e,t,n);while(c!==0&&!t.isDisposed)}mn.SceneLoaderFlags.ForceFullSceneLoadingForIncremental&&t.meshes.forEach(c=>D(c)&&c._checkDelayState());let a=Zr(t,s.clusteredLightContainer);s.clusteredLightContainer=a,await ln(t,c=>{o?.onProgress?.(.75+c*.25)}),o?.onProgress?.(1),ke(t),ze(t.loadingLodsQuality,t),$e(t),ve(t),t.metadata?.rendering&&(sr(t,t.metadata.rendering),t.activeCamera&&mt(t.activeCamera,e,o?.postProcessConfiguration)),t.metadata?.physicsGravity&&t.getPhysicsEngine()?.setGravity(cn.Vector3.FromArray(t.metadata?.physicsGravity)),F(t,t,n,e),t.transformNodes.forEach(c=>{F(t,c,n,e)}),t.meshes.forEach(c=>{ir(c),F(t,c,n,e)}),t.lights.forEach(c=>{F(t,c,n,e)}),t.cameras.forEach(c=>{F(t,c,n,e)}),t.spriteManagers?.forEach(c=>{c.sprites.forEach(l=>{F(t,l,n,e)})}),re(t)}i(ao,"loadScene");var un=require("babylonjs");async function lo(e,r,t){let n=await N(e+r),s=un.Tools.Instantiate(n.customType).Parse(n,t,e);return s.id=n.id,s.uniqueId=n.uniqueId,s}i(lo,"loadMaterialFromFile");function co(e){return Promise.all(e.materials.map(async r=>{let t=r.getBindedMeshes();await Promise.all(t.map(async n=>{le(n)||await r.forceCompilationAsync(n,{clipPlane:!!e.clipPlane,useInstances:n.hasInstances})}))}))}i(co,"forceCompileAllSceneMaterials");var B=require("babylonjs");function ye(e){if(!isNaN(parseFloat(e))&&isFinite(e))return B.Animation.ANIMATIONTYPE_FLOAT;switch(e?.getClassName?.()){case"Vector2":return B.Animation.ANIMATIONTYPE_VECTOR2;case"Vector3":return B.Animation.ANIMATIONTYPE_VECTOR3;case"Quaternion":return B.Animation.ANIMATIONTYPE_QUATERNION;case"Color3":return B.Animation.ANIMATIONTYPE_COLOR3;case"Color4":return B.Animation.ANIMATIONTYPE_COLOR4;case"Size":return B.Animation.ANIMATIONTYPE_SIZE;case"Matrix":return B.Animation.ANIMATIONTYPE_MATRIX}return null}i(ye,"getAnimationTypeForObject");var dn=require("babylonjs");function po(e){return function(r,t){let n=r.constructor;n._NodesFromScene??=[],n._NodesFromScene.push({propertyKey:t,nodeName:e})}}i(po,"nodeFromScene");function mo(e){return function(r,t){let n=r.constructor;n._ComponentsFromScene??=[],n._ComponentsFromScene.push({propertyKey:t,componentConstructor:e})}}i(mo,"componentFromScene");function uo(e,r=!1){return function(t,n){let o=t.constructor;o._NodesFromDescendants??=[],o._NodesFromDescendants.push({propertyKey:n,nodeName:e,directDescendantsOnly:r})}}i(uo,"nodeFromDescendants");function fo(e){return function(r,t){let n=r.constructor;n._AnimationGroups??=[],n._AnimationGroups.push({animationGroupName:e,propertyKey:t})}}i(fo,"animationGroupFromScene");function go(e){return function(r,t){let n=r.constructor;n._SceneAssets??=[],n._SceneAssets.push({sceneName:e,propertyKey:t})}}i(go,"sceneAsset");function yo(e,r){return function(t,n){let o=t.constructor;o._GuiFromAsset??=[],o._GuiFromAsset.push({propertyKey:n,pathInAssets:e,onGuiCreated:r})}}i(yo,"guiFromAsset");function So(e){return function(r,t){let n=r.constructor;n._SoundsFromScene??=[],n._SoundsFromScene.push({propertyKey:t,soundName:e})}}i(So,"soundFromScene");function ho(e,r=!1){return function(t,n){let o=t.constructor;o._ParticleSystemsFromScene??=[],o._ParticleSystemsFromScene.push({propertyKey:n,particleSystemName:e,directDescendantsOnly:r})}}i(ho,"particleSystemFromScene");function bo(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"boolean"}})}}i(bo,"visibleAsBoolean");function Po(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"string"}})}}i(Po,"visibleAsString");function xo(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"number"}})}}i(xo,"visibleAsNumber");function Ao(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"vector2"}})}}i(Ao,"visibleAsVector2");function vo(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"vector3"}})}}i(vo,"visibleAsVector3");function Co(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"color3"}})}}i(Co,"visibleAsColor3");function Io(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"color4"}})}}i(Io,"visibleAsColor4");function Eo(e,r,t){return function(n,o){let s=n.constructor;s._VisibleInInspector??=[],s._VisibleInInspector.push({label:r,propertyKey:o,configuration:{...t,entityType:e,type:"entity"}})}}i(Eo,"visibleAsEntity");function To(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"texture"}})}}i(To,"visibleAsTexture");function Oo(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"keymap"}})}}i(Oo,"visibleAsKeyMap");function Do(e,r,t){return function(n,o){let s=n.constructor;s._VisibleInInspector??=[],s._VisibleInInspector.push({label:r,propertyKey:o,configuration:{...t,assetType:e,type:"asset"}})}}i(Do,"visibleAsAsset");function Mo(e,r){return function(t,n){let o=t.constructor;o._PointerEvents??=[],o._PointerEvents.push({propertyKey:n,options:{mode:"global",...r??{}},eventTypes:Array.isArray(e)?e:[e]})}}i(Mo,"onPointerEvent");function wo(e){return function(r,t){let n=r.constructor;n._KeyboardEvents??=[],n._KeyboardEvents.push({propertyKey:t,eventTypes:Array.isArray(e)?e:[e]})}}i(wo,"onKeyboardEvent");function No(e){return function(r,t){let n=r.constructor;n._SpritesFromSpriteManager??=[],n._SpritesFromSpriteManager.push({propertyKey:t,spriteName:e})}}i(No,"spriteFromSpriteManager");function Fo(e){return function(r,t){let n=r.constructor;n._AnimationsFromSprite??=[],n._AnimationsFromSprite.push({propertyKey:t,animationName:e})}}i(Fo,"animationFromSprite");var Ne=require("babylonjs");function od(e,r){let t;return e===Ne.Animation.ANIMATIONTYPE_FLOAT?t=r.value:t=r.value.clone(),{value:t,frame:r.frame,interpolation:r.interpolation,inTangent:e===Ne.Animation.ANIMATIONTYPE_FLOAT?r.inTangent:r.inTangent?.clone(),outTangent:e===Ne.Animation.ANIMATIONTYPE_FLOAT?r.outTangent:r.outTangent?.clone()}}i(od,"cloneKey");function Fe(e,r){let t=r.split("."),n=e;for(let o=0;o<t.length;++o)n=n[t[o]];return n}i(Fe,"getPropertyValue");function Mt(e,r,t){let n=null;e.onAnimationGroupPlayObservable.add(()=>{n=r.onAfterAnimationsObservable.add(()=>{t()})}),e.onAnimationGroupPauseObservable.add(()=>{n&&(r.onAfterAnimationsObservable.remove(n),n=null)}),e.onAnimationGroupEndObservable.add(()=>{n&&(r.onAfterAnimationsObservable.remove(n),n=null)})}i(Mt,"registerAfterAnimationCallback");var G=require("babylonjs"),Re=require("babylonjs"),L=require("babylonjs");function Ro(e,r){return{name:e.name,framesPerSecond:e.framesPerSecond,outputFramesPerSecond:e.outputFramesPerSecond,tracks:e.tracks.map(t=>{let n=null,o=null;if(t.node?(n=ee(t.node,r),n||(n=r.particleSystems?.find(a=>a.id===t.node)??null)):t.defaultRenderingPipeline?n=pe():t.volumetricLightScattering&&(n=je()),t.propertyPath){let a=Fe(n,t.propertyPath);o=ye(a)}let s=null;return t.sound&&(s=ee(t.sound,r)),{node:n,sound:s,propertyPath:t.propertyPath,defaultRenderingPipeline:t.defaultRenderingPipeline,volumetricLightScattering:t.volumetricLightScattering,animationGroupWeight:t.animationGroupWeight,animationGroup:t.animationGroup?r.getAnimationGroupByName(t.animationGroup):null,animationGroups:t.animationGroups,sounds:t.sounds,soundVolume:wt(t.soundVolume??[],G.Animation.ANIMATIONTYPE_FLOAT),keyFrameEvents:t.keyFrameEvents?.map(a=>{let c={...a};switch(a.data?.type){case"set-enabled":c.data={type:"set-enabled",value:a.data.value,node:ee(a.data.node,r)};break;case"apply-impulse":c.data={type:"apply-impulse",radius:a.data.radius,mesh:r.getMeshById(a.data.mesh),force:L.Vector3.FromArray(a.data.force),contactPoint:L.Vector3.FromArray(a.data.contactPoint)};break}return c}),keyFrameAnimations:n&&o!==null&&wt(t.keyFrameAnimations??[],o)}})}}i(Ro,"parseCinematic");function _(e,r){if(e===null)return null;if(e!==void 0)switch(r){case G.Animation.ANIMATIONTYPE_FLOAT:return e;case G.Animation.ANIMATIONTYPE_VECTOR2:return L.Vector2.FromArray(e);case G.Animation.ANIMATIONTYPE_VECTOR3:return L.Vector3.FromArray(e);case G.Animation.ANIMATIONTYPE_QUATERNION:return L.Quaternion.FromArray(e);case G.Animation.ANIMATIONTYPE_COLOR3:return Re.Color3.FromArray(e);case G.Animation.ANIMATIONTYPE_COLOR4:return Re.Color4.FromArray(e);case G.Animation.ANIMATIONTYPE_MATRIX:return L.Matrix.FromArray(e)}}i(_,"parseCinematicKeyValue");function wt(e,r){return e?.map(t=>{let n=t.type==="key"?t:null;if(n)return{...n,value:_(n.value,r),inTangent:_(n.inTangent,r),outTangent:_(n.outTangent,r)};let o=t.type==="cut"?t:null;if(o)return{...o,key1:{...o.key1,value:_(o.key1.value,r),inTangent:_(o.key1.inTangent,r),outTangent:_(o.key1.outTangent,r)},key2:{...o.key2,value:_(o.key2.value,r),inTangent:_(o.key2.inTangent,r),outTangent:_(o.key2.outTangent,r)}};throw new Error(`Unknown key frame type: ${t.type}`)})}i(wt,"parseKeyFrameAnimations");function fn(e,r){e.onEventObservable.notifyObservers(r.eventName)}i(fn,"handleApplyEvent");function gn(e){e.node?.setEnabled(e.value)}i(gn,"handleSetEnabledEvent");var Nt=require("babylonjs"),yn=Nt.Vector3.Zero();function Sn(e,r){let t=r.mesh?[r.mesh]:e.meshes.filter(n=>n.physicsAggregate);r.radius&&(t=t.filter(n=>{let o=n.getBoundingInfo().boundingBox.centerWorld;return Nt.Vector3.Distance(o,r.contactPoint)<=r.radius})),t.forEach(n=>{if(n.physicsAggregate?.body){let o=r.contactPoint.subtract(n.getBoundingInfo().boundingBox.centerWorld);o.multiplyInPlace(r.force),n.physicsAggregate.body.setLinearVelocity(yn),n.physicsAggregate.body.setAngularVelocity(yn),n.physicsAggregate.body.applyImpulse(o.negateInPlace(),r.contactPoint)}})}i(Sn,"handleApplyImpulseEvent");var hn=require("babylonjs"),bn=require("babylonjs"),Se=class extends bn.AnimationGroup{static{i(this,"Cinematic")}onEventObservable=new hn.Observable;onEvent(r,t){this.onEventObservable.add(n=>{r===n&&t()})}};function Ft(e){return e.type==="key"}i(Ft,"isCinematicKey");function ie(e){return e.type==="cut"}i(ie,"isCinematicKeyCut");function _o(e){return e.type==="event"}i(_o,"isCinematicKeyEvent");function Lo(e){return e.type==="group"}i(Lo,"isCinematicGroup");function Vo(e){return e.type==="sound"}i(Vo,"isCinematicSound");var C=require("babylonjs"),se=require("babylonjs");function Bo(e,r,t){let n=new Se(e.name,r);return e.tracks.forEach(o=>{let s=o.animationGroup;if(s&&o.animationGroups?.length){let f=s.clone(`${s.name}-cinematic-temp`),g=r.animationGroups.indexOf(f);g!==-1&&r.animationGroups.splice(g,1),n.onAnimationEndObservable.add(()=>{s.stop(),f.stop()});let S=o.animationGroups.reduce((v,h)=>Math.min(v,h.frame),Number.MAX_VALUE)??0,y=o.animationGroups.reduce((v,h)=>Math.max(v,h.frame+h.endFrame),0)??0,P={frame:S},A=new C.Animation(f.name,"frame",60,C.Animation.ANIMATIONTYPE_FLOAT,C.Animation.ANIMATIONLOOPMODE_CYCLE,!1);if(A.setKeys([{frame:S,value:0},{frame:y,value:y}]),o.animationGroups.forEach(v=>{A.addEvent(new se.AnimationEvent(v.frame,()=>{let h=v.repeatCount??0;if(f.to=v.endFrame,f.speedRatio=v.speed,f.stop(),f.play(h>0),f.from!==v.startFrame&&f.goToFrame(v.startFrame),h){let w=0;f.onAnimationGroupLoopObservable.add(()=>{++w,w>h&&f.stop()})}}))}),n.addTargetedAnimation(A,P),(o.animationGroupWeight?.length??0)>=2&&o.animationGroupWeight.find(h=>ie(h)?h.key1.value!==1||h.key2.value!==1:h.value!==1)){let h={weight:0},w=new C.Animation(`${f.name}-weights`,"weight",60,C.Animation.ANIMATIONTYPE_FLOAT,C.Animation.ANIMATIONLOOPMODE_CYCLE,!1),K=[];o.animationGroupWeight.forEach(ae=>{ie(ae)?(K.push(ae.key1),K.push(ae.key2)):K.push(ae)}),w.setKeys(K),n.addTargetedAnimation(w,h),Mt(n,r,()=>{f.weight=h.weight})}}let a=o.sound;if(!t?.ignoreSounds&&a&&a.sound?.buffer&&o.sounds?.length){let f={dummy:0,volume:0},g=new C.Animation(a.name,"dummy",60,C.Animation.ANIMATIONTYPE_FLOAT,C.Animation.ANIMATIONLOOPMODE_CYCLE,!1),S=0;if(o.sounds?.forEach(y=>{let P=y.endFrame-y.startFrame;S=Math.max(S,y.frame+P),g.addEvent(new se.AnimationEvent(y.frame,A=>{let h=(A-y.frame+y.startFrame)/e.framesPerSecond;a.play({startOffset:h})},!1)),g.addEvent(new se.AnimationEvent(y.frame+P,()=>{a.stop()}))}),g.setKeys([{frame:0,value:0},{frame:S,value:S}]),n.addTargetedAnimation(g,f),(o.soundVolume?.length??0)>=2){let y=new C.Animation(a.name,"volume",60,C.Animation.ANIMATIONTYPE_FLOAT,C.Animation.ANIMATIONLOOPMODE_CYCLE,!1),P=[];o.soundVolume.forEach(A=>{ie(A)?(P.push(A.key1),P.push(A.key2)):P.push(A)}),y.setKeys(P),n.addTargetedAnimation(y,f),Mt(n,r,()=>{a.volume=f.volume})}}if(o.keyFrameEvents){let f={dummy:0},g=new C.Animation("events","dummy",60,C.Animation.ANIMATIONTYPE_FLOAT,C.Animation.ANIMATIONLOOPMODE_CYCLE,!1),S=0;o.keyFrameEvents?.forEach(y=>{S=Math.max(S,y.frame),g.addEvent(new se.AnimationEvent(y.frame,()=>{switch(y.data?.type){case"event":fn(n,y.data);break;case"set-enabled":gn(y.data);break;case"apply-impulse":Sn(r,y.data);break}}))}),g.setKeys([{frame:0,value:0},{frame:S+1,value:S+1}]),n.addTargetedAnimation(g,f)}let c=o.defaultRenderingPipeline?pe():o.node;if(!c||!o.propertyPath||!o.keyFrameAnimations)return;let l=Fe(c,o.propertyPath),p=ye(l);if(p===null)return;let m=new C.Animation(o.propertyPath,o.propertyPath,60,p,C.Animation.ANIMATIONLOOPMODE_CYCLE,!1),u=[];o.keyFrameAnimations?.forEach(f=>{if(Ft(f))return u.push(f);ie(f)&&(u.push(f.key1),u.push(f.key2),xe(c)&&o.propertyPath==="position"&&m.addEvent(new se.AnimationEvent(f.key1.frame,()=>{let g=nt();if(!g)return;let S=g.motionStrength;g.motionStrength=0,requestAnimationFrame(()=>{g.motionStrength=S})})))}),m.setKeys(u),n.addTargetedAnimation(m,c)}),n.normalize(),n}i(Bo,"generateCinematicAnimationGroup");async function Rt(e,r){return new Promise((t,n)=>{let o=indexedDB.open(e,1);o.addEventListener("error",()=>n()),o.addEventListener("blocked",()=>n()),o.addEventListener("upgradeneeded",()=>{try{r(o.result)}catch(s){n(s)}}),o.addEventListener("success",()=>{t(o.result)})})}i(Rt,"openIndexDB");function he(e,r,t){return new Promise(n=>{let s=e.transaction(r).objectStore(r).get(t);s.addEventListener("error",()=>{n(null)}),s.addEventListener("success",()=>{n(s.result??null)})})}i(he,"getFromIndexDB");async function V(e,r,t){let o=e.transaction(r,"readwrite").objectStore(r).put(t);await new Promise((s,a)=>{o.addEventListener("error",()=>a()),o.addEventListener("success",()=>s())})}i(V,"putInIndexDB");var Pn=require("babylonjs");function Go(e){Pn.AbstractEngine.OfflineProviderFactory=(r,t,n=!1)=>new be(e,r,t,n)}i(Go,"setupOfflineProvider");async function _t(e,r){let t=await new Promise(n=>{let o=new be(e,r,s=>n(s?o:null),!1)});return await t?.open(),t}i(_t,"createAndOpenDatabase");var be=class{static{i(this,"Database")}enableSceneOffline=!0;enableTexturesOffline=!0;name;_database=null;_manifestVersion=null;_loadFilePromises=new Map;constructor(r,t,n,o){this.name=r,o?n(!1):this._checkManifest(t,n)}async _checkManifest(r,t){try{let n=await N(`${r}.manifest?${Date.now()}`);this._manifestVersion=n.version,t(!0)}catch{this.enableSceneOffline=!1,this.enableTexturesOffline=!1,t(!1)}}async open(r,t){try{this._database=await Rt(this.name,n=>{n.createObjectStore("files",{keyPath:"url"}),n.createObjectStore("images",{keyPath:"url"}),n.createObjectStore("versions",{keyPath:"url"})}),r?.()}catch{t?.()}}close(){this._database?.close(),this._database=null,this._loadFilePromises.clear()}async loadImage(r,t){if(!this._database){t.src=r;return}let n=null;await gt(()=>this._manifestVersion!==null);let o=this._loadFilePromises.get(r);if(o)return o.then(a=>{a!==null?t.src=a:t.src=r});let s=new Promise(async a=>{if(await this._getFileVersionForUrl(r)!==this._manifestVersion?(n=await X(r,"blob"),await Promise.all([V(this._database,"images",{url:r,data:n}),V(this._database,"versions",{url:r,version:this._manifestVersion})])):n=(await he(this._database,"images",r))?.data??null,n!==null){let l=URL.createObjectURL(n);t.src=l}else t.src=r;a(t.src)});this._loadFilePromises.set(r,s)}async saveImage(r){if(!this._database)throw new Error("Database is not available");let t=await X(r,"blob");await Promise.all([V(this._database,"images",{url:r,data:t}),V(this._database,"versions",{url:r,version:this._manifestVersion})])}async isFileMatchingVersion(r){return await this._getFileVersionForUrl(r)===this._manifestVersion}async loadFile(r,t,n,o,s){if(!this._database)return o?.();let a=null;await gt(()=>this._manifestVersion!==null);let c=this._loadFilePromises.get(r);if(c)return c.then(p=>{p!==null?t(p):o?.()});let l=new Promise(async p=>{await this._getFileVersionForUrl(r)!==this._manifestVersion?(a=await X(r,s?"arraybuffer":"text",n),await Promise.all([V(this._database,"files",{url:r,data:a}),V(this._database,"versions",{url:r,version:this._manifestVersion})])):a=(await he(this._database,"files",r))?.data??null,a!==null?t(a):o?.(),p(a)});this._loadFilePromises.set(r,l)}async saveFile(r,t,n){if(!this._database)throw new Error("Database is not available");let o=await X(r,t?"arraybuffer":"text",n);await Promise.all([V(this._database,"files",{url:r,data:o}),V(this._database,"versions",{url:r,version:this._manifestVersion})])}async _getFileVersionForUrl(r){return(await he(this._database,"versions",r))?.version??null}};var xn=["mp3","wav"],An=["babylonbinarymeshdata"],Ko=["ktx","ktx2","jpg","jpeg","png","bmp","webp"],vn=["babylon","json"],Lt=["jpg","jpeg","png","bmp","webp"],Cn=["bin","ktx","ktx2",...An,...xn],ko=[...vn,...Lt,...Cn];async function zo(e,r,t){let n=[],o=await N(`${r}scenes-used-files.json`),s=[];if(t?.scenesFilter){s=t.scenesFilter.map(u=>typeof u=="string"?{sceneName:u,disableSounds:!1,disableTextures:!1,disableGeometries:!1}:u);for(let[u,f]of Object.entries(o))s.find(g=>g.sceneName===u)||delete o[u]}let a=0,c=0,l=t?.engine?.textureFormatInUse?t?.engine?.texturesSupported[0]:null,p=Object.values(o).reduce((u,f)=>u+f.length,0);function m(u){++c,t?.onProgress?.(c/p),u?.()}i(m,"notifyProgress");for(let[u,f]of Object.entries(o)){let g=u.replace(".scene",".babylon"),S=await _t(e,`${r}${g}`);if(!S)continue;let y=s.find(P=>P.sceneName===u);for(let P=0,A=f.length;P<A;++P){let v=f[P],h=v.split(".").pop()?.toLowerCase();if(!h){m();continue}if(An.includes(h)&&y?.disableGeometries){m();continue}if(Ko.includes(h)&&y?.disableTextures){m();continue}if(xn.includes(h)&&y?.disableSounds){m();continue}if(Lt.includes(h)&&y?.disableTextures){m();continue}if(h==="ktx")if(l){if(!v.endsWith(l)){m();continue}}else{m();continue}if(h==="ktx2"&&!ge()){m();continue}if(n.length>300){try{await Promise.all(n)}catch{}n.splice(0,n.length)}let w=`${r}${v}`;ko.includes(h)&&n.push(new Promise(async K=>{if(await S.isFileMatchingVersion(w))return m(K);try{Lt.includes(h)?t?.disableImages||(await S.saveImage(w),++a):Cn.includes(h)?(await S.saveFile(w,!0),++a):vn.includes(h)&&(await S.saveFile(w,!1),++a)}catch{}m(K)}))}await Promise.all(n),S.close()}return await Promise.all(n),{loadedCount:a,processedFilesCount:c}}i(zo,"preloadAssetsToDatabase");0&&(module.exports={AdvancedAssetContainer,AdvancedAssetContainerInstantiatedEntries,Cinematic,Database,NodeParticleSystemSet,_applyScriptsForObject,_getKtx2TextureName,_preloadScriptsAssets,_registerScriptInstance,_removeRegisteredScriptInstance,addExcludedCompressedTexture,animationFromSprite,animationGroupFromScene,applyMeshesLODQuality,applyRenderingConfigurationForCamera,applyScriptOnObject,applyShadowsQuality,applyTexturesQuality,componentFromScene,configureEngineToUseCompressedTextures,configureMeshDistanceOrScreenCoverage,configureShadowMapRefreshRate,configureShadowMapRenderListPredicate,copyAndParseRagdollConfiguration,createAndOpenDatabase,createDefaultRenderingPipeline,createMotionBlurPostProcess,createSSAO2RenderingPipeline,createSSRRenderingPipeline,createTAARenderingPipeline,createVLSPostProcess,defaultPipelineCameraConfigurations,disposeDefaultRenderingPipeline,disposeMotionBlurPostProcess,disposeSSAO2RenderingPipeline,disposeSSRRenderingPipeline,disposeTAARenderingPipeline,disposeVLSPostProcess,forceCompileAllSceneMaterials,generateCinematicAnimationGroup,getAllScriptsByClassForObject,getAnimationTypeForObject,getDefaultRenderingPipeline,getFromIndexDB,getMotionBlurPostProcess,getPowerOfTwoUntil,getSSAO2RenderingPipeline,getSSRRenderingPipeline,getScriptByClassForObject,getTAARenderingPipeline,getTextureUrl,getVLSPostProcess,guiFromAsset,isAbstractMesh,isAnyParticleSystem,isArcRotateCamera,isBone,isCamera,isCinematicGroup,isCinematicKey,isCinematicKeyCut,isCinematicKeyEvent,isCinematicSound,isClusteredLightContainer,isDecalMesh,isDirectionalLight,isFreeCamera,isGPUParticleSystem,isGaussianSplattingMesh,isGroundMesh,isHemisphericLight,isInstancedMesh,isLight,isMesh,isNode,isNodeFromStaticGroup,isParticleSystem,isPointLight,isScene,isSoundNode,isSpotLight,isSprite,isTexture,isTransformNode,isUsingKtx2CompressedTextures,loadMaterialFromFile,loadScene,motionBlurPostProcessCameraConfigurations,nodeFromDescendants,nodeFromScene,normalizeAtlasJson,onKeyboardEvent,onPointerEvent,openIndexDB,parseCinematic,parseCinematicKeyValue,parseDefaultRenderingPipeline,parseKeyFrameAnimations,parseMotionBlurPostProcess,parseRagdollConfiguration,parseSSAO2RenderingPipeline,parseSSRRenderingPipeline,parseTAARenderingPipeline,parseVLSPostProcess,particleSystemFromScene,playSpriteAnimationFromName,preloadAssetsToDatabase,putInIndexDB,registerScriptAssetParser,saveRenderingConfigurationForCamera,sceneAsset,scriptAssetsCache,scriptAssetsParsers,scriptsDictionary,serializeDefaultRenderingPipeline,serializeMotionBlurPostProcess,serializeSSAO2RenderingPipeline,serializeSSRRenderingPipeline,serializeTAARenderingPipeline,serializeVLSPostProcess,setDefaultRenderingPipelineRef,setMotionBlurPostProcessRef,setSSAO2RenderingPipelineRef,setSSRRenderingPipelineRef,setStaticDecalsEnabled,setTAARenderingPipelineRef,setUseKtx2CompressedTextures,setVLSPostProcessRef,setupOfflineProvider,soundFromScene,spriteFromSpriteManager,ssaoRenderingPipelineCameraConfigurations,ssrRenderingPipelineCameraConfigurations,taaRenderingPipelineCameraConfigurations,visibleAsAsset,visibleAsBoolean,visibleAsColor3,visibleAsColor4,visibleAsEntity,visibleAsKeyMap,visibleAsNumber,visibleAsString,visibleAsTexture,visibleAsVector2,visibleAsVector3,vlsPostProcessCameraConfigurations});
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mBAAmB,CAAC;AAElC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,UAAU,CAAC;AAEzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mBAAmB,CAAC;AAElC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,UAAU,CAAC;AAEzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC"}
@@ -0,0 +1,84 @@
1
+ import { AddParser } from "@babylonjs/core/Loading/Plugins/babylonFileParser.function";
2
+ import { GaussianSplattingMesh } from "@babylonjs/core/Meshes/GaussianSplatting/gaussianSplattingMesh";
3
+ import { GaussianSplattingCompoundMesh } from "@babylonjs/core/Meshes/GaussianSplatting/gaussianSplattingCompoundMesh";
4
+ import { GetGaussianSplattingMaxPartCount } from "@babylonjs/core/Materials/GaussianSplatting/gaussianSplattingMaterial";
5
+ import { loadFile } from "../tools/request";
6
+ let registered = false;
7
+ export function registerGaussianSplattingParser() {
8
+ if (registered) {
9
+ return;
10
+ }
11
+ registered = true;
12
+ let compountMesh = null;
13
+ AddParser("GaussianSplattingMeshEditorPlugin", (parsedData, scene, container, rootUrl) => {
14
+ const maxGaussianSplattingPartCount = GetGaussianSplattingMaxPartCount(scene.getEngine());
15
+ parsedData.meshes?.forEach((mesh) => {
16
+ if (mesh.type !== "GaussianSplattingMesh" || !mesh.splatDataPath) {
17
+ return;
18
+ }
19
+ const instantiatedMesh = container.meshes.find((m) => m.id === mesh.id);
20
+ if (!instantiatedMesh) {
21
+ return;
22
+ }
23
+ instantiatedMesh.dispose(true);
24
+ const splatDataUrl = rootUrl + mesh.splatDataPath;
25
+ const shDataUrls = mesh.shDataPaths?.map((shData) => rootUrl + shData);
26
+ scene.addPendingData(splatDataUrl);
27
+ shDataUrls?.forEach((shDataUrl) => {
28
+ scene.addPendingData(shDataUrl);
29
+ });
30
+ const promises = [loadFile(splatDataUrl, "arraybuffer")];
31
+ shDataUrls?.forEach((shDataUrl) => {
32
+ promises.push(loadFile(shDataUrl, "arraybuffer"));
33
+ });
34
+ Promise.all(promises).then(([splatData, ...shDataArray]) => {
35
+ mesh.splatsData = splatData;
36
+ mesh.shData = shDataArray?.map((buffer) => new Uint8Array(buffer));
37
+ const parsedMesh = GaussianSplattingMesh.Parse(mesh, scene);
38
+ parsedMesh.id = mesh.id;
39
+ parsedMesh.uniqueId = mesh.uniqueId;
40
+ scene.removeMesh(parsedMesh);
41
+ mesh.proxies.forEach((proxy) => {
42
+ compountMesh ??= new GaussianSplattingCompoundMesh("GaussianSplattingCompoundMesh", undefined, scene);
43
+ if (compountMesh.partCount >= maxGaussianSplattingPartCount) {
44
+ return;
45
+ }
46
+ const proxyMesh = compountMesh.addPart(parsedMesh, false);
47
+ proxyMesh.name = proxy.name;
48
+ proxyMesh.id = proxy.id;
49
+ proxyMesh.uniqueId = proxy.uniqueId;
50
+ proxyMesh.metadata = proxy.metadata ?? {};
51
+ proxyMesh.metadata._waitingParentId = proxy.metadata?.parentId;
52
+ proxyMesh.setEnabled(proxy.isEnabled ?? true);
53
+ if (proxy.position) {
54
+ proxyMesh.position.copyFromFloats(proxy.position[0], proxy.position[1], proxy.position[2]);
55
+ }
56
+ if (proxy.rotation) {
57
+ proxyMesh.rotation.copyFromFloats(proxy.rotation[0], proxy.rotation[1], proxy.rotation[2]);
58
+ }
59
+ if (proxy.rotationQuaternion) {
60
+ proxyMesh.rotationQuaternion?.copyFromFloats(proxy.rotationQuaternion[0], proxy.rotationQuaternion[1], proxy.rotationQuaternion[2], proxy.rotationQuaternion[3]);
61
+ }
62
+ if (proxy.scaling) {
63
+ proxyMesh.scaling.copyFromFloats(proxy.scaling[0], proxy.scaling[1], proxy.scaling[2]);
64
+ }
65
+ if (proxy.parentId) {
66
+ const parent = container.getNodes().find((n) => n.id === proxy.parentId);
67
+ if (parent) {
68
+ proxyMesh.parent = parent;
69
+ }
70
+ else {
71
+ proxyMesh._waitingParentId = proxy.parentId;
72
+ }
73
+ }
74
+ });
75
+ scene.removePendingData(splatDataUrl);
76
+ shDataUrls?.forEach((shDataUrl) => {
77
+ scene.removePendingData(shDataUrl);
78
+ });
79
+ });
80
+ });
81
+ });
82
+ }
83
+ registerGaussianSplattingParser();
84
+ //# sourceMappingURL=gaussian-splatting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gaussian-splatting.js","sourceRoot":"","sources":["../../../src/loading/gaussian-splatting.ts"],"names":[],"mappings":"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"}
@@ -13,12 +13,12 @@ import { _preloadScriptsAssets } from "./script/preload";
13
13
  import { registerAudioParser } from "./sound";
14
14
  import { registerTextureParser } from "./texture";
15
15
  import { registerShadowGeneratorParser } from "./shadows";
16
+ import { registerSpriteManagerParser } from "./sprite-manager";
16
17
  import { registerMorphTargetManagerParser } from "./morph-target-manager";
18
+ import { registerNodeParticleSystemSetParser } from "./node-particle-system-set";
17
19
  import { configureLights } from "./light";
18
20
  import { registerSpriteMapParser } from "./sprite-map";
19
21
  import { configureTransformNodes } from "./transform-node";
20
- import { registerSpriteManagerParser } from "./sprite-manager";
21
- import { registerNodeParticleSystemSetParser } from "./node-particle-system-set";
22
22
  const sceneConfigurationMap = new Map();
23
23
  async function waitForWaitingItems(scene, onProgress) {
24
24
  const waitingItemsCount = scene.getWaitingItemsCount();
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/loading/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/loading/loader.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { Vector3 } from "@babylonjs/core/Maths/math.vector";
2
2
  import { Database } from "@babylonjs/core/Offline/database";
3
3
  import { SoundState } from "@babylonjs/core/AudioV2/soundState";
4
+ import { Observable } from "@babylonjs/core/Misc/observable";
4
5
  import { AddParser } from "@babylonjs/core/Loading/Plugins/babylonFileParser.function";
5
6
  import { _WebAudioStaticSound } from "@babylonjs/core/AudioV2/webAudio/webAudioStaticSound";
6
7
  import { _GetAudioEngine, CreateSoundAsync, CreateSoundBufferAsync } from "@babylonjs/core/AudioV2/abstractAudio/audioEngineV2";
@@ -26,7 +27,7 @@ function registerUpdateSoundsObserver(scene) {
26
27
  listener.getWorldMatrix().getTranslationToRef(listenerPosition);
27
28
  soundInstances.forEach((instance) => {
28
29
  if (instance.isEnabled(false) && instance.autoUpdateSpatial && instance.sound?._isSpatial && instance.isPlaying() && scene.activeCamera) {
29
- const distance = Vector3.Distance(listenerPosition, instance.absolutePosition);
30
+ const distance = Vector3.Distance(listenerPosition, instance.getAbsolutePosition());
30
31
  if (distance <= instance.sound.spatial.maxDistance) {
31
32
  instance.sound.spatial.update();
32
33
  }
@@ -65,12 +66,13 @@ export function configureSourceNodeFrom(source, target) {
65
66
  if (!source.soundRelativePath || !source.sound) {
66
67
  return;
67
68
  }
69
+ target.onSoundLoadedObservable = new Observable();
68
70
  const sound = createSoundInstance(source.soundRelativePath, {
69
71
  spatialAutoUpdate: false,
70
72
  });
71
73
  sound
72
74
  ._initAsync(source.sound.buffer, {
73
- spatialAutoUpdate: false,
75
+ spatialAutoUpdate: true,
74
76
  })
75
77
  .then(() => {
76
78
  sound.volume = source.volume;
@@ -82,11 +84,11 @@ export function configureSourceNodeFrom(source, target) {
82
84
  sound.spatial.distanceModel = source.sound.spatial.distanceModel;
83
85
  }
84
86
  target.sound = sound;
85
- target.isSoundNode = true;
86
87
  target.soundRelativePath = source.soundRelativePath;
87
88
  target.autoUpdateSpatial = source.autoUpdateSpatial;
88
89
  soundInstances.push(target);
89
90
  registerUpdateSoundsObserver(target.getScene());
91
+ target.onSoundLoadedObservable.notifyObservers(target);
90
92
  });
91
93
  registerSoundNodeEvents(target);
92
94
  configureSoundNodePrototype(target, sound);
@@ -116,8 +118,27 @@ export function configureSoundNodePrototype(instance, sound) {
116
118
  instance.stop = (options) => sound.stop(options);
117
119
  instance.play = (options) => sound.play(options);
118
120
  instance.setVolume = (volume, options) => sound.setVolume(volume, options);
119
- instance.attachTo = (node, useBoundingBox, attachmentType) => sound.spatial.attach(node, useBoundingBox, attachmentType);
120
121
  instance.getClassName = () => "SoundNode";
122
+ instance.setSoundSpatial = (spatial) => {
123
+ return new Promise((resolve) => {
124
+ sound._isSpatial = spatial;
125
+ setTimeout(() => {
126
+ if (spatial) {
127
+ sound.spatial.attach(instance);
128
+ }
129
+ resolve();
130
+ });
131
+ });
132
+ };
133
+ instance.cloneAsync = async (name, newParent, doNotCloneChildren) => {
134
+ return new Promise((resolve) => {
135
+ const clone = instance.clone(name, newParent, doNotCloneChildren);
136
+ configureSourceNodeFrom(instance, clone);
137
+ clone.onSoundLoadedObservable.addOnce(() => {
138
+ setTimeout(() => resolve(clone));
139
+ });
140
+ });
141
+ };
121
142
  }
122
143
  export function registerAudioParser() {
123
144
  if (registered) {
@@ -157,7 +178,6 @@ export function registerAudioParser() {
157
178
  sound.spatial.distanceModel = transformNode.distanceModel;
158
179
  }
159
180
  instance.sound = sound;
160
- instance.isSoundNode = true;
161
181
  instance.soundRelativePath = transformNode.soundRelativePath;
162
182
  instance.autoUpdateSpatial = transformNode.autoUpdateSpatial;
163
183
  soundInstances.push(instance);
@@ -1 +1 @@
1
- {"version":3,"file":"sound.js","sourceRoot":"","sources":["../../../src/loading/sound.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sound.js","sourceRoot":"","sources":["../../../src/loading/sound.ts"],"names":[],"mappings":"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"}
@@ -198,4 +198,11 @@ export function isSprite(object) {
198
198
  export function isSoundNode(object) {
199
199
  return object.getClassName?.() === "SoundNode";
200
200
  }
201
+ /**
202
+ * Returns wether or not the given object is a GaussianSplattingMesh.
203
+ * @param object defines the reference to the object to test its class name.
204
+ */
205
+ export function isGaussianSplattingMesh(object) {
206
+ return object.getClassName?.() === "GaussianSplattingMesh";
207
+ }
201
208
  //# sourceMappingURL=guards.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"guards.js","sourceRoot":"","sources":["../../../src/tools/guards.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guards.js","sourceRoot":"","sources":["../../../src/tools/guards.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { Vector3 } from "@babylonjs/core/Maths/math.vector";
2
2
  import { RenderTargetTexture } from "@babylonjs/core/Materials/Textures/renderTargetTexture";
3
3
  import { getPowerOfTwoUntil } from "./scalar";
4
+ import { isGaussianSplattingMesh } from "./guards";
4
5
  export function configureShadowMapRenderListPredicate(scene) {
5
6
  scene.lights.forEach((light) => {
6
7
  const shadowMap = light.getShadowGenerator()?.getShadowMap();
@@ -8,6 +9,9 @@ export function configureShadowMapRenderListPredicate(scene) {
8
9
  return;
9
10
  }
10
11
  shadowMap.renderListPredicate = (mesh) => {
12
+ if (isGaussianSplattingMesh(mesh)) {
13
+ return false;
14
+ }
11
15
  const distance = Vector3.Distance(mesh.getAbsolutePosition(), light.getAbsolutePosition());
12
16
  return distance <= light.range;
13
17
  };
@@ -1 +1 @@
1
- {"version":3,"file":"light.js","sourceRoot":"","sources":["../../../src/tools/light.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wDAAwD,CAAC;AAI7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAQ9C,MAAM,UAAU,qCAAqC,CAAC,KAAY;IACjE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,kBAAkB,EAAE,EAAE,YAAY,EAAE,CAAC;QAC7D,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,OAAO;QACR,CAAC;QAED,SAAS,CAAC,mBAAmB,GAAG,CAAC,IAAI,EAAE,EAAE;YACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,KAAK,CAAC,mBAAmB,EAAE,CAAC,CAAC;YAC3F,OAAO,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC;QAChC,CAAC,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,KAAY;IAC/D,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE;QAC3B,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,kBAAkB,EAAE,EAAE,YAAY,EAAE,CAAC;YAC7D,IAAI,SAAS,EAAE,CAAC;gBACf,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAE,WAAW,IAAI,mBAAmB,CAAC,+BAA+B,CAAC;YAC5G,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAmC,EAAE,KAAY;IACpF,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC9B,MAAM,eAAe,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC;QACnD,MAAM,SAAS,GAAG,eAAe,EAAE,YAAY,EAAE,CAAC;QAElD,IAAI,eAAe,EAAE,eAAe,EAAE,CAAC;YACtC,IAAI,UAAU,GAAG,eAAe,CAAC,eAAe,CAAC;YAEjD,QAAQ,OAAO,EAAE,CAAC;gBACjB,KAAK,QAAQ;oBACZ,UAAU,GAAG,UAAU,GAAG,GAAG,CAAC;oBAC9B,MAAM;gBAEP,KAAK,KAAK;oBACT,UAAU,GAAG,UAAU,GAAG,IAAI,CAAC;oBAC/B,MAAM;gBAEP,KAAK,UAAU;oBACd,UAAU,GAAG,UAAU,GAAG,KAAK,CAAC;oBAChC,MAAM;YACR,CAAC;YAED,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC;YAE3D,IAAI,SAAS,EAAE,OAAO,EAAE,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBAC/C,SAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC/B,CAAC;QACF,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,6BAA6B,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"light.js","sourceRoot":"","sources":["../../../src/tools/light.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wDAAwD,CAAC;AAI7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAQnD,MAAM,UAAU,qCAAqC,CAAC,KAAY;IACjE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,kBAAkB,EAAE,EAAE,YAAY,EAAE,CAAC;QAC7D,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,OAAO;QACR,CAAC;QAED,SAAS,CAAC,mBAAmB,GAAG,CAAC,IAAI,EAAE,EAAE;YACxC,IAAI,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,OAAO,KAAK,CAAC;YACd,CAAC;YAED,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,KAAK,CAAC,mBAAmB,EAAE,CAAC,CAAC;YAC3F,OAAO,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC;QAChC,CAAC,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,KAAY;IAC/D,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE;QAC3B,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,kBAAkB,EAAE,EAAE,YAAY,EAAE,CAAC;YAC7D,IAAI,SAAS,EAAE,CAAC;gBACf,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAE,WAAW,IAAI,mBAAmB,CAAC,+BAA+B,CAAC;YAC5G,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAmC,EAAE,KAAY;IACpF,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC9B,MAAM,eAAe,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC;QACnD,MAAM,SAAS,GAAG,eAAe,EAAE,YAAY,EAAE,CAAC;QAElD,IAAI,eAAe,EAAE,eAAe,EAAE,CAAC;YACtC,IAAI,UAAU,GAAG,eAAe,CAAC,eAAe,CAAC;YAEjD,QAAQ,OAAO,EAAE,CAAC;gBACjB,KAAK,QAAQ;oBACZ,UAAU,GAAG,UAAU,GAAG,GAAG,CAAC;oBAC9B,MAAM;gBAEP,KAAK,KAAK;oBACT,UAAU,GAAG,UAAU,GAAG,IAAI,CAAC;oBAC/B,MAAM;gBAEP,KAAK,UAAU;oBACd,UAAU,GAAG,UAAU,GAAG,KAAK,CAAC;oBAChC,MAAM;YACR,CAAC;YAED,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC;YAE3D,IAAI,SAAS,EAAE,OAAO,EAAE,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBAC/C,SAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC/B,CAAC;QACF,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,6BAA6B,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function registerGaussianSplattingParser(): void;
@@ -6,6 +6,7 @@ import { GroundMesh } from "@babylonjs/core/Meshes/groundMesh";
6
6
  import { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh";
7
7
  import { InstancedMesh } from "@babylonjs/core/Meshes/instancedMesh";
8
8
  import { TransformNode } from "@babylonjs/core/Meshes/transformNode";
9
+ import { GaussianSplattingMesh } from "@babylonjs/core/Meshes/GaussianSplatting/gaussianSplattingMesh";
9
10
  import { Texture } from "@babylonjs/core/Materials/Textures/texture";
10
11
  import { Camera } from "@babylonjs/core/Cameras/camera";
11
12
  import { FreeCamera } from "@babylonjs/core/Cameras/freeCamera";
@@ -136,3 +137,8 @@ export declare function isSprite(object: any): object is Sprite;
136
137
  * @param object defines the reference to the object to test its class name.
137
138
  */
138
139
  export declare function isSoundNode(object: any): object is SoundNode;
140
+ /**
141
+ * Returns wether or not the given object is a GaussianSplattingMesh.
142
+ * @param object defines the reference to the object to test its class name.
143
+ */
144
+ export declare function isGaussianSplattingMesh(object: any): object is GaussianSplattingMesh;
@@ -1,15 +1,15 @@
1
1
  import { Node } from "@babylonjs/core/node";
2
+ import { Observable } from "@babylonjs/core/Misc/observable";
2
3
  import { TransformNode } from "@babylonjs/core/Meshes/transformNode";
3
4
  import { IAudioParameterRampOptions } from "@babylonjs/core/AudioV2/audioParameter";
4
- import { SpatialAudioAttachmentType } from "@babylonjs/core/AudioV2/spatialAudioAttachmentType";
5
5
  import { IStaticSoundPlayOptions, IStaticSoundStopOptions, StaticSound } from "@babylonjs/core/AudioV2/abstractAudio/staticSound";
6
6
  /**
7
7
  * This interface is used to define extra properties on TransformNode. For example for SoundNode support.
8
8
  */
9
9
  export interface SoundNode extends TransformNode {
10
- isSoundNode?: boolean;
11
10
  soundRelativePath?: string;
12
11
  sound?: StaticSound;
12
+ onSoundLoadedObservable: Observable<SoundNode>;
13
13
  autoUpdateSpatial: boolean;
14
14
  isPaused(): boolean;
15
15
  isPlaying(): boolean;
@@ -23,6 +23,7 @@ export interface SoundNode extends TransformNode {
23
23
  resume(): void;
24
24
  stop(options?: Partial<IStaticSoundStopOptions>): void;
25
25
  play(options?: Partial<IStaticSoundPlayOptions>): void;
26
- attachTo(sceneNode: Node | null, useBoundingBox?: boolean, attachmentType?: SpatialAudioAttachmentType): void;
26
+ setSoundSpatial(spatial: boolean): Promise<void>;
27
27
  getClassName(): string;
28
+ cloneAsync(name: string, newParent?: Node | null, doNotCloneChildren?: boolean): Promise<SoundNode>;
28
29
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "babylonjs-editor-tools",
3
- "version": "5.4.3-alpha.3",
3
+ "version": "5.4.3-alpha.5",
4
4
  "description": "Babylon.js Editor Tools is a set of tools to help you create, edit and manage your Babylon.js scenes made using the Babylon.js Editor",
5
5
  "productName": "Babylon.js Editor Tools",
6
6
  "scripts": {