babylonjs-editor-tools 5.2.5 → 5.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- var te=Object.defineProperty;var sr=Object.getOwnPropertyDescriptor;var ar=Object.getOwnPropertyNames;var lr=Object.prototype.hasOwnProperty;var i=(e,r)=>te(e,"name",{value:r,configurable:!0});var cr=(e,r)=>{for(var t in r)te(e,t,{get:r[t],enumerable:!0})},pr=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of ar(r))!lr.call(e,o)&&o!==t&&te(e,o,{get:()=>r[o],enumerable:!(n=sr(r,o))||n.enumerable});return e};var mr=e=>pr(te({},"__esModule",{value:!0}),e);var mn={};cr(mn,{AdvancedAssetContainer:()=>U,Cinematic:()=>Z,_applyScriptsForObject:()=>D,_preloadScriptsAssets:()=>Ge,_registerScriptInstance:()=>Ke,_removeRegisteredScriptInstance:()=>Et,animationFromSprite:()=>on,animationGroupFromScene:()=>Kr,applyScriptOnObject:()=>wr,configureEngineToUseCompressedTextures:()=>Vr,configureShadowMapRefreshRate:()=>he,configureShadowMapRenderListPredicate:()=>Se,createDefaultRenderingPipeline:()=>ft,createMotionBlurPostProcess:()=>lt,createSSAO2RenderingPipeline:()=>st,createSSRRenderingPipeline:()=>ot,createVLSPostProcess:()=>rt,defaultPipelineCameraConfigurations:()=>$,disposeDefaultRenderingPipeline:()=>Ne,disposeMotionBlurPostProcess:()=>De,disposeSSAO2RenderingPipeline:()=>ve,disposeSSRRenderingPipeline:()=>Ie,disposeVLSPostProcess:()=>be,forceCompileAllSceneMaterials:()=>Lr,generateCinematicAnimationGroup:()=>pn,getAllScriptsByClassForObject:()=>Tt,getAnimationTypeForObject:()=>q,getDefaultRenderingPipeline:()=>H,getMotionBlurPostProcess:()=>Oe,getPowerOfTwoUntil:()=>w,getSSAO2RenderingPipeline:()=>Er,getSSRRenderingPipeline:()=>xr,getScriptByClassForObject:()=>Rr,getVLSPostProcess:()=>Ir,guiFromAsset:()=>kr,isAbstractMesh:()=>re,isAnyParticleSystem:()=>de,isArcRotateCamera:()=>dr,isBone:()=>ur,isCamera:()=>oe,isCinematicGroup:()=>ln,isCinematicKey:()=>Ue,isCinematicKeyCut:()=>X,isCinematicKeyEvent:()=>an,isCinematicSound:()=>cn,isDirectionalLight:()=>Sr,isFreeCamera:()=>gr,isGPUParticleSystem:()=>Ar,isGroundMesh:()=>fr,isHemisphericLight:()=>br,isInstancedMesh:()=>Q,isLight:()=>Je,isMesh:()=>O,isNode:()=>G,isParticleSystem:()=>Pr,isPointLight:()=>yr,isScene:()=>ge,isSpotLight:()=>hr,isSprite:()=>ye,isTexture:()=>fe,isTransformNode:()=>ne,loadMaterialFromFile:()=>_r,loadScene:()=>Fr,motionBlurPostProcessCameraConfigurations:()=>z,nodeFromDescendants:()=>Br,nodeFromScene:()=>Gr,normalizeAtlasJson:()=>ze,onKeyboardEvent:()=>rn,onPointerEvent:()=>tn,parseCinematic:()=>sn,parseCinematicKeyValue:()=>R,parseDefaultRenderingPipeline:()=>_e,parseKeyFrameAnimations:()=>He,parseMotionBlurPostProcess:()=>we,parseSSAO2RenderingPipeline:()=>Te,parseSSRRenderingPipeline:()=>xe,parseVLSPostProcess:()=>Ae,particleSystemFromScene:()=>$r,playSpriteAnimationFromName:()=>Nr,registerScriptAssetParser:()=>Mr,scriptAssetsCache:()=>M,scriptAssetsParsers:()=>J,scriptsDictionary:()=>L,serializeDefaultRenderingPipeline:()=>Fe,serializeMotionBlurPostProcess:()=>Me,serializeSSAO2RenderingPipeline:()=>Ee,serializeSSRRenderingPipeline:()=>Ce,serializeVLSPostProcess:()=>Pe,setDefaultRenderingPipelineRef:()=>Dr,setMotionBlurPostProcessRef:()=>Or,setSSAO2RenderingPipelineRef:()=>Tr,setSSRRenderingPipelineRef:()=>vr,setVLSPostProcessRef:()=>Cr,soundFromScene:()=>zr,spriteFromSpriteManager:()=>nn,ssaoRenderingPipelineCameraConfigurations:()=>k,ssrRenderingPipelineCameraConfigurations:()=>K,visibleAsAsset:()=>en,visibleAsBoolean:()=>Yr,visibleAsColor3:()=>Ur,visibleAsColor4:()=>Jr,visibleAsEntity:()=>qr,visibleAsKeyMap:()=>Xr,visibleAsNumber:()=>Qr,visibleAsString:()=>Wr,visibleAsTexture:()=>Zr,visibleAsVector2:()=>Hr,visibleAsVector3:()=>jr,vlsPostProcessCameraConfigurations:()=>B});module.exports=mr(mn);function re(e){switch(e.getClassName?.()){case"Mesh":case"LineMesh":case"GroundMesh":case"InstancedMesh":return!0}return!1}i(re,"isAbstractMesh");function O(e){switch(e.getClassName?.()){case"Mesh":case"GroundMesh":return!0}return!1}i(O,"isMesh");function Q(e){return e.getClassName?.()==="InstancedMesh"}i(Q,"isInstancedMesh");function ur(e){return e.getClassName?.()==="Bone"}i(ur,"isBone");function fr(e){return e.getClassName?.()==="GroundMesh"}i(fr,"isGroundMesh");function ne(e){return e.getClassName?.()==="TransformNode"}i(ne,"isTransformNode");function fe(e){return e?.getClassName?.()==="Texture"}i(fe,"isTexture");function oe(e){switch(e.getClassName?.()){case"Camera":case"FreeCamera":case"TargetCamera":case"EditorCamera":case"ArcRotateCamera":case"UniversalCamera":return!0}return!1}i(oe,"isCamera");function gr(e){switch(e.getClassName?.()){case"FreeCamera":case"UniversalCamera":return!0}return!1}i(gr,"isFreeCamera");function dr(e){return e.getClassName?.()==="ArcRotateCamera"}i(dr,"isArcRotateCamera");function yr(e){return e.getClassName?.()==="PointLight"}i(yr,"isPointLight");function Sr(e){return e.getClassName?.()==="DirectionalLight"}i(Sr,"isDirectionalLight");function hr(e){return e.getClassName?.()==="SpotLight"}i(hr,"isSpotLight");function br(e){return e.getClassName?.()==="HemisphericLight"}i(br,"isHemisphericLight");function Je(e){switch(e.getClassName?.()){case"Light":case"PointLight":case"SpotLight":case"DirectionalLight":case"HemisphericLight":return!0}return!1}i(Je,"isLight");function G(e){return re(e)||ne(e)||Je(e)||oe(e)}i(G,"isNode");function ge(e){return e.getClassName?.()==="Scene"}i(ge,"isScene");function Pr(e){return e.getClassName?.()==="ParticleSystem"}i(Pr,"isParticleSystem");function Ar(e){return e.getClassName?.()==="GPUParticleSystem"}i(Ar,"isGPUParticleSystem");function de(e){switch(e.getClassName?.()){case"ParticleSystem":case"GPUParticleSystem":return!0}return!1}i(de,"isAnyParticleSystem");function ye(e){return e.getClassName?.()==="Sprite"}i(ye,"isSprite");var qe=require("babylonjs"),Ze=require("babylonjs");function Se(e){e.lights.forEach(r=>{let t=r.getShadowGenerator()?.getShadowMap();t&&(t.renderListPredicate=n=>qe.Vector3.Distance(n.getAbsolutePosition(),r.getAbsolutePosition())<=r.range)})}i(Se,"configureShadowMapRenderListPredicate");async function he(e){e.executeWhenReady(()=>{e.lights.forEach(r=>{let t=r.getShadowGenerator()?.getShadowMap();t&&(t.refreshRate=r.metadata?.refreshRate??Ze.RenderTargetTexture.REFRESHRATE_RENDER_ONEVERYFRAME)})})}i(he,"configureShadowMapRefreshRate");var Xe=require("babylonjs"),et=require("babylonjs"),tt=require("babylonjs"),C=null,B=new Map;function Ir(){return C}i(Ir,"getVLSPostProcess");function Cr(e){C=e}i(Cr,"setVLSPostProcessRef");function be(e){C&&e.activeCamera&&(C.dispose(e.activeCamera),C=null)}i(be,"disposeVLSPostProcess");function rt(e,r){return r??=e.meshes.find(t=>O(t)),C=new tt.VolumetricLightScatteringPostProcess("VolumetricLightScatteringPostProcess",1,e.activeCamera,r,100,et.Texture.BILINEAR_SAMPLINGMODE,e.getEngine(),!1),C}i(rt,"createVLSPostProcess");function Pe(){return C?{meshId:C.mesh?.id,exposure:C.exposure,decay:C.decay,weight:C.weight,density:C.density,invert:C.invert,useCustomMeshPosition:C.useCustomMeshPosition,customMeshPosition:C.customMeshPosition.asArray()}:null}i(Pe,"serializeVLSPostProcess");function Ae(e,r){let t=null;if(r.meshId){let o=e.getMeshById(r.meshId);o&&O(o)&&(t=o)}let n=rt(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(Xe.Vector3.FromArray(r.customMeshPosition)),n}i(Ae,"parseVLSPostProcess");var nt=require("babylonjs"),y=null,K=new Map;function xr(){return y}i(xr,"getSSRRenderingPipeline");function vr(e){y=e}i(vr,"setSSRRenderingPipelineRef");function Ie(){y&&(y.dispose(),y=null)}i(Ie,"disposeSSRRenderingPipeline");function ot(e,r){return y=new nt.SSRRenderingPipeline("SSRRenderingPipeline",e,[r]),y.samples=4,y}i(ot,"createSSRRenderingPipeline");function Ce(){return y?{samples:y.samples,step:y.step,thickness:y.thickness,strength:y.strength,reflectionSpecularFalloffExponent:y.reflectionSpecularFalloffExponent,maxSteps:y.maxSteps,maxDistance:y.maxDistance,roughnessFactor:y.roughnessFactor,reflectivityThreshold:y.reflectivityThreshold,blurDispersionStrehgth:y.blurDispersionStrength,clipToFrustum:y.clipToFrustum,enableSmoothReflections:y.enableSmoothReflections,enableAutomaticThicknessComputation:y.enableAutomaticThicknessComputation,attenuateFacingCamera:y.attenuateFacingCamera,attenuateScreenBorders:y.attenuateScreenBorders,attenuateIntersectionDistance:y.attenuateIntersectionDistance,attenuateBackfaceReflection:y.attenuateBackfaceReflection,blurDownsample:y.blurDownsample,selfCollisionNumSkip:y.selfCollisionNumSkip,ssrDownsample:y.ssrDownsample,backfaceDepthTextureDownsample:y.backfaceDepthTextureDownsample}:null}i(Ce,"serializeSSRRenderingPipeline");function xe(e,r,t){if(y)return y;let n=ot(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(xe,"parseSSRRenderingPipeline");var it=require("babylonjs"),b=null,k=new Map;function Er(){return b}i(Er,"getSSAO2RenderingPipeline");function Tr(e){b=e}i(Tr,"setSSAO2RenderingPipelineRef");function ve(){b&&(b.dispose(),b=null)}i(ve,"disposeSSAO2RenderingPipeline");function st(e,r){return b=new it.SSAO2RenderingPipeline("SSAO2RenderingPipeline",e,1,[r]),b.samples=4,b}i(st,"createSSAO2RenderingPipeline");function Ee(){return b?{radius:b.radius,totalStrength:b.totalStrength,samples:b.samples,maxZ:b.maxZ,minZAspect:b.minZAspect,epsilon:b.epsilon,textureSamples:b.textureSamples,bypassBlur:b.bypassBlur,bilateralSamples:b.bilateralSamples,bilateralSoften:b.bilateralSoften,bilateralTolerance:b.bilateralTolerance,expensiveBlur:b.expensiveBlur}:null}i(Ee,"serializeSSAO2RenderingPipeline");function Te(e,r,t){if(b)return b;let n=st(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(Te,"parseSSAO2RenderingPipeline");var at=require("babylonjs"),v=null,z=new Map;function Oe(){return v}i(Oe,"getMotionBlurPostProcess");function Or(e){v=e}i(Or,"setMotionBlurPostProcessRef");function De(){v&&(v.dispose(),v=null)}i(De,"disposeMotionBlurPostProcess");function lt(e,r){return v=new at.MotionBlurPostProcess("MotionBlurPostProcess",e,1,r),v.motionStrength=1,v.isObjectBased=!0,v}i(lt,"createMotionBlurPostProcess");function Me(){return v?{isObjectBased:v.isObjectBased,motionStrength:v.motionStrength,motionBlurSamples:v.motionBlurSamples}:null}i(Me,"serializeMotionBlurPostProcess");function we(e,r,t){if(v)return v;let n=lt(e,r);return n.isObjectBased=t.isObjectBased,n.motionStrength=t.motionStrength,n.motionBlurSamples=t.motionBlurSamples,n}i(we,"parseMotionBlurPostProcess");var ct=require("babylonjs"),Re=require("babylonjs"),pt=require("babylonjs"),mt=require("babylonjs"),ut=require("babylonjs"),l=null,$=new Map;function H(){return l}i(H,"getDefaultRenderingPipeline");function Dr(e){l=e}i(Dr,"setDefaultRenderingPipelineRef");function Ne(){l&&(l.dispose(),l=null)}i(Ne,"disposeDefaultRenderingPipeline");function ft(e,r){return l=new ut.DefaultRenderingPipeline("DefaultRenderingPipeline",!0,e,[r]),l.samples=4,l.depthOfField.lensSize=512,l.depthOfField.fStop=.25,l.depthOfField.focusDistance=55e3,l}i(ft,"createDefaultRenderingPipeline");function Fe(){return l?{samples:l.samples,fxaaEnabled:l.fxaaEnabled,imageProcessingEnabled:l.imageProcessingEnabled,exposure:l.imageProcessing?.exposure,contrast:l.imageProcessing?.contrast,fromLinearSpace:l.imageProcessing?.fromLinearSpace,toneMappingEnabled:l.imageProcessing?.toneMappingEnabled,toneMappingType:l.imageProcessing?.toneMappingType,ditheringEnabled:l.imageProcessing?.ditheringEnabled,ditheringIntensity:l.imageProcessing?.ditheringIntensity,bloomEnabled:l.bloomEnabled,bloomThreshold:l.bloomThreshold,bloomWeight:l.bloomWeight,bloomScale:l.bloomScale,bloomKernel:l.bloomKernel,sharpenEnabled:l.sharpenEnabled,sharpenEdgeAmount:l.sharpen.edgeAmount,sharpenColorAmount:l.sharpen.colorAmount,grainEnabled:l.grainEnabled,grainIntensity:l.grain.intensity,grainAnimated:l.grain.animated,depthOfFieldEnabled:l.depthOfFieldEnabled,depthOfFieldBlurLevel:l.depthOfFieldBlurLevel,lensSize:l.depthOfField.lensSize,fStop:l.depthOfField.fStop,focusDistance:l.depthOfField.focusDistance,focalLength:l.depthOfField.focalLength,vignetteEnabled:l.imageProcessing?.vignetteEnabled,vignetteColor:l.imageProcessing?.vignetteColor.asArray(),vignetteWeight:l.imageProcessing?.vignetteWeight,chromaticAberrationEnabled:l.chromaticAberrationEnabled,aberrationAmount:l.chromaticAberration.aberrationAmount,radialIntensity:l.chromaticAberration.radialIntensity,direction:l.chromaticAberration.direction.asArray(),centerPosition:l.chromaticAberration.centerPosition.asArray(),glowLayerEnabled:l.glowLayerEnabled,glowLayerIntensity:l.glowLayer?.intensity,glowLayerBlurKernelSize:l.glowLayer?.blurKernelSize,colorGradingEnabled:l.imageProcessing.colorGradingEnabled,colorGradingTexture:l.imageProcessing.colorGradingTexture?.serialize(),colorGradingWithGreenDepth:l.imageProcessing.imageProcessingConfiguration.colorGradingWithGreenDepth,colorCurvesEnabled:l.imageProcessing.colorCurvesEnabled,globalHue:l.imageProcessing.colorCurves?.globalHue,globalDensity:l.imageProcessing.colorCurves?.globalDensity,globalExposure:l.imageProcessing.colorCurves?.globalExposure,globalSaturation:l.imageProcessing.colorCurves?.globalSaturation,highlightsHue:l.imageProcessing.colorCurves?.highlightsHue,highlightsDensity:l.imageProcessing.colorCurves?.highlightsDensity,highlightsExposure:l.imageProcessing.colorCurves?.highlightsExposure,highlightsSaturation:l.imageProcessing.colorCurves?.highlightsSaturation,midtonesHue:l.imageProcessing.colorCurves?.midtonesHue,midtonesDensity:l.imageProcessing.colorCurves?.midtonesDensity,midtonesExposure:l.imageProcessing.colorCurves?.midtonesExposure,midtonesSaturation:l.imageProcessing.colorCurves?.midtonesSaturation,shadowsHue:l.imageProcessing.colorCurves?.shadowsHue,shadowsDensity:l.imageProcessing.colorCurves?.shadowsDensity,shadowsExposure:l.imageProcessing.colorCurves?.shadowsExposure,shadowsSaturation:l.imageProcessing.colorCurves?.shadowsSaturation}:null}i(Fe,"serializeDefaultRenderingPipeline");function _e(e,r,t,n){if(l)return l;let o=ft(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=ct.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 a=null;if(t.colorGradingTexture.customType==="BABYLON.ColorGradingTexture"){let s=n+t.colorGradingTexture.name;a=new mt.ColorGradingTexture(s,e),a.level=t.colorGradingTexture.level}else{let s=pt.Texture.Parse(t.colorGradingTexture,e,n);fe(s)&&(a=s)}o.imageProcessing.colorGradingTexture=a}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=Re.Vector2.FromArray(t.direction??[0,0]),o.chromaticAberration.centerPosition=Re.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(_e,"parseDefaultRenderingPipeline");function Uo(e){k.set(e,Ee()),B.set(e,Pe()),K.set(e,Ce()),z.set(e,Me()),$.set(e,Fe())}i(Uo,"saveRenderingConfigurationForCamera");function gt(e,r){ve(),be(e.getScene()),Ie(),De(),Ne();let t=k.get(e);t&&Te(e.getScene(),e,t);let n=B.get(e);n&&Ae(e.getScene(),n);let o=K.get(e);o&&xe(e.getScene(),e,o);let a=z.get(e);a&&we(e.getScene(),e,a);let s=$.get(e);s&&_e(e.getScene(),e,s,r)}i(gt,"applyRenderingConfigurationForCamera");var j=require("babylonjs"),dt=require("babylonjs");function yt(e){let r=e.metadata?.physicsAggregate;if(!r)return;let t;O(e)?t=e:Q(e)&&(t=e.sourceMesh);let n=new dt.PhysicsAggregate(e,r.shape.type,{mesh:t,mass:r.massProperties.mass});n.body.setMassProperties({mass:r.massProperties.mass,inertia:r.massProperties.inertia?j.Vector3.FromArray(r.massProperties.inertia):void 0,centerOfMass:r.massProperties.centerOfMass?j.Vector3.FromArray(r.massProperties.centerOfMass):void 0,inertiaOrientation:r.massProperties.inertiaOrientation?j.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(yt,"configurePhysicsAggregate");function St(e,r){(Array.isArray(r)?r:[]).forEach(n=>{let o=e.getCameraById(n.cameraId);o&&(n.ssao2RenderingPipeline&&k.set(o,n.ssao2RenderingPipeline),n.vlsPostProcess&&B.set(o,n.vlsPostProcess),n.ssrRenderingPipeline&&K.set(o,n.ssrRenderingPipeline),n.motionBlurPostProcess&&z.set(o,n.motionBlurPostProcess),n.defaultRenderingPipeline&&$.set(o,n.defaultRenderingPipeline))})}i(St,"applyRenderingConfigurations");function ie(e,r){let t=r.soundTracks??[];t.length||t.push(r.mainSoundTrack);for(let n=0,o=t.length;n<o;n++){let a=t[n].soundCollection.find(s=>s.id===e);if(a)return a}return null}i(ie,"getSoundById");function Le(e){return e&&JSON.parse(JSON.stringify(e))}i(Le,"cloneJSObject");var Ve=require("babylonjs"),U=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))}),this._originalDescendants.forEach(o=>{this._nodesMap.set(o,{node:o,metadata:Le(o.metadata)})}),r.animationGroups.forEach(o=>{this._animationGroupsMap.set(o.name,o)})}removeDefault(){this.container.removeAllFromScene()}instantiate(r){let t=Ve.Tools.RandomId(),n=i(s=>`${s}-${t}`,"nameFunction"),o=this.container.instantiateModelsToScene(n,!1,r),a=[];return o.rootNodes.forEach(s=>{a.push(s,...s.getDescendants(!1))}),a.forEach((s,p)=>{let c=this._originalDescendants[p],m=c.id;s.id=Ve.Tools.RandomId(),s.metadata=Le(this._nodesMap.get(c).metadata),a.forEach(f=>{f.metadata.scripts?.forEach(g=>{Object.keys(g.values||{}).forEach(u=>{let d=g.values[u];if(d.type==="entity"){d.value===m&&(d.value=s.id),d.value===c.name&&(d.value=s.name);let S=this._animationGroupsMap.get(d.value);S&&(d.value=n(S.name))}})})})}),a.forEach(s=>{D(this.container.scene,s,this._scriptsMap,this._rootUrl)}),o}};var ht=require("babylonjs"),bt=require("babylonjs");async function Pt(e,r,t){let o=e.split("/").pop().replace(".scene",".babylon"),a=await(0,ht.LoadAssetContainerAsync)(o,t,{rootUrl:r,pluginExtension:".babylon"});return bt.SceneLoaderFlags.ForceFullSceneLoadingForIncremental&&t.meshes.forEach(s=>O(s)&&s._checkDelayState()),a.addAllToScene(),a}i(Pt,"preloadSceneScriptAsset");async function At(e,r){return await(await fetch(`${r}${e}`)).json()}i(At,"preloadCommonScriptAsset");var M=new Map,J=new Map;function Mr(e,r){J.has(e)&&console.warn(`A parser for the extension '${e}' was already registered. It will be overwritten.`),J.set(e,r)}i(Mr,"registerScriptAssetParser");async function Ge(e,r,t){[r,...r.transformNodes,...r.meshes,...r.lights,...r.cameras].filter(s=>s.metadata?.scripts?.length).map(s=>s.metadata.scripts).flat().forEach(s=>{if(s.values)for(let p in s.values){if(!s.values.hasOwnProperty(p))continue;let c=s.values[p];c.type==="asset"&&c.value&&!M.get(c.value)&&M.set(c.value,null)}});let a=[];M.forEach((s,p)=>{M.get(p)||a.push(new Promise(async c=>{try{let m=p.split(".").pop();switch(m){case"scene":M.set(p,new U(await Pt(p,e,r),e,t));break;default:if(J.has(m)){let f=J.get(m);M.set(p,await f({key:p,rootUrl:e,scene:r}));break}else M.set(p,await At(p,e));break}}catch(m){console.error(m)}c()}))}),await Promise.all(a)}i(Ge,"_preloadScriptsAssets");var It=require("babylonjs"),se=require("babylonjs"),Ct=require("babylonjs"),ae=require("babylonjs"),xt=require("babylonjs"),vt=require("babylonjs-gui");function Be(e,r,t,n,o){let a=n.constructor;if(!a)return;a._NodesFromScene?.forEach(c=>{n[c.propertyKey.toString()]=e.getNodeByName(c.nodeName)}),a._NodesFromDescendants?.forEach(c=>{let m=r.getDescendants?.(c.directDescendantsOnly,f=>f.name===c.nodeName)[0];n[c.propertyKey.toString()]=m??null}),a._AnimationGroups?.forEach(c=>{n[c.propertyKey.toString()]=e.getAnimationGroupByName(c.animationGroupName)}),a._SoundsFromScene?.forEach(c=>{let m=e.getSoundByName?.(c.soundName);n[c.propertyKey.toString()]=m??null}),(a._GuiFromAsset??[]).map(async c=>{let m=`${o}assets/${c.pathInAssets}`;try{let g=await(await fetch(m)).json(),P=vt.AdvancedDynamicTexture.CreateFullscreenUI(g.name,!0,e);P.parseSerializedObject(g.content,!1),n[c.propertyKey.toString()]=P,c.onGuiCreated?.(n,P)}catch(f){throw console.error(`Failed to load GUI from asset: ${m}`),f}}),a._ParticleSystemsFromScene?.forEach(c=>{let m=e.particleSystems?.find(f=>f.name!==c.particleSystemName?!1:c.directDescendantsOnly?f.emitter===r:f);n[c.propertyKey.toString()]=m}),(a._VisibleInInspector??[]).forEach(async c=>{let m=c.propertyKey.toString(),f=t.values;if(!f)throw new Error(`No values found for script with key "${t.key}".`);if(f.hasOwnProperty(m)&&f[m].hasOwnProperty("value")){let g=f[m].value;switch(c.configuration.type){case"number":case"boolean":case"keymap":case"string":n[m]=g;break;case"vector2":n[m]=ae.Vector2.FromArray(g);break;case"vector3":n[m]=ae.Vector3.FromArray(g);break;case"color3":n[m]=se.Color3.FromArray(g);break;case"color4":n[m]=se.Color4.FromArray(g);break;case"entity":switch(c.configuration.entityType){case"node":n[m]=e.getNodeById(g)??null;break;case"animationGroup":n[m]=e.getAnimationGroupByName(g)??null;break;case"sound":n[m]=ie(g,e);break;case"particleSystem":n[m]=e.particleSystems?.find(u=>u.id===g)??null;break}break;case"texture":g&&(n[m]=Ct.Texture.Parse(g,e,o));break;case"asset":if(g){let u=c.configuration.assetType,d=M.get(g);switch(u){case"json":case"gui":case"scene":case"navmesh":n[m]=d;break;case"nodeParticleSystemSet":let S=xt.NodeParticleSystemSet.Parse(d);n[m]=S;break;case"material":n[m]=It.Material.Parse(d,e,o);break}}}}});let s=null,p=null;if(a._PointerEvents?.length){if(a._PointerEvents.find(f=>f.options.mode==="attachedMeshOnly")&&!re(r))throw new Error('@onPointerEvent with mode "attachedMeshOnly" can only be used on scripts attached to meshes (extends AbstractMesh).');if(a._PointerEvents.find(f=>f.options.mode!=="global")&&!G(r))throw new Error('@onPointerEvent with mode different from "global" can be used only on scripts attached to Node: Mesh, Light, Camera, TransformNode.');s=e.onPointerObservable.add(f=>{let g=null;a._PointerEvents.forEach(P=>{if(!P.eventTypes.includes(f.type))return;let u=P.propertyKey.toString();if(P.options.mode==="global")return n[u]?.(f);g=f.pickInfo,g||(g=e.pick(e.pointerX,e.pointerY,S=>S.isVisible&&S.isPickable&&S.isEnabled(!0)&&!S._masterMesh,!1));let d=g.pickedMesh;if(d&&(P.options.mode==="attachedMeshOnly"&&d===r||P.options.mode==="includeDescendants"&&G(r)&&[r,...r.getDescendants(!1)].find(I=>I===d)))return n[u]?.(f)})})}if(a._KeyboardEvents?.length&&(p=e.onKeyboardObservable.add(c=>{a._KeyboardEvents.forEach(m=>{m.eventTypes.includes(c.type)&&n[m.propertyKey.toString()]?.(c)})})),a._SpritesFromSpriteManager?.length){let c=r;if(!ne(c)||!c.isSpriteManager)return console.error("@spriteFromSpriteManager decorator can only be used on SpriteManagerNode.");if(!c.spriteManager)return console.error(`SpriteManagerNode "${c.name}" has no sprite manager assigned.`);a._SpritesFromSpriteManager?.forEach(m=>{let f=c.spriteManager?.sprites.find(g=>g.name===m.spriteName)||null;n[m.propertyKey.toString()]=f})}if(a._AnimationsFromSprite?.length){if(!ye(r))return console.error("@animationFromSprite decorator can only be used in scripts attached on Sprite.");let c=r.metadata?.spriteAnimations;if(!c?.length)return console.error(`Sprite "${r.name}" has no sprite animations assigned.`);a._AnimationsFromSprite.forEach(m=>{let f=c.find(g=>g.name===m.animationName);f?n[m.propertyKey.toString()]=f??null:console.warn(`Sprite animation named "${m.animationName}" not found on sprite "${r.name}".`)})}return{observers:{pointerObserver:s,keyboardObserver:p}}}i(Be,"applyDecorators");function D(e,r,t,n){r.metadata?.scripts&&(r.metadata.scripts?.forEach(o=>{if(!o.enabled)return;let a=t[o.key];if(!a)return;let s=a,p={};if(a.default){s=new a.default(r);let c=Be(e,r,o,s,n);Object.assign(p,c?.observers??{})}s.onStart&&(p.onStartObserver=e.onBeforeRenderObservable.addOnce(()=>s.onStart(r))),s.onUpdate&&(p.onUpdateObserver=e.onBeforeRenderObservable.add(()=>s.onUpdate(r))),Ke(r,s,o.key,p)}),r.metadata.scripts=void 0)}i(D,"_applyScriptsForObject");function wr(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 Be(t,e,{values:{}},n,""),n.onStart&&(o.onStartObserver=t.onBeforeRenderObservable.addOnce(()=>n.onStart())),n.onUpdate&&t.onBeforeRenderObservable.add(()=>n.onUpdate()),Ke(e,n,"runtime",o),n}i(wr,"applyScriptOnObject");var L=new Map;function Ke(e,r,t,n){let o={key:t,observers:n,instance:r};L.has(e)?L.get(e).push(o):L.set(e,[o]),(G(e)||de(e)||ge(e))&&e.onDisposeObservable.addOnce((()=>{L.get(e)?.slice()?.forEach(s=>{Et(e,s)}),L.delete(e)}))}i(Ke,"_registerScriptInstance");function Et(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=L.get(e),n=t?.indexOf(r)??-1;n!==-1&&t?.splice(n,1)}i(Et,"_removeRegisteredScriptInstance");function Tt(e,r){return L.get(e)?.filter(o=>o.instance.constructor===r)?.map(o=>o.instance)??null}i(Tt,"getAllScriptsByClassForObject");function Rr(e,r){return Tt(e,r)?.[0]??null}i(Rr,"getScriptByClassForObject");var Dt=require("babylonjs"),le=require("babylonjs"),Ot=!1;function Mt(){if(Ot)return;Ot=!0;let e=(0,le.GetParser)(Dt.SceneComponentConstants.NAME_AUDIO);(0,le.AddParser)("AudioEditorPlugin",(r,t,n,o)=>{e?.(r,t,n,o),r.sounds?.forEach(a=>{let s=n.sounds?.find(p=>p.name===a.name);s&&(s.id=a.id,s.uniqueId=a.uniqueId)})})}i(Mt,"registerAudioParser");function w(e){let r=1;for(;r<=e;)r<<=1;return r>>1}i(w,"getPowerOfTwoUntil");var ke=require("babylonjs"),wt=!1;function Rt(){if(wt)return;wt=!0;let e=ke.SerializationHelper._TextureParser;ke.SerializationHelper._TextureParser=(r,t,n)=>{if(t.loadingTexturesQuality==="high"||!r.metadata?.baseSize)return e(r,t,n);let o=r.metadata.baseSize.width,a=r.metadata.baseSize.height,s=o===w(o)||a===w(a),p="";switch(t.loadingTexturesQuality){case"medium":let d=o*.66>>0,S=a*.66>>0;s&&(d=w(d),S=w(S)),p=`_${d}_${S}`;break;case"low":case"very-low":let h=o*.33>>0,I=a*.33>>0;s&&(h=w(h),I=w(I)),p=`_${h}_${I}`;break}let c=r.name;if(!c||!p)return e(r,t,n);let m=c.split("/"),f=m.pop();if(!f)return e(r,t,n);let g=f.split(".").pop(),u=`${f.replace(`.${g}`,"")}${p}.${g}`;return m.push(u),r.name=m.join("/"),e(r,t,n)}}i(Rt,"registerTextureParser");var Ft=require("babylonjs"),ce=require("babylonjs"),Nt=!1;function _t(){if(Nt)return;Nt=!0;let e=(0,ce.GetParser)(Ft.SceneComponentConstants.NAME_SHADOWGENERATOR);(0,ce.AddParser)("ShadowGeneratorEditorPlugin",(r,t,n,o)=>{t.loadingShadowsQuality!=="high"&&r.shadowGenerators?.forEach(a=>{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,w(a.mapSize))}),e?.(r,t,n,o)})}i(_t,"registerShadowGeneratorParser");function ze(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(ze,"normalizeAtlasJson");function Nr(e,r,t){let o=(e.metadata?.spriteAnimations??[]).find(a=>a.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(Nr,"playSpriteAnimationFromName");var Vt=require("babylonjs"),Gt=require("babylonjs"),Bt=require("babylonjs"),Kt=require("babylonjs"),$e=require("babylonjs"),Y=require("babylonjs"),kt=require("babylonjs"),Lt=!1;function zt(){Lt||(Lt=!0,(0,kt.AddParser)("SpriteMapNode",(e,r,t,n)=>{e.transformNodes?.forEach(o=>{if(!o.isSpriteMap)return;let a=t.transformNodes?.find(c=>c.id===o.id);if(!a)return;a.isSpriteMap=o.isSpriteMap;let s=`${n}${o.atlasJsonRelativePath}`;r.addPendingData(s);let p=new Bt.WebRequest;p.open("GET",s),p.send(),p.addEventListener("load",()=>{r.removePendingData(s);let c=JSON.parse(p.responseText);ze(c);let m=`${Vt.Tools.GetFolderPath(s)}${c.meta.image}`,f=new $e.Texture(m,r,!1,!1,$e.Texture.NEAREST_NEAREST,null,null,null,!1,Gt.Engine.TEXTUREFORMAT_RGBA),g=new Kt.SpriteMap(a.name,c,f,{layerCount:o.options.layerCount,stageSize:Y.Vector2.FromArray(o.options.stageSize??[10,1]),outputSize:Y.Vector2.FromArray(o.options.outputSize??[100,100]),colorMultiply:Y.Vector3.FromArray(o.options.colorMultiply??[1,1,1]),flipU:!0},r);o.tiles.forEach(u=>{for(let d=0,S=u.repeatCount.x+1;d<S;++d)for(let h=0,I=u.repeatCount.y+1;h<I;++h){let T=d*(u.repeatOffset.x+1),x=h*(u.repeatOffset.y+1);g.changeTiles(u.layer,new Y.Vector2(u.position.x+T,(g.options.stageSize?.y??0)-1-u.position.y-x),u.tile)}});let P=g._output;P.parent=a,a.spriteMap=g})})}))}i(zt,"registerSpriteMapParser");var Wt=require("babylonjs"),Qt=require("babylonjs"),Ht=require("babylonjs"),Ye=require("babylonjs"),jt=require("babylonjs");function $t(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=Qt.Sprite.Parse(t,e);n.uniqueId=t.uniqueId,n.metadata=t.metadata}}i($t,"parseSerializedSpriteManager");var Yt=!1;function Ut(){Yt||(Yt=!0,(0,jt.AddParser)("SpriteManagerNode",(e,r,t,n)=>{e.transformNodes?.forEach(o=>{if(!o.isSpriteManager)return;let a=t.transformNodes?.find(s=>s.id===o.id);if(a){if(a.isSpriteManager=o.isSpriteManager,o.atlasJsonRelativePath){let s=`${n}${o.atlasJsonRelativePath}`;r.addPendingData(s);let p=new Ht.WebRequest;p.open("GET",s),p.send(),p.addEventListener("load",()=>{r.removePendingData(s);let c=JSON.parse(p.responseText),m=`${Wt.Tools.GetFolderPath(s)}${c.meta.image}`,f=new Ye.SpriteManager(a.name,m,1e3,64,r,void 0,void 0,!0,c);a.spriteManager=f,o.spriteManager&&$t(f,o.spriteManager)})}else if(o.spriteManager?.textureUrl){let s=`${n}${o.spriteManager.textureUrl}`,p=new Ye.SpriteManager(a.name,s,1e3,{width:o.spriteManager.cellWidth,height:o.spriteManager.cellHeight},r,void 0,void 0,!1);a.spriteManager=p,o.spriteManager&&$t(p,o.spriteManager)}}})}))}i(Ut,"registerSpriteManagerParser");var Jt=require("babylonjs"),We=require("babylonjs"),qt=require("babylonjs"),Zt=require("babylonjs");async function Fr(e,r,t,n,o){t.loadingQuality=o?.quality??"high",t.loadingTexturesQuality=o?.texturesQuality??t.loadingQuality,t.loadingShadowsQuality=o?.shadowsQuality??t.loadingQuality,Mt(),Rt(),_t(),zt(),Ut(),await(0,qt.AppendSceneAsync)(`${e}${r}`,t,{pluginExtension:".babylon",onProgress:i(s=>{let p=Math.min(s.loaded/s.total*.5);o?.onProgress?.(p)},"onProgress")}),Zt.SceneLoaderFlags.ForceFullSceneLoadingForIncremental&&t.meshes.forEach(s=>O(s)&&s._checkDelayState());let a=t.getWaitingItemsCount();for(;!t.isDisposed&&(!t.isReady()||t.getWaitingItemsCount()>0);){await new Promise(p=>setTimeout(p,150));let s=a-t.getWaitingItemsCount();s===a&&t.textures.forEach(p=>{p.delayLoadState===We.Constants.DELAYLOADSTATE_NONE&&(p.delayLoadState=We.Constants.DELAYLOADSTATE_LOADED)}),o?.onProgress?.(.5+s/a*.5)}o?.skipAssetsPreload||await Ge(e,t,n),o?.onProgress?.(1),Se(t),he(t),t.metadata?.rendering&&(St(t,t.metadata.rendering),t.activeCamera&&gt(t.activeCamera,e)),t.metadata?.physicsGravity&&t.getPhysicsEngine()?.setGravity(Jt.Vector3.FromArray(t.metadata?.physicsGravity)),D(t,t,n,e),t.transformNodes.forEach(s=>{D(t,s,n,e)}),t.meshes.forEach(s=>{yt(s),D(t,s,n,e)}),t.lights.forEach(s=>{D(t,s,n,e)}),t.cameras.forEach(s=>{D(t,s,n,e)}),t.spriteManagers?.forEach(s=>{s.sprites.forEach(p=>{D(t,p,n,e)})})}i(Fr,"loadScene");var Xt=require("babylonjs");async function _r(e,r,t){let o=await(await fetch(e+r)).json(),s=Xt.Tools.Instantiate(o.customType).Parse(o,t,e);return s.id=o.id,s.uniqueId=o.uniqueId,s}i(_r,"loadMaterialFromFile");function Lr(e){return Promise.all(e.materials.map(async r=>{let t=r.getBindedMeshes();await Promise.all(t.map(async n=>{Q(n)||await r.forceCompilationAsync(n,{clipPlane:!!e.clipPlane,useInstances:n.hasInstances})}))}))}i(Lr,"forceCompileAllSceneMaterials");function Vr(e){e.setTextureFormatToUse(["-dxt.ktx","-astc.ktx","-pvrtc.ktx","-etc1.ktx","-etc2.ktx"])}i(Vr,"configureEngineToUseCompressedTextures");var F=require("babylonjs");function q(e){if(!isNaN(parseFloat(e))&&isFinite(e))return F.Animation.ANIMATIONTYPE_FLOAT;switch(e?.getClassName?.()){case"Vector2":return F.Animation.ANIMATIONTYPE_VECTOR2;case"Vector3":return F.Animation.ANIMATIONTYPE_VECTOR3;case"Quaternion":return F.Animation.ANIMATIONTYPE_QUATERNION;case"Color3":return F.Animation.ANIMATIONTYPE_COLOR3;case"Color4":return F.Animation.ANIMATIONTYPE_COLOR4;case"Size":return F.Animation.ANIMATIONTYPE_SIZE;case"Matrix":return F.Animation.ANIMATIONTYPE_MATRIX}return null}i(q,"getAnimationTypeForObject");function Gr(e){return function(r,t){let n=r.constructor;n._NodesFromScene??=[],n._NodesFromScene.push({propertyKey:t,nodeName:e})}}i(Gr,"nodeFromScene");function Br(e,r=!1){return function(t,n){let o=t.constructor;o._NodesFromDescendants??=[],o._NodesFromDescendants.push({propertyKey:n,nodeName:e,directDescendantsOnly:r})}}i(Br,"nodeFromDescendants");function Kr(e){return function(r,t){let n=r.constructor;n._AnimationGroups??=[],n._AnimationGroups.push({animationGroupName:e,propertyKey:t})}}i(Kr,"animationGroupFromScene");function kr(e,r){return function(t,n){let o=t.constructor;o._GuiFromAsset??=[],o._GuiFromAsset.push({propertyKey:n,pathInAssets:e,onGuiCreated:r})}}i(kr,"guiFromAsset");function zr(e){return function(r,t){let n=r.constructor;n._SoundsFromScene??=[],n._SoundsFromScene.push({propertyKey:t,soundName:e})}}i(zr,"soundFromScene");function $r(e,r=!1){return function(t,n){let o=t.constructor;o._ParticleSystemsFromScene??=[],o._ParticleSystemsFromScene.push({propertyKey:n,particleSystemName:e,directDescendantsOnly:r})}}i($r,"particleSystemFromScene");function Yr(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"boolean"}})}}i(Yr,"visibleAsBoolean");function Wr(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"string"}})}}i(Wr,"visibleAsString");function Qr(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"number"}})}}i(Qr,"visibleAsNumber");function Hr(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"vector2"}})}}i(Hr,"visibleAsVector2");function jr(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"vector3"}})}}i(jr,"visibleAsVector3");function Ur(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"color3"}})}}i(Ur,"visibleAsColor3");function Jr(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"color4"}})}}i(Jr,"visibleAsColor4");function qr(e,r,t){return function(n,o){let a=n.constructor;a._VisibleInInspector??=[],a._VisibleInInspector.push({label:r,propertyKey:o,configuration:{...t,entityType:e,type:"entity"}})}}i(qr,"visibleAsEntity");function Zr(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"texture"}})}}i(Zr,"visibleAsTexture");function Xr(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"keymap"}})}}i(Xr,"visibleAsKeyMap");function en(e,r,t){return function(n,o){let a=n.constructor;a._VisibleInInspector??=[],a._VisibleInInspector.push({label:r,propertyKey:o,configuration:{...t,assetType:e,type:"asset"}})}}i(en,"visibleAsAsset");function tn(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(tn,"onPointerEvent");function rn(e){return function(r,t){let n=r.constructor;n._KeyboardEvents??=[],n._KeyboardEvents.push({propertyKey:t,eventTypes:Array.isArray(e)?e:[e]})}}i(rn,"onKeyboardEvent");function nn(e){return function(r,t){let n=r.constructor;n._SpritesFromSpriteManager??=[],n._SpritesFromSpriteManager.push({propertyKey:t,spriteName:e})}}i(nn,"spriteFromSpriteManager");function on(e){return function(r,t){let n=r.constructor;n._AnimationsFromSprite??=[],n._AnimationsFromSprite.push({propertyKey:t,animationName:e})}}i(on,"animationFromSprite");var pe=require("babylonjs");function sc(e,r){let t;return e===pe.Animation.ANIMATIONTYPE_FLOAT?t=r.value:t=r.value.clone(),{value:t,frame:r.frame,interpolation:r.interpolation,inTangent:e===pe.Animation.ANIMATIONTYPE_FLOAT?r.inTangent:r.inTangent?.clone(),outTangent:e===pe.Animation.ANIMATIONTYPE_FLOAT?r.outTangent:r.outTangent?.clone()}}i(sc,"cloneKey");function me(e,r){let t=r.split("."),n=e;for(let o=0;o<t.length;++o)n=n[t[o]];return n}i(me,"getPropertyValue");function Qe(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(Qe,"registerAfterAnimationCallback");var _=require("babylonjs"),ue=require("babylonjs"),N=require("babylonjs");function sn(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=r.getNodeById(t.node),n||(n=r.particleSystems?.find(s=>s.id===t.node)??null)):t.defaultRenderingPipeline&&(n=H()),t.propertyPath){let s=me(n,t.propertyPath);o=q(s)}let a=null;return t.sound&&(a=ie(t.sound,r)),{node:n,sound:a,propertyPath:t.propertyPath,defaultRenderingPipeline:t.defaultRenderingPipeline,animationGroup:t.animationGroup?r.getAnimationGroupByName(t.animationGroup):null,animationGroups:t.animationGroups,sounds:t.sounds,soundVolume:He(t.soundVolume??[],_.Animation.ANIMATIONTYPE_FLOAT),keyFrameEvents:t.keyFrameEvents?.map(s=>{let p={...s};switch(s.data?.type){case"set-enabled":p.data={type:"set-enabled",value:s.data.value,node:r.getNodeById(s.data.node)};break;case"apply-impulse":p.data={type:"apply-impulse",radius:s.data.radius,mesh:r.getMeshById(s.data.mesh),force:N.Vector3.FromArray(s.data.force),contactPoint:N.Vector3.FromArray(s.data.contactPoint)};break}return p}),keyFrameAnimations:n&&o!==null&&He(t.keyFrameAnimations??[],o)}})}}i(sn,"parseCinematic");function R(e,r){if(e===null)return null;if(e!==void 0)switch(r){case _.Animation.ANIMATIONTYPE_FLOAT:return e;case _.Animation.ANIMATIONTYPE_VECTOR2:return N.Vector2.FromArray(e);case _.Animation.ANIMATIONTYPE_VECTOR3:return N.Vector3.FromArray(e);case _.Animation.ANIMATIONTYPE_QUATERNION:return N.Quaternion.FromArray(e);case _.Animation.ANIMATIONTYPE_COLOR3:return ue.Color3.FromArray(e);case _.Animation.ANIMATIONTYPE_COLOR4:return ue.Color4.FromArray(e);case _.Animation.ANIMATIONTYPE_MATRIX:return N.Matrix.FromArray(e)}}i(R,"parseCinematicKeyValue");function He(e,r){return e?.map(t=>{let n=t.type==="key"?t:null;if(n)return{...n,value:R(n.value,r),inTangent:R(n.inTangent,r),outTangent:R(n.outTangent,r)};let o=t.type==="cut"?t:null;if(o)return{...o,key1:{...o.key1,value:R(o.key1.value,r),inTangent:R(o.key1.inTangent,r),outTangent:R(o.key1.outTangent,r)},key2:{...o.key2,value:R(o.key2.value,r),inTangent:R(o.key2.inTangent,r),outTangent:R(o.key2.outTangent,r)}};throw new Error(`Unknown key frame type: ${t.type}`)})}i(He,"parseKeyFrameAnimations");function er(e,r){e.onEventObservable.notifyObservers(r.eventName)}i(er,"handleApplyEvent");function tr(e){e.node?.setEnabled(e.value)}i(tr,"handleSetEnabledEvent");var je=require("babylonjs"),rr=je.Vector3.Zero();function nr(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 je.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(rr),n.physicsAggregate.body.setAngularVelocity(rr),n.physicsAggregate.body.applyImpulse(o.negateInPlace(),r.contactPoint)}})}i(nr,"handleApplyImpulseEvent");var or=require("babylonjs"),ir=require("babylonjs"),Z=class extends ir.AnimationGroup{static{i(this,"Cinematic")}onEventObservable=new or.Observable;onEvent(r,t){this.onEventObservable.add(n=>{r===n&&t()})}};function Ue(e){return e.type==="key"}i(Ue,"isCinematicKey");function X(e){return e.type==="cut"}i(X,"isCinematicKeyCut");function an(e){return e.type==="event"}i(an,"isCinematicKeyEvent");function ln(e){return e.type==="group"}i(ln,"isCinematicGroup");function cn(e){return e.type==="sound"}i(cn,"isCinematicSound");var A=require("babylonjs"),W=require("babylonjs");function pn(e,r,t){let n=new Z(e.name,r);return e.tracks.forEach(o=>{let a=o.animationGroup;if(a&&o.animationGroups?.length){let u=a.clone(`${a.name}-cinematic-temp`),d=r.animationGroups.indexOf(u);d!==-1&&r.animationGroups.splice(d,1),n.onAnimationEndObservable.add(()=>{a.stop(),u.stop()});let S=o.animationGroups.reduce((x,E)=>Math.min(x,E.frame),Number.MAX_VALUE)??0,h=o.animationGroups.reduce((x,E)=>Math.max(x,E.frame+E.endFrame),0)??0,I={frame:S},T=new A.Animation(u.name,"frame",60,A.Animation.ANIMATIONTYPE_FLOAT,A.Animation.ANIMATIONLOOPMODE_CYCLE,!1);if(T.setKeys([{frame:S,value:0},{frame:h,value:h}]),o.animationGroups.forEach(x=>{T.addEvent(new W.AnimationEvent(x.frame,()=>{let E=x.repeatCount??0;if(u.to=x.endFrame,u.speedRatio=x.speed,u.stop(),u.play(E>0),u.goToFrame(x.startFrame),E){let V=0;u.onAnimationGroupLoopObservable.add(()=>{++V,V>E&&u.stop()})}}))}),n.addTargetedAnimation(T,I),(o.animationGroupWeight?.length??0)>=2){let x={weight:0},E=new A.Animation(`${u.name}-weights`,"weight",60,A.Animation.ANIMATIONTYPE_FLOAT,A.Animation.ANIMATIONLOOPMODE_CYCLE,!1),V=[];o.animationGroupWeight.forEach(ee=>{X(ee)?(V.push(ee.key1),V.push(ee.key2)):V.push(ee)}),E.setKeys(V),n.addTargetedAnimation(E,x),Qe(n,r,()=>{u.weight=x.weight})}}let s=o.sound,p=s?.getAudioBuffer();if(!t?.ignoreSounds&&s&&p&&o.sounds?.length){let u={dummy:0,volume:0},d=new A.Animation(s.name,"dummy",60,A.Animation.ANIMATIONTYPE_FLOAT,A.Animation.ANIMATIONLOOPMODE_CYCLE,!1),S=0;if(o.sounds?.forEach(h=>{let I=h.endFrame-h.startFrame;S=Math.max(S,h.frame+I),d.addEvent(new W.AnimationEvent(h.frame,T=>{let E=(T-h.frame+h.startFrame)/e.framesPerSecond;s.play(0,E)},!1)),d.addEvent(new W.AnimationEvent(h.frame+I,()=>{s.stop()}))}),d.setKeys([{frame:0,value:0},{frame:S,value:S}]),n.addTargetedAnimation(d,u),(o.soundVolume?.length??0)>=2){let h=new A.Animation(s.name,"volume",60,A.Animation.ANIMATIONTYPE_FLOAT,A.Animation.ANIMATIONLOOPMODE_CYCLE,!1),I=[];o.soundVolume.forEach(T=>{X(T)?(I.push(T.key1),I.push(T.key2)):I.push(T)}),h.setKeys(I),n.addTargetedAnimation(h,u),Qe(n,r,()=>{s.setVolume(u.volume)})}}if(o.keyFrameEvents){let u={dummy:0},d=new A.Animation("events","dummy",60,A.Animation.ANIMATIONTYPE_FLOAT,A.Animation.ANIMATIONLOOPMODE_CYCLE,!1),S=0;o.keyFrameEvents?.forEach(h=>{S=Math.max(S,h.frame),d.addEvent(new W.AnimationEvent(h.frame,()=>{switch(h.data?.type){case"event":er(n,h.data);break;case"set-enabled":tr(h.data);break;case"apply-impulse":nr(r,h.data);break}}))}),d.setKeys([{frame:0,value:0},{frame:S+1,value:S+1}]),n.addTargetedAnimation(d,u)}let c=o.defaultRenderingPipeline?H():o.node;if(!c||!o.propertyPath||!o.keyFrameAnimations)return;let m=me(c,o.propertyPath),f=q(m);if(f===null)return;let g=new A.Animation(o.propertyPath,o.propertyPath,60,f,A.Animation.ANIMATIONLOOPMODE_CYCLE,!1),P=[];o.keyFrameAnimations?.forEach(u=>{if(Ue(u))return P.push(u);X(u)&&(P.push(u.key1),P.push(u.key2),oe(c)&&o.propertyPath==="position"&&g.addEvent(new W.AnimationEvent(u.key1.frame,()=>{let d=Oe();if(!d)return;let S=d.motionStrength;d.motionStrength=0,requestAnimationFrame(()=>{d.motionStrength=S})})))}),g.setKeys(P),n.addTargetedAnimation(g,c)}),n.normalize(),n}i(pn,"generateCinematicAnimationGroup");0&&(module.exports={AdvancedAssetContainer,Cinematic,_applyScriptsForObject,_preloadScriptsAssets,_registerScriptInstance,_removeRegisteredScriptInstance,animationFromSprite,animationGroupFromScene,applyScriptOnObject,configureEngineToUseCompressedTextures,configureShadowMapRefreshRate,configureShadowMapRenderListPredicate,createDefaultRenderingPipeline,createMotionBlurPostProcess,createSSAO2RenderingPipeline,createSSRRenderingPipeline,createVLSPostProcess,defaultPipelineCameraConfigurations,disposeDefaultRenderingPipeline,disposeMotionBlurPostProcess,disposeSSAO2RenderingPipeline,disposeSSRRenderingPipeline,disposeVLSPostProcess,forceCompileAllSceneMaterials,generateCinematicAnimationGroup,getAllScriptsByClassForObject,getAnimationTypeForObject,getDefaultRenderingPipeline,getMotionBlurPostProcess,getPowerOfTwoUntil,getSSAO2RenderingPipeline,getSSRRenderingPipeline,getScriptByClassForObject,getVLSPostProcess,guiFromAsset,isAbstractMesh,isAnyParticleSystem,isArcRotateCamera,isBone,isCamera,isCinematicGroup,isCinematicKey,isCinematicKeyCut,isCinematicKeyEvent,isCinematicSound,isDirectionalLight,isFreeCamera,isGPUParticleSystem,isGroundMesh,isHemisphericLight,isInstancedMesh,isLight,isMesh,isNode,isParticleSystem,isPointLight,isScene,isSpotLight,isSprite,isTexture,isTransformNode,loadMaterialFromFile,loadScene,motionBlurPostProcessCameraConfigurations,nodeFromDescendants,nodeFromScene,normalizeAtlasJson,onKeyboardEvent,onPointerEvent,parseCinematic,parseCinematicKeyValue,parseDefaultRenderingPipeline,parseKeyFrameAnimations,parseMotionBlurPostProcess,parseSSAO2RenderingPipeline,parseSSRRenderingPipeline,parseVLSPostProcess,particleSystemFromScene,playSpriteAnimationFromName,registerScriptAssetParser,scriptAssetsCache,scriptAssetsParsers,scriptsDictionary,serializeDefaultRenderingPipeline,serializeMotionBlurPostProcess,serializeSSAO2RenderingPipeline,serializeSSRRenderingPipeline,serializeVLSPostProcess,setDefaultRenderingPipelineRef,setMotionBlurPostProcessRef,setSSAO2RenderingPipelineRef,setSSRRenderingPipelineRef,setVLSPostProcessRef,soundFromScene,spriteFromSpriteManager,ssaoRenderingPipelineCameraConfigurations,ssrRenderingPipelineCameraConfigurations,visibleAsAsset,visibleAsBoolean,visibleAsColor3,visibleAsColor4,visibleAsEntity,visibleAsKeyMap,visibleAsNumber,visibleAsString,visibleAsTexture,visibleAsVector2,visibleAsVector3,vlsPostProcessCameraConfigurations});
1
+ var te=Object.defineProperty;var dr=Object.getOwnPropertyDescriptor;var yr=Object.getOwnPropertyNames;var Sr=Object.prototype.hasOwnProperty;var i=(e,r)=>te(e,"name",{value:r,configurable:!0});var hr=(e,r)=>{for(var t in r)te(e,t,{get:r[t],enumerable:!0})},br=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of yr(r))!Sr.call(e,o)&&o!==t&&te(e,o,{get:()=>r[o],enumerable:!(n=dr(r,o))||n.enumerable});return e};var Pr=e=>br(te({},"__esModule",{value:!0}),e);var bo={};hr(bo,{AdvancedAssetContainer:()=>U,Cinematic:()=>Z,NodeParticleSystemSet:()=>lr.NodeParticleSystemSet,_applyScriptsForObject:()=>D,_preloadScriptsAssets:()=>Ge,_registerScriptInstance:()=>Ke,_removeRegisteredScriptInstance:()=>Et,animationFromSprite:()=>uo,animationGroupFromScene:()=>jr,applyScriptOnObject:()=>Br,configureEngineToUseCompressedTextures:()=>Wr,configureShadowMapRefreshRate:()=>he,configureShadowMapRenderListPredicate:()=>Se,createDefaultRenderingPipeline:()=>ft,createMotionBlurPostProcess:()=>lt,createSSAO2RenderingPipeline:()=>st,createSSRRenderingPipeline:()=>nt,createVLSPostProcess:()=>rt,defaultPipelineCameraConfigurations:()=>$,disposeDefaultRenderingPipeline:()=>Re,disposeMotionBlurPostProcess:()=>De,disposeSSAO2RenderingPipeline:()=>ve,disposeSSRRenderingPipeline:()=>Ie,disposeVLSPostProcess:()=>be,forceCompileAllSceneMaterials:()=>Yr,generateCinematicAnimationGroup:()=>ho,getAllScriptsByClassForObject:()=>Tt,getAnimationTypeForObject:()=>J,getDefaultRenderingPipeline:()=>H,getMotionBlurPostProcess:()=>Oe,getPowerOfTwoUntil:()=>w,getSSAO2RenderingPipeline:()=>Fr,getSSRRenderingPipeline:()=>Nr,getScriptByClassForObject:()=>Kr,getVLSPostProcess:()=>Mr,guiFromAsset:()=>Ur,isAbstractMesh:()=>re,isAnyParticleSystem:()=>de,isArcRotateCamera:()=>xr,isBone:()=>Ar,isCamera:()=>ne,isCinematicGroup:()=>yo,isCinematicKey:()=>Ue,isCinematicKeyCut:()=>X,isCinematicKeyEvent:()=>go,isCinematicSound:()=>So,isDirectionalLight:()=>Er,isFreeCamera:()=>Cr,isGPUParticleSystem:()=>Dr,isGroundMesh:()=>Ir,isHemisphericLight:()=>Or,isInstancedMesh:()=>Q,isLight:()=>qe,isMesh:()=>O,isNode:()=>G,isParticleSystem:()=>ge,isPointLight:()=>vr,isScene:()=>fe,isSpotLight:()=>Tr,isSprite:()=>ye,isTexture:()=>ue,isTransformNode:()=>oe,loadMaterialFromFile:()=>$r,loadScene:()=>zr,motionBlurPostProcessCameraConfigurations:()=>z,nodeFromDescendants:()=>Hr,nodeFromScene:()=>Qr,normalizeAtlasJson:()=>ze,onKeyboardEvent:()=>mo,onPointerEvent:()=>co,parseCinematic:()=>fo,parseCinematicKeyValue:()=>N,parseDefaultRenderingPipeline:()=>_e,parseKeyFrameAnimations:()=>He,parseMotionBlurPostProcess:()=>we,parseSSAO2RenderingPipeline:()=>Te,parseSSRRenderingPipeline:()=>xe,parseVLSPostProcess:()=>Ae,particleSystemFromScene:()=>Jr,playSpriteAnimationFromName:()=>kr,registerScriptAssetParser:()=>Gr,scriptAssetsCache:()=>M,scriptAssetsParsers:()=>q,scriptsDictionary:()=>L,serializeDefaultRenderingPipeline:()=>Fe,serializeMotionBlurPostProcess:()=>Me,serializeSSAO2RenderingPipeline:()=>Ee,serializeSSRRenderingPipeline:()=>Ce,serializeVLSPostProcess:()=>Pe,setDefaultRenderingPipelineRef:()=>Vr,setMotionBlurPostProcessRef:()=>Lr,setSSAO2RenderingPipelineRef:()=>_r,setSSRRenderingPipelineRef:()=>Rr,setVLSPostProcessRef:()=>wr,soundFromScene:()=>qr,spriteFromSpriteManager:()=>po,ssaoRenderingPipelineCameraConfigurations:()=>k,ssrRenderingPipelineCameraConfigurations:()=>K,visibleAsAsset:()=>lo,visibleAsBoolean:()=>Zr,visibleAsColor3:()=>oo,visibleAsColor4:()=>no,visibleAsEntity:()=>io,visibleAsKeyMap:()=>ao,visibleAsNumber:()=>eo,visibleAsString:()=>Xr,visibleAsTexture:()=>so,visibleAsVector2:()=>to,visibleAsVector3:()=>ro,vlsPostProcessCameraConfigurations:()=>B});module.exports=Pr(bo);function re(e){switch(e.getClassName?.()){case"Mesh":case"LineMesh":case"GroundMesh":case"InstancedMesh":return!0}return!1}i(re,"isAbstractMesh");function O(e){switch(e.getClassName?.()){case"Mesh":case"GroundMesh":return!0}return!1}i(O,"isMesh");function Q(e){return e.getClassName?.()==="InstancedMesh"}i(Q,"isInstancedMesh");function Ar(e){return e.getClassName?.()==="Bone"}i(Ar,"isBone");function Ir(e){return e.getClassName?.()==="GroundMesh"}i(Ir,"isGroundMesh");function oe(e){return e.getClassName?.()==="TransformNode"}i(oe,"isTransformNode");function ue(e){return e?.getClassName?.()==="Texture"}i(ue,"isTexture");function ne(e){switch(e.getClassName?.()){case"Camera":case"FreeCamera":case"TargetCamera":case"EditorCamera":case"ArcRotateCamera":case"UniversalCamera":return!0}return!1}i(ne,"isCamera");function Cr(e){switch(e.getClassName?.()){case"FreeCamera":case"UniversalCamera":return!0}return!1}i(Cr,"isFreeCamera");function xr(e){return e.getClassName?.()==="ArcRotateCamera"}i(xr,"isArcRotateCamera");function vr(e){return e.getClassName?.()==="PointLight"}i(vr,"isPointLight");function Er(e){return e.getClassName?.()==="DirectionalLight"}i(Er,"isDirectionalLight");function Tr(e){return e.getClassName?.()==="SpotLight"}i(Tr,"isSpotLight");function Or(e){return e.getClassName?.()==="HemisphericLight"}i(Or,"isHemisphericLight");function qe(e){switch(e.getClassName?.()){case"Light":case"PointLight":case"SpotLight":case"DirectionalLight":case"HemisphericLight":return!0}return!1}i(qe,"isLight");function G(e){return re(e)||oe(e)||qe(e)||ne(e)}i(G,"isNode");function fe(e){return e.getClassName?.()==="Scene"}i(fe,"isScene");function ge(e){return e.getClassName?.()==="ParticleSystem"}i(ge,"isParticleSystem");function Dr(e){return e.getClassName?.()==="GPUParticleSystem"}i(Dr,"isGPUParticleSystem");function de(e){switch(e.getClassName?.()){case"ParticleSystem":case"GPUParticleSystem":return!0}return!1}i(de,"isAnyParticleSystem");function ye(e){return e.getClassName?.()==="Sprite"}i(ye,"isSprite");var Je=require("babylonjs"),Ze=require("babylonjs");function Se(e){e.lights.forEach(r=>{let t=r.getShadowGenerator()?.getShadowMap();t&&(t.renderListPredicate=n=>Je.Vector3.Distance(n.getAbsolutePosition(),r.getAbsolutePosition())<=r.range)})}i(Se,"configureShadowMapRenderListPredicate");async function he(e){e.executeWhenReady(()=>{e.lights.forEach(r=>{let t=r.getShadowGenerator()?.getShadowMap();t&&(t.refreshRate=r.metadata?.refreshRate??Ze.RenderTargetTexture.REFRESHRATE_RENDER_ONEVERYFRAME)})})}i(he,"configureShadowMapRefreshRate");var Xe=require("babylonjs"),et=require("babylonjs"),tt=require("babylonjs"),C=null,B=new Map;function Mr(){return C}i(Mr,"getVLSPostProcess");function wr(e){C=e}i(wr,"setVLSPostProcessRef");function be(e){C&&e.activeCamera&&(C.dispose(e.activeCamera),C=null)}i(be,"disposeVLSPostProcess");function rt(e,r){return r??=e.meshes.find(t=>O(t)),C=new tt.VolumetricLightScatteringPostProcess("VolumetricLightScatteringPostProcess",1,e.activeCamera,r,100,et.Texture.BILINEAR_SAMPLINGMODE,e.getEngine(),!1),C}i(rt,"createVLSPostProcess");function Pe(){return C?{meshId:C.mesh?.id,exposure:C.exposure,decay:C.decay,weight:C.weight,density:C.density,invert:C.invert,useCustomMeshPosition:C.useCustomMeshPosition,customMeshPosition:C.customMeshPosition.asArray()}:null}i(Pe,"serializeVLSPostProcess");function Ae(e,r){let t=null;if(r.meshId){let o=e.getMeshById(r.meshId);o&&O(o)&&(t=o)}let n=rt(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(Xe.Vector3.FromArray(r.customMeshPosition)),n}i(Ae,"parseVLSPostProcess");var ot=require("babylonjs"),h=null,K=new Map;function Nr(){return h}i(Nr,"getSSRRenderingPipeline");function Rr(e){h=e}i(Rr,"setSSRRenderingPipelineRef");function Ie(){h&&(h.dispose(),h=null)}i(Ie,"disposeSSRRenderingPipeline");function nt(e,r){return h=new ot.SSRRenderingPipeline("SSRRenderingPipeline",e,[r]),h.samples=4,h}i(nt,"createSSRRenderingPipeline");function Ce(){return h?{samples:h.samples,step:h.step,thickness:h.thickness,strength:h.strength,reflectionSpecularFalloffExponent:h.reflectionSpecularFalloffExponent,maxSteps:h.maxSteps,maxDistance:h.maxDistance,roughnessFactor:h.roughnessFactor,reflectivityThreshold:h.reflectivityThreshold,blurDispersionStrehgth:h.blurDispersionStrength,clipToFrustum:h.clipToFrustum,enableSmoothReflections:h.enableSmoothReflections,enableAutomaticThicknessComputation:h.enableAutomaticThicknessComputation,attenuateFacingCamera:h.attenuateFacingCamera,attenuateScreenBorders:h.attenuateScreenBorders,attenuateIntersectionDistance:h.attenuateIntersectionDistance,attenuateBackfaceReflection:h.attenuateBackfaceReflection,blurDownsample:h.blurDownsample,selfCollisionNumSkip:h.selfCollisionNumSkip,ssrDownsample:h.ssrDownsample,backfaceDepthTextureDownsample:h.backfaceDepthTextureDownsample}:null}i(Ce,"serializeSSRRenderingPipeline");function xe(e,r,t){if(h)return h;let n=nt(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(xe,"parseSSRRenderingPipeline");var it=require("babylonjs"),P=null,k=new Map;function Fr(){return P}i(Fr,"getSSAO2RenderingPipeline");function _r(e){P=e}i(_r,"setSSAO2RenderingPipelineRef");function ve(){P&&(P.dispose(),P=null)}i(ve,"disposeSSAO2RenderingPipeline");function st(e,r){return P=new it.SSAO2RenderingPipeline("SSAO2RenderingPipeline",e,1,[r]),P.samples=4,P}i(st,"createSSAO2RenderingPipeline");function Ee(){return P?{radius:P.radius,totalStrength:P.totalStrength,samples:P.samples,maxZ:P.maxZ,minZAspect:P.minZAspect,epsilon:P.epsilon,textureSamples:P.textureSamples,bypassBlur:P.bypassBlur,bilateralSamples:P.bilateralSamples,bilateralSoften:P.bilateralSoften,bilateralTolerance:P.bilateralTolerance,expensiveBlur:P.expensiveBlur}:null}i(Ee,"serializeSSAO2RenderingPipeline");function Te(e,r,t){if(P)return P;let n=st(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(Te,"parseSSAO2RenderingPipeline");var at=require("babylonjs"),v=null,z=new Map;function Oe(){return v}i(Oe,"getMotionBlurPostProcess");function Lr(e){v=e}i(Lr,"setMotionBlurPostProcessRef");function De(){v&&(v.dispose(),v=null)}i(De,"disposeMotionBlurPostProcess");function lt(e,r){return v=new at.MotionBlurPostProcess("MotionBlurPostProcess",e,1,r),v.motionStrength=1,v.isObjectBased=!0,v}i(lt,"createMotionBlurPostProcess");function Me(){return v?{isObjectBased:v.isObjectBased,motionStrength:v.motionStrength,motionBlurSamples:v.motionBlurSamples}:null}i(Me,"serializeMotionBlurPostProcess");function we(e,r,t){if(v)return v;let n=lt(e,r);return n.isObjectBased=t.isObjectBased,n.motionStrength=t.motionStrength,n.motionBlurSamples=t.motionBlurSamples,n}i(we,"parseMotionBlurPostProcess");var ct=require("babylonjs"),Ne=require("babylonjs"),mt=require("babylonjs"),pt=require("babylonjs"),ut=require("babylonjs"),c=null,$=new Map;function H(){return c}i(H,"getDefaultRenderingPipeline");function Vr(e){c=e}i(Vr,"setDefaultRenderingPipelineRef");function Re(){c&&(c.dispose(),c=null)}i(Re,"disposeDefaultRenderingPipeline");function ft(e,r){return c=new ut.DefaultRenderingPipeline("DefaultRenderingPipeline",!0,e,[r]),c.samples=4,c.depthOfField.lensSize=512,c.depthOfField.fStop=.25,c.depthOfField.focusDistance=55e3,c}i(ft,"createDefaultRenderingPipeline");function Fe(){return c?{samples:c.samples,fxaaEnabled:c.fxaaEnabled,imageProcessingEnabled:c.imageProcessingEnabled,exposure:c.imageProcessing?.exposure,contrast:c.imageProcessing?.contrast,fromLinearSpace:c.imageProcessing?.fromLinearSpace,toneMappingEnabled:c.imageProcessing?.toneMappingEnabled,toneMappingType:c.imageProcessing?.toneMappingType,ditheringEnabled:c.imageProcessing?.ditheringEnabled,ditheringIntensity:c.imageProcessing?.ditheringIntensity,bloomEnabled:c.bloomEnabled,bloomThreshold:c.bloomThreshold,bloomWeight:c.bloomWeight,bloomScale:c.bloomScale,bloomKernel:c.bloomKernel,sharpenEnabled:c.sharpenEnabled,sharpenEdgeAmount:c.sharpen.edgeAmount,sharpenColorAmount:c.sharpen.colorAmount,grainEnabled:c.grainEnabled,grainIntensity:c.grain.intensity,grainAnimated:c.grain.animated,depthOfFieldEnabled:c.depthOfFieldEnabled,depthOfFieldBlurLevel:c.depthOfFieldBlurLevel,lensSize:c.depthOfField.lensSize,fStop:c.depthOfField.fStop,focusDistance:c.depthOfField.focusDistance,focalLength:c.depthOfField.focalLength,vignetteEnabled:c.imageProcessing?.vignetteEnabled,vignetteColor:c.imageProcessing?.vignetteColor.asArray(),vignetteWeight:c.imageProcessing?.vignetteWeight,chromaticAberrationEnabled:c.chromaticAberrationEnabled,aberrationAmount:c.chromaticAberration.aberrationAmount,radialIntensity:c.chromaticAberration.radialIntensity,direction:c.chromaticAberration.direction.asArray(),centerPosition:c.chromaticAberration.centerPosition.asArray(),glowLayerEnabled:c.glowLayerEnabled,glowLayerIntensity:c.glowLayer?.intensity,glowLayerBlurKernelSize:c.glowLayer?.blurKernelSize,colorGradingEnabled:c.imageProcessing.colorGradingEnabled,colorGradingTexture:c.imageProcessing.colorGradingTexture?.serialize(),colorGradingWithGreenDepth:c.imageProcessing.imageProcessingConfiguration.colorGradingWithGreenDepth,colorCurvesEnabled:c.imageProcessing.colorCurvesEnabled,globalHue:c.imageProcessing.colorCurves?.globalHue,globalDensity:c.imageProcessing.colorCurves?.globalDensity,globalExposure:c.imageProcessing.colorCurves?.globalExposure,globalSaturation:c.imageProcessing.colorCurves?.globalSaturation,highlightsHue:c.imageProcessing.colorCurves?.highlightsHue,highlightsDensity:c.imageProcessing.colorCurves?.highlightsDensity,highlightsExposure:c.imageProcessing.colorCurves?.highlightsExposure,highlightsSaturation:c.imageProcessing.colorCurves?.highlightsSaturation,midtonesHue:c.imageProcessing.colorCurves?.midtonesHue,midtonesDensity:c.imageProcessing.colorCurves?.midtonesDensity,midtonesExposure:c.imageProcessing.colorCurves?.midtonesExposure,midtonesSaturation:c.imageProcessing.colorCurves?.midtonesSaturation,shadowsHue:c.imageProcessing.colorCurves?.shadowsHue,shadowsDensity:c.imageProcessing.colorCurves?.shadowsDensity,shadowsExposure:c.imageProcessing.colorCurves?.shadowsExposure,shadowsSaturation:c.imageProcessing.colorCurves?.shadowsSaturation}:null}i(Fe,"serializeDefaultRenderingPipeline");function _e(e,r,t,n){if(c)return c;let o=ft(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=ct.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 a=null;if(t.colorGradingTexture.customType==="BABYLON.ColorGradingTexture"){let s=n+t.colorGradingTexture.name;a=new pt.ColorGradingTexture(s,e),a.level=t.colorGradingTexture.level}else{let s=mt.Texture.Parse(t.colorGradingTexture,e,n);ue(s)&&(a=s)}o.imageProcessing.colorGradingTexture=a}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=Ne.Vector2.FromArray(t.direction??[0,0]),o.chromaticAberration.centerPosition=Ne.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(_e,"parseDefaultRenderingPipeline");function oi(e){k.set(e,Ee()),B.set(e,Pe()),K.set(e,Ce()),z.set(e,Me()),$.set(e,Fe())}i(oi,"saveRenderingConfigurationForCamera");function gt(e,r){ve(),be(e.getScene()),Ie(),De(),Re();let t=k.get(e);t&&Te(e.getScene(),e,t);let n=B.get(e);n&&Ae(e.getScene(),n);let o=K.get(e);o&&xe(e.getScene(),e,o);let a=z.get(e);a&&we(e.getScene(),e,a);let s=$.get(e);s&&_e(e.getScene(),e,s,r)}i(gt,"applyRenderingConfigurationForCamera");var j=require("babylonjs"),dt=require("babylonjs");function yt(e){let r=e.metadata?.physicsAggregate;if(!r)return;let t;O(e)?t=e:Q(e)&&(t=e.sourceMesh);let n=new dt.PhysicsAggregate(e,r.shape.type,{mesh:t,mass:r.massProperties.mass});n.body.setMassProperties({mass:r.massProperties.mass,inertia:r.massProperties.inertia?j.Vector3.FromArray(r.massProperties.inertia):void 0,centerOfMass:r.massProperties.centerOfMass?j.Vector3.FromArray(r.massProperties.centerOfMass):void 0,inertiaOrientation:r.massProperties.inertiaOrientation?j.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(yt,"configurePhysicsAggregate");function St(e,r){(Array.isArray(r)?r:[]).forEach(n=>{let o=e.getCameraById(n.cameraId);o&&(n.ssao2RenderingPipeline&&k.set(o,n.ssao2RenderingPipeline),n.vlsPostProcess&&B.set(o,n.vlsPostProcess),n.ssrRenderingPipeline&&K.set(o,n.ssrRenderingPipeline),n.motionBlurPostProcess&&z.set(o,n.motionBlurPostProcess),n.defaultRenderingPipeline&&$.set(o,n.defaultRenderingPipeline))})}i(St,"applyRenderingConfigurations");function ie(e,r){let t=r.soundTracks??[];t.length||t.push(r.mainSoundTrack);for(let n=0,o=t.length;n<o;n++){let a=t[n].soundCollection.find(s=>s.id===e);if(a)return a}return null}i(ie,"getSoundById");function Le(e){return e&&JSON.parse(JSON.stringify(e))}i(Le,"cloneJSObject");var Ve=require("babylonjs"),U=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))}),this._originalDescendants.forEach(o=>{this._nodesMap.set(o,{node:o,metadata:Le(o.metadata)})}),r.animationGroups.forEach(o=>{this._animationGroupsMap.set(o.name,o)})}removeDefault(){this.container.removeAllFromScene()}instantiate(r){let t=Ve.Tools.RandomId(),n=i(s=>`${s}-${t}`,"nameFunction"),o=this.container.instantiateModelsToScene(n,!1,r),a=[];return o.rootNodes.forEach(s=>{a.push(s,...s.getDescendants(!1))}),a.forEach((s,f)=>{let l=this._originalDescendants[f],m=l.id;s.id=Ve.Tools.RandomId(),s.metadata=Le(this._nodesMap.get(l).metadata),a.forEach(u=>{u.metadata.scripts?.forEach(g=>{Object.keys(g.values||{}).forEach(p=>{let d=g.values[p];if(d.type==="entity"){d.value===m&&(d.value=s.id),d.value===l.name&&(d.value=s.name);let y=this._animationGroupsMap.get(d.value);y&&(d.value=n(y.name))}})})})}),a.forEach(s=>{D(this.container.scene,s,this._scriptsMap,this._rootUrl)}),o}};var ht=require("babylonjs"),bt=require("babylonjs");async function Pt(e,r,t){let o=e.split("/").pop().replace(".scene",".babylon"),a=await(0,ht.LoadAssetContainerAsync)(o,t,{rootUrl:r,pluginExtension:".babylon"});return bt.SceneLoaderFlags.ForceFullSceneLoadingForIncremental&&t.meshes.forEach(s=>O(s)&&s._checkDelayState()),a.addAllToScene(),a}i(Pt,"preloadSceneScriptAsset");async function At(e,r){return await(await fetch(`${r}${e}`)).json()}i(At,"preloadCommonScriptAsset");var M=new Map,q=new Map;function Gr(e,r){q.has(e)&&console.warn(`A parser for the extension '${e}' was already registered. It will be overwritten.`),q.set(e,r)}i(Gr,"registerScriptAssetParser");async function Ge(e,r,t){[r,...r.transformNodes,...r.meshes,...r.lights,...r.cameras].filter(s=>s.metadata?.scripts?.length).map(s=>s.metadata.scripts).flat().forEach(s=>{if(s.values)for(let f in s.values){if(!s.values.hasOwnProperty(f))continue;let l=s.values[f];l.type==="asset"&&l.value&&!M.get(l.value)&&M.set(l.value,null)}});let a=[];M.forEach((s,f)=>{M.get(f)||a.push(new Promise(async l=>{try{let m=f.split(".").pop();switch(m){case"scene":M.set(f,new U(await Pt(f,e,r),e,t));break;default:if(q.has(m)){let u=q.get(m);M.set(f,await u({key:f,rootUrl:e,scene:r}));break}else M.set(f,await At(f,e));break}}catch(m){console.error(m)}l()}))}),await Promise.all(a)}i(Ge,"_preloadScriptsAssets");var It=require("babylonjs"),se=require("babylonjs"),Ct=require("babylonjs"),ae=require("babylonjs"),xt=require("babylonjs"),vt=require("babylonjs-gui");function Be(e,r,t,n,o){let a=n.constructor;if(!a)return;a._NodesFromScene?.forEach(l=>{n[l.propertyKey.toString()]=e.getNodeByName(l.nodeName)}),a._NodesFromDescendants?.forEach(l=>{let m=r.getDescendants?.(l.directDescendantsOnly,u=>u.name===l.nodeName)[0];n[l.propertyKey.toString()]=m??null}),a._AnimationGroups?.forEach(l=>{n[l.propertyKey.toString()]=e.getAnimationGroupByName(l.animationGroupName)}),a._SoundsFromScene?.forEach(l=>{let m=e.getSoundByName?.(l.soundName);n[l.propertyKey.toString()]=m??null}),(a._GuiFromAsset??[]).map(async l=>{let m=`${o}assets/${l.pathInAssets}`;try{let g=await(await fetch(m)).json(),S=vt.AdvancedDynamicTexture.CreateFullscreenUI(g.name,!0,e);S.parseSerializedObject(g.content,!1),n[l.propertyKey.toString()]=S,l.onGuiCreated?.(n,S)}catch(u){throw console.error(`Failed to load GUI from asset: ${m}`),u}}),a._ParticleSystemsFromScene?.forEach(l=>{let m=e.particleSystems?.find(u=>u.name!==l.particleSystemName?!1:l.directDescendantsOnly?u.emitter===r:u);n[l.propertyKey.toString()]=m}),(a._VisibleInInspector??[]).forEach(async l=>{let m=l.propertyKey.toString(),u=t.values;if(!u)throw new Error(`No values found for script with key "${t.key}".`);if(u.hasOwnProperty(m)&&u[m].hasOwnProperty("value")){let g=u[m].value;switch(l.configuration.type){case"number":case"boolean":case"keymap":case"string":n[m]=g;break;case"vector2":n[m]=ae.Vector2.FromArray(g);break;case"vector3":n[m]=ae.Vector3.FromArray(g);break;case"color3":n[m]=se.Color3.FromArray(g);break;case"color4":n[m]=se.Color4.FromArray(g);break;case"entity":switch(l.configuration.entityType){case"node":n[m]=e.getNodeById(g)??null;break;case"animationGroup":n[m]=e.getAnimationGroupByName(g)??null;break;case"sound":n[m]=ie(g,e);break;case"particleSystem":n[m]=e.particleSystems?.find(p=>p.id===g)??null;break}break;case"texture":g&&(n[m]=Ct.Texture.Parse(g,e,o));break;case"asset":if(g){let p=l.configuration.assetType,d=M.get(g);switch(p){case"json":case"gui":case"scene":case"navmesh":n[m]=d;break;case"nodeParticleSystemSet":let y=xt.NodeParticleSystemSet.Parse(d);n[m]=y;break;case"material":n[m]=It.Material.Parse(d,e,o);break}}}}});let s=null,f=null;if(a._PointerEvents?.length){if(a._PointerEvents.find(u=>u.options.mode==="attachedMeshOnly")&&!re(r))throw new Error('@onPointerEvent with mode "attachedMeshOnly" can only be used on scripts attached to meshes (extends AbstractMesh).');if(a._PointerEvents.find(u=>u.options.mode!=="global")&&!G(r))throw new Error('@onPointerEvent with mode different from "global" can be used only on scripts attached to Node: Mesh, Light, Camera, TransformNode.');s=e.onPointerObservable.add(u=>{let g=null;a._PointerEvents.forEach(S=>{if(!S.eventTypes.includes(u.type))return;let p=S.propertyKey.toString();if(S.options.mode==="global")return n[p]?.(u);g=u.pickInfo,g||(g=e.pick(e.pointerX,e.pointerY,y=>y.isVisible&&y.isPickable&&y.isEnabled(!0)&&!y._masterMesh,!1));let d=g.pickedMesh;if(d&&(S.options.mode==="attachedMeshOnly"&&d===r||S.options.mode==="includeDescendants"&&G(r)&&[r,...r.getDescendants(!1)].find(I=>I===d)))return n[p]?.(u)})})}if(a._KeyboardEvents?.length&&(f=e.onKeyboardObservable.add(l=>{a._KeyboardEvents.forEach(m=>{m.eventTypes.includes(l.type)&&n[m.propertyKey.toString()]?.(l)})})),a._SpritesFromSpriteManager?.length){let l=r;if(!oe(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.`);a._SpritesFromSpriteManager?.forEach(m=>{let u=l.spriteManager?.sprites.find(g=>g.name===m.spriteName)||null;n[m.propertyKey.toString()]=u})}if(a._AnimationsFromSprite?.length){if(!ye(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.`);a._AnimationsFromSprite.forEach(m=>{let u=l.find(g=>g.name===m.animationName);u?n[m.propertyKey.toString()]=u??null:console.warn(`Sprite animation named "${m.animationName}" not found on sprite "${r.name}".`)})}return{observers:{pointerObserver:s,keyboardObserver:f}}}i(Be,"applyDecorators");function D(e,r,t,n){r.metadata?.scripts&&(r.metadata.scripts?.forEach(o=>{if(!o.enabled)return;let a=t[o.key];if(!a)return;let s=a,f={};if(a.default){s=new a.default(r);let l=Be(e,r,o,s,n);Object.assign(f,l?.observers??{})}s.onStart&&(f.onStartObserver=e.onBeforeRenderObservable.addOnce(()=>s.onStart(r))),s.onUpdate&&(f.onUpdateObserver=e.onBeforeRenderObservable.add(()=>s.onUpdate(r))),Ke(r,s,o.key,f)}),r.metadata.scripts=void 0)}i(D,"_applyScriptsForObject");function Br(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 Be(t,e,{values:{}},n,""),n.onStart&&(o.onStartObserver=t.onBeforeRenderObservable.addOnce(()=>n.onStart())),n.onUpdate&&t.onBeforeRenderObservable.add(()=>n.onUpdate()),Ke(e,n,"runtime",o),n}i(Br,"applyScriptOnObject");var L=new Map;function Ke(e,r,t,n){let o={key:t,observers:n,instance:r};L.has(e)?L.get(e).push(o):L.set(e,[o]),(G(e)||de(e)||fe(e))&&e.onDisposeObservable.addOnce((()=>{L.get(e)?.slice()?.forEach(s=>{Et(e,s)}),L.delete(e)}))}i(Ke,"_registerScriptInstance");function Et(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=L.get(e),n=t?.indexOf(r)??-1;n!==-1&&t?.splice(n,1)}i(Et,"_removeRegisteredScriptInstance");function Tt(e,r){return L.get(e)?.filter(o=>o.instance.constructor===r)?.map(o=>o.instance)??null}i(Tt,"getAllScriptsByClassForObject");function Kr(e,r){return Tt(e,r)?.[0]??null}i(Kr,"getScriptByClassForObject");var Dt=require("babylonjs"),Ot=!1;function Mt(){Ot||(Ot=!0,(0,Dt.AddParser)("AudioEditorPlugin",(e,r,t,n)=>{e.sounds?.forEach(o=>{let a=t.sounds?.find(s=>s.name===o.name);a&&(a.id=o.id,a.uniqueId=o.uniqueId,r.onBeforeRenderObservable.addOnce(()=>{try{a.spatialSound=o.spatialSound}catch{}}))})}))}i(Mt,"registerAudioParser");function w(e){let r=1;for(;r<=e;)r<<=1;return r>>1}i(w,"getPowerOfTwoUntil");var ke=require("babylonjs"),wt=!1;function Nt(){if(wt)return;wt=!0;let e=ke.SerializationHelper._TextureParser;ke.SerializationHelper._TextureParser=(r,t,n)=>{if(t.loadingTexturesQuality==="high"||!r.metadata?.baseSize)return e(r,t,n);let o=r.metadata.baseSize.width,a=r.metadata.baseSize.height,s=o===w(o)||a===w(a),f="";switch(t.loadingTexturesQuality){case"medium":let d=o*.66>>0,y=a*.66>>0;s&&(d=w(d),y=w(y)),f=`_${d}_${y}`;break;case"low":case"very-low":let b=o*.33>>0,I=a*.33>>0;s&&(b=w(b),I=w(I)),f=`_${b}_${I}`;break}let l=r.name;if(!l||!f)return e(r,t,n);let m=l.split("/"),u=m.pop();if(!u)return e(r,t,n);let g=u.split(".").pop(),p=`${u.replace(`.${g}`,"")}${f}.${g}`;return m.push(p),r.name=m.join("/"),e(r,t,n)}}i(Nt,"registerTextureParser");var Ft=require("babylonjs"),le=require("babylonjs"),Rt=!1;function _t(){if(Rt)return;Rt=!0;let e=(0,le.GetParser)(Ft.SceneComponentConstants.NAME_SHADOWGENERATOR);(0,le.AddParser)("ShadowGeneratorEditorPlugin",(r,t,n,o)=>{t.loadingShadowsQuality!=="high"&&r.shadowGenerators?.forEach(a=>{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,w(a.mapSize))}),e?.(r,t,n,o)})}i(_t,"registerShadowGeneratorParser");var Vt=require("babylonjs"),Gt=require("babylonjs"),Lt=!1;function Bt(){Lt||(Lt=!0,(0,Gt.AddParser)("MorphTargetManagerEditorPlugin",(e,r,t,n)=>{e.morphTargetManagers.forEach(o=>{let s=t.meshes.find(m=>m.id===o.meshId)?.morphTargetManager;if(!s||o.targets.find(m=>!m.delayLoadingFile))return;let l=[];o.targets.forEach(m=>{if(!m.delayLoadingFile)return l.push(Promise.resolve(null));let u=`${n}${m.delayLoadingFile}`;r.addPendingData(u);let g=new Vt.WebRequest;g.responseType="arraybuffer",g.open("GET",u),g.send(),l.push(new Promise(S=>{g.addEventListener("load",()=>{r.removePendingData(u),S(g.response)})}))}),Promise.all(l).then(m=>{for(let u=0,g=s.numTargets;u<g;++u){let S=s.getTarget(u),p=o.targets[u],d=m[u];if(p.positionsCount){let y=new Float32Array(d,p.positionsOffset,p.positionsCount);S._positions=y,S.setPositions(y)}if(p.normalsCount){let y=new Float32Array(d,p.normalsOffset,p.normalsCount);S._normals=y,S.setNormals(y)}if(p.tangentsCount){let y=new Float32Array(d,p.tangentsOffset,p.tangentsCount);S._tangents=y,S.setTangents(y)}if(p.uvsCount){let y=new Float32Array(d,p.uvsOffset,p.uvsCount);S._uvs=y,S.setUVs(y)}if(p.uv2sCount){let y=new Float32Array(d,p.uv2sOffset,p.uv2sCount);S._uv2s=y,S.setUV2s(y)}}for(let u=0,g=s.numTargets;u<g;++u)s.getTarget(u)._onDataLayoutChanged.notifyObservers()})})}))}i(Bt,"registerMorphTargetManagerParser");function ze(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(ze,"normalizeAtlasJson");function kr(e,r,t){let o=(e.metadata?.spriteAnimations??[]).find(a=>a.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(kr,"playSpriteAnimationFromName");var kt=require("babylonjs"),zt=require("babylonjs"),$t=require("babylonjs"),Yt=require("babylonjs"),$e=require("babylonjs"),Y=require("babylonjs"),Wt=require("babylonjs"),Kt=!1;function Qt(){Kt||(Kt=!0,(0,Wt.AddParser)("SpriteMapNode",(e,r,t,n)=>{e.transformNodes?.forEach(o=>{if(!o.isSpriteMap)return;let a=t.transformNodes?.find(l=>l.id===o.id);if(!a)return;a.isSpriteMap=o.isSpriteMap;let s=`${n}${o.atlasJsonRelativePath}`;r.addPendingData(s);let f=new $t.WebRequest;f.open("GET",s),f.send(),f.addEventListener("load",()=>{r.removePendingData(s);let l=JSON.parse(f.responseText);ze(l);let m=`${kt.Tools.GetFolderPath(s)}${l.meta.image}`,u=new $e.Texture(m,r,!1,!1,$e.Texture.NEAREST_NEAREST,null,null,null,!1,zt.Engine.TEXTUREFORMAT_RGBA),g=new Yt.SpriteMap(a.name,l,u,{layerCount:o.options.layerCount,stageSize:Y.Vector2.FromArray(o.options.stageSize??[10,1]),outputSize:Y.Vector2.FromArray(o.options.outputSize??[100,100]),colorMultiply:Y.Vector3.FromArray(o.options.colorMultiply??[1,1,1]),flipU:!0},r);o.tiles.forEach(p=>{for(let d=0,y=p.repeatCount.x+1;d<y;++d)for(let b=0,I=p.repeatCount.y+1;b<I;++b){let T=d*(p.repeatOffset.x+1),x=b*(p.repeatOffset.y+1);g.changeTiles(p.layer,new Y.Vector2(p.position.x+T,(g.options.stageSize?.y??0)-1-p.position.y-x),p.tile)}});let S=g._output;S.parent=a,a.spriteMap=g})})}))}i(Qt,"registerSpriteMapParser");var Ut=require("babylonjs"),qt=require("babylonjs"),Jt=require("babylonjs"),Ye=require("babylonjs"),Zt=require("babylonjs");function Ht(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=qt.Sprite.Parse(t,e);n.uniqueId=t.uniqueId,n.metadata=t.metadata}}i(Ht,"parseSerializedSpriteManager");var jt=!1;function Xt(){jt||(jt=!0,(0,Zt.AddParser)("SpriteManagerNode",(e,r,t,n)=>{e.transformNodes?.forEach(o=>{if(!o.isSpriteManager)return;let a=t.transformNodes?.find(s=>s.id===o.id);if(a){if(a.isSpriteManager=o.isSpriteManager,o.atlasJsonRelativePath){let s=`${n}${o.atlasJsonRelativePath}`;r.addPendingData(s);let f=new Jt.WebRequest;f.open("GET",s),f.send(),f.addEventListener("load",()=>{r.removePendingData(s);let l=JSON.parse(f.responseText),m=`${Ut.Tools.GetFolderPath(s)}${l.meta.image}`,u=new Ye.SpriteManager(a.name,m,1e3,64,r,void 0,void 0,!0,l);a.spriteManager=u,o.spriteManager&&Ht(u,o.spriteManager)})}else if(o.spriteManager?.textureUrl){let s=`${n}${o.spriteManager.textureUrl}`,f=new Ye.SpriteManager(a.name,s,1e3,{width:o.spriteManager.cellWidth,height:o.spriteManager.cellHeight},r,void 0,void 0,!1);a.spriteManager=f,o.spriteManager&&Ht(f,o.spriteManager)}}})}))}i(Xt,"registerSpriteManagerParser");var tr=require("babylonjs"),rr=require("babylonjs"),er=!1;function or(){er||(er=!0,(0,tr.AddParser)("NodeParticleSystemSetEditorPlugin",(e,r,t,n)=>{e.meshes?.forEach(o=>{if(!o.isNodeParticleSystemMesh)return;let a=t.meshes?.find(s=>s.id===o.id);a&&(o.nodeParticleSystemSet.blocks?.forEach(s=>{s.url&&(s.url=`${n}${s.url}`)}),a.nodeParticleSystemSet=rr.NodeParticleSystemSet.Parse(o.nodeParticleSystemSet),a.nodeParticleSystemSet.id=o.nodeParticleSystemSet.id,a.nodeParticleSystemSet.uniqueId=o.uniqueId,r.addPendingData(o.id),a.nodeParticleSystemSet.buildAsync(r,!1).then(s=>{r.removePendingData(o.id),a.particleSystemSet=s,s.systems.forEach(f=>{if(ge(f)){let l=f._sizeCreation.process;l&&(f._sizeCreation.process=(m,u)=>{l(m,u),m.scale.x*=100,m.scale.y*=100})}}),s.emitterNode=a,s.start()}))})}))}i(or,"registerNodeParticleSystemSetParser");var nr=require("babylonjs"),We=require("babylonjs"),ir=require("babylonjs"),sr=require("babylonjs");async function zr(e,r,t,n,o){t.loadingQuality=o?.quality??"high",t.loadingTexturesQuality=o?.texturesQuality??t.loadingQuality,t.loadingShadowsQuality=o?.shadowsQuality??t.loadingQuality,Mt(),Nt(),_t(),Bt(),Qt(),Xt(),or(),await(0,ir.AppendSceneAsync)(`${e}${r}`,t,{pluginExtension:".babylon",onProgress:i(s=>{let f=Math.min(s.loaded/s.total*.5);o?.onProgress?.(f)},"onProgress")}),sr.SceneLoaderFlags.ForceFullSceneLoadingForIncremental&&t.meshes.forEach(s=>O(s)&&s._checkDelayState());let a=t.getWaitingItemsCount();for(;!t.isDisposed&&(!t.isReady()||t.getWaitingItemsCount()>0);){await new Promise(f=>setTimeout(f,150));let s=a-t.getWaitingItemsCount();s===a&&t.textures.forEach(f=>{f.delayLoadState===We.Constants.DELAYLOADSTATE_NONE&&(f.delayLoadState=We.Constants.DELAYLOADSTATE_LOADED)}),o?.onProgress?.(.5+s/a*.5)}o?.skipAssetsPreload||await Ge(e,t,n),o?.onProgress?.(1),Se(t),he(t),t.metadata?.rendering&&(St(t,t.metadata.rendering),t.activeCamera&&gt(t.activeCamera,e)),t.metadata?.physicsGravity&&t.getPhysicsEngine()?.setGravity(nr.Vector3.FromArray(t.metadata?.physicsGravity)),D(t,t,n,e),t.transformNodes.forEach(s=>{D(t,s,n,e)}),t.meshes.forEach(s=>{yt(s),D(t,s,n,e)}),t.lights.forEach(s=>{D(t,s,n,e)}),t.cameras.forEach(s=>{D(t,s,n,e)}),t.spriteManagers?.forEach(s=>{s.sprites.forEach(f=>{D(t,f,n,e)})})}i(zr,"loadScene");var ar=require("babylonjs");async function $r(e,r,t){let o=await(await fetch(e+r)).json(),s=ar.Tools.Instantiate(o.customType).Parse(o,t,e);return s.id=o.id,s.uniqueId=o.uniqueId,s}i($r,"loadMaterialFromFile");function Yr(e){return Promise.all(e.materials.map(async r=>{let t=r.getBindedMeshes();await Promise.all(t.map(async n=>{Q(n)||await r.forceCompilationAsync(n,{clipPlane:!!e.clipPlane,useInstances:n.hasInstances})}))}))}i(Yr,"forceCompileAllSceneMaterials");function Wr(e){e.setTextureFormatToUse(["-dxt.ktx","-astc.ktx","-pvrtc.ktx","-etc1.ktx","-etc2.ktx"])}i(Wr,"configureEngineToUseCompressedTextures");var F=require("babylonjs");function J(e){if(!isNaN(parseFloat(e))&&isFinite(e))return F.Animation.ANIMATIONTYPE_FLOAT;switch(e?.getClassName?.()){case"Vector2":return F.Animation.ANIMATIONTYPE_VECTOR2;case"Vector3":return F.Animation.ANIMATIONTYPE_VECTOR3;case"Quaternion":return F.Animation.ANIMATIONTYPE_QUATERNION;case"Color3":return F.Animation.ANIMATIONTYPE_COLOR3;case"Color4":return F.Animation.ANIMATIONTYPE_COLOR4;case"Size":return F.Animation.ANIMATIONTYPE_SIZE;case"Matrix":return F.Animation.ANIMATIONTYPE_MATRIX}return null}i(J,"getAnimationTypeForObject");var lr=require("babylonjs");function Qr(e){return function(r,t){let n=r.constructor;n._NodesFromScene??=[],n._NodesFromScene.push({propertyKey:t,nodeName:e})}}i(Qr,"nodeFromScene");function Hr(e,r=!1){return function(t,n){let o=t.constructor;o._NodesFromDescendants??=[],o._NodesFromDescendants.push({propertyKey:n,nodeName:e,directDescendantsOnly:r})}}i(Hr,"nodeFromDescendants");function jr(e){return function(r,t){let n=r.constructor;n._AnimationGroups??=[],n._AnimationGroups.push({animationGroupName:e,propertyKey:t})}}i(jr,"animationGroupFromScene");function Ur(e,r){return function(t,n){let o=t.constructor;o._GuiFromAsset??=[],o._GuiFromAsset.push({propertyKey:n,pathInAssets:e,onGuiCreated:r})}}i(Ur,"guiFromAsset");function qr(e){return function(r,t){let n=r.constructor;n._SoundsFromScene??=[],n._SoundsFromScene.push({propertyKey:t,soundName:e})}}i(qr,"soundFromScene");function Jr(e,r=!1){return function(t,n){let o=t.constructor;o._ParticleSystemsFromScene??=[],o._ParticleSystemsFromScene.push({propertyKey:n,particleSystemName:e,directDescendantsOnly:r})}}i(Jr,"particleSystemFromScene");function Zr(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"boolean"}})}}i(Zr,"visibleAsBoolean");function Xr(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"string"}})}}i(Xr,"visibleAsString");function eo(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"number"}})}}i(eo,"visibleAsNumber");function to(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"vector2"}})}}i(to,"visibleAsVector2");function ro(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"vector3"}})}}i(ro,"visibleAsVector3");function oo(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"color3"}})}}i(oo,"visibleAsColor3");function no(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"color4"}})}}i(no,"visibleAsColor4");function io(e,r,t){return function(n,o){let a=n.constructor;a._VisibleInInspector??=[],a._VisibleInInspector.push({label:r,propertyKey:o,configuration:{...t,entityType:e,type:"entity"}})}}i(io,"visibleAsEntity");function so(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"texture"}})}}i(so,"visibleAsTexture");function ao(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"keymap"}})}}i(ao,"visibleAsKeyMap");function lo(e,r,t){return function(n,o){let a=n.constructor;a._VisibleInInspector??=[],a._VisibleInInspector.push({label:r,propertyKey:o,configuration:{...t,assetType:e,type:"asset"}})}}i(lo,"visibleAsAsset");function co(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(co,"onPointerEvent");function mo(e){return function(r,t){let n=r.constructor;n._KeyboardEvents??=[],n._KeyboardEvents.push({propertyKey:t,eventTypes:Array.isArray(e)?e:[e]})}}i(mo,"onKeyboardEvent");function po(e){return function(r,t){let n=r.constructor;n._SpritesFromSpriteManager??=[],n._SpritesFromSpriteManager.push({propertyKey:t,spriteName:e})}}i(po,"spriteFromSpriteManager");function uo(e){return function(r,t){let n=r.constructor;n._AnimationsFromSprite??=[],n._AnimationsFromSprite.push({propertyKey:t,animationName:e})}}i(uo,"animationFromSprite");var ce=require("babylonjs");function Gc(e,r){let t;return e===ce.Animation.ANIMATIONTYPE_FLOAT?t=r.value:t=r.value.clone(),{value:t,frame:r.frame,interpolation:r.interpolation,inTangent:e===ce.Animation.ANIMATIONTYPE_FLOAT?r.inTangent:r.inTangent?.clone(),outTangent:e===ce.Animation.ANIMATIONTYPE_FLOAT?r.outTangent:r.outTangent?.clone()}}i(Gc,"cloneKey");function me(e,r){let t=r.split("."),n=e;for(let o=0;o<t.length;++o)n=n[t[o]];return n}i(me,"getPropertyValue");function Qe(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(Qe,"registerAfterAnimationCallback");var _=require("babylonjs"),pe=require("babylonjs"),R=require("babylonjs");function fo(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=r.getNodeById(t.node),n||(n=r.particleSystems?.find(s=>s.id===t.node)??null)):t.defaultRenderingPipeline&&(n=H()),t.propertyPath){let s=me(n,t.propertyPath);o=J(s)}let a=null;return t.sound&&(a=ie(t.sound,r)),{node:n,sound:a,propertyPath:t.propertyPath,defaultRenderingPipeline:t.defaultRenderingPipeline,animationGroup:t.animationGroup?r.getAnimationGroupByName(t.animationGroup):null,animationGroups:t.animationGroups,sounds:t.sounds,soundVolume:He(t.soundVolume??[],_.Animation.ANIMATIONTYPE_FLOAT),keyFrameEvents:t.keyFrameEvents?.map(s=>{let f={...s};switch(s.data?.type){case"set-enabled":f.data={type:"set-enabled",value:s.data.value,node:r.getNodeById(s.data.node)};break;case"apply-impulse":f.data={type:"apply-impulse",radius:s.data.radius,mesh:r.getMeshById(s.data.mesh),force:R.Vector3.FromArray(s.data.force),contactPoint:R.Vector3.FromArray(s.data.contactPoint)};break}return f}),keyFrameAnimations:n&&o!==null&&He(t.keyFrameAnimations??[],o)}})}}i(fo,"parseCinematic");function N(e,r){if(e===null)return null;if(e!==void 0)switch(r){case _.Animation.ANIMATIONTYPE_FLOAT:return e;case _.Animation.ANIMATIONTYPE_VECTOR2:return R.Vector2.FromArray(e);case _.Animation.ANIMATIONTYPE_VECTOR3:return R.Vector3.FromArray(e);case _.Animation.ANIMATIONTYPE_QUATERNION:return R.Quaternion.FromArray(e);case _.Animation.ANIMATIONTYPE_COLOR3:return pe.Color3.FromArray(e);case _.Animation.ANIMATIONTYPE_COLOR4:return pe.Color4.FromArray(e);case _.Animation.ANIMATIONTYPE_MATRIX:return R.Matrix.FromArray(e)}}i(N,"parseCinematicKeyValue");function He(e,r){return e?.map(t=>{let n=t.type==="key"?t:null;if(n)return{...n,value:N(n.value,r),inTangent:N(n.inTangent,r),outTangent:N(n.outTangent,r)};let o=t.type==="cut"?t:null;if(o)return{...o,key1:{...o.key1,value:N(o.key1.value,r),inTangent:N(o.key1.inTangent,r),outTangent:N(o.key1.outTangent,r)},key2:{...o.key2,value:N(o.key2.value,r),inTangent:N(o.key2.inTangent,r),outTangent:N(o.key2.outTangent,r)}};throw new Error(`Unknown key frame type: ${t.type}`)})}i(He,"parseKeyFrameAnimations");function cr(e,r){e.onEventObservable.notifyObservers(r.eventName)}i(cr,"handleApplyEvent");function mr(e){e.node?.setEnabled(e.value)}i(mr,"handleSetEnabledEvent");var je=require("babylonjs"),pr=je.Vector3.Zero();function ur(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 je.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(pr),n.physicsAggregate.body.setAngularVelocity(pr),n.physicsAggregate.body.applyImpulse(o.negateInPlace(),r.contactPoint)}})}i(ur,"handleApplyImpulseEvent");var fr=require("babylonjs"),gr=require("babylonjs"),Z=class extends gr.AnimationGroup{static{i(this,"Cinematic")}onEventObservable=new fr.Observable;onEvent(r,t){this.onEventObservable.add(n=>{r===n&&t()})}};function Ue(e){return e.type==="key"}i(Ue,"isCinematicKey");function X(e){return e.type==="cut"}i(X,"isCinematicKeyCut");function go(e){return e.type==="event"}i(go,"isCinematicKeyEvent");function yo(e){return e.type==="group"}i(yo,"isCinematicGroup");function So(e){return e.type==="sound"}i(So,"isCinematicSound");var A=require("babylonjs"),W=require("babylonjs");function ho(e,r,t){let n=new Z(e.name,r);return e.tracks.forEach(o=>{let a=o.animationGroup;if(a&&o.animationGroups?.length){let p=a.clone(`${a.name}-cinematic-temp`),d=r.animationGroups.indexOf(p);d!==-1&&r.animationGroups.splice(d,1),n.onAnimationEndObservable.add(()=>{a.stop(),p.stop()});let y=o.animationGroups.reduce((x,E)=>Math.min(x,E.frame),Number.MAX_VALUE)??0,b=o.animationGroups.reduce((x,E)=>Math.max(x,E.frame+E.endFrame),0)??0,I={frame:y},T=new A.Animation(p.name,"frame",60,A.Animation.ANIMATIONTYPE_FLOAT,A.Animation.ANIMATIONLOOPMODE_CYCLE,!1);if(T.setKeys([{frame:y,value:0},{frame:b,value:b}]),o.animationGroups.forEach(x=>{T.addEvent(new W.AnimationEvent(x.frame,()=>{let E=x.repeatCount??0;if(p.to=x.endFrame,p.speedRatio=x.speed,p.stop(),p.play(E>0),p.goToFrame(x.startFrame),E){let V=0;p.onAnimationGroupLoopObservable.add(()=>{++V,V>E&&p.stop()})}}))}),n.addTargetedAnimation(T,I),(o.animationGroupWeight?.length??0)>=2){let x={weight:0},E=new A.Animation(`${p.name}-weights`,"weight",60,A.Animation.ANIMATIONTYPE_FLOAT,A.Animation.ANIMATIONLOOPMODE_CYCLE,!1),V=[];o.animationGroupWeight.forEach(ee=>{X(ee)?(V.push(ee.key1),V.push(ee.key2)):V.push(ee)}),E.setKeys(V),n.addTargetedAnimation(E,x),Qe(n,r,()=>{p.weight=x.weight})}}let s=o.sound,f=s?.getAudioBuffer();if(!t?.ignoreSounds&&s&&f&&o.sounds?.length){let p={dummy:0,volume:0},d=new A.Animation(s.name,"dummy",60,A.Animation.ANIMATIONTYPE_FLOAT,A.Animation.ANIMATIONLOOPMODE_CYCLE,!1),y=0;if(o.sounds?.forEach(b=>{let I=b.endFrame-b.startFrame;y=Math.max(y,b.frame+I),d.addEvent(new W.AnimationEvent(b.frame,T=>{let E=(T-b.frame+b.startFrame)/e.framesPerSecond;s.play(0,E)},!1)),d.addEvent(new W.AnimationEvent(b.frame+I,()=>{s.stop()}))}),d.setKeys([{frame:0,value:0},{frame:y,value:y}]),n.addTargetedAnimation(d,p),(o.soundVolume?.length??0)>=2){let b=new A.Animation(s.name,"volume",60,A.Animation.ANIMATIONTYPE_FLOAT,A.Animation.ANIMATIONLOOPMODE_CYCLE,!1),I=[];o.soundVolume.forEach(T=>{X(T)?(I.push(T.key1),I.push(T.key2)):I.push(T)}),b.setKeys(I),n.addTargetedAnimation(b,p),Qe(n,r,()=>{s.setVolume(p.volume)})}}if(o.keyFrameEvents){let p={dummy:0},d=new A.Animation("events","dummy",60,A.Animation.ANIMATIONTYPE_FLOAT,A.Animation.ANIMATIONLOOPMODE_CYCLE,!1),y=0;o.keyFrameEvents?.forEach(b=>{y=Math.max(y,b.frame),d.addEvent(new W.AnimationEvent(b.frame,()=>{switch(b.data?.type){case"event":cr(n,b.data);break;case"set-enabled":mr(b.data);break;case"apply-impulse":ur(r,b.data);break}}))}),d.setKeys([{frame:0,value:0},{frame:y+1,value:y+1}]),n.addTargetedAnimation(d,p)}let l=o.defaultRenderingPipeline?H():o.node;if(!l||!o.propertyPath||!o.keyFrameAnimations)return;let m=me(l,o.propertyPath),u=J(m);if(u===null)return;let g=new A.Animation(o.propertyPath,o.propertyPath,60,u,A.Animation.ANIMATIONLOOPMODE_CYCLE,!1),S=[];o.keyFrameAnimations?.forEach(p=>{if(Ue(p))return S.push(p);X(p)&&(S.push(p.key1),S.push(p.key2),ne(l)&&o.propertyPath==="position"&&g.addEvent(new W.AnimationEvent(p.key1.frame,()=>{let d=Oe();if(!d)return;let y=d.motionStrength;d.motionStrength=0,requestAnimationFrame(()=>{d.motionStrength=y})})))}),g.setKeys(S),n.addTargetedAnimation(g,l)}),n.normalize(),n}i(ho,"generateCinematicAnimationGroup");0&&(module.exports={AdvancedAssetContainer,Cinematic,NodeParticleSystemSet,_applyScriptsForObject,_preloadScriptsAssets,_registerScriptInstance,_removeRegisteredScriptInstance,animationFromSprite,animationGroupFromScene,applyScriptOnObject,configureEngineToUseCompressedTextures,configureShadowMapRefreshRate,configureShadowMapRenderListPredicate,createDefaultRenderingPipeline,createMotionBlurPostProcess,createSSAO2RenderingPipeline,createSSRRenderingPipeline,createVLSPostProcess,defaultPipelineCameraConfigurations,disposeDefaultRenderingPipeline,disposeMotionBlurPostProcess,disposeSSAO2RenderingPipeline,disposeSSRRenderingPipeline,disposeVLSPostProcess,forceCompileAllSceneMaterials,generateCinematicAnimationGroup,getAllScriptsByClassForObject,getAnimationTypeForObject,getDefaultRenderingPipeline,getMotionBlurPostProcess,getPowerOfTwoUntil,getSSAO2RenderingPipeline,getSSRRenderingPipeline,getScriptByClassForObject,getVLSPostProcess,guiFromAsset,isAbstractMesh,isAnyParticleSystem,isArcRotateCamera,isBone,isCamera,isCinematicGroup,isCinematicKey,isCinematicKeyCut,isCinematicKeyEvent,isCinematicSound,isDirectionalLight,isFreeCamera,isGPUParticleSystem,isGroundMesh,isHemisphericLight,isInstancedMesh,isLight,isMesh,isNode,isParticleSystem,isPointLight,isScene,isSpotLight,isSprite,isTexture,isTransformNode,loadMaterialFromFile,loadScene,motionBlurPostProcessCameraConfigurations,nodeFromDescendants,nodeFromScene,normalizeAtlasJson,onKeyboardEvent,onPointerEvent,parseCinematic,parseCinematicKeyValue,parseDefaultRenderingPipeline,parseKeyFrameAnimations,parseMotionBlurPostProcess,parseSSAO2RenderingPipeline,parseSSRRenderingPipeline,parseVLSPostProcess,particleSystemFromScene,playSpriteAnimationFromName,registerScriptAssetParser,scriptAssetsCache,scriptAssetsParsers,scriptsDictionary,serializeDefaultRenderingPipeline,serializeMotionBlurPostProcess,serializeSSAO2RenderingPipeline,serializeSSRRenderingPipeline,serializeVLSPostProcess,setDefaultRenderingPipelineRef,setMotionBlurPostProcessRef,setSSAO2RenderingPipelineRef,setSSRRenderingPipelineRef,setVLSPostProcessRef,soundFromScene,spriteFromSpriteManager,ssaoRenderingPipelineCameraConfigurations,ssrRenderingPipelineCameraConfigurations,visibleAsAsset,visibleAsBoolean,visibleAsColor3,visibleAsColor4,visibleAsEntity,visibleAsKeyMap,visibleAsNumber,visibleAsString,visibleAsTexture,visibleAsVector2,visibleAsVector3,vlsPostProcessCameraConfigurations});
@@ -9,6 +9,7 @@ export * from "./tools/light";
9
9
  export * from "./tools/scalar";
10
10
  export * from "./tools/animation";
11
11
  export * from "./tools/sprite";
12
+ export * from "./tools/particle";
12
13
  export * from "./rendering/ssao";
13
14
  export * from "./rendering/ssr";
14
15
  export * from "./rendering/motion-blur";
@@ -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,qBAAqB,CAAC;AAEpC,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;AAE/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAEhC,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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AAEpC,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,kBAAkB,CAAC;AAEjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAEhC,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"}
@@ -12,8 +12,10 @@ import { _preloadScriptsAssets } from "./script/preload";
12
12
  import { registerAudioParser } from "./sound";
13
13
  import { registerTextureParser } from "./texture";
14
14
  import { registerShadowGeneratorParser } from "./shadows";
15
+ import { registerMorphTargetManagerParser } from "./morph-target-manager";
15
16
  import { registerSpriteMapParser } from "./sprite-map";
16
17
  import { registerSpriteManagerParser } from "./sprite-manager";
18
+ import { registerNodeParticleSystemSetParser } from "./node-particle-system-set";
17
19
  export async function loadScene(rootUrl, sceneFilename, scene, scriptsMap, options) {
18
20
  scene.loadingQuality = options?.quality ?? "high";
19
21
  scene.loadingTexturesQuality = options?.texturesQuality ?? scene.loadingQuality;
@@ -21,8 +23,10 @@ export async function loadScene(rootUrl, sceneFilename, scene, scriptsMap, optio
21
23
  registerAudioParser();
22
24
  registerTextureParser();
23
25
  registerShadowGeneratorParser();
26
+ registerMorphTargetManagerParser();
24
27
  registerSpriteMapParser();
25
28
  registerSpriteManagerParser();
29
+ registerNodeParticleSystemSetParser();
26
30
  await AppendSceneAsync(`${rootUrl}${sceneFilename}`, scene, {
27
31
  pluginExtension: ".babylon",
28
32
  onProgress: (event) => {
@@ -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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"}
@@ -0,0 +1,79 @@
1
+ import { WebRequest } from "@babylonjs/core/Misc/webRequest";
2
+ import { AddParser } from "@babylonjs/core/Loading/Plugins/babylonFileParser.function";
3
+ let registered = false;
4
+ export function registerMorphTargetManagerParser() {
5
+ if (registered) {
6
+ return;
7
+ }
8
+ registered = true;
9
+ AddParser("MorphTargetManagerEditorPlugin", (parsedData, scene, container, rootUrl) => {
10
+ parsedData.morphTargetManagers.forEach((morphTargetManagerData) => {
11
+ const meshInstance = container.meshes.find((mesh) => {
12
+ return mesh.id === morphTargetManagerData.meshId;
13
+ });
14
+ const morphTargetManager = meshInstance?.morphTargetManager;
15
+ if (!morphTargetManager) {
16
+ return;
17
+ }
18
+ const shouldExit = morphTargetManagerData.targets.find((target) => !target.delayLoadingFile);
19
+ if (shouldExit) {
20
+ return;
21
+ }
22
+ const promises = [];
23
+ morphTargetManagerData.targets.forEach((target) => {
24
+ if (!target.delayLoadingFile) {
25
+ return promises.push(Promise.resolve(null));
26
+ }
27
+ const absolutePath = `${rootUrl}${target.delayLoadingFile}`;
28
+ scene.addPendingData(absolutePath);
29
+ const request = new WebRequest();
30
+ request.responseType = "arraybuffer";
31
+ request.open("GET", absolutePath);
32
+ request.send();
33
+ promises.push(new Promise((resolve) => {
34
+ request.addEventListener("load", () => {
35
+ scene.removePendingData(absolutePath);
36
+ resolve(request.response);
37
+ });
38
+ }));
39
+ });
40
+ Promise.all(promises).then((allBuffers) => {
41
+ for (let i = 0, len = morphTargetManager.numTargets; i < len; ++i) {
42
+ const instancedTarget = morphTargetManager.getTarget(i);
43
+ const sourceTargetData = morphTargetManagerData.targets[i];
44
+ const buffer = allBuffers[i];
45
+ if (sourceTargetData.positionsCount) {
46
+ const positions = new Float32Array(buffer, sourceTargetData.positionsOffset, sourceTargetData.positionsCount);
47
+ instancedTarget["_positions"] = positions;
48
+ instancedTarget.setPositions(positions);
49
+ }
50
+ if (sourceTargetData.normalsCount) {
51
+ const normals = new Float32Array(buffer, sourceTargetData.normalsOffset, sourceTargetData.normalsCount);
52
+ instancedTarget["_normals"] = normals;
53
+ instancedTarget.setNormals(normals);
54
+ }
55
+ if (sourceTargetData.tangentsCount) {
56
+ const tangents = new Float32Array(buffer, sourceTargetData.tangentsOffset, sourceTargetData.tangentsCount);
57
+ instancedTarget["_tangents"] = tangents;
58
+ instancedTarget.setTangents(tangents);
59
+ }
60
+ if (sourceTargetData.uvsCount) {
61
+ const uvs = new Float32Array(buffer, sourceTargetData.uvsOffset, sourceTargetData.uvsCount);
62
+ instancedTarget["_uvs"] = uvs;
63
+ instancedTarget.setUVs(uvs);
64
+ }
65
+ if (sourceTargetData.uv2sCount) {
66
+ const uv2s = new Float32Array(buffer, sourceTargetData.uv2sOffset, sourceTargetData.uv2sCount);
67
+ instancedTarget["_uv2s"] = uv2s;
68
+ instancedTarget.setUV2s(uv2s);
69
+ }
70
+ }
71
+ for (let i = 0, len = morphTargetManager.numTargets; i < len; ++i) {
72
+ const instancedTarget = morphTargetManager.getTarget(i);
73
+ instancedTarget._onDataLayoutChanged.notifyObservers();
74
+ }
75
+ });
76
+ });
77
+ });
78
+ }
79
+ //# sourceMappingURL=morph-target-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"morph-target-manager.js","sourceRoot":"","sources":["../../../src/loading/morph-target-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { AddParser } from "@babylonjs/core/Loading/Plugins/babylonFileParser.function";
2
+ import { NodeParticleSystemSet } from "@babylonjs/core/Particles/Node/nodeParticleSystemSet";
3
+ import { isParticleSystem } from "../tools/guards";
4
+ let registered = false;
5
+ export function registerNodeParticleSystemSetParser() {
6
+ if (registered) {
7
+ return;
8
+ }
9
+ registered = true;
10
+ AddParser("NodeParticleSystemSetEditorPlugin", (parsedData, scene, container, rootUrl) => {
11
+ parsedData.meshes?.forEach((mesh) => {
12
+ if (!mesh.isNodeParticleSystemMesh) {
13
+ return;
14
+ }
15
+ const instance = container.meshes?.find((m) => m.id === mesh.id);
16
+ if (!instance) {
17
+ return;
18
+ }
19
+ mesh.nodeParticleSystemSet.blocks?.forEach((block) => {
20
+ if (block.url) {
21
+ block.url = `${rootUrl}${block.url}`;
22
+ }
23
+ });
24
+ instance.nodeParticleSystemSet = NodeParticleSystemSet.Parse(mesh.nodeParticleSystemSet);
25
+ instance.nodeParticleSystemSet.id = mesh.nodeParticleSystemSet.id;
26
+ instance.nodeParticleSystemSet.uniqueId = mesh.uniqueId;
27
+ scene.addPendingData(mesh.id);
28
+ instance.nodeParticleSystemSet.buildAsync(scene, false).then((particleSystemSet) => {
29
+ scene.removePendingData(mesh.id);
30
+ instance.particleSystemSet = particleSystemSet;
31
+ particleSystemSet.systems.forEach((particleSystem) => {
32
+ if (isParticleSystem(particleSystem)) {
33
+ const sizeCreationProcess = particleSystem._sizeCreation.process;
34
+ if (sizeCreationProcess) {
35
+ particleSystem._sizeCreation.process = (particle, system) => {
36
+ sizeCreationProcess(particle, system);
37
+ particle.scale.x *= 100;
38
+ particle.scale.y *= 100;
39
+ };
40
+ }
41
+ }
42
+ });
43
+ particleSystemSet.emitterNode = instance;
44
+ particleSystemSet.start();
45
+ });
46
+ });
47
+ });
48
+ }
49
+ //# sourceMappingURL=node-particle-system-set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-particle-system-set.js","sourceRoot":"","sources":["../../../src/loading/node-particle-system-set.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,4DAA4D,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAE7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB,MAAM,UAAU,mCAAmC;IAClD,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO;IACR,CAAC;IAED,UAAU,GAAG,IAAI,CAAC;IAElB,SAAS,CAAC,mCAAmC,EAAE,CAAC,UAAe,EAAE,KAAY,EAAE,SAAyB,EAAE,OAAe,EAAE,EAAE;QAC5H,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;YACxC,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBACpC,OAAO;YACR,CAAC;YAED,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAA2B,CAAC;YAC3F,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,OAAO;YACR,CAAC;YAED,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAU,EAAE,EAAE;gBACzD,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;oBACf,KAAK,CAAC,GAAG,GAAG,GAAG,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;gBACtC,CAAC;YACF,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,qBAAqB,GAAG,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACzF,QAAQ,CAAC,qBAAqB,CAAC,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAClE,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAExD,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9B,QAAQ,CAAC,qBAAqB,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,EAAE;gBAClF,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjC,QAAQ,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;gBAE/C,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;oBACpD,IAAI,gBAAgB,CAAC,cAAc,CAAC,EAAE,CAAC;wBACtC,MAAM,mBAAmB,GAAG,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC;wBACjE,IAAI,mBAAmB,EAAE,CAAC;4BACzB,cAAc,CAAC,aAAa,CAAC,OAAO,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;gCAC3D,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gCACtC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC;gCACxB,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC;4BACzB,CAAC,CAAC;wBACH,CAAC;oBACF,CAAC;gBACF,CAAC,CAAC,CAAC;gBAEH,iBAAiB,CAAC,WAAW,GAAG,QAAQ,CAAC;gBACzC,iBAAiB,CAAC,KAAK,EAAE,CAAC;YAC3B,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC"}
@@ -1,19 +1,27 @@
1
- import { SceneComponentConstants } from "@babylonjs/core/sceneComponent";
2
- import { GetParser, AddParser } from "@babylonjs/core/Loading/Plugins/babylonFileParser.function";
1
+ import { AddParser } from "@babylonjs/core/Loading/Plugins/babylonFileParser.function";
3
2
  let registered = false;
4
3
  export function registerAudioParser() {
5
4
  if (registered) {
6
5
  return;
7
6
  }
8
7
  registered = true;
9
- const audioParser = GetParser(SceneComponentConstants.NAME_AUDIO);
10
- AddParser("AudioEditorPlugin", (parsedData, scene, container, rootUrl) => {
11
- audioParser?.(parsedData, scene, container, rootUrl);
8
+ // const audioParser = GetParser(SceneComponentConstants.NAME_AUDIO);
9
+ AddParser("AudioEditorPlugin", (parsedData, scene, container, _rootUrl) => {
10
+ // audioParser?.(parsedData, scene, container, rootUrl);
12
11
  parsedData.sounds?.forEach((sound) => {
13
12
  const instance = container.sounds?.find((s) => s.name === sound.name);
14
13
  if (instance) {
15
14
  instance.id = sound.id;
16
15
  instance.uniqueId = sound.uniqueId;
16
+ scene.onBeforeRenderObservable.addOnce(() => {
17
+ // Backward compatibility, check if "spatialSound" is not getter only
18
+ try {
19
+ instance.spatialSound = sound.spatialSound;
20
+ }
21
+ catch (e) {
22
+ // Catch silently.
23
+ }
24
+ });
17
25
  }
18
26
  });
19
27
  });
@@ -1 +1 @@
1
- {"version":3,"file":"sound.js","sourceRoot":"","sources":["../../../src/loading/sound.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,4DAA4D,CAAC;AAElG,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB,MAAM,UAAU,mBAAmB;IAClC,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO;IACR,CAAC;IAED,UAAU,GAAG,IAAI,CAAC;IAElB,MAAM,WAAW,GAAG,SAAS,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAElE,SAAS,CAAC,mBAAmB,EAAE,CAAC,UAAe,EAAE,KAAY,EAAE,SAAyB,EAAE,OAAe,EAAE,EAAE;QAC5G,WAAW,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAErD,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACpC,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;YACtE,IAAI,QAAQ,EAAE,CAAC;gBACd,QAAQ,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;gBACvB,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YACpC,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"sound.js","sourceRoot":"","sources":["../../../src/loading/sound.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,4DAA4D,CAAC;AAEvF,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB,MAAM,UAAU,mBAAmB;IAClC,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO;IACR,CAAC;IAED,UAAU,GAAG,IAAI,CAAC;IAElB,qEAAqE;IAErE,SAAS,CAAC,mBAAmB,EAAE,CAAC,UAAe,EAAE,KAAY,EAAE,SAAyB,EAAE,QAAgB,EAAE,EAAE;QAC7G,wDAAwD;QAExD,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACpC,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;YACtE,IAAI,QAAQ,EAAE,CAAC;gBACd,QAAQ,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;gBACvB,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;gBAEnC,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC,GAAG,EAAE;oBAC3C,qEAAqE;oBACrE,IAAI,CAAC;wBACJ,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;oBAC5C,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACZ,kBAAkB;oBACnB,CAAC;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC"}
@@ -47,12 +47,12 @@ export function registerSpriteManagerParser() {
47
47
  if (transformNode.atlasJsonRelativePath) {
48
48
  const atlasJsonAbsolutePath = `${rootUrl}${transformNode.atlasJsonRelativePath}`;
49
49
  scene.addPendingData(atlasJsonAbsolutePath);
50
- const atlasRequest = new WebRequest();
51
- atlasRequest.open("GET", atlasJsonAbsolutePath);
52
- atlasRequest.send();
53
- atlasRequest.addEventListener("load", () => {
50
+ const request = new WebRequest();
51
+ request.open("GET", atlasJsonAbsolutePath);
52
+ request.send();
53
+ request.addEventListener("load", () => {
54
54
  scene.removePendingData(atlasJsonAbsolutePath);
55
- const atlasJson = JSON.parse(atlasRequest.responseText);
55
+ const atlasJson = JSON.parse(request.responseText);
56
56
  const imagePath = `${Tools.GetFolderPath(atlasJsonAbsolutePath)}${atlasJson.meta.image}`;
57
57
  const spriteManager = new SpriteManager(instance.name, imagePath, 1000, 64, scene, undefined, undefined, true, atlasJson);
58
58
  instance.spriteManager = spriteManager;
@@ -1 +1 @@
1
- {"version":3,"file":"sprite-manager.js","sourceRoot":"","sources":["../../../src/loading/sprite-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sprite-manager.js","sourceRoot":"","sources":["../../../src/loading/sprite-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { NodeParticleSystemSet } from "@babylonjs/core/Particles/Node/nodeParticleSystemSet";
2
+ //# sourceMappingURL=particle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"particle.js","sourceRoot":"","sources":["../../../src/tools/particle.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC"}
@@ -9,6 +9,7 @@ export * from "./tools/light";
9
9
  export * from "./tools/scalar";
10
10
  export * from "./tools/animation";
11
11
  export * from "./tools/sprite";
12
+ export * from "./tools/particle";
12
13
  export * from "./rendering/ssao";
13
14
  export * from "./rendering/ssr";
14
15
  export * from "./rendering/motion-blur";
@@ -0,0 +1 @@
1
+ export declare function registerMorphTargetManagerParser(): void;
@@ -0,0 +1 @@
1
+ export declare function registerNodeParticleSystemSetParser(): void;
@@ -0,0 +1,18 @@
1
+ import { Mesh } from "@babylonjs/core/Meshes/mesh";
2
+ import { ParticleSystemSet } from "@babylonjs/core/Particles/particleSystemSet";
3
+ import { NodeParticleSystemSet } from "@babylonjs/core/Particles/Node/nodeParticleSystemSet";
4
+ export { NodeParticleSystemSet } from "@babylonjs/core/Particles/Node/nodeParticleSystemSet";
5
+ declare module "@babylonjs/core/Particles/Node/nodeParticleSystemSet" {
6
+ interface NodeParticleSystemSet {
7
+ id?: string;
8
+ uniqueId?: number;
9
+ }
10
+ }
11
+ /**
12
+ * This interface is used to define extra properties on TransformNode. For example for SpriteManager support.
13
+ */
14
+ export interface NodeParticleSystemMesh extends Mesh {
15
+ isNodeParticleSystemMesh?: boolean;
16
+ particleSystemSet?: ParticleSystemSet | null;
17
+ nodeParticleSystemSet?: NodeParticleSystemSet | null;
18
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "babylonjs-editor-tools",
3
- "version": "5.2.5",
3
+ "version": "5.3.0",
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": {
@@ -28,10 +28,10 @@
28
28
  "@babylonjs/addons": "8.41.0",
29
29
  "@babylonjs/core": "8.41.0",
30
30
  "@babylonjs/gui": "8.41.0",
31
- "@vitest/coverage-v8": "4.0.13",
31
+ "@vitest/coverage-v8": "4.0.17",
32
32
  "esbuild": "0.27.2",
33
33
  "typescript": "5.9.3",
34
- "vitest": "4.0.13"
34
+ "vitest": "4.0.17"
35
35
  },
36
36
  "dependencies": {}
37
37
  }