babylonjs-editor-tools 5.2.2 → 5.2.4
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/decorators/apply.js +3 -1
- package/build/src/decorators/apply.js.map +1 -1
- package/build/src/index.js +3 -1
- package/build/src/index.js.map +1 -1
- package/build/src/loading/container.js +75 -0
- package/build/src/loading/container.js.map +1 -0
- package/build/src/loading/loader.js +5 -2
- package/build/src/loading/loader.js.map +1 -1
- package/build/src/loading/{script.js → script/apply.js} +6 -51
- package/build/src/loading/script/apply.js.map +1 -0
- package/build/src/loading/script/preload/common.js +6 -0
- package/build/src/loading/script/preload/common.js.map +1 -0
- package/build/src/loading/script/preload/plugins/navmesh.js +33 -0
- package/build/src/loading/script/preload/plugins/navmesh.js.map +1 -0
- package/build/src/loading/script/preload/scene.js +19 -0
- package/build/src/loading/script/preload/scene.js.map +1 -0
- package/build/src/loading/script/preload.js +81 -0
- package/build/src/loading/script/preload.js.map +1 -0
- package/build/src/tools/guards.js.map +1 -1
- package/build/src/tools/tools.js +11 -0
- package/build/src/tools/tools.js.map +1 -0
- package/declaration/src/decorators/inspector.d.ts +1 -1
- package/declaration/src/index.d.ts +3 -1
- package/declaration/src/loading/container.d.ts +27 -0
- package/declaration/src/loading/loader.d.ts +7 -0
- package/declaration/src/loading/{script.d.ts → script/apply.d.ts} +2 -10
- package/declaration/src/loading/script/preload/common.d.ts +1 -0
- package/declaration/src/loading/script/preload/plugins/navmesh.d.ts +2 -0
- package/declaration/src/loading/script/preload/scene.d.ts +2 -0
- package/declaration/src/loading/script/preload.d.ts +28 -0
- package/declaration/src/tools/guards.d.ts +2 -1
- package/declaration/src/tools/tools.d.ts +5 -0
- package/package.json +15 -15
- package/vitest.config.ts +8 -0
- package/build/src/loading/script.js.map +0 -1
package/build/index.node.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var X=Object.defineProperty;var Zt=Object.getOwnPropertyDescriptor;var Xt=Object.getOwnPropertyNames;var er=Object.prototype.hasOwnProperty;var i=(e,r)=>X(e,"name",{value:r,configurable:!0});var tr=(e,r)=>{for(var t in r)X(e,t,{get:r[t],enumerable:!0})},rr=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Xt(r))!er.call(e,n)&&n!==t&&X(e,n,{get:()=>r[n],enumerable:!(o=Zt(r,n))||o.enumerable});return e};var or=e=>rr(X({},"__esModule",{value:!0}),e);var to={};tr(to,{Cinematic:()=>q,_applyScriptsForObject:()=>L,_preloadScriptsAssets:()=>Ve,_registerScriptInstance:()=>Le,_removeRegisteredScriptInstance:()=>ht,animationFromSprite:()=>Ur,animationGroupFromScene:()=>wr,applyScriptOnObject:()=>Ar,configureEngineToUseCompressedTextures:()=>Or,configureShadowMapRefreshRate:()=>ye,configureShadowMapRenderListPredicate:()=>de,createDefaultRenderingPipeline:()=>ct,createMotionBlurPostProcess:()=>nt,createSSAO2RenderingPipeline:()=>rt,createSSRRenderingPipeline:()=>et,createVLSPostProcess:()=>Ze,defaultPipelineCameraConfigurations:()=>Y,disposeDefaultRenderingPipeline:()=>we,disposeMotionBlurPostProcess:()=>Te,disposeSSAO2RenderingPipeline:()=>Ce,disposeSSRRenderingPipeline:()=>Pe,disposeVLSPostProcess:()=>Se,forceCompileAllSceneMaterials:()=>Tr,generateCinematicAnimationGroup:()=>eo,getAllScriptsByClassForObject:()=>bt,getAnimationTypeForObject:()=>U,getDefaultRenderingPipeline:()=>H,getMotionBlurPostProcess:()=>Ee,getPowerOfTwoUntil:()=>O,getSSAO2RenderingPipeline:()=>hr,getSSRRenderingPipeline:()=>yr,getScriptByClassForObject:()=>Cr,getVLSPostProcess:()=>gr,guiFromAsset:()=>Rr,isAbstractMesh:()=>ee,isAnyParticleSystem:()=>fe,isArcRotateCamera:()=>ar,isBone:()=>nr,isCamera:()=>re,isCinematicGroup:()=>Zr,isCinematicKey:()=>We,isCinematicKeyCut:()=>J,isCinematicKeyEvent:()=>Jr,isCinematicSound:()=>Xr,isDirectionalLight:()=>cr,isFreeCamera:()=>sr,isGPUParticleSystem:()=>fr,isGroundMesh:()=>ir,isHemisphericLight:()=>pr,isInstancedMesh:()=>Q,isLight:()=>Qe,isMesh:()=>N,isNode:()=>G,isParticleSystem:()=>ur,isPointLight:()=>lr,isScene:()=>ue,isSpotLight:()=>mr,isSprite:()=>ge,isTexture:()=>pe,isTransformNode:()=>te,loadMaterialFromFile:()=>Er,loadScene:()=>vr,motionBlurPostProcessCameraConfigurations:()=>z,nodeFromDescendants:()=>Mr,nodeFromScene:()=>Dr,normalizeAtlasJson:()=>Ge,onKeyboardEvent:()=>Hr,onPointerEvent:()=>Qr,parseCinematic:()=>qr,parseCinematicKeyValue:()=>D,parseDefaultRenderingPipeline:()=>Ne,parseKeyFrameAnimations:()=>Ye,parseMotionBlurPostProcess:()=>De,parseSSAO2RenderingPipeline:()=>ve,parseSSRRenderingPipeline:()=>Ae,parseVLSPostProcess:()=>be,particleSystemFromScene:()=>Fr,playSpriteAnimationFromName:()=>xr,scriptAssetsCache:()=>_,scriptsDictionary:()=>F,serializeDefaultRenderingPipeline:()=>Re,serializeMotionBlurPostProcess:()=>Oe,serializeSSAO2RenderingPipeline:()=>xe,serializeSSRRenderingPipeline:()=>Ie,serializeVLSPostProcess:()=>he,setDefaultRenderingPipelineRef:()=>Ir,setMotionBlurPostProcessRef:()=>Pr,setSSAO2RenderingPipelineRef:()=>br,setSSRRenderingPipelineRef:()=>Sr,setVLSPostProcessRef:()=>dr,soundFromScene:()=>Nr,spriteFromSpriteManager:()=>jr,ssaoRenderingPipelineCameraConfigurations:()=>k,ssrRenderingPipelineCameraConfigurations:()=>K,visibleAsAsset:()=>Wr,visibleAsBoolean:()=>Lr,visibleAsColor3:()=>Kr,visibleAsColor4:()=>kr,visibleAsEntity:()=>zr,visibleAsKeyMap:()=>$r,visibleAsNumber:()=>_r,visibleAsString:()=>Vr,visibleAsTexture:()=>Yr,visibleAsVector2:()=>Gr,visibleAsVector3:()=>Br,vlsPostProcessCameraConfigurations:()=>B});module.exports=or(to);function ee(e){switch(e.getClassName?.()){case"Mesh":case"LineMesh":case"GroundMesh":case"InstancedMesh":return!0}return!1}i(ee,"isAbstractMesh");function N(e){switch(e.getClassName?.()){case"Mesh":case"GroundMesh":return!0}return!1}i(N,"isMesh");function Q(e){return e.getClassName?.()==="InstancedMesh"}i(Q,"isInstancedMesh");function nr(e){return e.getClassName?.()==="Bone"}i(nr,"isBone");function ir(e){return e.getClassName?.()==="GroundMesh"}i(ir,"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 sr(e){switch(e.getClassName?.()){case"FreeCamera":case"UniversalCamera":return!0}return!1}i(sr,"isFreeCamera");function ar(e){return e.getClassName?.()==="ArcRotateCamera"}i(ar,"isArcRotateCamera");function lr(e){return e.getClassName?.()==="PointLight"}i(lr,"isPointLight");function cr(e){return e.getClassName?.()==="DirectionalLight"}i(cr,"isDirectionalLight");function mr(e){return e.getClassName?.()==="SpotLight"}i(mr,"isSpotLight");function pr(e){return e.getClassName?.()==="HemisphericLight"}i(pr,"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 ur(e){return e.getClassName?.()==="ParticleSystem"}i(ur,"isParticleSystem");function fr(e){return e.getClassName?.()==="GPUParticleSystem"}i(fr,"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=o=>He.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??je.RenderTargetTexture.REFRESHRATE_RENDER_ONEVERYFRAME)})})}i(ye,"configureShadowMapRefreshRate");var Ue=require("babylonjs"),qe=require("babylonjs"),Je=require("babylonjs"),C=null,B=new Map;function gr(){return C}i(gr,"getVLSPostProcess");function dr(e){C=e}i(dr,"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=>N(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 n=e.getMeshById(r.meshId);n&&N(n)&&(t=n)}let o=Ze(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(Ue.Vector3.FromArray(r.customMeshPosition)),o}i(be,"parseVLSPostProcess");var Xe=require("babylonjs"),y=null,K=new Map;function yr(){return y}i(yr,"getSSRRenderingPipeline");function Sr(e){y=e}i(Sr,"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 Ie(){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(Ie,"serializeSSRRenderingPipeline");function Ae(e,r,t){if(y)return y;let o=et(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 tt=require("babylonjs"),b=null,k=new Map;function hr(){return b}i(hr,"getSSAO2RenderingPipeline");function br(e){b=e}i(br,"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 o=rt(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 ot=require("babylonjs"),v=null,z=new Map;function Ee(){return v}i(Ee,"getMotionBlurPostProcess");function Pr(e){v=e}i(Pr,"setMotionBlurPostProcessRef");function Te(){v&&(v.dispose(),v=null)}i(Te,"disposeMotionBlurPostProcess");function nt(e,r){return v=new ot.MotionBlurPostProcess("MotionBlurPostProcess",e,1,r),v.motionStrength=1,v.isObjectBased=!0,v}i(nt,"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 o=nt(e,r);return o.isObjectBased=t.isObjectBased,o.motionStrength=t.motionStrength,o.motionBlurSamples=t.motionBlurSamples,o}i(De,"parseMotionBlurPostProcess");var it=require("babylonjs"),Me=require("babylonjs"),st=require("babylonjs"),at=require("babylonjs"),lt=require("babylonjs"),l=null,Y=new Map;function H(){return l}i(H,"getDefaultRenderingPipeline");function Ir(e){l=e}i(Ir,"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,o){if(l)return l;let n=ct(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=it.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 at.ColorGradingTexture(a,e),s.level=t.colorGradingTexture.level}else{let a=st.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 Gn(e){k.set(e,xe()),B.set(e,he()),K.set(e,Ie()),z.set(e,Oe()),Y.set(e,Re())}i(Gn,"saveRenderingConfigurationForCamera");function mt(e,r){Ce(),Se(e.getScene()),Pe(),Te(),we();let t=k.get(e);t&&ve(e.getScene(),e,t);let o=B.get(e);o&&be(e.getScene(),o);let n=K.get(e);n&&Ae(e.getScene(),e,n);let s=z.get(e);s&&De(e.getScene(),e,s);let a=Y.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;N(e)?t=e:Q(e)&&(t=e.sourceMesh);let o=new pt.PhysicsAggregate(e,r.shape.type,{mesh:t,mass:r.massProperties.mass});o.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}),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(ut,"configurePhysicsAggregate");function ft(e,r){(Array.isArray(r)?r:[]).forEach(o=>{let n=e.getCameraById(o.cameraId);n&&(o.ssao2RenderingPipeline&&k.set(n,o.ssao2RenderingPipeline),o.vlsPostProcess&&B.set(n,o.vlsPostProcess),o.ssrRenderingPipeline&&K.set(n,o.ssrRenderingPipeline),o.motionBlurPostProcess&&z.set(n,o.motionBlurPostProcess),o.defaultRenderingPipeline&&Y.set(n,o.defaultRenderingPipeline))})}i(ft,"applyRenderingConfigurations");function oe(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(oe,"getSoundById");var gt=require("babylonjs"),ne=require("babylonjs"),dt=require("babylonjs"),ie=require("babylonjs"),yt=require("babylonjs"),St=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(),P=St.AdvancedDynamicTexture.CreateFullscreenUI(g.name,!0,e);P.parseSerializedObject(g.content,!1),o[c.propertyKey.toString()]=P,c.onGuiCreated?.(o,P)}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??[]).forEach(async c=>{let p=c.propertyKey.toString(),f=t.values;if(!f)throw new Error(`No values found for script with key "${t.key}".`);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]=ie.Vector2.FromArray(g);break;case"vector3":o[p]=ie.Vector3.FromArray(g);break;case"color3":o[p]=ne.Color3.FromArray(g);break;case"color4":o[p]=ne.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]=oe(g,e);break;case"particleSystem":o[p]=e.particleSystems?.find(u=>u.id===g)??null;break}break;case"texture":g&&(o[p]=dt.Texture.Parse(g,e,n));break;case"asset":if(g){let u=c.configuration.assetType,d=_.get(g);switch(u){case"json":o[p]=d;break;case"nodeParticleSystemSet":let h=yt.NodeParticleSystemSet.Parse(d);o[p]=h;break;case"material":o[p]=gt.Material.Parse(d,e,n);break}}}}});let a=null,m=null;if(s._PointerEvents?.length){if(s._PointerEvents.find(f=>f.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(f=>f.options.mode!=="global")&&!G(r))throw new Error('@onPointerEvent with mode different from "global" can be used only on scripts attached to Node: Mesh, Light, Camera, TransformNode.');a=e.onPointerObservable.add(f=>{let g=null;s._PointerEvents.forEach(P=>{if(!P.eventTypes.includes(f.type))return;let u=P.propertyKey.toString();if(P.options.mode==="global")return o[u]?.(f);g=f.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(A=>A===d)))return o[u]?.(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(!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 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 _=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=>{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&&_.set(m.value,null)}});let n=[];_.forEach((s,a)=>{_.get(a)||n.push(new Promise(async m=>{try{let p=await(await fetch(`${r}${a}`)).json();_.set(a,p)}catch(c){console.error(c)}m()}))}),await Promise.all(n)}i(Ve,"_preloadScriptsAssets");function L(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))),Le(r,a,n.key,m)}),r.metadata.scripts=void 0)}i(L,"_applyScriptsForObject");function Ar(e,r,t){if(t??=e.getScene?.(),!t)throw new Error("Cannot apply script on object: no scene available.");let o=new r(e),n={};return Fe(t,e,{values:{}},o,""),o.onStart&&(n.onStartObserver=t.onBeforeRenderObservable.addOnce(()=>o.onStart())),o.onUpdate&&t.onBeforeRenderObservable.add(()=>o.onUpdate()),Le(e,o,"runtime",n),o}i(Ar,"applyScriptOnObject");var F=new Map;function Le(e,r,t,o){let n={key:t,observers:o,instance:r};F.has(e)?F.get(e).push(n):F.set(e,[n]),(G(e)||fe(e)||ue(e))&&e.onDisposeObservable.addOnce(()=>{F.get(e)?.forEach(s=>{ht(e,s)}),F.delete(e)})}i(Le,"_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=F.get(e),o=t?.indexOf(r)??-1;o!==-1&&t?.splice(o,1)}i(ht,"_removeRegisteredScriptInstance");function bt(e,r){return F.get(e)?.filter(n=>n.instance.constructor===r)?.map(n=>n.instance)??null}i(bt,"getAllScriptsByClassForObject");function Cr(e,r){return bt(e,r)?.[0]??null}i(Cr,"getScriptByClassForObject");var It=require("babylonjs"),se=require("babylonjs"),Pt=!1;function At(){if(Pt)return;Pt=!0;let e=(0,se.GetParser)(It.SceneComponentConstants.NAME_AUDIO);(0,se.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 O(e){let r=1;for(;r<=e;)r<<=1;return r>>1}i(O,"getPowerOfTwoUntil");var _e=require("babylonjs"),Ct=!1;function xt(){if(Ct)return;Ct=!0;let e=_e.SerializationHelper._TextureParser;_e.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===O(n)||s===O(s),m="";switch(t.loadingTexturesQuality){case"medium":let d=n*.66>>0,h=s*.66>>0;a&&(d=O(d),h=O(h)),m=`_${d}_${h}`;break;case"low":case"very-low":let S=n*.33>>0,A=s*.33>>0;a&&(S=O(S),A=O(A)),m=`_${S}_${A}`;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(),u=`${f.replace(`.${g}`,"")}${m}.${g}`;return p.push(u),r.name=p.join("/"),e(r,t,o)}}i(xt,"registerTextureParser");var Et=require("babylonjs"),ae=require("babylonjs"),vt=!1;function Tt(){if(vt)return;vt=!0;let e=(0,ae.GetParser)(Et.SceneComponentConstants.NAME_SHADOWGENERATOR);(0,ae.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,O(s.mapSize))}),e?.(r,t,o,n)})}i(Tt,"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 xr(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(xr,"playSpriteAnimationFromName");var Dt=require("babylonjs"),Mt=require("babylonjs"),wt=require("babylonjs"),Rt=require("babylonjs"),Be=require("babylonjs"),$=require("babylonjs"),Nt=require("babylonjs"),Ot=!1;function Ft(){Ot||(Ot=!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);Ge(c);let p=`${Dt.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:$.Vector2.FromArray(n.options.stageSize??[10,1]),outputSize:$.Vector2.FromArray(n.options.outputSize??[100,100]),colorMultiply:$.Vector3.FromArray(n.options.colorMultiply??[1,1,1]),flipU:!0},r);n.tiles.forEach(u=>{for(let d=0,h=u.repeatCount.x+1;d<h;++d)for(let S=0,A=u.repeatCount.y+1;S<A;++S){let T=d*(u.repeatOffset.x+1),x=S*(u.repeatOffset.y+1);g.changeTiles(u.layer,new $.Vector2(u.position.x+T,(g.options.stageSize?.y??0)-1-u.position.y-x),u.tile)}});let P=g._output;P.parent=s,s.spriteMap=g})})}))}i(Ft,"registerSpriteMapParser");var _t=require("babylonjs"),Gt=require("babylonjs"),Bt=require("babylonjs"),Ke=require("babylonjs"),Kt=require("babylonjs");function Lt(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=Gt.Sprite.Parse(t,e);o.uniqueId=t.uniqueId,o.metadata=t.metadata}}i(Lt,"parseSerializedSpriteManager");var Vt=!1;function kt(){Vt||(Vt=!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 Bt.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 Ke.SpriteManager(s.name,p,1e3,64,r,void 0,void 0,!0,c);s.spriteManager=f,n.spriteManager&&Lt(f,n.spriteManager)})}else if(n.spriteManager?.textureUrl){let a=`${o}${n.spriteManager.textureUrl}`,m=new Ke.SpriteManager(s.name,a,1e3,{width:n.spriteManager.cellWidth,height:n.spriteManager.cellHeight},r,void 0,void 0,!1);s.spriteManager=m,n.spriteManager&&Lt(m,n.spriteManager)}}})}))}i(kt,"registerSpriteManagerParser");var zt=require("babylonjs"),ke=require("babylonjs"),Yt=require("babylonjs"),$t=require("babylonjs");async function vr(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=>N(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&&(ft(t,t.metadata.rendering),t.activeCamera&&mt(t.activeCamera,e)),t.metadata?.physicsGravity&&t.getPhysicsEngine()?.setGravity(zt.Vector3.FromArray(t.metadata?.physicsGravity)),L(t,t,o,e),t.transformNodes.forEach(a=>{L(t,a,o,e)}),t.meshes.forEach(a=>{ut(a),L(t,a,o,e)}),t.lights.forEach(a=>{L(t,a,o,e)}),t.cameras.forEach(a=>{L(t,a,o,e)}),t.spriteManagers?.forEach(a=>{a.sprites.forEach(m=>{L(t,m,o,e)})})}i(vr,"loadScene");var Wt=require("babylonjs");async function Er(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(Er,"loadMaterialFromFile");function Tr(e){return Promise.all(e.materials.map(async r=>{let t=r.getBindedMeshes();await Promise.all(t.map(async o=>{Q(o)||await r.forceCompilationAsync(o,{clipPlane:!!e.clipPlane,useInstances:o.hasInstances})}))}))}i(Tr,"forceCompileAllSceneMaterials");function Or(e){e.setTextureFormatToUse(["-dxt.ktx","-astc.ktx","-pvrtc.ktx","-etc1.ktx","-etc2.ktx"])}i(Or,"configureEngineToUseCompressedTextures");var w=require("babylonjs");function U(e){if(!isNaN(parseFloat(e))&&isFinite(e))return w.Animation.ANIMATIONTYPE_FLOAT;switch(e?.getClassName?.()){case"Vector2":return w.Animation.ANIMATIONTYPE_VECTOR2;case"Vector3":return w.Animation.ANIMATIONTYPE_VECTOR3;case"Quaternion":return w.Animation.ANIMATIONTYPE_QUATERNION;case"Color3":return w.Animation.ANIMATIONTYPE_COLOR3;case"Color4":return w.Animation.ANIMATIONTYPE_COLOR4;case"Size":return w.Animation.ANIMATIONTYPE_SIZE;case"Matrix":return w.Animation.ANIMATIONTYPE_MATRIX}return null}i(U,"getAnimationTypeForObject");function Dr(e){return function(r,t){let o=r.constructor;o._NodesFromScene??=[],o._NodesFromScene.push({propertyKey:t,nodeName:e})}}i(Dr,"nodeFromScene");function Mr(e,r=!1){return function(t,o){let n=t.constructor;n._NodesFromDescendants??=[],n._NodesFromDescendants.push({propertyKey:o,nodeName:e,directDescendantsOnly:r})}}i(Mr,"nodeFromDescendants");function wr(e){return function(r,t){let o=r.constructor;o._AnimationGroups??=[],o._AnimationGroups.push({animationGroupName:e,propertyKey:t})}}i(wr,"animationGroupFromScene");function Rr(e,r){return function(t,o){let n=t.constructor;n._GuiFromAsset??=[],n._GuiFromAsset.push({propertyKey:o,pathInAssets:e,onGuiCreated:r})}}i(Rr,"guiFromAsset");function Nr(e){return function(r,t){let o=r.constructor;o._SoundsFromScene??=[],o._SoundsFromScene.push({propertyKey:t,soundName:e})}}i(Nr,"soundFromScene");function Fr(e,r=!1){return function(t,o){let n=t.constructor;n._ParticleSystemsFromScene??=[],n._ParticleSystemsFromScene.push({propertyKey:o,particleSystemName:e,directDescendantsOnly:r})}}i(Fr,"particleSystemFromScene");function Lr(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"boolean"}})}}i(Lr,"visibleAsBoolean");function Vr(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"string"}})}}i(Vr,"visibleAsString");function _r(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"number"}})}}i(_r,"visibleAsNumber");function Gr(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"vector2"}})}}i(Gr,"visibleAsVector2");function Br(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"vector3"}})}}i(Br,"visibleAsVector3");function Kr(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"color3"}})}}i(Kr,"visibleAsColor3");function kr(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"color4"}})}}i(kr,"visibleAsColor4");function zr(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(zr,"visibleAsEntity");function Yr(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"texture"}})}}i(Yr,"visibleAsTexture");function $r(e,r){return function(t,o){let n=t.constructor;n._VisibleInInspector??=[],n._VisibleInInspector.push({label:e,propertyKey:o,configuration:{...r,type:"keymap"}})}}i($r,"visibleAsKeyMap");function Wr(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(Wr,"visibleAsAsset");function Qr(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(Qr,"onPointerEvent");function Hr(e){return function(r,t){let o=r.constructor;o._KeyboardEvents??=[],o._KeyboardEvents.push({propertyKey:t,eventTypes:Array.isArray(e)?e:[e]})}}i(Hr,"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 Ur(e){return function(r,t){let o=r.constructor;o._AnimationsFromSprite??=[],o._AnimationsFromSprite.push({propertyKey:t,animationName:e})}}i(Ur,"animationFromSprite");var le=require("babylonjs");function Sl(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(Sl,"cloneKey");function ce(e,r){let t=r.split("."),o=e;for(let n=0;n<t.length;++n)o=o[t[n]];return o}i(ce,"getPropertyValue");function ze(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(ze,"registerAfterAnimationCallback");var R=require("babylonjs"),me=require("babylonjs"),M=require("babylonjs");function qr(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=H()),t.propertyPath){let a=ce(o,t.propertyPath);n=U(a)}let s=null;return t.sound&&(s=oe(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:Ye(t.soundVolume??[],R.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:M.Vector3.FromArray(a.data.force),contactPoint:M.Vector3.FromArray(a.data.contactPoint)};break}return m}),keyFrameAnimations:o&&n!==null&&Ye(t.keyFrameAnimations??[],n)}})}}i(qr,"parseCinematic");function D(e,r){if(e===null)return null;if(e!==void 0)switch(r){case R.Animation.ANIMATIONTYPE_FLOAT:return e;case R.Animation.ANIMATIONTYPE_VECTOR2:return M.Vector2.FromArray(e);case R.Animation.ANIMATIONTYPE_VECTOR3:return M.Vector3.FromArray(e);case R.Animation.ANIMATIONTYPE_QUATERNION:return M.Quaternion.FromArray(e);case R.Animation.ANIMATIONTYPE_COLOR3:return me.Color3.FromArray(e);case R.Animation.ANIMATIONTYPE_COLOR4:return me.Color4.FromArray(e);case R.Animation.ANIMATIONTYPE_MATRIX:return M.Matrix.FromArray(e)}}i(D,"parseCinematicKeyValue");function Ye(e,r){return e?.map(t=>{let o=t.type==="key"?t:null;if(o)return{...o,value:D(o.value,r),inTangent:D(o.inTangent,r),outTangent:D(o.outTangent,r)};let n=t.type==="cut"?t:null;if(n)return{...n,key1:{...n.key1,value:D(n.key1.value,r),inTangent:D(n.key1.inTangent,r),outTangent:D(n.key1.outTangent,r)},key2:{...n.key2,value:D(n.key2.value,r),inTangent:D(n.key2.inTangent,r),outTangent:D(n.key2.outTangent,r)}};throw new Error(`Unknown key frame type: ${t.type}`)})}i(Ye,"parseKeyFrameAnimations");function Qt(e,r){e.onEventObservable.notifyObservers(r.eventName)}i(Qt,"handleApplyEvent");function Ht(e){e.node?.setEnabled(e.value)}i(Ht,"handleSetEnabledEvent");var $e=require("babylonjs"),jt=$e.Vector3.Zero();function Ut(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 $e.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(jt),o.physicsAggregate.body.setAngularVelocity(jt),o.physicsAggregate.body.applyImpulse(n.negateInPlace(),r.contactPoint)}})}i(Ut,"handleApplyImpulseEvent");var qt=require("babylonjs"),Jt=require("babylonjs"),q=class extends Jt.AnimationGroup{static{i(this,"Cinematic")}onEventObservable=new qt.Observable;onEvent(r,t){this.onEventObservable.add(o=>{r===o&&t()})}};function We(e){return e.type==="key"}i(We,"isCinematicKey");function J(e){return e.type==="cut"}i(J,"isCinematicKeyCut");function Jr(e){return e.type==="event"}i(Jr,"isCinematicKeyEvent");function Zr(e){return e.type==="group"}i(Zr,"isCinematicGroup");function Xr(e){return e.type==="sound"}i(Xr,"isCinematicSound");var I=require("babylonjs"),W=require("babylonjs");function eo(e,r,t){let o=new q(e.name,r);return e.tracks.forEach(n=>{let s=n.animationGroup;if(s&&n.animationGroups?.length){let u=s.clone(`${s.name}-cinematic-temp`),d=r.animationGroups.indexOf(u);d!==-1&&r.animationGroups.splice(d,1),o.onAnimationEndObservable.add(()=>{s.stop(),u.stop()});let h=n.animationGroups.reduce((x,E)=>Math.min(x,E.frame),Number.MAX_VALUE)??0,S=n.animationGroups.reduce((x,E)=>Math.max(x,E.frame+E.endFrame),0)??0,A={frame:h},T=new I.Animation(u.name,"frame",60,I.Animation.ANIMATIONTYPE_FLOAT,I.Animation.ANIMATIONLOOPMODE_CYCLE,!1);if(T.setKeys([{frame:h,value:0},{frame:S,value:S}]),n.animationGroups.forEach(x=>{T.addEvent(new W.AnimationEvent(x.frame,()=>{let E=x.repeatCount??0;if(u.to=x.endFrame,u.speedRatio=x.speed,u.stop(),u.play(E>0),u.goToFrame(x.startFrame),E){let V=0;u.onAnimationGroupLoopObservable.add(()=>{++V,V>E&&u.stop()})}}))}),o.addTargetedAnimation(T,A),(n.animationGroupWeight?.length??0)>=2){let x={weight:0},E=new I.Animation(`${u.name}-weights`,"weight",60,I.Animation.ANIMATIONTYPE_FLOAT,I.Animation.ANIMATIONLOOPMODE_CYCLE,!1),V=[];n.animationGroupWeight.forEach(Z=>{J(Z)?(V.push(Z.key1),V.push(Z.key2)):V.push(Z)}),E.setKeys(V),o.addTargetedAnimation(E,x),ze(o,r,()=>{u.weight=x.weight})}}let a=n.sound,m=a?.getAudioBuffer();if(!t?.ignoreSounds&&a&&m&&n.sounds?.length){let u={dummy:0,volume:0},d=new I.Animation(a.name,"dummy",60,I.Animation.ANIMATIONTYPE_FLOAT,I.Animation.ANIMATIONLOOPMODE_CYCLE,!1),h=0;if(n.sounds?.forEach(S=>{let A=S.endFrame-S.startFrame;h=Math.max(h,S.frame+A),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+A,()=>{a.stop()}))}),d.setKeys([{frame:0,value:0},{frame:h,value:h}]),o.addTargetedAnimation(d,u),(n.soundVolume?.length??0)>=2){let S=new I.Animation(a.name,"volume",60,I.Animation.ANIMATIONTYPE_FLOAT,I.Animation.ANIMATIONLOOPMODE_CYCLE,!1),A=[];n.soundVolume.forEach(T=>{J(T)?(A.push(T.key1),A.push(T.key2)):A.push(T)}),S.setKeys(A),o.addTargetedAnimation(S,u),ze(o,r,()=>{a.setVolume(u.volume)})}}if(n.keyFrameEvents){let u={dummy:0},d=new I.Animation("events","dummy",60,I.Animation.ANIMATIONTYPE_FLOAT,I.Animation.ANIMATIONLOOPMODE_CYCLE,!1),h=0;n.keyFrameEvents?.forEach(S=>{h=Math.max(h,S.frame),d.addEvent(new W.AnimationEvent(S.frame,()=>{switch(S.data?.type){case"event":Qt(o,S.data);break;case"set-enabled":Ht(S.data);break;case"apply-impulse":Ut(r,S.data);break}}))}),d.setKeys([{frame:0,value:0},{frame:h+1,value:h+1}]),o.addTargetedAnimation(d,u)}let c=n.defaultRenderingPipeline?H():n.node;if(!c||!n.propertyPath||!n.keyFrameAnimations)return;let p=ce(c,n.propertyPath),f=U(p);if(f===null)return;let g=new I.Animation(n.propertyPath,n.propertyPath,60,f,I.Animation.ANIMATIONLOOPMODE_CYCLE,!1),P=[];n.keyFrameAnimations?.forEach(u=>{if(We(u))return P.push(u);J(u)&&(P.push(u.key1),P.push(u.key2),re(c)&&n.propertyPath==="position"&&g.addEvent(new W.AnimationEvent(u.key1.frame,()=>{let d=Ee();if(!d)return;let h=d.motionStrength;d.motionStrength=0,requestAnimationFrame(()=>{d.motionStrength=h})})))}),g.setKeys(P),o.addTargetedAnimation(g,c)}),o.normalize(),o}i(eo,"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 te=Object.defineProperty;var sr=Object.getOwnPropertyDescriptor;var ar=Object.getOwnPropertyNames;var lr=Object.prototype.hasOwnProperty;var i=(e,r)=>te(e,"name",{value:r,configurable:!0});var cr=(e,r)=>{for(var t in r)te(e,t,{get:r[t],enumerable:!0})},pr=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of ar(r))!lr.call(e,o)&&o!==t&&te(e,o,{get:()=>r[o],enumerable:!(n=sr(r,o))||n.enumerable});return e};var mr=e=>pr(te({},"__esModule",{value:!0}),e);var mn={};cr(mn,{AdvancedAssetContainer:()=>U,Cinematic:()=>Z,_applyScriptsForObject:()=>D,_preloadScriptsAssets:()=>Ge,_registerScriptInstance:()=>Ke,_removeRegisteredScriptInstance:()=>Et,animationFromSprite:()=>on,animationGroupFromScene:()=>Kr,applyScriptOnObject:()=>wr,configureEngineToUseCompressedTextures:()=>Vr,configureShadowMapRefreshRate:()=>he,configureShadowMapRenderListPredicate:()=>Se,createDefaultRenderingPipeline:()=>ft,createMotionBlurPostProcess:()=>lt,createSSAO2RenderingPipeline:()=>st,createSSRRenderingPipeline:()=>ot,createVLSPostProcess:()=>rt,defaultPipelineCameraConfigurations:()=>$,disposeDefaultRenderingPipeline:()=>Ne,disposeMotionBlurPostProcess:()=>De,disposeSSAO2RenderingPipeline:()=>ve,disposeSSRRenderingPipeline:()=>Ie,disposeVLSPostProcess:()=>be,forceCompileAllSceneMaterials:()=>Lr,generateCinematicAnimationGroup:()=>pn,getAllScriptsByClassForObject:()=>Tt,getAnimationTypeForObject:()=>q,getDefaultRenderingPipeline:()=>H,getMotionBlurPostProcess:()=>Oe,getPowerOfTwoUntil:()=>M,getSSAO2RenderingPipeline:()=>Er,getSSRRenderingPipeline:()=>xr,getScriptByClassForObject:()=>Rr,getVLSPostProcess:()=>Ir,guiFromAsset:()=>kr,isAbstractMesh:()=>re,isAnyParticleSystem:()=>de,isArcRotateCamera:()=>dr,isBone:()=>ur,isCamera:()=>oe,isCinematicGroup:()=>ln,isCinematicKey:()=>Ue,isCinematicKeyCut:()=>X,isCinematicKeyEvent:()=>an,isCinematicSound:()=>cn,isDirectionalLight:()=>Sr,isFreeCamera:()=>gr,isGPUParticleSystem:()=>Ar,isGroundMesh:()=>fr,isHemisphericLight:()=>br,isInstancedMesh:()=>Q,isLight:()=>Je,isMesh:()=>O,isNode:()=>G,isParticleSystem:()=>Pr,isPointLight:()=>yr,isScene:()=>ge,isSpotLight:()=>hr,isSprite:()=>ye,isTexture:()=>fe,isTransformNode:()=>ne,loadMaterialFromFile:()=>_r,loadScene:()=>Fr,motionBlurPostProcessCameraConfigurations:()=>z,nodeFromDescendants:()=>Br,nodeFromScene:()=>Gr,normalizeAtlasJson:()=>ze,onKeyboardEvent:()=>rn,onPointerEvent:()=>tn,parseCinematic:()=>sn,parseCinematicKeyValue:()=>w,parseDefaultRenderingPipeline:()=>_e,parseKeyFrameAnimations:()=>He,parseMotionBlurPostProcess:()=>we,parseSSAO2RenderingPipeline:()=>Te,parseSSRRenderingPipeline:()=>xe,parseVLSPostProcess:()=>Ae,particleSystemFromScene:()=>$r,playSpriteAnimationFromName:()=>Nr,registerScriptAssetParser:()=>Mr,scriptAssetsCache:()=>N,scriptAssetsParsers:()=>J,scriptsDictionary:()=>L,serializeDefaultRenderingPipeline:()=>Fe,serializeMotionBlurPostProcess:()=>Me,serializeSSAO2RenderingPipeline:()=>Ee,serializeSSRRenderingPipeline:()=>Ce,serializeVLSPostProcess:()=>Pe,setDefaultRenderingPipelineRef:()=>Dr,setMotionBlurPostProcessRef:()=>Or,setSSAO2RenderingPipelineRef:()=>Tr,setSSRRenderingPipelineRef:()=>vr,setVLSPostProcessRef:()=>Cr,soundFromScene:()=>zr,spriteFromSpriteManager:()=>nn,ssaoRenderingPipelineCameraConfigurations:()=>k,ssrRenderingPipelineCameraConfigurations:()=>K,visibleAsAsset:()=>en,visibleAsBoolean:()=>Yr,visibleAsColor3:()=>Ur,visibleAsColor4:()=>Jr,visibleAsEntity:()=>qr,visibleAsKeyMap:()=>Xr,visibleAsNumber:()=>Qr,visibleAsString:()=>Wr,visibleAsTexture:()=>Zr,visibleAsVector2:()=>Hr,visibleAsVector3:()=>jr,vlsPostProcessCameraConfigurations:()=>B});module.exports=mr(mn);function re(e){switch(e.getClassName?.()){case"Mesh":case"LineMesh":case"GroundMesh":case"InstancedMesh":return!0}return!1}i(re,"isAbstractMesh");function O(e){switch(e.getClassName?.()){case"Mesh":case"GroundMesh":return!0}return!1}i(O,"isMesh");function Q(e){return e.getClassName?.()==="InstancedMesh"}i(Q,"isInstancedMesh");function ur(e){return e.getClassName?.()==="Bone"}i(ur,"isBone");function fr(e){return e.getClassName?.()==="GroundMesh"}i(fr,"isGroundMesh");function ne(e){return e.getClassName?.()==="TransformNode"}i(ne,"isTransformNode");function fe(e){return e?.getClassName?.()==="Texture"}i(fe,"isTexture");function oe(e){switch(e.getClassName?.()){case"Camera":case"FreeCamera":case"TargetCamera":case"EditorCamera":case"ArcRotateCamera":case"UniversalCamera":return!0}return!1}i(oe,"isCamera");function gr(e){switch(e.getClassName?.()){case"FreeCamera":case"UniversalCamera":return!0}return!1}i(gr,"isFreeCamera");function dr(e){return e.getClassName?.()==="ArcRotateCamera"}i(dr,"isArcRotateCamera");function yr(e){return e.getClassName?.()==="PointLight"}i(yr,"isPointLight");function Sr(e){return e.getClassName?.()==="DirectionalLight"}i(Sr,"isDirectionalLight");function hr(e){return e.getClassName?.()==="SpotLight"}i(hr,"isSpotLight");function br(e){return e.getClassName?.()==="HemisphericLight"}i(br,"isHemisphericLight");function Je(e){switch(e.getClassName?.()){case"Light":case"PointLight":case"SpotLight":case"DirectionalLight":case"HemisphericLight":return!0}return!1}i(Je,"isLight");function G(e){return re(e)||ne(e)||Je(e)||oe(e)}i(G,"isNode");function ge(e){return e.getClassName?.()==="Scene"}i(ge,"isScene");function Pr(e){return e.getClassName?.()==="ParticleSystem"}i(Pr,"isParticleSystem");function Ar(e){return e.getClassName?.()==="GPUParticleSystem"}i(Ar,"isGPUParticleSystem");function de(e){switch(e.getClassName?.()){case"ParticleSystem":case"GPUParticleSystem":return!0}return!1}i(de,"isAnyParticleSystem");function ye(e){return e.getClassName?.()==="Sprite"}i(ye,"isSprite");var qe=require("babylonjs"),Ze=require("babylonjs");function Se(e){e.lights.forEach(r=>{let t=r.getShadowGenerator()?.getShadowMap();t&&(t.renderListPredicate=n=>qe.Vector3.Distance(n.getAbsolutePosition(),r.getAbsolutePosition())<=r.range)})}i(Se,"configureShadowMapRenderListPredicate");async function he(e){e.executeWhenReady(()=>{e.lights.forEach(r=>{let t=r.getShadowGenerator()?.getShadowMap();t&&(t.refreshRate=r.metadata?.refreshRate??Ze.RenderTargetTexture.REFRESHRATE_RENDER_ONEVERYFRAME)})})}i(he,"configureShadowMapRefreshRate");var Xe=require("babylonjs"),et=require("babylonjs"),tt=require("babylonjs"),C=null,B=new Map;function Ir(){return C}i(Ir,"getVLSPostProcess");function Cr(e){C=e}i(Cr,"setVLSPostProcessRef");function be(e){C&&e.activeCamera&&(C.dispose(e.activeCamera),C=null)}i(be,"disposeVLSPostProcess");function rt(e,r){return r??=e.meshes.find(t=>O(t)),C=new tt.VolumetricLightScatteringPostProcess("VolumetricLightScatteringPostProcess",1,e.activeCamera,r,100,et.Texture.BILINEAR_SAMPLINGMODE,e.getEngine(),!1),C}i(rt,"createVLSPostProcess");function Pe(){return C?{meshId:C.mesh?.id,exposure:C.exposure,decay:C.decay,weight:C.weight,density:C.density,invert:C.invert,useCustomMeshPosition:C.useCustomMeshPosition,customMeshPosition:C.customMeshPosition.asArray()}:null}i(Pe,"serializeVLSPostProcess");function Ae(e,r){let t=null;if(r.meshId){let o=e.getMeshById(r.meshId);o&&O(o)&&(t=o)}let n=rt(e,t);return n.exposure=r.exposure,n.decay=r.decay,n.weight=r.weight,n.density=r.density,n.invert=r.invert,n.useCustomMeshPosition=r.useCustomMeshPosition,n.customMeshPosition.copyFrom(Xe.Vector3.FromArray(r.customMeshPosition)),n}i(Ae,"parseVLSPostProcess");var nt=require("babylonjs"),y=null,K=new Map;function xr(){return y}i(xr,"getSSRRenderingPipeline");function vr(e){y=e}i(vr,"setSSRRenderingPipelineRef");function Ie(){y&&(y.dispose(),y=null)}i(Ie,"disposeSSRRenderingPipeline");function ot(e,r){return y=new nt.SSRRenderingPipeline("SSRRenderingPipeline",e,[r]),y.samples=4,y}i(ot,"createSSRRenderingPipeline");function Ce(){return y?{samples:y.samples,step:y.step,thickness:y.thickness,strength:y.strength,reflectionSpecularFalloffExponent:y.reflectionSpecularFalloffExponent,maxSteps:y.maxSteps,maxDistance:y.maxDistance,roughnessFactor:y.roughnessFactor,reflectivityThreshold:y.reflectivityThreshold,blurDispersionStrehgth:y.blurDispersionStrength,clipToFrustum:y.clipToFrustum,enableSmoothReflections:y.enableSmoothReflections,enableAutomaticThicknessComputation:y.enableAutomaticThicknessComputation,attenuateFacingCamera:y.attenuateFacingCamera,attenuateScreenBorders:y.attenuateScreenBorders,attenuateIntersectionDistance:y.attenuateIntersectionDistance,attenuateBackfaceReflection:y.attenuateBackfaceReflection,blurDownsample:y.blurDownsample,selfCollisionNumSkip:y.selfCollisionNumSkip,ssrDownsample:y.ssrDownsample,backfaceDepthTextureDownsample:y.backfaceDepthTextureDownsample}:null}i(Ce,"serializeSSRRenderingPipeline");function xe(e,r,t){if(y)return y;let n=ot(e,r);return n.samples=t.samples,n.step=t.step,n.thickness=t.thickness,n.strength=t.strength,n.reflectionSpecularFalloffExponent=t.reflectionSpecularFalloffExponent,n.maxSteps=t.maxSteps,n.maxDistance=t.maxDistance,n.roughnessFactor=t.roughnessFactor,n.reflectivityThreshold=t.reflectivityThreshold,n.blurDispersionStrength=t.blurDispersionStrehgth,n.clipToFrustum=t.clipToFrustum,n.enableSmoothReflections=t.enableSmoothReflections,n.enableAutomaticThicknessComputation=t.enableAutomaticThicknessComputation,n.attenuateFacingCamera=t.attenuateFacingCamera,n.attenuateScreenBorders=t.attenuateScreenBorders,n.attenuateIntersectionDistance=t.attenuateIntersectionDistance,n.attenuateBackfaceReflection=t.attenuateBackfaceReflection,n.blurDownsample=t.blurDownsample,n.selfCollisionNumSkip=t.selfCollisionNumSkip,n.ssrDownsample=t.ssrDownsample,n.backfaceDepthTextureDownsample=t.backfaceDepthTextureDownsample,n}i(xe,"parseSSRRenderingPipeline");var it=require("babylonjs"),b=null,k=new Map;function Er(){return b}i(Er,"getSSAO2RenderingPipeline");function Tr(e){b=e}i(Tr,"setSSAO2RenderingPipelineRef");function ve(){b&&(b.dispose(),b=null)}i(ve,"disposeSSAO2RenderingPipeline");function st(e,r){return b=new it.SSAO2RenderingPipeline("SSAO2RenderingPipeline",e,1,[r]),b.samples=4,b}i(st,"createSSAO2RenderingPipeline");function Ee(){return b?{radius:b.radius,totalStrength:b.totalStrength,samples:b.samples,maxZ:b.maxZ,minZAspect:b.minZAspect,epsilon:b.epsilon,textureSamples:b.textureSamples,bypassBlur:b.bypassBlur,bilateralSamples:b.bilateralSamples,bilateralSoften:b.bilateralSoften,bilateralTolerance:b.bilateralTolerance,expensiveBlur:b.expensiveBlur}:null}i(Ee,"serializeSSAO2RenderingPipeline");function Te(e,r,t){if(b)return b;let n=st(e,r);return n.radius=t.radius,n.totalStrength=t.totalStrength,n.samples=t.samples,n.maxZ=t.maxZ,n.minZAspect=t.minZAspect,n.epsilon=t.epsilon,n.textureSamples=t.textureSamples,n.bypassBlur=t.bypassBlur,n.bilateralSamples=t.bilateralSamples,n.bilateralSoften=t.bilateralSoften,n.bilateralTolerance=t.bilateralTolerance,n.expensiveBlur=t.expensiveBlur,n}i(Te,"parseSSAO2RenderingPipeline");var at=require("babylonjs"),v=null,z=new Map;function Oe(){return v}i(Oe,"getMotionBlurPostProcess");function Or(e){v=e}i(Or,"setMotionBlurPostProcessRef");function De(){v&&(v.dispose(),v=null)}i(De,"disposeMotionBlurPostProcess");function lt(e,r){return v=new at.MotionBlurPostProcess("MotionBlurPostProcess",e,1,r),v.motionStrength=1,v.isObjectBased=!0,v}i(lt,"createMotionBlurPostProcess");function Me(){return v?{isObjectBased:v.isObjectBased,motionStrength:v.motionStrength,motionBlurSamples:v.motionBlurSamples}:null}i(Me,"serializeMotionBlurPostProcess");function we(e,r,t){if(v)return v;let n=lt(e,r);return n.isObjectBased=t.isObjectBased,n.motionStrength=t.motionStrength,n.motionBlurSamples=t.motionBlurSamples,n}i(we,"parseMotionBlurPostProcess");var ct=require("babylonjs"),Re=require("babylonjs"),pt=require("babylonjs"),mt=require("babylonjs"),ut=require("babylonjs"),l=null,$=new Map;function H(){return l}i(H,"getDefaultRenderingPipeline");function Dr(e){l=e}i(Dr,"setDefaultRenderingPipelineRef");function Ne(){l&&(l.dispose(),l=null)}i(Ne,"disposeDefaultRenderingPipeline");function ft(e,r){return l=new ut.DefaultRenderingPipeline("DefaultRenderingPipeline",!0,e,[r]),l.samples=4,l.depthOfField.lensSize=512,l.depthOfField.fStop=.25,l.depthOfField.focusDistance=55e3,l}i(ft,"createDefaultRenderingPipeline");function Fe(){return l?{samples:l.samples,fxaaEnabled:l.fxaaEnabled,imageProcessingEnabled:l.imageProcessingEnabled,exposure:l.imageProcessing?.exposure,contrast:l.imageProcessing?.contrast,fromLinearSpace:l.imageProcessing?.fromLinearSpace,toneMappingEnabled:l.imageProcessing?.toneMappingEnabled,toneMappingType:l.imageProcessing?.toneMappingType,ditheringEnabled:l.imageProcessing?.ditheringEnabled,ditheringIntensity:l.imageProcessing?.ditheringIntensity,bloomEnabled:l.bloomEnabled,bloomThreshold:l.bloomThreshold,bloomWeight:l.bloomWeight,bloomScale:l.bloomScale,bloomKernel:l.bloomKernel,sharpenEnabled:l.sharpenEnabled,sharpenEdgeAmount:l.sharpen.edgeAmount,sharpenColorAmount:l.sharpen.colorAmount,grainEnabled:l.grainEnabled,grainIntensity:l.grain.intensity,grainAnimated:l.grain.animated,depthOfFieldEnabled:l.depthOfFieldEnabled,depthOfFieldBlurLevel:l.depthOfFieldBlurLevel,lensSize:l.depthOfField.lensSize,fStop:l.depthOfField.fStop,focusDistance:l.depthOfField.focusDistance,focalLength:l.depthOfField.focalLength,vignetteEnabled:l.imageProcessing?.vignetteEnabled,vignetteColor:l.imageProcessing?.vignetteColor.asArray(),vignetteWeight:l.imageProcessing?.vignetteWeight,chromaticAberrationEnabled:l.chromaticAberrationEnabled,aberrationAmount:l.chromaticAberration.aberrationAmount,radialIntensity:l.chromaticAberration.radialIntensity,direction:l.chromaticAberration.direction.asArray(),centerPosition:l.chromaticAberration.centerPosition.asArray(),glowLayerEnabled:l.glowLayerEnabled,glowLayerIntensity:l.glowLayer?.intensity,glowLayerBlurKernelSize:l.glowLayer?.blurKernelSize,colorGradingEnabled:l.imageProcessing.colorGradingEnabled,colorGradingTexture:l.imageProcessing.colorGradingTexture?.serialize(),colorGradingWithGreenDepth:l.imageProcessing.imageProcessingConfiguration.colorGradingWithGreenDepth,colorCurvesEnabled:l.imageProcessing.colorCurvesEnabled,globalHue:l.imageProcessing.colorCurves?.globalHue,globalDensity:l.imageProcessing.colorCurves?.globalDensity,globalExposure:l.imageProcessing.colorCurves?.globalExposure,globalSaturation:l.imageProcessing.colorCurves?.globalSaturation,highlightsHue:l.imageProcessing.colorCurves?.highlightsHue,highlightsDensity:l.imageProcessing.colorCurves?.highlightsDensity,highlightsExposure:l.imageProcessing.colorCurves?.highlightsExposure,highlightsSaturation:l.imageProcessing.colorCurves?.highlightsSaturation,midtonesHue:l.imageProcessing.colorCurves?.midtonesHue,midtonesDensity:l.imageProcessing.colorCurves?.midtonesDensity,midtonesExposure:l.imageProcessing.colorCurves?.midtonesExposure,midtonesSaturation:l.imageProcessing.colorCurves?.midtonesSaturation,shadowsHue:l.imageProcessing.colorCurves?.shadowsHue,shadowsDensity:l.imageProcessing.colorCurves?.shadowsDensity,shadowsExposure:l.imageProcessing.colorCurves?.shadowsExposure,shadowsSaturation:l.imageProcessing.colorCurves?.shadowsSaturation}:null}i(Fe,"serializeDefaultRenderingPipeline");function _e(e,r,t,n){if(l)return l;let o=ft(e,r);if(o.samples=t.samples,o.fxaaEnabled=t.fxaaEnabled,o.imageProcessingEnabled=t.imageProcessingEnabled,o.imageProcessing){if(o.imageProcessing.exposure=t.exposure,o.imageProcessing.contrast=t.contrast,o.imageProcessing.fromLinearSpace=t.fromLinearSpace,o.imageProcessing.toneMappingEnabled=t.toneMappingEnabled,o.imageProcessing.toneMappingType=t.toneMappingType,o.imageProcessing.ditheringEnabled=t.ditheringEnabled,o.imageProcessing.ditheringIntensity=t.ditheringIntensity,o.imageProcessing.vignetteEnabled=t.vignetteEnabled??!1,o.imageProcessing.vignetteColor=ct.Color4.FromArray(t.vignetteColor??[0,0,0]),o.imageProcessing.vignetteWeight=t.vignetteWeight??.3,o.imageProcessing.colorGradingEnabled=t.colorGradingEnabled??!1,o.imageProcessing.imageProcessingConfiguration.colorGradingWithGreenDepth=t.colorGradingWithGreenDepth??!0,t.colorGradingTexture){let a=null;if(t.colorGradingTexture.customType==="BABYLON.ColorGradingTexture"){let s=n+t.colorGradingTexture.name;a=new mt.ColorGradingTexture(s,e),a.level=t.colorGradingTexture.level}else{let s=pt.Texture.Parse(t.colorGradingTexture,e,n);fe(s)&&(a=s)}o.imageProcessing.colorGradingTexture=a}o.imageProcessing.colorCurvesEnabled=t.colorCurvesEnabled??!1,o.imageProcessing.colorCurves&&(o.imageProcessing.colorCurves.globalHue=t.globalHue??30,o.imageProcessing.colorCurves.globalDensity=t.globalDensity??0,o.imageProcessing.colorCurves.globalExposure=t.globalExposure??0,o.imageProcessing.colorCurves.globalSaturation=t.globalSaturation??0,o.imageProcessing.colorCurves.highlightsHue=t.highlightsHue??30,o.imageProcessing.colorCurves.highlightsDensity=t.highlightsDensity??0,o.imageProcessing.colorCurves.highlightsExposure=t.highlightsExposure??0,o.imageProcessing.colorCurves.highlightsSaturation=t.highlightsSaturation??0,o.imageProcessing.colorCurves.midtonesHue=t.midtonesHue??30,o.imageProcessing.colorCurves.midtonesDensity=t.midtonesDensity??0,o.imageProcessing.colorCurves.midtonesExposure=t.midtonesExposure??0,o.imageProcessing.colorCurves.midtonesSaturation=t.midtonesSaturation??0,o.imageProcessing.colorCurves.shadowsHue=t.shadowsHue??30,o.imageProcessing.colorCurves.shadowsDensity=t.shadowsDensity??0,o.imageProcessing.colorCurves.shadowsExposure=t.shadowsExposure??0,o.imageProcessing.colorCurves.shadowsSaturation=t.shadowsSaturation??0)}return o.bloomEnabled=t.bloomEnabled,o.bloomThreshold=t.bloomThreshold,o.bloomWeight=t.bloomWeight,o.bloomScale=t.bloomScale,o.bloomKernel=t.bloomKernel,o.sharpenEnabled=t.sharpenEnabled,o.sharpen.edgeAmount=t.sharpenEdgeAmount,o.sharpen.colorAmount=t.sharpenColorAmount,o.grainEnabled=t.grainEnabled,o.grain.intensity=t.grainIntensity,o.grain.animated=t.grainAnimated,o.depthOfFieldEnabled=t.depthOfFieldEnabled,o.depthOfFieldBlurLevel=t.depthOfFieldBlurLevel,o.depthOfField.lensSize=t.lensSize,o.depthOfField.fStop=t.fStop,o.depthOfField.focusDistance=t.focusDistance,o.depthOfField.focalLength=t.focalLength,o.chromaticAberrationEnabled=t.chromaticAberrationEnabled??!1,o.chromaticAberration.aberrationAmount=t.aberrationAmount??10,o.chromaticAberration.radialIntensity=t.radialIntensity??1,o.chromaticAberration.direction=Re.Vector2.FromArray(t.direction??[0,0]),o.chromaticAberration.centerPosition=Re.Vector2.FromArray(t.centerPosition??[0,0]),o.glowLayerEnabled=t.glowLayerEnabled??!1,o.glowLayer&&(o.glowLayer.intensity=t.glowLayerIntensity??1,o.glowLayer.blurKernelSize=t.glowLayerBlurKernelSize??32),o}i(_e,"parseDefaultRenderingPipeline");function Uo(e){k.set(e,Ee()),B.set(e,Pe()),K.set(e,Ce()),z.set(e,Me()),$.set(e,Fe())}i(Uo,"saveRenderingConfigurationForCamera");function gt(e,r){ve(),be(e.getScene()),Ie(),De(),Ne();let t=k.get(e);t&&Te(e.getScene(),e,t);let n=B.get(e);n&&Ae(e.getScene(),n);let o=K.get(e);o&&xe(e.getScene(),e,o);let a=z.get(e);a&&we(e.getScene(),e,a);let s=$.get(e);s&&_e(e.getScene(),e,s,r)}i(gt,"applyRenderingConfigurationForCamera");var j=require("babylonjs"),dt=require("babylonjs");function yt(e){let r=e.metadata?.physicsAggregate;if(!r)return;let t;O(e)?t=e:Q(e)&&(t=e.sourceMesh);let n=new dt.PhysicsAggregate(e,r.shape.type,{mesh:t,mass:r.massProperties.mass});n.body.setMassProperties({mass:r.massProperties.mass,inertia:r.massProperties.inertia?j.Vector3.FromArray(r.massProperties.inertia):void 0,centerOfMass:r.massProperties.centerOfMass?j.Vector3.FromArray(r.massProperties.centerOfMass):void 0,inertiaOrientation:r.massProperties.inertiaOrientation?j.Quaternion.FromArray(r.massProperties.inertiaOrientation):void 0}),n.shape.density=r.shape.density,n.body.setMotionType(r.body.motionType),n.shape.material=r.material,e.physicsAggregate=n,e.metadata.physicsAggregate=void 0}i(yt,"configurePhysicsAggregate");function St(e,r){(Array.isArray(r)?r:[]).forEach(n=>{let o=e.getCameraById(n.cameraId);o&&(n.ssao2RenderingPipeline&&k.set(o,n.ssao2RenderingPipeline),n.vlsPostProcess&&B.set(o,n.vlsPostProcess),n.ssrRenderingPipeline&&K.set(o,n.ssrRenderingPipeline),n.motionBlurPostProcess&&z.set(o,n.motionBlurPostProcess),n.defaultRenderingPipeline&&$.set(o,n.defaultRenderingPipeline))})}i(St,"applyRenderingConfigurations");function ie(e,r){let t=r.soundTracks??[];t.length||t.push(r.mainSoundTrack);for(let n=0,o=t.length;n<o;n++){let a=t[n].soundCollection.find(s=>s.id===e);if(a)return a}return null}i(ie,"getSoundById");function Le(e){return e&&JSON.parse(JSON.stringify(e))}i(Le,"cloneJSObject");var Ve=require("babylonjs"),U=class{static{i(this,"AdvancedAssetContainer")}container;_rootUrl;_scriptsMap;_originalDescendants=[];_nodesMap=new Map;_animationGroupsMap=new Map;constructor(r,t,n){this.container=r,this._rootUrl=t,this._scriptsMap=n,r.populateRootNodes(),r.rootNodes.forEach(o=>{this._originalDescendants.push(o,...o.getDescendants(!1))}),this._originalDescendants.forEach(o=>{this._nodesMap.set(o,{node:o,metadata:Le(o.metadata)})}),r.animationGroups.forEach(o=>{this._animationGroupsMap.set(o.name,o)})}removeDefault(){this.container.removeAllFromScene()}instantiate(r){let t=Ve.Tools.RandomId(),n=i(s=>`${s}-${t}`,"nameFunction"),o=this.container.instantiateModelsToScene(n,!1,r),a=[];return o.rootNodes.forEach(s=>{a.push(s,...s.getDescendants(!1))}),a.forEach((s,p)=>{let c=this._originalDescendants[p],m=c.id;s.id=Ve.Tools.RandomId(),s.metadata=Le(this._nodesMap.get(c).metadata),a.forEach(f=>{f.metadata.scripts?.forEach(g=>{Object.keys(g.values||{}).forEach(u=>{let d=g.values[u];if(d.type==="entity"){d.value===m&&(d.value=s.id),d.value===c.name&&(d.value=s.name);let S=this._animationGroupsMap.get(d.value);S&&(d.value=n(S.name))}})})})}),a.forEach(s=>{D(this.container.scene,s,this._scriptsMap,this._rootUrl)}),o}};var ht=require("babylonjs"),bt=require("babylonjs");async function Pt(e,r,t){let o=e.split("/").pop().replace(".scene",".babylon"),a=await(0,ht.LoadAssetContainerAsync)(o,t,{rootUrl:r,pluginExtension:".babylon"});return bt.SceneLoaderFlags.ForceFullSceneLoadingForIncremental&&t.meshes.forEach(s=>O(s)&&s._checkDelayState()),a.addAllToScene(),a}i(Pt,"preloadSceneScriptAsset");async function At(e,r){return await(await fetch(`${r}${e}`)).json()}i(At,"preloadCommonScriptAsset");var N=new Map,J=new Map;function Mr(e,r){J.has(e)&&console.warn(`A parser for the extension '${e}' was already registered. It will be overwritten.`),J.set(e,r)}i(Mr,"registerScriptAssetParser");async function Ge(e,r,t){[r,...r.transformNodes,...r.meshes,...r.lights,...r.cameras].filter(s=>s.metadata?.scripts?.length).map(s=>s.metadata.scripts).flat().forEach(s=>{if(s.values)for(let p in s.values){if(!s.values.hasOwnProperty(p))continue;let c=s.values[p];c.type==="asset"&&c.value&&N.set(c.value,null)}});let a=[];N.forEach((s,p)=>{N.get(p)||a.push(new Promise(async c=>{try{let m=p.split(".").pop();switch(m){case"scene":N.set(p,new U(await Pt(p,e,r),e,t));break;default:if(J.has(m)){let f=J.get(m);N.set(p,await f({key:p,rootUrl:e,scene:r}));break}else N.set(p,await At(p,e));break}}catch(m){console.error(m)}c()}))}),await Promise.all(a)}i(Ge,"_preloadScriptsAssets");var It=require("babylonjs"),se=require("babylonjs"),Ct=require("babylonjs"),ae=require("babylonjs"),xt=require("babylonjs"),vt=require("babylonjs-gui");function Be(e,r,t,n,o){let a=n.constructor;if(!a)return;a._NodesFromScene?.forEach(c=>{n[c.propertyKey.toString()]=e.getNodeByName(c.nodeName)}),a._NodesFromDescendants?.forEach(c=>{let m=r.getDescendants?.(c.directDescendantsOnly,f=>f.name===c.nodeName)[0];n[c.propertyKey.toString()]=m??null}),a._AnimationGroups?.forEach(c=>{n[c.propertyKey.toString()]=e.getAnimationGroupByName(c.animationGroupName)}),a._SoundsFromScene?.forEach(c=>{let m=e.getSoundByName?.(c.soundName);n[c.propertyKey.toString()]=m??null}),(a._GuiFromAsset??[]).map(async c=>{let m=`${o}assets/${c.pathInAssets}`;try{let g=await(await fetch(m)).json(),P=vt.AdvancedDynamicTexture.CreateFullscreenUI(g.name,!0,e);P.parseSerializedObject(g.content,!1),n[c.propertyKey.toString()]=P,c.onGuiCreated?.(n,P)}catch(f){throw console.error(`Failed to load GUI from asset: ${m}`),f}}),a._ParticleSystemsFromScene?.forEach(c=>{let m=e.particleSystems?.find(f=>f.name!==c.particleSystemName?!1:c.directDescendantsOnly?f.emitter===r:f);n[c.propertyKey.toString()]=m}),(a._VisibleInInspector??[]).forEach(async c=>{let m=c.propertyKey.toString(),f=t.values;if(!f)throw new Error(`No values found for script with key "${t.key}".`);if(f.hasOwnProperty(m)&&f[m].hasOwnProperty("value")){let g=f[m].value;switch(c.configuration.type){case"number":case"boolean":case"keymap":case"string":n[m]=g;break;case"vector2":n[m]=ae.Vector2.FromArray(g);break;case"vector3":n[m]=ae.Vector3.FromArray(g);break;case"color3":n[m]=se.Color3.FromArray(g);break;case"color4":n[m]=se.Color4.FromArray(g);break;case"entity":switch(c.configuration.entityType){case"node":n[m]=e.getNodeById(g)??null;break;case"animationGroup":n[m]=e.getAnimationGroupByName(g)??null;break;case"sound":n[m]=ie(g,e);break;case"particleSystem":n[m]=e.particleSystems?.find(u=>u.id===g)??null;break}break;case"texture":g&&(n[m]=Ct.Texture.Parse(g,e,o));break;case"asset":if(g){let u=c.configuration.assetType,d=N.get(g);switch(u){case"json":case"scene":case"navmesh":n[m]=d;break;case"nodeParticleSystemSet":let S=xt.NodeParticleSystemSet.Parse(d);n[m]=S;break;case"material":n[m]=It.Material.Parse(d,e,o);break}}}}});let s=null,p=null;if(a._PointerEvents?.length){if(a._PointerEvents.find(f=>f.options.mode==="attachedMeshOnly")&&!re(r))throw new Error('@onPointerEvent with mode "attachedMeshOnly" can only be used on scripts attached to meshes (extends AbstractMesh).');if(a._PointerEvents.find(f=>f.options.mode!=="global")&&!G(r))throw new Error('@onPointerEvent with mode different from "global" can be used only on scripts attached to Node: Mesh, Light, Camera, TransformNode.');s=e.onPointerObservable.add(f=>{let g=null;a._PointerEvents.forEach(P=>{if(!P.eventTypes.includes(f.type))return;let u=P.propertyKey.toString();if(P.options.mode==="global")return n[u]?.(f);g=f.pickInfo,g||(g=e.pick(e.pointerX,e.pointerY,S=>S.isVisible&&S.isPickable&&S.isEnabled(!0)&&!S._masterMesh,!1));let d=g.pickedMesh;if(d&&(P.options.mode==="attachedMeshOnly"&&d===r||P.options.mode==="includeDescendants"&&G(r)&&[r,...r.getDescendants(!1)].find(I=>I===d)))return n[u]?.(f)})})}if(a._KeyboardEvents?.length&&(p=e.onKeyboardObservable.add(c=>{a._KeyboardEvents.forEach(m=>{m.eventTypes.includes(c.type)&&n[m.propertyKey.toString()]?.(c)})})),a._SpritesFromSpriteManager?.length){let c=r;if(!ne(c)||!c.isSpriteManager)return console.error("@spriteFromSpriteManager decorator can only be used on SpriteManagerNode.");if(!c.spriteManager)return console.error(`SpriteManagerNode "${c.name}" has no sprite manager assigned.`);a._SpritesFromSpriteManager?.forEach(m=>{let f=c.spriteManager?.sprites.find(g=>g.name===m.spriteName)||null;n[m.propertyKey.toString()]=f})}if(a._AnimationsFromSprite?.length){if(!ye(r))return console.error("@animationFromSprite decorator can only be used in scripts attached on Sprite.");let c=r.metadata?.spriteAnimations;if(!c?.length)return console.error(`Sprite "${r.name}" has no sprite animations assigned.`);a._AnimationsFromSprite.forEach(m=>{let f=c.find(g=>g.name===m.animationName);f?n[m.propertyKey.toString()]=f??null:console.warn(`Sprite animation named "${m.animationName}" not found on sprite "${r.name}".`)})}return{observers:{pointerObserver:s,keyboardObserver:p}}}i(Be,"applyDecorators");function D(e,r,t,n){r.metadata?.scripts&&(r.metadata.scripts?.forEach(o=>{if(!o.enabled)return;let a=t[o.key];if(!a)return;let s=a,p={};if(a.default){s=new a.default(r);let c=Be(e,r,o,s,n);Object.assign(p,c?.observers??{})}s.onStart&&(p.onStartObserver=e.onBeforeRenderObservable.addOnce(()=>s.onStart(r))),s.onUpdate&&(p.onUpdateObserver=e.onBeforeRenderObservable.add(()=>s.onUpdate(r))),Ke(r,s,o.key,p)}),r.metadata.scripts=void 0)}i(D,"_applyScriptsForObject");function wr(e,r,t){if(t??=e.getScene?.(),!t)throw new Error("Cannot apply script on object: no scene available.");let n=new r(e),o={};return Be(t,e,{values:{}},n,""),n.onStart&&(o.onStartObserver=t.onBeforeRenderObservable.addOnce(()=>n.onStart())),n.onUpdate&&t.onBeforeRenderObservable.add(()=>n.onUpdate()),Ke(e,n,"runtime",o),n}i(wr,"applyScriptOnObject");var L=new Map;function Ke(e,r,t,n){let o={key:t,observers:n,instance:r};L.has(e)?L.get(e).push(o):L.set(e,[o]),(G(e)||de(e)||ge(e))&&e.onDisposeObservable.addOnce(()=>{L.get(e)?.slice()?.forEach(s=>{Et(e,s)}),L.delete(e)})}i(Ke,"_registerScriptInstance");function Et(e,r){r.observers.onStartObserver?.remove(),r.observers.onUpdateObserver?.remove(),r.observers.pointerObserver?.remove(),r.observers.keyboardObserver?.remove();try{r.instance.onStop?.(e)}catch(o){console.error(`Failed to call onStop for script ${r.key} on object ${e}`,o)}let t=L.get(e),n=t?.indexOf(r)??-1;n!==-1&&t?.splice(n,1)}i(Et,"_removeRegisteredScriptInstance");function Tt(e,r){return L.get(e)?.filter(o=>o.instance.constructor===r)?.map(o=>o.instance)??null}i(Tt,"getAllScriptsByClassForObject");function Rr(e,r){return Tt(e,r)?.[0]??null}i(Rr,"getScriptByClassForObject");var Dt=require("babylonjs"),le=require("babylonjs"),Ot=!1;function Mt(){if(Ot)return;Ot=!0;let e=(0,le.GetParser)(Dt.SceneComponentConstants.NAME_AUDIO);(0,le.AddParser)("AudioEditorPlugin",(r,t,n,o)=>{e?.(r,t,n,o),r.sounds?.forEach(a=>{let s=n.sounds?.find(p=>p.name===a.name);s&&(s.id=a.id,s.uniqueId=a.uniqueId)})})}i(Mt,"registerAudioParser");function M(e){let r=1;for(;r<=e;)r<<=1;return r>>1}i(M,"getPowerOfTwoUntil");var ke=require("babylonjs"),wt=!1;function Rt(){if(wt)return;wt=!0;let e=ke.SerializationHelper._TextureParser;ke.SerializationHelper._TextureParser=(r,t,n)=>{if(t.loadingTexturesQuality==="high"||!r.metadata?.baseSize)return e(r,t,n);let o=r.metadata.baseSize.width,a=r.metadata.baseSize.height,s=o===M(o)||a===M(a),p="";switch(t.loadingTexturesQuality){case"medium":let d=o*.66>>0,S=a*.66>>0;s&&(d=M(d),S=M(S)),p=`_${d}_${S}`;break;case"low":case"very-low":let h=o*.33>>0,I=a*.33>>0;s&&(h=M(h),I=M(I)),p=`_${h}_${I}`;break}let c=r.name;if(!c||!p)return e(r,t,n);let m=c.split("/"),f=m.pop();if(!f)return e(r,t,n);let g=f.split(".").pop(),u=`${f.replace(`.${g}`,"")}${p}.${g}`;return m.push(u),r.name=m.join("/"),e(r,t,n)}}i(Rt,"registerTextureParser");var Ft=require("babylonjs"),ce=require("babylonjs"),Nt=!1;function _t(){if(Nt)return;Nt=!0;let e=(0,ce.GetParser)(Ft.SceneComponentConstants.NAME_SHADOWGENERATOR);(0,ce.AddParser)("ShadowGeneratorEditorPlugin",(r,t,n,o)=>{t.loadingShadowsQuality!=="high"&&r.shadowGenerators?.forEach(a=>{switch(t.loadingShadowsQuality){case"medium":a.mapSize=a.mapSize*.5;break;case"low":a.mapSize=a.mapSize*.25;break;case"very-low":a.mapSize=a.mapSize*.125;break}a.mapSize=Math.max(128,M(a.mapSize))}),e?.(r,t,n,o)})}i(_t,"registerShadowGeneratorParser");function ze(e){if(!Array.isArray(e.frames)){let r=[];for(let t of Object.keys(e.frames))r.push({filename:t,...e.frames[t]});e.frames=r}}i(ze,"normalizeAtlasJson");function Nr(e,r,t){let o=(e.metadata?.spriteAnimations??[]).find(a=>a.name===r);if(!o)return console.error(`Animation with name "${r}" not found on sprite.`);e.playAnimation(o.from,o.to,o.loop,o.delay,t)}i(Nr,"playSpriteAnimationFromName");var Vt=require("babylonjs"),Gt=require("babylonjs"),Bt=require("babylonjs"),Kt=require("babylonjs"),$e=require("babylonjs"),Y=require("babylonjs"),kt=require("babylonjs"),Lt=!1;function zt(){Lt||(Lt=!0,(0,kt.AddParser)("SpriteMapNode",(e,r,t,n)=>{e.transformNodes?.forEach(o=>{if(!o.isSpriteMap)return;let a=t.transformNodes?.find(c=>c.id===o.id);if(!a)return;a.isSpriteMap=o.isSpriteMap;let s=`${n}${o.atlasJsonRelativePath}`;r.addPendingData(s);let p=new Bt.WebRequest;p.open("GET",s),p.send(),p.addEventListener("load",()=>{r.removePendingData(s);let c=JSON.parse(p.responseText);ze(c);let m=`${Vt.Tools.GetFolderPath(s)}${c.meta.image}`,f=new $e.Texture(m,r,!1,!1,$e.Texture.NEAREST_NEAREST,null,null,null,!1,Gt.Engine.TEXTUREFORMAT_RGBA),g=new Kt.SpriteMap(a.name,c,f,{layerCount:o.options.layerCount,stageSize:Y.Vector2.FromArray(o.options.stageSize??[10,1]),outputSize:Y.Vector2.FromArray(o.options.outputSize??[100,100]),colorMultiply:Y.Vector3.FromArray(o.options.colorMultiply??[1,1,1]),flipU:!0},r);o.tiles.forEach(u=>{for(let d=0,S=u.repeatCount.x+1;d<S;++d)for(let h=0,I=u.repeatCount.y+1;h<I;++h){let T=d*(u.repeatOffset.x+1),x=h*(u.repeatOffset.y+1);g.changeTiles(u.layer,new Y.Vector2(u.position.x+T,(g.options.stageSize?.y??0)-1-u.position.y-x),u.tile)}});let P=g._output;P.parent=a,a.spriteMap=g})})}))}i(zt,"registerSpriteMapParser");var Wt=require("babylonjs"),Qt=require("babylonjs"),Ht=require("babylonjs"),Ye=require("babylonjs"),jt=require("babylonjs");function $t(e,r){r?.fogEnabled!==void 0&&(e.fogEnabled=r?.fogEnabled),r?.blendMode!==void 0&&(e.blendMode=r?.blendMode),r?.disableDepthWrite!==void 0&&(e.disableDepthWrite=r?.disableDepthWrite),r?.pixelPerfect!==void 0&&(e.pixelPerfect=r?.pixelPerfect),r?.useLogarithmicDepth!==void 0&&(e.useLogarithmicDepth=r?.useLogarithmicDepth),r?.metadata!==void 0&&(e.metadata=r?.metadata);for(let t of r?.sprites??[]){let n=Qt.Sprite.Parse(t,e);n.uniqueId=t.uniqueId,n.metadata=t.metadata}}i($t,"parseSerializedSpriteManager");var Yt=!1;function Ut(){Yt||(Yt=!0,(0,jt.AddParser)("SpriteManagerNode",(e,r,t,n)=>{e.transformNodes?.forEach(o=>{if(!o.isSpriteManager)return;let a=t.transformNodes?.find(s=>s.id===o.id);if(a){if(a.isSpriteManager=o.isSpriteManager,o.atlasJsonRelativePath){let s=`${n}${o.atlasJsonRelativePath}`;r.addPendingData(s);let p=new Ht.WebRequest;p.open("GET",s),p.send(),p.addEventListener("load",()=>{r.removePendingData(s);let c=JSON.parse(p.responseText),m=`${Wt.Tools.GetFolderPath(s)}${c.meta.image}`,f=new Ye.SpriteManager(a.name,m,1e3,64,r,void 0,void 0,!0,c);a.spriteManager=f,o.spriteManager&&$t(f,o.spriteManager)})}else if(o.spriteManager?.textureUrl){let s=`${n}${o.spriteManager.textureUrl}`,p=new Ye.SpriteManager(a.name,s,1e3,{width:o.spriteManager.cellWidth,height:o.spriteManager.cellHeight},r,void 0,void 0,!1);a.spriteManager=p,o.spriteManager&&$t(p,o.spriteManager)}}})}))}i(Ut,"registerSpriteManagerParser");var Jt=require("babylonjs"),We=require("babylonjs"),qt=require("babylonjs"),Zt=require("babylonjs");async function Fr(e,r,t,n,o){t.loadingQuality=o?.quality??"high",t.loadingTexturesQuality=o?.texturesQuality??t.loadingQuality,t.loadingShadowsQuality=o?.shadowsQuality??t.loadingQuality,Mt(),Rt(),_t(),zt(),Ut(),await(0,qt.AppendSceneAsync)(`${e}${r}`,t,{pluginExtension:".babylon",onProgress:i(s=>{let p=Math.min(s.loaded/s.total*.5);o?.onProgress?.(p)},"onProgress")}),Zt.SceneLoaderFlags.ForceFullSceneLoadingForIncremental&&t.meshes.forEach(s=>O(s)&&s._checkDelayState());let a=t.getWaitingItemsCount();for(;!t.isDisposed&&(!t.isReady()||t.getWaitingItemsCount()>0);){await new Promise(p=>setTimeout(p,150));let s=a-t.getWaitingItemsCount();s===a&&t.textures.forEach(p=>{p.delayLoadState===We.Constants.DELAYLOADSTATE_NONE&&(p.delayLoadState=We.Constants.DELAYLOADSTATE_LOADED)}),o?.onProgress?.(.5+s/a*.5)}o?.skipAssetsPreload||await Ge(e,t,n),o?.onProgress?.(1),Se(t),he(t),t.metadata?.rendering&&(St(t,t.metadata.rendering),t.activeCamera&>(t.activeCamera,e)),t.metadata?.physicsGravity&&t.getPhysicsEngine()?.setGravity(Jt.Vector3.FromArray(t.metadata?.physicsGravity)),D(t,t,n,e),t.transformNodes.forEach(s=>{D(t,s,n,e)}),t.meshes.forEach(s=>{yt(s),D(t,s,n,e)}),t.lights.forEach(s=>{D(t,s,n,e)}),t.cameras.forEach(s=>{D(t,s,n,e)}),t.spriteManagers?.forEach(s=>{s.sprites.forEach(p=>{D(t,p,n,e)})})}i(Fr,"loadScene");var Xt=require("babylonjs");async function _r(e,r,t){let o=await(await fetch(e+r)).json(),s=Xt.Tools.Instantiate(o.customType).Parse(o,t,e);return s.id=o.id,s.uniqueId=o.uniqueId,s}i(_r,"loadMaterialFromFile");function Lr(e){return Promise.all(e.materials.map(async r=>{let t=r.getBindedMeshes();await Promise.all(t.map(async n=>{Q(n)||await r.forceCompilationAsync(n,{clipPlane:!!e.clipPlane,useInstances:n.hasInstances})}))}))}i(Lr,"forceCompileAllSceneMaterials");function Vr(e){e.setTextureFormatToUse(["-dxt.ktx","-astc.ktx","-pvrtc.ktx","-etc1.ktx","-etc2.ktx"])}i(Vr,"configureEngineToUseCompressedTextures");var F=require("babylonjs");function q(e){if(!isNaN(parseFloat(e))&&isFinite(e))return F.Animation.ANIMATIONTYPE_FLOAT;switch(e?.getClassName?.()){case"Vector2":return F.Animation.ANIMATIONTYPE_VECTOR2;case"Vector3":return F.Animation.ANIMATIONTYPE_VECTOR3;case"Quaternion":return F.Animation.ANIMATIONTYPE_QUATERNION;case"Color3":return F.Animation.ANIMATIONTYPE_COLOR3;case"Color4":return F.Animation.ANIMATIONTYPE_COLOR4;case"Size":return F.Animation.ANIMATIONTYPE_SIZE;case"Matrix":return F.Animation.ANIMATIONTYPE_MATRIX}return null}i(q,"getAnimationTypeForObject");function Gr(e){return function(r,t){let n=r.constructor;n._NodesFromScene??=[],n._NodesFromScene.push({propertyKey:t,nodeName:e})}}i(Gr,"nodeFromScene");function Br(e,r=!1){return function(t,n){let o=t.constructor;o._NodesFromDescendants??=[],o._NodesFromDescendants.push({propertyKey:n,nodeName:e,directDescendantsOnly:r})}}i(Br,"nodeFromDescendants");function Kr(e){return function(r,t){let n=r.constructor;n._AnimationGroups??=[],n._AnimationGroups.push({animationGroupName:e,propertyKey:t})}}i(Kr,"animationGroupFromScene");function kr(e,r){return function(t,n){let o=t.constructor;o._GuiFromAsset??=[],o._GuiFromAsset.push({propertyKey:n,pathInAssets:e,onGuiCreated:r})}}i(kr,"guiFromAsset");function zr(e){return function(r,t){let n=r.constructor;n._SoundsFromScene??=[],n._SoundsFromScene.push({propertyKey:t,soundName:e})}}i(zr,"soundFromScene");function $r(e,r=!1){return function(t,n){let o=t.constructor;o._ParticleSystemsFromScene??=[],o._ParticleSystemsFromScene.push({propertyKey:n,particleSystemName:e,directDescendantsOnly:r})}}i($r,"particleSystemFromScene");function Yr(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"boolean"}})}}i(Yr,"visibleAsBoolean");function Wr(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"string"}})}}i(Wr,"visibleAsString");function Qr(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"number"}})}}i(Qr,"visibleAsNumber");function Hr(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"vector2"}})}}i(Hr,"visibleAsVector2");function jr(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"vector3"}})}}i(jr,"visibleAsVector3");function Ur(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"color3"}})}}i(Ur,"visibleAsColor3");function Jr(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"color4"}})}}i(Jr,"visibleAsColor4");function qr(e,r,t){return function(n,o){let a=n.constructor;a._VisibleInInspector??=[],a._VisibleInInspector.push({label:r,propertyKey:o,configuration:{...t,entityType:e,type:"entity"}})}}i(qr,"visibleAsEntity");function Zr(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"texture"}})}}i(Zr,"visibleAsTexture");function Xr(e,r){return function(t,n){let o=t.constructor;o._VisibleInInspector??=[],o._VisibleInInspector.push({label:e,propertyKey:n,configuration:{...r,type:"keymap"}})}}i(Xr,"visibleAsKeyMap");function en(e,r,t){return function(n,o){let a=n.constructor;a._VisibleInInspector??=[],a._VisibleInInspector.push({label:r,propertyKey:o,configuration:{...t,assetType:e,type:"asset"}})}}i(en,"visibleAsAsset");function tn(e,r){return function(t,n){let o=t.constructor;o._PointerEvents??=[],o._PointerEvents.push({propertyKey:n,options:{mode:"global",...r??{}},eventTypes:Array.isArray(e)?e:[e]})}}i(tn,"onPointerEvent");function rn(e){return function(r,t){let n=r.constructor;n._KeyboardEvents??=[],n._KeyboardEvents.push({propertyKey:t,eventTypes:Array.isArray(e)?e:[e]})}}i(rn,"onKeyboardEvent");function nn(e){return function(r,t){let n=r.constructor;n._SpritesFromSpriteManager??=[],n._SpritesFromSpriteManager.push({propertyKey:t,spriteName:e})}}i(nn,"spriteFromSpriteManager");function on(e){return function(r,t){let n=r.constructor;n._AnimationsFromSprite??=[],n._AnimationsFromSprite.push({propertyKey:t,animationName:e})}}i(on,"animationFromSprite");var pe=require("babylonjs");function sc(e,r){let t;switch(e){case pe.Animation.ANIMATIONTYPE_FLOAT:t=r.value;break;default:t=r.value.clone();break}return{value:t,frame:r.frame,interpolation:r.interpolation,inTangent:e===pe.Animation.ANIMATIONTYPE_FLOAT?r.inTangent:r.inTangent?.clone(),outTangent:e===pe.Animation.ANIMATIONTYPE_FLOAT?r.outTangent:r.outTangent?.clone()}}i(sc,"cloneKey");function me(e,r){let t=r.split("."),n=e;for(let o=0;o<t.length;++o)n=n[t[o]];return n}i(me,"getPropertyValue");function Qe(e,r,t){let n=null;e.onAnimationGroupPlayObservable.add(()=>{n=r.onAfterAnimationsObservable.add(()=>{t()})}),e.onAnimationGroupPauseObservable.add(()=>{n&&(r.onAfterAnimationsObservable.remove(n),n=null)}),e.onAnimationGroupEndObservable.add(()=>{n&&(r.onAfterAnimationsObservable.remove(n),n=null)})}i(Qe,"registerAfterAnimationCallback");var _=require("babylonjs"),ue=require("babylonjs"),R=require("babylonjs");function sn(e,r){return{name:e.name,framesPerSecond:e.framesPerSecond,outputFramesPerSecond:e.outputFramesPerSecond,tracks:e.tracks.map(t=>{let n=null,o=null;if(t.node?(n=r.getNodeById(t.node),n||(n=r.particleSystems?.find(s=>s.id===t.node)??null)):t.defaultRenderingPipeline&&(n=H()),t.propertyPath){let s=me(n,t.propertyPath);o=q(s)}let a=null;return t.sound&&(a=ie(t.sound,r)),{node:n,sound:a,propertyPath:t.propertyPath,defaultRenderingPipeline:t.defaultRenderingPipeline,animationGroup:t.animationGroup?r.getAnimationGroupByName(t.animationGroup):null,animationGroups:t.animationGroups,sounds:t.sounds,soundVolume:He(t.soundVolume??[],_.Animation.ANIMATIONTYPE_FLOAT),keyFrameEvents:t.keyFrameEvents?.map(s=>{let p={...s};switch(s.data?.type){case"set-enabled":p.data={type:"set-enabled",value:s.data.value,node:r.getNodeById(s.data.node)};break;case"apply-impulse":p.data={type:"apply-impulse",radius:s.data.radius,mesh:r.getMeshById(s.data.mesh),force:R.Vector3.FromArray(s.data.force),contactPoint:R.Vector3.FromArray(s.data.contactPoint)};break}return p}),keyFrameAnimations:n&&o!==null&&He(t.keyFrameAnimations??[],o)}})}}i(sn,"parseCinematic");function w(e,r){if(e===null)return null;if(e!==void 0)switch(r){case _.Animation.ANIMATIONTYPE_FLOAT:return e;case _.Animation.ANIMATIONTYPE_VECTOR2:return R.Vector2.FromArray(e);case _.Animation.ANIMATIONTYPE_VECTOR3:return R.Vector3.FromArray(e);case _.Animation.ANIMATIONTYPE_QUATERNION:return R.Quaternion.FromArray(e);case _.Animation.ANIMATIONTYPE_COLOR3:return ue.Color3.FromArray(e);case _.Animation.ANIMATIONTYPE_COLOR4:return ue.Color4.FromArray(e);case _.Animation.ANIMATIONTYPE_MATRIX:return R.Matrix.FromArray(e)}}i(w,"parseCinematicKeyValue");function He(e,r){return e?.map(t=>{let n=t.type==="key"?t:null;if(n)return{...n,value:w(n.value,r),inTangent:w(n.inTangent,r),outTangent:w(n.outTangent,r)};let o=t.type==="cut"?t:null;if(o)return{...o,key1:{...o.key1,value:w(o.key1.value,r),inTangent:w(o.key1.inTangent,r),outTangent:w(o.key1.outTangent,r)},key2:{...o.key2,value:w(o.key2.value,r),inTangent:w(o.key2.inTangent,r),outTangent:w(o.key2.outTangent,r)}};throw new Error(`Unknown key frame type: ${t.type}`)})}i(He,"parseKeyFrameAnimations");function er(e,r){e.onEventObservable.notifyObservers(r.eventName)}i(er,"handleApplyEvent");function tr(e){e.node?.setEnabled(e.value)}i(tr,"handleSetEnabledEvent");var je=require("babylonjs"),rr=je.Vector3.Zero();function nr(e,r){let t=r.mesh?[r.mesh]:e.meshes.filter(n=>n.physicsAggregate);r.radius&&(t=t.filter(n=>{let o=n.getBoundingInfo().boundingBox.centerWorld;return je.Vector3.Distance(o,r.contactPoint)<=r.radius})),t.forEach(n=>{if(n.physicsAggregate?.body){let o=r.contactPoint.subtract(n.getBoundingInfo().boundingBox.centerWorld);o.multiplyInPlace(r.force),n.physicsAggregate.body.setLinearVelocity(rr),n.physicsAggregate.body.setAngularVelocity(rr),n.physicsAggregate.body.applyImpulse(o.negateInPlace(),r.contactPoint)}})}i(nr,"handleApplyImpulseEvent");var or=require("babylonjs"),ir=require("babylonjs"),Z=class extends ir.AnimationGroup{static{i(this,"Cinematic")}onEventObservable=new or.Observable;onEvent(r,t){this.onEventObservable.add(n=>{r===n&&t()})}};function Ue(e){return e.type==="key"}i(Ue,"isCinematicKey");function X(e){return e.type==="cut"}i(X,"isCinematicKeyCut");function an(e){return e.type==="event"}i(an,"isCinematicKeyEvent");function ln(e){return e.type==="group"}i(ln,"isCinematicGroup");function cn(e){return e.type==="sound"}i(cn,"isCinematicSound");var A=require("babylonjs"),W=require("babylonjs");function pn(e,r,t){let n=new Z(e.name,r);return e.tracks.forEach(o=>{let a=o.animationGroup;if(a&&o.animationGroups?.length){let u=a.clone(`${a.name}-cinematic-temp`),d=r.animationGroups.indexOf(u);d!==-1&&r.animationGroups.splice(d,1),n.onAnimationEndObservable.add(()=>{a.stop(),u.stop()});let S=o.animationGroups.reduce((x,E)=>Math.min(x,E.frame),Number.MAX_VALUE)??0,h=o.animationGroups.reduce((x,E)=>Math.max(x,E.frame+E.endFrame),0)??0,I={frame:S},T=new A.Animation(u.name,"frame",60,A.Animation.ANIMATIONTYPE_FLOAT,A.Animation.ANIMATIONLOOPMODE_CYCLE,!1);if(T.setKeys([{frame:S,value:0},{frame:h,value:h}]),o.animationGroups.forEach(x=>{T.addEvent(new W.AnimationEvent(x.frame,()=>{let E=x.repeatCount??0;if(u.to=x.endFrame,u.speedRatio=x.speed,u.stop(),u.play(E>0),u.goToFrame(x.startFrame),E){let V=0;u.onAnimationGroupLoopObservable.add(()=>{++V,V>E&&u.stop()})}}))}),n.addTargetedAnimation(T,I),(o.animationGroupWeight?.length??0)>=2){let x={weight:0},E=new A.Animation(`${u.name}-weights`,"weight",60,A.Animation.ANIMATIONTYPE_FLOAT,A.Animation.ANIMATIONLOOPMODE_CYCLE,!1),V=[];o.animationGroupWeight.forEach(ee=>{X(ee)?(V.push(ee.key1),V.push(ee.key2)):V.push(ee)}),E.setKeys(V),n.addTargetedAnimation(E,x),Qe(n,r,()=>{u.weight=x.weight})}}let s=o.sound,p=s?.getAudioBuffer();if(!t?.ignoreSounds&&s&&p&&o.sounds?.length){let u={dummy:0,volume:0},d=new A.Animation(s.name,"dummy",60,A.Animation.ANIMATIONTYPE_FLOAT,A.Animation.ANIMATIONLOOPMODE_CYCLE,!1),S=0;if(o.sounds?.forEach(h=>{let I=h.endFrame-h.startFrame;S=Math.max(S,h.frame+I),d.addEvent(new W.AnimationEvent(h.frame,T=>{let E=(T-h.frame+h.startFrame)/e.framesPerSecond;s.play(0,E)},!1)),d.addEvent(new W.AnimationEvent(h.frame+I,()=>{s.stop()}))}),d.setKeys([{frame:0,value:0},{frame:S,value:S}]),n.addTargetedAnimation(d,u),(o.soundVolume?.length??0)>=2){let h=new A.Animation(s.name,"volume",60,A.Animation.ANIMATIONTYPE_FLOAT,A.Animation.ANIMATIONLOOPMODE_CYCLE,!1),I=[];o.soundVolume.forEach(T=>{X(T)?(I.push(T.key1),I.push(T.key2)):I.push(T)}),h.setKeys(I),n.addTargetedAnimation(h,u),Qe(n,r,()=>{s.setVolume(u.volume)})}}if(o.keyFrameEvents){let u={dummy:0},d=new A.Animation("events","dummy",60,A.Animation.ANIMATIONTYPE_FLOAT,A.Animation.ANIMATIONLOOPMODE_CYCLE,!1),S=0;o.keyFrameEvents?.forEach(h=>{S=Math.max(S,h.frame),d.addEvent(new W.AnimationEvent(h.frame,()=>{switch(h.data?.type){case"event":er(n,h.data);break;case"set-enabled":tr(h.data);break;case"apply-impulse":nr(r,h.data);break}}))}),d.setKeys([{frame:0,value:0},{frame:S+1,value:S+1}]),n.addTargetedAnimation(d,u)}let c=o.defaultRenderingPipeline?H():o.node;if(!c||!o.propertyPath||!o.keyFrameAnimations)return;let m=me(c,o.propertyPath),f=q(m);if(f===null)return;let g=new A.Animation(o.propertyPath,o.propertyPath,60,f,A.Animation.ANIMATIONLOOPMODE_CYCLE,!1),P=[];o.keyFrameAnimations?.forEach(u=>{if(Ue(u))return P.push(u);X(u)&&(P.push(u.key1),P.push(u.key2),oe(c)&&o.propertyPath==="position"&&g.addEvent(new W.AnimationEvent(u.key1.frame,()=>{let d=Oe();if(!d)return;let S=d.motionStrength;d.motionStrength=0,requestAnimationFrame(()=>{d.motionStrength=S})})))}),g.setKeys(P),n.addTargetedAnimation(g,c)}),n.normalize(),n}i(pn,"generateCinematicAnimationGroup");0&&(module.exports={AdvancedAssetContainer,Cinematic,_applyScriptsForObject,_preloadScriptsAssets,_registerScriptInstance,_removeRegisteredScriptInstance,animationFromSprite,animationGroupFromScene,applyScriptOnObject,configureEngineToUseCompressedTextures,configureShadowMapRefreshRate,configureShadowMapRenderListPredicate,createDefaultRenderingPipeline,createMotionBlurPostProcess,createSSAO2RenderingPipeline,createSSRRenderingPipeline,createVLSPostProcess,defaultPipelineCameraConfigurations,disposeDefaultRenderingPipeline,disposeMotionBlurPostProcess,disposeSSAO2RenderingPipeline,disposeSSRRenderingPipeline,disposeVLSPostProcess,forceCompileAllSceneMaterials,generateCinematicAnimationGroup,getAllScriptsByClassForObject,getAnimationTypeForObject,getDefaultRenderingPipeline,getMotionBlurPostProcess,getPowerOfTwoUntil,getSSAO2RenderingPipeline,getSSRRenderingPipeline,getScriptByClassForObject,getVLSPostProcess,guiFromAsset,isAbstractMesh,isAnyParticleSystem,isArcRotateCamera,isBone,isCamera,isCinematicGroup,isCinematicKey,isCinematicKeyCut,isCinematicKeyEvent,isCinematicSound,isDirectionalLight,isFreeCamera,isGPUParticleSystem,isGroundMesh,isHemisphericLight,isInstancedMesh,isLight,isMesh,isNode,isParticleSystem,isPointLight,isScene,isSpotLight,isSprite,isTexture,isTransformNode,loadMaterialFromFile,loadScene,motionBlurPostProcessCameraConfigurations,nodeFromDescendants,nodeFromScene,normalizeAtlasJson,onKeyboardEvent,onPointerEvent,parseCinematic,parseCinematicKeyValue,parseDefaultRenderingPipeline,parseKeyFrameAnimations,parseMotionBlurPostProcess,parseSSAO2RenderingPipeline,parseSSRRenderingPipeline,parseVLSPostProcess,particleSystemFromScene,playSpriteAnimationFromName,registerScriptAssetParser,scriptAssetsCache,scriptAssetsParsers,scriptsDictionary,serializeDefaultRenderingPipeline,serializeMotionBlurPostProcess,serializeSSAO2RenderingPipeline,serializeSSRRenderingPipeline,serializeVLSPostProcess,setDefaultRenderingPipelineRef,setMotionBlurPostProcessRef,setSSAO2RenderingPipelineRef,setSSRRenderingPipelineRef,setVLSPostProcessRef,soundFromScene,spriteFromSpriteManager,ssaoRenderingPipelineCameraConfigurations,ssrRenderingPipelineCameraConfigurations,visibleAsAsset,visibleAsBoolean,visibleAsColor3,visibleAsColor4,visibleAsEntity,visibleAsKeyMap,visibleAsNumber,visibleAsString,visibleAsTexture,visibleAsVector2,visibleAsVector3,vlsPostProcessCameraConfigurations});
|
|
@@ -6,7 +6,7 @@ import { NodeParticleSystemSet } from "@babylonjs/core/Particles/Node/nodePartic
|
|
|
6
6
|
import { AdvancedDynamicTexture } from "@babylonjs/gui/2D/advancedDynamicTexture";
|
|
7
7
|
import { getSoundById } from "../tools/sound";
|
|
8
8
|
import { isAbstractMesh, isNode, isSprite, isTransformNode } from "../tools/guards";
|
|
9
|
-
import { scriptAssetsCache } from "../loading/script";
|
|
9
|
+
import { scriptAssetsCache } from "../loading/script/preload";
|
|
10
10
|
export function applyDecorators(scene, object, script, instance, rootUrl) {
|
|
11
11
|
const ctor = instance.constructor;
|
|
12
12
|
if (!ctor) {
|
|
@@ -112,6 +112,8 @@ export function applyDecorators(scene, object, script, instance, rootUrl) {
|
|
|
112
112
|
const data = scriptAssetsCache.get(value);
|
|
113
113
|
switch (assetType) {
|
|
114
114
|
case "json":
|
|
115
|
+
case "scene":
|
|
116
|
+
case "navmesh":
|
|
115
117
|
instance[propertyKey] = data;
|
|
116
118
|
break;
|
|
117
119
|
case "nodeParticleSystemSet":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/decorators/apply.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAIlE,OAAO,EAAE,OAAO,EAAE,MAAM,4CAA4C,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAGrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAE7F,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAIlF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/decorators/apply.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAIlE,OAAO,EAAE,OAAO,EAAE,MAAM,4CAA4C,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAGrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAE7F,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAIlF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AA8E9D,MAAM,UAAU,eAAe,CAAC,KAAY,EAAE,MAAW,EAAE,MAAW,EAAE,QAAa,EAAE,OAAe;IACrG,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAkC,CAAC;IACzD,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,OAAO;IACR,CAAC;IAED,iBAAiB;IACjB,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACxC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,uBAAuB;IACvB,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC9C,MAAM,UAAU,GAAI,MAAwB,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACxI,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,IAAI,IAAI,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,uBAAuB;IACvB,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACzC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,uBAAuB,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACpG,CAAC,CAAC,CAAC;IAEH,kBAAkB;IAClB,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACzC,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACvD,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,gBAAgB;IAChB,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC/C,MAAM,MAAM,GAAG,GAAG,OAAO,UAAU,MAAM,CAAC,YAAY,EAAE,CAAC;QAEzD,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;YACrC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAEnC,MAAM,GAAG,GAAG,sBAAsB,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAC9E,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAE/C,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,GAAG,GAAG,CAAC;YAC9C,MAAM,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,kCAAkC,MAAM,EAAE,CAAC,CAAC;YAC1D,MAAM,CAAC,CAAC;QACT,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,uBAAuB;IACvB,IAAI,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAClD,MAAM,cAAc,GAAG,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,cAAkD,EAAE,EAAE;YACzG,IAAI,cAAc,CAAC,IAAI,KAAK,MAAM,CAAC,kBAAkB,EAAE,CAAC;gBACvD,OAAO,KAAK,CAAC;YACd,CAAC;YAED,OAAO,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC;QAC1F,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,GAAG,cAAc,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,2CAA2C;IAC3C,CAAC,IAAI,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACzD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAClD,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;QAEtC,IAAI,CAAC,eAAe,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,wCAAwC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,eAAe,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;YACzG,MAAM,KAAK,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;YAEjD,QAAQ,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;gBACnC,KAAK,QAAQ,CAAC;gBACd,KAAK,SAAS,CAAC;gBACf,KAAK,QAAQ,CAAC;gBACd,KAAK,QAAQ;oBACZ,QAAQ,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;oBAC9B,MAAM;gBAEP,KAAK,SAAS;oBACb,QAAQ,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACjD,MAAM;gBACP,KAAK,SAAS;oBACb,QAAQ,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACjD,MAAM;gBAEP,KAAK,QAAQ;oBACZ,QAAQ,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBAChD,MAAM;gBACP,KAAK,QAAQ;oBACZ,QAAQ,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBAChD,MAAM;gBAEP,KAAK,QAAQ;oBACZ,MAAM,UAAU,GAAI,MAAM,CAAC,aAAgE,CAAC,UAAU,CAAC;oBACvG,QAAQ,UAAU,EAAE,CAAC;wBACpB,KAAK,MAAM;4BACV,QAAQ,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;4BACzD,MAAM;wBACP,KAAK,gBAAgB;4BACpB,QAAQ,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;4BACrE,MAAM;wBACP,KAAK,OAAO;4BACX,QAAQ,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;4BACnD,MAAM;wBACP,KAAK,gBAAgB;4BACpB,QAAQ,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC;4BACrF,MAAM;oBACR,CAAC;oBACD,MAAM;gBAEP,KAAK,SAAS;oBACb,IAAI,KAAK,EAAE,CAAC;wBACX,QAAQ,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;oBAC9D,CAAC;oBACD,MAAM;gBAEP,KAAK,OAAO;oBACX,IAAI,KAAK,EAAE,CAAC;wBACX,MAAM,SAAS,GAAI,MAAM,CAAC,aAA6D,CAAC,SAAS,CAAC;wBAClG,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBAE1C,QAAQ,SAAS,EAAE,CAAC;4BACnB,KAAK,MAAM,CAAC;4BACZ,KAAK,OAAO,CAAC;4BACb,KAAK,SAAS;gCACb,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;gCAC7B,MAAM;4BAEP,KAAK,uBAAuB;gCAC3B,MAAM,IAAI,GAAG,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gCAC/C,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;gCAC7B,MAAM;4BAEP,KAAK,UAAU;gCACd,QAAQ,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;gCAC7D,MAAM;wBACR,CAAC;oBACF,CAAC;YACH,CAAC;QACF,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,IAAI,eAAe,GAAiC,IAAI,CAAC;IACzD,IAAI,gBAAgB,GAAkC,IAAI,CAAC;IAE3D,kBAAkB;IAClB,IAAI,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;QACjC,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC;QAC3G,IAAI,iBAAiB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,qHAAqH,CAAC,CAAC;QACxI,CAAC;QAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAClG,IAAI,kBAAkB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,qIAAqI,CAAC,CAAC;QACxJ,CAAC;QAED,eAAe,GAAG,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;YAC/D,IAAI,QAAQ,GAAuB,IAAI,CAAC;YAExC,IAAI,CAAC,cAAe,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBACvC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnD,OAAO;gBACR,CAAC;gBAED,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;gBAElD,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACtC,OAAO,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;gBAC7C,CAAC;gBAED,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;gBAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACf,QAAQ,GAAG,KAAK,CAAC,IAAI,CACpB,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,QAAQ,EACd,CAAC,CAAC,EAAE,EAAE;wBACL,OAAO,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;oBAC3E,CAAC,EACD,KAAK,CACL,CAAC;gBACH,CAAC;gBAED,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;gBACvC,IAAI,UAAU,EAAE,CAAC;oBAChB,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,kBAAkB,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;wBACzE,OAAO,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;oBAC7C,CAAC;oBAED,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,oBAAoB,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;wBACpE,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;wBAC9D,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC;wBACnE,IAAI,gBAAgB,EAAE,CAAC;4BACtB,OAAO,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;wBAC7C,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,mBAAmB;IACnB,IAAI,IAAI,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;QAClC,gBAAgB,GAAG,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;YAClE,IAAI,CAAC,eAAgB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBACxC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpD,OAAO;gBACR,CAAC;gBAED,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,2BAA2B;IAC3B,IAAI,IAAI,CAAC,yBAAyB,EAAE,MAAM,EAAE,CAAC;QAC5C,MAAM,iBAAiB,GAAG,MAA2B,CAAC;QAEtD,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,CAAC;YAC/E,OAAO,OAAO,CAAC,KAAK,CAAC,2EAA2E,CAAC,CAAC;QACnG,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;YACtC,OAAO,OAAO,CAAC,KAAK,CAAC,sBAAsB,iBAAiB,CAAC,IAAI,mCAAmC,CAAC,CAAC;QACvG,CAAC;QAED,IAAI,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAClD,MAAM,MAAM,GAAG,iBAAiB,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;YAC1G,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC;QAClD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,uBAAuB;IACvB,IAAI,IAAI,CAAC,qBAAqB,EAAE,MAAM,EAAE,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,OAAO,OAAO,CAAC,KAAK,CAAC,gFAAgF,CAAC,CAAC;QACxG,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,EAAE,gBAAsC,CAAC;QACjF,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;YAC/B,OAAO,OAAO,CAAC,KAAK,CAAC,WAAW,MAAM,CAAC,IAAI,sCAAsC,CAAC,CAAC;QACpF,CAAC;QAED,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC7C,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,aAAa,CAAC,CAAC;YAChF,IAAI,SAAS,EAAE,CAAC;gBACf,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,GAAG,SAAS,IAAI,IAAI,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACP,OAAO,CAAC,IAAI,CAAC,2BAA2B,MAAM,CAAC,aAAa,0BAA0B,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;YACxG,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO;QACN,SAAS,EAAE;YACV,eAAe;YACf,gBAAgB;SAChB;KACD,CAAC;AACH,CAAC"}
|
package/build/src/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export * from "./loading/loader";
|
|
2
2
|
export * from "./loading/material";
|
|
3
|
-
export * from "./loading/
|
|
3
|
+
export * from "./loading/container";
|
|
4
|
+
export * from "./loading/script/apply";
|
|
5
|
+
export * from "./loading/script/preload";
|
|
4
6
|
export * from "./tools/guards";
|
|
5
7
|
export * from "./tools/texture";
|
|
6
8
|
export * from "./tools/light";
|
package/build/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAEhC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,UAAU,CAAC;AAEzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { Tools } from "@babylonjs/core/Misc/tools";
|
|
2
|
+
import { cloneJSObject } from "../tools/tools";
|
|
3
|
+
import { _applyScriptsForObject } from "./script/apply";
|
|
4
|
+
export class AdvancedAssetContainer {
|
|
5
|
+
/**
|
|
6
|
+
* Defines the reference to the
|
|
7
|
+
*/
|
|
8
|
+
container;
|
|
9
|
+
_rootUrl;
|
|
10
|
+
_scriptsMap;
|
|
11
|
+
_originalDescendants = [];
|
|
12
|
+
_nodesMap = new Map();
|
|
13
|
+
_animationGroupsMap = new Map();
|
|
14
|
+
constructor(container, rootUrl, scriptsMap) {
|
|
15
|
+
this.container = container;
|
|
16
|
+
this._rootUrl = rootUrl;
|
|
17
|
+
this._scriptsMap = scriptsMap;
|
|
18
|
+
container.populateRootNodes();
|
|
19
|
+
container.rootNodes.forEach((node) => {
|
|
20
|
+
this._originalDescendants.push(node, ...node.getDescendants(false));
|
|
21
|
+
});
|
|
22
|
+
this._originalDescendants.forEach((node) => {
|
|
23
|
+
this._nodesMap.set(node, {
|
|
24
|
+
node,
|
|
25
|
+
metadata: cloneJSObject(node.metadata),
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
container.animationGroups.forEach((animationGroup) => {
|
|
29
|
+
this._animationGroupsMap.set(animationGroup.name, animationGroup);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
removeDefault() {
|
|
33
|
+
this.container.removeAllFromScene();
|
|
34
|
+
}
|
|
35
|
+
instantiate(options) {
|
|
36
|
+
const namingId = Tools.RandomId();
|
|
37
|
+
const nameFunction = (sourceName) => `${sourceName}-${namingId}`;
|
|
38
|
+
const entries = this.container.instantiateModelsToScene(nameFunction, false, options);
|
|
39
|
+
const newDescendants = [];
|
|
40
|
+
entries.rootNodes.forEach((node) => {
|
|
41
|
+
newDescendants.push(node, ...node.getDescendants(false));
|
|
42
|
+
});
|
|
43
|
+
newDescendants.forEach((newNode, index) => {
|
|
44
|
+
const originalNode = this._originalDescendants[index];
|
|
45
|
+
const originalId = originalNode.id;
|
|
46
|
+
newNode.id = Tools.RandomId();
|
|
47
|
+
newNode.metadata = cloneJSObject(this._nodesMap.get(originalNode).metadata);
|
|
48
|
+
newDescendants.forEach((node) => {
|
|
49
|
+
node.metadata.scripts?.forEach((script) => {
|
|
50
|
+
const valueKeys = Object.keys(script.values || {});
|
|
51
|
+
valueKeys.forEach((key) => {
|
|
52
|
+
const obj = script.values[key];
|
|
53
|
+
if (obj.type === "entity") {
|
|
54
|
+
if (obj.value === originalId) {
|
|
55
|
+
obj.value = newNode.id;
|
|
56
|
+
}
|
|
57
|
+
if (obj.value === originalNode.name) {
|
|
58
|
+
obj.value = newNode.name;
|
|
59
|
+
}
|
|
60
|
+
const originalAnimationGroup = this._animationGroupsMap.get(obj.value);
|
|
61
|
+
if (originalAnimationGroup) {
|
|
62
|
+
obj.value = nameFunction(originalAnimationGroup.name);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
newDescendants.forEach((node) => {
|
|
70
|
+
_applyScriptsForObject(this.container.scene, node, this._scriptsMap, this._rootUrl);
|
|
71
|
+
});
|
|
72
|
+
return entries;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=container.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container.js","sourceRoot":"","sources":["../../../src/loading/container.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,8 @@ import { configureShadowMapRefreshRate, configureShadowMapRenderListPredicate }
|
|
|
7
7
|
import { applyRenderingConfigurationForCamera } from "../rendering/tools";
|
|
8
8
|
import { configurePhysicsAggregate } from "./physics";
|
|
9
9
|
import { applyRenderingConfigurations } from "./rendering";
|
|
10
|
-
import { _applyScriptsForObject
|
|
10
|
+
import { _applyScriptsForObject } from "./script/apply";
|
|
11
|
+
import { _preloadScriptsAssets } from "./script/preload";
|
|
11
12
|
import { registerAudioParser } from "./sound";
|
|
12
13
|
import { registerTextureParser } from "./texture";
|
|
13
14
|
import { registerShadowGeneratorParser } from "./shadows";
|
|
@@ -47,7 +48,9 @@ export async function loadScene(rootUrl, sceneFilename, scene, scriptsMap, optio
|
|
|
47
48
|
}
|
|
48
49
|
options?.onProgress?.(0.5 + (loadedItemsCount / waitingItemsCount) * 0.5);
|
|
49
50
|
}
|
|
50
|
-
|
|
51
|
+
if (!options?.skipAssetsPreload) {
|
|
52
|
+
await _preloadScriptsAssets(rootUrl, scene, scriptsMap);
|
|
53
|
+
}
|
|
51
54
|
options?.onProgress?.(1);
|
|
52
55
|
configureShadowMapRenderListPredicate(scene);
|
|
53
56
|
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;
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/loading/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,51 +1,5 @@
|
|
|
1
|
-
import { applyDecorators } from "
|
|
2
|
-
import { isAnyParticleSystem, isNode, isScene } from "
|
|
3
|
-
/**
|
|
4
|
-
* Defines the cache of all
|
|
5
|
-
*/
|
|
6
|
-
export const scriptAssetsCache = new Map();
|
|
7
|
-
/**
|
|
8
|
-
* @internal
|
|
9
|
-
*/
|
|
10
|
-
export async function _preloadScriptsAssets(scene, rootUrl) {
|
|
11
|
-
const nodes = [scene, ...scene.transformNodes, ...scene.meshes, ...scene.lights, ...scene.cameras];
|
|
12
|
-
const scripts = nodes
|
|
13
|
-
.filter((node) => node.metadata?.scripts?.length)
|
|
14
|
-
.map((node) => node.metadata.scripts)
|
|
15
|
-
.flat();
|
|
16
|
-
scripts.forEach((script) => {
|
|
17
|
-
if (!script.values) {
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
for (const key in script.values) {
|
|
21
|
-
if (!script.values.hasOwnProperty(key)) {
|
|
22
|
-
continue;
|
|
23
|
-
}
|
|
24
|
-
const obj = script.values[key];
|
|
25
|
-
if (obj.type === "asset" && obj.value) {
|
|
26
|
-
scriptAssetsCache.set(obj.value, null);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
const promises = [];
|
|
31
|
-
scriptAssetsCache.forEach((_, key) => {
|
|
32
|
-
if (scriptAssetsCache.get(key)) {
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
promises.push(new Promise(async (resolve) => {
|
|
36
|
-
try {
|
|
37
|
-
const response = await fetch(`${rootUrl}${key}`);
|
|
38
|
-
const data = await response.json();
|
|
39
|
-
scriptAssetsCache.set(key, data);
|
|
40
|
-
}
|
|
41
|
-
catch (e) {
|
|
42
|
-
console.error(e);
|
|
43
|
-
}
|
|
44
|
-
resolve();
|
|
45
|
-
}));
|
|
46
|
-
});
|
|
47
|
-
await Promise.all(promises);
|
|
48
|
-
}
|
|
1
|
+
import { applyDecorators } from "../../decorators/apply";
|
|
2
|
+
import { isAnyParticleSystem, isNode, isScene } from "../../tools/guards";
|
|
49
3
|
/**
|
|
50
4
|
* @internal
|
|
51
5
|
*/
|
|
@@ -53,7 +7,7 @@ export function _applyScriptsForObject(scene, object, scriptsMap, rootUrl) {
|
|
|
53
7
|
if (!object.metadata?.scripts) {
|
|
54
8
|
return;
|
|
55
9
|
}
|
|
56
|
-
object.metadata.scripts?.forEach(
|
|
10
|
+
object.metadata.scripts?.forEach((script) => {
|
|
57
11
|
if (!script.enabled) {
|
|
58
12
|
return;
|
|
59
13
|
}
|
|
@@ -128,7 +82,8 @@ export function _registerScriptInstance(object, scriptInstance, key, observers)
|
|
|
128
82
|
}
|
|
129
83
|
if (isNode(object) || isAnyParticleSystem(object) || isScene(object)) {
|
|
130
84
|
object.onDisposeObservable.addOnce((() => {
|
|
131
|
-
scriptsDictionary.get(object)?.
|
|
85
|
+
const scripts = scriptsDictionary.get(object)?.slice();
|
|
86
|
+
scripts?.forEach((s) => {
|
|
132
87
|
_removeRegisteredScriptInstance(object, s);
|
|
133
88
|
});
|
|
134
89
|
scriptsDictionary.delete(object);
|
|
@@ -209,4 +164,4 @@ export function getScriptByClassForObject(object, classType) {
|
|
|
209
164
|
const result = getAllScriptsByClassForObject(object, classType);
|
|
210
165
|
return result?.[0] ?? null;
|
|
211
166
|
}
|
|
212
|
-
//# sourceMappingURL=
|
|
167
|
+
//# sourceMappingURL=apply.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../../src/loading/script/apply.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAI1E;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAY,EAAE,MAAW,EAAE,UAAqB,EAAE,OAAe;IACvG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;QAC/B,OAAO;IACR,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC3C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO;QACR,CAAC;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO;QACR,CAAC;QAED,IAAI,MAAM,GAAG,OAAO,CAAC;QAErB,MAAM,SAAS,GAA+B,EAAE,CAAC;QAEjD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAErC,MAAM,gBAAgB,GAAG,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACjF,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,gBAAgB,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,SAAS,CAAC,eAAe,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACnG,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACrB,SAAS,CAAC,gBAAgB,GAAG,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,QAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACjG,CAAC;QAED,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,SAAS,CAAC;AACrC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAW,EAAE,iBAA4C,EAAE,KAAa;IAC3G,KAAK,KAAK,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,SAAS,GAA+B,EAAE,CAAC;IAEjD,MAAM,MAAM,GAAG;QACd,MAAM,EAAE,EAAE;KACV,CAAC;IAEF,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;IAErD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtB,SAAS,CAAC,eAAe,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAQ,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACvB,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAS,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,uBAAuB,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAEhE,OAAO,QAAQ,CAAC;AACjB,CAAC;AAwBD,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAuD,CAAC;AAEhG;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAW,EAAE,cAAuB,EAAE,GAAW,EAAE,SAAqC;IAC/H,MAAM,gBAAgB,GAAG;QACxB,GAAG;QACH,SAAS;QACT,QAAQ,EAAE,cAAc;KACH,CAAC;IAEvB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACpC,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACP,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,mBAAmB,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACtE,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE;YACxC,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;YACvD,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACtB,+BAA+B,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;YAEH,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC,CAAQ,CAAC,CAAC;IACZ,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,+BAA+B,CAAC,MAAW,EAAE,gBAAmC;IAC/F,gBAAgB,CAAC,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;IACrD,gBAAgB,CAAC,SAAS,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAEtD,gBAAgB,CAAC,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;IACrD,gBAAgB,CAAC,SAAS,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAEtD,IAAI,CAAC;QACJ,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,oCAAoC,gBAAgB,CAAC,GAAG,cAAc,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;IAClG,CAAC;IAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,cAAc,EAAE,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAClC,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,6BAA6B,CAAsC,MAAW,EAAE,SAAY;IAC3G,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC;IAEzE,OAAQ,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAuB,IAAI,IAAI,CAAC;AACtE,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,yBAAyB,CAAsC,MAAW,EAAE,SAAY;IACvG,MAAM,MAAM,GAAG,6BAA6B,CAAI,MAAM,EAAE,SAAS,CAAC,CAAC;IACnE,OAAQ,MAAM,EAAE,CAAC,CAAC,CAAqB,IAAI,IAAI,CAAC;AACjD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../../src/loading/script/preload/common.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,GAAW,EAAE,OAAe;IAC1E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAEnC,OAAO,IAAI,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Vector3 } from "@babylonjs/core/Maths/math.vector";
|
|
2
|
+
import { CreateNavigationPluginAsync } from "@babylonjs/addons";
|
|
3
|
+
import { registerScriptAssetParser } from "../../preload";
|
|
4
|
+
export async function preloadNavMeshScriptAsset(parameters) {
|
|
5
|
+
const [configResponse, navmeshResponse, tilesResponse] = await Promise.all([
|
|
6
|
+
fetch(`${parameters.rootUrl}${parameters.key}/config.json`),
|
|
7
|
+
fetch(`${parameters.rootUrl}${parameters.key}/navmesh.bin`),
|
|
8
|
+
fetch(`${parameters.rootUrl}${parameters.key}/tilecache.bin`),
|
|
9
|
+
]);
|
|
10
|
+
const [config, navmeshData, tilesData] = await Promise.all([configResponse.json(), navmeshResponse.arrayBuffer(), tilesResponse.arrayBuffer()]);
|
|
11
|
+
const [recastCore, recastGenerators] = await Promise.all([import("@recast-navigation/core"), import("@recast-navigation/generators")]);
|
|
12
|
+
const recast = await CreateNavigationPluginAsync({
|
|
13
|
+
instance: {
|
|
14
|
+
...recastCore,
|
|
15
|
+
...recastGenerators,
|
|
16
|
+
},
|
|
17
|
+
});
|
|
18
|
+
recast.buildFromNavmeshData(new Uint8Array(navmeshData));
|
|
19
|
+
recast.buildFromTileCacheData(new Uint8Array(tilesData));
|
|
20
|
+
config.obstacleMeshes.forEach((obstacle) => {
|
|
21
|
+
switch (obstacle.type) {
|
|
22
|
+
case "box":
|
|
23
|
+
recast.addBoxObstacle(Vector3.FromArray(obstacle.position), Vector3.FromArray(obstacle.extent), obstacle.angle);
|
|
24
|
+
break;
|
|
25
|
+
case "cylinder":
|
|
26
|
+
recast.addCylinderObstacle(Vector3.FromArray(obstacle.position), obstacle.radius, obstacle.height);
|
|
27
|
+
break;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
return recast;
|
|
31
|
+
}
|
|
32
|
+
registerScriptAssetParser("navmesh", preloadNavMeshScriptAsset);
|
|
33
|
+
//# sourceMappingURL=navmesh.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navmesh.js","sourceRoot":"","sources":["../../../../../../src/loading/script/preload/plugins/navmesh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAE5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAEhE,OAAO,EAAgC,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAExF,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,UAAwC;IACvF,MAAM,CAAC,cAAc,EAAE,eAAe,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC1E,KAAK,CAAC,GAAG,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,cAAc,CAAC;QAC3D,KAAK,CAAC,GAAG,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,cAAc,CAAC;QAC3D,KAAK,CAAC,GAAG,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,gBAAgB,CAAC;KAC7D,CAAC,CAAC;IACH,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,eAAe,CAAC,WAAW,EAAE,EAAE,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAEhJ,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC;IAEvI,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC;QAChD,QAAQ,EAAE;YACT,GAAG,UAAU;YACb,GAAG,gBAAgB;SACnB;KACD,CAAC,CAAC;IACH,MAAM,CAAC,oBAAoB,CAAC,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;IACzD,MAAM,CAAC,sBAAsB,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IAEzD,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,QAAa,EAAE,EAAE;QAC/C,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;YACvB,KAAK,KAAK;gBACT,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAChH,MAAM;YAEP,KAAK,UAAU;gBACd,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACnG,MAAM;QACR,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AACf,CAAC;AAED,yBAAyB,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { LoadAssetContainerAsync } from "@babylonjs/core/Loading/sceneLoader";
|
|
2
|
+
import { SceneLoaderFlags } from "@babylonjs/core/Loading/sceneLoaderFlags";
|
|
3
|
+
import { isMesh } from "../../../tools/guards";
|
|
4
|
+
export async function preloadSceneScriptAsset(key, rootUrl, scene) {
|
|
5
|
+
const filename = key.split("/").pop();
|
|
6
|
+
const sceneFilename = filename.replace(".scene", ".babylon");
|
|
7
|
+
// Load asset container
|
|
8
|
+
const container = await LoadAssetContainerAsync(sceneFilename, scene, {
|
|
9
|
+
rootUrl: rootUrl,
|
|
10
|
+
pluginExtension: ".babylon",
|
|
11
|
+
});
|
|
12
|
+
// Ensure all meshes perform their delay state check
|
|
13
|
+
if (SceneLoaderFlags.ForceFullSceneLoadingForIncremental) {
|
|
14
|
+
scene.meshes.forEach((m) => isMesh(m) && m._checkDelayState());
|
|
15
|
+
}
|
|
16
|
+
container.addAllToScene();
|
|
17
|
+
return container;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=scene.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scene.js","sourceRoot":"","sources":["../../../../../src/loading/script/preload/scene.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAE5E,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,GAAW,EAAE,OAAe,EAAE,KAAY;IACvF,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,CAAC;IACvC,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAE7D,uBAAuB;IACvB,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,aAAa,EAAE,KAAK,EAAE;QACrE,OAAO,EAAE,OAAO;QAChB,eAAe,EAAE,UAAU;KAC3B,CAAC,CAAC;IAEH,oDAAoD;IACpD,IAAI,gBAAgB,CAAC,mCAAmC,EAAE,CAAC;QAC1D,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,SAAS,CAAC,aAAa,EAAE,CAAC;IAE1B,OAAO,SAAS,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { AdvancedAssetContainer } from "../container";
|
|
2
|
+
import { preloadSceneScriptAsset } from "./preload/scene";
|
|
3
|
+
import { preloadCommonScriptAsset } from "./preload/common";
|
|
4
|
+
/**
|
|
5
|
+
* Defines the cache of all preloaded assets for scripts.
|
|
6
|
+
* Used to populate decorated properties in scripts using @visibleAsAsset.
|
|
7
|
+
*/
|
|
8
|
+
export const scriptAssetsCache = new Map();
|
|
9
|
+
/**
|
|
10
|
+
* Defines the map of all parsers available to parse script assets.
|
|
11
|
+
* Some assets may not be needed by the game directly such as navmeshes which require @recast-navigation packages to be included.
|
|
12
|
+
* This map allows to register parsers only when needed to profit from tree shaking.
|
|
13
|
+
*/
|
|
14
|
+
export const scriptAssetsParsers = new Map();
|
|
15
|
+
/**
|
|
16
|
+
*
|
|
17
|
+
* @param extension defines the extension supported by the parser. ie: "navmesh"
|
|
18
|
+
* @param parser defines the parser function to parse the asset.
|
|
19
|
+
*/
|
|
20
|
+
export function registerScriptAssetParser(extension, parser) {
|
|
21
|
+
if (scriptAssetsParsers.has(extension)) {
|
|
22
|
+
console.warn(`A parser for the extension '${extension}' was already registered. It will be overwritten.`);
|
|
23
|
+
}
|
|
24
|
+
scriptAssetsParsers.set(extension, parser);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
export async function _preloadScriptsAssets(rootUrl, scene, scriptsMap) {
|
|
30
|
+
const nodes = [scene, ...scene.transformNodes, ...scene.meshes, ...scene.lights, ...scene.cameras];
|
|
31
|
+
const scripts = nodes
|
|
32
|
+
.filter((node) => node.metadata?.scripts?.length)
|
|
33
|
+
.map((node) => node.metadata.scripts)
|
|
34
|
+
.flat();
|
|
35
|
+
scripts.forEach((script) => {
|
|
36
|
+
if (!script.values) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
for (const key in script.values) {
|
|
40
|
+
if (!script.values.hasOwnProperty(key)) {
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
const obj = script.values[key];
|
|
44
|
+
if (obj.type === "asset" && obj.value) {
|
|
45
|
+
scriptAssetsCache.set(obj.value, null);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
const promises = [];
|
|
50
|
+
scriptAssetsCache.forEach((_, key) => {
|
|
51
|
+
if (scriptAssetsCache.get(key)) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
promises.push(new Promise(async (resolve) => {
|
|
55
|
+
try {
|
|
56
|
+
const extension = key.split(".").pop();
|
|
57
|
+
switch (extension) {
|
|
58
|
+
case "scene":
|
|
59
|
+
scriptAssetsCache.set(key, new AdvancedAssetContainer(await preloadSceneScriptAsset(key, rootUrl, scene), rootUrl, scriptsMap));
|
|
60
|
+
break;
|
|
61
|
+
default:
|
|
62
|
+
if (scriptAssetsParsers.has(extension)) {
|
|
63
|
+
const parser = scriptAssetsParsers.get(extension);
|
|
64
|
+
scriptAssetsCache.set(key, await parser({ key, rootUrl, scene }));
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
scriptAssetsCache.set(key, await preloadCommonScriptAsset(key, rootUrl));
|
|
69
|
+
}
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch (e) {
|
|
74
|
+
console.error(e);
|
|
75
|
+
}
|
|
76
|
+
resolve();
|
|
77
|
+
}));
|
|
78
|
+
});
|
|
79
|
+
await Promise.all(promises);
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=preload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preload.js","sourceRoot":"","sources":["../../../../src/loading/script/preload.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guards.js","sourceRoot":"","sources":["../../../src/tools/guards.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"guards.js","sourceRoot":"","sources":["../../../src/tools/guards.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Clones the given JavaScript object. This function does not handle cyclic references.
|
|
3
|
+
* @param source defines the reference to the JavaScript object to clone.
|
|
4
|
+
*/
|
|
5
|
+
export function cloneJSObject(source) {
|
|
6
|
+
if (!source) {
|
|
7
|
+
return source;
|
|
8
|
+
}
|
|
9
|
+
return JSON.parse(JSON.stringify(source));
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/tools/tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAI,MAAS;IACzC,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,MAAM,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -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" | "navmesh";
|
|
134
134
|
export type VisibleInspectorDecoratorAssetConfiguration<T = VisibleInspectorDecoratorAssetPossibleTypes> = VisibleInInspectorDecoratorConfiguration & {
|
|
135
135
|
assetType: T;
|
|
136
136
|
typeRestriction?: T extends "material" ? "PBRMaterial" | "StandardMaterial" | "AnyMaterial" : never;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export * from "./loading/loader";
|
|
2
2
|
export * from "./loading/material";
|
|
3
|
-
export * from "./loading/
|
|
3
|
+
export * from "./loading/container";
|
|
4
|
+
export * from "./loading/script/apply";
|
|
5
|
+
export * from "./loading/script/preload";
|
|
4
6
|
export * from "./tools/guards";
|
|
5
7
|
export * from "./tools/texture";
|
|
6
8
|
export * from "./tools/light";
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Node } from "@babylonjs/core/node";
|
|
2
|
+
import { AssetContainer, InstantiatedEntries } from "@babylonjs/core/assetContainer";
|
|
3
|
+
import { ScriptMap } from "./loader";
|
|
4
|
+
export interface IAdvancedAssetContainerInstantiateOptions {
|
|
5
|
+
/**
|
|
6
|
+
* Defines if the model must be instantiated or just cloned
|
|
7
|
+
*/
|
|
8
|
+
doNotInstantiate?: boolean | ((node: Node) => boolean);
|
|
9
|
+
/**
|
|
10
|
+
* Defines a predicate used to filter whih mesh to instantiate/clone
|
|
11
|
+
*/
|
|
12
|
+
predicate?: (entity: any) => boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare class AdvancedAssetContainer {
|
|
15
|
+
/**
|
|
16
|
+
* Defines the reference to the
|
|
17
|
+
*/
|
|
18
|
+
container: AssetContainer;
|
|
19
|
+
private _rootUrl;
|
|
20
|
+
private _scriptsMap;
|
|
21
|
+
private _originalDescendants;
|
|
22
|
+
private _nodesMap;
|
|
23
|
+
private _animationGroupsMap;
|
|
24
|
+
constructor(container: AssetContainer, rootUrl: string, scriptsMap: ScriptMap);
|
|
25
|
+
removeDefault(): void;
|
|
26
|
+
instantiate(options?: IAdvancedAssetContainerInstantiateOptions): InstantiatedEntries;
|
|
27
|
+
}
|
|
@@ -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 {
|
|
@@ -4,16 +4,8 @@ import { Observer } from "@babylonjs/core/Misc/observable";
|
|
|
4
4
|
import { PointerInfo } from "@babylonjs/core/Events/pointerEvents";
|
|
5
5
|
import { KeyboardInfo } from "@babylonjs/core/Events/keyboardEvents";
|
|
6
6
|
import { IParticleSystem } from "@babylonjs/core/Particles/IParticleSystem";
|
|
7
|
-
import { IScript } from "
|
|
8
|
-
import { ScriptMap } from "
|
|
9
|
-
/**
|
|
10
|
-
* Defines the cache of all
|
|
11
|
-
*/
|
|
12
|
-
export declare const scriptAssetsCache: Map<string, any>;
|
|
13
|
-
/**
|
|
14
|
-
* @internal
|
|
15
|
-
*/
|
|
16
|
-
export declare function _preloadScriptsAssets(scene: Scene, rootUrl: string): Promise<void>;
|
|
7
|
+
import { IScript } from "../../script";
|
|
8
|
+
import { ScriptMap } from "../loader";
|
|
17
9
|
/**
|
|
18
10
|
* @internal
|
|
19
11
|
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function preloadCommonScriptAsset(key: string, rootUrl: string): Promise<any>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Scene } from "@babylonjs/core/scene";
|
|
2
|
+
import { ScriptMap } from "../loader";
|
|
3
|
+
/**
|
|
4
|
+
* Defines the cache of all preloaded assets for scripts.
|
|
5
|
+
* Used to populate decorated properties in scripts using @visibleAsAsset.
|
|
6
|
+
*/
|
|
7
|
+
export declare const scriptAssetsCache: Map<string, any>;
|
|
8
|
+
/**
|
|
9
|
+
* Defines the map of all parsers available to parse script assets.
|
|
10
|
+
* Some assets may not be needed by the game directly such as navmeshes which require @recast-navigation packages to be included.
|
|
11
|
+
* This map allows to register parsers only when needed to profit from tree shaking.
|
|
12
|
+
*/
|
|
13
|
+
export declare const scriptAssetsParsers: Map<string, (parameters: IScriptAssetParserParameters) => Promise<unknown>>;
|
|
14
|
+
export interface IScriptAssetParserParameters {
|
|
15
|
+
key: string;
|
|
16
|
+
rootUrl: string;
|
|
17
|
+
scene: Scene;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
*
|
|
21
|
+
* @param extension defines the extension supported by the parser. ie: "navmesh"
|
|
22
|
+
* @param parser defines the parser function to parse the asset.
|
|
23
|
+
*/
|
|
24
|
+
export declare function registerScriptAssetParser(extension: string, parser: (parameters: IScriptAssetParserParameters) => Promise<unknown>): void;
|
|
25
|
+
/**
|
|
26
|
+
* @internal
|
|
27
|
+
*/
|
|
28
|
+
export declare function _preloadScriptsAssets(rootUrl: string, scene: Scene, scriptsMap: ScriptMap): Promise<void>;
|
|
@@ -3,6 +3,7 @@ import { Node } from "@babylonjs/core/node";
|
|
|
3
3
|
import { Bone } from "@babylonjs/core/Bones/bone";
|
|
4
4
|
import { Mesh } from "@babylonjs/core/Meshes/mesh";
|
|
5
5
|
import { GroundMesh } from "@babylonjs/core/Meshes/groundMesh";
|
|
6
|
+
import { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh";
|
|
6
7
|
import { InstancedMesh } from "@babylonjs/core/Meshes/instancedMesh";
|
|
7
8
|
import { TransformNode } from "@babylonjs/core/Meshes/transformNode";
|
|
8
9
|
import { Texture } from "@babylonjs/core/Materials/Textures/texture";
|
|
@@ -22,7 +23,7 @@ import { Sprite } from "@babylonjs/core/Sprites/sprite";
|
|
|
22
23
|
* Returns wether or not the given object is an AbstractMesh.
|
|
23
24
|
* @param object defines the reference to the object to test its class name.
|
|
24
25
|
*/
|
|
25
|
-
export declare function isAbstractMesh(object: any): object is
|
|
26
|
+
export declare function isAbstractMesh(object: any): object is AbstractMesh;
|
|
26
27
|
/**
|
|
27
28
|
* Returns wether or not the given object is a Mesh.
|
|
28
29
|
* @param object defines the reference to the object to test its class name.
|
package/package.json
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "babylonjs-editor-tools",
|
|
3
|
-
"version": "5.2.
|
|
3
|
+
"version": "5.2.4",
|
|
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": {
|
|
7
7
|
"build": "tsc -p . && node esbuild.mjs",
|
|
8
|
-
"watch": "concurrently \"tsc -p . --watch\" \"node esbuild.mjs --watch\"",
|
|
9
|
-
"test": "
|
|
10
|
-
"
|
|
8
|
+
"watch": "concurrently \"tsc -p . --watch\" \"node esbuild.mjs --watch\" -c bgYellow.bold,bgBlue.bold --names tools-ts,editor-dependencies",
|
|
9
|
+
"test": "vitest run",
|
|
10
|
+
"watch-test": "vitest --watch",
|
|
11
|
+
"coverage": "vitest run --coverage"
|
|
11
12
|
},
|
|
12
13
|
"main": "build/index.js",
|
|
13
14
|
"exports": {
|
|
@@ -15,23 +16,22 @@
|
|
|
15
16
|
"types": "./declaration/src/index.d.ts",
|
|
16
17
|
"import": "./build/src/index.js",
|
|
17
18
|
"require": "./build/index.node.js"
|
|
19
|
+
},
|
|
20
|
+
"./*": {
|
|
21
|
+
"types": "./declaration/src/*.d.ts",
|
|
22
|
+
"import": "./build/src/*.js"
|
|
18
23
|
}
|
|
19
24
|
},
|
|
20
25
|
"typings": "declaration/src/index.d.ts",
|
|
21
26
|
"license": "(Apache-2.0)",
|
|
22
27
|
"devDependencies": {
|
|
23
|
-
"@
|
|
24
|
-
"@
|
|
25
|
-
"@
|
|
26
|
-
"@
|
|
27
|
-
"@babylonjs/gui": "8.33.2",
|
|
28
|
-
"@types/jest": "^29.5.14",
|
|
29
|
-
"babel-jest": "^29.7.0",
|
|
30
|
-
"babel-plugin-transform-class-properties": "^6.24.1",
|
|
31
|
-
"babel-plugin-transform-decorators-legacy": "^1.3.5",
|
|
28
|
+
"@babylonjs/addons": "8.39.0",
|
|
29
|
+
"@babylonjs/core": "8.39.0",
|
|
30
|
+
"@babylonjs/gui": "8.39.0",
|
|
31
|
+
"@vitest/coverage-v8": "4.0.13",
|
|
32
32
|
"esbuild": "0.25.5",
|
|
33
|
-
"
|
|
34
|
-
"
|
|
33
|
+
"typescript": "5.8.3",
|
|
34
|
+
"vitest": "4.0.13"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {}
|
|
37
37
|
}
|
package/vitest.config.ts
ADDED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"script.js","sourceRoot":"","sources":["../../../src/loading/script.ts"],"names":[],"mappings":"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"}
|