babylonjs-editor-tools 5.4.0 → 5.4.1-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/index.node.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var le=Object.defineProperty;var Or=Object.getOwnPropertyDescriptor;var Dr=Object.getOwnPropertyNames;var Mr=Object.prototype.hasOwnProperty;var i=(e,r)=>le(e,"name",{value:r,configurable:!0});var Rr=(e,r)=>{for(var t in r)le(e,t,{get:r[t],enumerable:!0})},wr=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Dr(r))!Mr.call(e,n)&&n!==t&&le(e,n,{get:()=>r[n],enumerable:!(o=Or(r,n))||o.enumerable});return e};var Nr=e=>wr(le({},"__esModule",{value:!0}),e);var Fn={};Rr(Fn,{AdvancedAssetContainer:()=>re,Cinematic:()=>ie,NodeParticleSystemSet:()=>Ar.NodeParticleSystemSet,_applyScriptsForObject:()=>R,_preloadScriptsAssets:()=>He,_registerScriptInstance:()=>Qe,_removeRegisteredScriptInstance:()=>pe,animationFromSprite:()=>On,animationGroupFromScene:()=>cn,applyScriptOnObject:()=>Xr,configureEngineToUseCompressedTextures:()=>sn,configureShadowMapRefreshRate:()=>xe,configureShadowMapRenderListPredicate:()=>Ce,copyAndParseRagdollConfiguration:()=>$e,createDefaultRenderingPipeline:()=>vt,createMotionBlurPostProcess:()=>Pt,createSSAO2RenderingPipeline:()=>ht,createSSRRenderingPipeline:()=>ut,createVLSPostProcess:()=>mt,defaultPipelineCameraConfigurations:()=>H,disposeDefaultRenderingPipeline:()=>Be,disposeMotionBlurPostProcess:()=>_e,disposeSSAO2RenderingPipeline:()=>Re,disposeSSRRenderingPipeline:()=>Oe,disposeVLSPostProcess:()=>ve,forceCompileAllSceneMaterials:()=>on,generateCinematicAnimationGroup:()=>Nn,getAllScriptsByClassForObject:()=>Kt,getAnimationTypeForObject:()=>oe,getDefaultRenderingPipeline:()=>ee,getMotionBlurPostProcess:()=>Fe,getPowerOfTwoUntil:()=>N,getSSAO2RenderingPipeline:()=>Qr,getSSRRenderingPipeline:()=>Wr,getScriptByClassForObject:()=>en,getVLSPostProcess:()=>$r,guiFromAsset:()=>pn,isAbstractMesh:()=>G,isAnyParticleSystem:()=>Ae,isArcRotateCamera:()=>Vr,isBone:()=>Fr,isCamera:()=>ce,isCinematicGroup:()=>Rn,isCinematicKey:()=>nt,isCinematicKeyCut:()=>U,isCinematicKeyEvent:()=>Mn,isCinematicSound:()=>wn,isDirectionalLight:()=>Br,isFreeCamera:()=>Lr,isGPUParticleSystem:()=>zr,isGroundMesh:()=>_r,isHemisphericLight:()=>kr,isInstancedMesh:()=>Z,isLight:()=>ot,isMesh:()=>M,isNode:()=>k,isParticleSystem:()=>Pe,isPointLight:()=>Gr,isScene:()=>be,isSpotLight:()=>Kr,isSprite:()=>Ie,isTexture:()=>he,isTransformNode:()=>K,loadMaterialFromFile:()=>nn,loadScene:()=>rn,motionBlurPostProcessCameraConfigurations:()=>W,nodeFromDescendants:()=>ln,nodeFromScene:()=>an,normalizeAtlasJson:()=>qe,onKeyboardEvent:()=>En,onPointerEvent:()=>vn,parseCinematic:()=>Dn,parseCinematicKeyValue:()=>F,parseDefaultRenderingPipeline:()=>ke,parseKeyFrameAnimations:()=>tt,parseMotionBlurPostProcess:()=>Ve,parseRagdollConfiguration:()=>Rt,parseSSAO2RenderingPipeline:()=>Ne,parseSSRRenderingPipeline:()=>Me,parseVLSPostProcess:()=>Te,particleSystemFromScene:()=>fn,playSpriteAnimationFromName:()=>tn,registerScriptAssetParser:()=>Zr,sceneAsset:()=>mn,scriptAssetsCache:()=>O,scriptAssetsParsers:()=>ne,scriptsDictionary:()=>w,serializeDefaultRenderingPipeline:()=>Ke,serializeMotionBlurPostProcess:()=>Le,serializeSSAO2RenderingPipeline:()=>we,serializeSSRRenderingPipeline:()=>De,serializeVLSPostProcess:()=>Ee,setDefaultRenderingPipelineRef:()=>Jr,setMotionBlurPostProcessRef:()=>qr,setSSAO2RenderingPipelineRef:()=>Ur,setSSRRenderingPipelineRef:()=>Hr,setVLSPostProcessRef:()=>Yr,soundFromScene:()=>un,spriteFromSpriteManager:()=>Tn,ssaoRenderingPipelineCameraConfigurations:()=>Y,ssrRenderingPipelineCameraConfigurations:()=>$,visibleAsAsset:()=>xn,visibleAsBoolean:()=>gn,visibleAsColor3:()=>bn,visibleAsColor4:()=>Pn,visibleAsEntity:()=>An,visibleAsKeyMap:()=>Cn,visibleAsNumber:()=>yn,visibleAsString:()=>dn,visibleAsTexture:()=>In,visibleAsVector2:()=>Sn,visibleAsVector3:()=>hn,vlsPostProcessCameraConfigurations:()=>z});module.exports=Nr(Fn);function G(e){switch(e.getClassName?.()){case"Mesh":case"LineMesh":case"GroundMesh":case"InstancedMesh":return!0}return!1}i(G,"isAbstractMesh");function M(e){switch(e.getClassName?.()){case"Mesh":case"GroundMesh":return!0}return!1}i(M,"isMesh");function Z(e){return e.getClassName?.()==="InstancedMesh"}i(Z,"isInstancedMesh");function Fr(e){return e.getClassName?.()==="Bone"}i(Fr,"isBone");function _r(e){return e.getClassName?.()==="GroundMesh"}i(_r,"isGroundMesh");function K(e){return e.getClassName?.()==="TransformNode"}i(K,"isTransformNode");function he(e){return e?.getClassName?.()==="Texture"}i(he,"isTexture");function ce(e){switch(e.getClassName?.()){case"Camera":case"FreeCamera":case"TargetCamera":case"EditorCamera":case"ArcRotateCamera":case"UniversalCamera":return!0}return!1}i(ce,"isCamera");function Lr(e){switch(e.getClassName?.()){case"FreeCamera":case"UniversalCamera":return!0}return!1}i(Lr,"isFreeCamera");function Vr(e){return e.getClassName?.()==="ArcRotateCamera"}i(Vr,"isArcRotateCamera");function Gr(e){return e.getClassName?.()==="PointLight"}i(Gr,"isPointLight");function Br(e){return e.getClassName?.()==="DirectionalLight"}i(Br,"isDirectionalLight");function Kr(e){return e.getClassName?.()==="SpotLight"}i(Kr,"isSpotLight");function kr(e){return e.getClassName?.()==="HemisphericLight"}i(kr,"isHemisphericLight");function ot(e){switch(e.getClassName?.()){case"Light":case"PointLight":case"SpotLight":case"DirectionalLight":case"HemisphericLight":return!0}return!1}i(ot,"isLight");function k(e){return G(e)||K(e)||ot(e)||ce(e)}i(k,"isNode");function be(e){return e.getClassName?.()==="Scene"}i(be,"isScene");function Pe(e){return e.getClassName?.()==="ParticleSystem"}i(Pe,"isParticleSystem");function zr(e){return e.getClassName?.()==="GPUParticleSystem"}i(zr,"isGPUParticleSystem");function Ae(e){switch(e.getClassName?.()){case"ParticleSystem":case"GPUParticleSystem":return!0}return!1}i(Ae,"isAnyParticleSystem");function Ie(e){return e.getClassName?.()==="Sprite"}i(Ie,"isSprite");var it=require("babylonjs"),st=require("babylonjs");function Ce(e){e.lights.forEach(r=>{let t=r.getShadowGenerator()?.getShadowMap();t&&(t.renderListPredicate=o=>it.Vector3.Distance(o.getAbsolutePosition(),r.getAbsolutePosition())<=r.range)})}i(Ce,"configureShadowMapRenderListPredicate");async function xe(e){e.executeWhenReady(()=>{e.lights.forEach(r=>{let t=r.getShadowGenerator()?.getShadowMap();t&&(t.refreshRate=r.metadata?.refreshRate??st.RenderTargetTexture.REFRESHRATE_RENDER_ONEVERYFRAME)})})}i(xe,"configureShadowMapRefreshRate");var at=require("babylonjs"),lt=require("babylonjs"),ct=require("babylonjs"),x=null,z=new Map;function $r(){return x}i($r,"getVLSPostProcess");function Yr(e){x=e}i(Yr,"setVLSPostProcessRef");function ve(e){x&&e.activeCamera&&(x.dispose(e.activeCamera),x=null)}i(ve,"disposeVLSPostProcess");function mt(e,r){return r??=e.meshes.find(t=>M(t)),x=new ct.VolumetricLightScatteringPostProcess("VolumetricLightScatteringPostProcess",1,e.activeCamera,r,100,lt.Texture.BILINEAR_SAMPLINGMODE,e.getEngine(),!1),x}i(mt,"createVLSPostProcess");function Ee(){return x?{meshId:x.mesh?.id,exposure:x.exposure,decay:x.decay,weight:x.weight,density:x.density,invert:x.invert,useCustomMeshPosition:x.useCustomMeshPosition,customMeshPosition:x.customMeshPosition.asArray()}:null}i(Ee,"serializeVLSPostProcess");function Te(e,r){let t=null;if(r.meshId){let n=e.getMeshById(r.meshId);n&&M(n)&&(t=n)}let o=mt(e,t);return o.exposure=r.exposure,o.decay=r.decay,o.weight=r.weight,o.density=r.density,o.invert=r.invert,o.useCustomMeshPosition=r.useCustomMeshPosition,o.customMeshPosition.copyFrom(at.Vector3.FromArray(r.customMeshPosition)),o}i(Te,"parseVLSPostProcess");var pt=require("babylonjs"),h=null,$=new Map;function Wr(){return h}i(Wr,"getSSRRenderingPipeline");function Hr(e){h=e}i(Hr,"setSSRRenderingPipelineRef");function Oe(){h&&(h.dispose(),h=null)}i(Oe,"disposeSSRRenderingPipeline");function ut(e,r){return h=new pt.SSRRenderingPipeline("SSRRenderingPipeline",e,[r]),h.samples=4,h}i(ut,"createSSRRenderingPipeline");function De(){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(De,"serializeSSRRenderingPipeline");function Me(e,r,t){if(h)return h;let o=ut(e,r);return o.samples=t.samples,o.step=t.step,o.thickness=t.thickness,o.strength=t.strength,o.reflectionSpecularFalloffExponent=t.reflectionSpecularFalloffExponent,o.maxSteps=t.maxSteps,o.maxDistance=t.maxDistance,o.roughnessFactor=t.roughnessFactor,o.reflectivityThreshold=t.reflectivityThreshold,o.blurDispersionStrength=t.blurDispersionStrehgth,o.clipToFrustum=t.clipToFrustum,o.enableSmoothReflections=t.enableSmoothReflections,o.enableAutomaticThicknessComputation=t.enableAutomaticThicknessComputation,o.attenuateFacingCamera=t.attenuateFacingCamera,o.attenuateScreenBorders=t.attenuateScreenBorders,o.attenuateIntersectionDistance=t.attenuateIntersectionDistance,o.attenuateBackfaceReflection=t.attenuateBackfaceReflection,o.blurDownsample=t.blurDownsample,o.selfCollisionNumSkip=t.selfCollisionNumSkip,o.ssrDownsample=t.ssrDownsample,o.backfaceDepthTextureDownsample=t.backfaceDepthTextureDownsample,o}i(Me,"parseSSRRenderingPipeline");var ft=require("babylonjs"),v=null,X=new Map;function qo(){return v}i(qo,"getTAARenderingPipeline");function Jo(e){v=e}i(Jo,"setTAARenderingPipelineRef");function gt(){v&&(v.dispose(),v=null)}i(gt,"disposeTAARenderingPipeline");function jr(e,r){return v=new ft.TAARenderingPipeline("TAARenderingPipeline",e,[r]),v.samples=4,v}i(jr,"createTAARenderingPipeline");function dt(){return v?{factor:v.factor,samples:v.samples,clampHistory:v.clampHistory,reprojectHistory:v.reprojectHistory,disableOnCameraMove:v.disableOnCameraMove}:null}i(dt,"serializeTAARenderingPipeline");function yt(e,r,t){if(v)return v;let o=jr(e,r);return o.factor=t.factor,o.samples=t.samples,o.clampHistory=t.clampHistory,o.reprojectHistory=t.reprojectHistory,o.disableOnCameraMove=t.disableOnCameraMove,o}i(yt,"parseTAARenderingPipeline");var St=require("babylonjs"),P=null,Y=new Map;function Qr(){return P}i(Qr,"getSSAO2RenderingPipeline");function Ur(e){P=e}i(Ur,"setSSAO2RenderingPipelineRef");function Re(){P&&(P.dispose(),P=null)}i(Re,"disposeSSAO2RenderingPipeline");function ht(e,r){return P=new St.SSAO2RenderingPipeline("SSAO2RenderingPipeline",e,1,[r]),P.samples=4,P}i(ht,"createSSAO2RenderingPipeline");function we(){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(we,"serializeSSAO2RenderingPipeline");function Ne(e,r,t){if(P)return P;let o=ht(e,r);return o.radius=t.radius,o.totalStrength=t.totalStrength,o.samples=t.samples,o.maxZ=t.maxZ,o.minZAspect=t.minZAspect,o.epsilon=t.epsilon,o.textureSamples=t.textureSamples,o.bypassBlur=t.bypassBlur,o.bilateralSamples=t.bilateralSamples,o.bilateralSoften=t.bilateralSoften,o.bilateralTolerance=t.bilateralTolerance,o.expensiveBlur=t.expensiveBlur,o}i(Ne,"parseSSAO2RenderingPipeline");var bt=require("babylonjs"),E=null,W=new Map;function Fe(){return E}i(Fe,"getMotionBlurPostProcess");function qr(e){E=e}i(qr,"setMotionBlurPostProcessRef");function _e(){E&&(E.dispose(),E=null)}i(_e,"disposeMotionBlurPostProcess");function Pt(e,r){return E=new bt.MotionBlurPostProcess("MotionBlurPostProcess",e,1,r),E.motionStrength=1,E.isObjectBased=!0,E}i(Pt,"createMotionBlurPostProcess");function Le(){return E?{isObjectBased:E.isObjectBased,motionStrength:E.motionStrength,motionBlurSamples:E.motionBlurSamples}:null}i(Le,"serializeMotionBlurPostProcess");function Ve(e,r,t){if(E)return E;let o=Pt(e,r);return o.isObjectBased=t.isObjectBased,o.motionStrength=t.motionStrength,o.motionBlurSamples=t.motionBlurSamples,o}i(Ve,"parseMotionBlurPostProcess");var At=require("babylonjs"),Ge=require("babylonjs"),It=require("babylonjs"),Ct=require("babylonjs"),xt=require("babylonjs"),c=null,H=new Map;function ee(){return c}i(ee,"getDefaultRenderingPipeline");function Jr(e){c=e}i(Jr,"setDefaultRenderingPipelineRef");function Be(){c&&(c.dispose(),c=null)}i(Be,"disposeDefaultRenderingPipeline");function vt(e,r){return c=new xt.DefaultRenderingPipeline("DefaultRenderingPipeline",!0,e,[r]),c.samples=4,c.depthOfField.lensSize=512,c.depthOfField.fStop=.25,c.depthOfField.focusDistance=55e3,c}i(vt,"createDefaultRenderingPipeline");function Ke(){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(Ke,"serializeDefaultRenderingPipeline");function ke(e,r,t,o){if(c)return c;let n=vt(e,r);if(n.samples=t.samples,n.fxaaEnabled=t.fxaaEnabled,n.imageProcessingEnabled=t.imageProcessingEnabled,n.imageProcessing){if(n.imageProcessing.exposure=t.exposure,n.imageProcessing.contrast=t.contrast,n.imageProcessing.fromLinearSpace=t.fromLinearSpace,n.imageProcessing.toneMappingEnabled=t.toneMappingEnabled,n.imageProcessing.toneMappingType=t.toneMappingType,n.imageProcessing.ditheringEnabled=t.ditheringEnabled,n.imageProcessing.ditheringIntensity=t.ditheringIntensity,n.imageProcessing.vignetteEnabled=t.vignetteEnabled??!1,n.imageProcessing.vignetteColor=At.Color4.FromArray(t.vignetteColor??[0,0,0]),n.imageProcessing.vignetteWeight=t.vignetteWeight??.3,n.imageProcessing.colorGradingEnabled=t.colorGradingEnabled??!1,n.imageProcessing.imageProcessingConfiguration.colorGradingWithGreenDepth=t.colorGradingWithGreenDepth??!0,t.colorGradingTexture){let a=null;if(t.colorGradingTexture.customType==="BABYLON.ColorGradingTexture"){let s=o+t.colorGradingTexture.name;a=new Ct.ColorGradingTexture(s,e),a.level=t.colorGradingTexture.level}else{let s=It.Texture.Parse(t.colorGradingTexture,e,o);he(s)&&(a=s)}n.imageProcessing.colorGradingTexture=a}n.imageProcessing.colorCurvesEnabled=t.colorCurvesEnabled??!1,n.imageProcessing.colorCurves&&(n.imageProcessing.colorCurves.globalHue=t.globalHue??30,n.imageProcessing.colorCurves.globalDensity=t.globalDensity??0,n.imageProcessing.colorCurves.globalExposure=t.globalExposure??0,n.imageProcessing.colorCurves.globalSaturation=t.globalSaturation??0,n.imageProcessing.colorCurves.highlightsHue=t.highlightsHue??30,n.imageProcessing.colorCurves.highlightsDensity=t.highlightsDensity??0,n.imageProcessing.colorCurves.highlightsExposure=t.highlightsExposure??0,n.imageProcessing.colorCurves.highlightsSaturation=t.highlightsSaturation??0,n.imageProcessing.colorCurves.midtonesHue=t.midtonesHue??30,n.imageProcessing.colorCurves.midtonesDensity=t.midtonesDensity??0,n.imageProcessing.colorCurves.midtonesExposure=t.midtonesExposure??0,n.imageProcessing.colorCurves.midtonesSaturation=t.midtonesSaturation??0,n.imageProcessing.colorCurves.shadowsHue=t.shadowsHue??30,n.imageProcessing.colorCurves.shadowsDensity=t.shadowsDensity??0,n.imageProcessing.colorCurves.shadowsExposure=t.shadowsExposure??0,n.imageProcessing.colorCurves.shadowsSaturation=t.shadowsSaturation??0)}return n.bloomEnabled=t.bloomEnabled,n.bloomThreshold=t.bloomThreshold,n.bloomWeight=t.bloomWeight,n.bloomScale=t.bloomScale,n.bloomKernel=t.bloomKernel,n.sharpenEnabled=t.sharpenEnabled,n.sharpen.edgeAmount=t.sharpenEdgeAmount,n.sharpen.colorAmount=t.sharpenColorAmount,n.grainEnabled=t.grainEnabled,n.grain.intensity=t.grainIntensity,n.grain.animated=t.grainAnimated,n.depthOfFieldEnabled=t.depthOfFieldEnabled,n.depthOfFieldBlurLevel=t.depthOfFieldBlurLevel,n.depthOfField.lensSize=t.lensSize,n.depthOfField.fStop=t.fStop,n.depthOfField.focusDistance=t.focusDistance,n.depthOfField.focalLength=t.focalLength,n.chromaticAberrationEnabled=t.chromaticAberrationEnabled??!1,n.chromaticAberration.aberrationAmount=t.aberrationAmount??10,n.chromaticAberration.radialIntensity=t.radialIntensity??1,n.chromaticAberration.direction=Ge.Vector2.FromArray(t.direction??[0,0]),n.chromaticAberration.centerPosition=Ge.Vector2.FromArray(t.centerPosition??[0,0]),n.glowLayerEnabled=t.glowLayerEnabled??!1,n.glowLayer&&(n.glowLayer.intensity=t.glowLayerIntensity??1,n.glowLayer.blurKernelSize=t.glowLayerBlurKernelSize??32),n}i(ke,"parseDefaultRenderingPipeline");function Ti(e){Y.set(e,we()),z.set(e,Ee()),$.set(e,De()),W.set(e,Le()),H.set(e,Ke()),X.set(e,dt())}i(Ti,"saveRenderingConfigurationForCamera");function Et(e,r){Re(),ve(e.getScene()),Oe(),_e(),Be(),gt();let t=Y.get(e);t&&Ne(e.getScene(),e,t);let o=z.get(e);o&&Te(e.getScene(),o);let n=$.get(e);n&&Me(e.getScene(),e,n);let a=W.get(e);a&&Ve(e.getScene(),e,a);let s=H.get(e);s&&ke(e.getScene(),e,s,r);let u=X.get(e);u&&yt(e.getScene(),e,u)}i(Et,"applyRenderingConfigurationForCamera");var te=require("babylonjs"),Tt=require("babylonjs");function Ot(e){let r=e.metadata?.physicsAggregate;if(!r)return;let t;M(e)?t=e:Z(e)&&(t=e.sourceMesh);let o=new Tt.PhysicsAggregate(e,r.shape.type,{mesh:t,mass:r.massProperties.mass});o.body.setMassProperties({mass:r.massProperties.mass,inertia:r.massProperties.inertia?te.Vector3.FromArray(r.massProperties.inertia):void 0,centerOfMass:r.massProperties.centerOfMass?te.Vector3.FromArray(r.massProperties.centerOfMass):void 0,inertiaOrientation:r.massProperties.inertiaOrientation?te.Quaternion.FromArray(r.massProperties.inertiaOrientation):void 0}),o.shape.density=r.shape.density,o.body.setMotionType(r.body.motionType),o.shape.material=r.material,e.physicsAggregate=o,e.metadata.physicsAggregate=void 0}i(Ot,"configurePhysicsAggregate");function Dt(e,r){(Array.isArray(r)?r:[]).forEach(o=>{let n=e.getCameraById(o.cameraId);n&&(o.ssao2RenderingPipeline&&Y.set(n,o.ssao2RenderingPipeline),o.vlsPostProcess&&z.set(n,o.vlsPostProcess),o.ssrRenderingPipeline&&$.set(n,o.ssrRenderingPipeline),o.motionBlurPostProcess&&W.set(n,o.motionBlurPostProcess),o.defaultRenderingPipeline&&H.set(n,o.defaultRenderingPipeline),o.taaRenderingPipeline&&X.set(n,o.taaRenderingPipeline))})}i(Dt,"applyRenderingConfigurations");function me(e,r){let t=r.soundTracks??[];t.length||t.push(r.mainSoundTrack);for(let o=0,n=t.length;o<n;o++){let a=t[o].soundCollection.find(s=>s.id===e);if(a)return a}return null}i(me,"getSoundById");var B=require("babylonjs"),Mt=require("babylonjs");function ze(e){let r=Mt.Vector3.FromArray(e);return r.equals(B.Axis.X)?B.Axis.X:r.equals(B.Axis.Y)?B.Axis.Y:r.equals(B.Axis.Z)?B.Axis.Z:r}i(ze,"parseAxis");function Rt(e){return e.runtimeConfiguration.forEach(r=>{r.rotationAxis&&(r.rotationAxis=ze(r.rotationAxis)),r.boneOffsetAxis&&(r.boneOffsetAxis=ze(r.boneOffsetAxis))}),e}i(Rt,"parseRagdollConfiguration");function $e(e){let r={rootNodeId:e.rootNodeId,skeletonName:e.skeletonName,scalingFactor:e.scalingFactor,runtimeConfiguration:e.runtimeConfiguration.map(t=>({name:t.name,bones:t.bones,width:t.width,depth:t.depth,height:t.height,size:t.size,joint:t.joint,min:t.min,max:t.max,boxOffset:t.boxOffset,rotationAxis:t.rotationAxis?.slice(),boneOffsetAxis:t.boneOffsetAxis?.slice()}))};return Rt(r)}i($e,"copyAndParseRagdollConfiguration");function Ye(e){return e&&JSON.parse(JSON.stringify(e))}i(Ye,"cloneJSObject");function j(e){let r=new Set;e.transformNodes.forEach(t=>{if(t.metadata?.isStaticGroup){let o=t.getDescendants(!1);o.push(t),o.forEach(n=>{if((G(n)||K(n)&&!n.isWorldMatrixFrozen)&&n.freezeWorldMatrix(),G(n)){let a=n.material;a&&!a.isFrozen&&!r.has(a)&&(r.add(a),a.onBindObservable.addOnce(()=>{a.freeze()}))}})}})}i(j,"configureTransformNodes");var We=require("babylonjs"),re=class{static{i(this,"AdvancedAssetContainer")}container;_rootUrl;_scriptsMap;_originalDescendants=[];_nodesMap=new Map;_animationGroupsMap=new Map;constructor(r,t,o){this.container=r,this._rootUrl=t,this._scriptsMap=o,r.populateRootNodes(),r.rootNodes.forEach(n=>{this._originalDescendants.push(n,...n.getDescendants(!1))}),this._originalDescendants.forEach(n=>{this._nodesMap.set(n,{node:n,metadata:Ye(n.metadata)})}),r.animationGroups.forEach(n=>{this._animationGroupsMap.set(n.name,n)})}removeDefault(){this.container.getNodes().forEach(r=>{w.get(r)?.forEach(o=>{pe(r,o)})}),this.container.removeAllFromScene()}instantiate(r){let t=We.Tools.RandomId(),o=i(s=>s,"nameFunction"),n=this.container.instantiateModelsToScene(o,!1,{...r,predicate:i(s=>(s.name=`${s.name}-${t}_${s.id}`,r?.predicate?.(s)??!0),"predicate")}),a=[];return n.rootNodes.forEach(s=>{a.push(s,...s.getDescendants(!1))}),a.forEach(s=>{let u=s.name.split("_"),l=u.pop();s.name=u.join("_");let m=this._originalDescendants.find(p=>p.id===l);s.id=We.Tools.RandomId(),s.metadata=Ye(this._nodesMap.get(m).metadata),a.forEach(p=>{p.metadata.scripts?.forEach(g=>{Object.keys(g.values||{}).forEach(f=>{let d=g.values[f];if(d.type==="entity"){d.value===l&&(d.value=s.id),d.value===m.name&&(d.value=s.name);let y=this._animationGroupsMap.get(d.value);y&&(d.value=o(y.name))}})})})}),a.forEach(s=>{R(this.container.scene,s,this._scriptsMap,this._rootUrl)}),j(this.container.scene),n}};var wt=require("babylonjs"),Nt=require("babylonjs");async function Ft(e,r,t){let n=e.split("/").pop().replace(".scene",".babylon"),a=await(0,Nt.LoadAssetContainerAsync)(n,t,{rootUrl:r,pluginExtension:".babylon"});return wt.SceneLoaderFlags.ForceFullSceneLoadingForIncremental&&t.meshes.forEach(s=>M(s)&&s._checkDelayState()),a.addAllToScene(),j(t),a}i(Ft,"preloadSceneScriptAsset");async function _t(e,r){return await(await fetch(`${r}${e}`)).json()}i(_t,"preloadCommonScriptAsset");var O=new Map,ne=new Map;function Zr(e,r){ne.has(e)&&console.warn(`A parser for the extension '${e}' was already registered. It will be overwritten.`),ne.set(e,r)}i(Zr,"registerScriptAssetParser");async function He(e,r,t){[r,...r.transformNodes,...r.meshes,...r.lights,...r.cameras].filter(u=>u.metadata?.scripts?.length).map(u=>u.metadata.scripts).flat().forEach(u=>{if(t[u.key]?.default?._SceneAssets?.forEach(m=>{O.get(m.sceneName)||O.set(m.sceneName,null)}),u.values)for(let m in u.values){if(!u.values.hasOwnProperty(m))continue;let p=u.values[m];p.type==="asset"&&p.value&&!O.get(p.value)&&O.set(p.value,null)}});let a=0;for(let u of O.values())u===null&&++a;if(a===0)return a;let s=[];return O.forEach((u,l)=>{O.get(l)||s.push(new Promise(async m=>{try{let p=l.split(".").pop();switch(p){case"scene":O.set(l,new re(await Ft(l,e,r),e,t));break;default:if(ne.has(p)){let g=ne.get(p);O.set(l,await g({key:l,rootUrl:e,scene:r}));break}else O.set(l,await _t(l,e));break}}catch(p){console.error(p)}m()}))}),await Promise.all(s),a}i(He,"_preloadScriptsAssets");var Lt=require("babylonjs"),ue=require("babylonjs"),Vt=require("babylonjs"),fe=require("babylonjs"),Gt=require("babylonjs"),Bt=require("babylonjs-gui");function je(e,r,t,o,n){let a=o.constructor;if(!a)return;a._NodesFromScene?.forEach(l=>{o[l.propertyKey.toString()]=e.getNodeByName(l.nodeName)}),a._NodesFromDescendants?.forEach(l=>{let m=r.getDescendants?.(l.directDescendantsOnly,p=>p.name===l.nodeName)[0];o[l.propertyKey.toString()]=m??null}),a._AnimationGroups?.forEach(l=>{o[l.propertyKey.toString()]=e.getAnimationGroupByName(l.animationGroupName)}),a._SoundsFromScene?.forEach(l=>{let m=e.getSoundByName?.(l.soundName);o[l.propertyKey.toString()]=m??null}),(a._GuiFromAsset??[]).map(async l=>{let m=`${n}assets/${l.pathInAssets}`;try{let g=await(await fetch(m)).json(),S=Bt.AdvancedDynamicTexture.CreateFullscreenUI(g.name,!0,e);S.parseSerializedObject(g.content,!1),o[l.propertyKey.toString()]=S,l.onGuiCreated?.(o,S)}catch(p){throw console.error(`Failed to load GUI from asset: ${m}`),p}}),a._ParticleSystemsFromScene?.forEach(l=>{let m=e.particleSystems?.find(p=>p.name!==l.particleSystemName?!1:l.directDescendantsOnly?p.emitter===r:p);o[l.propertyKey.toString()]=m}),(a._VisibleInInspector??[]).forEach(l=>{let m=l.propertyKey.toString(),p=t.values;if(!p)throw new Error(`No values found for script with key "${t.key}".`);if(p.hasOwnProperty(m)&&p[m].hasOwnProperty("value")){let g=p[m].value;switch(l.configuration.type){case"number":case"boolean":case"keymap":case"string":o[m]=g;break;case"vector2":o[m]=fe.Vector2.FromArray(g);break;case"vector3":o[m]=fe.Vector3.FromArray(g);break;case"color3":o[m]=ue.Color3.FromArray(g);break;case"color4":o[m]=ue.Color4.FromArray(g);break;case"entity":switch(l.configuration.entityType){case"node":o[m]=e.getNodeById(g)??null;break;case"animationGroup":o[m]=e.getAnimationGroupByName(g)??null;break;case"sound":o[m]=me(g,e);break;case"particleSystem":o[m]=e.particleSystems?.find(f=>f.id===g)??null;break}break;case"texture":g&&(o[m]=Vt.Texture.Parse(g,e,n));break;case"asset":if(g){let f=l.configuration.assetType,d=O.get(g);switch(f){case"json":case"gui":case"scene":case"navmesh":o[m]=d;break;case"ragdoll":o[m]=$e(d);break;case"nodeParticleSystemSet":let y=Gt.NodeParticleSystemSet.Parse(d);o[m]=y;break;case"material":o[m]=Lt.Material.Parse(d,e,n);break}}}}});let s=null,u=null;if(a._PointerEvents?.length){if(a._PointerEvents.find(p=>p.options.mode==="attachedMeshOnly")&&!G(r))throw new Error('@onPointerEvent with mode "attachedMeshOnly" can only be used on scripts attached to meshes (extends AbstractMesh).');if(a._PointerEvents.find(p=>p.options.mode!=="global")&&!k(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(p=>{let g=null;a._PointerEvents.forEach(S=>{if(!S.eventTypes.includes(p.type))return;let f=S.propertyKey.toString();if(S.options.mode==="global")return o[f]?.(p);g=p.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"&&k(r)&&[r,...r.getDescendants(!1)].find(C=>C===d)))return o[f]?.(p)})})}if(a._KeyboardEvents?.length&&(u=e.onKeyboardObservable.add(l=>{a._KeyboardEvents.forEach(m=>{m.eventTypes.includes(l.type)&&o[m.propertyKey.toString()]?.(l)})})),a._SpritesFromSpriteManager?.length){let l=r;if(!K(l)||!l.isSpriteManager)return console.error("@spriteFromSpriteManager decorator can only be used on SpriteManagerNode.");if(!l.spriteManager)return console.error(`SpriteManagerNode "${l.name}" has no sprite manager assigned.`);a._SpritesFromSpriteManager?.forEach(m=>{let p=l.spriteManager?.sprites.find(g=>g.name===m.spriteName)||null;o[m.propertyKey.toString()]=p})}if(a._AnimationsFromSprite?.length){if(!Ie(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 p=l.find(g=>g.name===m.animationName);p?o[m.propertyKey.toString()]=p??null:console.warn(`Sprite animation named "${m.animationName}" not found on sprite "${r.name}".`)})}return a._SceneAssets?.forEach(l=>{o[l.propertyKey.toString()]=O.get(l.sceneName)}),{observers:{pointerObserver:s,keyboardObserver:u}}}i(je,"applyDecorators");function R(e,r,t,o){r.metadata?.scripts&&(r.metadata.scripts?.forEach(n=>{if(!n.enabled)return;let a=t[n.key];if(!a)return;let s=a,u={};if(a.default){s=new a.default(r);let l=je(e,r,n,s,o);Object.assign(u,l?.observers??{})}s.onStart&&(u.onStartObserver=e.onBeforeRenderObservable.addOnce(()=>s.onStart(r))),s.onUpdate&&(u.onUpdateObserver=e.onBeforeRenderObservable.add(()=>s.onUpdate(r))),Qe(r,s,n.key,u)}),r.metadata.scripts=void 0)}i(R,"_applyScriptsForObject");function Xr(e,r,t){if(t??=e.getScene?.(),!t)throw new Error("Cannot apply script on object: no scene available.");let o=new r(e),n={};return je(t,e,{values:{}},o,""),o.onStart&&(n.onStartObserver=t.onBeforeRenderObservable.addOnce(()=>o.onStart())),o.onUpdate&&t.onBeforeRenderObservable.add(()=>o.onUpdate()),Qe(e,o,"runtime",n),o}i(Xr,"applyScriptOnObject");var w=new Map;function Qe(e,r,t,o){let n={key:t,observers:o,instance:r};w.has(e)?w.get(e).push(n):w.set(e,[n]),(k(e)||Ae(e)||be(e))&&e.onDisposeObservable.addOnce((()=>{w.get(e)?.slice()?.forEach(s=>{pe(e,s)}),w.delete(e)}))}i(Qe,"_registerScriptInstance");function pe(e,r){r.observers.onStartObserver?.remove(),r.observers.onUpdateObserver?.remove(),r.observers.pointerObserver?.remove(),r.observers.keyboardObserver?.remove();try{r.instance.onStop?.(e)}catch(n){console.error(`Failed to call onStop for script ${r.key} on object ${e}`,n)}let t=w.get(e),o=t?.indexOf(r)??-1;o!==-1&&t?.splice(o,1)}i(pe,"_removeRegisteredScriptInstance");function Kt(e,r){return w.get(e)?.filter(n=>n.instance.constructor===r)?.map(n=>n.instance)??null}i(Kt,"getAllScriptsByClassForObject");function en(e,r){return Kt(e,r)?.[0]??null}i(en,"getScriptByClassForObject");var zt=require("babylonjs"),kt=!1;function $t(){kt||(kt=!0,(0,zt.AddParser)("AudioEditorPlugin",(e,r,t,o)=>{e.sounds?.forEach(n=>{let a=t.sounds?.find(s=>s.name===n.name);a&&(a.id=n.id,a.uniqueId=n.uniqueId,r.onBeforeRenderObservable.addOnce(()=>{try{a.spatialSound=n.spatialSound}catch{}}))})}))}i($t,"registerAudioParser");function N(e){let r=1;for(;r<=e;)r<<=1;return r>>1}i(N,"getPowerOfTwoUntil");var Ue=require("babylonjs"),Yt=!1;function Wt(){if(Yt)return;Yt=!0;let e=Ue.SerializationHelper._TextureParser;Ue.SerializationHelper._TextureParser=(r,t,o)=>{if(t.loadingTexturesQuality==="high"||!r.metadata?.baseSize)return e(r,t,o);let n=r.metadata.baseSize.width,a=r.metadata.baseSize.height,s=n===N(n)||a===N(a),u="";switch(t.loadingTexturesQuality){case"medium":let d=n*.66>>0,y=a*.66>>0;s&&(d=N(d),y=N(y)),u=`_${d}_${y}`;break;case"low":case"very-low":let b=n*.33>>0,C=a*.33>>0;s&&(b=N(b),C=N(C)),u=`_${b}_${C}`;break}let l=r.name;if(!l||!u)return e(r,t,o);let m=l.split("/"),p=m.pop();if(!p)return e(r,t,o);let g=p.split(".").pop(),f=`${p.replace(`.${g}`,"")}${u}.${g}`;return m.push(f),r.name=m.join("/"),e(r,t,o)}}i(Wt,"registerTextureParser");var jt=require("babylonjs"),ge=require("babylonjs"),Ht=!1;function Qt(){if(Ht)return;Ht=!0;let e=(0,ge.GetParser)(jt.SceneComponentConstants.NAME_SHADOWGENERATOR);(0,ge.AddParser)("ShadowGeneratorEditorPlugin",(r,t,o,n)=>{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,N(a.mapSize))}),e?.(r,t,o,n)})}i(Qt,"registerShadowGeneratorParser");var qt=require("babylonjs"),Jt=require("babylonjs"),Ut=!1;function Zt(){Ut||(Ut=!0,(0,Jt.AddParser)("MorphTargetManagerEditorPlugin",(e,r,t,o)=>{e.morphTargetManagers.forEach(n=>{let s=t.meshes.find(m=>m.id===n.meshId)?.morphTargetManager;if(!s||n.targets.find(m=>!m.delayLoadingFile))return;let l=[];n.targets.forEach(m=>{if(!m.delayLoadingFile)return l.push(Promise.resolve(null));let p=`${o}${m.delayLoadingFile}`;r.addPendingData(p);let g=new qt.WebRequest;g.responseType="arraybuffer",g.open("GET",p),g.send(),l.push(new Promise(S=>{g.addEventListener("load",()=>{r.removePendingData(p),S(g.response)})}))}),Promise.all(l).then(m=>{for(let p=0,g=s.numTargets;p<g;++p){let S=s.getTarget(p),f=n.targets[p],d=m[p];if(f.positionsCount){let y=new Float32Array(d,f.positionsOffset,f.positionsCount);S._positions=y,S.setPositions(y)}if(f.normalsCount){let y=new Float32Array(d,f.normalsOffset,f.normalsCount);S._normals=y,S.setNormals(y)}if(f.tangentsCount){let y=new Float32Array(d,f.tangentsOffset,f.tangentsCount);S._tangents=y,S.setTangents(y)}if(f.uvsCount){let y=new Float32Array(d,f.uvsOffset,f.uvsCount);S._uvs=y,S.setUVs(y)}if(f.uv2sCount){let y=new Float32Array(d,f.uv2sOffset,f.uv2sCount);S._uv2s=y,S.setUV2s(y)}}for(let p=0,g=s.numTargets;p<g;++p)s.getTarget(p)._onDataLayoutChanged.notifyObservers()})})}))}i(Zt,"registerMorphTargetManagerParser");function qe(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(qe,"normalizeAtlasJson");function tn(e,r,t){let n=(e.metadata?.spriteAnimations??[]).find(a=>a.name===r);if(!n)return console.error(`Animation with name "${r}" not found on sprite.`);e.playAnimation(n.from,n.to,n.loop,n.delay,t)}i(tn,"playSpriteAnimationFromName");var er=require("babylonjs"),tr=require("babylonjs"),rr=require("babylonjs"),nr=require("babylonjs"),Je=require("babylonjs"),Q=require("babylonjs"),or=require("babylonjs"),Xt=!1;function ir(){Xt||(Xt=!0,(0,or.AddParser)("SpriteMapNode",(e,r,t,o)=>{e.transformNodes?.forEach(n=>{if(!n.isSpriteMap)return;let a=t.transformNodes?.find(l=>l.id===n.id);if(!a)return;a.isSpriteMap=n.isSpriteMap;let s=`${o}${n.atlasJsonRelativePath}`;r.addPendingData(s);let u=new rr.WebRequest;u.open("GET",s),u.send(),u.addEventListener("load",()=>{r.removePendingData(s);let l=JSON.parse(u.responseText);qe(l);let m=`${er.Tools.GetFolderPath(s)}${l.meta.image}`,p=new Je.Texture(m,r,!1,!1,Je.Texture.NEAREST_NEAREST,null,null,null,!1,tr.Engine.TEXTUREFORMAT_RGBA),g=new nr.SpriteMap(a.name,l,p,{layerCount:n.options.layerCount,stageSize:Q.Vector2.FromArray(n.options.stageSize??[10,1]),outputSize:Q.Vector2.FromArray(n.options.outputSize??[100,100]),colorMultiply:Q.Vector3.FromArray(n.options.colorMultiply??[1,1,1]),flipU:!0},r);n.tiles.forEach(f=>{for(let d=0,y=f.repeatCount.x+1;d<y;++d)for(let b=0,C=f.repeatCount.y+1;b<C;++b){let D=d*(f.repeatOffset.x+1),T=b*(f.repeatOffset.y+1);g.changeTiles(f.layer,new Q.Vector2(f.position.x+D,(g.options.stageSize?.y??0)-1-f.position.y-T),f.tile)}});let S=g._output;S.parent=a,a.spriteMap=g})})}))}i(ir,"registerSpriteMapParser");var lr=require("babylonjs"),cr=require("babylonjs"),mr=require("babylonjs"),Ze=require("babylonjs"),pr=require("babylonjs");function sr(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 o=cr.Sprite.Parse(t,e);o.uniqueId=t.uniqueId,o.metadata=t.metadata}}i(sr,"parseSerializedSpriteManager");var ar=!1;function ur(){ar||(ar=!0,(0,pr.AddParser)("SpriteManagerNode",(e,r,t,o)=>{e.transformNodes?.forEach(n=>{if(!n.isSpriteManager)return;let a=t.transformNodes?.find(s=>s.id===n.id);if(a){if(a.isSpriteManager=n.isSpriteManager,n.atlasJsonRelativePath){let s=`${o}${n.atlasJsonRelativePath}`;r.addPendingData(s);let u=new mr.WebRequest;u.open("GET",s),u.send(),u.addEventListener("load",()=>{r.removePendingData(s);let l=JSON.parse(u.responseText),m=`${lr.Tools.GetFolderPath(s)}${l.meta.image}`,p=new Ze.SpriteManager(a.name,m,1e3,64,r,void 0,void 0,!0,l);a.spriteManager=p,n.spriteManager&&sr(p,n.spriteManager)})}else if(n.spriteManager?.textureUrl){let s=`${o}${n.spriteManager.textureUrl}`,u=new Ze.SpriteManager(a.name,s,1e3,{width:n.spriteManager.cellWidth,height:n.spriteManager.cellHeight},r,void 0,void 0,!1);a.spriteManager=u,n.spriteManager&&sr(u,n.spriteManager)}}})}))}i(ur,"registerSpriteManagerParser");var gr=require("babylonjs"),dr=require("babylonjs"),fr=!1;function yr(){fr||(fr=!0,(0,gr.AddParser)("NodeParticleSystemSetEditorPlugin",(e,r,t,o)=>{e.meshes?.forEach(n=>{if(!n.isNodeParticleSystemMesh)return;let a=t.meshes?.find(s=>s.id===n.id);a&&(n.nodeParticleSystemSet.blocks?.forEach(s=>{s.url&&(s.url=`${o}${s.url}`)}),a.nodeParticleSystemSet=dr.NodeParticleSystemSet.Parse(n.nodeParticleSystemSet),a.nodeParticleSystemSet.id=n.nodeParticleSystemSet.id,a.nodeParticleSystemSet.uniqueId=n.uniqueId,r.addPendingData(n.id),a.nodeParticleSystemSet.buildAsync(r,!1).then(s=>{r.removePendingData(n.id),a.particleSystemSet=s,s.systems.forEach(u=>{if(Pe(u)){let l=u._sizeCreation.process;l&&(u._sizeCreation.process=(m,p)=>{l(m,p),m.scale.x*=100,m.scale.y*=100})}}),s.emitterNode=a,s.start()}))})}))}i(yr,"registerNodeParticleSystemSetParser");var Sr=require("babylonjs"),Xe=require("babylonjs"),hr=require("babylonjs"),br=require("babylonjs");async function rn(e,r,t,o,n){if(t.loadingQuality=n?.quality??"high",t.loadingTexturesQuality=n?.texturesQuality??t.loadingQuality,t.loadingShadowsQuality=n?.shadowsQuality??t.loadingQuality,$t(),Wt(),Qt(),Zt(),ir(),ur(),yr(),await(0,hr.AppendSceneAsync)(`${e}${r}`,t,{pluginExtension:".babylon",onProgress:i(s=>{let u=Math.min(s.loaded/s.total*.5);n?.onProgress?.(u)},"onProgress")}),!n?.skipAssetsPreload){let s=0;do s=await He(e,t,o);while(s!==0)}br.SceneLoaderFlags.ForceFullSceneLoadingForIncremental&&t.meshes.forEach(s=>M(s)&&s._checkDelayState());let a=t.getWaitingItemsCount();for(;!t.isDisposed&&(!t.isReady()||t.getWaitingItemsCount()>0);){await new Promise(u=>setTimeout(u,150));let s=a-t.getWaitingItemsCount();s===a&&t.textures.forEach(u=>{u.delayLoadState===Xe.Constants.DELAYLOADSTATE_NONE&&(u.delayLoadState=Xe.Constants.DELAYLOADSTATE_LOADED)}),n?.onProgress?.(.5+s/a*.5)}n?.onProgress?.(1),Ce(t),xe(t),t.metadata?.rendering&&(Dt(t,t.metadata.rendering),t.activeCamera&&Et(t.activeCamera,e)),t.metadata?.physicsGravity&&t.getPhysicsEngine()?.setGravity(Sr.Vector3.FromArray(t.metadata?.physicsGravity)),R(t,t,o,e),t.transformNodes.forEach(s=>{R(t,s,o,e)}),t.meshes.forEach(s=>{Ot(s),R(t,s,o,e)}),t.lights.forEach(s=>{R(t,s,o,e)}),t.cameras.forEach(s=>{R(t,s,o,e)}),t.spriteManagers?.forEach(s=>{s.sprites.forEach(u=>{R(t,u,o,e)})}),j(t)}i(rn,"loadScene");var Pr=require("babylonjs");async function nn(e,r,t){let n=await(await fetch(e+r)).json(),s=Pr.Tools.Instantiate(n.customType).Parse(n,t,e);return s.id=n.id,s.uniqueId=n.uniqueId,s}i(nn,"loadMaterialFromFile");function on(e){return Promise.all(e.materials.map(async r=>{let t=r.getBindedMeshes();await Promise.all(t.map(async o=>{Z(o)||await r.forceCompilationAsync(o,{clipPlane:!!e.clipPlane,useInstances:o.hasInstances})}))}))}i(on,"forceCompileAllSceneMaterials");function sn(e){e.setTextureFormatToUse(["-dxt.ktx","-astc.ktx","-pvrtc.ktx","-etc1.ktx","-etc2.ktx"])}i(sn,"configureEngineToUseCompressedTextures");var L=require("babylonjs");function oe(e){if(!isNaN(parseFloat(e))&&isFinite(e))return L.Animation.ANIMATIONTYPE_FLOAT;switch(e?.getClassName?.()){case"Vector2":return L.Animation.ANIMATIONTYPE_VECTOR2;case"Vector3":return L.Animation.ANIMATIONTYPE_VECTOR3;case"Quaternion":return L.Animation.ANIMATIONTYPE_QUATERNION;case"Color3":return L.Animation.ANIMATIONTYPE_COLOR3;case"Color4":return L.Animation.ANIMATIONTYPE_COLOR4;case"Size":return L.Animation.ANIMATIONTYPE_SIZE;case"Matrix":return L.Animation.ANIMATIONTYPE_MATRIX}return null}i(oe,"getAnimationTypeForObject");var Ar=require("babylonjs");function an(e){return function(r,t){let o=r.constructor;o._NodesFromScene??=[],o._NodesFromScene.push({propertyKey:t,nodeName:e})}}i(an,"nodeFromScene");function ln(e,r=!1){return function(t,o){let n=t.constructor;n._NodesFromDescendants??=[],n._NodesFromDescendants.push({propertyKey:o,nodeName:e,directDescendantsOnly:r})}}i(ln,"nodeFromDescendants");function cn(e){return function(r,t){let o=r.constructor;o._AnimationGroups??=[],o._AnimationGroups.push({animationGroupName:e,propertyKey:t})}}i(cn,"animationGroupFromScene");function mn(e){return function(r,t){let o=r.constructor;o._SceneAssets??=[],o._SceneAssets.push({sceneName:e,propertyKey:t})}}i(mn,"sceneAsset");function pn(e,r){return function(t,o){let n=t.constructor;n._GuiFromAsset??=[],n._GuiFromAsset.push({propertyKey:o,pathInAssets:e,onGuiCreated:r})}}i(pn,"guiFromAsset");function un(e){return function(r,t){let o=r.constructor;o._SoundsFromScene??=[],o._SoundsFromScene.push({propertyKey:t,soundName:e})}}i(un,"soundFromScene");function fn(e,r=!1){return function(t,o){let n=t.constructor;n._ParticleSystemsFromScene??=[],n._ParticleSystemsFromScene.push({propertyKey:o,particleSystemName:e,directDescendantsOnly:r})}}i(fn,"particleSystemFromScene");function gn(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"boolean"}})}}i(gn,"visibleAsBoolean");function dn(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"string"}})}}i(dn,"visibleAsString");function yn(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"number"}})}}i(yn,"visibleAsNumber");function Sn(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"vector2"}})}}i(Sn,"visibleAsVector2");function hn(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"vector3"}})}}i(hn,"visibleAsVector3");function bn(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"color3"}})}}i(bn,"visibleAsColor3");function Pn(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"color4"}})}}i(Pn,"visibleAsColor4");function An(e,r,t){return function(o,n){let a=o.constructor;a._VisibleInInspector??=[],a._VisibleInInspector.push({label:r,propertyKey:n,configuration:{...t,entityType:e,type:"entity"}})}}i(An,"visibleAsEntity");function In(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"texture"}})}}i(In,"visibleAsTexture");function Cn(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"keymap"}})}}i(Cn,"visibleAsKeyMap");function xn(e,r,t){return function(o,n){let a=o.constructor;a._VisibleInInspector??=[],a._VisibleInInspector.push({label:r,propertyKey:n,configuration:{...t,assetType:e,type:"asset"}})}}i(xn,"visibleAsAsset");function vn(e,r){return function(t,o){let n=t.constructor;n._PointerEvents??=[],n._PointerEvents.push({propertyKey:o,options:{mode:"global",...r??{}},eventTypes:Array.isArray(e)?e:[e]})}}i(vn,"onPointerEvent");function En(e){return function(r,t){let o=r.constructor;o._KeyboardEvents??=[],o._KeyboardEvents.push({propertyKey:t,eventTypes:Array.isArray(e)?e:[e]})}}i(En,"onKeyboardEvent");function Tn(e){return function(r,t){let o=r.constructor;o._SpritesFromSpriteManager??=[],o._SpritesFromSpriteManager.push({propertyKey:t,spriteName:e})}}i(Tn,"spriteFromSpriteManager");function On(e){return function(r,t){let o=r.constructor;o._AnimationsFromSprite??=[],o._AnimationsFromSprite.push({propertyKey:t,animationName:e})}}i(On,"animationFromSprite");var de=require("babylonjs");function Rm(e,r){let t;return e===de.Animation.ANIMATIONTYPE_FLOAT?t=r.value:t=r.value.clone(),{value:t,frame:r.frame,interpolation:r.interpolation,inTangent:e===de.Animation.ANIMATIONTYPE_FLOAT?r.inTangent:r.inTangent?.clone(),outTangent:e===de.Animation.ANIMATIONTYPE_FLOAT?r.outTangent:r.outTangent?.clone()}}i(Rm,"cloneKey");function ye(e,r){let t=r.split("."),o=e;for(let n=0;n<t.length;++n)o=o[t[n]];return o}i(ye,"getPropertyValue");function et(e,r,t){let o=null;e.onAnimationGroupPlayObservable.add(()=>{o=r.onAfterAnimationsObservable.add(()=>{t()})}),e.onAnimationGroupPauseObservable.add(()=>{o&&(r.onAfterAnimationsObservable.remove(o),o=null)}),e.onAnimationGroupEndObservable.add(()=>{o&&(r.onAfterAnimationsObservable.remove(o),o=null)})}i(et,"registerAfterAnimationCallback");var V=require("babylonjs"),Se=require("babylonjs"),_=require("babylonjs");function Dn(e,r){return{name:e.name,framesPerSecond:e.framesPerSecond,outputFramesPerSecond:e.outputFramesPerSecond,tracks:e.tracks.map(t=>{let o=null,n=null;if(t.node?(o=r.getNodeById(t.node),o||(o=r.particleSystems?.find(s=>s.id===t.node)??null)):t.defaultRenderingPipeline&&(o=ee()),t.propertyPath){let s=ye(o,t.propertyPath);n=oe(s)}let a=null;return t.sound&&(a=me(t.sound,r)),{node:o,sound:a,propertyPath:t.propertyPath,defaultRenderingPipeline:t.defaultRenderingPipeline,animationGroup:t.animationGroup?r.getAnimationGroupByName(t.animationGroup):null,animationGroups:t.animationGroups,sounds:t.sounds,soundVolume:tt(t.soundVolume??[],V.Animation.ANIMATIONTYPE_FLOAT),keyFrameEvents:t.keyFrameEvents?.map(s=>{let u={...s};switch(s.data?.type){case"set-enabled":u.data={type:"set-enabled",value:s.data.value,node:r.getNodeById(s.data.node)};break;case"apply-impulse":u.data={type:"apply-impulse",radius:s.data.radius,mesh:r.getMeshById(s.data.mesh),force:_.Vector3.FromArray(s.data.force),contactPoint:_.Vector3.FromArray(s.data.contactPoint)};break}return u}),keyFrameAnimations:o&&n!==null&&tt(t.keyFrameAnimations??[],n)}})}}i(Dn,"parseCinematic");function F(e,r){if(e===null)return null;if(e!==void 0)switch(r){case V.Animation.ANIMATIONTYPE_FLOAT:return e;case V.Animation.ANIMATIONTYPE_VECTOR2:return _.Vector2.FromArray(e);case V.Animation.ANIMATIONTYPE_VECTOR3:return _.Vector3.FromArray(e);case V.Animation.ANIMATIONTYPE_QUATERNION:return _.Quaternion.FromArray(e);case V.Animation.ANIMATIONTYPE_COLOR3:return Se.Color3.FromArray(e);case V.Animation.ANIMATIONTYPE_COLOR4:return Se.Color4.FromArray(e);case V.Animation.ANIMATIONTYPE_MATRIX:return _.Matrix.FromArray(e)}}i(F,"parseCinematicKeyValue");function tt(e,r){return e?.map(t=>{let o=t.type==="key"?t:null;if(o)return{...o,value:F(o.value,r),inTangent:F(o.inTangent,r),outTangent:F(o.outTangent,r)};let n=t.type==="cut"?t:null;if(n)return{...n,key1:{...n.key1,value:F(n.key1.value,r),inTangent:F(n.key1.inTangent,r),outTangent:F(n.key1.outTangent,r)},key2:{...n.key2,value:F(n.key2.value,r),inTangent:F(n.key2.inTangent,r),outTangent:F(n.key2.outTangent,r)}};throw new Error(`Unknown key frame type: ${t.type}`)})}i(tt,"parseKeyFrameAnimations");function Ir(e,r){e.onEventObservable.notifyObservers(r.eventName)}i(Ir,"handleApplyEvent");function Cr(e){e.node?.setEnabled(e.value)}i(Cr,"handleSetEnabledEvent");var rt=require("babylonjs"),xr=rt.Vector3.Zero();function vr(e,r){let t=r.mesh?[r.mesh]:e.meshes.filter(o=>o.physicsAggregate);r.radius&&(t=t.filter(o=>{let n=o.getBoundingInfo().boundingBox.centerWorld;return rt.Vector3.Distance(n,r.contactPoint)<=r.radius})),t.forEach(o=>{if(o.physicsAggregate?.body){let n=r.contactPoint.subtract(o.getBoundingInfo().boundingBox.centerWorld);n.multiplyInPlace(r.force),o.physicsAggregate.body.setLinearVelocity(xr),o.physicsAggregate.body.setAngularVelocity(xr),o.physicsAggregate.body.applyImpulse(n.negateInPlace(),r.contactPoint)}})}i(vr,"handleApplyImpulseEvent");var Er=require("babylonjs"),Tr=require("babylonjs"),ie=class extends Tr.AnimationGroup{static{i(this,"Cinematic")}onEventObservable=new Er.Observable;onEvent(r,t){this.onEventObservable.add(o=>{r===o&&t()})}};function nt(e){return e.type==="key"}i(nt,"isCinematicKey");function U(e){return e.type==="cut"}i(U,"isCinematicKeyCut");function Mn(e){return e.type==="event"}i(Mn,"isCinematicKeyEvent");function Rn(e){return e.type==="group"}i(Rn,"isCinematicGroup");function wn(e){return e.type==="sound"}i(wn,"isCinematicSound");var I=require("babylonjs"),q=require("babylonjs");function Nn(e,r,t){let o=new ie(e.name,r);return e.tracks.forEach(n=>{let a=n.animationGroup;if(a&&n.animationGroups?.length){let f=a.clone(`${a.name}-cinematic-temp`),d=r.animationGroups.indexOf(f);d!==-1&&r.animationGroups.splice(d,1),o.onAnimationEndObservable.add(()=>{a.stop(),f.stop()});let y=n.animationGroups.reduce((T,A)=>Math.min(T,A.frame),Number.MAX_VALUE)??0,b=n.animationGroups.reduce((T,A)=>Math.max(T,A.frame+A.endFrame),0)??0,C={frame:y},D=new I.Animation(f.name,"frame",60,I.Animation.ANIMATIONTYPE_FLOAT,I.Animation.ANIMATIONLOOPMODE_CYCLE,!1);if(D.setKeys([{frame:y,value:0},{frame:b,value:b}]),n.animationGroups.forEach(T=>{D.addEvent(new q.AnimationEvent(T.frame,()=>{let A=T.repeatCount??0;if(f.to=T.endFrame,f.speedRatio=T.speed,f.stop(),f.play(A>0),f.from!==T.startFrame&&f.goToFrame(T.startFrame),A){let J=0;f.onAnimationGroupLoopObservable.add(()=>{++J,J>A&&f.stop()})}}))}),o.addTargetedAnimation(D,C),(n.animationGroupWeight?.length??0)>=2&&n.animationGroupWeight.find(A=>U(A)?A.key1.value!==1||A.key2.value!==1:A.value!==1)){let A={weight:0},J=new I.Animation(`${f.name}-weights`,"weight",60,I.Animation.ANIMATIONTYPE_FLOAT,I.Animation.ANIMATIONLOOPMODE_CYCLE,!1),se=[];n.animationGroupWeight.forEach(ae=>{U(ae)?(se.push(ae.key1),se.push(ae.key2)):se.push(ae)}),J.setKeys(se),o.addTargetedAnimation(J,A),et(o,r,()=>{f.weight=A.weight})}}let s=n.sound,u=s?.getAudioBuffer();if(!t?.ignoreSounds&&s&&u&&n.sounds?.length){let f={dummy:0,volume:0},d=new I.Animation(s.name,"dummy",60,I.Animation.ANIMATIONTYPE_FLOAT,I.Animation.ANIMATIONLOOPMODE_CYCLE,!1),y=0;if(n.sounds?.forEach(b=>{let C=b.endFrame-b.startFrame;y=Math.max(y,b.frame+C),d.addEvent(new q.AnimationEvent(b.frame,D=>{let A=(D-b.frame+b.startFrame)/e.framesPerSecond;s.play(0,A)},!1)),d.addEvent(new q.AnimationEvent(b.frame+C,()=>{s.stop()}))}),d.setKeys([{frame:0,value:0},{frame:y,value:y}]),o.addTargetedAnimation(d,f),(n.soundVolume?.length??0)>=2){let b=new I.Animation(s.name,"volume",60,I.Animation.ANIMATIONTYPE_FLOAT,I.Animation.ANIMATIONLOOPMODE_CYCLE,!1),C=[];n.soundVolume.forEach(D=>{U(D)?(C.push(D.key1),C.push(D.key2)):C.push(D)}),b.setKeys(C),o.addTargetedAnimation(b,f),et(o,r,()=>{s.setVolume(f.volume)})}}if(n.keyFrameEvents){let f={dummy:0},d=new I.Animation("events","dummy",60,I.Animation.ANIMATIONTYPE_FLOAT,I.Animation.ANIMATIONLOOPMODE_CYCLE,!1),y=0;n.keyFrameEvents?.forEach(b=>{y=Math.max(y,b.frame),d.addEvent(new q.AnimationEvent(b.frame,()=>{switch(b.data?.type){case"event":Ir(o,b.data);break;case"set-enabled":Cr(b.data);break;case"apply-impulse":vr(r,b.data);break}}))}),d.setKeys([{frame:0,value:0},{frame:y+1,value:y+1}]),o.addTargetedAnimation(d,f)}let l=n.defaultRenderingPipeline?ee():n.node;if(!l||!n.propertyPath||!n.keyFrameAnimations)return;let m=ye(l,n.propertyPath),p=oe(m);if(p===null)return;let g=new I.Animation(n.propertyPath,n.propertyPath,60,p,I.Animation.ANIMATIONLOOPMODE_CYCLE,!1),S=[];n.keyFrameAnimations?.forEach(f=>{if(nt(f))return S.push(f);U(f)&&(S.push(f.key1),S.push(f.key2),ce(l)&&n.propertyPath==="position"&&g.addEvent(new q.AnimationEvent(f.key1.frame,()=>{let d=Fe();if(!d)return;let y=d.motionStrength;d.motionStrength=0,requestAnimationFrame(()=>{d.motionStrength=y})})))}),g.setKeys(S),o.addTargetedAnimation(g,l)}),o.normalize(),o}i(Nn,"generateCinematicAnimationGroup");0&&(module.exports={AdvancedAssetContainer,Cinematic,NodeParticleSystemSet,_applyScriptsForObject,_preloadScriptsAssets,_registerScriptInstance,_removeRegisteredScriptInstance,animationFromSprite,animationGroupFromScene,applyScriptOnObject,configureEngineToUseCompressedTextures,configureShadowMapRefreshRate,configureShadowMapRenderListPredicate,copyAndParseRagdollConfiguration,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,parseRagdollConfiguration,parseSSAO2RenderingPipeline,parseSSRRenderingPipeline,parseVLSPostProcess,particleSystemFromScene,playSpriteAnimationFromName,registerScriptAssetParser,sceneAsset,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 le=Object.defineProperty;var Rr=Object.getOwnPropertyDescriptor;var wr=Object.getOwnPropertyNames;var Nr=Object.prototype.hasOwnProperty;var i=(e,r)=>le(e,"name",{value:r,configurable:!0});var Fr=(e,r)=>{for(var t in r)le(e,t,{get:r[t],enumerable:!0})},_r=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of wr(r))!Nr.call(e,n)&&n!==t&&le(e,n,{get:()=>r[n],enumerable:!(o=Rr(r,n))||o.enumerable});return e};var Lr=e=>_r(le({},"__esModule",{value:!0}),e);var Vn={};Fr(Vn,{AdvancedAssetContainer:()=>re,Cinematic:()=>ie,NodeParticleSystemSet:()=>xr.NodeParticleSystemSet,_applyScriptsForObject:()=>R,_preloadScriptsAssets:()=>He,_registerScriptInstance:()=>Qe,_removeRegisteredScriptInstance:()=>pe,animationFromSprite:()=>Rn,animationGroupFromScene:()=>un,applyScriptOnObject:()=>rn,configureEngineToUseCompressedTextures:()=>cn,configureShadowMapRefreshRate:()=>xe,configureShadowMapRenderListPredicate:()=>Ie,copyAndParseRagdollConfiguration:()=>$e,createDefaultRenderingPipeline:()=>vt,createMotionBlurPostProcess:()=>Pt,createSSAO2RenderingPipeline:()=>ht,createSSRRenderingPipeline:()=>ut,createVLSPostProcess:()=>mt,defaultPipelineCameraConfigurations:()=>H,disposeDefaultRenderingPipeline:()=>Be,disposeMotionBlurPostProcess:()=>_e,disposeSSAO2RenderingPipeline:()=>Re,disposeSSRRenderingPipeline:()=>Oe,disposeVLSPostProcess:()=>ve,forceCompileAllSceneMaterials:()=>ln,generateCinematicAnimationGroup:()=>Ln,getAllScriptsByClassForObject:()=>Kt,getAnimationTypeForObject:()=>oe,getDefaultRenderingPipeline:()=>ee,getMotionBlurPostProcess:()=>Fe,getPowerOfTwoUntil:()=>N,getSSAO2RenderingPipeline:()=>Jr,getSSRRenderingPipeline:()=>Qr,getScriptByClassForObject:()=>nn,getVLSPostProcess:()=>Hr,guiFromAsset:()=>gn,isAbstractMesh:()=>G,isAnyParticleSystem:()=>Ae,isArcRotateCamera:()=>Kr,isBone:()=>Vr,isCamera:()=>ce,isCinematicGroup:()=>Fn,isCinematicKey:()=>nt,isCinematicKeyCut:()=>U,isCinematicKeyEvent:()=>Nn,isCinematicSound:()=>_n,isDirectionalLight:()=>zr,isFreeCamera:()=>Br,isGPUParticleSystem:()=>Wr,isGroundMesh:()=>Gr,isHemisphericLight:()=>Yr,isInstancedMesh:()=>Z,isLight:()=>ot,isMesh:()=>M,isNode:()=>k,isParticleSystem:()=>Pe,isPointLight:()=>kr,isScene:()=>be,isSpotLight:()=>$r,isSprite:()=>Ce,isTexture:()=>he,isTransformNode:()=>K,loadMaterialFromFile:()=>an,loadScene:()=>sn,motionBlurPostProcessCameraConfigurations:()=>W,nodeFromDescendants:()=>pn,nodeFromScene:()=>mn,normalizeAtlasJson:()=>qe,onKeyboardEvent:()=>Dn,onPointerEvent:()=>On,parseCinematic:()=>wn,parseCinematicKeyValue:()=>F,parseDefaultRenderingPipeline:()=>ke,parseKeyFrameAnimations:()=>tt,parseMotionBlurPostProcess:()=>Ve,parseRagdollConfiguration:()=>Rt,parseSSAO2RenderingPipeline:()=>Ne,parseSSRRenderingPipeline:()=>Me,parseVLSPostProcess:()=>Te,particleSystemFromScene:()=>yn,playSpriteAnimationFromName:()=>on,registerScriptAssetParser:()=>tn,sceneAsset:()=>fn,scriptAssetsCache:()=>O,scriptAssetsParsers:()=>ne,scriptsDictionary:()=>w,serializeDefaultRenderingPipeline:()=>Ke,serializeMotionBlurPostProcess:()=>Le,serializeSSAO2RenderingPipeline:()=>we,serializeSSRRenderingPipeline:()=>De,serializeVLSPostProcess:()=>Ee,setDefaultRenderingPipelineRef:()=>en,setMotionBlurPostProcessRef:()=>Xr,setSSAO2RenderingPipelineRef:()=>Zr,setSSRRenderingPipelineRef:()=>Ur,setVLSPostProcessRef:()=>jr,soundFromScene:()=>dn,spriteFromSpriteManager:()=>Mn,ssaoRenderingPipelineCameraConfigurations:()=>Y,ssrRenderingPipelineCameraConfigurations:()=>$,visibleAsAsset:()=>Tn,visibleAsBoolean:()=>Sn,visibleAsColor3:()=>Cn,visibleAsColor4:()=>In,visibleAsEntity:()=>xn,visibleAsKeyMap:()=>En,visibleAsNumber:()=>bn,visibleAsString:()=>hn,visibleAsTexture:()=>vn,visibleAsVector2:()=>Pn,visibleAsVector3:()=>An,vlsPostProcessCameraConfigurations:()=>z});module.exports=Lr(Vn);function G(e){switch(e.getClassName?.()){case"Mesh":case"LineMesh":case"GroundMesh":case"InstancedMesh":return!0}return!1}i(G,"isAbstractMesh");function M(e){switch(e.getClassName?.()){case"Mesh":case"GroundMesh":return!0}return!1}i(M,"isMesh");function Z(e){return e.getClassName?.()==="InstancedMesh"}i(Z,"isInstancedMesh");function Vr(e){return e.getClassName?.()==="Bone"}i(Vr,"isBone");function Gr(e){return e.getClassName?.()==="GroundMesh"}i(Gr,"isGroundMesh");function K(e){return e.getClassName?.()==="TransformNode"}i(K,"isTransformNode");function he(e){return e?.getClassName?.()==="Texture"}i(he,"isTexture");function ce(e){switch(e.getClassName?.()){case"Camera":case"FreeCamera":case"TargetCamera":case"EditorCamera":case"ArcRotateCamera":case"UniversalCamera":return!0}return!1}i(ce,"isCamera");function Br(e){switch(e.getClassName?.()){case"FreeCamera":case"UniversalCamera":return!0}return!1}i(Br,"isFreeCamera");function Kr(e){return e.getClassName?.()==="ArcRotateCamera"}i(Kr,"isArcRotateCamera");function kr(e){return e.getClassName?.()==="PointLight"}i(kr,"isPointLight");function zr(e){return e.getClassName?.()==="DirectionalLight"}i(zr,"isDirectionalLight");function $r(e){return e.getClassName?.()==="SpotLight"}i($r,"isSpotLight");function Yr(e){return e.getClassName?.()==="HemisphericLight"}i(Yr,"isHemisphericLight");function ot(e){switch(e.getClassName?.()){case"Light":case"PointLight":case"SpotLight":case"DirectionalLight":case"HemisphericLight":return!0}return!1}i(ot,"isLight");function k(e){return G(e)||K(e)||ot(e)||ce(e)}i(k,"isNode");function be(e){return e.getClassName?.()==="Scene"}i(be,"isScene");function Pe(e){return e.getClassName?.()==="ParticleSystem"}i(Pe,"isParticleSystem");function Wr(e){return e.getClassName?.()==="GPUParticleSystem"}i(Wr,"isGPUParticleSystem");function Ae(e){switch(e.getClassName?.()){case"ParticleSystem":case"GPUParticleSystem":return!0}return!1}i(Ae,"isAnyParticleSystem");function Ce(e){return e.getClassName?.()==="Sprite"}i(Ce,"isSprite");var it=require("babylonjs"),st=require("babylonjs");function Ie(e){e.lights.forEach(r=>{let t=r.getShadowGenerator()?.getShadowMap();t&&(t.renderListPredicate=o=>it.Vector3.Distance(o.getAbsolutePosition(),r.getAbsolutePosition())<=r.range)})}i(Ie,"configureShadowMapRenderListPredicate");async function xe(e){e.executeWhenReady(()=>{e.lights.forEach(r=>{let t=r.getShadowGenerator()?.getShadowMap();t&&(t.refreshRate=r.metadata?.refreshRate??st.RenderTargetTexture.REFRESHRATE_RENDER_ONEVERYFRAME)})})}i(xe,"configureShadowMapRefreshRate");var at=require("babylonjs"),lt=require("babylonjs"),ct=require("babylonjs"),x=null,z=new Map;function Hr(){return x}i(Hr,"getVLSPostProcess");function jr(e){x=e}i(jr,"setVLSPostProcessRef");function ve(e){x&&e.activeCamera&&(x.dispose(e.activeCamera),x=null)}i(ve,"disposeVLSPostProcess");function mt(e,r){return r??=e.meshes.find(t=>M(t)),x=new ct.VolumetricLightScatteringPostProcess("VolumetricLightScatteringPostProcess",1,e.activeCamera,r,100,lt.Texture.BILINEAR_SAMPLINGMODE,e.getEngine(),!1),x}i(mt,"createVLSPostProcess");function Ee(){return x?{meshId:x.mesh?.id,exposure:x.exposure,decay:x.decay,weight:x.weight,density:x.density,invert:x.invert,useCustomMeshPosition:x.useCustomMeshPosition,customMeshPosition:x.customMeshPosition.asArray()}:null}i(Ee,"serializeVLSPostProcess");function Te(e,r){let t=null;if(r.meshId){let n=e.getMeshById(r.meshId);n&&M(n)&&(t=n)}let o=mt(e,t);return o.exposure=r.exposure,o.decay=r.decay,o.weight=r.weight,o.density=r.density,o.invert=r.invert,o.useCustomMeshPosition=r.useCustomMeshPosition,o.customMeshPosition.copyFrom(at.Vector3.FromArray(r.customMeshPosition)),o}i(Te,"parseVLSPostProcess");var pt=require("babylonjs"),h=null,$=new Map;function Qr(){return h}i(Qr,"getSSRRenderingPipeline");function Ur(e){h=e}i(Ur,"setSSRRenderingPipelineRef");function Oe(){h&&(h.dispose(),h=null)}i(Oe,"disposeSSRRenderingPipeline");function ut(e,r){return h=new pt.SSRRenderingPipeline("SSRRenderingPipeline",e,[r]),h.samples=4,h}i(ut,"createSSRRenderingPipeline");function De(){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(De,"serializeSSRRenderingPipeline");function Me(e,r,t){if(h)return h;let o=ut(e,r);return o.samples=t.samples,o.step=t.step,o.thickness=t.thickness,o.strength=t.strength,o.reflectionSpecularFalloffExponent=t.reflectionSpecularFalloffExponent,o.maxSteps=t.maxSteps,o.maxDistance=t.maxDistance,o.roughnessFactor=t.roughnessFactor,o.reflectivityThreshold=t.reflectivityThreshold,o.blurDispersionStrength=t.blurDispersionStrehgth,o.clipToFrustum=t.clipToFrustum,o.enableSmoothReflections=t.enableSmoothReflections,o.enableAutomaticThicknessComputation=t.enableAutomaticThicknessComputation,o.attenuateFacingCamera=t.attenuateFacingCamera,o.attenuateScreenBorders=t.attenuateScreenBorders,o.attenuateIntersectionDistance=t.attenuateIntersectionDistance,o.attenuateBackfaceReflection=t.attenuateBackfaceReflection,o.blurDownsample=t.blurDownsample,o.selfCollisionNumSkip=t.selfCollisionNumSkip,o.ssrDownsample=t.ssrDownsample,o.backfaceDepthTextureDownsample=t.backfaceDepthTextureDownsample,o}i(Me,"parseSSRRenderingPipeline");var ft=require("babylonjs"),v=null,X=new Map;function Xo(){return v}i(Xo,"getTAARenderingPipeline");function ei(e){v=e}i(ei,"setTAARenderingPipelineRef");function gt(){v&&(v.dispose(),v=null)}i(gt,"disposeTAARenderingPipeline");function qr(e,r){return v=new ft.TAARenderingPipeline("TAARenderingPipeline",e,[r]),v.samples=4,v}i(qr,"createTAARenderingPipeline");function dt(){return v?{factor:v.factor,samples:v.samples,clampHistory:v.clampHistory,reprojectHistory:v.reprojectHistory,disableOnCameraMove:v.disableOnCameraMove}:null}i(dt,"serializeTAARenderingPipeline");function yt(e,r,t){if(v)return v;let o=qr(e,r);return o.factor=t.factor,o.samples=t.samples,o.clampHistory=t.clampHistory,o.reprojectHistory=t.reprojectHistory,o.disableOnCameraMove=t.disableOnCameraMove,o}i(yt,"parseTAARenderingPipeline");var St=require("babylonjs"),P=null,Y=new Map;function Jr(){return P}i(Jr,"getSSAO2RenderingPipeline");function Zr(e){P=e}i(Zr,"setSSAO2RenderingPipelineRef");function Re(){P&&(P.dispose(),P=null)}i(Re,"disposeSSAO2RenderingPipeline");function ht(e,r){return P=new St.SSAO2RenderingPipeline("SSAO2RenderingPipeline",e,1,[r]),P.samples=4,P}i(ht,"createSSAO2RenderingPipeline");function we(){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(we,"serializeSSAO2RenderingPipeline");function Ne(e,r,t){if(P)return P;let o=ht(e,r);return o.radius=t.radius,o.totalStrength=t.totalStrength,o.samples=t.samples,o.maxZ=t.maxZ,o.minZAspect=t.minZAspect,o.epsilon=t.epsilon,o.textureSamples=t.textureSamples,o.bypassBlur=t.bypassBlur,o.bilateralSamples=t.bilateralSamples,o.bilateralSoften=t.bilateralSoften,o.bilateralTolerance=t.bilateralTolerance,o.expensiveBlur=t.expensiveBlur,o}i(Ne,"parseSSAO2RenderingPipeline");var bt=require("babylonjs"),E=null,W=new Map;function Fe(){return E}i(Fe,"getMotionBlurPostProcess");function Xr(e){E=e}i(Xr,"setMotionBlurPostProcessRef");function _e(){E&&(E.dispose(),E=null)}i(_e,"disposeMotionBlurPostProcess");function Pt(e,r){return E=new bt.MotionBlurPostProcess("MotionBlurPostProcess",e,1,r),E.motionStrength=1,E.isObjectBased=!0,E}i(Pt,"createMotionBlurPostProcess");function Le(){return E?{isObjectBased:E.isObjectBased,motionStrength:E.motionStrength,motionBlurSamples:E.motionBlurSamples}:null}i(Le,"serializeMotionBlurPostProcess");function Ve(e,r,t){if(E)return E;let o=Pt(e,r);return o.isObjectBased=t.isObjectBased,o.motionStrength=t.motionStrength,o.motionBlurSamples=t.motionBlurSamples,o}i(Ve,"parseMotionBlurPostProcess");var At=require("babylonjs"),Ge=require("babylonjs"),Ct=require("babylonjs"),It=require("babylonjs"),xt=require("babylonjs"),m=null,H=new Map;function ee(){return m}i(ee,"getDefaultRenderingPipeline");function en(e){m=e}i(en,"setDefaultRenderingPipelineRef");function Be(){m&&(m.dispose(),m=null)}i(Be,"disposeDefaultRenderingPipeline");function vt(e,r){return m=new xt.DefaultRenderingPipeline("DefaultRenderingPipeline",!0,e,[r]),m.samples=4,m.depthOfField.lensSize=512,m.depthOfField.fStop=.25,m.depthOfField.focusDistance=55e3,m}i(vt,"createDefaultRenderingPipeline");function Ke(){return m?{samples:m.samples,fxaaEnabled:m.fxaaEnabled,imageProcessingEnabled:m.imageProcessingEnabled,exposure:m.imageProcessing?.exposure,contrast:m.imageProcessing?.contrast,fromLinearSpace:m.imageProcessing?.fromLinearSpace,toneMappingEnabled:m.imageProcessing?.toneMappingEnabled,toneMappingType:m.imageProcessing?.toneMappingType,ditheringEnabled:m.imageProcessing?.ditheringEnabled,ditheringIntensity:m.imageProcessing?.ditheringIntensity,bloomEnabled:m.bloomEnabled,bloomThreshold:m.bloomThreshold,bloomWeight:m.bloomWeight,bloomScale:m.bloomScale,bloomKernel:m.bloomKernel,sharpenEnabled:m.sharpenEnabled,sharpenEdgeAmount:m.sharpen.edgeAmount,sharpenColorAmount:m.sharpen.colorAmount,grainEnabled:m.grainEnabled,grainIntensity:m.grain.intensity,grainAnimated:m.grain.animated,depthOfFieldEnabled:m.depthOfFieldEnabled,depthOfFieldBlurLevel:m.depthOfFieldBlurLevel,lensSize:m.depthOfField.lensSize,fStop:m.depthOfField.fStop,focusDistance:m.depthOfField.focusDistance,focalLength:m.depthOfField.focalLength,vignetteEnabled:m.imageProcessing?.vignetteEnabled,vignetteColor:m.imageProcessing?.vignetteColor.asArray(),vignetteWeight:m.imageProcessing?.vignetteWeight,chromaticAberrationEnabled:m.chromaticAberrationEnabled,aberrationAmount:m.chromaticAberration.aberrationAmount,radialIntensity:m.chromaticAberration.radialIntensity,direction:m.chromaticAberration.direction.asArray(),centerPosition:m.chromaticAberration.centerPosition.asArray(),glowLayerEnabled:m.glowLayerEnabled,glowLayerIntensity:m.glowLayer?.intensity,glowLayerBlurKernelSize:m.glowLayer?.blurKernelSize,colorGradingEnabled:m.imageProcessing.colorGradingEnabled,colorGradingTexture:m.imageProcessing.colorGradingTexture?.serialize(),colorGradingWithGreenDepth:m.imageProcessing.imageProcessingConfiguration.colorGradingWithGreenDepth,colorCurvesEnabled:m.imageProcessing.colorCurvesEnabled,globalHue:m.imageProcessing.colorCurves?.globalHue,globalDensity:m.imageProcessing.colorCurves?.globalDensity,globalExposure:m.imageProcessing.colorCurves?.globalExposure,globalSaturation:m.imageProcessing.colorCurves?.globalSaturation,highlightsHue:m.imageProcessing.colorCurves?.highlightsHue,highlightsDensity:m.imageProcessing.colorCurves?.highlightsDensity,highlightsExposure:m.imageProcessing.colorCurves?.highlightsExposure,highlightsSaturation:m.imageProcessing.colorCurves?.highlightsSaturation,midtonesHue:m.imageProcessing.colorCurves?.midtonesHue,midtonesDensity:m.imageProcessing.colorCurves?.midtonesDensity,midtonesExposure:m.imageProcessing.colorCurves?.midtonesExposure,midtonesSaturation:m.imageProcessing.colorCurves?.midtonesSaturation,shadowsHue:m.imageProcessing.colorCurves?.shadowsHue,shadowsDensity:m.imageProcessing.colorCurves?.shadowsDensity,shadowsExposure:m.imageProcessing.colorCurves?.shadowsExposure,shadowsSaturation:m.imageProcessing.colorCurves?.shadowsSaturation}:null}i(Ke,"serializeDefaultRenderingPipeline");function ke(e,r,t,o){if(m)return m;let n=vt(e,r);if(n.samples=t.samples,n.fxaaEnabled=t.fxaaEnabled,n.imageProcessingEnabled=t.imageProcessingEnabled,n.imageProcessing){if(n.imageProcessing.exposure=t.exposure,n.imageProcessing.contrast=t.contrast,n.imageProcessing.fromLinearSpace=t.fromLinearSpace,n.imageProcessing.toneMappingEnabled=t.toneMappingEnabled,n.imageProcessing.toneMappingType=t.toneMappingType,n.imageProcessing.ditheringEnabled=t.ditheringEnabled,n.imageProcessing.ditheringIntensity=t.ditheringIntensity,n.imageProcessing.vignetteEnabled=t.vignetteEnabled??!1,n.imageProcessing.vignetteColor=At.Color4.FromArray(t.vignetteColor??[0,0,0]),n.imageProcessing.vignetteWeight=t.vignetteWeight??.3,n.imageProcessing.colorGradingEnabled=t.colorGradingEnabled??!1,n.imageProcessing.imageProcessingConfiguration.colorGradingWithGreenDepth=t.colorGradingWithGreenDepth??!0,t.colorGradingTexture){let s=null;if(t.colorGradingTexture.customType==="BABYLON.ColorGradingTexture"){let a=o+t.colorGradingTexture.name;s=new It.ColorGradingTexture(a,e),s.level=t.colorGradingTexture.level}else{let a=Ct.Texture.Parse(t.colorGradingTexture,e,o);he(a)&&(s=a)}n.imageProcessing.colorGradingTexture=s}n.imageProcessing.colorCurvesEnabled=t.colorCurvesEnabled??!1,n.imageProcessing.colorCurves&&(n.imageProcessing.colorCurves.globalHue=t.globalHue??30,n.imageProcessing.colorCurves.globalDensity=t.globalDensity??0,n.imageProcessing.colorCurves.globalExposure=t.globalExposure??0,n.imageProcessing.colorCurves.globalSaturation=t.globalSaturation??0,n.imageProcessing.colorCurves.highlightsHue=t.highlightsHue??30,n.imageProcessing.colorCurves.highlightsDensity=t.highlightsDensity??0,n.imageProcessing.colorCurves.highlightsExposure=t.highlightsExposure??0,n.imageProcessing.colorCurves.highlightsSaturation=t.highlightsSaturation??0,n.imageProcessing.colorCurves.midtonesHue=t.midtonesHue??30,n.imageProcessing.colorCurves.midtonesDensity=t.midtonesDensity??0,n.imageProcessing.colorCurves.midtonesExposure=t.midtonesExposure??0,n.imageProcessing.colorCurves.midtonesSaturation=t.midtonesSaturation??0,n.imageProcessing.colorCurves.shadowsHue=t.shadowsHue??30,n.imageProcessing.colorCurves.shadowsDensity=t.shadowsDensity??0,n.imageProcessing.colorCurves.shadowsExposure=t.shadowsExposure??0,n.imageProcessing.colorCurves.shadowsSaturation=t.shadowsSaturation??0)}return n.bloomEnabled=t.bloomEnabled,n.bloomThreshold=t.bloomThreshold,n.bloomWeight=t.bloomWeight,n.bloomScale=t.bloomScale,n.bloomKernel=t.bloomKernel,n.sharpenEnabled=t.sharpenEnabled,n.sharpen.edgeAmount=t.sharpenEdgeAmount,n.sharpen.colorAmount=t.sharpenColorAmount,n.grainEnabled=t.grainEnabled,n.grain.intensity=t.grainIntensity,n.grain.animated=t.grainAnimated,n.depthOfFieldEnabled=t.depthOfFieldEnabled,n.depthOfFieldBlurLevel=t.depthOfFieldBlurLevel,n.depthOfField.lensSize=t.lensSize,n.depthOfField.fStop=t.fStop,n.depthOfField.focusDistance=t.focusDistance,n.depthOfField.focalLength=t.focalLength,n.chromaticAberrationEnabled=t.chromaticAberrationEnabled??!1,n.chromaticAberration.aberrationAmount=t.aberrationAmount??10,n.chromaticAberration.radialIntensity=t.radialIntensity??1,n.chromaticAberration.direction=Ge.Vector2.FromArray(t.direction??[0,0]),n.chromaticAberration.centerPosition=Ge.Vector2.FromArray(t.centerPosition??[0,0]),n.glowLayerEnabled=t.glowLayerEnabled??!1,n.glowLayer&&(n.glowLayer.intensity=t.glowLayerIntensity??1,n.glowLayer.blurKernelSize=t.glowLayerBlurKernelSize??32),n}i(ke,"parseDefaultRenderingPipeline");function Mi(e){Y.set(e,we()),z.set(e,Ee()),$.set(e,De()),W.set(e,Le()),H.set(e,Ke()),X.set(e,dt())}i(Mi,"saveRenderingConfigurationForCamera");function Et(e,r){Re(),ve(e.getScene()),Oe(),_e(),Be(),gt();let t=Y.get(e);t&&Ne(e.getScene(),e,t);let o=z.get(e);o&&Te(e.getScene(),o);let n=$.get(e);n&&Me(e.getScene(),e,n);let s=W.get(e);s&&Ve(e.getScene(),e,s);let a=H.get(e);a&&ke(e.getScene(),e,a,r);let f=X.get(e);f&&yt(e.getScene(),e,f)}i(Et,"applyRenderingConfigurationForCamera");var te=require("babylonjs"),Tt=require("babylonjs");function Ot(e){let r=e.metadata?.physicsAggregate;if(!r)return;let t;M(e)?t=e:Z(e)&&(t=e.sourceMesh);let o=new Tt.PhysicsAggregate(e,r.shape.type,{mesh:t,mass:r.massProperties.mass});o.body.setMassProperties({mass:r.massProperties.mass,inertia:r.massProperties.inertia?te.Vector3.FromArray(r.massProperties.inertia):void 0,centerOfMass:r.massProperties.centerOfMass?te.Vector3.FromArray(r.massProperties.centerOfMass):void 0,inertiaOrientation:r.massProperties.inertiaOrientation?te.Quaternion.FromArray(r.massProperties.inertiaOrientation):void 0}),o.shape.density=r.shape.density,o.body.setMotionType(r.body.motionType),o.shape.material=r.material,e.physicsAggregate=o,e.metadata.physicsAggregate=void 0}i(Ot,"configurePhysicsAggregate");function Dt(e,r){(Array.isArray(r)?r:[]).forEach(o=>{let n=e.getCameraById(o.cameraId);n&&(o.ssao2RenderingPipeline&&Y.set(n,o.ssao2RenderingPipeline),o.vlsPostProcess&&z.set(n,o.vlsPostProcess),o.ssrRenderingPipeline&&$.set(n,o.ssrRenderingPipeline),o.motionBlurPostProcess&&W.set(n,o.motionBlurPostProcess),o.defaultRenderingPipeline&&H.set(n,o.defaultRenderingPipeline),o.taaRenderingPipeline&&X.set(n,o.taaRenderingPipeline))})}i(Dt,"applyRenderingConfigurations");function me(e,r){let t=r.soundTracks??[];t.length||t.push(r.mainSoundTrack);for(let o=0,n=t.length;o<n;o++){let s=t[o].soundCollection.find(a=>a.id===e);if(s)return s}return null}i(me,"getSoundById");var B=require("babylonjs"),Mt=require("babylonjs");function ze(e){let r=Mt.Vector3.FromArray(e);return r.equals(B.Axis.X)?B.Axis.X:r.equals(B.Axis.Y)?B.Axis.Y:r.equals(B.Axis.Z)?B.Axis.Z:r}i(ze,"parseAxis");function Rt(e){return e.runtimeConfiguration.forEach(r=>{r.rotationAxis&&(r.rotationAxis=ze(r.rotationAxis)),r.boneOffsetAxis&&(r.boneOffsetAxis=ze(r.boneOffsetAxis))}),e}i(Rt,"parseRagdollConfiguration");function $e(e){let r={rootNodeId:e.rootNodeId,skeletonName:e.skeletonName,scalingFactor:e.scalingFactor,runtimeConfiguration:e.runtimeConfiguration.map(t=>({name:t.name,bones:t.bones,width:t.width,depth:t.depth,height:t.height,size:t.size,joint:t.joint,min:t.min,max:t.max,boxOffset:t.boxOffset,rotationAxis:t.rotationAxis?.slice(),boneOffsetAxis:t.boneOffsetAxis?.slice()}))};return Rt(r)}i($e,"copyAndParseRagdollConfiguration");function Ye(e){return e&&JSON.parse(JSON.stringify(e))}i(Ye,"cloneJSObject");function j(e){let r=new Set;e.transformNodes.forEach(t=>{if(t.metadata?.isStaticGroup){let o=t.getDescendants(!1);o.push(t),o.forEach(n=>{if((G(n)||K(n)&&!n.isWorldMatrixFrozen)&&n.freezeWorldMatrix(),G(n)){let s=n.material;s&&!s.isFrozen&&!r.has(s)&&(r.add(s),s.onBindObservable.addOnce(()=>{s.freeze()}))}})}})}i(j,"configureTransformNodes");var We=require("babylonjs"),re=class{static{i(this,"AdvancedAssetContainer")}container;_rootUrl;_scriptsMap;_originalDescendants=[];_nodesMap=new Map;_animationGroupsMap=new Map;constructor(r,t,o){this.container=r,this._rootUrl=t,this._scriptsMap=o,r.populateRootNodes(),r.rootNodes.forEach(n=>{this._originalDescendants.push(n,...n.getDescendants(!1))}),this._originalDescendants.forEach(n=>{this._nodesMap.set(n,{node:n,metadata:Ye(n.metadata)})}),r.animationGroups.forEach(n=>{this._animationGroupsMap.set(n.name,n)})}removeDefault(){this.container.getNodes().forEach(r=>{w.get(r)?.forEach(o=>{pe(r,o)})}),this.container.removeAllFromScene()}instantiate(r){let t=We.Tools.RandomId(),o=i(a=>a,"nameFunction"),n=this.container.instantiateModelsToScene(o,!1,{...r,predicate:i(a=>(a.name=`${a.name}-${t}_${a.id}`,r?.predicate?.(a)??!0),"predicate")}),s=[];return n.rootNodes.forEach(a=>{s.push(a,...a.getDescendants(!1))}),s.forEach(a=>{let f=a.name.split("_"),l=f.pop();a.name=f.join("_");let c=this._originalDescendants.find(p=>p.id===l);a.id=We.Tools.RandomId(),a.metadata=Ye(this._nodesMap.get(c).metadata),s.forEach(p=>{p.metadata.scripts?.forEach(g=>{Object.keys(g.values||{}).forEach(u=>{let d=g.values[u];if(d.type==="entity"){d.value===l&&(d.value=a.id),d.value===c.name&&(d.value=a.name);let y=this._animationGroupsMap.get(d.value);y&&(d.value=o(y.name))}})})})}),s.forEach(a=>{R(this.container.scene,a,this._scriptsMap,this._rootUrl)}),j(this.container.scene),n}};var wt=require("babylonjs"),Nt=require("babylonjs");async function Ft(e,r,t){let n=e.split("/").pop().replace(".scene",".babylon"),s=await(0,Nt.LoadAssetContainerAsync)(n,t,{rootUrl:r,pluginExtension:".babylon"});return wt.SceneLoaderFlags.ForceFullSceneLoadingForIncremental&&t.meshes.forEach(a=>M(a)&&a._checkDelayState()),s.addAllToScene(),j(t),s}i(Ft,"preloadSceneScriptAsset");async function _t(e,r){return await(await fetch(`${r}${e}`)).json()}i(_t,"preloadCommonScriptAsset");var O=new Map,ne=new Map;function tn(e,r){ne.has(e)&&console.warn(`A parser for the extension '${e}' was already registered. It will be overwritten.`),ne.set(e,r)}i(tn,"registerScriptAssetParser");async function He(e,r,t){[r,...r.transformNodes,...r.meshes,...r.lights,...r.cameras].filter(f=>f.metadata?.scripts?.length).map(f=>f.metadata.scripts).flat().forEach(f=>{if(t[f.key]?.default?._SceneAssets?.forEach(c=>{O.get(c.sceneName)||O.set(c.sceneName,null)}),f.values)for(let c in f.values){if(!f.values.hasOwnProperty(c))continue;let p=f.values[c];p.type==="asset"&&p.value&&!O.get(p.value)&&O.set(p.value,null)}});let s=0;for(let f of O.values())f===null&&++s;if(s===0)return s;let a=[];return O.forEach((f,l)=>{O.get(l)||a.push(new Promise(async c=>{try{let p=l.split(".").pop();switch(p){case"scene":O.set(l,new re(await Ft(l,e,r),e,t));break;default:if(ne.has(p)){let g=ne.get(p);O.set(l,await g({key:l,rootUrl:e,scene:r}));break}else O.set(l,await _t(l,e));break}}catch(p){console.error(p)}c()}))}),await Promise.all(a),s}i(He,"_preloadScriptsAssets");var Lt=require("babylonjs"),ue=require("babylonjs"),Vt=require("babylonjs"),fe=require("babylonjs"),Gt=require("babylonjs"),Bt=require("babylonjs-gui");function je(e,r,t,o,n){let s=o.constructor;if(!s)return;s._NodesFromScene?.forEach(l=>{o[l.propertyKey.toString()]=e.getNodeByName(l.nodeName)}),s._NodesFromDescendants?.forEach(l=>{let c=r.getDescendants?.(l.directDescendantsOnly,p=>p.name===l.nodeName)[0];o[l.propertyKey.toString()]=c??null}),s._AnimationGroups?.forEach(l=>{o[l.propertyKey.toString()]=e.getAnimationGroupByName(l.animationGroupName)}),s._SoundsFromScene?.forEach(l=>{let c=e.getSoundByName?.(l.soundName);o[l.propertyKey.toString()]=c??null}),(s._GuiFromAsset??[]).map(async l=>{let c=`${n}assets/${l.pathInAssets}`;try{let g=await(await fetch(c)).json(),S=Bt.AdvancedDynamicTexture.CreateFullscreenUI(g.name,!0,e);S.parseSerializedObject(g.content,!1),o[l.propertyKey.toString()]=S,l.onGuiCreated?.(o,S)}catch(p){throw console.error(`Failed to load GUI from asset: ${c}`),p}}),s._ParticleSystemsFromScene?.forEach(l=>{let c=e.particleSystems?.find(p=>p.name!==l.particleSystemName?!1:l.directDescendantsOnly?p.emitter===r:p);o[l.propertyKey.toString()]=c}),(s._VisibleInInspector??[]).forEach(l=>{let c=l.propertyKey.toString(),p=t.values;if(!p)throw new Error(`No values found for script with key "${t.key}".`);if(p.hasOwnProperty(c)&&p[c].hasOwnProperty("value")){let g=p[c].value;switch(l.configuration.type){case"number":case"boolean":case"keymap":case"string":o[c]=g;break;case"vector2":o[c]=fe.Vector2.FromArray(g);break;case"vector3":o[c]=fe.Vector3.FromArray(g);break;case"color3":o[c]=ue.Color3.FromArray(g);break;case"color4":o[c]=ue.Color4.FromArray(g);break;case"entity":switch(l.configuration.entityType){case"node":o[c]=e.getNodeById(g)??null;break;case"animationGroup":o[c]=e.getAnimationGroupByName(g)??null;break;case"sound":o[c]=me(g,e);break;case"particleSystem":o[c]=e.particleSystems?.find(u=>u.id===g)??null;break}break;case"texture":g&&(o[c]=Vt.Texture.Parse(g,e,n));break;case"asset":if(g){let u=l.configuration.assetType,d=O.get(g);switch(u){case"json":case"gui":case"scene":case"navmesh":o[c]=d;break;case"ragdoll":o[c]=$e(d);break;case"nodeParticleSystemSet":let y=Gt.NodeParticleSystemSet.Parse(d);o[c]=y;break;case"material":o[c]=Lt.Material.Parse(d,e,n);break}}}}});let a=null,f=null;if(s._PointerEvents?.length){if(s._PointerEvents.find(p=>p.options.mode==="attachedMeshOnly")&&!G(r))throw new Error('@onPointerEvent with mode "attachedMeshOnly" can only be used on scripts attached to meshes (extends AbstractMesh).');if(s._PointerEvents.find(p=>p.options.mode!=="global")&&!k(r))throw new Error('@onPointerEvent with mode different from "global" can be used only on scripts attached to Node: Mesh, Light, Camera, TransformNode.');a=e.onPointerObservable.add(p=>{let g=null;s._PointerEvents.forEach(S=>{if(!S.eventTypes.includes(p.type))return;let u=S.propertyKey.toString();if(S.options.mode==="global")return o[u]?.(p);g=p.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"&&k(r)&&[r,...r.getDescendants(!1)].find(I=>I===d)))return o[u]?.(p)})})}if(s._KeyboardEvents?.length&&(f=e.onKeyboardObservable.add(l=>{s._KeyboardEvents.forEach(c=>{c.eventTypes.includes(l.type)&&o[c.propertyKey.toString()]?.(l)})})),s._SpritesFromSpriteManager?.length){let l=r;if(!K(l)||!l.isSpriteManager)return console.error("@spriteFromSpriteManager decorator can only be used on SpriteManagerNode.");if(!l.spriteManager)return console.error(`SpriteManagerNode "${l.name}" has no sprite manager assigned.`);s._SpritesFromSpriteManager?.forEach(c=>{let p=l.spriteManager?.sprites.find(g=>g.name===c.spriteName)||null;o[c.propertyKey.toString()]=p})}if(s._AnimationsFromSprite?.length){if(!Ce(r))return console.error("@animationFromSprite decorator can only be used in scripts attached on Sprite.");let l=r.metadata?.spriteAnimations;if(!l?.length)return console.error(`Sprite "${r.name}" has no sprite animations assigned.`);s._AnimationsFromSprite.forEach(c=>{let p=l.find(g=>g.name===c.animationName);p?o[c.propertyKey.toString()]=p??null:console.warn(`Sprite animation named "${c.animationName}" not found on sprite "${r.name}".`)})}return s._SceneAssets?.forEach(l=>{o[l.propertyKey.toString()]=O.get(l.sceneName)}),{observers:{pointerObserver:a,keyboardObserver:f}}}i(je,"applyDecorators");function R(e,r,t,o){r.metadata?.scripts&&(r.metadata.scripts?.forEach(n=>{if(!n.enabled)return;let s=t[n.key];if(!s)return;let a=s,f={};if(s.default){a=new s.default(r);let l=je(e,r,n,a,o);Object.assign(f,l?.observers??{})}a.onStart&&(f.onStartObserver=e.onBeforeRenderObservable.addOnce(()=>a.onStart(r))),a.onUpdate&&(f.onUpdateObserver=e.onBeforeRenderObservable.add(()=>a.onUpdate(r))),Qe(r,a,n.key,f)}),r.metadata.scripts=void 0)}i(R,"_applyScriptsForObject");function rn(e,r,t){if(t??=e.getScene?.(),!t)throw new Error("Cannot apply script on object: no scene available.");let o=new r(e),n={};return je(t,e,{values:{}},o,""),o.onStart&&(n.onStartObserver=t.onBeforeRenderObservable.addOnce(()=>o.onStart())),o.onUpdate&&t.onBeforeRenderObservable.add(()=>o.onUpdate()),Qe(e,o,"runtime",n),o}i(rn,"applyScriptOnObject");var w=new Map;function Qe(e,r,t,o){let n={key:t,observers:o,instance:r};w.has(e)?w.get(e).push(n):w.set(e,[n]),(k(e)||Ae(e)||be(e))&&e.onDisposeObservable.addOnce((()=>{w.get(e)?.slice()?.forEach(a=>{pe(e,a)}),w.delete(e)}))}i(Qe,"_registerScriptInstance");function pe(e,r){r.observers.onStartObserver?.remove(),r.observers.onUpdateObserver?.remove(),r.observers.pointerObserver?.remove(),r.observers.keyboardObserver?.remove();try{r.instance.onStop?.(e)}catch(n){console.error(`Failed to call onStop for script ${r.key} on object ${e}`,n)}let t=w.get(e),o=t?.indexOf(r)??-1;o!==-1&&t?.splice(o,1)}i(pe,"_removeRegisteredScriptInstance");function Kt(e,r){return w.get(e)?.filter(n=>n.instance.constructor===r)?.map(n=>n.instance)??null}i(Kt,"getAllScriptsByClassForObject");function nn(e,r){return Kt(e,r)?.[0]??null}i(nn,"getScriptByClassForObject");var zt=require("babylonjs"),kt=!1;function $t(){kt||(kt=!0,(0,zt.AddParser)("AudioEditorPlugin",(e,r,t,o)=>{e.sounds?.forEach(n=>{let s=t.sounds?.find(a=>a.name===n.name);s&&(s.id=n.id,s.uniqueId=n.uniqueId,r.onBeforeRenderObservable.addOnce(()=>{try{s.spatialSound=n.spatialSound}catch{}}))})}))}i($t,"registerAudioParser");function N(e){let r=1;for(;r<=e;)r<<=1;return r>>1}i(N,"getPowerOfTwoUntil");var Ue=require("babylonjs"),Yt=!1;function Wt(){if(Yt)return;Yt=!0;let e=Ue.SerializationHelper._TextureParser;Ue.SerializationHelper._TextureParser=(r,t,o)=>{if(t.loadingTexturesQuality==="high"||!r.metadata?.baseSize)return e(r,t,o);let n=r.metadata.baseSize.width,s=r.metadata.baseSize.height,a=n===N(n)||s===N(s),f="";switch(t.loadingTexturesQuality){case"medium":let d=n*.66>>0,y=s*.66>>0;a&&(d=N(d),y=N(y)),f=`_${d}_${y}`;break;case"low":case"very-low":let b=n*.33>>0,I=s*.33>>0;a&&(b=N(b),I=N(I)),f=`_${b}_${I}`;break}let l=r.name;if(!l||!f)return e(r,t,o);let c=l.split("/"),p=c.pop();if(!p)return e(r,t,o);let g=p.split(".").pop(),u=`${p.replace(`.${g}`,"")}${f}.${g}`;return c.push(u),r.name=c.join("/"),e(r,t,o)}}i(Wt,"registerTextureParser");var jt=require("babylonjs"),ge=require("babylonjs"),Ht=!1;function Qt(){if(Ht)return;Ht=!0;let e=(0,ge.GetParser)(jt.SceneComponentConstants.NAME_SHADOWGENERATOR);(0,ge.AddParser)("ShadowGeneratorEditorPlugin",(r,t,o,n)=>{t.loadingShadowsQuality!=="high"&&r.shadowGenerators?.forEach(s=>{switch(t.loadingShadowsQuality){case"medium":s.mapSize=s.mapSize*.5;break;case"low":s.mapSize=s.mapSize*.25;break;case"very-low":s.mapSize=s.mapSize*.125;break}s.mapSize=Math.max(128,N(s.mapSize))}),e?.(r,t,o,n)})}i(Qt,"registerShadowGeneratorParser");var qt=require("babylonjs"),Jt=require("babylonjs"),Ut=!1;function Zt(){Ut||(Ut=!0,(0,Jt.AddParser)("MorphTargetManagerEditorPlugin",(e,r,t,o)=>{e.morphTargetManagers.forEach(n=>{let a=t.meshes.find(c=>c.id===n.meshId)?.morphTargetManager;if(!a||n.targets.find(c=>!c.delayLoadingFile))return;let l=[];n.targets.forEach(c=>{if(!c.delayLoadingFile)return l.push(Promise.resolve(null));let p=`${o}${c.delayLoadingFile}`;r.addPendingData(p);let g=new qt.WebRequest;g.responseType="arraybuffer",g.open("GET",p),g.send(),l.push(new Promise(S=>{g.addEventListener("load",()=>{r.removePendingData(p),S(g.response)})}))}),Promise.all(l).then(c=>{for(let p=0,g=a.numTargets;p<g;++p){let S=a.getTarget(p),u=n.targets[p],d=c[p];if(u.positionsCount){let y=new Float32Array(d,u.positionsOffset,u.positionsCount);S._positions=y,S.setPositions(y)}if(u.normalsCount){let y=new Float32Array(d,u.normalsOffset,u.normalsCount);S._normals=y,S.setNormals(y)}if(u.tangentsCount){let y=new Float32Array(d,u.tangentsOffset,u.tangentsCount);S._tangents=y,S.setTangents(y)}if(u.uvsCount){let y=new Float32Array(d,u.uvsOffset,u.uvsCount);S._uvs=y,S.setUVs(y)}if(u.uv2sCount){let y=new Float32Array(d,u.uv2sOffset,u.uv2sCount);S._uv2s=y,S.setUV2s(y)}}for(let p=0,g=a.numTargets;p<g;++p)a.getTarget(p)._onDataLayoutChanged.notifyObservers()})})}))}i(Zt,"registerMorphTargetManagerParser");var Xt=require("babylonjs");function er(e,r){return(e.metadata?.clusteredLights??[]).length>0&&(r??=new Xt.ClusteredLightContainer("Clustered Light Container",[],e)),e.metadata?.clusteredLights?.forEach(o=>{let n=e.getLightById(o);n&&r?.addLight(n)}),r}i(er,"configureLights");function qe(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(qe,"normalizeAtlasJson");function on(e,r,t){let n=(e.metadata?.spriteAnimations??[]).find(s=>s.name===r);if(!n)return console.error(`Animation with name "${r}" not found on sprite.`);e.playAnimation(n.from,n.to,n.loop,n.delay,t)}i(on,"playSpriteAnimationFromName");var rr=require("babylonjs"),nr=require("babylonjs"),or=require("babylonjs"),ir=require("babylonjs"),Je=require("babylonjs"),Q=require("babylonjs"),sr=require("babylonjs"),tr=!1;function ar(){tr||(tr=!0,(0,sr.AddParser)("SpriteMapNode",(e,r,t,o)=>{e.transformNodes?.forEach(n=>{if(!n.isSpriteMap)return;let s=t.transformNodes?.find(l=>l.id===n.id);if(!s)return;s.isSpriteMap=n.isSpriteMap;let a=`${o}${n.atlasJsonRelativePath}`;r.addPendingData(a);let f=new or.WebRequest;f.open("GET",a),f.send(),f.addEventListener("load",()=>{r.removePendingData(a);let l=JSON.parse(f.responseText);qe(l);let c=`${rr.Tools.GetFolderPath(a)}${l.meta.image}`,p=new Je.Texture(c,r,!1,!1,Je.Texture.NEAREST_NEAREST,null,null,null,!1,nr.Engine.TEXTUREFORMAT_RGBA),g=new ir.SpriteMap(s.name,l,p,{layerCount:n.options.layerCount,stageSize:Q.Vector2.FromArray(n.options.stageSize??[10,1]),outputSize:Q.Vector2.FromArray(n.options.outputSize??[100,100]),colorMultiply:Q.Vector3.FromArray(n.options.colorMultiply??[1,1,1]),flipU:!0},r);n.tiles.forEach(u=>{for(let d=0,y=u.repeatCount.x+1;d<y;++d)for(let b=0,I=u.repeatCount.y+1;b<I;++b){let D=d*(u.repeatOffset.x+1),T=b*(u.repeatOffset.y+1);g.changeTiles(u.layer,new Q.Vector2(u.position.x+D,(g.options.stageSize?.y??0)-1-u.position.y-T),u.tile)}});let S=g._output;S.parent=s,s.spriteMap=g})})}))}i(ar,"registerSpriteMapParser");var mr=require("babylonjs"),pr=require("babylonjs"),ur=require("babylonjs"),Ze=require("babylonjs"),fr=require("babylonjs");function lr(e,r){r?.fogEnabled!==void 0&&(e.fogEnabled=r?.fogEnabled),r?.blendMode!==void 0&&(e.blendMode=r?.blendMode),r?.disableDepthWrite!==void 0&&(e.disableDepthWrite=r?.disableDepthWrite),r?.pixelPerfect!==void 0&&(e.pixelPerfect=r?.pixelPerfect),r?.useLogarithmicDepth!==void 0&&(e.useLogarithmicDepth=r?.useLogarithmicDepth),r?.metadata!==void 0&&(e.metadata=r?.metadata);for(let t of r?.sprites??[]){let o=pr.Sprite.Parse(t,e);o.uniqueId=t.uniqueId,o.metadata=t.metadata}}i(lr,"parseSerializedSpriteManager");var cr=!1;function gr(){cr||(cr=!0,(0,fr.AddParser)("SpriteManagerNode",(e,r,t,o)=>{e.transformNodes?.forEach(n=>{if(!n.isSpriteManager)return;let s=t.transformNodes?.find(a=>a.id===n.id);if(s){if(s.isSpriteManager=n.isSpriteManager,n.atlasJsonRelativePath){let a=`${o}${n.atlasJsonRelativePath}`;r.addPendingData(a);let f=new ur.WebRequest;f.open("GET",a),f.send(),f.addEventListener("load",()=>{r.removePendingData(a);let l=JSON.parse(f.responseText),c=`${mr.Tools.GetFolderPath(a)}${l.meta.image}`,p=new Ze.SpriteManager(s.name,c,1e3,64,r,void 0,void 0,!0,l);s.spriteManager=p,n.spriteManager&&lr(p,n.spriteManager)})}else if(n.spriteManager?.textureUrl){let a=`${o}${n.spriteManager.textureUrl}`,f=new Ze.SpriteManager(s.name,a,1e3,{width:n.spriteManager.cellWidth,height:n.spriteManager.cellHeight},r,void 0,void 0,!1);s.spriteManager=f,n.spriteManager&&lr(f,n.spriteManager)}}})}))}i(gr,"registerSpriteManagerParser");var yr=require("babylonjs"),Sr=require("babylonjs"),dr=!1;function hr(){dr||(dr=!0,(0,yr.AddParser)("NodeParticleSystemSetEditorPlugin",(e,r,t,o)=>{e.meshes?.forEach(n=>{if(!n.isNodeParticleSystemMesh)return;let s=t.meshes?.find(a=>a.id===n.id);s&&(n.nodeParticleSystemSet.blocks?.forEach(a=>{a.url&&(a.url=`${o}${a.url}`)}),s.nodeParticleSystemSet=Sr.NodeParticleSystemSet.Parse(n.nodeParticleSystemSet),s.nodeParticleSystemSet.id=n.nodeParticleSystemSet.id,s.nodeParticleSystemSet.uniqueId=n.uniqueId,r.addPendingData(n.id),s.nodeParticleSystemSet.buildAsync(r,!1).then(a=>{r.removePendingData(n.id),s.particleSystemSet=a,a.systems.forEach(f=>{if(Pe(f)){let l=f._sizeCreation.process;l&&(f._sizeCreation.process=(c,p)=>{l(c,p),c.scale.x*=100,c.scale.y*=100})}}),a.emitterNode=s,a.start()}))})}))}i(hr,"registerNodeParticleSystemSetParser");var Pr=require("babylonjs"),Xe=require("babylonjs"),Ar=require("babylonjs"),Cr=require("babylonjs"),br=new Map;async function sn(e,r,t,o,n){t.loadingQuality=n?.quality??"high",t.loadingTexturesQuality=n?.texturesQuality??t.loadingQuality,t.loadingShadowsQuality=n?.shadowsQuality??t.loadingQuality,$t(),Wt(),Qt(),Zt(),ar(),gr(),hr();let s=br.get(t)??{};if(br.set(t,s),await(0,Ar.AppendSceneAsync)(`${e}${r}`,t,{pluginExtension:".babylon",onProgress:i(l=>{let c=Math.min(l.loaded/l.total*.5);n?.onProgress?.(c)},"onProgress")}),!n?.skipAssetsPreload){let l=0;do l=await He(e,t,o);while(l!==0)}Cr.SceneLoaderFlags.ForceFullSceneLoadingForIncremental&&t.meshes.forEach(l=>M(l)&&l._checkDelayState());let a=t.getWaitingItemsCount();for(;!t.isDisposed&&(!t.isReady()||t.getWaitingItemsCount()>0);){await new Promise(c=>setTimeout(c,150));let l=a-t.getWaitingItemsCount();l===a&&t.textures.forEach(c=>{c.delayLoadState===Xe.Constants.DELAYLOADSTATE_NONE&&(c.delayLoadState=Xe.Constants.DELAYLOADSTATE_LOADED)}),n?.onProgress?.(.5+l/a*.5)}n?.onProgress?.(1),Ie(t),xe(t),t.metadata?.rendering&&(Dt(t,t.metadata.rendering),t.activeCamera&&Et(t.activeCamera,e)),t.metadata?.physicsGravity&&t.getPhysicsEngine()?.setGravity(Pr.Vector3.FromArray(t.metadata?.physicsGravity)),R(t,t,o,e),t.transformNodes.forEach(l=>{R(t,l,o,e)}),t.meshes.forEach(l=>{Ot(l),R(t,l,o,e)}),t.lights.forEach(l=>{R(t,l,o,e)}),t.cameras.forEach(l=>{R(t,l,o,e)}),t.spriteManagers?.forEach(l=>{l.sprites.forEach(c=>{R(t,c,o,e)})}),j(t);let f=er(t,s.clusteredLightContainer);s.clusteredLightContainer=f}i(sn,"loadScene");var Ir=require("babylonjs");async function an(e,r,t){let n=await(await fetch(e+r)).json(),a=Ir.Tools.Instantiate(n.customType).Parse(n,t,e);return a.id=n.id,a.uniqueId=n.uniqueId,a}i(an,"loadMaterialFromFile");function ln(e){return Promise.all(e.materials.map(async r=>{let t=r.getBindedMeshes();await Promise.all(t.map(async o=>{Z(o)||await r.forceCompilationAsync(o,{clipPlane:!!e.clipPlane,useInstances:o.hasInstances})}))}))}i(ln,"forceCompileAllSceneMaterials");function cn(e){e.setTextureFormatToUse(["-dxt.ktx","-astc.ktx","-pvrtc.ktx","-etc1.ktx","-etc2.ktx"])}i(cn,"configureEngineToUseCompressedTextures");var L=require("babylonjs");function oe(e){if(!isNaN(parseFloat(e))&&isFinite(e))return L.Animation.ANIMATIONTYPE_FLOAT;switch(e?.getClassName?.()){case"Vector2":return L.Animation.ANIMATIONTYPE_VECTOR2;case"Vector3":return L.Animation.ANIMATIONTYPE_VECTOR3;case"Quaternion":return L.Animation.ANIMATIONTYPE_QUATERNION;case"Color3":return L.Animation.ANIMATIONTYPE_COLOR3;case"Color4":return L.Animation.ANIMATIONTYPE_COLOR4;case"Size":return L.Animation.ANIMATIONTYPE_SIZE;case"Matrix":return L.Animation.ANIMATIONTYPE_MATRIX}return null}i(oe,"getAnimationTypeForObject");var xr=require("babylonjs");function mn(e){return function(r,t){let o=r.constructor;o._NodesFromScene??=[],o._NodesFromScene.push({propertyKey:t,nodeName:e})}}i(mn,"nodeFromScene");function pn(e,r=!1){return function(t,o){let n=t.constructor;n._NodesFromDescendants??=[],n._NodesFromDescendants.push({propertyKey:o,nodeName:e,directDescendantsOnly:r})}}i(pn,"nodeFromDescendants");function un(e){return function(r,t){let o=r.constructor;o._AnimationGroups??=[],o._AnimationGroups.push({animationGroupName:e,propertyKey:t})}}i(un,"animationGroupFromScene");function fn(e){return function(r,t){let o=r.constructor;o._SceneAssets??=[],o._SceneAssets.push({sceneName:e,propertyKey:t})}}i(fn,"sceneAsset");function gn(e,r){return function(t,o){let n=t.constructor;n._GuiFromAsset??=[],n._GuiFromAsset.push({propertyKey:o,pathInAssets:e,onGuiCreated:r})}}i(gn,"guiFromAsset");function dn(e){return function(r,t){let o=r.constructor;o._SoundsFromScene??=[],o._SoundsFromScene.push({propertyKey:t,soundName:e})}}i(dn,"soundFromScene");function yn(e,r=!1){return function(t,o){let n=t.constructor;n._ParticleSystemsFromScene??=[],n._ParticleSystemsFromScene.push({propertyKey:o,particleSystemName:e,directDescendantsOnly:r})}}i(yn,"particleSystemFromScene");function Sn(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"boolean"}})}}i(Sn,"visibleAsBoolean");function hn(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"string"}})}}i(hn,"visibleAsString");function bn(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"number"}})}}i(bn,"visibleAsNumber");function Pn(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"vector2"}})}}i(Pn,"visibleAsVector2");function An(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"vector3"}})}}i(An,"visibleAsVector3");function Cn(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"color3"}})}}i(Cn,"visibleAsColor3");function In(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"color4"}})}}i(In,"visibleAsColor4");function xn(e,r,t){return function(o,n){let s=o.constructor;s._VisibleInInspector??=[],s._VisibleInInspector.push({label:r,propertyKey:n,configuration:{...t,entityType:e,type:"entity"}})}}i(xn,"visibleAsEntity");function vn(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"texture"}})}}i(vn,"visibleAsTexture");function En(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"keymap"}})}}i(En,"visibleAsKeyMap");function Tn(e,r,t){return function(o,n){let s=o.constructor;s._VisibleInInspector??=[],s._VisibleInInspector.push({label:r,propertyKey:n,configuration:{...t,assetType:e,type:"asset"}})}}i(Tn,"visibleAsAsset");function On(e,r){return function(t,o){let n=t.constructor;n._PointerEvents??=[],n._PointerEvents.push({propertyKey:o,options:{mode:"global",...r??{}},eventTypes:Array.isArray(e)?e:[e]})}}i(On,"onPointerEvent");function Dn(e){return function(r,t){let o=r.constructor;o._KeyboardEvents??=[],o._KeyboardEvents.push({propertyKey:t,eventTypes:Array.isArray(e)?e:[e]})}}i(Dn,"onKeyboardEvent");function Mn(e){return function(r,t){let o=r.constructor;o._SpritesFromSpriteManager??=[],o._SpritesFromSpriteManager.push({propertyKey:t,spriteName:e})}}i(Mn,"spriteFromSpriteManager");function Rn(e){return function(r,t){let o=r.constructor;o._AnimationsFromSprite??=[],o._AnimationsFromSprite.push({propertyKey:t,animationName:e})}}i(Rn,"animationFromSprite");var de=require("babylonjs");function km(e,r){let t;return e===de.Animation.ANIMATIONTYPE_FLOAT?t=r.value:t=r.value.clone(),{value:t,frame:r.frame,interpolation:r.interpolation,inTangent:e===de.Animation.ANIMATIONTYPE_FLOAT?r.inTangent:r.inTangent?.clone(),outTangent:e===de.Animation.ANIMATIONTYPE_FLOAT?r.outTangent:r.outTangent?.clone()}}i(km,"cloneKey");function ye(e,r){let t=r.split("."),o=e;for(let n=0;n<t.length;++n)o=o[t[n]];return o}i(ye,"getPropertyValue");function et(e,r,t){let o=null;e.onAnimationGroupPlayObservable.add(()=>{o=r.onAfterAnimationsObservable.add(()=>{t()})}),e.onAnimationGroupPauseObservable.add(()=>{o&&(r.onAfterAnimationsObservable.remove(o),o=null)}),e.onAnimationGroupEndObservable.add(()=>{o&&(r.onAfterAnimationsObservable.remove(o),o=null)})}i(et,"registerAfterAnimationCallback");var V=require("babylonjs"),Se=require("babylonjs"),_=require("babylonjs");function wn(e,r){return{name:e.name,framesPerSecond:e.framesPerSecond,outputFramesPerSecond:e.outputFramesPerSecond,tracks:e.tracks.map(t=>{let o=null,n=null;if(t.node?(o=r.getNodeById(t.node),o||(o=r.particleSystems?.find(a=>a.id===t.node)??null)):t.defaultRenderingPipeline&&(o=ee()),t.propertyPath){let a=ye(o,t.propertyPath);n=oe(a)}let s=null;return t.sound&&(s=me(t.sound,r)),{node:o,sound:s,propertyPath:t.propertyPath,defaultRenderingPipeline:t.defaultRenderingPipeline,animationGroup:t.animationGroup?r.getAnimationGroupByName(t.animationGroup):null,animationGroups:t.animationGroups,sounds:t.sounds,soundVolume:tt(t.soundVolume??[],V.Animation.ANIMATIONTYPE_FLOAT),keyFrameEvents:t.keyFrameEvents?.map(a=>{let f={...a};switch(a.data?.type){case"set-enabled":f.data={type:"set-enabled",value:a.data.value,node:r.getNodeById(a.data.node)};break;case"apply-impulse":f.data={type:"apply-impulse",radius:a.data.radius,mesh:r.getMeshById(a.data.mesh),force:_.Vector3.FromArray(a.data.force),contactPoint:_.Vector3.FromArray(a.data.contactPoint)};break}return f}),keyFrameAnimations:o&&n!==null&&tt(t.keyFrameAnimations??[],n)}})}}i(wn,"parseCinematic");function F(e,r){if(e===null)return null;if(e!==void 0)switch(r){case V.Animation.ANIMATIONTYPE_FLOAT:return e;case V.Animation.ANIMATIONTYPE_VECTOR2:return _.Vector2.FromArray(e);case V.Animation.ANIMATIONTYPE_VECTOR3:return _.Vector3.FromArray(e);case V.Animation.ANIMATIONTYPE_QUATERNION:return _.Quaternion.FromArray(e);case V.Animation.ANIMATIONTYPE_COLOR3:return Se.Color3.FromArray(e);case V.Animation.ANIMATIONTYPE_COLOR4:return Se.Color4.FromArray(e);case V.Animation.ANIMATIONTYPE_MATRIX:return _.Matrix.FromArray(e)}}i(F,"parseCinematicKeyValue");function tt(e,r){return e?.map(t=>{let o=t.type==="key"?t:null;if(o)return{...o,value:F(o.value,r),inTangent:F(o.inTangent,r),outTangent:F(o.outTangent,r)};let n=t.type==="cut"?t:null;if(n)return{...n,key1:{...n.key1,value:F(n.key1.value,r),inTangent:F(n.key1.inTangent,r),outTangent:F(n.key1.outTangent,r)},key2:{...n.key2,value:F(n.key2.value,r),inTangent:F(n.key2.inTangent,r),outTangent:F(n.key2.outTangent,r)}};throw new Error(`Unknown key frame type: ${t.type}`)})}i(tt,"parseKeyFrameAnimations");function vr(e,r){e.onEventObservable.notifyObservers(r.eventName)}i(vr,"handleApplyEvent");function Er(e){e.node?.setEnabled(e.value)}i(Er,"handleSetEnabledEvent");var rt=require("babylonjs"),Tr=rt.Vector3.Zero();function Or(e,r){let t=r.mesh?[r.mesh]:e.meshes.filter(o=>o.physicsAggregate);r.radius&&(t=t.filter(o=>{let n=o.getBoundingInfo().boundingBox.centerWorld;return rt.Vector3.Distance(n,r.contactPoint)<=r.radius})),t.forEach(o=>{if(o.physicsAggregate?.body){let n=r.contactPoint.subtract(o.getBoundingInfo().boundingBox.centerWorld);n.multiplyInPlace(r.force),o.physicsAggregate.body.setLinearVelocity(Tr),o.physicsAggregate.body.setAngularVelocity(Tr),o.physicsAggregate.body.applyImpulse(n.negateInPlace(),r.contactPoint)}})}i(Or,"handleApplyImpulseEvent");var Dr=require("babylonjs"),Mr=require("babylonjs"),ie=class extends Mr.AnimationGroup{static{i(this,"Cinematic")}onEventObservable=new Dr.Observable;onEvent(r,t){this.onEventObservable.add(o=>{r===o&&t()})}};function nt(e){return e.type==="key"}i(nt,"isCinematicKey");function U(e){return e.type==="cut"}i(U,"isCinematicKeyCut");function Nn(e){return e.type==="event"}i(Nn,"isCinematicKeyEvent");function Fn(e){return e.type==="group"}i(Fn,"isCinematicGroup");function _n(e){return e.type==="sound"}i(_n,"isCinematicSound");var C=require("babylonjs"),q=require("babylonjs");function Ln(e,r,t){let o=new ie(e.name,r);return e.tracks.forEach(n=>{let s=n.animationGroup;if(s&&n.animationGroups?.length){let u=s.clone(`${s.name}-cinematic-temp`),d=r.animationGroups.indexOf(u);d!==-1&&r.animationGroups.splice(d,1),o.onAnimationEndObservable.add(()=>{s.stop(),u.stop()});let y=n.animationGroups.reduce((T,A)=>Math.min(T,A.frame),Number.MAX_VALUE)??0,b=n.animationGroups.reduce((T,A)=>Math.max(T,A.frame+A.endFrame),0)??0,I={frame:y},D=new C.Animation(u.name,"frame",60,C.Animation.ANIMATIONTYPE_FLOAT,C.Animation.ANIMATIONLOOPMODE_CYCLE,!1);if(D.setKeys([{frame:y,value:0},{frame:b,value:b}]),n.animationGroups.forEach(T=>{D.addEvent(new q.AnimationEvent(T.frame,()=>{let A=T.repeatCount??0;if(u.to=T.endFrame,u.speedRatio=T.speed,u.stop(),u.play(A>0),u.from!==T.startFrame&&u.goToFrame(T.startFrame),A){let J=0;u.onAnimationGroupLoopObservable.add(()=>{++J,J>A&&u.stop()})}}))}),o.addTargetedAnimation(D,I),(n.animationGroupWeight?.length??0)>=2&&n.animationGroupWeight.find(A=>U(A)?A.key1.value!==1||A.key2.value!==1:A.value!==1)){let A={weight:0},J=new C.Animation(`${u.name}-weights`,"weight",60,C.Animation.ANIMATIONTYPE_FLOAT,C.Animation.ANIMATIONLOOPMODE_CYCLE,!1),se=[];n.animationGroupWeight.forEach(ae=>{U(ae)?(se.push(ae.key1),se.push(ae.key2)):se.push(ae)}),J.setKeys(se),o.addTargetedAnimation(J,A),et(o,r,()=>{u.weight=A.weight})}}let a=n.sound,f=a?.getAudioBuffer();if(!t?.ignoreSounds&&a&&f&&n.sounds?.length){let u={dummy:0,volume:0},d=new C.Animation(a.name,"dummy",60,C.Animation.ANIMATIONTYPE_FLOAT,C.Animation.ANIMATIONLOOPMODE_CYCLE,!1),y=0;if(n.sounds?.forEach(b=>{let I=b.endFrame-b.startFrame;y=Math.max(y,b.frame+I),d.addEvent(new q.AnimationEvent(b.frame,D=>{let A=(D-b.frame+b.startFrame)/e.framesPerSecond;a.play(0,A)},!1)),d.addEvent(new q.AnimationEvent(b.frame+I,()=>{a.stop()}))}),d.setKeys([{frame:0,value:0},{frame:y,value:y}]),o.addTargetedAnimation(d,u),(n.soundVolume?.length??0)>=2){let b=new C.Animation(a.name,"volume",60,C.Animation.ANIMATIONTYPE_FLOAT,C.Animation.ANIMATIONLOOPMODE_CYCLE,!1),I=[];n.soundVolume.forEach(D=>{U(D)?(I.push(D.key1),I.push(D.key2)):I.push(D)}),b.setKeys(I),o.addTargetedAnimation(b,u),et(o,r,()=>{a.setVolume(u.volume)})}}if(n.keyFrameEvents){let u={dummy:0},d=new C.Animation("events","dummy",60,C.Animation.ANIMATIONTYPE_FLOAT,C.Animation.ANIMATIONLOOPMODE_CYCLE,!1),y=0;n.keyFrameEvents?.forEach(b=>{y=Math.max(y,b.frame),d.addEvent(new q.AnimationEvent(b.frame,()=>{switch(b.data?.type){case"event":vr(o,b.data);break;case"set-enabled":Er(b.data);break;case"apply-impulse":Or(r,b.data);break}}))}),d.setKeys([{frame:0,value:0},{frame:y+1,value:y+1}]),o.addTargetedAnimation(d,u)}let l=n.defaultRenderingPipeline?ee():n.node;if(!l||!n.propertyPath||!n.keyFrameAnimations)return;let c=ye(l,n.propertyPath),p=oe(c);if(p===null)return;let g=new C.Animation(n.propertyPath,n.propertyPath,60,p,C.Animation.ANIMATIONLOOPMODE_CYCLE,!1),S=[];n.keyFrameAnimations?.forEach(u=>{if(nt(u))return S.push(u);U(u)&&(S.push(u.key1),S.push(u.key2),ce(l)&&n.propertyPath==="position"&&g.addEvent(new q.AnimationEvent(u.key1.frame,()=>{let d=Fe();if(!d)return;let y=d.motionStrength;d.motionStrength=0,requestAnimationFrame(()=>{d.motionStrength=y})})))}),g.setKeys(S),o.addTargetedAnimation(g,l)}),o.normalize(),o}i(Ln,"generateCinematicAnimationGroup");0&&(module.exports={AdvancedAssetContainer,Cinematic,NodeParticleSystemSet,_applyScriptsForObject,_preloadScriptsAssets,_registerScriptInstance,_removeRegisteredScriptInstance,animationFromSprite,animationGroupFromScene,applyScriptOnObject,configureEngineToUseCompressedTextures,configureShadowMapRefreshRate,configureShadowMapRenderListPredicate,copyAndParseRagdollConfiguration,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,parseRagdollConfiguration,parseSSAO2RenderingPipeline,parseSSRRenderingPipeline,parseVLSPostProcess,particleSystemFromScene,playSpriteAnimationFromName,registerScriptAssetParser,sceneAsset,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});
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ClusteredLightContainer } from "@babylonjs/core/Lights/Clustered/clusteredLightContainer";
|
|
2
|
+
export function configureLights(scene, clusteredLightContainer) {
|
|
3
|
+
const clusteredLights = scene.metadata?.clusteredLights ?? [];
|
|
4
|
+
if (clusteredLights.length > 0) {
|
|
5
|
+
clusteredLightContainer ??= new ClusteredLightContainer("Clustered Light Container", [], scene);
|
|
6
|
+
}
|
|
7
|
+
scene.metadata?.clusteredLights?.forEach((lightId) => {
|
|
8
|
+
const light = scene.getLightById(lightId);
|
|
9
|
+
if (light) {
|
|
10
|
+
clusteredLightContainer?.addLight(light);
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
return clusteredLightContainer;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=light.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"light.js","sourceRoot":"","sources":["../../../src/loading/light.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAC;AAEnG,MAAM,UAAU,eAAe,CAAC,KAAY,EAAE,uBAAiD;IAC9F,MAAM,eAAe,GAAG,KAAK,CAAC,QAAQ,EAAE,eAAe,IAAI,EAAE,CAAC;IAC9D,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,uBAAuB,KAAK,IAAI,uBAAuB,CAAC,2BAA2B,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IACjG,CAAC;IAED,KAAK,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC,OAAY,EAAE,EAAE;QACzD,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,KAAK,EAAE,CAAC;YACX,uBAAuB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,OAAO,uBAAuB,CAAC;AAChC,CAAC"}
|
|
@@ -13,10 +13,12 @@ import { registerAudioParser } from "./sound";
|
|
|
13
13
|
import { registerTextureParser } from "./texture";
|
|
14
14
|
import { registerShadowGeneratorParser } from "./shadows";
|
|
15
15
|
import { registerMorphTargetManagerParser } from "./morph-target-manager";
|
|
16
|
+
import { configureLights } from "./light";
|
|
16
17
|
import { registerSpriteMapParser } from "./sprite-map";
|
|
18
|
+
import { configureTransformNodes } from "./transform-node";
|
|
17
19
|
import { registerSpriteManagerParser } from "./sprite-manager";
|
|
18
20
|
import { registerNodeParticleSystemSetParser } from "./node-particle-system-set";
|
|
19
|
-
|
|
21
|
+
const sceneConfigurationMap = new Map();
|
|
20
22
|
export async function loadScene(rootUrl, sceneFilename, scene, scriptsMap, options) {
|
|
21
23
|
scene.loadingQuality = options?.quality ?? "high";
|
|
22
24
|
scene.loadingTexturesQuality = options?.texturesQuality ?? scene.loadingQuality;
|
|
@@ -28,6 +30,10 @@ export async function loadScene(rootUrl, sceneFilename, scene, scriptsMap, optio
|
|
|
28
30
|
registerSpriteMapParser();
|
|
29
31
|
registerSpriteManagerParser();
|
|
30
32
|
registerNodeParticleSystemSetParser();
|
|
33
|
+
// Check configuration
|
|
34
|
+
const configuration = sceneConfigurationMap.get(scene) ?? {};
|
|
35
|
+
sceneConfigurationMap.set(scene, configuration);
|
|
36
|
+
// Append to the given scene
|
|
31
37
|
await AppendSceneAsync(`${rootUrl}${sceneFilename}`, scene, {
|
|
32
38
|
pluginExtension: ".babylon",
|
|
33
39
|
onProgress: (event) => {
|
|
@@ -94,5 +100,7 @@ export async function loadScene(rootUrl, sceneFilename, scene, scriptsMap, optio
|
|
|
94
100
|
});
|
|
95
101
|
});
|
|
96
102
|
configureTransformNodes(scene);
|
|
103
|
+
const clusteredLightContainer = configureLights(scene, configuration.clusteredLightContainer);
|
|
104
|
+
configuration.clusteredLightContainer = clusteredLightContainer;
|
|
97
105
|
}
|
|
98
106
|
//# sourceMappingURL=loader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/loading/loader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/loading/loader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAG5E,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,6BAA6B,EAAE,qCAAqC,EAAE,MAAM,gBAAgB,CAAC;AAItG,OAAO,EAAE,oCAAoC,EAAE,MAAM,oBAAoB,CAAC;AAE1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAE3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,mCAAmC,EAAE,MAAM,4BAA4B,CAAC;AAkEjF,MAAM,qBAAqB,GAKvB,IAAI,GAAG,EAAE,CAAC;AAEd,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAY,EAAE,aAAqB,EAAE,KAAY,EAAE,UAAqB,EAAE,OAA4B;IACrI,KAAK,CAAC,cAAc,GAAG,OAAO,EAAE,OAAO,IAAI,MAAM,CAAC;IAElD,KAAK,CAAC,sBAAsB,GAAG,OAAO,EAAE,eAAe,IAAI,KAAK,CAAC,cAAc,CAAC;IAChF,KAAK,CAAC,qBAAqB,GAAG,OAAO,EAAE,cAAc,IAAI,KAAK,CAAC,cAAc,CAAC;IAE9E,mBAAmB,EAAE,CAAC;IACtB,qBAAqB,EAAE,CAAC;IACxB,6BAA6B,EAAE,CAAC;IAEhC,gCAAgC,EAAE,CAAC;IAEnC,uBAAuB,EAAE,CAAC;IAC1B,2BAA2B,EAAE,CAAC;IAE9B,mCAAmC,EAAE,CAAC;IAEtC,sBAAsB;IACtB,MAAM,aAAa,GAAG,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7D,qBAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAEhD,4BAA4B;IAC5B,MAAM,gBAAgB,CAAC,GAAG,OAAO,GAAG,aAAa,EAAE,EAAE,KAAK,EAAE;QAC3D,eAAe,EAAE,UAAU;QAC3B,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;YACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;YAC9D,OAAO,EAAE,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;KACD,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,EAAE,iBAAiB,EAAE,CAAC;QACjC,oCAAoC;QACpC,sGAAsG;QACtG,8EAA8E;QAC9E,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,GAAG,CAAC;YACH,iBAAiB,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC7E,CAAC,QAAQ,iBAAiB,KAAK,CAAC,EAAE;IACnC,CAAC;IAED,oDAAoD;IACpD,IAAI,gBAAgB,CAAC,mCAAmC,EAAE,CAAC;QAC1D,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,iBAAiB,GAAG,KAAK,CAAC,oBAAoB,EAAE,CAAC;IAEvD,6BAA6B;IAC7B,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;QACpF,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAE/D,MAAM,gBAAgB,GAAG,iBAAiB,GAAG,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAE1E,IAAI,gBAAgB,KAAK,iBAAiB,EAAE,CAAC;YAC5C,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAClC,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,mBAAmB,EAAE,CAAC;oBAC9D,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,qBAAqB,CAAC;gBAC1D,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,UAAU,EAAE,CAAC,GAAG,GAAG,CAAC,gBAAgB,GAAG,iBAAiB,CAAC,GAAG,GAAG,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;IAEzB,qCAAqC,CAAC,KAAK,CAAC,CAAC;IAC7C,6BAA6B,CAAC,KAAK,CAAC,CAAC;IAErC,IAAI,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;QAC/B,4BAA4B,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAE9D,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACxB,oCAAoC,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACnE,CAAC;IACF,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC;QACpC,KAAK,CAAC,gBAAgB,EAAE,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IACzF,CAAC;IAED,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAE1D,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;QAC9C,sBAAsB,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7B,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAChC,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC9B,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAChC,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;QAC/C,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACxC,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAE/B,MAAM,uBAAuB,GAAG,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;IAC9F,aAAa,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;AACjE,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { Scene } from "@babylonjs/core/scene";
|
|
2
|
+
import { ClusteredLightContainer } from "@babylonjs/core/Lights/Clustered/clusteredLightContainer";
|
|
3
|
+
export declare function configureLights(scene: Scene, clusteredLightContainer?: ClusteredLightContainer): ClusteredLightContainer | undefined;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "babylonjs-editor-tools",
|
|
3
|
-
"version": "5.4.0",
|
|
3
|
+
"version": "5.4.1-alpha.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": {
|