babylonjs-editor-tools 5.2.1 → 5.2.3
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 +1 -1
- package/build/src/cinematic/generate.js +41 -46
- package/build/src/cinematic/generate.js.map +1 -1
- package/build/src/decorators/apply.js +5 -1
- package/build/src/decorators/apply.js.map +1 -1
- package/build/src/loading/loader.js +3 -1
- package/build/src/loading/loader.js.map +1 -1
- package/build/src/loading/script.js +31 -7
- package/build/src/loading/script.js.map +1 -1
- package/declaration/src/cinematic/typings.d.ts +1 -0
- package/declaration/src/decorators/inspector.d.ts +1 -1
- package/declaration/src/loading/loader.d.ts +7 -0
- package/declaration/src/loading/script.d.ts +1 -1
- package/package.json +1 -1
package/build/index.node.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var Z=Object.defineProperty;var tr=Object.getOwnPropertyDescriptor;var rr=Object.getOwnPropertyNames;var or=Object.prototype.hasOwnProperty;var i=(e,r)=>Z(e,"name",{value:r,configurable:!0});var nr=(e,r)=>{for(var t in r)Z(e,t,{get:r[t],enumerable:!0})},ir=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of rr(r))!or.call(e,n)&&n!==t&&Z(e,n,{get:()=>r[n],enumerable:!(o=tr(r,n))||o.enumerable});return e};var sr=e=>ir(Z({},"__esModule",{value:!0}),e);var no={};nr(no,{Cinematic:()=>H,_applyScriptsForObject:()=>N,_preloadScriptsAssets:()=>Ve,_registerScriptInstance:()=>St,_removeRegisteredScriptInstance:()=>ht,animationFromSprite:()=>Zr,animationGroupFromScene:()=>Fr,applyScriptOnObject:()=>vr,configureEngineToUseCompressedTextures:()=>wr,configureShadowMapRefreshRate:()=>ye,configureShadowMapRenderListPredicate:()=>de,createDefaultRenderingPipeline:()=>lt,createMotionBlurPostProcess:()=>ot,createSSAO2RenderingPipeline:()=>tt,createSSRRenderingPipeline:()=>Xe,createVLSPostProcess:()=>Je,defaultPipelineCameraConfigurations:()=>k,disposeDefaultRenderingPipeline:()=>we,disposeMotionBlurPostProcess:()=>Te,disposeSSAO2RenderingPipeline:()=>Ce,disposeSSRRenderingPipeline:()=>Pe,disposeVLSPostProcess:()=>Se,forceCompileAllSceneMaterials:()=>Mr,generateCinematicAnimationGroup:()=>oo,getAllScriptsByClassForObject:()=>bt,getAnimationTypeForObject:()=>Q,getDefaultRenderingPipeline:()=>$,getMotionBlurPostProcess:()=>Ee,getPowerOfTwoUntil:()=>E,getSSAO2RenderingPipeline:()=>Ir,getSSRRenderingPipeline:()=>br,getScriptByClassForObject:()=>Er,getVLSPostProcess:()=>Sr,guiFromAsset:()=>Vr,isAbstractMesh:()=>X,isAnyParticleSystem:()=>fe,isArcRotateCamera:()=>mr,isBone:()=>ar,isCamera:()=>te,isCinematicGroup:()=>to,isCinematicKey:()=>$e,isCinematicKeyCut:()=>j,isCinematicKeyEvent:()=>eo,isCinematicSound:()=>ro,isDirectionalLight:()=>ur,isFreeCamera:()=>cr,isGPUParticleSystem:()=>yr,isGroundMesh:()=>lr,isHemisphericLight:()=>gr,isInstancedMesh:()=>Y,isLight:()=>We,isMesh:()=>w,isNode:()=>L,isParticleSystem:()=>dr,isPointLight:()=>pr,isScene:()=>ue,isSpotLight:()=>fr,isSprite:()=>ge,isTexture:()=>pe,isTransformNode:()=>ee,loadMaterialFromFile:()=>Or,loadScene:()=>Dr,motionBlurPostProcessCameraConfigurations:()=>K,nodeFromDescendants:()=>Nr,nodeFromScene:()=>Rr,normalizeAtlasJson:()=>_e,onKeyboardEvent:()=>qr,onPointerEvent:()=>Ur,parseCinematic:()=>Xr,parseCinematicKeyValue:()=>T,parseDefaultRenderingPipeline:()=>Ne,parseKeyFrameAnimations:()=>ze,parseMotionBlurPostProcess:()=>Oe,parseSSAO2RenderingPipeline:()=>ve,parseSSRRenderingPipeline:()=>Ae,parseVLSPostProcess:()=>be,particleSystemFromScene:()=>_r,playSpriteAnimationFromName:()=>Tr,scriptAssetsCache:()=>V,scriptsDictionary:()=>R,serializeDefaultRenderingPipeline:()=>Re,serializeMotionBlurPostProcess:()=>De,serializeSSAO2RenderingPipeline:()=>xe,serializeSSRRenderingPipeline:()=>Ie,serializeVLSPostProcess:()=>he,setDefaultRenderingPipelineRef:()=>xr,setMotionBlurPostProcessRef:()=>Cr,setSSAO2RenderingPipelineRef:()=>Ar,setSSRRenderingPipelineRef:()=>Pr,setVLSPostProcessRef:()=>hr,soundFromScene:()=>Lr,spriteFromSpriteManager:()=>Jr,ssaoRenderingPipelineCameraConfigurations:()=>G,ssrRenderingPipelineCameraConfigurations:()=>B,visibleAsAsset:()=>jr,visibleAsBoolean:()=>Br,visibleAsColor3:()=>Yr,visibleAsColor4:()=>$r,visibleAsEntity:()=>Wr,visibleAsKeyMap:()=>Hr,visibleAsNumber:()=>Kr,visibleAsString:()=>Gr,visibleAsTexture:()=>Qr,visibleAsVector2:()=>kr,visibleAsVector3:()=>zr,vlsPostProcessCameraConfigurations:()=>_});module.exports=sr(no);function X(e){switch(e.getClassName?.()){case"Mesh":case"LineMesh":case"GroundMesh":case"InstancedMesh":return!0}return!1}i(X,"isAbstractMesh");function w(e){switch(e.getClassName?.()){case"Mesh":case"GroundMesh":return!0}return!1}i(w,"isMesh");function Y(e){return e.getClassName?.()==="InstancedMesh"}i(Y,"isInstancedMesh");function ar(e){return e.getClassName?.()==="Bone"}i(ar,"isBone");function lr(e){return e.getClassName?.()==="GroundMesh"}i(lr,"isGroundMesh");function ee(e){return e.getClassName?.()==="TransformNode"}i(ee,"isTransformNode");function pe(e){return e?.getClassName?.()==="Texture"}i(pe,"isTexture");function te(e){switch(e.getClassName?.()){case"Camera":case"FreeCamera":case"TargetCamera":case"EditorCamera":case"ArcRotateCamera":case"UniversalCamera":return!0}return!1}i(te,"isCamera");function cr(e){switch(e.getClassName?.()){case"FreeCamera":case"UniversalCamera":return!0}return!1}i(cr,"isFreeCamera");function mr(e){return e.getClassName?.()==="ArcRotateCamera"}i(mr,"isArcRotateCamera");function pr(e){return e.getClassName?.()==="PointLight"}i(pr,"isPointLight");function ur(e){return e.getClassName?.()==="DirectionalLight"}i(ur,"isDirectionalLight");function fr(e){return e.getClassName?.()==="SpotLight"}i(fr,"isSpotLight");function gr(e){return e.getClassName?.()==="HemisphericLight"}i(gr,"isHemisphericLight");function We(e){switch(e.getClassName?.()){case"Light":case"PointLight":case"SpotLight":case"DirectionalLight":case"HemisphericLight":return!0}return!1}i(We,"isLight");function L(e){return X(e)||ee(e)||We(e)||te(e)}i(L,"isNode");function ue(e){return e.getClassName?.()==="Scene"}i(ue,"isScene");function dr(e){return e.getClassName?.()==="ParticleSystem"}i(dr,"isParticleSystem");function yr(e){return e.getClassName?.()==="GPUParticleSystem"}i(yr,"isGPUParticleSystem");function fe(e){switch(e.getClassName?.()){case"ParticleSystem":case"GPUParticleSystem":return!0}return!1}i(fe,"isAnyParticleSystem");function ge(e){return e.getClassName?.()==="Sprite"}i(ge,"isSprite");var Qe=require("babylonjs"),He=require("babylonjs");function de(e){e.lights.forEach(r=>{let t=r.getShadowGenerator()?.getShadowMap();t&&(t.renderListPredicate=o=>Qe.Vector3.Distance(o.getAbsolutePosition(),r.getAbsolutePosition())<=r.range)})}i(de,"configureShadowMapRenderListPredicate");async function ye(e){e.executeWhenReady(()=>{e.lights.forEach(r=>{let t=r.getShadowGenerator()?.getShadowMap();t&&(t.refreshRate=r.metadata?.refreshRate??He.RenderTargetTexture.REFRESHRATE_RENDER_ONEVERYFRAME)})})}i(ye,"configureShadowMapRefreshRate");var je=require("babylonjs"),Ue=require("babylonjs"),qe=require("babylonjs"),A=null,_=new Map;function Sr(){return A}i(Sr,"getVLSPostProcess");function hr(e){A=e}i(hr,"setVLSPostProcessRef");function Se(e){A&&e.activeCamera&&(A.dispose(e.activeCamera),A=null)}i(Se,"disposeVLSPostProcess");function Je(e,r){return r??=e.meshes.find(t=>w(t)),A=new qe.VolumetricLightScatteringPostProcess("VolumetricLightScatteringPostProcess",1,e.activeCamera,r,100,Ue.Texture.BILINEAR_SAMPLINGMODE,e.getEngine(),!1),A}i(Je,"createVLSPostProcess");function he(){return A?{meshId:A.mesh?.id,exposure:A.exposure,decay:A.decay,weight:A.weight,density:A.density,invert:A.invert,useCustomMeshPosition:A.useCustomMeshPosition,customMeshPosition:A.customMeshPosition.asArray()}:null}i(he,"serializeVLSPostProcess");function be(e,r){let t=null;if(r.meshId){let n=e.getMeshById(r.meshId);n&&w(n)&&(t=n)}let o=Je(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(je.Vector3.FromArray(r.customMeshPosition)),o}i(be,"parseVLSPostProcess");var Ze=require("babylonjs"),h=null,B=new Map;function br(){return h}i(br,"getSSRRenderingPipeline");function Pr(e){h=e}i(Pr,"setSSRRenderingPipelineRef");function Pe(){h&&(h.dispose(),h=null)}i(Pe,"disposeSSRRenderingPipeline");function Xe(e,r){return h=new Ze.SSRRenderingPipeline("SSRRenderingPipeline",e,[r]),h.samples=4,h}i(Xe,"createSSRRenderingPipeline");function Ie(){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(Ie,"serializeSSRRenderingPipeline");function Ae(e,r,t){if(h)return h;let o=Xe(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(Ae,"parseSSRRenderingPipeline");var et=require("babylonjs"),P=null,G=new Map;function Ir(){return P}i(Ir,"getSSAO2RenderingPipeline");function Ar(e){P=e}i(Ar,"setSSAO2RenderingPipelineRef");function Ce(){P&&(P.dispose(),P=null)}i(Ce,"disposeSSAO2RenderingPipeline");function tt(e,r){return P=new et.SSAO2RenderingPipeline("SSAO2RenderingPipeline",e,1,[r]),P.samples=4,P}i(tt,"createSSAO2RenderingPipeline");function xe(){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(xe,"serializeSSAO2RenderingPipeline");function ve(e,r,t){if(P)return P;let o=tt(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(ve,"parseSSAO2RenderingPipeline");var rt=require("babylonjs"),C=null,K=new Map;function Ee(){return C}i(Ee,"getMotionBlurPostProcess");function Cr(e){C=e}i(Cr,"setMotionBlurPostProcessRef");function Te(){C&&(C.dispose(),C=null)}i(Te,"disposeMotionBlurPostProcess");function ot(e,r){return C=new rt.MotionBlurPostProcess("MotionBlurPostProcess",e,1,r),C.motionStrength=1,C.isObjectBased=!0,C}i(ot,"createMotionBlurPostProcess");function De(){return C?{isObjectBased:C.isObjectBased,motionStrength:C.motionStrength,motionBlurSamples:C.motionBlurSamples}:null}i(De,"serializeMotionBlurPostProcess");function Oe(e,r,t){if(C)return C;let o=ot(e,r);return o.isObjectBased=t.isObjectBased,o.motionStrength=t.motionStrength,o.motionBlurSamples=t.motionBlurSamples,o}i(Oe,"parseMotionBlurPostProcess");var nt=require("babylonjs"),Me=require("babylonjs"),it=require("babylonjs"),st=require("babylonjs"),at=require("babylonjs"),l=null,k=new Map;function $(){return l}i($,"getDefaultRenderingPipeline");function xr(e){l=e}i(xr,"setDefaultRenderingPipelineRef");function we(){l&&(l.dispose(),l=null)}i(we,"disposeDefaultRenderingPipeline");function lt(e,r){return l=new at.DefaultRenderingPipeline("DefaultRenderingPipeline",!0,e,[r]),l.samples=4,l.depthOfField.lensSize=512,l.depthOfField.fStop=.25,l.depthOfField.focusDistance=55e3,l}i(lt,"createDefaultRenderingPipeline");function Re(){return l?{samples:l.samples,fxaaEnabled:l.fxaaEnabled,imageProcessingEnabled:l.imageProcessingEnabled,exposure:l.imageProcessing?.exposure,contrast:l.imageProcessing?.contrast,fromLinearSpace:l.imageProcessing?.fromLinearSpace,toneMappingEnabled:l.imageProcessing?.toneMappingEnabled,toneMappingType:l.imageProcessing?.toneMappingType,ditheringEnabled:l.imageProcessing?.ditheringEnabled,ditheringIntensity:l.imageProcessing?.ditheringIntensity,bloomEnabled:l.bloomEnabled,bloomThreshold:l.bloomThreshold,bloomWeight:l.bloomWeight,bloomScale:l.bloomScale,bloomKernel:l.bloomKernel,sharpenEnabled:l.sharpenEnabled,sharpenEdgeAmount:l.sharpen.edgeAmount,sharpenColorAmount:l.sharpen.colorAmount,grainEnabled:l.grainEnabled,grainIntensity:l.grain.intensity,grainAnimated:l.grain.animated,depthOfFieldEnabled:l.depthOfFieldEnabled,depthOfFieldBlurLevel:l.depthOfFieldBlurLevel,lensSize:l.depthOfField.lensSize,fStop:l.depthOfField.fStop,focusDistance:l.depthOfField.focusDistance,focalLength:l.depthOfField.focalLength,vignetteEnabled:l.imageProcessing?.vignetteEnabled,vignetteColor:l.imageProcessing?.vignetteColor.asArray(),vignetteWeight:l.imageProcessing?.vignetteWeight,chromaticAberrationEnabled:l.chromaticAberrationEnabled,aberrationAmount:l.chromaticAberration.aberrationAmount,radialIntensity:l.chromaticAberration.radialIntensity,direction:l.chromaticAberration.direction.asArray(),centerPosition:l.chromaticAberration.centerPosition.asArray(),glowLayerEnabled:l.glowLayerEnabled,glowLayerIntensity:l.glowLayer?.intensity,glowLayerBlurKernelSize:l.glowLayer?.blurKernelSize,colorGradingEnabled:l.imageProcessing.colorGradingEnabled,colorGradingTexture:l.imageProcessing.colorGradingTexture?.serialize(),colorGradingWithGreenDepth:l.imageProcessing.imageProcessingConfiguration.colorGradingWithGreenDepth,colorCurvesEnabled:l.imageProcessing.colorCurvesEnabled,globalHue:l.imageProcessing.colorCurves?.globalHue,globalDensity:l.imageProcessing.colorCurves?.globalDensity,globalExposure:l.imageProcessing.colorCurves?.globalExposure,globalSaturation:l.imageProcessing.colorCurves?.globalSaturation,highlightsHue:l.imageProcessing.colorCurves?.highlightsHue,highlightsDensity:l.imageProcessing.colorCurves?.highlightsDensity,highlightsExposure:l.imageProcessing.colorCurves?.highlightsExposure,highlightsSaturation:l.imageProcessing.colorCurves?.highlightsSaturation,midtonesHue:l.imageProcessing.colorCurves?.midtonesHue,midtonesDensity:l.imageProcessing.colorCurves?.midtonesDensity,midtonesExposure:l.imageProcessing.colorCurves?.midtonesExposure,midtonesSaturation:l.imageProcessing.colorCurves?.midtonesSaturation,shadowsHue:l.imageProcessing.colorCurves?.shadowsHue,shadowsDensity:l.imageProcessing.colorCurves?.shadowsDensity,shadowsExposure:l.imageProcessing.colorCurves?.shadowsExposure,shadowsSaturation:l.imageProcessing.colorCurves?.shadowsSaturation}:null}i(Re,"serializeDefaultRenderingPipeline");function Ne(e,r,t,o){if(l)return l;let n=lt(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=nt.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 st.ColorGradingTexture(a,e),s.level=t.colorGradingTexture.level}else{let a=it.Texture.Parse(t.colorGradingTexture,e,o);pe(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=Me.Vector2.FromArray(t.direction??[0,0]),n.chromaticAberration.centerPosition=Me.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(Ne,"parseDefaultRenderingPipeline");function kn(e){G.set(e,xe()),_.set(e,he()),B.set(e,Ie()),K.set(e,De()),k.set(e,Re())}i(kn,"saveRenderingConfigurationForCamera");function ct(e,r){Ce(),Se(e.getScene()),Pe(),Te(),we();let t=G.get(e);t&&ve(e.getScene(),e,t);let o=_.get(e);o&&be(e.getScene(),o);let n=B.get(e);n&&Ae(e.getScene(),e,n);let s=K.get(e);s&&Oe(e.getScene(),e,s);let a=k.get(e);a&&Ne(e.getScene(),e,a,r)}i(ct,"applyRenderingConfigurationForCamera");var W=require("babylonjs"),mt=require("babylonjs");function pt(e){let r=e.metadata?.physicsAggregate;if(!r)return;let t;w(e)?t=e:Y(e)&&(t=e.sourceMesh);let o=new mt.PhysicsAggregate(e,r.shape.type,{mesh:t,mass:r.massProperties.mass});o.body.setMassProperties({mass:r.massProperties.mass,inertia:r.massProperties.inertia?W.Vector3.FromArray(r.massProperties.inertia):void 0,centerOfMass:r.massProperties.centerOfMass?W.Vector3.FromArray(r.massProperties.centerOfMass):void 0,inertiaOrientation:r.massProperties.inertiaOrientation?W.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(pt,"configurePhysicsAggregate");function ut(e,r){(Array.isArray(r)?r:[]).forEach(o=>{let n=e.getCameraById(o.cameraId);n&&(o.ssao2RenderingPipeline&&G.set(n,o.ssao2RenderingPipeline),o.vlsPostProcess&&_.set(n,o.vlsPostProcess),o.ssrRenderingPipeline&&B.set(n,o.ssrRenderingPipeline),o.motionBlurPostProcess&&K.set(n,o.motionBlurPostProcess),o.defaultRenderingPipeline&&k.set(n,o.defaultRenderingPipeline))})}i(ut,"applyRenderingConfigurations");function re(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(re,"getSoundById");var ft=require("babylonjs"),oe=require("babylonjs"),gt=require("babylonjs"),ne=require("babylonjs"),dt=require("babylonjs"),yt=require("babylonjs-gui");function Fe(e,r,t,o,n){let s=o.constructor;if(!s)return;s._NodesFromScene?.forEach(c=>{o[c.propertyKey.toString()]=e.getNodeByName(c.nodeName)}),s._NodesFromDescendants?.forEach(c=>{let p=r.getDescendants?.(c.directDescendantsOnly,f=>f.name===c.nodeName)[0];o[c.propertyKey.toString()]=p??null}),s._AnimationGroups?.forEach(c=>{o[c.propertyKey.toString()]=e.getAnimationGroupByName(c.animationGroupName)}),s._SoundsFromScene?.forEach(c=>{let p=e.getSoundByName?.(c.soundName);o[c.propertyKey.toString()]=p??null}),(s._GuiFromAsset??[]).map(async c=>{let p=`${n}assets/${c.pathInAssets}`;try{let g=await(await fetch(p)).json(),I=yt.AdvancedDynamicTexture.CreateFullscreenUI(g.name,!0,e);I.parseSerializedObject(g.content,!1),o[c.propertyKey.toString()]=I,c.onGuiCreated?.(o,I)}catch(f){throw console.error(`Failed to load GUI from asset: ${p}`),f}}),s._ParticleSystemsFromScene?.forEach(c=>{let p=e.particleSystems?.find(f=>f.name!==c.particleSystemName?!1:c.directDescendantsOnly?f.emitter===r:f);o[c.propertyKey.toString()]=p}),(s._VisibleInInspector??[]).map(async c=>{let p=c.propertyKey.toString(),f=t.values;if(f.hasOwnProperty(p)&&f[p].hasOwnProperty("value")){let g=f[p].value;switch(c.configuration.type){case"number":case"boolean":case"keymap":case"string":o[p]=g;break;case"vector2":o[p]=ne.Vector2.FromArray(g);break;case"vector3":o[p]=ne.Vector3.FromArray(g);break;case"color3":o[p]=oe.Color3.FromArray(g);break;case"color4":o[p]=oe.Color4.FromArray(g);break;case"entity":switch(c.configuration.entityType){case"node":o[p]=e.getNodeById(g)??null;break;case"animationGroup":o[p]=e.getAnimationGroupByName(g)??null;break;case"sound":o[p]=re(g,e);break;case"particleSystem":o[p]=e.particleSystems?.find(S=>S.id===g)??null;break}break;case"texture":g&&(o[p]=gt.Texture.Parse(g,e,n));break;case"asset":if(g){let S=c.configuration.assetType,d=V.get(g);switch(S){case"json":o[p]=d;break;case"nodeParticleSystemSet":let y=dt.NodeParticleSystemSet.Parse(d);o[p]=y;break;case"material":o[p]=ft.Material.Parse(d,e,n);break}}}}});let a=null,m=null;if(s._PointerEvents?.length){if(s._PointerEvents.find(f=>f.options.mode==="attachedMeshOnly")&&!X(r))throw new Error('@onPointerEvent with mode "attachedMeshOnly" can only be used on scripts attached to meshes (extends AbstractMesh).');if(s._PointerEvents.find(f=>f.options.mode!=="global")&&!L(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(f=>{let g=null;s._PointerEvents.forEach(I=>{if(!I.eventTypes.includes(f.type))return;let S=I.propertyKey.toString();if(I.options.mode==="global")return o[S]?.(f);g=f.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&&(I.options.mode==="attachedMeshOnly"&&d===r||I.options.mode==="includeDescendants"&&L(r)&&[r,...r.getDescendants(!1)].find(b=>b===d)))return o[S]?.(f)})})}if(s._KeyboardEvents?.length&&(m=e.onKeyboardObservable.add(c=>{s._KeyboardEvents.forEach(p=>{p.eventTypes.includes(c.type)&&o[p.propertyKey.toString()]?.(c)})})),s._SpritesFromSpriteManager?.length){let c=r;if(!ee(c)||!c.isSpriteManager)return console.error("@spriteFromSpriteManager decorator can only be used on SpriteManagerNode.");if(!c.spriteManager)return console.error(`SpriteManagerNode "${c.name}" has no sprite manager assigned.`);s._SpritesFromSpriteManager?.forEach(p=>{let f=c.spriteManager?.sprites.find(g=>g.name===p.spriteName)||null;o[p.propertyKey.toString()]=f})}if(s._AnimationsFromSprite?.length){if(!ge(r))return console.error("@animationFromSprite decorator can only be used in scripts attached on Sprite.");let c=r.metadata?.spriteAnimations;if(!c?.length)return console.error(`Sprite "${r.name}" has no sprite animations assigned.`);s._AnimationsFromSprite.forEach(p=>{let f=c.find(g=>g.name===p.animationName);f?o[p.propertyKey.toString()]=f??null:console.warn(`Sprite animation named "${p.animationName}" not found on sprite "${r.name}".`)})}return{observers:{pointerObserver:a,keyboardObserver:m}}}i(Fe,"applyDecorators");var V=new Map;async function Ve(e,r){[e,...e.transformNodes,...e.meshes,...e.lights,...e.cameras].filter(s=>s.metadata?.scripts?.length).map(s=>s.metadata.scripts).flat().forEach(s=>{for(let a in s.values){if(!s.values.hasOwnProperty(a))continue;let m=s.values[a];m.type==="asset"&&m.value&&V.set(m.value,null)}});let n=[];V.forEach((s,a)=>{V.get(a)||n.push(new Promise(async m=>{try{let p=await(await fetch(`${r}${a}`)).json();V.set(a,p)}catch(c){console.error(c)}m()}))}),await Promise.all(n)}i(Ve,"_preloadScriptsAssets");function N(e,r,t,o){r.metadata?.scripts&&(r.metadata.scripts?.forEach(async n=>{if(!n.enabled)return;let s=t[n.key];if(!s)return;let a=s,m={};if(s.default){a=new s.default(r);let c=Fe(e,r,n,a,o);Object.assign(m,c?.observers??{})}a.onStart&&(m.onStartObserver=e.onBeforeRenderObservable.addOnce(()=>a.onStart(r))),a.onUpdate&&(m.onUpdateObserver=e.onBeforeRenderObservable.add(()=>a.onUpdate(r))),St(r,a,n.key,m)}),r.metadata.scripts=void 0)}i(N,"_applyScriptsForObject");function vr(e,r,t){if(t??=e.getScene?.(),!t)throw new Error("Cannot apply script on object: no scene available.");let o=new r(e);return Fe(t,e,{values:{}},o,""),o.onStart&&t.onBeforeRenderObservable.addOnce(()=>o.onStart()),o.onUpdate&&t.onBeforeRenderObservable.add(()=>o.onUpdate()),o}i(vr,"applyScriptOnObject");var R=new Map;function St(e,r,t,o){let n={key:t,observers:o,instance:r};R.has(e)?R.get(e).push(n):R.set(e,[n]),(L(e)||fe(e)||ue(e))&&e.onDisposeObservable.addOnce(()=>{R.get(e)?.forEach(s=>{ht(e,s)}),R.delete(e)})}i(St,"_registerScriptInstance");function ht(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=R.get(e),o=t?.indexOf(r)??-1;o!==-1&&t?.splice(o,1)}i(ht,"_removeRegisteredScriptInstance");function bt(e,r){return R.get(e)?.filter(n=>n.instance.constructor===r)?.map(n=>n.instance)??null}i(bt,"getAllScriptsByClassForObject");function Er(e,r){return bt(e,r)?.[0]??null}i(Er,"getScriptByClassForObject");var It=require("babylonjs"),ie=require("babylonjs"),Pt=!1;function At(){if(Pt)return;Pt=!0;let e=(0,ie.GetParser)(It.SceneComponentConstants.NAME_AUDIO);(0,ie.AddParser)("AudioEditorPlugin",(r,t,o,n)=>{e?.(r,t,o,n),r.sounds?.forEach(s=>{let a=o.sounds?.find(m=>m.name===s.name);a&&(a.id=s.id,a.uniqueId=s.uniqueId)})})}i(At,"registerAudioParser");function E(e){let r=1;for(;r<=e;)r<<=1;return r>>1}i(E,"getPowerOfTwoUntil");var Le=require("babylonjs"),Ct=!1;function xt(){if(Ct)return;Ct=!0;let e=Le.SerializationHelper._TextureParser;Le.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===E(n)||s===E(s),m="";switch(t.loadingTexturesQuality){case"medium":let d=n*.66>>0,y=s*.66>>0;a&&(d=E(d),y=E(y)),m=`_${d}_${y}`;break;case"low":case"very-low":let u=n*.33>>0,b=s*.33>>0;a&&(u=E(u),b=E(b)),m=`_${u}_${b}`;break}let c=r.name;if(!c||!m)return e(r,t,o);let p=c.split("/"),f=p.pop();if(!f)return e(r,t,o);let g=f.split(".").pop(),S=`${f.replace(`.${g}`,"")}${m}.${g}`;return p.push(S),r.name=p.join("/"),e(r,t,o)}}i(xt,"registerTextureParser");var Et=require("babylonjs"),se=require("babylonjs"),vt=!1;function Tt(){if(vt)return;vt=!0;let e=(0,se.GetParser)(Et.SceneComponentConstants.NAME_SHADOWGENERATOR);(0,se.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,E(s.mapSize))}),e?.(r,t,o,n)})}i(Tt,"registerShadowGeneratorParser");function _e(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(_e,"normalizeAtlasJson");function Tr(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(Tr,"playSpriteAnimationFromName");var Ot=require("babylonjs"),Mt=require("babylonjs"),wt=require("babylonjs"),Rt=require("babylonjs"),Be=require("babylonjs"),z=require("babylonjs"),Nt=require("babylonjs"),Dt=!1;function Ft(){Dt||(Dt=!0,(0,Nt.AddParser)("SpriteMapNode",(e,r,t,o)=>{e.transformNodes?.forEach(n=>{if(!n.isSpriteMap)return;let s=t.transformNodes?.find(c=>c.id===n.id);if(!s)return;s.isSpriteMap=n.isSpriteMap;let a=`${o}${n.atlasJsonRelativePath}`;r.addPendingData(a);let m=new wt.WebRequest;m.open("GET",a),m.send(),m.addEventListener("load",()=>{r.removePendingData(a);let c=JSON.parse(m.responseText);_e(c);let p=`${Ot.Tools.GetFolderPath(a)}${c.meta.image}`,f=new Be.Texture(p,r,!1,!1,Be.Texture.NEAREST_NEAREST,null,null,null,!1,Mt.Engine.TEXTUREFORMAT_RGBA),g=new Rt.SpriteMap(s.name,c,f,{layerCount:n.options.layerCount,stageSize:z.Vector2.FromArray(n.options.stageSize??[10,1]),outputSize:z.Vector2.FromArray(n.options.outputSize??[100,100]),colorMultiply:z.Vector3.FromArray(n.options.colorMultiply??[1,1,1]),flipU:!0},r);n.tiles.forEach(S=>{for(let d=0,y=S.repeatCount.x+1;d<y;++d)for(let u=0,b=S.repeatCount.y+1;u<b;++u){let v=d*(S.repeatOffset.x+1),q=u*(S.repeatOffset.y+1);g.changeTiles(S.layer,new z.Vector2(S.position.x+v,(g.options.stageSize?.y??0)-1-S.position.y-q),S.tile)}});let I=g._output;I.parent=s,s.spriteMap=g})})}))}i(Ft,"registerSpriteMapParser");var _t=require("babylonjs"),Bt=require("babylonjs"),Gt=require("babylonjs"),Ge=require("babylonjs"),Kt=require("babylonjs");function Vt(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=Bt.Sprite.Parse(t,e);o.uniqueId=t.uniqueId,o.metadata=t.metadata}}i(Vt,"parseSerializedSpriteManager");var Lt=!1;function kt(){Lt||(Lt=!0,(0,Kt.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 m=new Gt.WebRequest;m.open("GET",a),m.send(),m.addEventListener("load",()=>{r.removePendingData(a);let c=JSON.parse(m.responseText),p=`${_t.Tools.GetFolderPath(a)}${c.meta.image}`,f=new Ge.SpriteManager(s.name,p,1e3,64,r,void 0,void 0,!0,c);s.spriteManager=f,n.spriteManager&&Vt(f,n.spriteManager)})}else if(n.spriteManager?.textureUrl){let a=`${o}${n.spriteManager.textureUrl}`,m=new Ge.SpriteManager(s.name,a,1e3,{width:n.spriteManager.cellWidth,height:n.spriteManager.cellHeight},r,void 0,void 0,!1);s.spriteManager=m,n.spriteManager&&Vt(m,n.spriteManager)}}})}))}i(kt,"registerSpriteManagerParser");var zt=require("babylonjs"),Ke=require("babylonjs"),Yt=require("babylonjs"),$t=require("babylonjs");async function Dr(e,r,t,o,n){t.loadingQuality=n?.quality??"high",t.loadingTexturesQuality=n?.texturesQuality??t.loadingQuality,t.loadingShadowsQuality=n?.shadowsQuality??t.loadingQuality,At(),xt(),Tt(),Ft(),kt(),await(0,Yt.AppendSceneAsync)(`${e}${r}`,t,{pluginExtension:".babylon",onProgress:i(a=>{let m=Math.min(a.loaded/a.total*.5);n?.onProgress?.(m)},"onProgress")}),$t.SceneLoaderFlags.ForceFullSceneLoadingForIncremental&&t.meshes.forEach(a=>w(a)&&a._checkDelayState());let s=t.getWaitingItemsCount();for(;!t.isDisposed&&(!t.isReady()||t.getWaitingItemsCount()>0);){await new Promise(m=>setTimeout(m,150));let a=s-t.getWaitingItemsCount();a===s&&t.textures.forEach(m=>{m.delayLoadState===Ke.Constants.DELAYLOADSTATE_NONE&&(m.delayLoadState=Ke.Constants.DELAYLOADSTATE_LOADED)}),n?.onProgress?.(.5+a/s*.5)}await Ve(t,e),n?.onProgress?.(1),de(t),ye(t),t.metadata?.rendering&&(ut(t,t.metadata.rendering),t.activeCamera&&ct(t.activeCamera,e)),t.metadata?.physicsGravity&&t.getPhysicsEngine()?.setGravity(zt.Vector3.FromArray(t.metadata?.physicsGravity)),N(t,t,o,e),t.transformNodes.forEach(a=>{N(t,a,o,e)}),t.meshes.forEach(a=>{pt(a),N(t,a,o,e)}),t.lights.forEach(a=>{N(t,a,o,e)}),t.cameras.forEach(a=>{N(t,a,o,e)}),t.spriteManagers?.forEach(a=>{a.sprites.forEach(m=>{N(t,m,o,e)})})}i(Dr,"loadScene");var Wt=require("babylonjs");async function Or(e,r,t){let n=await(await fetch(e+r)).json(),a=Wt.Tools.Instantiate(n.customType).Parse(n,t,e);return a.id=n.id,a.uniqueId=n.uniqueId,a}i(Or,"loadMaterialFromFile");function Mr(e){return Promise.all(e.materials.map(async r=>{let t=r.getBindedMeshes();await Promise.all(t.map(async o=>{Y(o)||await r.forceCompilationAsync(o,{clipPlane:!!e.clipPlane,useInstances:o.hasInstances})}))}))}i(Mr,"forceCompileAllSceneMaterials");function wr(e){e.setTextureFormatToUse(["-dxt.ktx","-astc.ktx","-pvrtc.ktx","-etc1.ktx","-etc2.ktx"])}i(wr,"configureEngineToUseCompressedTextures");var O=require("babylonjs");function Q(e){if(!isNaN(parseFloat(e))&&isFinite(e))return O.Animation.ANIMATIONTYPE_FLOAT;switch(e?.getClassName?.()){case"Vector2":return O.Animation.ANIMATIONTYPE_VECTOR2;case"Vector3":return O.Animation.ANIMATIONTYPE_VECTOR3;case"Quaternion":return O.Animation.ANIMATIONTYPE_QUATERNION;case"Color3":return O.Animation.ANIMATIONTYPE_COLOR3;case"Color4":return O.Animation.ANIMATIONTYPE_COLOR4;case"Size":return O.Animation.ANIMATIONTYPE_SIZE;case"Matrix":return O.Animation.ANIMATIONTYPE_MATRIX}return null}i(Q,"getAnimationTypeForObject");function Rr(e){return function(r,t){let o=r.constructor;o._NodesFromScene??=[],o._NodesFromScene.push({propertyKey:t,nodeName:e})}}i(Rr,"nodeFromScene");function Nr(e,r=!1){return function(t,o){let n=t.constructor;n._NodesFromDescendants??=[],n._NodesFromDescendants.push({propertyKey:o,nodeName:e,directDescendantsOnly:r})}}i(Nr,"nodeFromDescendants");function Fr(e){return function(r,t){let o=r.constructor;o._AnimationGroups??=[],o._AnimationGroups.push({animationGroupName:e,propertyKey:t})}}i(Fr,"animationGroupFromScene");function Vr(e,r){return function(t,o){let n=t.constructor;n._GuiFromAsset??=[],n._GuiFromAsset.push({propertyKey:o,pathInAssets:e,onGuiCreated:r})}}i(Vr,"guiFromAsset");function Lr(e){return function(r,t){let o=r.constructor;o._SoundsFromScene??=[],o._SoundsFromScene.push({propertyKey:t,soundName:e})}}i(Lr,"soundFromScene");function _r(e,r=!1){return function(t,o){let n=t.constructor;n._ParticleSystemsFromScene??=[],n._ParticleSystemsFromScene.push({propertyKey:o,particleSystemName:e,directDescendantsOnly:r})}}i(_r,"particleSystemFromScene");function Br(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"boolean"}})}}i(Br,"visibleAsBoolean");function Gr(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"string"}})}}i(Gr,"visibleAsString");function Kr(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"number"}})}}i(Kr,"visibleAsNumber");function kr(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"vector2"}})}}i(kr,"visibleAsVector2");function zr(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"vector3"}})}}i(zr,"visibleAsVector3");function Yr(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"color3"}})}}i(Yr,"visibleAsColor3");function $r(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"color4"}})}}i($r,"visibleAsColor4");function Wr(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(Wr,"visibleAsEntity");function Qr(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"texture"}})}}i(Qr,"visibleAsTexture");function Hr(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"keymap"}})}}i(Hr,"visibleAsKeyMap");function jr(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(jr,"visibleAsAsset");function Ur(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(Ur,"onPointerEvent");function qr(e){return function(r,t){let o=r.constructor;o._KeyboardEvents??=[],o._KeyboardEvents.push({propertyKey:t,eventTypes:Array.isArray(e)?e:[e]})}}i(qr,"onKeyboardEvent");function Jr(e){return function(r,t){let o=r.constructor;o._SpritesFromSpriteManager??=[],o._SpritesFromSpriteManager.push({propertyKey:t,spriteName:e})}}i(Jr,"spriteFromSpriteManager");function Zr(e){return function(r,t){let o=r.constructor;o._AnimationsFromSprite??=[],o._AnimationsFromSprite.push({propertyKey:t,animationName:e})}}i(Zr,"animationFromSprite");var ae=require("babylonjs");function Qt(e,r){let t;switch(e){case ae.Animation.ANIMATIONTYPE_FLOAT:t=r.value;break;default:t=r.value.clone();break}return{value:t,frame:r.frame,interpolation:r.interpolation,inTangent:e===ae.Animation.ANIMATIONTYPE_FLOAT?r.inTangent:r.inTangent?.clone(),outTangent:e===ae.Animation.ANIMATIONTYPE_FLOAT?r.outTangent:r.outTangent?.clone()}}i(Qt,"cloneKey");function le(e,r){let t=r.split("."),o=e;for(let n=0;n<t.length;++n)o=o[t[n]];return o}i(le,"getPropertyValue");function ke(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(ke,"registerAfterAnimationCallback");var M=require("babylonjs"),ce=require("babylonjs"),D=require("babylonjs");function Xr(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=$()),t.propertyPath){let a=le(o,t.propertyPath);n=Q(a)}let s=null;return t.sound&&(s=re(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:ze(t.soundVolume??[],M.Animation.ANIMATIONTYPE_FLOAT),keyFrameEvents:t.keyFrameEvents?.map(a=>{let m={...a};switch(a.data?.type){case"set-enabled":m.data={type:"set-enabled",value:a.data.value,node:r.getNodeById(a.data.node)};break;case"apply-impulse":m.data={type:"apply-impulse",radius:a.data.radius,mesh:r.getMeshById(a.data.mesh),force:D.Vector3.FromArray(a.data.force),contactPoint:D.Vector3.FromArray(a.data.contactPoint)};break}return m}),keyFrameAnimations:o&&n!==null&&ze(t.keyFrameAnimations??[],n)}})}}i(Xr,"parseCinematic");function T(e,r){if(e===null)return null;if(e!==void 0)switch(r){case M.Animation.ANIMATIONTYPE_FLOAT:return e;case M.Animation.ANIMATIONTYPE_VECTOR2:return D.Vector2.FromArray(e);case M.Animation.ANIMATIONTYPE_VECTOR3:return D.Vector3.FromArray(e);case M.Animation.ANIMATIONTYPE_QUATERNION:return D.Quaternion.FromArray(e);case M.Animation.ANIMATIONTYPE_COLOR3:return ce.Color3.FromArray(e);case M.Animation.ANIMATIONTYPE_COLOR4:return ce.Color4.FromArray(e);case M.Animation.ANIMATIONTYPE_MATRIX:return D.Matrix.FromArray(e)}}i(T,"parseCinematicKeyValue");function ze(e,r){return e?.map(t=>{let o=t.type==="key"?t:null;if(o)return{...o,value:T(o.value,r),inTangent:T(o.inTangent,r),outTangent:T(o.outTangent,r)};let n=t.type==="cut"?t:null;if(n)return{...n,key1:{...n.key1,value:T(n.key1.value,r),inTangent:T(n.key1.inTangent,r),outTangent:T(n.key1.outTangent,r)},key2:{...n.key2,value:T(n.key2.value,r),inTangent:T(n.key2.inTangent,r),outTangent:T(n.key2.outTangent,r)}};throw new Error(`Unknown key frame type: ${t.type}`)})}i(ze,"parseKeyFrameAnimations");function Ht(e,r){e.onEventObservable.notifyObservers(r.eventName)}i(Ht,"handleApplyEvent");function jt(e){e.node?.setEnabled(e.value)}i(jt,"handleSetEnabledEvent");var Ye=require("babylonjs"),Ut=Ye.Vector3.Zero();function qt(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 Ye.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(Ut),o.physicsAggregate.body.setAngularVelocity(Ut),o.physicsAggregate.body.applyImpulse(n.negateInPlace(),r.contactPoint)}})}i(qt,"handleApplyImpulseEvent");var Jt=require("babylonjs"),Zt=require("babylonjs"),H=class extends Zt.AnimationGroup{static{i(this,"Cinematic")}onEventObservable=new Jt.Observable;onEvent(r,t){this.onEventObservable.add(o=>{r===o&&t()})}};function $e(e){return e.type==="key"}i($e,"isCinematicKey");function j(e){return e.type==="cut"}i(j,"isCinematicKeyCut");function eo(e){return e.type==="event"}i(eo,"isCinematicKeyEvent");function to(e){return e.type==="group"}i(to,"isCinematicGroup");function ro(e){return e.type==="sound"}i(ro,"isCinematicSound");var Xt=require("babylonjs"),x=require("babylonjs"),U=require("babylonjs");function oo(e,r,t){let o=new H(e.name,r);return e.tracks.forEach(n=>{let s=n.animationGroup;if(s){let S=[];if(n.animationGroups?.forEach(d=>{s.targetedAnimations.forEach(y=>{let u=null;e:{let F=o.targetedAnimations.filter(J=>J.target===y.target);if(F.length){let J=F.find(er=>er.animation.targetProperty===y.animation.targetProperty);if(J){u=J.animation;break e}}u=y.animation.clone(),u.setKeys([]),u.name=Xt.Tools.RandomId(),u.framePerSecond=e.framesPerSecond}let b=u.getKeys(),v=y.animation.getKeys(),q=d.speed,me=e.framesPerSecond/y.animation.framePerSecond/q;v.forEach(F=>{F.frame>=d.startFrame&&F.frame<=d.endFrame&&b.push({...Qt(y.animation.dataType,F),frame:d.frame+F.frame*me})}),u.setKeys(b),o.addTargetedAnimation(u,y.target),S.push(u)})}),S.length&&(n.animationGroupWeight?.length??0)>=2){let d={weight:0},y=new x.Animation(`${s.name}-weights`,"weight",60,x.Animation.ANIMATIONTYPE_FLOAT,x.Animation.ANIMATIONLOOPMODE_CYCLE,!1),u=[];n.animationGroupWeight.forEach(b=>{j(b)?(u.push(b.key1),u.push(b.key2)):u.push(b)}),y.setKeys(u),o.addTargetedAnimation(y,d),ke(o,r,()=>{o.animatables.forEach(b=>{for(let v of b.getAnimations())if(S.includes(v.animation)){b.weight=d.weight;break}})})}}let a=n.sound,m=a?.getAudioBuffer();if(!t?.ignoreSounds&&a&&m&&n.sounds?.length){let S={dummy:0,volume:0},d=new x.Animation(a.name,"dummy",60,x.Animation.ANIMATIONTYPE_FLOAT,x.Animation.ANIMATIONLOOPMODE_CYCLE,!1),y=0;if(n.sounds?.forEach(u=>{let b=u.endFrame-u.startFrame;y=Math.max(y,u.frame+b),d.addEvent(new U.AnimationEvent(u.frame,v=>{let me=(v-u.frame+u.startFrame)/e.framesPerSecond;a.play(0,me)},!1)),d.addEvent(new U.AnimationEvent(u.frame+b,()=>{a.stop()}))}),d.setKeys([{frame:0,value:0},{frame:y,value:y}]),o.addTargetedAnimation(d,S),(n.soundVolume?.length??0)>=2){let u=new x.Animation(a.name,"volume",60,x.Animation.ANIMATIONTYPE_FLOAT,x.Animation.ANIMATIONLOOPMODE_CYCLE,!1),b=[];n.soundVolume.forEach(v=>{j(v)?(b.push(v.key1),b.push(v.key2)):b.push(v)}),u.setKeys(b),o.addTargetedAnimation(u,S),ke(o,r,()=>{a.setVolume(S.volume)})}}if(n.keyFrameEvents){let S={dummy:0},d=new x.Animation("events","dummy",60,x.Animation.ANIMATIONTYPE_FLOAT,x.Animation.ANIMATIONLOOPMODE_CYCLE,!1),y=0;n.keyFrameEvents?.forEach(u=>{y=Math.max(y,u.frame),d.addEvent(new U.AnimationEvent(u.frame,()=>{switch(u.data?.type){case"event":Ht(o,u.data);break;case"set-enabled":jt(u.data);break;case"apply-impulse":qt(r,u.data);break}}))}),d.setKeys([{frame:0,value:0},{frame:y+1,value:y+1}]),o.addTargetedAnimation(d,S)}let c=n.defaultRenderingPipeline?$():n.node;if(!c||!n.propertyPath||!n.keyFrameAnimations)return;let p=le(c,n.propertyPath),f=Q(p);if(f===null)return;let g=new x.Animation(n.propertyPath,n.propertyPath,60,f,x.Animation.ANIMATIONLOOPMODE_CYCLE,!1),I=[];n.keyFrameAnimations?.forEach(S=>{if($e(S))return I.push(S);j(S)&&(I.push(S.key1),I.push(S.key2),te(c)&&n.propertyPath==="position"&&g.addEvent(new U.AnimationEvent(S.key1.frame,()=>{let d=Ee();if(!d)return;let y=d.motionStrength;d.motionStrength=0,requestAnimationFrame(()=>{d.motionStrength=y})})))}),g.setKeys(I),o.addTargetedAnimation(g,c)}),o.normalize(),o}i(oo,"generateCinematicAnimationGroup");0&&(module.exports={Cinematic,_applyScriptsForObject,_preloadScriptsAssets,_registerScriptInstance,_removeRegisteredScriptInstance,animationFromSprite,animationGroupFromScene,applyScriptOnObject,configureEngineToUseCompressedTextures,configureShadowMapRefreshRate,configureShadowMapRenderListPredicate,createDefaultRenderingPipeline,createMotionBlurPostProcess,createSSAO2RenderingPipeline,createSSRRenderingPipeline,createVLSPostProcess,defaultPipelineCameraConfigurations,disposeDefaultRenderingPipeline,disposeMotionBlurPostProcess,disposeSSAO2RenderingPipeline,disposeSSRRenderingPipeline,disposeVLSPostProcess,forceCompileAllSceneMaterials,generateCinematicAnimationGroup,getAllScriptsByClassForObject,getAnimationTypeForObject,getDefaultRenderingPipeline,getMotionBlurPostProcess,getPowerOfTwoUntil,getSSAO2RenderingPipeline,getSSRRenderingPipeline,getScriptByClassForObject,getVLSPostProcess,guiFromAsset,isAbstractMesh,isAnyParticleSystem,isArcRotateCamera,isBone,isCamera,isCinematicGroup,isCinematicKey,isCinematicKeyCut,isCinematicKeyEvent,isCinematicSound,isDirectionalLight,isFreeCamera,isGPUParticleSystem,isGroundMesh,isHemisphericLight,isInstancedMesh,isLight,isMesh,isNode,isParticleSystem,isPointLight,isScene,isSpotLight,isSprite,isTexture,isTransformNode,loadMaterialFromFile,loadScene,motionBlurPostProcessCameraConfigurations,nodeFromDescendants,nodeFromScene,normalizeAtlasJson,onKeyboardEvent,onPointerEvent,parseCinematic,parseCinematicKeyValue,parseDefaultRenderingPipeline,parseKeyFrameAnimations,parseMotionBlurPostProcess,parseSSAO2RenderingPipeline,parseSSRRenderingPipeline,parseVLSPostProcess,particleSystemFromScene,playSpriteAnimationFromName,scriptAssetsCache,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 X=Object.defineProperty;var er=Object.getOwnPropertyDescriptor;var tr=Object.getOwnPropertyNames;var rr=Object.prototype.hasOwnProperty;var i=(e,r)=>X(e,"name",{value:r,configurable:!0});var nr=(e,r)=>{for(var t in r)X(e,t,{get:r[t],enumerable:!0})},or=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of tr(r))!rr.call(e,o)&&o!==t&&X(e,o,{get:()=>r[o],enumerable:!(n=er(r,o))||n.enumerable});return e};var ir=e=>or(X({},"__esModule",{value:!0}),e);var nn={};nr(nn,{Cinematic:()=>q,_applyScriptsForObject:()=>V,_preloadScriptsAssets:()=>Ve,_registerScriptInstance:()=>Le,_removeRegisteredScriptInstance:()=>Pt,animationFromSprite:()=>Jr,animationGroupFromScene:()=>Nr,applyScriptOnObject:()=>xr,configureEngineToUseCompressedTextures:()=>Mr,configureShadowMapRefreshRate:()=>ye,configureShadowMapRenderListPredicate:()=>de,createDefaultRenderingPipeline:()=>ct,createMotionBlurPostProcess:()=>ot,createSSAO2RenderingPipeline:()=>rt,createSSRRenderingPipeline:()=>et,createVLSPostProcess:()=>Ze,defaultPipelineCameraConfigurations:()=>$,disposeDefaultRenderingPipeline:()=>we,disposeMotionBlurPostProcess:()=>Te,disposeSSAO2RenderingPipeline:()=>Ce,disposeSSRRenderingPipeline:()=>Pe,disposeVLSPostProcess:()=>Se,forceCompileAllSceneMaterials:()=>Dr,generateCinematicAnimationGroup:()=>rn,getAllScriptsByClassForObject:()=>At,getAnimationTypeForObject:()=>U,getDefaultRenderingPipeline:()=>H,getMotionBlurPostProcess:()=>Ee,getPowerOfTwoUntil:()=>D,getSSAO2RenderingPipeline:()=>Pr,getSSRRenderingPipeline:()=>hr,getScriptByClassForObject:()=>vr,getVLSPostProcess:()=>yr,guiFromAsset:()=>Fr,isAbstractMesh:()=>ee,isAnyParticleSystem:()=>fe,isArcRotateCamera:()=>cr,isBone:()=>sr,isCamera:()=>re,isCinematicGroup:()=>en,isCinematicKey:()=>We,isCinematicKeyCut:()=>J,isCinematicKeyEvent:()=>Xr,isCinematicSound:()=>tn,isDirectionalLight:()=>pr,isFreeCamera:()=>lr,isGPUParticleSystem:()=>dr,isGroundMesh:()=>ar,isHemisphericLight:()=>fr,isInstancedMesh:()=>Q,isLight:()=>Qe,isMesh:()=>O,isNode:()=>G,isParticleSystem:()=>gr,isPointLight:()=>mr,isScene:()=>ue,isSpotLight:()=>ur,isSprite:()=>ge,isTexture:()=>pe,isTransformNode:()=>te,loadMaterialFromFile:()=>Or,loadScene:()=>Tr,motionBlurPostProcessCameraConfigurations:()=>z,nodeFromDescendants:()=>Rr,nodeFromScene:()=>wr,normalizeAtlasJson:()=>Ge,onKeyboardEvent:()=>Ur,onPointerEvent:()=>jr,parseCinematic:()=>Zr,parseCinematicKeyValue:()=>M,parseDefaultRenderingPipeline:()=>Ne,parseKeyFrameAnimations:()=>$e,parseMotionBlurPostProcess:()=>De,parseSSAO2RenderingPipeline:()=>ve,parseSSRRenderingPipeline:()=>Ie,parseVLSPostProcess:()=>be,particleSystemFromScene:()=>Vr,playSpriteAnimationFromName:()=>Er,scriptAssetsCache:()=>F,scriptsDictionary:()=>L,serializeDefaultRenderingPipeline:()=>Re,serializeMotionBlurPostProcess:()=>Oe,serializeSSAO2RenderingPipeline:()=>xe,serializeSSRRenderingPipeline:()=>Ae,serializeVLSPostProcess:()=>he,setDefaultRenderingPipelineRef:()=>Cr,setMotionBlurPostProcessRef:()=>Ir,setSSAO2RenderingPipelineRef:()=>Ar,setSSRRenderingPipelineRef:()=>br,setVLSPostProcessRef:()=>Sr,soundFromScene:()=>Lr,spriteFromSpriteManager:()=>qr,ssaoRenderingPipelineCameraConfigurations:()=>k,ssrRenderingPipelineCameraConfigurations:()=>K,visibleAsAsset:()=>Hr,visibleAsBoolean:()=>_r,visibleAsColor3:()=>zr,visibleAsColor4:()=>$r,visibleAsEntity:()=>Yr,visibleAsKeyMap:()=>Qr,visibleAsNumber:()=>Br,visibleAsString:()=>Gr,visibleAsTexture:()=>Wr,visibleAsVector2:()=>Kr,visibleAsVector3:()=>kr,vlsPostProcessCameraConfigurations:()=>B});module.exports=ir(nn);function ee(e){switch(e.getClassName?.()){case"Mesh":case"LineMesh":case"GroundMesh":case"InstancedMesh":return!0}return!1}i(ee,"isAbstractMesh");function O(e){switch(e.getClassName?.()){case"Mesh":case"GroundMesh":return!0}return!1}i(O,"isMesh");function Q(e){return e.getClassName?.()==="InstancedMesh"}i(Q,"isInstancedMesh");function sr(e){return e.getClassName?.()==="Bone"}i(sr,"isBone");function ar(e){return e.getClassName?.()==="GroundMesh"}i(ar,"isGroundMesh");function te(e){return e.getClassName?.()==="TransformNode"}i(te,"isTransformNode");function pe(e){return e?.getClassName?.()==="Texture"}i(pe,"isTexture");function re(e){switch(e.getClassName?.()){case"Camera":case"FreeCamera":case"TargetCamera":case"EditorCamera":case"ArcRotateCamera":case"UniversalCamera":return!0}return!1}i(re,"isCamera");function lr(e){switch(e.getClassName?.()){case"FreeCamera":case"UniversalCamera":return!0}return!1}i(lr,"isFreeCamera");function cr(e){return e.getClassName?.()==="ArcRotateCamera"}i(cr,"isArcRotateCamera");function mr(e){return e.getClassName?.()==="PointLight"}i(mr,"isPointLight");function pr(e){return e.getClassName?.()==="DirectionalLight"}i(pr,"isDirectionalLight");function ur(e){return e.getClassName?.()==="SpotLight"}i(ur,"isSpotLight");function fr(e){return e.getClassName?.()==="HemisphericLight"}i(fr,"isHemisphericLight");function Qe(e){switch(e.getClassName?.()){case"Light":case"PointLight":case"SpotLight":case"DirectionalLight":case"HemisphericLight":return!0}return!1}i(Qe,"isLight");function G(e){return ee(e)||te(e)||Qe(e)||re(e)}i(G,"isNode");function ue(e){return e.getClassName?.()==="Scene"}i(ue,"isScene");function gr(e){return e.getClassName?.()==="ParticleSystem"}i(gr,"isParticleSystem");function dr(e){return e.getClassName?.()==="GPUParticleSystem"}i(dr,"isGPUParticleSystem");function fe(e){switch(e.getClassName?.()){case"ParticleSystem":case"GPUParticleSystem":return!0}return!1}i(fe,"isAnyParticleSystem");function ge(e){return e.getClassName?.()==="Sprite"}i(ge,"isSprite");var He=require("babylonjs"),je=require("babylonjs");function de(e){e.lights.forEach(r=>{let t=r.getShadowGenerator()?.getShadowMap();t&&(t.renderListPredicate=n=>He.Vector3.Distance(n.getAbsolutePosition(),r.getAbsolutePosition())<=r.range)})}i(de,"configureShadowMapRenderListPredicate");async function ye(e){e.executeWhenReady(()=>{e.lights.forEach(r=>{let t=r.getShadowGenerator()?.getShadowMap();t&&(t.refreshRate=r.metadata?.refreshRate??je.RenderTargetTexture.REFRESHRATE_RENDER_ONEVERYFRAME)})})}i(ye,"configureShadowMapRefreshRate");var Ue=require("babylonjs"),qe=require("babylonjs"),Je=require("babylonjs"),C=null,B=new Map;function yr(){return C}i(yr,"getVLSPostProcess");function Sr(e){C=e}i(Sr,"setVLSPostProcessRef");function Se(e){C&&e.activeCamera&&(C.dispose(e.activeCamera),C=null)}i(Se,"disposeVLSPostProcess");function Ze(e,r){return r??=e.meshes.find(t=>O(t)),C=new Je.VolumetricLightScatteringPostProcess("VolumetricLightScatteringPostProcess",1,e.activeCamera,r,100,qe.Texture.BILINEAR_SAMPLINGMODE,e.getEngine(),!1),C}i(Ze,"createVLSPostProcess");function he(){return C?{meshId:C.mesh?.id,exposure:C.exposure,decay:C.decay,weight:C.weight,density:C.density,invert:C.invert,useCustomMeshPosition:C.useCustomMeshPosition,customMeshPosition:C.customMeshPosition.asArray()}:null}i(he,"serializeVLSPostProcess");function be(e,r){let t=null;if(r.meshId){let o=e.getMeshById(r.meshId);o&&O(o)&&(t=o)}let n=Ze(e,t);return n.exposure=r.exposure,n.decay=r.decay,n.weight=r.weight,n.density=r.density,n.invert=r.invert,n.useCustomMeshPosition=r.useCustomMeshPosition,n.customMeshPosition.copyFrom(Ue.Vector3.FromArray(r.customMeshPosition)),n}i(be,"parseVLSPostProcess");var Xe=require("babylonjs"),y=null,K=new Map;function hr(){return y}i(hr,"getSSRRenderingPipeline");function br(e){y=e}i(br,"setSSRRenderingPipelineRef");function Pe(){y&&(y.dispose(),y=null)}i(Pe,"disposeSSRRenderingPipeline");function et(e,r){return y=new Xe.SSRRenderingPipeline("SSRRenderingPipeline",e,[r]),y.samples=4,y}i(et,"createSSRRenderingPipeline");function Ae(){return y?{samples:y.samples,step:y.step,thickness:y.thickness,strength:y.strength,reflectionSpecularFalloffExponent:y.reflectionSpecularFalloffExponent,maxSteps:y.maxSteps,maxDistance:y.maxDistance,roughnessFactor:y.roughnessFactor,reflectivityThreshold:y.reflectivityThreshold,blurDispersionStrehgth:y.blurDispersionStrength,clipToFrustum:y.clipToFrustum,enableSmoothReflections:y.enableSmoothReflections,enableAutomaticThicknessComputation:y.enableAutomaticThicknessComputation,attenuateFacingCamera:y.attenuateFacingCamera,attenuateScreenBorders:y.attenuateScreenBorders,attenuateIntersectionDistance:y.attenuateIntersectionDistance,attenuateBackfaceReflection:y.attenuateBackfaceReflection,blurDownsample:y.blurDownsample,selfCollisionNumSkip:y.selfCollisionNumSkip,ssrDownsample:y.ssrDownsample,backfaceDepthTextureDownsample:y.backfaceDepthTextureDownsample}:null}i(Ae,"serializeSSRRenderingPipeline");function Ie(e,r,t){if(y)return y;let n=et(e,r);return n.samples=t.samples,n.step=t.step,n.thickness=t.thickness,n.strength=t.strength,n.reflectionSpecularFalloffExponent=t.reflectionSpecularFalloffExponent,n.maxSteps=t.maxSteps,n.maxDistance=t.maxDistance,n.roughnessFactor=t.roughnessFactor,n.reflectivityThreshold=t.reflectivityThreshold,n.blurDispersionStrength=t.blurDispersionStrehgth,n.clipToFrustum=t.clipToFrustum,n.enableSmoothReflections=t.enableSmoothReflections,n.enableAutomaticThicknessComputation=t.enableAutomaticThicknessComputation,n.attenuateFacingCamera=t.attenuateFacingCamera,n.attenuateScreenBorders=t.attenuateScreenBorders,n.attenuateIntersectionDistance=t.attenuateIntersectionDistance,n.attenuateBackfaceReflection=t.attenuateBackfaceReflection,n.blurDownsample=t.blurDownsample,n.selfCollisionNumSkip=t.selfCollisionNumSkip,n.ssrDownsample=t.ssrDownsample,n.backfaceDepthTextureDownsample=t.backfaceDepthTextureDownsample,n}i(Ie,"parseSSRRenderingPipeline");var tt=require("babylonjs"),b=null,k=new Map;function Pr(){return b}i(Pr,"getSSAO2RenderingPipeline");function Ar(e){b=e}i(Ar,"setSSAO2RenderingPipelineRef");function Ce(){b&&(b.dispose(),b=null)}i(Ce,"disposeSSAO2RenderingPipeline");function rt(e,r){return b=new tt.SSAO2RenderingPipeline("SSAO2RenderingPipeline",e,1,[r]),b.samples=4,b}i(rt,"createSSAO2RenderingPipeline");function xe(){return b?{radius:b.radius,totalStrength:b.totalStrength,samples:b.samples,maxZ:b.maxZ,minZAspect:b.minZAspect,epsilon:b.epsilon,textureSamples:b.textureSamples,bypassBlur:b.bypassBlur,bilateralSamples:b.bilateralSamples,bilateralSoften:b.bilateralSoften,bilateralTolerance:b.bilateralTolerance,expensiveBlur:b.expensiveBlur}:null}i(xe,"serializeSSAO2RenderingPipeline");function ve(e,r,t){if(b)return b;let n=rt(e,r);return n.radius=t.radius,n.totalStrength=t.totalStrength,n.samples=t.samples,n.maxZ=t.maxZ,n.minZAspect=t.minZAspect,n.epsilon=t.epsilon,n.textureSamples=t.textureSamples,n.bypassBlur=t.bypassBlur,n.bilateralSamples=t.bilateralSamples,n.bilateralSoften=t.bilateralSoften,n.bilateralTolerance=t.bilateralTolerance,n.expensiveBlur=t.expensiveBlur,n}i(ve,"parseSSAO2RenderingPipeline");var nt=require("babylonjs"),v=null,z=new Map;function Ee(){return v}i(Ee,"getMotionBlurPostProcess");function Ir(e){v=e}i(Ir,"setMotionBlurPostProcessRef");function Te(){v&&(v.dispose(),v=null)}i(Te,"disposeMotionBlurPostProcess");function ot(e,r){return v=new nt.MotionBlurPostProcess("MotionBlurPostProcess",e,1,r),v.motionStrength=1,v.isObjectBased=!0,v}i(ot,"createMotionBlurPostProcess");function Oe(){return v?{isObjectBased:v.isObjectBased,motionStrength:v.motionStrength,motionBlurSamples:v.motionBlurSamples}:null}i(Oe,"serializeMotionBlurPostProcess");function De(e,r,t){if(v)return v;let n=ot(e,r);return n.isObjectBased=t.isObjectBased,n.motionStrength=t.motionStrength,n.motionBlurSamples=t.motionBlurSamples,n}i(De,"parseMotionBlurPostProcess");var it=require("babylonjs"),Me=require("babylonjs"),st=require("babylonjs"),at=require("babylonjs"),lt=require("babylonjs"),l=null,$=new Map;function H(){return l}i(H,"getDefaultRenderingPipeline");function Cr(e){l=e}i(Cr,"setDefaultRenderingPipelineRef");function we(){l&&(l.dispose(),l=null)}i(we,"disposeDefaultRenderingPipeline");function ct(e,r){return l=new lt.DefaultRenderingPipeline("DefaultRenderingPipeline",!0,e,[r]),l.samples=4,l.depthOfField.lensSize=512,l.depthOfField.fStop=.25,l.depthOfField.focusDistance=55e3,l}i(ct,"createDefaultRenderingPipeline");function Re(){return l?{samples:l.samples,fxaaEnabled:l.fxaaEnabled,imageProcessingEnabled:l.imageProcessingEnabled,exposure:l.imageProcessing?.exposure,contrast:l.imageProcessing?.contrast,fromLinearSpace:l.imageProcessing?.fromLinearSpace,toneMappingEnabled:l.imageProcessing?.toneMappingEnabled,toneMappingType:l.imageProcessing?.toneMappingType,ditheringEnabled:l.imageProcessing?.ditheringEnabled,ditheringIntensity:l.imageProcessing?.ditheringIntensity,bloomEnabled:l.bloomEnabled,bloomThreshold:l.bloomThreshold,bloomWeight:l.bloomWeight,bloomScale:l.bloomScale,bloomKernel:l.bloomKernel,sharpenEnabled:l.sharpenEnabled,sharpenEdgeAmount:l.sharpen.edgeAmount,sharpenColorAmount:l.sharpen.colorAmount,grainEnabled:l.grainEnabled,grainIntensity:l.grain.intensity,grainAnimated:l.grain.animated,depthOfFieldEnabled:l.depthOfFieldEnabled,depthOfFieldBlurLevel:l.depthOfFieldBlurLevel,lensSize:l.depthOfField.lensSize,fStop:l.depthOfField.fStop,focusDistance:l.depthOfField.focusDistance,focalLength:l.depthOfField.focalLength,vignetteEnabled:l.imageProcessing?.vignetteEnabled,vignetteColor:l.imageProcessing?.vignetteColor.asArray(),vignetteWeight:l.imageProcessing?.vignetteWeight,chromaticAberrationEnabled:l.chromaticAberrationEnabled,aberrationAmount:l.chromaticAberration.aberrationAmount,radialIntensity:l.chromaticAberration.radialIntensity,direction:l.chromaticAberration.direction.asArray(),centerPosition:l.chromaticAberration.centerPosition.asArray(),glowLayerEnabled:l.glowLayerEnabled,glowLayerIntensity:l.glowLayer?.intensity,glowLayerBlurKernelSize:l.glowLayer?.blurKernelSize,colorGradingEnabled:l.imageProcessing.colorGradingEnabled,colorGradingTexture:l.imageProcessing.colorGradingTexture?.serialize(),colorGradingWithGreenDepth:l.imageProcessing.imageProcessingConfiguration.colorGradingWithGreenDepth,colorCurvesEnabled:l.imageProcessing.colorCurvesEnabled,globalHue:l.imageProcessing.colorCurves?.globalHue,globalDensity:l.imageProcessing.colorCurves?.globalDensity,globalExposure:l.imageProcessing.colorCurves?.globalExposure,globalSaturation:l.imageProcessing.colorCurves?.globalSaturation,highlightsHue:l.imageProcessing.colorCurves?.highlightsHue,highlightsDensity:l.imageProcessing.colorCurves?.highlightsDensity,highlightsExposure:l.imageProcessing.colorCurves?.highlightsExposure,highlightsSaturation:l.imageProcessing.colorCurves?.highlightsSaturation,midtonesHue:l.imageProcessing.colorCurves?.midtonesHue,midtonesDensity:l.imageProcessing.colorCurves?.midtonesDensity,midtonesExposure:l.imageProcessing.colorCurves?.midtonesExposure,midtonesSaturation:l.imageProcessing.colorCurves?.midtonesSaturation,shadowsHue:l.imageProcessing.colorCurves?.shadowsHue,shadowsDensity:l.imageProcessing.colorCurves?.shadowsDensity,shadowsExposure:l.imageProcessing.colorCurves?.shadowsExposure,shadowsSaturation:l.imageProcessing.colorCurves?.shadowsSaturation}:null}i(Re,"serializeDefaultRenderingPipeline");function Ne(e,r,t,n){if(l)return l;let o=ct(e,r);if(o.samples=t.samples,o.fxaaEnabled=t.fxaaEnabled,o.imageProcessingEnabled=t.imageProcessingEnabled,o.imageProcessing){if(o.imageProcessing.exposure=t.exposure,o.imageProcessing.contrast=t.contrast,o.imageProcessing.fromLinearSpace=t.fromLinearSpace,o.imageProcessing.toneMappingEnabled=t.toneMappingEnabled,o.imageProcessing.toneMappingType=t.toneMappingType,o.imageProcessing.ditheringEnabled=t.ditheringEnabled,o.imageProcessing.ditheringIntensity=t.ditheringIntensity,o.imageProcessing.vignetteEnabled=t.vignetteEnabled??!1,o.imageProcessing.vignetteColor=it.Color4.FromArray(t.vignetteColor??[0,0,0]),o.imageProcessing.vignetteWeight=t.vignetteWeight??.3,o.imageProcessing.colorGradingEnabled=t.colorGradingEnabled??!1,o.imageProcessing.imageProcessingConfiguration.colorGradingWithGreenDepth=t.colorGradingWithGreenDepth??!0,t.colorGradingTexture){let s=null;if(t.colorGradingTexture.customType==="BABYLON.ColorGradingTexture"){let a=n+t.colorGradingTexture.name;s=new at.ColorGradingTexture(a,e),s.level=t.colorGradingTexture.level}else{let a=st.Texture.Parse(t.colorGradingTexture,e,n);pe(a)&&(s=a)}o.imageProcessing.colorGradingTexture=s}o.imageProcessing.colorCurvesEnabled=t.colorCurvesEnabled??!1,o.imageProcessing.colorCurves&&(o.imageProcessing.colorCurves.globalHue=t.globalHue??30,o.imageProcessing.colorCurves.globalDensity=t.globalDensity??0,o.imageProcessing.colorCurves.globalExposure=t.globalExposure??0,o.imageProcessing.colorCurves.globalSaturation=t.globalSaturation??0,o.imageProcessing.colorCurves.highlightsHue=t.highlightsHue??30,o.imageProcessing.colorCurves.highlightsDensity=t.highlightsDensity??0,o.imageProcessing.colorCurves.highlightsExposure=t.highlightsExposure??0,o.imageProcessing.colorCurves.highlightsSaturation=t.highlightsSaturation??0,o.imageProcessing.colorCurves.midtonesHue=t.midtonesHue??30,o.imageProcessing.colorCurves.midtonesDensity=t.midtonesDensity??0,o.imageProcessing.colorCurves.midtonesExposure=t.midtonesExposure??0,o.imageProcessing.colorCurves.midtonesSaturation=t.midtonesSaturation??0,o.imageProcessing.colorCurves.shadowsHue=t.shadowsHue??30,o.imageProcessing.colorCurves.shadowsDensity=t.shadowsDensity??0,o.imageProcessing.colorCurves.shadowsExposure=t.shadowsExposure??0,o.imageProcessing.colorCurves.shadowsSaturation=t.shadowsSaturation??0)}return o.bloomEnabled=t.bloomEnabled,o.bloomThreshold=t.bloomThreshold,o.bloomWeight=t.bloomWeight,o.bloomScale=t.bloomScale,o.bloomKernel=t.bloomKernel,o.sharpenEnabled=t.sharpenEnabled,o.sharpen.edgeAmount=t.sharpenEdgeAmount,o.sharpen.colorAmount=t.sharpenColorAmount,o.grainEnabled=t.grainEnabled,o.grain.intensity=t.grainIntensity,o.grain.animated=t.grainAnimated,o.depthOfFieldEnabled=t.depthOfFieldEnabled,o.depthOfFieldBlurLevel=t.depthOfFieldBlurLevel,o.depthOfField.lensSize=t.lensSize,o.depthOfField.fStop=t.fStop,o.depthOfField.focusDistance=t.focusDistance,o.depthOfField.focalLength=t.focalLength,o.chromaticAberrationEnabled=t.chromaticAberrationEnabled??!1,o.chromaticAberration.aberrationAmount=t.aberrationAmount??10,o.chromaticAberration.radialIntensity=t.radialIntensity??1,o.chromaticAberration.direction=Me.Vector2.FromArray(t.direction??[0,0]),o.chromaticAberration.centerPosition=Me.Vector2.FromArray(t.centerPosition??[0,0]),o.glowLayerEnabled=t.glowLayerEnabled??!1,o.glowLayer&&(o.glowLayer.intensity=t.glowLayerIntensity??1,o.glowLayer.blurKernelSize=t.glowLayerBlurKernelSize??32),o}i(Ne,"parseDefaultRenderingPipeline");function Ko(e){k.set(e,xe()),B.set(e,he()),K.set(e,Ae()),z.set(e,Oe()),$.set(e,Re())}i(Ko,"saveRenderingConfigurationForCamera");function mt(e,r){Ce(),Se(e.getScene()),Pe(),Te(),we();let t=k.get(e);t&&ve(e.getScene(),e,t);let n=B.get(e);n&&be(e.getScene(),n);let o=K.get(e);o&&Ie(e.getScene(),e,o);let s=z.get(e);s&&De(e.getScene(),e,s);let a=$.get(e);a&&Ne(e.getScene(),e,a,r)}i(mt,"applyRenderingConfigurationForCamera");var j=require("babylonjs"),pt=require("babylonjs");function ut(e){let r=e.metadata?.physicsAggregate;if(!r)return;let t;O(e)?t=e:Q(e)&&(t=e.sourceMesh);let n=new pt.PhysicsAggregate(e,r.shape.type,{mesh:t,mass:r.massProperties.mass});n.body.setMassProperties({mass:r.massProperties.mass,inertia:r.massProperties.inertia?j.Vector3.FromArray(r.massProperties.inertia):void 0,centerOfMass:r.massProperties.centerOfMass?j.Vector3.FromArray(r.massProperties.centerOfMass):void 0,inertiaOrientation:r.massProperties.inertiaOrientation?j.Quaternion.FromArray(r.massProperties.inertiaOrientation):void 0}),n.shape.density=r.shape.density,n.body.setMotionType(r.body.motionType),n.shape.material=r.material,e.physicsAggregate=n,e.metadata.physicsAggregate=void 0}i(ut,"configurePhysicsAggregate");function ft(e,r){(Array.isArray(r)?r:[]).forEach(n=>{let o=e.getCameraById(n.cameraId);o&&(n.ssao2RenderingPipeline&&k.set(o,n.ssao2RenderingPipeline),n.vlsPostProcess&&B.set(o,n.vlsPostProcess),n.ssrRenderingPipeline&&K.set(o,n.ssrRenderingPipeline),n.motionBlurPostProcess&&z.set(o,n.motionBlurPostProcess),n.defaultRenderingPipeline&&$.set(o,n.defaultRenderingPipeline))})}i(ft,"applyRenderingConfigurations");function ne(e,r){let t=r.soundTracks??[];t.length||t.push(r.mainSoundTrack);for(let n=0,o=t.length;n<o;n++){let s=t[n].soundCollection.find(a=>a.id===e);if(s)return s}return null}i(ne,"getSoundById");var gt=require("babylonjs"),oe=require("babylonjs"),dt=require("babylonjs"),ie=require("babylonjs"),yt=require("babylonjs"),St=require("babylonjs-gui");function Fe(e,r,t,n,o){let s=n.constructor;if(!s)return;s._NodesFromScene?.forEach(c=>{n[c.propertyKey.toString()]=e.getNodeByName(c.nodeName)}),s._NodesFromDescendants?.forEach(c=>{let p=r.getDescendants?.(c.directDescendantsOnly,u=>u.name===c.nodeName)[0];n[c.propertyKey.toString()]=p??null}),s._AnimationGroups?.forEach(c=>{n[c.propertyKey.toString()]=e.getAnimationGroupByName(c.animationGroupName)}),s._SoundsFromScene?.forEach(c=>{let p=e.getSoundByName?.(c.soundName);n[c.propertyKey.toString()]=p??null}),(s._GuiFromAsset??[]).map(async c=>{let p=`${o}assets/${c.pathInAssets}`;try{let g=await(await fetch(p)).json(),P=St.AdvancedDynamicTexture.CreateFullscreenUI(g.name,!0,e);P.parseSerializedObject(g.content,!1),n[c.propertyKey.toString()]=P,c.onGuiCreated?.(n,P)}catch(u){throw console.error(`Failed to load GUI from asset: ${p}`),u}}),s._ParticleSystemsFromScene?.forEach(c=>{let p=e.particleSystems?.find(u=>u.name!==c.particleSystemName?!1:c.directDescendantsOnly?u.emitter===r:u);n[c.propertyKey.toString()]=p}),(s._VisibleInInspector??[]).forEach(async c=>{let p=c.propertyKey.toString(),u=t.values;if(!u)throw new Error(`No values found for script with key "${t.key}".`);if(u.hasOwnProperty(p)&&u[p].hasOwnProperty("value")){let g=u[p].value;switch(c.configuration.type){case"number":case"boolean":case"keymap":case"string":n[p]=g;break;case"vector2":n[p]=ie.Vector2.FromArray(g);break;case"vector3":n[p]=ie.Vector3.FromArray(g);break;case"color3":n[p]=oe.Color3.FromArray(g);break;case"color4":n[p]=oe.Color4.FromArray(g);break;case"entity":switch(c.configuration.entityType){case"node":n[p]=e.getNodeById(g)??null;break;case"animationGroup":n[p]=e.getAnimationGroupByName(g)??null;break;case"sound":n[p]=ne(g,e);break;case"particleSystem":n[p]=e.particleSystems?.find(f=>f.id===g)??null;break}break;case"texture":g&&(n[p]=dt.Texture.Parse(g,e,o));break;case"asset":if(g){let f=c.configuration.assetType,d=F.get(g);switch(f){case"json":case"scene":n[p]=d;break;case"nodeParticleSystemSet":let h=yt.NodeParticleSystemSet.Parse(d);n[p]=h;break;case"material":n[p]=gt.Material.Parse(d,e,o);break}}}}});let a=null,m=null;if(s._PointerEvents?.length){if(s._PointerEvents.find(u=>u.options.mode==="attachedMeshOnly")&&!ee(r))throw new Error('@onPointerEvent with mode "attachedMeshOnly" can only be used on scripts attached to meshes (extends AbstractMesh).');if(s._PointerEvents.find(u=>u.options.mode!=="global")&&!G(r))throw new Error('@onPointerEvent with mode different from "global" can be used only on scripts attached to Node: Mesh, Light, Camera, TransformNode.');a=e.onPointerObservable.add(u=>{let g=null;s._PointerEvents.forEach(P=>{if(!P.eventTypes.includes(u.type))return;let f=P.propertyKey.toString();if(P.options.mode==="global")return n[f]?.(u);g=u.pickInfo,g||(g=e.pick(e.pointerX,e.pointerY,h=>h.isVisible&&h.isPickable&&h.isEnabled(!0)&&!h._masterMesh,!1));let d=g.pickedMesh;if(d&&(P.options.mode==="attachedMeshOnly"&&d===r||P.options.mode==="includeDescendants"&&G(r)&&[r,...r.getDescendants(!1)].find(I=>I===d)))return n[f]?.(u)})})}if(s._KeyboardEvents?.length&&(m=e.onKeyboardObservable.add(c=>{s._KeyboardEvents.forEach(p=>{p.eventTypes.includes(c.type)&&n[p.propertyKey.toString()]?.(c)})})),s._SpritesFromSpriteManager?.length){let c=r;if(!te(c)||!c.isSpriteManager)return console.error("@spriteFromSpriteManager decorator can only be used on SpriteManagerNode.");if(!c.spriteManager)return console.error(`SpriteManagerNode "${c.name}" has no sprite manager assigned.`);s._SpritesFromSpriteManager?.forEach(p=>{let u=c.spriteManager?.sprites.find(g=>g.name===p.spriteName)||null;n[p.propertyKey.toString()]=u})}if(s._AnimationsFromSprite?.length){if(!ge(r))return console.error("@animationFromSprite decorator can only be used in scripts attached on Sprite.");let c=r.metadata?.spriteAnimations;if(!c?.length)return console.error(`Sprite "${r.name}" has no sprite animations assigned.`);s._AnimationsFromSprite.forEach(p=>{let u=c.find(g=>g.name===p.animationName);u?n[p.propertyKey.toString()]=u??null:console.warn(`Sprite animation named "${p.animationName}" not found on sprite "${r.name}".`)})}return{observers:{pointerObserver:a,keyboardObserver:m}}}i(Fe,"applyDecorators");var ht=require("babylonjs"),bt=require("babylonjs"),F=new Map;async function Ve(e,r){[r,...r.transformNodes,...r.meshes,...r.lights,...r.cameras].filter(s=>s.metadata?.scripts?.length).map(s=>s.metadata.scripts).flat().forEach(s=>{if(s.values)for(let a in s.values){if(!s.values.hasOwnProperty(a))continue;let m=s.values[a];m.type==="asset"&&m.value&&F.set(m.value,null)}});let o=[];F.forEach((s,a)=>{F.get(a)||o.push(new Promise(async m=>{try{if(a.split(".").pop()==="scene"){let u=a.split("/").pop().replace(".scene",".babylon"),g=await(0,ht.LoadAssetContainerAsync)(`${e}${u}`,r,{pluginExtension:".babylon"});bt.SceneLoaderFlags.ForceFullSceneLoadingForIncremental&&r.meshes.forEach(P=>O(P)&&P._checkDelayState()),g.addAllToScene(),F.set(a,g)}else{let u=await(await fetch(`${e}${a}`)).json();F.set(a,u)}}catch(c){console.error(c)}m()}))}),await Promise.all(o)}i(Ve,"_preloadScriptsAssets");function V(e,r,t,n){r.metadata?.scripts&&(r.metadata.scripts?.forEach(async o=>{if(!o.enabled)return;let s=t[o.key];if(!s)return;let a=s,m={};if(s.default){a=new s.default(r);let c=Fe(e,r,o,a,n);Object.assign(m,c?.observers??{})}a.onStart&&(m.onStartObserver=e.onBeforeRenderObservable.addOnce(()=>a.onStart(r))),a.onUpdate&&(m.onUpdateObserver=e.onBeforeRenderObservable.add(()=>a.onUpdate(r))),Le(r,a,o.key,m)}),r.metadata.scripts=void 0)}i(V,"_applyScriptsForObject");function xr(e,r,t){if(t??=e.getScene?.(),!t)throw new Error("Cannot apply script on object: no scene available.");let n=new r(e),o={};return Fe(t,e,{values:{}},n,""),n.onStart&&(o.onStartObserver=t.onBeforeRenderObservable.addOnce(()=>n.onStart())),n.onUpdate&&t.onBeforeRenderObservable.add(()=>n.onUpdate()),Le(e,n,"runtime",o),n}i(xr,"applyScriptOnObject");var L=new Map;function Le(e,r,t,n){let o={key:t,observers:n,instance:r};L.has(e)?L.get(e).push(o):L.set(e,[o]),(G(e)||fe(e)||ue(e))&&e.onDisposeObservable.addOnce(()=>{L.get(e)?.forEach(s=>{Pt(e,s)}),L.delete(e)})}i(Le,"_registerScriptInstance");function Pt(e,r){r.observers.onStartObserver?.remove(),r.observers.onUpdateObserver?.remove(),r.observers.pointerObserver?.remove(),r.observers.keyboardObserver?.remove();try{r.instance.onStop?.(e)}catch(o){console.error(`Failed to call onStop for script ${r.key} on object ${e}`,o)}let t=L.get(e),n=t?.indexOf(r)??-1;n!==-1&&t?.splice(n,1)}i(Pt,"_removeRegisteredScriptInstance");function At(e,r){return L.get(e)?.filter(o=>o.instance.constructor===r)?.map(o=>o.instance)??null}i(At,"getAllScriptsByClassForObject");function vr(e,r){return At(e,r)?.[0]??null}i(vr,"getScriptByClassForObject");var Ct=require("babylonjs"),se=require("babylonjs"),It=!1;function xt(){if(It)return;It=!0;let e=(0,se.GetParser)(Ct.SceneComponentConstants.NAME_AUDIO);(0,se.AddParser)("AudioEditorPlugin",(r,t,n,o)=>{e?.(r,t,n,o),r.sounds?.forEach(s=>{let a=n.sounds?.find(m=>m.name===s.name);a&&(a.id=s.id,a.uniqueId=s.uniqueId)})})}i(xt,"registerAudioParser");function D(e){let r=1;for(;r<=e;)r<<=1;return r>>1}i(D,"getPowerOfTwoUntil");var _e=require("babylonjs"),vt=!1;function Et(){if(vt)return;vt=!0;let e=_e.SerializationHelper._TextureParser;_e.SerializationHelper._TextureParser=(r,t,n)=>{if(t.loadingTexturesQuality==="high"||!r.metadata?.baseSize)return e(r,t,n);let o=r.metadata.baseSize.width,s=r.metadata.baseSize.height,a=o===D(o)||s===D(s),m="";switch(t.loadingTexturesQuality){case"medium":let d=o*.66>>0,h=s*.66>>0;a&&(d=D(d),h=D(h)),m=`_${d}_${h}`;break;case"low":case"very-low":let S=o*.33>>0,I=s*.33>>0;a&&(S=D(S),I=D(I)),m=`_${S}_${I}`;break}let c=r.name;if(!c||!m)return e(r,t,n);let p=c.split("/"),u=p.pop();if(!u)return e(r,t,n);let g=u.split(".").pop(),f=`${u.replace(`.${g}`,"")}${m}.${g}`;return p.push(f),r.name=p.join("/"),e(r,t,n)}}i(Et,"registerTextureParser");var Ot=require("babylonjs"),ae=require("babylonjs"),Tt=!1;function Dt(){if(Tt)return;Tt=!0;let e=(0,ae.GetParser)(Ot.SceneComponentConstants.NAME_SHADOWGENERATOR);(0,ae.AddParser)("ShadowGeneratorEditorPlugin",(r,t,n,o)=>{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,D(s.mapSize))}),e?.(r,t,n,o)})}i(Dt,"registerShadowGeneratorParser");function Ge(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(Ge,"normalizeAtlasJson");function Er(e,r,t){let o=(e.metadata?.spriteAnimations??[]).find(s=>s.name===r);if(!o)return console.error(`Animation with name "${r}" not found on sprite.`);e.playAnimation(o.from,o.to,o.loop,o.delay,t)}i(Er,"playSpriteAnimationFromName");var wt=require("babylonjs"),Rt=require("babylonjs"),Nt=require("babylonjs"),Ft=require("babylonjs"),Be=require("babylonjs"),Y=require("babylonjs"),Lt=require("babylonjs"),Mt=!1;function Vt(){Mt||(Mt=!0,(0,Lt.AddParser)("SpriteMapNode",(e,r,t,n)=>{e.transformNodes?.forEach(o=>{if(!o.isSpriteMap)return;let s=t.transformNodes?.find(c=>c.id===o.id);if(!s)return;s.isSpriteMap=o.isSpriteMap;let a=`${n}${o.atlasJsonRelativePath}`;r.addPendingData(a);let m=new Nt.WebRequest;m.open("GET",a),m.send(),m.addEventListener("load",()=>{r.removePendingData(a);let c=JSON.parse(m.responseText);Ge(c);let p=`${wt.Tools.GetFolderPath(a)}${c.meta.image}`,u=new Be.Texture(p,r,!1,!1,Be.Texture.NEAREST_NEAREST,null,null,null,!1,Rt.Engine.TEXTUREFORMAT_RGBA),g=new Ft.SpriteMap(s.name,c,u,{layerCount:o.options.layerCount,stageSize:Y.Vector2.FromArray(o.options.stageSize??[10,1]),outputSize:Y.Vector2.FromArray(o.options.outputSize??[100,100]),colorMultiply:Y.Vector3.FromArray(o.options.colorMultiply??[1,1,1]),flipU:!0},r);o.tiles.forEach(f=>{for(let d=0,h=f.repeatCount.x+1;d<h;++d)for(let S=0,I=f.repeatCount.y+1;S<I;++S){let T=d*(f.repeatOffset.x+1),x=S*(f.repeatOffset.y+1);g.changeTiles(f.layer,new Y.Vector2(f.position.x+T,(g.options.stageSize?.y??0)-1-f.position.y-x),f.tile)}});let P=g._output;P.parent=s,s.spriteMap=g})})}))}i(Vt,"registerSpriteMapParser");var Bt=require("babylonjs"),Kt=require("babylonjs"),kt=require("babylonjs"),Ke=require("babylonjs"),zt=require("babylonjs");function _t(e,r){r?.fogEnabled!==void 0&&(e.fogEnabled=r?.fogEnabled),r?.blendMode!==void 0&&(e.blendMode=r?.blendMode),r?.disableDepthWrite!==void 0&&(e.disableDepthWrite=r?.disableDepthWrite),r?.pixelPerfect!==void 0&&(e.pixelPerfect=r?.pixelPerfect),r?.useLogarithmicDepth!==void 0&&(e.useLogarithmicDepth=r?.useLogarithmicDepth),r?.metadata!==void 0&&(e.metadata=r?.metadata);for(let t of r?.sprites??[]){let n=Kt.Sprite.Parse(t,e);n.uniqueId=t.uniqueId,n.metadata=t.metadata}}i(_t,"parseSerializedSpriteManager");var Gt=!1;function $t(){Gt||(Gt=!0,(0,zt.AddParser)("SpriteManagerNode",(e,r,t,n)=>{e.transformNodes?.forEach(o=>{if(!o.isSpriteManager)return;let s=t.transformNodes?.find(a=>a.id===o.id);if(s){if(s.isSpriteManager=o.isSpriteManager,o.atlasJsonRelativePath){let a=`${n}${o.atlasJsonRelativePath}`;r.addPendingData(a);let m=new kt.WebRequest;m.open("GET",a),m.send(),m.addEventListener("load",()=>{r.removePendingData(a);let c=JSON.parse(m.responseText),p=`${Bt.Tools.GetFolderPath(a)}${c.meta.image}`,u=new Ke.SpriteManager(s.name,p,1e3,64,r,void 0,void 0,!0,c);s.spriteManager=u,o.spriteManager&&_t(u,o.spriteManager)})}else if(o.spriteManager?.textureUrl){let a=`${n}${o.spriteManager.textureUrl}`,m=new Ke.SpriteManager(s.name,a,1e3,{width:o.spriteManager.cellWidth,height:o.spriteManager.cellHeight},r,void 0,void 0,!1);s.spriteManager=m,o.spriteManager&&_t(m,o.spriteManager)}}})}))}i($t,"registerSpriteManagerParser");var Yt=require("babylonjs"),ke=require("babylonjs"),Wt=require("babylonjs"),Qt=require("babylonjs");async function Tr(e,r,t,n,o){t.loadingQuality=o?.quality??"high",t.loadingTexturesQuality=o?.texturesQuality??t.loadingQuality,t.loadingShadowsQuality=o?.shadowsQuality??t.loadingQuality,xt(),Et(),Dt(),Vt(),$t(),await(0,Wt.AppendSceneAsync)(`${e}${r}`,t,{pluginExtension:".babylon",onProgress:i(a=>{let m=Math.min(a.loaded/a.total*.5);o?.onProgress?.(m)},"onProgress")}),Qt.SceneLoaderFlags.ForceFullSceneLoadingForIncremental&&t.meshes.forEach(a=>O(a)&&a._checkDelayState());let s=t.getWaitingItemsCount();for(;!t.isDisposed&&(!t.isReady()||t.getWaitingItemsCount()>0);){await new Promise(m=>setTimeout(m,150));let a=s-t.getWaitingItemsCount();a===s&&t.textures.forEach(m=>{m.delayLoadState===ke.Constants.DELAYLOADSTATE_NONE&&(m.delayLoadState=ke.Constants.DELAYLOADSTATE_LOADED)}),o?.onProgress?.(.5+a/s*.5)}o?.skipAssetsPreload||await Ve(e,t),o?.onProgress?.(1),de(t),ye(t),t.metadata?.rendering&&(ft(t,t.metadata.rendering),t.activeCamera&&mt(t.activeCamera,e)),t.metadata?.physicsGravity&&t.getPhysicsEngine()?.setGravity(Yt.Vector3.FromArray(t.metadata?.physicsGravity)),V(t,t,n,e),t.transformNodes.forEach(a=>{V(t,a,n,e)}),t.meshes.forEach(a=>{ut(a),V(t,a,n,e)}),t.lights.forEach(a=>{V(t,a,n,e)}),t.cameras.forEach(a=>{V(t,a,n,e)}),t.spriteManagers?.forEach(a=>{a.sprites.forEach(m=>{V(t,m,n,e)})})}i(Tr,"loadScene");var Ht=require("babylonjs");async function Or(e,r,t){let o=await(await fetch(e+r)).json(),a=Ht.Tools.Instantiate(o.customType).Parse(o,t,e);return a.id=o.id,a.uniqueId=o.uniqueId,a}i(Or,"loadMaterialFromFile");function Dr(e){return Promise.all(e.materials.map(async r=>{let t=r.getBindedMeshes();await Promise.all(t.map(async n=>{Q(n)||await r.forceCompilationAsync(n,{clipPlane:!!e.clipPlane,useInstances:n.hasInstances})}))}))}i(Dr,"forceCompileAllSceneMaterials");function Mr(e){e.setTextureFormatToUse(["-dxt.ktx","-astc.ktx","-pvrtc.ktx","-etc1.ktx","-etc2.ktx"])}i(Mr,"configureEngineToUseCompressedTextures");var R=require("babylonjs");function U(e){if(!isNaN(parseFloat(e))&&isFinite(e))return R.Animation.ANIMATIONTYPE_FLOAT;switch(e?.getClassName?.()){case"Vector2":return R.Animation.ANIMATIONTYPE_VECTOR2;case"Vector3":return R.Animation.ANIMATIONTYPE_VECTOR3;case"Quaternion":return R.Animation.ANIMATIONTYPE_QUATERNION;case"Color3":return R.Animation.ANIMATIONTYPE_COLOR3;case"Color4":return R.Animation.ANIMATIONTYPE_COLOR4;case"Size":return R.Animation.ANIMATIONTYPE_SIZE;case"Matrix":return R.Animation.ANIMATIONTYPE_MATRIX}return null}i(U,"getAnimationTypeForObject");function wr(e){return function(r,t){let n=r.constructor;n._NodesFromScene??=[],n._NodesFromScene.push({propertyKey:t,nodeName:e})}}i(wr,"nodeFromScene");function Rr(e,r=!1){return function(t,n){let o=t.constructor;o._NodesFromDescendants??=[],o._NodesFromDescendants.push({propertyKey:n,nodeName:e,directDescendantsOnly:r})}}i(Rr,"nodeFromDescendants");function Nr(e){return function(r,t){let n=r.constructor;n._AnimationGroups??=[],n._AnimationGroups.push({animationGroupName:e,propertyKey:t})}}i(Nr,"animationGroupFromScene");function Fr(e,r){return function(t,n){let o=t.constructor;o._GuiFromAsset??=[],o._GuiFromAsset.push({propertyKey:n,pathInAssets:e,onGuiCreated:r})}}i(Fr,"guiFromAsset");function Lr(e){return function(r,t){let n=r.constructor;n._SoundsFromScene??=[],n._SoundsFromScene.push({propertyKey:t,soundName:e})}}i(Lr,"soundFromScene");function Vr(e,r=!1){return function(t,n){let o=t.constructor;o._ParticleSystemsFromScene??=[],o._ParticleSystemsFromScene.push({propertyKey:n,particleSystemName:e,directDescendantsOnly:r})}}i(Vr,"particleSystemFromScene");function _r(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"boolean"}})}}i(_r,"visibleAsBoolean");function Gr(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"string"}})}}i(Gr,"visibleAsString");function Br(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"number"}})}}i(Br,"visibleAsNumber");function Kr(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"vector2"}})}}i(Kr,"visibleAsVector2");function kr(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"vector3"}})}}i(kr,"visibleAsVector3");function zr(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"color3"}})}}i(zr,"visibleAsColor3");function $r(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"color4"}})}}i($r,"visibleAsColor4");function Yr(e,r,t){return function(n,o){let s=n.constructor;s._VisibleInInspector??=[],s._VisibleInInspector.push({label:r,propertyKey:o,configuration:{...t,entityType:e,type:"entity"}})}}i(Yr,"visibleAsEntity");function Wr(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"texture"}})}}i(Wr,"visibleAsTexture");function Qr(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"keymap"}})}}i(Qr,"visibleAsKeyMap");function Hr(e,r,t){return function(n,o){let s=n.constructor;s._VisibleInInspector??=[],s._VisibleInInspector.push({label:r,propertyKey:o,configuration:{...t,assetType:e,type:"asset"}})}}i(Hr,"visibleAsAsset");function jr(e,r){return function(t,n){let o=t.constructor;o._PointerEvents??=[],o._PointerEvents.push({propertyKey:n,options:{mode:"global",...r??{}},eventTypes:Array.isArray(e)?e:[e]})}}i(jr,"onPointerEvent");function Ur(e){return function(r,t){let n=r.constructor;n._KeyboardEvents??=[],n._KeyboardEvents.push({propertyKey:t,eventTypes:Array.isArray(e)?e:[e]})}}i(Ur,"onKeyboardEvent");function qr(e){return function(r,t){let n=r.constructor;n._SpritesFromSpriteManager??=[],n._SpritesFromSpriteManager.push({propertyKey:t,spriteName:e})}}i(qr,"spriteFromSpriteManager");function Jr(e){return function(r,t){let n=r.constructor;n._AnimationsFromSprite??=[],n._AnimationsFromSprite.push({propertyKey:t,animationName:e})}}i(Jr,"animationFromSprite");var le=require("babylonjs");function bl(e,r){let t;switch(e){case le.Animation.ANIMATIONTYPE_FLOAT:t=r.value;break;default:t=r.value.clone();break}return{value:t,frame:r.frame,interpolation:r.interpolation,inTangent:e===le.Animation.ANIMATIONTYPE_FLOAT?r.inTangent:r.inTangent?.clone(),outTangent:e===le.Animation.ANIMATIONTYPE_FLOAT?r.outTangent:r.outTangent?.clone()}}i(bl,"cloneKey");function ce(e,r){let t=r.split("."),n=e;for(let o=0;o<t.length;++o)n=n[t[o]];return n}i(ce,"getPropertyValue");function ze(e,r,t){let n=null;e.onAnimationGroupPlayObservable.add(()=>{n=r.onAfterAnimationsObservable.add(()=>{t()})}),e.onAnimationGroupPauseObservable.add(()=>{n&&(r.onAfterAnimationsObservable.remove(n),n=null)}),e.onAnimationGroupEndObservable.add(()=>{n&&(r.onAfterAnimationsObservable.remove(n),n=null)})}i(ze,"registerAfterAnimationCallback");var N=require("babylonjs"),me=require("babylonjs"),w=require("babylonjs");function Zr(e,r){return{name:e.name,framesPerSecond:e.framesPerSecond,outputFramesPerSecond:e.outputFramesPerSecond,tracks:e.tracks.map(t=>{let n=null,o=null;if(t.node?(n=r.getNodeById(t.node),n||(n=r.particleSystems?.find(a=>a.id===t.node)??null)):t.defaultRenderingPipeline&&(n=H()),t.propertyPath){let a=ce(n,t.propertyPath);o=U(a)}let s=null;return t.sound&&(s=ne(t.sound,r)),{node:n,sound:s,propertyPath:t.propertyPath,defaultRenderingPipeline:t.defaultRenderingPipeline,animationGroup:t.animationGroup?r.getAnimationGroupByName(t.animationGroup):null,animationGroups:t.animationGroups,sounds:t.sounds,soundVolume:$e(t.soundVolume??[],N.Animation.ANIMATIONTYPE_FLOAT),keyFrameEvents:t.keyFrameEvents?.map(a=>{let m={...a};switch(a.data?.type){case"set-enabled":m.data={type:"set-enabled",value:a.data.value,node:r.getNodeById(a.data.node)};break;case"apply-impulse":m.data={type:"apply-impulse",radius:a.data.radius,mesh:r.getMeshById(a.data.mesh),force:w.Vector3.FromArray(a.data.force),contactPoint:w.Vector3.FromArray(a.data.contactPoint)};break}return m}),keyFrameAnimations:n&&o!==null&&$e(t.keyFrameAnimations??[],o)}})}}i(Zr,"parseCinematic");function M(e,r){if(e===null)return null;if(e!==void 0)switch(r){case N.Animation.ANIMATIONTYPE_FLOAT:return e;case N.Animation.ANIMATIONTYPE_VECTOR2:return w.Vector2.FromArray(e);case N.Animation.ANIMATIONTYPE_VECTOR3:return w.Vector3.FromArray(e);case N.Animation.ANIMATIONTYPE_QUATERNION:return w.Quaternion.FromArray(e);case N.Animation.ANIMATIONTYPE_COLOR3:return me.Color3.FromArray(e);case N.Animation.ANIMATIONTYPE_COLOR4:return me.Color4.FromArray(e);case N.Animation.ANIMATIONTYPE_MATRIX:return w.Matrix.FromArray(e)}}i(M,"parseCinematicKeyValue");function $e(e,r){return e?.map(t=>{let n=t.type==="key"?t:null;if(n)return{...n,value:M(n.value,r),inTangent:M(n.inTangent,r),outTangent:M(n.outTangent,r)};let o=t.type==="cut"?t:null;if(o)return{...o,key1:{...o.key1,value:M(o.key1.value,r),inTangent:M(o.key1.inTangent,r),outTangent:M(o.key1.outTangent,r)},key2:{...o.key2,value:M(o.key2.value,r),inTangent:M(o.key2.inTangent,r),outTangent:M(o.key2.outTangent,r)}};throw new Error(`Unknown key frame type: ${t.type}`)})}i($e,"parseKeyFrameAnimations");function jt(e,r){e.onEventObservable.notifyObservers(r.eventName)}i(jt,"handleApplyEvent");function Ut(e){e.node?.setEnabled(e.value)}i(Ut,"handleSetEnabledEvent");var Ye=require("babylonjs"),qt=Ye.Vector3.Zero();function Jt(e,r){let t=r.mesh?[r.mesh]:e.meshes.filter(n=>n.physicsAggregate);r.radius&&(t=t.filter(n=>{let o=n.getBoundingInfo().boundingBox.centerWorld;return Ye.Vector3.Distance(o,r.contactPoint)<=r.radius})),t.forEach(n=>{if(n.physicsAggregate?.body){let o=r.contactPoint.subtract(n.getBoundingInfo().boundingBox.centerWorld);o.multiplyInPlace(r.force),n.physicsAggregate.body.setLinearVelocity(qt),n.physicsAggregate.body.setAngularVelocity(qt),n.physicsAggregate.body.applyImpulse(o.negateInPlace(),r.contactPoint)}})}i(Jt,"handleApplyImpulseEvent");var Zt=require("babylonjs"),Xt=require("babylonjs"),q=class extends Xt.AnimationGroup{static{i(this,"Cinematic")}onEventObservable=new Zt.Observable;onEvent(r,t){this.onEventObservable.add(n=>{r===n&&t()})}};function We(e){return e.type==="key"}i(We,"isCinematicKey");function J(e){return e.type==="cut"}i(J,"isCinematicKeyCut");function Xr(e){return e.type==="event"}i(Xr,"isCinematicKeyEvent");function en(e){return e.type==="group"}i(en,"isCinematicGroup");function tn(e){return e.type==="sound"}i(tn,"isCinematicSound");var A=require("babylonjs"),W=require("babylonjs");function rn(e,r,t){let n=new q(e.name,r);return e.tracks.forEach(o=>{let s=o.animationGroup;if(s&&o.animationGroups?.length){let f=s.clone(`${s.name}-cinematic-temp`),d=r.animationGroups.indexOf(f);d!==-1&&r.animationGroups.splice(d,1),n.onAnimationEndObservable.add(()=>{s.stop(),f.stop()});let h=o.animationGroups.reduce((x,E)=>Math.min(x,E.frame),Number.MAX_VALUE)??0,S=o.animationGroups.reduce((x,E)=>Math.max(x,E.frame+E.endFrame),0)??0,I={frame:h},T=new A.Animation(f.name,"frame",60,A.Animation.ANIMATIONTYPE_FLOAT,A.Animation.ANIMATIONLOOPMODE_CYCLE,!1);if(T.setKeys([{frame:h,value:0},{frame:S,value:S}]),o.animationGroups.forEach(x=>{T.addEvent(new W.AnimationEvent(x.frame,()=>{let E=x.repeatCount??0;if(f.to=x.endFrame,f.speedRatio=x.speed,f.stop(),f.play(E>0),f.goToFrame(x.startFrame),E){let _=0;f.onAnimationGroupLoopObservable.add(()=>{++_,_>E&&f.stop()})}}))}),n.addTargetedAnimation(T,I),(o.animationGroupWeight?.length??0)>=2){let x={weight:0},E=new A.Animation(`${f.name}-weights`,"weight",60,A.Animation.ANIMATIONTYPE_FLOAT,A.Animation.ANIMATIONLOOPMODE_CYCLE,!1),_=[];o.animationGroupWeight.forEach(Z=>{J(Z)?(_.push(Z.key1),_.push(Z.key2)):_.push(Z)}),E.setKeys(_),n.addTargetedAnimation(E,x),ze(n,r,()=>{f.weight=x.weight})}}let a=o.sound,m=a?.getAudioBuffer();if(!t?.ignoreSounds&&a&&m&&o.sounds?.length){let f={dummy:0,volume:0},d=new A.Animation(a.name,"dummy",60,A.Animation.ANIMATIONTYPE_FLOAT,A.Animation.ANIMATIONLOOPMODE_CYCLE,!1),h=0;if(o.sounds?.forEach(S=>{let I=S.endFrame-S.startFrame;h=Math.max(h,S.frame+I),d.addEvent(new W.AnimationEvent(S.frame,T=>{let E=(T-S.frame+S.startFrame)/e.framesPerSecond;a.play(0,E)},!1)),d.addEvent(new W.AnimationEvent(S.frame+I,()=>{a.stop()}))}),d.setKeys([{frame:0,value:0},{frame:h,value:h}]),n.addTargetedAnimation(d,f),(o.soundVolume?.length??0)>=2){let S=new A.Animation(a.name,"volume",60,A.Animation.ANIMATIONTYPE_FLOAT,A.Animation.ANIMATIONLOOPMODE_CYCLE,!1),I=[];o.soundVolume.forEach(T=>{J(T)?(I.push(T.key1),I.push(T.key2)):I.push(T)}),S.setKeys(I),n.addTargetedAnimation(S,f),ze(n,r,()=>{a.setVolume(f.volume)})}}if(o.keyFrameEvents){let f={dummy:0},d=new A.Animation("events","dummy",60,A.Animation.ANIMATIONTYPE_FLOAT,A.Animation.ANIMATIONLOOPMODE_CYCLE,!1),h=0;o.keyFrameEvents?.forEach(S=>{h=Math.max(h,S.frame),d.addEvent(new W.AnimationEvent(S.frame,()=>{switch(S.data?.type){case"event":jt(n,S.data);break;case"set-enabled":Ut(S.data);break;case"apply-impulse":Jt(r,S.data);break}}))}),d.setKeys([{frame:0,value:0},{frame:h+1,value:h+1}]),n.addTargetedAnimation(d,f)}let c=o.defaultRenderingPipeline?H():o.node;if(!c||!o.propertyPath||!o.keyFrameAnimations)return;let p=ce(c,o.propertyPath),u=U(p);if(u===null)return;let g=new A.Animation(o.propertyPath,o.propertyPath,60,u,A.Animation.ANIMATIONLOOPMODE_CYCLE,!1),P=[];o.keyFrameAnimations?.forEach(f=>{if(We(f))return P.push(f);J(f)&&(P.push(f.key1),P.push(f.key2),re(c)&&o.propertyPath==="position"&&g.addEvent(new W.AnimationEvent(f.key1.frame,()=>{let d=Ee();if(!d)return;let h=d.motionStrength;d.motionStrength=0,requestAnimationFrame(()=>{d.motionStrength=h})})))}),g.setKeys(P),n.addTargetedAnimation(g,c)}),n.normalize(),n}i(rn,"generateCinematicAnimationGroup");0&&(module.exports={Cinematic,_applyScriptsForObject,_preloadScriptsAssets,_registerScriptInstance,_removeRegisteredScriptInstance,animationFromSprite,animationGroupFromScene,applyScriptOnObject,configureEngineToUseCompressedTextures,configureShadowMapRefreshRate,configureShadowMapRenderListPredicate,createDefaultRenderingPipeline,createMotionBlurPostProcess,createSSAO2RenderingPipeline,createSSRRenderingPipeline,createVLSPostProcess,defaultPipelineCameraConfigurations,disposeDefaultRenderingPipeline,disposeMotionBlurPostProcess,disposeSSAO2RenderingPipeline,disposeSSRRenderingPipeline,disposeVLSPostProcess,forceCompileAllSceneMaterials,generateCinematicAnimationGroup,getAllScriptsByClassForObject,getAnimationTypeForObject,getDefaultRenderingPipeline,getMotionBlurPostProcess,getPowerOfTwoUntil,getSSAO2RenderingPipeline,getSSRRenderingPipeline,getScriptByClassForObject,getVLSPostProcess,guiFromAsset,isAbstractMesh,isAnyParticleSystem,isArcRotateCamera,isBone,isCamera,isCinematicGroup,isCinematicKey,isCinematicKeyCut,isCinematicKeyEvent,isCinematicSound,isDirectionalLight,isFreeCamera,isGPUParticleSystem,isGroundMesh,isHemisphericLight,isInstancedMesh,isLight,isMesh,isNode,isParticleSystem,isPointLight,isScene,isSpotLight,isSprite,isTexture,isTransformNode,loadMaterialFromFile,loadScene,motionBlurPostProcessCameraConfigurations,nodeFromDescendants,nodeFromScene,normalizeAtlasJson,onKeyboardEvent,onPointerEvent,parseCinematic,parseCinematicKeyValue,parseDefaultRenderingPipeline,parseKeyFrameAnimations,parseMotionBlurPostProcess,parseSSAO2RenderingPipeline,parseSSRRenderingPipeline,parseVLSPostProcess,particleSystemFromScene,playSpriteAnimationFromName,scriptAssetsCache,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,4 +1,3 @@
|
|
|
1
|
-
import { Tools } from "@babylonjs/core/Misc/tools";
|
|
2
1
|
import { Animation } from "@babylonjs/core/Animations/animation";
|
|
3
2
|
import { AnimationEvent } from "@babylonjs/core/Animations/animationEvent";
|
|
4
3
|
import { isCamera } from "../tools/guards";
|
|
@@ -10,7 +9,7 @@ import { handleSetEnabledEvent } from "./events/set-enabled";
|
|
|
10
9
|
import { handleApplyImpulseEvent } from "./events/apply-impulse";
|
|
11
10
|
import { Cinematic } from "./cinematic";
|
|
12
11
|
import { isCinematicKey, isCinematicKeyCut } from "./guards";
|
|
13
|
-
import {
|
|
12
|
+
import { getPropertyValue, registerAfterAnimationCallback } from "./tools";
|
|
14
13
|
/**
|
|
15
14
|
* Parses the given cinematic object and generates a new playable animation group.
|
|
16
15
|
* @param cinematic defines the cinematic object to parse that was previously loaded.
|
|
@@ -22,48 +21,51 @@ export function generateCinematicAnimationGroup(cinematic, scene, options) {
|
|
|
22
21
|
cinematic.tracks.forEach((track) => {
|
|
23
22
|
// Animation groups
|
|
24
23
|
const animationGroup = track.animationGroup;
|
|
25
|
-
if (animationGroup) {
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
24
|
+
if (animationGroup && track.animationGroups?.length) {
|
|
25
|
+
const effectiveAnimationGroup = animationGroup.clone(`${animationGroup.name}-cinematic-temp`);
|
|
26
|
+
const index = scene.animationGroups.indexOf(effectiveAnimationGroup);
|
|
27
|
+
if (index !== -1) {
|
|
28
|
+
scene.animationGroups.splice(index, 1);
|
|
29
|
+
}
|
|
30
|
+
result.onAnimationEndObservable.add(() => {
|
|
31
|
+
animationGroup.stop();
|
|
32
|
+
effectiveAnimationGroup.stop();
|
|
33
|
+
});
|
|
34
|
+
const minFrame = track.animationGroups.reduce((prev, curr) => Math.min(prev, curr.frame), Number.MAX_VALUE) ?? 0;
|
|
35
|
+
const maxFrame = track.animationGroups.reduce((prev, curr) => Math.max(prev, curr.frame + curr.endFrame), 0) ?? 0;
|
|
36
|
+
const dummyObject = {
|
|
37
|
+
frame: minFrame,
|
|
38
|
+
};
|
|
39
|
+
const animationGroupsAnimation = new Animation(effectiveAnimationGroup.name, "frame", 60, Animation.ANIMATIONTYPE_FLOAT, Animation.ANIMATIONLOOPMODE_CYCLE, false);
|
|
40
|
+
animationGroupsAnimation.setKeys([
|
|
41
|
+
{ frame: minFrame, value: 0 },
|
|
42
|
+
{ frame: maxFrame, value: maxFrame },
|
|
43
|
+
]);
|
|
44
|
+
track.animationGroups.forEach((configuration) => {
|
|
45
|
+
animationGroupsAnimation.addEvent(new AnimationEvent(configuration.frame, () => {
|
|
46
|
+
const repeatCount = configuration.repeatCount ?? 0;
|
|
47
|
+
effectiveAnimationGroup.to = configuration.endFrame;
|
|
48
|
+
effectiveAnimationGroup.speedRatio = configuration.speed;
|
|
49
|
+
effectiveAnimationGroup.stop();
|
|
50
|
+
effectiveAnimationGroup.play(repeatCount > 0);
|
|
51
|
+
effectiveAnimationGroup.goToFrame(configuration.startFrame);
|
|
52
|
+
if (repeatCount) {
|
|
53
|
+
let currentRepeatCount = 0;
|
|
54
|
+
effectiveAnimationGroup.onAnimationGroupLoopObservable.add(() => {
|
|
55
|
+
++currentRepeatCount;
|
|
56
|
+
if (currentRepeatCount > repeatCount) {
|
|
57
|
+
effectiveAnimationGroup.stop();
|
|
37
58
|
}
|
|
38
|
-
}
|
|
39
|
-
animation = targetedAnimation.animation.clone();
|
|
40
|
-
animation.setKeys([]);
|
|
41
|
-
animation.name = Tools.RandomId();
|
|
42
|
-
animation.framePerSecond = cinematic.framesPerSecond;
|
|
59
|
+
});
|
|
43
60
|
}
|
|
44
|
-
|
|
45
|
-
const sourceKeys = targetedAnimation.animation.getKeys();
|
|
46
|
-
const speed = configuration.speed;
|
|
47
|
-
const normalizedFps = cinematic.framesPerSecond / targetedAnimation.animation.framePerSecond / speed;
|
|
48
|
-
sourceKeys.forEach((k) => {
|
|
49
|
-
if (k.frame >= configuration.startFrame && k.frame <= configuration.endFrame) {
|
|
50
|
-
keys.push({
|
|
51
|
-
...cloneKey(targetedAnimation.animation.dataType, k),
|
|
52
|
-
frame: configuration.frame + k.frame * normalizedFps,
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
animation.setKeys(keys);
|
|
57
|
-
result.addTargetedAnimation(animation, targetedAnimation.target);
|
|
58
|
-
groupedAnimations.push(animation);
|
|
59
|
-
});
|
|
61
|
+
}));
|
|
60
62
|
});
|
|
61
|
-
|
|
62
|
-
if (
|
|
63
|
+
result.addTargetedAnimation(animationGroupsAnimation, dummyObject);
|
|
64
|
+
if ((track.animationGroupWeight?.length ?? 0) >= 2) {
|
|
63
65
|
const dummyObject = {
|
|
64
66
|
weight: 0,
|
|
65
67
|
};
|
|
66
|
-
const weightAnimation = new Animation(`${
|
|
68
|
+
const weightAnimation = new Animation(`${effectiveAnimationGroup.name}-weights`, "weight", 60, Animation.ANIMATIONTYPE_FLOAT, Animation.ANIMATIONLOOPMODE_CYCLE, false);
|
|
67
69
|
const weightKeys = [];
|
|
68
70
|
track.animationGroupWeight.forEach((keyFrame) => {
|
|
69
71
|
if (isCinematicKeyCut(keyFrame)) {
|
|
@@ -77,14 +79,7 @@ export function generateCinematicAnimationGroup(cinematic, scene, options) {
|
|
|
77
79
|
weightAnimation.setKeys(weightKeys);
|
|
78
80
|
result.addTargetedAnimation(weightAnimation, dummyObject);
|
|
79
81
|
registerAfterAnimationCallback(result, scene, () => {
|
|
80
|
-
|
|
81
|
-
for (const animation of animatable.getAnimations()) {
|
|
82
|
-
if (groupedAnimations.includes(animation.animation)) {
|
|
83
|
-
animatable.weight = dummyObject.weight;
|
|
84
|
-
break;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
});
|
|
82
|
+
effectiveAnimationGroup.weight = dummyObject.weight;
|
|
88
83
|
});
|
|
89
84
|
}
|
|
90
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/cinematic/generate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/cinematic/generate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAG3E,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAGjE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,8BAA8B,EAAE,MAAM,SAAS,CAAC;AAW3E;;;;;GAKG;AACH,MAAM,UAAU,+BAA+B,CAAC,SAAqB,EAAE,KAAY,EAAE,OAAgD;IACpI,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAEpD,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAClC,mBAAmB;QACnB,MAAM,cAAc,GAAG,KAAK,CAAC,cAAgC,CAAC;QAC9D,IAAI,cAAc,IAAI,KAAK,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;YACrD,MAAM,uBAAuB,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,IAAI,iBAAiB,CAAC,CAAC;YAE9F,MAAM,KAAK,GAAG,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;YACrE,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBAClB,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACxC,CAAC;YAED,MAAM,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,EAAE;gBACxC,cAAc,CAAC,IAAI,EAAE,CAAC;gBACtB,uBAAuB,CAAC,IAAI,EAAE,CAAC;YAChC,CAAC,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACjH,MAAM,QAAQ,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAElH,MAAM,WAAW,GAAG;gBACnB,KAAK,EAAE,QAAQ;aACf,CAAC;YAEF,MAAM,wBAAwB,GAAG,IAAI,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC,mBAAmB,EAAE,SAAS,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;YAEnK,wBAAwB,CAAC,OAAO,CAAC;gBAChC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;gBAC7B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;aACpC,CAAC,CAAC;YAEH,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;gBAC/C,wBAAwB,CAAC,QAAQ,CAChC,IAAI,cAAc,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE;oBAC5C,MAAM,WAAW,GAAG,aAAa,CAAC,WAAW,IAAI,CAAC,CAAC;oBAEnD,uBAAuB,CAAC,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC;oBACpD,uBAAuB,CAAC,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC;oBACzD,uBAAuB,CAAC,IAAI,EAAE,CAAC;oBAC/B,uBAAuB,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;oBAC9C,uBAAuB,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;oBAE5D,IAAI,WAAW,EAAE,CAAC;wBACjB,IAAI,kBAAkB,GAAG,CAAC,CAAC;wBAC3B,uBAAuB,CAAC,8BAA8B,CAAC,GAAG,CAAC,GAAG,EAAE;4BAC/D,EAAE,kBAAkB,CAAC;4BAErB,IAAI,kBAAkB,GAAG,WAAW,EAAE,CAAC;gCACtC,uBAAuB,CAAC,IAAI,EAAE,CAAC;4BAChC,CAAC;wBACF,CAAC,CAAC,CAAC;oBACJ,CAAC;gBACF,CAAC,CAAC,CACF,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,oBAAoB,CAAC,wBAAwB,EAAE,WAAW,CAAC,CAAC;YAEnE,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpD,MAAM,WAAW,GAAG;oBACnB,MAAM,EAAE,CAAC;iBACT,CAAC;gBAEF,MAAM,eAAe,GAAG,IAAI,SAAS,CACpC,GAAG,uBAAuB,CAAC,IAAI,UAAU,EACzC,QAAQ,EACR,EAAE,EACF,SAAS,CAAC,mBAAmB,EAC7B,SAAS,CAAC,uBAAuB,EACjC,KAAK,CACL,CAAC;gBACF,MAAM,UAAU,GAAoB,EAAE,CAAC;gBAEvC,KAAK,CAAC,oBAAqB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;oBAChD,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACjC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBAC/B,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAChC,CAAC;yBAAM,CAAC;wBACP,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC3B,CAAC;gBACF,CAAC,CAAC,CAAC;gBAEH,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBACpC,MAAM,CAAC,oBAAoB,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;gBAE1D,8BAA8B,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE;oBAClD,uBAAuB,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;gBACrD,CAAC,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,KAAc,CAAC;QACnC,MAAM,WAAW,GAAG,KAAK,EAAE,cAAc,EAAE,CAAC;QAE5C,IAAI,CAAC,OAAO,EAAE,YAAY,IAAI,KAAK,IAAI,WAAW,IAAI,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC5E,MAAM,WAAW,GAAG;gBACnB,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,CAAC;aACT,CAAC;YAEF,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC,mBAAmB,EAAE,SAAS,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;YAEvI,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;gBACvC,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC;gBAEnE,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC;gBAE9D,cAAc,CAAC,QAAQ,CACtB,IAAI,cAAc,CACjB,aAAa,CAAC,KAAK,EACnB,CAAC,YAAY,EAAE,EAAE;oBAChB,MAAM,SAAS,GAAG,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC;oBACrD,MAAM,MAAM,GAAG,CAAC,SAAS,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,eAAe,CAAC;oBAElF,gBAAgB;oBAChB,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBACvB,CAAC,EACD,KAAK,CACL,CACD,CAAC;gBAEF,cAAc,CAAC,QAAQ,CACtB,IAAI,cAAc,CAAC,aAAa,CAAC,KAAK,GAAG,QAAQ,EAAE,GAAG,EAAE;oBACvD,KAAK,CAAC,IAAI,EAAE,CAAC;gBACd,CAAC,CAAC,CACF,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,cAAc,CAAC,OAAO,CAAC;gBACtB,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;gBACtB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;aACpC,CAAC,CAAC;YAEH,MAAM,CAAC,oBAAoB,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YAEzD,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3C,MAAM,eAAe,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,CAAC,mBAAmB,EAAE,SAAS,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;gBACzI,MAAM,UAAU,GAAoB,EAAE,CAAC;gBAEvC,KAAK,CAAC,WAAY,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;oBACvC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACjC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBAC/B,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAChC,CAAC;yBAAM,CAAC;wBACP,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC3B,CAAC;gBACF,CAAC,CAAC,CAAC;gBAEH,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBACpC,MAAM,CAAC,oBAAoB,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;gBAE1D,8BAA8B,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE;oBAClD,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAED,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YAC1B,MAAM,WAAW,GAAG;gBACnB,KAAK,EAAE,CAAC;aACR,CAAC;YAEF,MAAM,eAAe,GAAG,IAAI,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC,mBAAmB,EAAE,SAAS,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;YAEtI,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;gBAC/C,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;gBAEnD,eAAe,CAAC,QAAQ,CACvB,IAAI,cAAc,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE;oBAC5C,QAAQ,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;wBAClC,KAAK,OAAO;4BACX,gBAAgB,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;4BAC7C,MAAM;wBACP,KAAK,aAAa;4BACjB,qBAAqB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;4BAC1C,MAAM;wBACP,KAAK,eAAe;4BACnB,uBAAuB,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;4BACnD,MAAM;oBACR,CAAC;gBACF,CAAC,CAAC,CACF,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,eAAe,CAAC,OAAO,CAAC;gBACvB,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;gBACtB,EAAE,KAAK,EAAE,QAAQ,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,GAAG,CAAC,EAAE;aAC5C,CAAC,CAAC;YAEH,MAAM,CAAC,oBAAoB,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QAEzF,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;YAC/D,OAAO;QACR,CAAC;QAED,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QACzD,MAAM,aAAa,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;QAEvD,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YAC5B,OAAO;QACR,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,SAAS,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;QACrI,MAAM,IAAI,GAAoB,EAAE,CAAC;QAEjC,KAAK,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC9C,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;YAED,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAEzB,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;oBACzD,SAAS,CAAC,QAAQ,CACjB,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE;wBAC5C,MAAM,UAAU,GAAG,wBAAwB,EAAE,CAAC;wBAC9C,IAAI,CAAC,UAAU,EAAE,CAAC;4BACjB,OAAO;wBACR,CAAC;wBAED,IAAI,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC;wBAC/C,UAAU,CAAC,cAAc,GAAG,CAAC,CAAC;wBAE9B,qBAAqB,CAAC,GAAG,EAAE;4BAC1B,UAAU,CAAC,cAAc,GAAG,cAAc,CAAC;wBAC5C,CAAC,CAAC,CAAC;oBACJ,CAAC,CAAC,CACF,CAAC;gBACH,CAAC;YACF,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAExB,MAAM,CAAC,oBAAoB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,SAAS,EAAE,CAAC;IAEnB,OAAO,MAAM,CAAC;AACf,CAAC"}
|
|
@@ -57,9 +57,12 @@ export function applyDecorators(scene, object, script, instance, rootUrl) {
|
|
|
57
57
|
instance[params.propertyKey.toString()] = particleSystem;
|
|
58
58
|
});
|
|
59
59
|
// @visibleAsNumber, @visibleAsBoolean etc.
|
|
60
|
-
(ctor._VisibleInInspector ?? []).
|
|
60
|
+
(ctor._VisibleInInspector ?? []).forEach(async (params) => {
|
|
61
61
|
const propertyKey = params.propertyKey.toString();
|
|
62
62
|
const attachedScripts = script.values;
|
|
63
|
+
if (!attachedScripts) {
|
|
64
|
+
throw new Error(`No values found for script with key "${script.key}".`);
|
|
65
|
+
}
|
|
63
66
|
if (attachedScripts.hasOwnProperty(propertyKey) && attachedScripts[propertyKey].hasOwnProperty("value")) {
|
|
64
67
|
const value = attachedScripts[propertyKey].value;
|
|
65
68
|
switch (params.configuration.type) {
|
|
@@ -109,6 +112,7 @@ export function applyDecorators(scene, object, script, instance, rootUrl) {
|
|
|
109
112
|
const data = scriptAssetsCache.get(value);
|
|
110
113
|
switch (assetType) {
|
|
111
114
|
case "json":
|
|
115
|
+
case "scene":
|
|
112
116
|
instance[propertyKey] = data;
|
|
113
117
|
break;
|
|
114
118
|
case "nodeParticleSystemSet":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/decorators/apply.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/decorators/apply.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,7 +47,9 @@ export async function loadScene(rootUrl, sceneFilename, scene, scriptsMap, optio
|
|
|
47
47
|
}
|
|
48
48
|
options?.onProgress?.(0.5 + (loadedItemsCount / waitingItemsCount) * 0.5);
|
|
49
49
|
}
|
|
50
|
-
|
|
50
|
+
if (!options?.skipAssetsPreload) {
|
|
51
|
+
await _preloadScriptsAssets(rootUrl, scene);
|
|
52
|
+
}
|
|
51
53
|
options?.onProgress?.(1);
|
|
52
54
|
configureShadowMapRenderListPredicate(scene);
|
|
53
55
|
configureShadowMapRefreshRate(scene);
|
|
@@ -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;AAE5E,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;AAC3D,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAC;AAE1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/loading/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { LoadAssetContainerAsync } from "@babylonjs/core/Loading/sceneLoader";
|
|
2
|
+
import { SceneLoaderFlags } from "@babylonjs/core/Loading/sceneLoaderFlags";
|
|
1
3
|
import { applyDecorators } from "../decorators/apply";
|
|
2
|
-
import { isAnyParticleSystem, isNode, isScene } from "../tools/guards";
|
|
4
|
+
import { isAnyParticleSystem, isMesh, isNode, isScene } from "../tools/guards";
|
|
3
5
|
/**
|
|
4
6
|
* Defines the cache of all
|
|
5
7
|
*/
|
|
@@ -7,13 +9,16 @@ export const scriptAssetsCache = new Map();
|
|
|
7
9
|
/**
|
|
8
10
|
* @internal
|
|
9
11
|
*/
|
|
10
|
-
export async function _preloadScriptsAssets(
|
|
12
|
+
export async function _preloadScriptsAssets(rootUrl, scene) {
|
|
11
13
|
const nodes = [scene, ...scene.transformNodes, ...scene.meshes, ...scene.lights, ...scene.cameras];
|
|
12
14
|
const scripts = nodes
|
|
13
15
|
.filter((node) => node.metadata?.scripts?.length)
|
|
14
16
|
.map((node) => node.metadata.scripts)
|
|
15
17
|
.flat();
|
|
16
18
|
scripts.forEach((script) => {
|
|
19
|
+
if (!script.values) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
17
22
|
for (const key in script.values) {
|
|
18
23
|
if (!script.values.hasOwnProperty(key)) {
|
|
19
24
|
continue;
|
|
@@ -31,9 +36,26 @@ export async function _preloadScriptsAssets(scene, rootUrl) {
|
|
|
31
36
|
}
|
|
32
37
|
promises.push(new Promise(async (resolve) => {
|
|
33
38
|
try {
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
|
|
39
|
+
const extension = key.split(".").pop();
|
|
40
|
+
if (extension === "scene") {
|
|
41
|
+
const filename = key.split("/").pop();
|
|
42
|
+
const sceneFilename = filename.replace(".scene", ".babylon");
|
|
43
|
+
// Load asset container
|
|
44
|
+
const container = await LoadAssetContainerAsync(`${rootUrl}${sceneFilename}`, scene, {
|
|
45
|
+
pluginExtension: ".babylon",
|
|
46
|
+
});
|
|
47
|
+
// Ensure all meshes perform their delay state check
|
|
48
|
+
if (SceneLoaderFlags.ForceFullSceneLoadingForIncremental) {
|
|
49
|
+
scene.meshes.forEach((m) => isMesh(m) && m._checkDelayState());
|
|
50
|
+
}
|
|
51
|
+
container.addAllToScene();
|
|
52
|
+
scriptAssetsCache.set(key, container);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
const response = await fetch(`${rootUrl}${key}`);
|
|
56
|
+
const data = await response.json();
|
|
57
|
+
scriptAssetsCache.set(key, data);
|
|
58
|
+
}
|
|
37
59
|
}
|
|
38
60
|
catch (e) {
|
|
39
61
|
console.error(e);
|
|
@@ -59,7 +81,7 @@ export function _applyScriptsForObject(scene, object, scriptsMap, rootUrl) {
|
|
|
59
81
|
return;
|
|
60
82
|
}
|
|
61
83
|
let result = exports;
|
|
62
|
-
|
|
84
|
+
const observers = {};
|
|
63
85
|
if (exports.default) {
|
|
64
86
|
result = new exports.default(object);
|
|
65
87
|
const decoratorsResult = applyDecorators(scene, object, script, result, rootUrl);
|
|
@@ -91,16 +113,18 @@ export function applyScriptOnObject(object, scriptConstructor, scene) {
|
|
|
91
113
|
throw new Error("Cannot apply script on object: no scene available.");
|
|
92
114
|
}
|
|
93
115
|
const instance = new scriptConstructor(object);
|
|
116
|
+
const observers = {};
|
|
94
117
|
const script = {
|
|
95
118
|
values: {},
|
|
96
119
|
};
|
|
97
120
|
applyDecorators(scene, object, script, instance, "");
|
|
98
121
|
if (instance.onStart) {
|
|
99
|
-
scene.onBeforeRenderObservable.addOnce(() => instance.onStart());
|
|
122
|
+
observers.onStartObserver = scene.onBeforeRenderObservable.addOnce(() => instance.onStart());
|
|
100
123
|
}
|
|
101
124
|
if (instance.onUpdate) {
|
|
102
125
|
scene.onBeforeRenderObservable.add(() => instance.onUpdate());
|
|
103
126
|
}
|
|
127
|
+
_registerScriptInstance(object, instance, "runtime", observers);
|
|
104
128
|
return instance;
|
|
105
129
|
}
|
|
106
130
|
export const scriptsDictionary = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"script.js","sourceRoot":"","sources":["../../../src/loading/script.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"script.js","sourceRoot":"","sources":["../../../src/loading/script.ts"],"names":[],"mappings":"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"}
|
|
@@ -130,7 +130,7 @@ export type VisibleInInspectorDecoratorTextureConfiguration = VisibleInInspector
|
|
|
130
130
|
* @param configuration defines the optional configuration for the field in the inspector (description, etc.).
|
|
131
131
|
*/
|
|
132
132
|
export declare function visibleAsKeyMap(label?: string, configuration?: Omit<VisibleInInspectorDecoratorConfiguration, "type">): (target: any, propertyKey: string | Symbol) => void;
|
|
133
|
-
export type VisibleInspectorDecoratorAssetPossibleTypes = "json" | "material" | "nodeParticleSystemSet";
|
|
133
|
+
export type VisibleInspectorDecoratorAssetPossibleTypes = "json" | "material" | "nodeParticleSystemSet" | "scene";
|
|
134
134
|
export type VisibleInspectorDecoratorAssetConfiguration<T = VisibleInspectorDecoratorAssetPossibleTypes> = VisibleInInspectorDecoratorConfiguration & {
|
|
135
135
|
assetType: T;
|
|
136
136
|
typeRestriction?: T extends "material" ? "PBRMaterial" | "StandardMaterial" | "AnyMaterial" : never;
|
|
@@ -38,6 +38,13 @@ export type SceneLoaderOptions = {
|
|
|
38
38
|
* Defines the function called to notify the loading progress in interval [0, 1]
|
|
39
39
|
*/
|
|
40
40
|
onProgress?: (value: number) => void;
|
|
41
|
+
/**
|
|
42
|
+
* Defines whether to skip the preloading of assets linked to scripts.
|
|
43
|
+
* To ensure all resources are loaded before resolving loadScene promise, all resources linked to scripts are preloaded after the scene is loaded.
|
|
44
|
+
* To bypass this behavior, you can set this flag to true.
|
|
45
|
+
* @default false
|
|
46
|
+
*/
|
|
47
|
+
skipAssetsPreload?: boolean;
|
|
41
48
|
};
|
|
42
49
|
declare module "@babylonjs/core/scene" {
|
|
43
50
|
interface Scene {
|
|
@@ -13,7 +13,7 @@ export declare const scriptAssetsCache: Map<string, any>;
|
|
|
13
13
|
/**
|
|
14
14
|
* @internal
|
|
15
15
|
*/
|
|
16
|
-
export declare function _preloadScriptsAssets(
|
|
16
|
+
export declare function _preloadScriptsAssets(rootUrl: string, scene: Scene): Promise<void>;
|
|
17
17
|
/**
|
|
18
18
|
* @internal
|
|
19
19
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "babylonjs-editor-tools",
|
|
3
|
-
"version": "5.2.
|
|
3
|
+
"version": "5.2.3",
|
|
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": {
|