@needle-tools/engine 4.12.0-next.0b39d59 → 4.12.0-next.1eb80e5

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.
Files changed (126) hide show
  1. package/README.md +4 -2
  2. package/components.needle.json +1 -1
  3. package/dist/generateMeshBVH.worker-iyfPIK6R.js +21 -0
  4. package/dist/{gltf-progressive-Rs-ojtXy.umd.cjs → gltf-progressive-Bfpfaz84.umd.cjs} +1 -1
  5. package/dist/{gltf-progressive-DnLBuGK5.js → gltf-progressive-DPunMlEM.js} +1 -1
  6. package/dist/{gltf-progressive-BmSygnAC.min.js → gltf-progressive-hFPACYio.min.js} +1 -1
  7. package/dist/{needle-engine.bundle-BktxajaZ.js → needle-engine.bundle-BBMMqqcl.js} +9311 -8878
  8. package/dist/{needle-engine.bundle-C6Ko3O_C.min.js → needle-engine.bundle-C__2LBOp.min.js} +156 -156
  9. package/dist/needle-engine.bundle-CgknXW5o.umd.cjs +1647 -0
  10. package/dist/needle-engine.d.ts +53 -14
  11. package/dist/needle-engine.js +47 -47
  12. package/dist/needle-engine.min.js +1 -1
  13. package/dist/needle-engine.umd.cjs +1 -1
  14. package/dist/{postprocessing-BWZIqm3N.umd.cjs → postprocessing-BHQvwehB.umd.cjs} +5 -5
  15. package/dist/{postprocessing-BkY94MUG.min.js → postprocessing-ClLv0reO.min.js} +61 -61
  16. package/dist/{postprocessing-CLbPDsD8.js → postprocessing-DLI2N3LL.js} +426 -435
  17. package/dist/{three-examples-y2GeYlze.js → three-examples-D4rE49Ui.js} +10 -2
  18. package/dist/{three-examples-MsJjauyk.min.js → three-examples-DB5Uoja4.min.js} +2 -2
  19. package/dist/{three-examples-Dho7cuu4.umd.cjs → three-examples-Djbk6WA4.umd.cjs} +2 -2
  20. package/dist/{vendor-C_oHRUjX.js → vendor-DMZcbVO1.js} +2644 -2487
  21. package/dist/{vendor-BiJQtqow.min.js → vendor-sURMCFSI.min.js} +41 -41
  22. package/dist/{vendor-DN-NsXVB.umd.cjs → vendor-tyBvnMF-.umd.cjs} +36 -36
  23. package/lib/engine/debug/debug_console.js +403 -1
  24. package/lib/engine/debug/debug_console.js.map +1 -1
  25. package/lib/engine/engine_components.js +3 -3
  26. package/lib/engine/engine_components.js.map +1 -1
  27. package/lib/engine/engine_context.js +2 -0
  28. package/lib/engine/engine_context.js.map +1 -1
  29. package/lib/engine/engine_input.d.ts +5 -0
  30. package/lib/engine/engine_input.js +6 -0
  31. package/lib/engine/engine_input.js.map +1 -1
  32. package/lib/engine/engine_license.d.ts +18 -0
  33. package/lib/engine/engine_license.js +161 -9
  34. package/lib/engine/engine_license.js.map +1 -1
  35. package/lib/engine/engine_networking.js +20 -5
  36. package/lib/engine/engine_networking.js.map +1 -1
  37. package/lib/engine/engine_physics.js.map +1 -1
  38. package/lib/engine/engine_serialization_builtin_serializer.js +1 -1
  39. package/lib/engine/engine_serialization_builtin_serializer.js.map +1 -1
  40. package/lib/engine/engine_three_utils.js +2 -2
  41. package/lib/engine/engine_three_utils.js.map +1 -1
  42. package/lib/engine/engine_utils.d.ts +4 -1
  43. package/lib/engine/engine_utils.js +28 -4
  44. package/lib/engine/engine_utils.js.map +1 -1
  45. package/lib/engine/extensions/extensions.d.ts +29 -7
  46. package/lib/engine/extensions/extensions.js.map +1 -1
  47. package/lib/engine/webcomponents/WebXRButtons.js +13 -5
  48. package/lib/engine/webcomponents/WebXRButtons.js.map +1 -1
  49. package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js +2 -1
  50. package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js.map +1 -1
  51. package/lib/engine/webcomponents/needle menu/needle-menu.d.ts +2 -0
  52. package/lib/engine/webcomponents/needle menu/needle-menu.js +45 -7
  53. package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
  54. package/lib/engine/webcomponents/needle-engine.ar-overlay.js +4 -0
  55. package/lib/engine/webcomponents/needle-engine.ar-overlay.js.map +1 -1
  56. package/lib/engine/xr/NeedleXRSession.d.ts +1 -1
  57. package/lib/engine/xr/NeedleXRSession.js +106 -22
  58. package/lib/engine/xr/NeedleXRSession.js.map +1 -1
  59. package/lib/engine/xr/TempXRContext.js +12 -2
  60. package/lib/engine/xr/TempXRContext.js.map +1 -1
  61. package/lib/engine/xr/usdz.js +6 -2
  62. package/lib/engine/xr/usdz.js.map +1 -1
  63. package/lib/engine-components/Camera.js +4 -1
  64. package/lib/engine-components/Camera.js.map +1 -1
  65. package/lib/engine-components/Component.d.ts +2 -1
  66. package/lib/engine-components/Component.js +3 -2
  67. package/lib/engine-components/Component.js.map +1 -1
  68. package/lib/engine-components/DragControls.js +1 -1
  69. package/lib/engine-components/DragControls.js.map +1 -1
  70. package/lib/engine-components/DropListener.d.ts +1 -0
  71. package/lib/engine-components/DropListener.js +26 -8
  72. package/lib/engine-components/DropListener.js.map +1 -1
  73. package/lib/engine-components/EventList.js +4 -1
  74. package/lib/engine-components/EventList.js.map +1 -1
  75. package/lib/engine-components/SceneSwitcher.d.ts +3 -2
  76. package/lib/engine-components/SceneSwitcher.js +24 -11
  77. package/lib/engine-components/SceneSwitcher.js.map +1 -1
  78. package/lib/engine-components/SpectatorCamera.js +15 -7
  79. package/lib/engine-components/SpectatorCamera.js.map +1 -1
  80. package/lib/engine-components/api.d.ts +1 -1
  81. package/lib/engine-components/api.js +1 -1
  82. package/lib/engine-components/api.js.map +1 -1
  83. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js +8 -0
  84. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js.map +1 -1
  85. package/lib/engine-components/webxr/Avatar.js +2 -0
  86. package/lib/engine-components/webxr/Avatar.js.map +1 -1
  87. package/lib/engine-components/webxr/WebARSessionRoot.d.ts +5 -2
  88. package/lib/engine-components/webxr/WebARSessionRoot.js +5 -2
  89. package/lib/engine-components/webxr/WebARSessionRoot.js.map +1 -1
  90. package/lib/engine-components/webxr/WebXR.d.ts +3 -1
  91. package/lib/engine-components/webxr/WebXR.js +21 -13
  92. package/lib/engine-components/webxr/WebXR.js.map +1 -1
  93. package/package.json +4 -4
  94. package/plugins/vite/poster-client.js +8 -1
  95. package/src/engine/debug/debug_console.ts +449 -1
  96. package/src/engine/engine_components.ts +4 -4
  97. package/src/engine/engine_context.ts +2 -0
  98. package/src/engine/engine_input.ts +7 -0
  99. package/src/engine/engine_license.ts +178 -9
  100. package/src/engine/engine_networking.ts +20 -5
  101. package/src/engine/engine_physics.ts +3 -3
  102. package/src/engine/engine_serialization_builtin_serializer.ts +1 -1
  103. package/src/engine/engine_three_utils.ts +4 -2
  104. package/src/engine/engine_utils.ts +23 -4
  105. package/src/engine/extensions/extensions.ts +30 -6
  106. package/src/engine/webcomponents/WebXRButtons.ts +15 -5
  107. package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +2 -1
  108. package/src/engine/webcomponents/needle menu/needle-menu.ts +48 -8
  109. package/src/engine/webcomponents/needle-engine.ar-overlay.ts +6 -0
  110. package/src/engine/xr/NeedleXRSession.ts +120 -24
  111. package/src/engine/xr/TempXRContext.ts +12 -2
  112. package/src/engine/xr/usdz.ts +6 -1
  113. package/src/engine-components/Camera.ts +4 -1
  114. package/src/engine-components/Component.ts +5 -4
  115. package/src/engine-components/DragControls.ts +1 -1
  116. package/src/engine-components/DropListener.ts +29 -8
  117. package/src/engine-components/EventList.ts +5 -1
  118. package/src/engine-components/SceneSwitcher.ts +26 -13
  119. package/src/engine-components/SpectatorCamera.ts +21 -10
  120. package/src/engine-components/api.ts +1 -1
  121. package/src/engine-components/export/usdz/extensions/behavior/BehaviourComponents.ts +11 -0
  122. package/src/engine-components/webxr/Avatar.ts +4 -0
  123. package/src/engine-components/webxr/WebARSessionRoot.ts +7 -3
  124. package/src/engine-components/webxr/WebXR.ts +23 -13
  125. package/dist/generateMeshBVH.worker-BvGEI0r7.js +0 -21
  126. package/dist/needle-engine.bundle-BZJhFSnI.umd.cjs +0 -1647
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./needle-engine.bundle-BZJhFSnI.umd.cjs"),i=require("./gltf-progressive-Rs-ojtXy.umd.cjs"),a=require("./three-Bf2NBxAw.umd.cjs"),o={VERSION:e.VERSION,Context:e.Context,NeedleXRSession:e.NeedleXRSession,assets:{loadFromURL:e.loadAsset},types:e.TypeStore,onStart:e.onStart,onUpdate:e.onUpdate,onBeforeRender:e.onBeforeRender,onAfterRender:e.onAfterRender,onInitializedContext:e.onInitialized,onDestroyContext:e.onDestroy,onClearContext:e.onClear};globalThis.Needle?.VERSION!==void 0&&console.warn(`Needle Engine is already imported: ${globalThis.Needle.VERSION}`);function n(t){for(const r in t)o[r]=t[r]}n(e.Component);n(e.Components);for(const t of Object.getOwnPropertyNames(e.GameObject))switch(t){case"prototype":case"constructor":case"length":case"name":continue;default:o[t]=e.GameObject[t];break}if(!globalThis.Needle)globalThis.Needle=o;else for(const t in o)globalThis.Needle[t]=o[t];globalThis.THREE?console.warn("Three.js is already imported"):globalThis.THREE=a.THREE;exports.$physicsKey=e.$physicsKey;exports.ActionBuilder=e.ActionBuilder;exports.ActionCollection=e.ActionCollection;exports.ActionModel=e.ActionModel;exports.Addressables=e.Addressables;exports.AlignmentConstraint=e.AlignmentConstraint;exports.AmbientMode=e.AmbientMode;exports.Animation=e.Animation;exports.AnimationCurve=e.AnimationCurve;exports.AnimationExtension=e.AnimationExtension;exports.AnimationTrackHandler=e.AnimationTrackHandler;exports.AnimationUtils=e.AnimationUtils;exports.Animator=e.Animator;exports.AnimatorConditionMode=e.AnimatorConditionMode;exports.AnimatorController=e.AnimatorController;exports.AnimatorControllerParameterType=e.AnimatorControllerParameterType;exports.AnimatorStateInfo=e.AnimatorStateInfo;exports.Antialiasing=e.Antialiasing;exports.Application=e.Application;exports.AssetDatabase=e.AssetDatabase;exports.AssetReference=e.AssetReference;exports.Attractor=e.Attractor;exports.AudioExtension=e.AudioExtension;exports.AudioListener=e.AudioListener;exports.AudioSource=e.AudioSource;exports.AudioTrackHandler=e.AudioTrackHandler;exports.Avatar=e.Avatar;exports.AvatarBlink_Simple=e.AvatarBlink_Simple;exports.AvatarEyeLook_Rotation=e.AvatarEyeLook_Rotation;exports.AvatarLoader=e.AvatarLoader;exports.AvatarMarker=e.AvatarMarker;exports.AvatarModel=e.AvatarModel;exports.Avatar_Brain_LookAt=e.Avatar_Brain_LookAt;exports.Avatar_MouthShapes=e.Avatar_MouthShapes;exports.Avatar_MustacheShake=e.Avatar_MustacheShake;exports.Avatar_POI=e.Avatar_POI;exports.Axes=e.Axes;exports.AxesHelper=e.AxesHelper;exports.BUILD_TIME=e.BUILD_TIME;exports.BaseUIComponent=e.BaseUIComponent;exports.BasicIKConstraint=e.BasicIKConstraint;exports.BehaviorExtension=e.BehaviorExtension;exports.BehaviorModel=e.BehaviorModel;exports.Behaviour=e.Component$1;Object.defineProperty(exports,"BlobStorage",{enumerable:!0,get:()=>e.BlobStorage});exports.BloomEffect=e.BloomEffect;exports.BoxCollider=e.BoxCollider;exports.BoxGizmo=e.BoxGizmo;exports.BoxHelperComponent=e.BoxHelperComponent;exports.Button=e.Button;exports.ButtonsFactory=e.ButtonsFactory;exports.CallDirection=e.CallDirection;exports.CallInfo=e.CallInfo;exports.Camera=e.Camera;exports.CameraTargetReachedEvent=e.CameraTargetReachedEvent;exports.Canvas=e.Canvas;exports.CanvasGroup=e.CanvasGroup;exports.CapsuleCollider=e.CapsuleCollider;exports.ChangeMaterialOnClick=e.ChangeMaterialOnClick;exports.ChangeTransformOnClick=e.ChangeTransformOnClick;exports.CharacterController=e.CharacterController;exports.CharacterControllerInput=e.CharacterControllerInput;exports.ChromaticAberration=e.ChromaticAberration;exports.CircularBuffer=e.CircularBuffer;exports.ClearFlags=e.ClearFlags;exports.ClickThrough=e.ClickThrough;exports.ClipExtrapolation=e.ClipExtrapolation;exports.Collider=e.Collider;exports.Collision=e.Collision;exports.CollisionDetectionMode=e.CollisionDetectionMode;exports.ColorAdjustments=e.ColorAdjustments;exports.ColorBySpeedModule=e.ColorBySpeedModule;exports.ColorOverLifetimeModule=e.ColorOverLifetimeModule;exports.Component=e.Component$1;exports.ComponentLifecycleEvents=e.ComponentLifecycleEvents;exports.ConnectionEvents=e.ConnectionEvents;exports.ContactPoint=e.ContactPoint;exports.ContactShadows=e.ContactShadows;exports.Context=e.Context;exports.ContextArgs=e.ContextArgs;exports.ContextEvent=e.ContextEvent;exports.ContextRegistry=e.ContextRegistry;exports.ControlTrackHandler=e.ControlTrackHandler;exports.CursorFollow=e.CursorFollow;exports.CustomBranding=e.CustomBranding;exports.CustomShader=e.CustomShader;exports.DefaultReflectionMode=e.DefaultReflectionMode;exports.Deletable=e.Deletable;exports.DeleteBox=e.DeleteBox;exports.DepthOfField=e.DepthOfField;exports.DeviceFlag=e.DeviceFlag;Object.defineProperty(exports,"DeviceUtilities",{enumerable:!0,get:()=>e.DeviceUtilities});exports.DocumentExtension=e.DocumentExtension;exports.DragControls=e.DragControls;exports.DragMode=e.DragMode;exports.DropListener=e.DropListener;exports.Duplicatable=e.Duplicatable;exports.EffectWrapper=e.EffectWrapper;exports.EmissionModule=e.EmissionModule;exports.EmphasizeOnClick=e.EmphasizeOnClick;exports.EngineLoadingView=e.EngineLoadingView;exports.EnvironmentScene=e.EnvironmentScene;exports.EventList=e.EventList;exports.EventListEvent=e.EventListEvent;exports.EventSystem=e.EventSystem;exports.EventTrigger=e.EventTrigger;exports.FieldWithDefault=e.FieldWithDefault;exports.FileReference=e.FileReference;exports.FileReferenceSerializer=e.FileReferenceSerializer;exports.FileSpawnModel=e.FileSpawnModel;exports.File_Event=e.File_Event;exports.FixedJoint=e.FixedJoint;exports.Fog=e.Fog;exports.FrameEvent=e.FrameEvent;exports.GENERATOR=e.GENERATOR;exports.GameObject=e.GameObject;exports.Gizmos=e.Gizmos;exports.GltfExport=e.GltfExport;exports.GltfExportBox=e.GltfExportBox;exports.Gradient=e.Gradient;exports.Graphic=e.Graphic;exports.GraphicRaycaster=e.GraphicRaycaster;exports.Graphics=e.Graphics;exports.GridHelper=e.GridHelper;exports.GridLayoutGroup=e.GridLayoutGroup;exports.GroundProjectedEnv=e.GroundProjectedEnv;exports.GroupActionModel=e.GroupActionModel;exports.HideFlags=e.HideFlags;exports.HideOnStart=e.HideOnStart;exports.HingeJoint=e.HingeJoint;exports.HorizontalLayoutGroup=e.HorizontalLayoutGroup;exports.HostData=e.HostData;Object.defineProperty(exports,"HoverAnimation",{enumerable:!0,get:()=>e.HoverAnimation});exports.Image=e.Image;exports.ImageReference=e.ImageReference;exports.ImageReferenceSerializer=e.ImageReferenceSerializer;exports.InheritVelocityModule=e.InheritVelocityModule;exports.Input=e.Input;exports.InputEventQueue=e.InputEventQueue;exports.InputEvents=e.InputEvents;exports.InputField=e.InputField;exports.InstanceHandle=e.InstanceHandle;exports.InstancingHandler=e.InstancingHandler;exports.InstancingUtil=e.InstancingUtil;exports.InstantiateEvent=e.InstantiateEvent;exports.InstantiateIdProvider=e.InstantiateIdProvider;exports.InstantiateOptions=e.InstantiateOptions;exports.Interactable=e.Interactable;Object.defineProperty(exports,"InternalScreenshotUtils",{enumerable:!0,get:()=>e.InternalScreenshotUtils});exports.JoinedRoomResponse=e.JoinedRoomResponse;exports.KeyEventArgs=e.KeyEventArgs;exports.Keyframe=e.Keyframe;exports.LODGroup=e.LODGroup;exports.LODModel=e.LODModel;exports.LeftRoomResponse=e.LeftRoomResponse;exports.Light=e.Light;exports.LightData=e.LightData;exports.LimitVelocityOverLifetimeModule=e.LimitVelocityOverLifetimeModule;exports.LoadingElementOptions=e.LoadingElementOptions;exports.LogStats=e.LogStats;exports.LogType=e.LogType;exports.LookAt=e.LookAt;exports.LookAtConstraint=e.LookAtConstraint;exports.MainModule=e.MainModule;exports.MarkerTrackHandler=e.MarkerTrackHandler;exports.MarkerType=e.MarkerType;exports.MaskableGraphic=e.MaskableGraphic;exports.Mathf=e.Mathf;exports.MeshCollider=e.MeshCollider;exports.MeshRenderer=e.MeshRenderer;exports.MinMaxCurve=e.MinMaxCurve;exports.MinMaxGradient=e.MinMaxGradient;Object.defineProperty(exports,"NEEDLE_ENGINE_FEATURE_FLAGS",{enumerable:!0,get:()=>e.NEEDLE_ENGINE_FEATURE_FLAGS});Object.defineProperty(exports,"NEEDLE_ENGINE_MODULES",{enumerable:!0,get:()=>e.MODULES});exports.NEKeyboardEvent=e.NEKeyboardEvent;exports.NEPointerEvent=e.NEPointerEvent;exports.NeedleButtonElement=e.NeedleButtonElement;exports.NeedleEngine=e.ContextRegistry;Object.defineProperty(exports,"NeedleEngineModelLoader",{enumerable:!0,get:()=>e.NeedleEngineModelLoader});exports.NeedleEngineWebComponent=e.NeedleEngineWebComponent;exports.NeedleMenu=e.NeedleMenu;exports.NeedlePatchesKey=e.NeedlePatchesKey;exports.NeedleUSDZExporter=e.USDZExporter$1;exports.NeedleXRController=e.NeedleXRController;exports.NeedleXRSession=e.NeedleXRSession;exports.NeedleXRSync=e.NeedleXRSync;exports.NeedleXRUtils=e.NeedleXRUtils;exports.NestedGltf=e.NestedGltf;exports.NetworkConnection=e.NetworkConnection;exports.NetworkedStreamEvents=e.NetworkedStreamEvents;exports.NetworkedStreams=e.NetworkedStreams;exports.Networking=e.Networking;exports.NewInstanceModel=e.NewInstanceModel;exports.NoiseModule=e.NoiseModule;exports.ObjectRaycaster=e.ObjectRaycaster;exports.ObjectUtils=e.ObjectUtils;exports.OffsetConstraint=e.OffsetConstraint;exports.OneEuroFilter=e.OneEuroFilter;exports.OneEuroFilterXYZ=e.OneEuroFilterXYZ;exports.OpenURL=e.OpenURL;exports.OrbitControls=e.OrbitControls;exports.Outline=e.Outline;exports.OwnershipEvent=e.OwnershipEvent;exports.OwnershipModel=e.OwnershipModel;exports.PUBLIC_KEY=e.PUBLIC_KEY;exports.Padding=e.Padding;exports.ParticleBurst=e.ParticleBurst;exports.ParticleSubEmitter=e.ParticleSubEmitter;exports.ParticleSystem=e.ParticleSystem;exports.ParticleSystemBaseBehaviour=e.ParticleSystemBaseBehaviour;exports.ParticleSystemRenderer=e.ParticleSystemRenderer;exports.ParticleSystemShapeType=e.ParticleSystemShapeType;exports.PeerHandle=e.PeerHandle;exports.PeerNetworking=e.PeerNetworking;exports.Physics=e.Physics;exports.PhysicsExtension=e.PhysicsExtension;exports.PhysicsMaterialCombine=e.PhysicsMaterialCombine;exports.PixelationEffect=e.PixelationEffect;exports.PlayAnimationOnClick=e.PlayAnimationOnClick;exports.PlayAudioOnClick=e.PlayAudioOnClick;exports.PlayableDirector=e.PlayableDirector;exports.PlayerColor=e.PlayerColor;exports.PlayerState=e.PlayerState;exports.PlayerStateEvent=e.PlayerStateEvent;exports.PlayerSync=e.PlayerSync;exports.PlayerView=e.PlayerView;exports.PlayerViewManager=e.PlayerViewManager;exports.PointerEventData=e.PointerEventData;exports.PointerType=e.PointerType;exports.PostProcessingEffect=e.PostProcessingEffect;exports.PostProcessingEffectOrder=e.PostProcessingEffectOrder;exports.PostProcessingHandler=e.PostProcessingHandler;exports.PostProcessingManager=e.Volume;exports.PreliminaryAction=e.PreliminaryAction;exports.PreliminaryTrigger=e.PreliminaryTrigger;Object.defineProperty(exports,"PreviewHelper",{enumerable:!0,get:()=>e.PreviewHelper});exports.PrimitiveType=e.PrimitiveType;exports.Progress=e.Progress;exports.PromiseAllWithErrors=e.PromiseAllWithErrors;exports.PromiseErrorResult=e.PromiseErrorResult;exports.RGBAColor=e.RGBAColor;exports.RapierPhysics=e.RapierPhysics;exports.RawImage=e.RawImage;exports.RaycastOptions=e.RaycastOptions;exports.Rect=e.Rect;exports.RectTransform=e.RectTransform;exports.ReflectionProbe=e.ReflectionProbe;exports.RegisteredAnimationInfo=e.RegisteredAnimationInfo;exports.RemoteSkybox=e.RemoteSkybox;exports.RenderTexture=e.RenderTexture;exports.RenderTextureSerializer=e.RenderTextureSerializer;exports.Renderer=e.Renderer;exports.RendererData=e.RendererData;exports.RendererLightmap=e.RendererLightmap;exports.Rigidbody=e.Rigidbody;exports.RigidbodyConstraints=e.RigidbodyConstraints;exports.RoomEvents=e.RoomEvents;exports.RotationBySpeedModule=e.RotationBySpeedModule;exports.RotationOverLifetimeModule=e.RotationOverLifetimeModule;exports.SceneLightSettings=e.SceneLightSettings;exports.SceneSwitcher=e.SceneSwitcher;exports.ScreenCapture=e.ScreenCapture;exports.ScreenSpaceAmbientOcclusion=e.ScreenSpaceAmbientOcclusion;exports.ScreenSpaceAmbientOcclusionN8=e.ScreenSpaceAmbientOcclusionN8;exports.ScrollFollow=e.ScrollFollow;exports.SeeThrough=e.SeeThrough;exports.SendQueue=e.SendQueue;exports.SerializationContext=e.SerializationContext;exports.SetActiveOnClick=e.SetActiveOnClick;exports.ShadowCatcher=e.ShadowCatcher;exports.ShapeModule=e.ShapeModule;exports.ShapeOverlapResult=e.ShapeOverlapResult;exports.SharpeningEffect=e.SharpeningEffect;exports.SignalAsset=e.SignalAsset;exports.SignalReceiver=e.SignalReceiver;exports.SignalReceiverEvent=e.SignalReceiverEvent;exports.SignalTrackHandler=e.SignalTrackHandler;exports.Size=e.Size;exports.SizeBySpeedModule=e.SizeBySpeedModule;exports.SizeOverLifetimeModule=e.SizeOverLifetimeModule;exports.SkinnedMeshRenderer=e.SkinnedMeshRenderer;exports.SmoothFollow=e.SmoothFollow;exports.SpatialGrabRaycaster=e.SpatialGrabRaycaster;exports.SpatialHtml=e.SpatialHtml;exports.SpatialTrigger=e.SpatialTrigger;exports.SpatialTriggerReceiver=e.SpatialTriggerReceiver;exports.SpectatorCamera=e.SpectatorCamera;exports.SphereCollider=e.SphereCollider;exports.SphereIntersection=e.SphereIntersection;exports.SplineContainer=e.SplineContainer;exports.SplineData=e.SplineData;Object.defineProperty(exports,"SplineUtils",{enumerable:!0,get:()=>e.SplineUtils});exports.SplineWalker=e.SplineWalker;exports.Sprite=e.Sprite;exports.SpriteData=e.SpriteData;exports.SpriteRenderer=e.SpriteRenderer;exports.SpriteSheet=e.SpriteSheet;exports.StateMachineBehaviour=e.StateMachineBehaviour;exports.StreamEndedEvent=e.StreamEndedEvent;exports.StreamReceivedEvent=e.StreamReceivedEvent;exports.SubEmitterSystem=e.SubEmitterSystem;exports.SyncedCamera=e.SyncedCamera;exports.SyncedRoom=e.SyncedRoom;exports.SyncedTransform=e.SyncedTransform;exports.TapGestureTrigger=e.TapGestureTrigger;exports.TeleportTarget=e.TeleportTarget;exports.TestRunner=e.TestRunner;exports.TestSceneUtils=e.TestSceneUtils;exports.TestSimulateUserData=e.TestSimulateUserData;exports.Text=e.Text;exports.TextBuilder=e.TextBuilder;exports.TextExtension=e.TextExtension;exports.TextureSheetAnimationModule=e.TextureSheetAnimationModule;exports.TiltShiftEffect=e.TiltShiftEffect;exports.Time=e.Time;exports.ToneMappingEffect=e.ToneMappingEffect;exports.TrackHandler=e.TrackHandler;exports.TrackType=e.TrackType;exports.TrailModule=e.TrailModule;exports.TransformData=e.TransformData;exports.TransformGizmo=e.TransformGizmo;exports.TriggerBuilder=e.TriggerBuilder;exports.TriggerModel=e.TriggerModel;exports.TypeStore=e.TypeStore;exports.UIRaycastUtils=e.UIRaycastUtils;exports.UIRootComponent=e.UIRootComponent;exports.USDDocument=e.USDDocument;exports.USDObject=e.USDObject;exports.USDWriter=e.USDWriter;exports.USDZExporter=e.USDZExporter;exports.USDZText=e.USDZText;exports.USDZUIExtension=e.USDZUIExtension;exports.UriSerializer=e.UriSerializer;exports.UsageMarker=e.UsageMarker;exports.UserJoinedOrLeftRoomModel=e.UserJoinedOrLeftRoomModel;exports.VERSION=e.VERSION;exports.VariantAction=e.VariantAction;exports.VelocityOverLifetimeModule=e.VelocityOverLifetimeModule;exports.VerticalLayoutGroup=e.VerticalLayoutGroup;exports.VideoPlayer=e.VideoPlayer;Object.defineProperty(exports,"ViewBox",{enumerable:!0,get:()=>e.ViewBox});exports.ViewDevice=e.ViewDevice;exports.Vignette=e.Vignette;exports.VisibilityAction=e.VisibilityAction;exports.Voip=e.Voip;exports.Volume=e.Volume;exports.VolumeParameter=e.VolumeParameter;exports.VolumeProfile=e.VolumeProfile;exports.WaitForFrames=e.WaitForFrames;exports.WaitForPromise=e.WaitForPromise;exports.WaitForSeconds=e.WaitForSeconds;exports.Watch=e.Watch;exports.WebARCameraBackground=e.WebARCameraBackground;exports.WebARSessionRoot=e.WebARSessionRoot;exports.WebXR=e.WebXR;exports.WebXRButtonFactory=e.WebXRButtonFactory;exports.WebXRImageTracking=e.WebXRImageTracking;exports.WebXRImageTrackingModel=e.WebXRImageTrackingModel;exports.WebXRPlaneTracking=e.WebXRPlaneTracking;exports.WebXRTrackedImage=e.WebXRTrackedImage;exports.XRControllerFollow=e.XRControllerFollow;exports.XRControllerModel=e.XRControllerModel;exports.XRControllerMovement=e.XRControllerMovement;exports.XRFlag=e.XRFlag;exports.XRRig=e.XRRig;exports.XRState=e.XRState;exports.XRStateFlag=e.XRStateFlag;exports.__Ignore=e.__Ignore;exports.__internalNotifyObjectDestroyed=e.__internalNotifyObjectDestroyed;exports.activeInHierarchyFieldName=e.activeInHierarchyFieldName;exports.addAttributeChangeCallback=e.addAttributeChangeCallback;exports.addComponent=e.addComponent;exports.addCustomExtensionPlugin=e.addCustomExtensionPlugin;exports.addNewComponent=e.addNewComponent;exports.addPatch=e.addPatch;exports.apply=e.apply;exports.applyHMRChanges=e.applyHMRChanges;exports.applyPrototypeExtensions=e.applyPrototypeExtensions;exports.beginListenDestroy=e.beginListenDestroy;exports.beginListenInstantiate=e.beginListenInstantiate;exports.binaryIdentifierCasts=e.binaryIdentifierCasts;exports.build_scene_functions=e.build_scene_functions;exports.builtinComponentKeyName=e.builtinComponentKeyName;exports.calculateProgress01=e.calculateProgress01;exports.clearBalloonMessages=e.clearMessages;exports.clearOverlayMessages=e.clearMessages;exports.colorSerializer=e.colorSerializer;exports.compareAssociation=e.compareAssociation;exports.componentSerializer=e.componentSerializer;exports.copyTexture=e.copyTexture;exports.createMotion=e.createMotion;exports.debugNet=e.debugNet;exports.debugOwner=e.debugOwner;exports.decompressGpuTexture=e.decompressGpuTexture;exports.deepClone=e.deepClone;exports.delay=e.delay;exports.delayForFrames=e.delayForFrames;exports.deserializeObject=e.deserializeObject;exports.destroy=e.destroy;exports.destroyComponentInstance=e.destroyComponentInstance;exports.determineMimeTypeFromExtension=e.determineMimeTypeFromExtension;exports.disposeObjectResources=e.disposeObjectResources;exports.disposeStream=e.disposeStream;exports.editorGuidKeyName=e.editorGuidKeyName;exports.enableSpatialConsole=e.enableSpatialConsole;exports.euler=e.euler;exports.eventListSerializer=e.eventListSerializer;exports.exportAsGLTF=e.exportAsGLTF;exports.findByGuid=e.findByGuid;exports.findObjectOfType=e.findObjectOfType;exports.findObjectsOfType=e.findObjectsOfType;exports.findResourceUsers=e.findResourceUsers;exports.fitCamera=e.fitCamera;exports.fitObjectIntoVolume=e.fitObjectIntoVolume;exports.foreachComponent=e.foreachComponent;exports.foreachComponentEnumerator=e.foreachComponentEnumerator;exports.forward=e.forward;exports.generateQRCode=e.generateQRCode;exports.generateSeed=e.generateSeed;exports.getBoundingBox=e.getBoundingBox;exports.getCameraController=e.getCameraController;exports.getComponent=e.getComponent;exports.getComponentInChildren=e.getComponentInChildren;exports.getComponentInParent=e.getComponentInParent;exports.getComponents=e.getComponents;exports.getComponentsInChildren=e.getComponentsInChildren;exports.getComponentsInParent=e.getComponentsInParent;exports.getFormattedDate=e.getFormattedDate;exports.getIconElement=e.getIconElement;exports.getIconTexture=e.getIconTexture;exports.getLoader=e.getLoader;exports.getOrAddComponent=e.getOrAddComponent;exports.getParam=e.getParam;exports.getParentHierarchyPath=e.getParentHierarchyPath;exports.getPath=e.getPath;exports.getPeerOptions=e.getPeerOptions;exports.getPeerjsInstance=e.getPeerjsInstance;exports.getResourceUserCount=e.getResourceUserCount;exports.getTempColor=e.getTempColor;exports.getTempQuaternion=e.getTempQuaternion;exports.getTempVector=e.getTempVector;exports.getUrlParams=e.getUrlParams;exports.getVisibleInCustomShadowRendering=e.getVisibleInCustomShadowRendering;exports.getWorldDirection=e.getWorldDirection;exports.getWorldEuler=e.getWorldEuler;exports.getWorldPosition=e.getWorldPosition;exports.getWorldQuaternion=e.getWorldQuaternion;exports.getWorldRotation=e.getWorldRotation;exports.getWorldScale=e.getWorldScale;exports.hasCommercialLicense=e.hasCommercialLicense;exports.hasIndieLicense=e.hasIndieLicense;exports.hasPointerEventComponent=e.hasPointerEventComponent;exports.hasProLicense=e.hasProLicense;exports.hideDebugConsole=e.hideDebugConsole;exports.imageToCanvas=e.imageToCanvas;exports.instantiate=e.instantiate;exports.invokeLoadedImportPluginHooks=e.invokeLoadedImportPluginHooks;exports.invokeXRSessionEnd=e.invokeXRSessionEnd;exports.invokeXRSessionStart=e.invokeXRSessionStart;exports.isActiveInHierarchy=e.isActiveInHierarchy;exports.isActiveSelf=e.isActiveSelf;exports.isAndroidDevice=e.isAndroidDevice;exports.isAnimationAction=e.isAnimationAction;exports.isComponent=e.isComponent;exports.isDebugMode=e.isDebugMode;exports.isDesktop=e.isDesktop;exports.isDestroyed=e.isDestroyed;exports.isDevEnvironment=e.isDevEnvironment;exports.isDisposed=e.isDisposed;exports.isExporting=e.isExporting;exports.isGLTFModel=e.isGLTFModel;exports.isHostedOnGlitch=e.isHostedOnGlitch;exports.isHotReloadEnabled=e.isHotReloadEnabled;exports.isHotReloading=e.isHotReloading;exports.isIPad=e.isIPad;exports.isIconElement=e.isIconElement;exports.isLocalNetwork=e.isLocalNetwork;exports.isMacOS=e.isMacOS;exports.isMobileDevice=e.isMobileDevice;exports.isMozillaXR=e.isMozillaXR;exports.isQuest=e.isQuest;exports.isResourceTrackingEnabled=e.isResourceTrackingEnabled;exports.isSafari=e.isSafari;exports.isUsingInstancing=e.isUsingInstancing;exports.isiOS=e.isiOS;exports.isiPad=e.isiPad;exports.loadAsset=e.loadAsset;exports.loadPMREM=e.loadPMREM;exports.loadSync=e.loadSync;exports.logHierarchy=e.logHierarchy;exports.lookAtInverse=e.lookAtInverse;exports.lookAtObject=e.lookAtObject;exports.lookAtScreenPoint=e.lookAtScreenPoint;exports.makeId=e.makeId;exports.makeIdFromRandomWords=e.makeIdFromRandomWords;exports.makeNameSafeForUSD=e.makeNameSafe;exports.markAsInstancedRendered=e.markAsInstancedRendered;exports.microphonePermissionsGranted=e.microphonePermissionsGranted;exports.nameof=e.nameof;exports.nameofFactory=e.nameofFactory;exports.objectSerializer=e.objectSerializer;exports.offXRSessionEnd=e.offXRSessionEnd;exports.offXRSessionStart=e.offXRSessionStart;exports.onAfterRender=e.onAfterRender;exports.onBeforeRender=e.onBeforeRender;exports.onClear=e.onClear;exports.onDestroy=e.onDestroy;exports.onInitialized=e.onInitialized;exports.onStart=e.onStart;exports.onUpdate=e.onUpdate;exports.onXRSessionEnd=e.onXRSessionEnd;exports.onXRSessionStart=e.onXRSessionStart;exports.parseSync=e.parseSync;exports.placeOnSurface=e.placeOnSurface;exports.postprocessFBXMaterials=e.postprocessFBXMaterials;exports.prefix=e.prefix;exports.pushState=e.pushState;exports.randomNumber=e.randomNumber;exports.registerBinaryType=e.registerBinaryType;exports.registerComponent=e.registerComponent;exports.registerComponentExtension=e.registerComponentExtension;exports.registerCustomEffectType=e.registerCustomEffectType;exports.registerExportExtensions=e.registerExportExtensions;exports.registerExtensions=e.registerExtensions;exports.registerHotReloadType=e.registerHotReloadType;exports.registerLoader=e.registerLoader;exports.registerPrefabProvider=e.registerPrefabProvider;exports.registerPrototypeExtensions=e.registerPrototypeExtensions;exports.registerType=e.registerType;exports.relativePathPrefix=e.relativePathPrefix;exports.removeAttributeChangeCallback=e.removeAttributeChangeCallback;exports.removeComponent=e.removeComponent;exports.removeCustomImportExtensionType=e.removeCustomImportExtensionType;exports.removePatch=e.removePatch;exports.resolveUrl=e.resolveUrl;exports.sanitizeString=e.sanitizeString;exports.saveImage=e.saveImage;exports.screenshot=e.screenshot;exports.screenshot2=e.screenshot2;exports.sendDestroyed=e.sendDestroyed;exports.serializable=e.serializable;exports.serializeObject=e.serializeObject;exports.serializeable=e.serializeable;exports.setActive=e.setActive;exports.setAllowBalloonMessages=e.setAllowBalloonMessages;exports.setAllowOverlayMessages=e.setAllowOverlayMessages;exports.setAutoFitEnabled=e.setAutoFitEnabled;exports.setCameraController=e.setCameraController;exports.setDestroyed=e.setDestroyed;exports.setDevEnvironment=e.setDevEnvironment;exports.setDisposable=e.setDisposable;exports.setDontDestroy=e.setDontDestroy;exports.setOrAddParamsToUrl=e.setOrAddParamsToUrl;exports.setParam=e.setParam;exports.setParamWithoutReload=e.setParamWithoutReload;exports.setPeerOptions=e.setPeerOptions;exports.setResourceTrackingEnabled=e.setResourceTrackingEnabled;exports.setState=e.setState;exports.setVisibleInCustomShadowRendering=e.setVisibleInCustomShadowRendering;exports.setWorldEuler=e.setWorldEuler;exports.setWorldPosition=e.setWorldPosition;exports.setWorldPositionXYZ=e.setWorldPositionXYZ;exports.setWorldQuaternion=e.setWorldQuaternion;exports.setWorldQuaternionXYZW=e.setWorldQuaternionXYZW;exports.setWorldRotation=e.setWorldRotation;exports.setWorldRotationXYZ=e.setWorldRotationXYZ;exports.setWorldScale=e.setWorldScale;exports.showBalloonError=e.showBalloonError;exports.showBalloonMessage=e.showBalloonMessage;exports.showBalloonWarning=e.showBalloonWarning;exports.showDebugConsole=e.showDebugConsole;exports.slerp=e.slerp;exports.syncDestroy=e.syncDestroy;exports.syncField=e.syncField;exports.syncInstantiate=e.syncInstantiate;exports.textureToCanvas=e.textureToCanvas;exports.toSourceId=e.toSourceId;exports.tryCastBinary=e.tryCastBinary;exports.tryDetermineMimetypeFromBinary=e.tryDetermineMimetypeFromBinary;exports.tryDetermineMimetypeFromURL=e.tryDetermineMimetypeFromURL;exports.tryFindObject=e.tryFindObject;exports.tryGetGuid=e.tryGetGuid;exports.unregisterHotReloadType=e.unregisterHotReloadType;exports.unwatchWrite=e.unwatchWrite;exports.useForAutoFit=e.useForAutoFit;exports.validate=e.validate;exports.watchWrite=e.watchWrite;exports.NEEDLE_progressive=i.NEEDLE_progressive;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./needle-engine.bundle-CgknXW5o.umd.cjs"),i=require("./gltf-progressive-Bfpfaz84.umd.cjs"),a=require("./three-Bf2NBxAw.umd.cjs"),o={VERSION:e.VERSION,Context:e.Context,NeedleXRSession:e.NeedleXRSession,assets:{loadFromURL:e.loadAsset},types:e.TypeStore,onStart:e.onStart,onUpdate:e.onUpdate,onBeforeRender:e.onBeforeRender,onAfterRender:e.onAfterRender,onInitializedContext:e.onInitialized,onDestroyContext:e.onDestroy,onClearContext:e.onClear};globalThis.Needle?.VERSION!==void 0&&console.warn(`Needle Engine is already imported: ${globalThis.Needle.VERSION}`);function n(t){for(const r in t)o[r]=t[r]}n(e.Component);n(e.Components);for(const t of Object.getOwnPropertyNames(e.GameObject))switch(t){case"prototype":case"constructor":case"length":case"name":continue;default:o[t]=e.GameObject[t];break}if(!globalThis.Needle)globalThis.Needle=o;else for(const t in o)globalThis.Needle[t]=o[t];globalThis.THREE?console.warn("Three.js is already imported"):globalThis.THREE=a.THREE;exports.$physicsKey=e.$physicsKey;exports.ActionBuilder=e.ActionBuilder;exports.ActionCollection=e.ActionCollection;exports.ActionModel=e.ActionModel;exports.Addressables=e.Addressables;exports.AlignmentConstraint=e.AlignmentConstraint;exports.AmbientMode=e.AmbientMode;exports.Animation=e.Animation;exports.AnimationCurve=e.AnimationCurve;exports.AnimationExtension=e.AnimationExtension;exports.AnimationTrackHandler=e.AnimationTrackHandler;exports.AnimationUtils=e.AnimationUtils;exports.Animator=e.Animator;exports.AnimatorConditionMode=e.AnimatorConditionMode;exports.AnimatorController=e.AnimatorController;exports.AnimatorControllerParameterType=e.AnimatorControllerParameterType;exports.AnimatorStateInfo=e.AnimatorStateInfo;exports.Antialiasing=e.Antialiasing;exports.Application=e.Application;exports.AssetDatabase=e.AssetDatabase;exports.AssetReference=e.AssetReference;exports.Attractor=e.Attractor;exports.AudioExtension=e.AudioExtension;exports.AudioListener=e.AudioListener;exports.AudioSource=e.AudioSource;exports.AudioTrackHandler=e.AudioTrackHandler;exports.Avatar=e.Avatar;exports.AvatarBlink_Simple=e.AvatarBlink_Simple;exports.AvatarEyeLook_Rotation=e.AvatarEyeLook_Rotation;exports.AvatarLoader=e.AvatarLoader;exports.AvatarMarker=e.AvatarMarker;exports.AvatarModel=e.AvatarModel;exports.Avatar_Brain_LookAt=e.Avatar_Brain_LookAt;exports.Avatar_MouthShapes=e.Avatar_MouthShapes;exports.Avatar_MustacheShake=e.Avatar_MustacheShake;exports.Avatar_POI=e.Avatar_POI;exports.Axes=e.Axes;exports.AxesHelper=e.AxesHelper;exports.BUILD_TIME=e.BUILD_TIME;exports.BaseUIComponent=e.BaseUIComponent;exports.BasicIKConstraint=e.BasicIKConstraint;exports.BehaviorExtension=e.BehaviorExtension;exports.BehaviorModel=e.BehaviorModel;exports.Behaviour=e.Component$1;Object.defineProperty(exports,"BlobStorage",{enumerable:!0,get:()=>e.BlobStorage});exports.BloomEffect=e.BloomEffect;exports.BoxCollider=e.BoxCollider;exports.BoxGizmo=e.BoxGizmo;exports.BoxHelperComponent=e.BoxHelperComponent;exports.Button=e.Button;exports.ButtonsFactory=e.ButtonsFactory;exports.CallDirection=e.CallDirection;exports.CallInfo=e.CallInfo;exports.Camera=e.Camera;exports.CameraTargetReachedEvent=e.CameraTargetReachedEvent;exports.Canvas=e.Canvas;exports.CanvasGroup=e.CanvasGroup;exports.CapsuleCollider=e.CapsuleCollider;exports.ChangeMaterialOnClick=e.ChangeMaterialOnClick;exports.ChangeTransformOnClick=e.ChangeTransformOnClick;exports.CharacterController=e.CharacterController;exports.CharacterControllerInput=e.CharacterControllerInput;exports.ChromaticAberration=e.ChromaticAberration;exports.CircularBuffer=e.CircularBuffer;exports.ClearFlags=e.ClearFlags;exports.ClickThrough=e.ClickThrough;exports.ClipExtrapolation=e.ClipExtrapolation;exports.Collider=e.Collider;exports.Collision=e.Collision;exports.CollisionDetectionMode=e.CollisionDetectionMode;exports.ColorAdjustments=e.ColorAdjustments;exports.ColorBySpeedModule=e.ColorBySpeedModule;exports.ColorOverLifetimeModule=e.ColorOverLifetimeModule;exports.Component=e.Component$1;exports.ComponentLifecycleEvents=e.ComponentLifecycleEvents;exports.ConnectionEvents=e.ConnectionEvents;exports.ContactPoint=e.ContactPoint;exports.ContactShadows=e.ContactShadows;exports.Context=e.Context;exports.ContextArgs=e.ContextArgs;exports.ContextEvent=e.ContextEvent;exports.ContextRegistry=e.ContextRegistry;exports.ControlTrackHandler=e.ControlTrackHandler;exports.CursorFollow=e.CursorFollow;exports.CustomBranding=e.CustomBranding;exports.CustomShader=e.CustomShader;exports.DefaultReflectionMode=e.DefaultReflectionMode;exports.Deletable=e.Deletable;exports.DeleteBox=e.DeleteBox;exports.DepthOfField=e.DepthOfField;exports.DeviceFlag=e.DeviceFlag;Object.defineProperty(exports,"DeviceUtilities",{enumerable:!0,get:()=>e.DeviceUtilities});exports.DocumentExtension=e.DocumentExtension;exports.DragControls=e.DragControls;exports.DragMode=e.DragMode;exports.DropListener=e.DropListener;exports.Duplicatable=e.Duplicatable;exports.EffectWrapper=e.EffectWrapper;exports.EmissionModule=e.EmissionModule;exports.EmphasizeOnClick=e.EmphasizeOnClick;exports.EngineLoadingView=e.EngineLoadingView;exports.EnvironmentScene=e.EnvironmentScene;exports.EventList=e.EventList;exports.EventListEvent=e.EventListEvent;exports.EventSystem=e.EventSystem;exports.EventTrigger=e.EventTrigger;exports.FieldWithDefault=e.FieldWithDefault;exports.FileReference=e.FileReference;exports.FileReferenceSerializer=e.FileReferenceSerializer;exports.FileSpawnModel=e.FileSpawnModel;exports.File_Event=e.File_Event;exports.FixedJoint=e.FixedJoint;exports.Fog=e.Fog;exports.FrameEvent=e.FrameEvent;exports.GENERATOR=e.GENERATOR;exports.GameObject=e.GameObject;exports.Gizmos=e.Gizmos;exports.GltfExport=e.GltfExport;exports.GltfExportBox=e.GltfExportBox;exports.Gradient=e.Gradient;exports.Graphic=e.Graphic;exports.GraphicRaycaster=e.GraphicRaycaster;exports.Graphics=e.Graphics;exports.GridHelper=e.GridHelper;exports.GridLayoutGroup=e.GridLayoutGroup;exports.GroundProjectedEnv=e.GroundProjectedEnv;exports.GroupActionModel=e.GroupActionModel;exports.HideFlags=e.HideFlags;exports.HideOnStart=e.HideOnStart;exports.HingeJoint=e.HingeJoint;exports.HorizontalLayoutGroup=e.HorizontalLayoutGroup;exports.HostData=e.HostData;Object.defineProperty(exports,"HoverAnimation",{enumerable:!0,get:()=>e.HoverAnimation});exports.Image=e.Image;exports.ImageReference=e.ImageReference;exports.ImageReferenceSerializer=e.ImageReferenceSerializer;exports.InheritVelocityModule=e.InheritVelocityModule;exports.Input=e.Input;exports.InputEventQueue=e.InputEventQueue;exports.InputEvents=e.InputEvents;exports.InputField=e.InputField;exports.InstanceHandle=e.InstanceHandle;exports.InstancingHandler=e.InstancingHandler;exports.InstancingUtil=e.InstancingUtil;exports.InstantiateEvent=e.InstantiateEvent;exports.InstantiateIdProvider=e.InstantiateIdProvider;exports.InstantiateOptions=e.InstantiateOptions;exports.Interactable=e.Interactable;Object.defineProperty(exports,"InternalScreenshotUtils",{enumerable:!0,get:()=>e.InternalScreenshotUtils});exports.JoinedRoomResponse=e.JoinedRoomResponse;exports.KeyEventArgs=e.KeyEventArgs;exports.Keyframe=e.Keyframe;exports.LODGroup=e.LODGroup;exports.LODModel=e.LODModel;exports.LeftRoomResponse=e.LeftRoomResponse;exports.Light=e.Light;exports.LightData=e.LightData;exports.LimitVelocityOverLifetimeModule=e.LimitVelocityOverLifetimeModule;exports.LoadingElementOptions=e.LoadingElementOptions;exports.LogStats=e.LogStats;exports.LogType=e.LogType;exports.LookAt=e.LookAt;exports.LookAtConstraint=e.LookAtConstraint;exports.MainModule=e.MainModule;exports.MarkerTrackHandler=e.MarkerTrackHandler;exports.MarkerType=e.MarkerType;exports.MaskableGraphic=e.MaskableGraphic;exports.Mathf=e.Mathf;exports.MeshCollider=e.MeshCollider;exports.MeshRenderer=e.MeshRenderer;exports.MinMaxCurve=e.MinMaxCurve;exports.MinMaxGradient=e.MinMaxGradient;Object.defineProperty(exports,"NEEDLE_ENGINE_FEATURE_FLAGS",{enumerable:!0,get:()=>e.NEEDLE_ENGINE_FEATURE_FLAGS});Object.defineProperty(exports,"NEEDLE_ENGINE_MODULES",{enumerable:!0,get:()=>e.MODULES});exports.NEKeyboardEvent=e.NEKeyboardEvent;exports.NEPointerEvent=e.NEPointerEvent;exports.NeedleButtonElement=e.NeedleButtonElement;exports.NeedleEngine=e.ContextRegistry;Object.defineProperty(exports,"NeedleEngineModelLoader",{enumerable:!0,get:()=>e.NeedleEngineModelLoader});exports.NeedleEngineWebComponent=e.NeedleEngineWebComponent;exports.NeedleMenu=e.NeedleMenu;exports.NeedlePatchesKey=e.NeedlePatchesKey;exports.NeedleUSDZExporter=e.USDZExporter;exports.NeedleXRController=e.NeedleXRController;exports.NeedleXRSession=e.NeedleXRSession;exports.NeedleXRSync=e.NeedleXRSync;exports.NeedleXRUtils=e.NeedleXRUtils;exports.NestedGltf=e.NestedGltf;exports.NetworkConnection=e.NetworkConnection;exports.NetworkedStreamEvents=e.NetworkedStreamEvents;exports.NetworkedStreams=e.NetworkedStreams;exports.Networking=e.Networking;exports.NewInstanceModel=e.NewInstanceModel;exports.NoiseModule=e.NoiseModule;exports.ObjectRaycaster=e.ObjectRaycaster;exports.ObjectUtils=e.ObjectUtils;exports.OffsetConstraint=e.OffsetConstraint;exports.OneEuroFilter=e.OneEuroFilter;exports.OneEuroFilterXYZ=e.OneEuroFilterXYZ;exports.OpenURL=e.OpenURL;exports.OrbitControls=e.OrbitControls;exports.Outline=e.Outline;exports.OwnershipEvent=e.OwnershipEvent;exports.OwnershipModel=e.OwnershipModel;exports.PUBLIC_KEY=e.PUBLIC_KEY;exports.Padding=e.Padding;exports.ParticleBurst=e.ParticleBurst;exports.ParticleSubEmitter=e.ParticleSubEmitter;exports.ParticleSystem=e.ParticleSystem;exports.ParticleSystemBaseBehaviour=e.ParticleSystemBaseBehaviour;exports.ParticleSystemRenderer=e.ParticleSystemRenderer;exports.ParticleSystemShapeType=e.ParticleSystemShapeType;exports.PeerHandle=e.PeerHandle;exports.PeerNetworking=e.PeerNetworking;exports.Physics=e.Physics;exports.PhysicsExtension=e.PhysicsExtension;exports.PhysicsMaterialCombine=e.PhysicsMaterialCombine;exports.PixelationEffect=e.PixelationEffect;exports.PlayAnimationOnClick=e.PlayAnimationOnClick;exports.PlayAudioOnClick=e.PlayAudioOnClick;exports.PlayableDirector=e.PlayableDirector;exports.PlayerColor=e.PlayerColor;exports.PlayerState=e.PlayerState;exports.PlayerStateEvent=e.PlayerStateEvent;exports.PlayerSync=e.PlayerSync;exports.PlayerView=e.PlayerView;exports.PlayerViewManager=e.PlayerViewManager;exports.PointerEventData=e.PointerEventData;exports.PointerType=e.PointerType;exports.PostProcessingEffect=e.PostProcessingEffect;exports.PostProcessingEffectOrder=e.PostProcessingEffectOrder;exports.PostProcessingHandler=e.PostProcessingHandler;exports.PostProcessingManager=e.Volume;exports.PreliminaryAction=e.PreliminaryAction;exports.PreliminaryTrigger=e.PreliminaryTrigger;Object.defineProperty(exports,"PreviewHelper",{enumerable:!0,get:()=>e.PreviewHelper});exports.PrimitiveType=e.PrimitiveType;exports.Progress=e.Progress;exports.PromiseAllWithErrors=e.PromiseAllWithErrors;exports.PromiseErrorResult=e.PromiseErrorResult;exports.RGBAColor=e.RGBAColor;exports.RapierPhysics=e.RapierPhysics;exports.RawImage=e.RawImage;exports.RaycastOptions=e.RaycastOptions;exports.Rect=e.Rect;exports.RectTransform=e.RectTransform;exports.ReflectionProbe=e.ReflectionProbe;exports.RegisteredAnimationInfo=e.RegisteredAnimationInfo;exports.RemoteSkybox=e.RemoteSkybox;exports.RenderTexture=e.RenderTexture;exports.RenderTextureSerializer=e.RenderTextureSerializer;exports.Renderer=e.Renderer;exports.RendererData=e.RendererData;exports.RendererLightmap=e.RendererLightmap;exports.Rigidbody=e.Rigidbody;exports.RigidbodyConstraints=e.RigidbodyConstraints;exports.RoomEvents=e.RoomEvents;exports.RotationBySpeedModule=e.RotationBySpeedModule;exports.RotationOverLifetimeModule=e.RotationOverLifetimeModule;exports.SceneLightSettings=e.SceneLightSettings;exports.SceneSwitcher=e.SceneSwitcher;exports.ScreenCapture=e.ScreenCapture;exports.ScreenSpaceAmbientOcclusion=e.ScreenSpaceAmbientOcclusion;exports.ScreenSpaceAmbientOcclusionN8=e.ScreenSpaceAmbientOcclusionN8;exports.ScrollFollow=e.ScrollFollow;exports.SeeThrough=e.SeeThrough;exports.SendQueue=e.SendQueue;exports.SerializationContext=e.SerializationContext;exports.SetActiveOnClick=e.SetActiveOnClick;exports.ShadowCatcher=e.ShadowCatcher;exports.ShapeModule=e.ShapeModule;exports.ShapeOverlapResult=e.ShapeOverlapResult;exports.SharpeningEffect=e.SharpeningEffect;exports.SignalAsset=e.SignalAsset;exports.SignalReceiver=e.SignalReceiver;exports.SignalReceiverEvent=e.SignalReceiverEvent;exports.SignalTrackHandler=e.SignalTrackHandler;exports.Size=e.Size;exports.SizeBySpeedModule=e.SizeBySpeedModule;exports.SizeOverLifetimeModule=e.SizeOverLifetimeModule;exports.SkinnedMeshRenderer=e.SkinnedMeshRenderer;exports.SmoothFollow=e.SmoothFollow;exports.SpatialGrabRaycaster=e.SpatialGrabRaycaster;exports.SpatialHtml=e.SpatialHtml;exports.SpatialTrigger=e.SpatialTrigger;exports.SpatialTriggerReceiver=e.SpatialTriggerReceiver;exports.SpectatorCamera=e.SpectatorCamera;exports.SphereCollider=e.SphereCollider;exports.SphereIntersection=e.SphereIntersection;exports.SplineContainer=e.SplineContainer;exports.SplineData=e.SplineData;Object.defineProperty(exports,"SplineUtils",{enumerable:!0,get:()=>e.SplineUtils});exports.SplineWalker=e.SplineWalker;exports.Sprite=e.Sprite;exports.SpriteData=e.SpriteData;exports.SpriteRenderer=e.SpriteRenderer;exports.SpriteSheet=e.SpriteSheet;exports.StateMachineBehaviour=e.StateMachineBehaviour;exports.StreamEndedEvent=e.StreamEndedEvent;exports.StreamReceivedEvent=e.StreamReceivedEvent;exports.SubEmitterSystem=e.SubEmitterSystem;exports.SyncedCamera=e.SyncedCamera;exports.SyncedRoom=e.SyncedRoom;exports.SyncedTransform=e.SyncedTransform;exports.TapGestureTrigger=e.TapGestureTrigger;exports.TeleportTarget=e.TeleportTarget;exports.TestRunner=e.TestRunner;exports.TestSceneUtils=e.TestSceneUtils;exports.TestSimulateUserData=e.TestSimulateUserData;exports.Text=e.Text;exports.TextBuilder=e.TextBuilder;exports.TextExtension=e.TextExtension;exports.TextureSheetAnimationModule=e.TextureSheetAnimationModule;exports.TiltShiftEffect=e.TiltShiftEffect;exports.Time=e.Time;exports.ToneMappingEffect=e.ToneMappingEffect;exports.TrackHandler=e.TrackHandler;exports.TrackType=e.TrackType;exports.TrailModule=e.TrailModule;exports.TransformData=e.TransformData;exports.TransformGizmo=e.TransformGizmo;exports.TriggerBuilder=e.TriggerBuilder;exports.TriggerModel=e.TriggerModel;exports.TypeStore=e.TypeStore;exports.UIRaycastUtils=e.UIRaycastUtils;exports.UIRootComponent=e.UIRootComponent;exports.USDDocument=e.USDDocument;exports.USDObject=e.USDObject;exports.USDWriter=e.USDWriter;exports.USDZExporter=e.USDZExporter$1;exports.USDZText=e.USDZText;exports.USDZUIExtension=e.USDZUIExtension;exports.UriSerializer=e.UriSerializer;exports.UsageMarker=e.UsageMarker;exports.UserJoinedOrLeftRoomModel=e.UserJoinedOrLeftRoomModel;exports.VERSION=e.VERSION;exports.VariantAction=e.VariantAction;exports.VelocityOverLifetimeModule=e.VelocityOverLifetimeModule;exports.VerticalLayoutGroup=e.VerticalLayoutGroup;exports.VideoPlayer=e.VideoPlayer;Object.defineProperty(exports,"ViewBox",{enumerable:!0,get:()=>e.ViewBox});exports.ViewDevice=e.ViewDevice;exports.Vignette=e.Vignette;exports.VisibilityAction=e.VisibilityAction;exports.Voip=e.Voip;exports.Volume=e.Volume;exports.VolumeParameter=e.VolumeParameter;exports.VolumeProfile=e.VolumeProfile;exports.WaitForFrames=e.WaitForFrames;exports.WaitForPromise=e.WaitForPromise;exports.WaitForSeconds=e.WaitForSeconds;exports.Watch=e.Watch;exports.WebARCameraBackground=e.WebARCameraBackground;exports.WebARSessionRoot=e.WebARSessionRoot;exports.WebXR=e.WebXR;exports.WebXRButtonFactory=e.WebXRButtonFactory;exports.WebXRImageTracking=e.WebXRImageTracking;exports.WebXRImageTrackingModel=e.WebXRImageTrackingModel;exports.WebXRPlaneTracking=e.WebXRPlaneTracking;exports.WebXRTrackedImage=e.WebXRTrackedImage;exports.XRControllerFollow=e.XRControllerFollow;exports.XRControllerModel=e.XRControllerModel;exports.XRControllerMovement=e.XRControllerMovement;exports.XRFlag=e.XRFlag;exports.XRRig=e.XRRig;exports.XRState=e.XRState;exports.XRStateFlag=e.XRStateFlag;exports.__Ignore=e.__Ignore;exports.__internalNotifyObjectDestroyed=e.__internalNotifyObjectDestroyed;exports.activeInHierarchyFieldName=e.activeInHierarchyFieldName;exports.addAttributeChangeCallback=e.addAttributeChangeCallback;exports.addComponent=e.addComponent;exports.addCustomExtensionPlugin=e.addCustomExtensionPlugin;exports.addNewComponent=e.addNewComponent;exports.addPatch=e.addPatch;exports.apply=e.apply;exports.applyHMRChanges=e.applyHMRChanges;exports.applyPrototypeExtensions=e.applyPrototypeExtensions;exports.beginListenDestroy=e.beginListenDestroy;exports.beginListenInstantiate=e.beginListenInstantiate;exports.binaryIdentifierCasts=e.binaryIdentifierCasts;exports.build_scene_functions=e.build_scene_functions;exports.builtinComponentKeyName=e.builtinComponentKeyName;exports.calculateProgress01=e.calculateProgress01;exports.clearBalloonMessages=e.clearMessages;exports.clearOverlayMessages=e.clearMessages;exports.colorSerializer=e.colorSerializer;exports.compareAssociation=e.compareAssociation;exports.componentSerializer=e.componentSerializer;exports.copyTexture=e.copyTexture;exports.createMotion=e.createMotion;exports.debugNet=e.debugNet;exports.debugOwner=e.debugOwner;exports.decompressGpuTexture=e.decompressGpuTexture;exports.deepClone=e.deepClone;exports.delay=e.delay;exports.delayForFrames=e.delayForFrames;exports.deserializeObject=e.deserializeObject;exports.destroy=e.destroy;exports.destroyComponentInstance=e.destroyComponentInstance;exports.determineMimeTypeFromExtension=e.determineMimeTypeFromExtension;exports.disposeObjectResources=e.disposeObjectResources;exports.disposeStream=e.disposeStream;exports.editorGuidKeyName=e.editorGuidKeyName;exports.enableSpatialConsole=e.enableSpatialConsole;exports.euler=e.euler;exports.eventListSerializer=e.eventListSerializer;exports.exportAsGLTF=e.exportAsGLTF;exports.findByGuid=e.findByGuid;exports.findObjectOfType=e.findObjectOfType;exports.findObjectsOfType=e.findObjectsOfType;exports.findResourceUsers=e.findResourceUsers;exports.fitCamera=e.fitCamera;exports.fitObjectIntoVolume=e.fitObjectIntoVolume;exports.foreachComponent=e.foreachComponent;exports.foreachComponentEnumerator=e.foreachComponentEnumerator;exports.forward=e.forward;exports.generateQRCode=e.generateQRCode;exports.generateSeed=e.generateSeed;exports.getBoundingBox=e.getBoundingBox;exports.getCameraController=e.getCameraController;exports.getComponent=e.getComponent;exports.getComponentInChildren=e.getComponentInChildren;exports.getComponentInParent=e.getComponentInParent;exports.getComponents=e.getComponents;exports.getComponentsInChildren=e.getComponentsInChildren;exports.getComponentsInParent=e.getComponentsInParent;exports.getFormattedDate=e.getFormattedDate;exports.getIconElement=e.getIconElement;exports.getIconTexture=e.getIconTexture;exports.getLoader=e.getLoader;exports.getOrAddComponent=e.getOrAddComponent;exports.getParam=e.getParam;exports.getParentHierarchyPath=e.getParentHierarchyPath;exports.getPath=e.getPath;exports.getPeerOptions=e.getPeerOptions;exports.getPeerjsInstance=e.getPeerjsInstance;exports.getResourceUserCount=e.getResourceUserCount;exports.getTempColor=e.getTempColor;exports.getTempQuaternion=e.getTempQuaternion;exports.getTempVector=e.getTempVector;exports.getUrlParams=e.getUrlParams;exports.getVisibleInCustomShadowRendering=e.getVisibleInCustomShadowRendering;exports.getWorldDirection=e.getWorldDirection;exports.getWorldEuler=e.getWorldEuler;exports.getWorldPosition=e.getWorldPosition;exports.getWorldQuaternion=e.getWorldQuaternion;exports.getWorldRotation=e.getWorldRotation;exports.getWorldScale=e.getWorldScale;exports.hasCommercialLicense=e.hasCommercialLicense;exports.hasIndieLicense=e.hasIndieLicense;exports.hasPointerEventComponent=e.hasPointerEventComponent;exports.hasProLicense=e.hasProLicense;exports.hideDebugConsole=e.hideDebugConsole;exports.imageToCanvas=e.imageToCanvas;exports.instantiate=e.instantiate;exports.invokeLoadedImportPluginHooks=e.invokeLoadedImportPluginHooks;exports.invokeXRSessionEnd=e.invokeXRSessionEnd;exports.invokeXRSessionStart=e.invokeXRSessionStart;exports.isActiveInHierarchy=e.isActiveInHierarchy;exports.isActiveSelf=e.isActiveSelf;exports.isAndroidDevice=e.isAndroidDevice;exports.isAnimationAction=e.isAnimationAction;exports.isComponent=e.isComponent;exports.isDebugMode=e.isDebugMode;exports.isDesktop=e.isDesktop;exports.isDestroyed=e.isDestroyed;exports.isDevEnvironment=e.isDevEnvironment;exports.isDisposed=e.isDisposed;exports.isExporting=e.isExporting;exports.isGLTFModel=e.isGLTFModel;exports.isHostedOnGlitch=e.isHostedOnGlitch;exports.isHotReloadEnabled=e.isHotReloadEnabled;exports.isHotReloading=e.isHotReloading;exports.isIPad=e.isIPad;exports.isIconElement=e.isIconElement;exports.isLocalNetwork=e.isLocalNetwork;exports.isMacOS=e.isMacOS;exports.isMobileDevice=e.isMobileDevice;exports.isMozillaXR=e.isMozillaXR;exports.isQuest=e.isQuest;exports.isResourceTrackingEnabled=e.isResourceTrackingEnabled;exports.isSafari=e.isSafari;exports.isUsingInstancing=e.isUsingInstancing;exports.isiOS=e.isiOS;exports.isiPad=e.isiPad;exports.loadAsset=e.loadAsset;exports.loadPMREM=e.loadPMREM;exports.loadSync=e.loadSync;exports.logHierarchy=e.logHierarchy;exports.lookAtInverse=e.lookAtInverse;exports.lookAtObject=e.lookAtObject;exports.lookAtScreenPoint=e.lookAtScreenPoint;exports.makeId=e.makeId;exports.makeIdFromRandomWords=e.makeIdFromRandomWords;exports.makeNameSafeForUSD=e.makeNameSafe;exports.markAsInstancedRendered=e.markAsInstancedRendered;exports.microphonePermissionsGranted=e.microphonePermissionsGranted;exports.nameof=e.nameof;exports.nameofFactory=e.nameofFactory;exports.objectSerializer=e.objectSerializer;exports.offXRSessionEnd=e.offXRSessionEnd;exports.offXRSessionStart=e.offXRSessionStart;exports.onAfterRender=e.onAfterRender;exports.onBeforeRender=e.onBeforeRender;exports.onClear=e.onClear;exports.onDestroy=e.onDestroy;exports.onInitialized=e.onInitialized;exports.onStart=e.onStart;exports.onUpdate=e.onUpdate;exports.onXRSessionEnd=e.onXRSessionEnd;exports.onXRSessionStart=e.onXRSessionStart;exports.parseSync=e.parseSync;exports.placeOnSurface=e.placeOnSurface;exports.postprocessFBXMaterials=e.postprocessFBXMaterials;exports.prefix=e.prefix;exports.pushState=e.pushState;exports.randomNumber=e.randomNumber;exports.registerBinaryType=e.registerBinaryType;exports.registerComponent=e.registerComponent;exports.registerComponentExtension=e.registerComponentExtension;exports.registerCustomEffectType=e.registerCustomEffectType;exports.registerExportExtensions=e.registerExportExtensions;exports.registerExtensions=e.registerExtensions;exports.registerHotReloadType=e.registerHotReloadType;exports.registerLoader=e.registerLoader;exports.registerPrefabProvider=e.registerPrefabProvider;exports.registerPrototypeExtensions=e.registerPrototypeExtensions;exports.registerType=e.registerType;exports.relativePathPrefix=e.relativePathPrefix;exports.removeAttributeChangeCallback=e.removeAttributeChangeCallback;exports.removeComponent=e.removeComponent;exports.removeCustomImportExtensionType=e.removeCustomImportExtensionType;exports.removePatch=e.removePatch;exports.resolveUrl=e.resolveUrl;exports.sanitizeString=e.sanitizeString;exports.saveImage=e.saveImage;exports.screenshot=e.screenshot;exports.screenshot2=e.screenshot2;exports.sendDestroyed=e.sendDestroyed;exports.serializable=e.serializable;exports.serializeObject=e.serializeObject;exports.serializeable=e.serializeable;exports.setActive=e.setActive;exports.setAllowBalloonMessages=e.setAllowBalloonMessages;exports.setAllowOverlayMessages=e.setAllowOverlayMessages;exports.setAutoFitEnabled=e.setAutoFitEnabled;exports.setCameraController=e.setCameraController;exports.setDestroyed=e.setDestroyed;exports.setDevEnvironment=e.setDevEnvironment;exports.setDisposable=e.setDisposable;exports.setDontDestroy=e.setDontDestroy;exports.setOrAddParamsToUrl=e.setOrAddParamsToUrl;exports.setParam=e.setParam;exports.setParamWithoutReload=e.setParamWithoutReload;exports.setPeerOptions=e.setPeerOptions;exports.setResourceTrackingEnabled=e.setResourceTrackingEnabled;exports.setState=e.setState;exports.setVisibleInCustomShadowRendering=e.setVisibleInCustomShadowRendering;exports.setWorldEuler=e.setWorldEuler;exports.setWorldPosition=e.setWorldPosition;exports.setWorldPositionXYZ=e.setWorldPositionXYZ;exports.setWorldQuaternion=e.setWorldQuaternion;exports.setWorldQuaternionXYZW=e.setWorldQuaternionXYZW;exports.setWorldRotation=e.setWorldRotation;exports.setWorldRotationXYZ=e.setWorldRotationXYZ;exports.setWorldScale=e.setWorldScale;exports.showBalloonError=e.showBalloonError;exports.showBalloonMessage=e.showBalloonMessage;exports.showBalloonWarning=e.showBalloonWarning;exports.showDebugConsole=e.showDebugConsole;exports.slerp=e.slerp;exports.syncDestroy=e.syncDestroy;exports.syncField=e.syncField;exports.syncInstantiate=e.syncInstantiate;exports.textureToCanvas=e.textureToCanvas;exports.toSourceId=e.toSourceId;exports.tryCastBinary=e.tryCastBinary;exports.tryDetermineMimetypeFromBinary=e.tryDetermineMimetypeFromBinary;exports.tryDetermineMimetypeFromURL=e.tryDetermineMimetypeFromURL;exports.tryFindObject=e.tryFindObject;exports.tryGetGuid=e.tryGetGuid;exports.unregisterHotReloadType=e.unregisterHotReloadType;exports.unwatchWrite=e.unwatchWrite;exports.useForAutoFit=e.useForAutoFit;exports.validate=e.validate;exports.watchWrite=e.watchWrite;exports.NEEDLE_progressive=i.NEEDLE_progressive;
@@ -1,4 +1,4 @@
1
- "use strict";const r=require("./three-Bf2NBxAw.umd.cjs"),Zt=require("./three-examples-Dho7cuu4.umd.cjs");var jt="6.38.1",Jt=class{dispose(){}},Me=1/1e3,qt=1e3,ot=class{constructor(){this.startTime=performance.now(),this.previousTime=0,this.currentTime=0,this._delta=0,this._elapsed=0,this._fixedDelta=1e3/60,this.timescale=1,this.useFixedDelta=!1,this._autoReset=!1}get autoReset(){return this._autoReset}set autoReset(e){typeof document<"u"&&document.hidden!==void 0&&(e?document.addEventListener("visibilitychange",this):document.removeEventListener("visibilitychange",this),this._autoReset=e)}get delta(){return this._delta*Me}get fixedDelta(){return this._fixedDelta*Me}set fixedDelta(e){this._fixedDelta=e*qt}get elapsed(){return this._elapsed*Me}update(e){this.useFixedDelta?this._delta=this.fixedDelta:(this.previousTime=this.currentTime,this.currentTime=(e!==void 0?e:performance.now())-this.startTime,this._delta=this.currentTime-this.previousTime),this._delta*=this.timescale,this._elapsed+=this._delta}reset(){this._delta=0,this._elapsed=0,this.currentTime=performance.now()-this.startTime}getDelta(){return this.delta}getElapsed(){return this.elapsed}handleEvent(e){document.hidden||(this.currentTime=performance.now()-this.startTime)}dispose(){this.autoReset=!1}},_t=(()=>{const e=new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),t=new Float32Array([0,0,2,0,0,2]),i=new r.BufferGeometry;return i.setAttribute("position",new r.BufferAttribute(e,3)),i.setAttribute("uv",new r.BufferAttribute(t,2)),i})(),P=class Fe{static get fullscreenGeometry(){return _t}constructor(t="Pass",i=new r.Scene,a=new r.OrthographicCamera){this.name=t,this.renderer=null,this.scene=i,this.camera=a,this.screen=null,this.rtt=!0,this.needsSwap=!0,this.needsDepthTexture=!1,this.enabled=!0}get renderToScreen(){return!this.rtt}set renderToScreen(t){if(this.rtt===t){const i=this.fullscreenMaterial;i!==null&&(i.needsUpdate=!0),this.rtt=!t}}set mainScene(t){}set mainCamera(t){}setRenderer(t){this.renderer=t}isEnabled(){return this.enabled}setEnabled(t){this.enabled=t}get fullscreenMaterial(){return this.screen!==null?this.screen.material:null}set fullscreenMaterial(t){let i=this.screen;i!==null?i.material=t:(i=new r.Mesh(Fe.fullscreenGeometry,t),i.frustumCulled=!1,this.scene===null&&(this.scene=new r.Scene),this.scene.add(i),this.screen=i)}getFullscreenMaterial(){return this.fullscreenMaterial}setFullscreenMaterial(t){this.fullscreenMaterial=t}getDepthTexture(){return null}setDepthTexture(t,i=r.BasicDepthPacking){}render(t,i,a,s,o){throw new Error("Render method not implemented!")}setSize(t,i){}initialize(t,i,a){}dispose(){for(const t of Object.keys(this)){const i=this[t];(i instanceof r.WebGLRenderTarget||i instanceof r.Material||i instanceof r.Texture||i instanceof Fe)&&this[t].dispose()}this.fullscreenMaterial!==null&&this.fullscreenMaterial.dispose()}},lt=class extends P{constructor(){super("ClearMaskPass",null,null),this.needsSwap=!1}render(e,t,i,a,s){const o=e.state.buffers.stencil;o.setLocked(!1),o.setTest(!1)}},$t=`#ifdef COLOR_WRITE
1
+ "use strict";const r=require("./three-Bf2NBxAw.umd.cjs"),Zt=require("./three-examples-Djbk6WA4.umd.cjs");var jt="6.38.2",Jt=class{dispose(){}},Me=1/1e3,qt=1e3,ot=class{constructor(){this.startTime=performance.now(),this.previousTime=0,this.currentTime=0,this._delta=0,this._elapsed=0,this._fixedDelta=1e3/60,this.timescale=1,this.useFixedDelta=!1,this._autoReset=!1}get autoReset(){return this._autoReset}set autoReset(e){typeof document<"u"&&document.hidden!==void 0&&(e?document.addEventListener("visibilitychange",this):document.removeEventListener("visibilitychange",this),this._autoReset=e)}get delta(){return this._delta*Me}get fixedDelta(){return this._fixedDelta*Me}set fixedDelta(e){this._fixedDelta=e*qt}get elapsed(){return this._elapsed*Me}update(e){this.useFixedDelta?this._delta=this.fixedDelta:(this.previousTime=this.currentTime,this.currentTime=(e!==void 0?e:performance.now())-this.startTime,this._delta=this.currentTime-this.previousTime),this._delta*=this.timescale,this._elapsed+=this._delta}reset(){this._delta=0,this._elapsed=0,this.currentTime=performance.now()-this.startTime}getDelta(){return this.delta}getElapsed(){return this.elapsed}handleEvent(e){document.hidden||(this.currentTime=performance.now()-this.startTime)}dispose(){this.autoReset=!1}},_t=(()=>{const e=new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),t=new Float32Array([0,0,2,0,0,2]),i=new r.BufferGeometry;return i.setAttribute("position",new r.BufferAttribute(e,3)),i.setAttribute("uv",new r.BufferAttribute(t,2)),i})(),P=class Fe{static get fullscreenGeometry(){return _t}constructor(t="Pass",i=new r.Scene,a=new r.OrthographicCamera){this.name=t,this.renderer=null,this.scene=i,this.camera=a,this.screen=null,this.rtt=!0,this.needsSwap=!0,this.needsDepthTexture=!1,this.enabled=!0}get renderToScreen(){return!this.rtt}set renderToScreen(t){if(this.rtt===t){const i=this.fullscreenMaterial;i!==null&&(i.needsUpdate=!0),this.rtt=!t}}set mainScene(t){}set mainCamera(t){}setRenderer(t){this.renderer=t}isEnabled(){return this.enabled}setEnabled(t){this.enabled=t}get fullscreenMaterial(){return this.screen!==null?this.screen.material:null}set fullscreenMaterial(t){let i=this.screen;i!==null?i.material=t:(i=new r.Mesh(Fe.fullscreenGeometry,t),i.frustumCulled=!1,this.scene===null&&(this.scene=new r.Scene),this.scene.add(i),this.screen=i)}getFullscreenMaterial(){return this.fullscreenMaterial}setFullscreenMaterial(t){this.fullscreenMaterial=t}getDepthTexture(){return null}setDepthTexture(t,i=r.BasicDepthPacking){}render(t,i,a,s,o){throw new Error("Render method not implemented!")}setSize(t,i){}initialize(t,i,a){}dispose(){for(const t of Object.keys(this)){const i=this[t];(i instanceof r.WebGLRenderTarget||i instanceof r.Material||i instanceof r.Texture||i instanceof Fe)&&this[t].dispose()}this.fullscreenMaterial!==null&&this.fullscreenMaterial.dispose()}},lt=class extends P{constructor(){super("ClearMaskPass",null,null),this.needsSwap=!1}render(e,t,i,a,s){const o=e.state.buffers.stencil;o.setLocked(!1),o.setTest(!1)}},$t=`#ifdef COLOR_WRITE
2
2
  #include <common>
3
3
  #include <dithering_pars_fragment>
4
4
  #ifdef FRAMEBUFFER_PRECISION_HIGH
@@ -261,7 +261,7 @@ uniform mediump sampler2D lut;
261
261
  #else
262
262
  uniform lowp sampler2D lut;
263
263
  #endif
264
- void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){outputColor=vec4(texture2D(lut,vec2(inputColor.r,0.5)).r,texture2D(lut,vec2(inputColor.g,0.5)).r,texture2D(lut,vec2(inputColor.b,0.5)).r,inputColor.a);}`,Fi=class extends C{constructor(e,{blendFunction:t=v.SRC}={}){super("LUT1DEffect",bi,{blendFunction:t,uniforms:new Map([["lut",new r.Uniform$1(null)]])}),this.lut=e}get lut(){return this.uniforms.get("lut").value}set lut(e){this.uniforms.get("lut").value=e,e!==null&&(e.type===r.FloatType||e.type===r.HalfFloatType)&&this.defines.set("LUT_PRECISION_HIGH","1")}},wt={SCALE_UP:"lut.scaleup"};function je(e,t,i){const a=document.createElement("canvas"),s=a.getContext("2d");if(a.width=e,a.height=t,i instanceof Image)s.drawImage(i,0,0);else{const o=s.createImageData(e,t);o.data.set(i),s.putImageData(o,0,0)}return a}var Y=class St{constructor(t=0,i=0,a=null){this.width=t,this.height=i,this.data=a}toCanvas(){return typeof document>"u"?null:je(this.width,this.height,this.data)}static from(t){const{width:i,height:a}=t;let s;if(t instanceof Image){const o=je(i,a,t);o!==null&&(s=o.getContext("2d").getImageData(0,0,i,a).data)}else s=t.data;return new St(i,a,s)}},Li=`"use strict";(()=>{var O={SCALE_UP:"lut.scaleup"};var _=[new Float32Array(3),new Float32Array(3)],n=[new Float32Array(3),new Float32Array(3),new Float32Array(3),new Float32Array(3)],Z=[[new Float32Array([0,0,0]),new Float32Array([1,0,0]),new Float32Array([1,1,0]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([1,0,0]),new Float32Array([1,0,1]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,0,1]),new Float32Array([1,0,1]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,1,0]),new Float32Array([1,1,0]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,1,0]),new Float32Array([0,1,1]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,0,1]),new Float32Array([0,1,1]),new Float32Array([1,1,1])]];function d(a,t,r,m){let i=r[0]-t[0],e=r[1]-t[1],y=r[2]-t[2],h=a[0]-t[0],A=a[1]-t[1],w=a[2]-t[2],c=e*w-y*A,l=y*h-i*w,x=i*A-e*h,u=Math.sqrt(c*c+l*l+x*x),b=u*.5,s=c/u,F=l/u,f=x/u,p=-(a[0]*s+a[1]*F+a[2]*f),M=m[0]*s+m[1]*F+m[2]*f;return Math.abs(M+p)*b/3}function V(a,t,r,m,i,e){let y=(r+m*t+i*t*t)*4;e[0]=a[y+0],e[1]=a[y+1],e[2]=a[y+2]}function k(a,t,r,m,i,e){let y=r*(t-1),h=m*(t-1),A=i*(t-1),w=Math.floor(y),c=Math.floor(h),l=Math.floor(A),x=Math.ceil(y),u=Math.ceil(h),b=Math.ceil(A),s=y-w,F=h-c,f=A-l;if(w===y&&c===h&&l===A)V(a,t,y,h,A,e);else{let p;s>=F&&F>=f?p=Z[0]:s>=f&&f>=F?p=Z[1]:f>=s&&s>=F?p=Z[2]:F>=s&&s>=f?p=Z[3]:F>=f&&f>=s?p=Z[4]:f>=F&&F>=s&&(p=Z[5]);let[M,g,X,Y]=p,P=_[0];P[0]=s,P[1]=F,P[2]=f;let o=_[1],L=x-w,S=u-c,U=b-l;o[0]=L*M[0]+w,o[1]=S*M[1]+c,o[2]=U*M[2]+l,V(a,t,o[0],o[1],o[2],n[0]),o[0]=L*g[0]+w,o[1]=S*g[1]+c,o[2]=U*g[2]+l,V(a,t,o[0],o[1],o[2],n[1]),o[0]=L*X[0]+w,o[1]=S*X[1]+c,o[2]=U*X[2]+l,V(a,t,o[0],o[1],o[2],n[2]),o[0]=L*Y[0]+w,o[1]=S*Y[1]+c,o[2]=U*Y[2]+l,V(a,t,o[0],o[1],o[2],n[3]);let T=d(g,X,Y,P)*6,q=d(M,X,Y,P)*6,C=d(M,g,Y,P)*6,E=d(M,g,X,P)*6;n[0][0]*=T,n[0][1]*=T,n[0][2]*=T,n[1][0]*=q,n[1][1]*=q,n[1][2]*=q,n[2][0]*=C,n[2][1]*=C,n[2][2]*=C,n[3][0]*=E,n[3][1]*=E,n[3][2]*=E,e[0]=n[0][0]+n[1][0]+n[2][0]+n[3][0],e[1]=n[0][1]+n[1][1]+n[2][1]+n[3][1],e[2]=n[0][2]+n[1][2]+n[2][2]+n[3][2]}}var v=class{static expand(t,r){let m=Math.cbrt(t.length/4),i=new Float32Array(3),e=new t.constructor(r**3*4),y=t instanceof Uint8Array?255:1,h=r**2,A=1/(r-1);for(let w=0;w<r;++w)for(let c=0;c<r;++c)for(let l=0;l<r;++l){let x=l*A,u=c*A,b=w*A,s=Math.round(l+c*r+w*h)*4;k(t,m,x,u,b,i),e[s+0]=i[0],e[s+1]=i[1],e[s+2]=i[2],e[s+3]=y}return e}};self.addEventListener("message",a=>{let t=a.data,r=t.data;switch(t.operation){case O.SCALE_UP:r=v.expand(r,t.size);break}postMessage(r,[r.buffer]),close()});})();
264
+ void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){outputColor=vec4(texture2D(lut,vec2(inputColor.r,0.5)).r,texture2D(lut,vec2(inputColor.g,0.5)).r,texture2D(lut,vec2(inputColor.b,0.5)).r,inputColor.a);}`,Fi=class extends C{constructor(e,{blendFunction:t=v.SRC}={}){super("LUT1DEffect",bi,{blendFunction:t,uniforms:new Map([["lut",new r.Uniform$1(null)]])}),this.lut=e}get lut(){return this.uniforms.get("lut").value}set lut(e){this.uniforms.get("lut").value=e,e!==null&&(e.type===r.FloatType||e.type===r.HalfFloatType)&&this.defines.set("LUT_PRECISION_HIGH","1")}},wt={SCALE_UP:"lut.scaleup"};function je(e,t,i){const a=document.createElement("canvas"),s=a.getContext("2d");if(a.width=e,a.height=t,i instanceof Image)s.drawImage(i,0,0);else{const o=s.createImageData(e,t);o.data.set(i),s.putImageData(o,0,0)}return a}var Y=class St{constructor(t=0,i=0,a=null){this.width=t,this.height=i,this.data=a}toCanvas(){return typeof document>"u"?null:je(this.width,this.height,this.data)}static from(t){const{width:i,height:a}=t;let s;if(t instanceof Image){const o=je(i,a,t);o!==null&&(s=o.getContext("2d").getImageData(0,0,i,a).data)}else s=t.data;return new St(i,a,s)}},Li=`"use strict";(()=>{var O={SCALE_UP:"lut.scaleup"};var _=[new Float32Array(3),new Float32Array(3)],n=[new Float32Array(3),new Float32Array(3),new Float32Array(3),new Float32Array(3)],Z=[[new Float32Array([0,0,0]),new Float32Array([1,0,0]),new Float32Array([1,1,0]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([1,0,0]),new Float32Array([1,0,1]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,0,1]),new Float32Array([1,0,1]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,1,0]),new Float32Array([1,1,0]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,1,0]),new Float32Array([0,1,1]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,0,1]),new Float32Array([0,1,1]),new Float32Array([1,1,1])]];function d(a,t,r,m){let i=r[0]-t[0],e=r[1]-t[1],y=r[2]-t[2],h=a[0]-t[0],A=a[1]-t[1],w=a[2]-t[2],c=e*w-y*A,l=y*h-i*w,x=i*A-e*h,u=Math.sqrt(c*c+l*l+x*x),b=u*.5,s=c/u,F=l/u,f=x/u,p=-(a[0]*s+a[1]*F+a[2]*f),M=m[0]*s+m[1]*F+m[2]*f;return Math.abs(M+p)*b/3}function V(a,t,r,m,i,e){let y=(r+m*t+i*t*t)*4;e[0]=a[y+0],e[1]=a[y+1],e[2]=a[y+2]}function k(a,t,r,m,i,e){let y=r*(t-1),h=m*(t-1),A=i*(t-1),w=Math.floor(y),c=Math.floor(h),l=Math.floor(A),x=Math.ceil(y),u=Math.ceil(h),b=Math.ceil(A),s=y-w,F=h-c,f=A-l;if(w===y&&c===h&&l===A)V(a,t,y,h,A,e);else{let p;s>=F&&F>=f?p=Z[0]:s>=f&&f>=F?p=Z[1]:f>=s&&s>=F?p=Z[2]:F>=s&&s>=f?p=Z[3]:F>=f&&f>=s?p=Z[4]:f>=F&&F>=s&&(p=Z[5]);let[M,g,X,Y]=p,P=_[0];P[0]=s,P[1]=F,P[2]=f;let o=_[1],L=x-w,S=u-c,U=b-l;o[0]=L*M[0]+w,o[1]=S*M[1]+c,o[2]=U*M[2]+l,V(a,t,o[0],o[1],o[2],n[0]),o[0]=L*g[0]+w,o[1]=S*g[1]+c,o[2]=U*g[2]+l,V(a,t,o[0],o[1],o[2],n[1]),o[0]=L*X[0]+w,o[1]=S*X[1]+c,o[2]=U*X[2]+l,V(a,t,o[0],o[1],o[2],n[2]),o[0]=L*Y[0]+w,o[1]=S*Y[1]+c,o[2]=U*Y[2]+l,V(a,t,o[0],o[1],o[2],n[3]);let T=d(g,X,Y,P)*6,q=d(M,X,Y,P)*6,C=d(M,g,Y,P)*6,E=d(M,g,X,P)*6;n[0][0]*=T,n[0][1]*=T,n[0][2]*=T,n[1][0]*=q,n[1][1]*=q,n[1][2]*=q,n[2][0]*=C,n[2][1]*=C,n[2][2]*=C,n[3][0]*=E,n[3][1]*=E,n[3][2]*=E,e[0]=n[0][0]+n[1][0]+n[2][0]+n[3][0],e[1]=n[0][1]+n[1][1]+n[2][1]+n[3][1],e[2]=n[0][2]+n[1][2]+n[2][2]+n[3][2]}}var v=class{static expand(t,r){let m=Math.cbrt(t.length/4),i=new Float32Array(3),e=new t.constructor(r**3*4),y=t instanceof Uint8Array?255:1,h=r**2,A=1/(r-1);for(let w=0;w<r;++w)for(let c=0;c<r;++c)for(let l=0;l<r;++l){let x=l*A,u=c*A,b=w*A,s=Math.round(l+c*r+w*h)*4;k(t,m,x,u,b,i),e[s+0]=i[0],e[s+1]=i[1],e[s+2]=i[2],e[s+3]=y}return e}};self.addEventListener("message",a=>{let t=a.data,r=t.data;t.operation===O.SCALE_UP&&(r=v.expand(r,t.size)),postMessage(r,[r.buffer]),close()});})();
265
265
  `,Je=new r.Color,ve=class Se extends r.Data3DTexture{constructor(t,i){super(t,i,i,i),this.type=r.FloatType,this.format=r.RGBAFormat,this.minFilter=r.LinearFilter,this.magFilter=r.LinearFilter,this.wrapS=r.ClampToEdgeWrapping,this.wrapT=r.ClampToEdgeWrapping,this.wrapR=r.ClampToEdgeWrapping,this.unpackAlignment=1,this.needsUpdate=!0,this.colorSpace=r.LinearSRGBColorSpace,this.domainMin=new r.Vector3(0,0,0),this.domainMax=new r.Vector3(1,1,1)}get isLookupTexture3D(){return!0}scaleUp(t,i=!0){const a=this.image;let s;return t<=a.width?s=Promise.reject(new Error("The target size must be greater than the current size")):s=new Promise((o,n)=>{const l=URL.createObjectURL(new Blob([Li],{type:"text/javascript"})),c=new Worker(l);c.addEventListener("error",f=>n(f.error)),c.addEventListener("message",f=>{const h=new Se(f.data,t);this.colorSpace=h.colorSpace,h.type=this.type,h.name=this.name,URL.revokeObjectURL(l),o(h)});const u=i?[a.data.buffer]:[];c.postMessage({operation:wt.SCALE_UP,data:a.data,size:t},u)}),s}applyLUT(t){const i=this.image,a=t.image,s=Math.min(i.width,i.height,i.depth),o=Math.min(a.width,a.height,a.depth);if(s!==o)console.error("Size mismatch");else if(t.type!==r.FloatType||this.type!==r.FloatType)console.error("Both LUTs must be FloatType textures");else if(t.format!==r.RGBAFormat||this.format!==r.RGBAFormat)console.error("Both LUTs must be RGBA textures");else{const n=i.data,l=a.data,c=s,u=c**2,f=c-1;for(let h=0,d=c**3;h<d;++h){const p=h*4,g=n[p+0]*f,m=n[p+1]*f,A=n[p+2]*f,S=Math.round(g+m*c+A*u)*4;n[p+0]=l[S+0],n[p+1]=l[S+1],n[p+2]=l[S+2]}this.needsUpdate=!0}return this}convertToUint8(){if(this.type===r.FloatType){const t=this.image.data,i=new Uint8Array(t.length);for(let a=0,s=t.length;a<s;++a)i[a]=t[a]*255+.5;this.image.data=i,this.type=r.UnsignedByteType,this.needsUpdate=!0}return this}convertToFloat(){if(this.type===r.UnsignedByteType){const t=this.image.data,i=new Float32Array(t.length);for(let a=0,s=t.length;a<s;++a)i[a]=t[a]/255;this.image.data=i,this.type=r.FloatType,this.needsUpdate=!0}return this}convertToRGBA(){return console.warn("LookupTexture","convertToRGBA() is deprecated, LUTs are now RGBA by default"),this}convertLinearToSRGB(){const t=this.image.data;if(this.type===r.FloatType){for(let i=0,a=t.length;i<a;i+=4)Je.fromArray(t,i).convertLinearToSRGB().toArray(t,i);this.colorSpace=r.SRGBColorSpace,this.needsUpdate=!0}else console.error("Color space conversion requires FloatType data");return this}convertSRGBToLinear(){const t=this.image.data;if(this.type===r.FloatType){for(let i=0,a=t.length;i<a;i+=4)Je.fromArray(t,i).convertSRGBToLinear().toArray(t,i);this.colorSpace=r.LinearSRGBColorSpace,this.needsUpdate=!0}else console.error("Color space conversion requires FloatType data");return this}toDataTexture(){const t=this.image.width,i=this.image.height*this.image.depth,a=new r.DataTexture(this.image.data,t,i);return a.name=this.name,a.type=this.type,a.format=this.format,a.minFilter=r.LinearFilter,a.magFilter=r.LinearFilter,a.wrapS=this.wrapS,a.wrapT=this.wrapT,a.generateMipmaps=!1,a.needsUpdate=!0,this.colorSpace=a.colorSpace,a}static from(t){const i=t.image,{width:a,height:s}=i,o=Math.min(a,s);let n;if(i instanceof Image){const u=Y.from(i).data;if(a>s){n=new Uint8Array(u.length);for(let f=0;f<o;++f)for(let h=0;h<o;++h)for(let d=0;d<o;++d){const p=(d+f*o+h*o*o)*4,g=(d+h*o+f*o*o)*4;n[g+0]=u[p+0],n[g+1]=u[p+1],n[g+2]=u[p+2],n[g+3]=u[p+3]}}else n=new Uint8Array(u.buffer)}else n=i.data.slice();const l=new Se(n,o);return l.type=t.type,l.name=t.name,t.colorSpace=l.colorSpace,l}static createNeutral(t){const i=new Float32Array(t**3*4),a=t**2,s=1/(t-1);for(let n=0;n<t;++n)for(let l=0;l<t;++l)for(let c=0;c<t;++c){const u=(n+l*t+c*a)*4;i[u+0]=n*s,i[u+1]=l*s,i[u+2]=c*s,i[u+3]=1}const o=new Se(i,t);return o.name="neutral",o}},Oi=`uniform vec3 scale;uniform vec3 offset;
266
266
  #ifdef CUSTOM_INPUT_DOMAIN
267
267
  uniform vec3 domainMin;uniform vec3 domainMax;
@@ -918,7 +918,7 @@ return orthographicDepthToViewZ(depth,cameraNear,cameraFar);
918
918
  #include <colorspace_fragment>
919
919
  #endif
920
920
  #include <dithering_fragment>
921
- }`,ka="uniform vec2 resolution;uniform vec2 texelSize;uniform float cameraNear;uniform float cameraFar;uniform float aspect;uniform float time;varying vec2 vUv;VERTEX_HEAD void main(){vUv=position.xy*0.5+0.5;VERTEX_MAIN_SUPPORT gl_Position=vec4(position.xy,1.0,1.0);}",Nt=class extends r.ShaderMaterial{constructor(e,t,i,a,s=!1){super({name:"EffectMaterial",defines:{THREE_REVISION:r.REVISION.replace(/\D+/g,""),DEPTH_PACKING:"0",ENCODE_OUTPUT:"1"},uniforms:{inputBuffer:new r.Uniform$1(null),depthBuffer:new r.Uniform$1(null),resolution:new r.Uniform$1(new r.Vector2),texelSize:new r.Uniform$1(new r.Vector2),cameraNear:new r.Uniform$1(.3),cameraFar:new r.Uniform$1(1e3),aspect:new r.Uniform$1(1),time:new r.Uniform$1(0)},blending:r.NormalBlending,toneMapped:!1,depthWrite:!1,depthTest:!1,dithering:s}),e&&this.setShaderParts(e),t&&this.setDefines(t),i&&this.setUniforms(i),this.copyCameraSettings(a)}set inputBuffer(e){this.uniforms.inputBuffer.value=e}setInputBuffer(e){this.uniforms.inputBuffer.value=e}get depthBuffer(){return this.uniforms.depthBuffer.value}set depthBuffer(e){this.uniforms.depthBuffer.value=e}get depthPacking(){return Number(this.defines.DEPTH_PACKING)}set depthPacking(e){this.defines.DEPTH_PACKING=e.toFixed(0),this.needsUpdate=!0}setDepthBuffer(e,t=r.BasicDepthPacking){this.depthBuffer=e,this.depthPacking=t}setShaderData(e){this.setShaderParts(e.shaderParts),this.setDefines(e.defines),this.setUniforms(e.uniforms),this.setExtensions(e.extensions)}setShaderParts(e){return this.fragmentShader=za.replace(E.FRAGMENT_HEAD,e.get(E.FRAGMENT_HEAD)||"").replace(E.FRAGMENT_MAIN_UV,e.get(E.FRAGMENT_MAIN_UV)||"").replace(E.FRAGMENT_MAIN_IMAGE,e.get(E.FRAGMENT_MAIN_IMAGE)||""),this.vertexShader=ka.replace(E.VERTEX_HEAD,e.get(E.VERTEX_HEAD)||"").replace(E.VERTEX_MAIN_SUPPORT,e.get(E.VERTEX_MAIN_SUPPORT)||""),this.needsUpdate=!0,this}setDefines(e){for(const t of e.entries())this.defines[t[0]]=t[1];return this.needsUpdate=!0,this}setUniforms(e){for(const t of e.entries())this.uniforms[t[0]]=t[1];return this}setExtensions(e){this.extensions={};for(const t of e)this.extensions[t]=!0;return this}get encodeOutput(){return this.defines.ENCODE_OUTPUT!==void 0}set encodeOutput(e){this.encodeOutput!==e&&(e?this.defines.ENCODE_OUTPUT="1":delete this.defines.ENCODE_OUTPUT,this.needsUpdate=!0)}isOutputEncodingEnabled(e){return this.encodeOutput}setOutputEncodingEnabled(e){this.encodeOutput=e}get time(){return this.uniforms.time.value}set time(e){this.uniforms.time.value=e}setDeltaTime(e){this.uniforms.time.value+=e}adoptCameraSettings(e){this.copyCameraSettings(e)}copyCameraSettings(e){e&&(this.uniforms.cameraNear.value=e.near,this.uniforms.cameraFar.value=e.far,e instanceof r.PerspectiveCamera?this.defines.PERSPECTIVE_CAMERA="1":delete this.defines.PERSPECTIVE_CAMERA,this.needsUpdate=!0)}setSize(e,t){const i=this.uniforms;i.resolution.value.set(e,t),i.texelSize.value.set(1/e,1/t),i.aspect.value=e/t}static get Section(){return E}},Qa=`#ifdef FRAMEBUFFER_PRECISION_HIGH
921
+ }`,ka="uniform vec2 resolution;uniform vec2 texelSize;uniform float cameraNear;uniform float cameraFar;uniform float aspect;uniform float time;varying vec2 vUv;VERTEX_HEAD void main(){vUv=position.xy*0.5+0.5;VERTEX_MAIN_SUPPORT gl_Position=vec4(position.xy,1.0,1.0);}",Nt=class extends r.ShaderMaterial{constructor(e,t,i,a,s=!1){super({name:"EffectMaterial",defines:{THREE_REVISION:r.REVISION.replace(/\D+/g,""),DEPTH_PACKING:"0",ENCODE_OUTPUT:"1"},uniforms:{inputBuffer:new r.Uniform$1(null),depthBuffer:new r.Uniform$1(null),resolution:new r.Uniform$1(new r.Vector2),texelSize:new r.Uniform$1(new r.Vector2),cameraNear:new r.Uniform$1(.3),cameraFar:new r.Uniform$1(1e3),aspect:new r.Uniform$1(1),time:new r.Uniform$1(0)},blending:r.NoBlending,toneMapped:!1,depthWrite:!1,depthTest:!1,dithering:s}),e&&this.setShaderParts(e),t&&this.setDefines(t),i&&this.setUniforms(i),this.copyCameraSettings(a)}set inputBuffer(e){this.uniforms.inputBuffer.value=e}setInputBuffer(e){this.uniforms.inputBuffer.value=e}get depthBuffer(){return this.uniforms.depthBuffer.value}set depthBuffer(e){this.uniforms.depthBuffer.value=e}get depthPacking(){return Number(this.defines.DEPTH_PACKING)}set depthPacking(e){this.defines.DEPTH_PACKING=e.toFixed(0),this.needsUpdate=!0}setDepthBuffer(e,t=r.BasicDepthPacking){this.depthBuffer=e,this.depthPacking=t}setShaderData(e){this.setShaderParts(e.shaderParts),this.setDefines(e.defines),this.setUniforms(e.uniforms),this.setExtensions(e.extensions)}setShaderParts(e){return this.fragmentShader=za.replace(E.FRAGMENT_HEAD,e.get(E.FRAGMENT_HEAD)||"").replace(E.FRAGMENT_MAIN_UV,e.get(E.FRAGMENT_MAIN_UV)||"").replace(E.FRAGMENT_MAIN_IMAGE,e.get(E.FRAGMENT_MAIN_IMAGE)||""),this.vertexShader=ka.replace(E.VERTEX_HEAD,e.get(E.VERTEX_HEAD)||"").replace(E.VERTEX_MAIN_SUPPORT,e.get(E.VERTEX_MAIN_SUPPORT)||""),this.needsUpdate=!0,this}setDefines(e){for(const t of e.entries())this.defines[t[0]]=t[1];return this.needsUpdate=!0,this}setUniforms(e){for(const t of e.entries())this.uniforms[t[0]]=t[1];return this}setExtensions(e){this.extensions={};for(const t of e)this.extensions[t]=!0;return this}get encodeOutput(){return this.defines.ENCODE_OUTPUT!==void 0}set encodeOutput(e){this.encodeOutput!==e&&(e?this.defines.ENCODE_OUTPUT="1":delete this.defines.ENCODE_OUTPUT,this.needsUpdate=!0)}isOutputEncodingEnabled(e){return this.encodeOutput}setOutputEncodingEnabled(e){this.encodeOutput=e}get time(){return this.uniforms.time.value}set time(e){this.uniforms.time.value=e}setDeltaTime(e){this.uniforms.time.value+=e}adoptCameraSettings(e){this.copyCameraSettings(e)}copyCameraSettings(e){e&&(this.uniforms.cameraNear.value=e.near,this.uniforms.cameraFar.value=e.far,e instanceof r.PerspectiveCamera?this.defines.PERSPECTIVE_CAMERA="1":delete this.defines.PERSPECTIVE_CAMERA,this.needsUpdate=!0)}setSize(e,t){const i=this.uniforms;i.resolution.value.set(e,t),i.texelSize.value.set(1/e,1/t),i.aspect.value=e/t}static get Section(){return E}},Qa=`#ifdef FRAMEBUFFER_PRECISION_HIGH
922
922
  uniform mediump sampler2D inputBuffer;
923
923
  #else
924
924
  uniform lowp sampler2D inputBuffer;
@@ -937,13 +937,13 @@ uniform vec2 kernel[STEPS];varying vec2 vOffset;varying vec2 vUv;void main(){vec
937
937
 
938
938
  `}if(u+=a+`
939
939
  `,s!==null&&(d+=s+`
940
- `),c.set(E.FRAGMENT_HEAD,u),c.set(E.FRAGMENT_MAIN_UV,f),c.set(E.FRAGMENT_MAIN_IMAGE,h),c.set(E.VERTEX_HEAD,d),c.set(E.VERTEX_MAIN_SUPPORT,p),t.extensions!==null)for(const T of t.extensions)i.extensions.add(T)}}var qa=class extends P{constructor(e,...t){super("EffectPass"),this.fullscreenMaterial=new Nt(null,null,null,e),this.listener=i=>this.handleEvent(i),this.effects=[],this.setEffects(t),this.skipRendering=!1,this.minTime=1,this.maxTime=Number.POSITIVE_INFINITY,this.timeScale=1}set mainScene(e){for(const t of this.effects)t.mainScene=e}set mainCamera(e){this.fullscreenMaterial.copyCameraSettings(e);for(const t of this.effects)t.mainCamera=e}get encodeOutput(){return this.fullscreenMaterial.encodeOutput}set encodeOutput(e){this.fullscreenMaterial.encodeOutput=e}get dithering(){return this.fullscreenMaterial.dithering}set dithering(e){const t=this.fullscreenMaterial;t.dithering=e,t.needsUpdate=!0}get alpha(){return this.renderer!==null&&this.renderer.getContext().getContextAttributes().alpha}setEffects(e){for(const t of this.effects)t.removeEventListener("change",this.listener);this.effects=e.sort((t,i)=>i.attributes-t.attributes);for(const t of this.effects)t.addEventListener("change",this.listener)}updateMaterial(){const e=new ut;let t=0;for(const n of this.effects)if(n.blendMode.blendFunction===v.DST)e.attributes|=n.getAttributes()&U.DEPTH;else{if((e.attributes&n.getAttributes()&U.CONVOLUTION)!==0)throw new Error(`Convolution effects cannot be merged (${n.name})`);Ja("e"+t++,n,e)}let i=e.shaderParts.get(E.FRAGMENT_HEAD),a=e.shaderParts.get(E.FRAGMENT_MAIN_IMAGE),s=e.shaderParts.get(E.FRAGMENT_MAIN_UV);const o=/\bblend\b/g;for(const n of e.blendModes.values())i+=n.getShaderCode().replace(o,`blend${n.blendFunction}`)+`
940
+ `),c.set(E.FRAGMENT_HEAD,u),c.set(E.FRAGMENT_MAIN_UV,f),c.set(E.FRAGMENT_MAIN_IMAGE,h),c.set(E.VERTEX_HEAD,d),c.set(E.VERTEX_MAIN_SUPPORT,p),t.extensions!==null)for(const T of t.extensions)i.extensions.add(T)}}var qa=class extends P{constructor(e,...t){super("EffectPass"),this.fullscreenMaterial=new Nt(null,null,null,e),this.listener=i=>this.handleEvent(i),this.effects=[],this.setEffects(t),this.skipRendering=!1,this.minTime=1,this.maxTime=Number.POSITIVE_INFINITY,this.timeScale=1}set mainScene(e){for(const t of this.effects)t.mainScene=e}set mainCamera(e){this.fullscreenMaterial.copyCameraSettings(e);for(const t of this.effects)t.mainCamera=e}get encodeOutput(){return this.fullscreenMaterial.encodeOutput}set encodeOutput(e){this.fullscreenMaterial.encodeOutput=e}get dithering(){return this.fullscreenMaterial.dithering}set dithering(e){const t=this.fullscreenMaterial;t.dithering=e,t.needsUpdate=!0}setEffects(e){for(const t of this.effects)t.removeEventListener("change",this.listener);this.effects=e.sort((t,i)=>i.attributes-t.attributes);for(const t of this.effects)t.addEventListener("change",this.listener)}updateMaterial(){const e=new ut;let t=0;for(const n of this.effects)if(n.blendMode.blendFunction===v.DST)e.attributes|=n.getAttributes()&U.DEPTH;else{if((e.attributes&n.getAttributes()&U.CONVOLUTION)!==0)throw new Error(`Convolution effects cannot be merged (${n.name})`);Ja("e"+t++,n,e)}let i=e.shaderParts.get(E.FRAGMENT_HEAD),a=e.shaderParts.get(E.FRAGMENT_MAIN_IMAGE),s=e.shaderParts.get(E.FRAGMENT_MAIN_UV);const o=/\bblend\b/g;for(const n of e.blendModes.values())i+=n.getShaderCode().replace(o,`blend${n.blendFunction}`)+`
941
941
  `;(e.attributes&U.DEPTH)!==0?(e.readDepth&&(a=`float depth = readDepth(UV);
942
942
 
943
943
  `+a),this.needsDepthTexture=this.getDepthTexture()===null):this.needsDepthTexture=!1,e.colorSpace===r.SRGBColorSpace&&(a+=`color0 = sRGBToLinear(color0);
944
944
  `),e.uvTransformation?(s=`vec2 transformedUv = vUv;
945
945
  `+s,e.defines.set("UV","transformedUv")):e.defines.set("UV","vUv"),e.shaderParts.set(E.FRAGMENT_HEAD,i),e.shaderParts.set(E.FRAGMENT_MAIN_IMAGE,a),e.shaderParts.set(E.FRAGMENT_MAIN_UV,s);for(const[n,l]of e.shaderParts)l!==null&&e.shaderParts.set(n,l.trim().replace(/^#/,`
946
- #`));this.skipRendering=t===0,this.needsSwap=!this.skipRendering,this.fullscreenMaterial.setShaderData(e)}recompile(){this.updateMaterial()}getDepthTexture(){return this.fullscreenMaterial.depthBuffer}setDepthTexture(e,t=r.BasicDepthPacking){this.fullscreenMaterial.depthBuffer=e,this.fullscreenMaterial.depthPacking=t;for(const i of this.effects)i.setDepthTexture(e,t)}render(e,t,i,a,s){for(const o of this.effects)o.update(e,t,a);if(!this.skipRendering||this.renderToScreen){const o=this.fullscreenMaterial;o.transparent=this.renderToScreen&&this.alpha,o.inputBuffer=t.texture,o.time+=a*this.timeScale,e.setRenderTarget(this.renderToScreen?null:i),e.render(this.scene,this.camera)}}setSize(e,t){this.fullscreenMaterial.setSize(e,t);for(const i of this.effects)i.setSize(e,t)}initialize(e,t,i){this.renderer=e;for(const a of this.effects)a.initialize(e,t,i);this.updateMaterial(),i!==void 0&&i!==r.UnsignedByteType&&(this.fullscreenMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1")}dispose(){super.dispose();for(const e of this.effects)e.removeEventListener("change",this.listener),e.dispose()}handleEvent(e){e.type==="change"&&this.recompile()}},_a=class extends P{constructor({kernelSize:e=35,iterations:t=1,resolutionScale:i=1,resolutionX:a=x.AUTO_SIZE,resolutionY:s=x.AUTO_SIZE}={}){super("GaussianBlurPass"),this.renderTargetA=new r.WebGLRenderTarget(1,1,{depthBuffer:!1}),this.renderTargetA.texture.name="Blur.Target.A",this.renderTargetB=this.renderTargetA.clone(),this.renderTargetB.texture.name="Blur.Target.B",this.blurMaterial=new Ht({kernelSize:e}),this.copyMaterial=new me,this.copyMaterial.inputBuffer=this.renderTargetB.texture;const o=this.resolution=new x(this,a,s,i);o.addEventListener("change",n=>this.setSize(o.baseWidth,o.baseHeight)),this.iterations=t}render(e,t,i,a,s){const o=this.scene,n=this.camera,l=this.renderTargetA,c=this.renderTargetB,u=this.blurMaterial;this.fullscreenMaterial=u;let f=t;for(let h=0,d=Math.max(this.iterations,1);h<d;++h)u.direction.set(1,0),u.inputBuffer=f.texture,e.setRenderTarget(l),e.render(o,n),u.direction.set(0,1),u.inputBuffer=l.texture,e.setRenderTarget(c),e.render(o,n),h===0&&d>1&&(f=c);this.fullscreenMaterial=this.copyMaterial,e.setRenderTarget(this.renderToScreen?null:i),e.render(o,n)}setSize(e,t){const i=this.resolution;i.setBaseSize(e,t);const a=i.width,s=i.height;this.renderTargetA.setSize(a,s),this.renderTargetB.setSize(a,s),this.blurMaterial.setSize(e,t)}initialize(e,t,i){i!==void 0&&(this.renderTargetA.texture.type=i,this.renderTargetB.texture.type=i,i!==r.UnsignedByteType?(this.blurMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1",this.copyMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1"):e!==null&&e.outputColorSpace===r.SRGBColorSpace&&(this.renderTargetA.texture.colorSpace=r.SRGBColorSpace,this.renderTargetB.texture.colorSpace=r.SRGBColorSpace))}},$a=class extends P{constructor(e){super("LambdaPass",null,null),this.needsSwap=!1,this.f=e}render(e,t,i,a,s){this.f()}},es=class extends P{constructor(e,t,{renderTarget:i,resolutionScale:a=1,width:s=x.AUTO_SIZE,height:o=x.AUTO_SIZE,resolutionX:n=s,resolutionY:l=o}={}){super("NormalPass"),this.needsSwap=!1,this.renderPass=new ge(e,t,new r.MeshNormalMaterial);const c=this.renderPass;c.ignoreBackground=!0,c.skipShadowMapUpdate=!0;const u=c.getClearPass();u.overrideClearColor=new r.Color(7829503),u.overrideClearAlpha=1,this.renderTarget=i,this.renderTarget===void 0&&(this.renderTarget=new r.WebGLRenderTarget(1,1,{minFilter:r.NearestFilter,magFilter:r.NearestFilter}),this.renderTarget.texture.name="NormalPass.Target");const f=this.resolution=new x(this,n,l,a);f.addEventListener("change",h=>this.setSize(f.baseWidth,f.baseHeight))}set mainScene(e){this.renderPass.mainScene=e}set mainCamera(e){this.renderPass.mainCamera=e}get texture(){return this.renderTarget.texture}getTexture(){return this.renderTarget.texture}getResolution(){return this.resolution}getResolutionScale(){return this.resolution.scale}setResolutionScale(e){this.resolution.scale=e}render(e,t,i,a,s){const o=this.renderToScreen?null:this.renderTarget;this.renderPass.render(e,o,o)}setSize(e,t){const i=this.resolution;i.setBaseSize(e,t),this.renderTarget.setSize(i.width,i.height)}},tt=[new Float32Array(3),new Float32Array(3)],M=[new Float32Array(3),new Float32Array(3),new Float32Array(3),new Float32Array(3)],$=[[new Float32Array([0,0,0]),new Float32Array([1,0,0]),new Float32Array([1,1,0]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([1,0,0]),new Float32Array([1,0,1]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,0,1]),new Float32Array([1,0,1]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,1,0]),new Float32Array([1,1,0]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,1,0]),new Float32Array([0,1,1]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,0,1]),new Float32Array([0,1,1]),new Float32Array([1,1,1])]];function De(e,t,i,a){const s=i[0]-t[0],o=i[1]-t[1],n=i[2]-t[2],l=e[0]-t[0],c=e[1]-t[1],u=e[2]-t[2],f=o*u-n*c,h=n*l-s*u,d=s*c-o*l,p=Math.sqrt(f*f+h*h+d*d),g=p*.5,m=f/p,A=h/p,S=d/p,T=-(e[0]*m+e[1]*A+e[2]*S),D=a[0]*m+a[1]*A+a[2]*S;return Math.abs(D+T)*g/3}function ue(e,t,i,a,s,o){const n=(i+a*t+s*t*t)*4;o[0]=e[n+0],o[1]=e[n+1],o[2]=e[n+2]}function ts(e,t,i,a,s,o){const n=i*(t-1),l=a*(t-1),c=s*(t-1),u=Math.floor(n),f=Math.floor(l),h=Math.floor(c),d=Math.ceil(n),p=Math.ceil(l),g=Math.ceil(c),m=n-u,A=l-f,S=c-h;if(u===n&&f===l&&h===c)ue(e,t,n,l,c,o);else{let T;m>=A&&A>=S?T=$[0]:m>=S&&S>=A?T=$[1]:S>=m&&m>=A?T=$[2]:A>=m&&m>=S?T=$[3]:A>=S&&S>=m?T=$[4]:S>=A&&A>=m&&(T=$[5]);const[D,b,G,k]=T,Q=tt[0];Q[0]=m,Q[1]=A,Q[2]=S;const y=tt[1],q=d-u,_=p-f,V=g-h;y[0]=q*D[0]+u,y[1]=_*D[1]+f,y[2]=V*D[2]+h,ue(e,t,y[0],y[1],y[2],M[0]),y[0]=q*b[0]+u,y[1]=_*b[1]+f,y[2]=V*b[2]+h,ue(e,t,y[0],y[1],y[2],M[1]),y[0]=q*G[0]+u,y[1]=_*G[1]+f,y[2]=V*G[2]+h,ue(e,t,y[0],y[1],y[2],M[2]),y[0]=q*k[0]+u,y[1]=_*k[1]+f,y[2]=V*k[2]+h,ue(e,t,y[0],y[1],y[2],M[3]);const X=De(b,G,k,Q)*6,R=De(D,G,k,Q)*6,Ae=De(D,b,k,Q)*6,Be=De(D,b,G,Q)*6;M[0][0]*=X,M[0][1]*=X,M[0][2]*=X,M[1][0]*=R,M[1][1]*=R,M[1][2]*=R,M[2][0]*=Ae,M[2][1]*=Ae,M[2][2]*=Ae,M[3][0]*=Be,M[3][1]*=Be,M[3][2]*=Be,o[0]=M[0][0]+M[1][0]+M[2][0]+M[3][0],o[1]=M[0][1]+M[1][1]+M[2][1]+M[3][1],o[2]=M[0][2]+M[1][2]+M[2][2]+M[3][2]}}var rs=class{static expand(e,t){const i=Math.cbrt(e.length/4),a=new Float32Array(3),s=new e.constructor(t**3*4),o=e instanceof Uint8Array?255:1,n=t**2,l=1/(t-1);for(let c=0;c<t;++c)for(let u=0;u<t;++u)for(let f=0;f<t;++f){const h=f*l,d=u*l,p=c*l,g=Math.round(f+u*t+c*n)*4;ts(e,i,h,d,p,a),s[g+0]=a[0],s[g+1]=a[1],s[g+2]=a[2],s[g+3]=o}return s}},oe=[new Float32Array(2),new Float32Array(2)],ee=16,Re=20,te=30,is=32,Ie=new Float32Array([0,-.25,.25,-.125,.125,-.375,.375]),rt=[new Float32Array([0,0]),new Float32Array([.25,-.25]),new Float32Array([-.25,.25]),new Float32Array([.125,-.125]),new Float32Array([-.125,.125])],as=[new Uint8Array([0,0]),new Uint8Array([3,0]),new Uint8Array([0,3]),new Uint8Array([3,3]),new Uint8Array([1,0]),new Uint8Array([4,0]),new Uint8Array([1,3]),new Uint8Array([4,3]),new Uint8Array([0,1]),new Uint8Array([3,1]),new Uint8Array([0,4]),new Uint8Array([3,4]),new Uint8Array([1,1]),new Uint8Array([4,1]),new Uint8Array([1,4]),new Uint8Array([4,4])],Gt=[new Uint8Array([0,0]),new Uint8Array([1,0]),new Uint8Array([0,2]),new Uint8Array([1,2]),new Uint8Array([2,0]),new Uint8Array([3,0]),new Uint8Array([2,2]),new Uint8Array([3,2]),new Uint8Array([0,1]),new Uint8Array([1,1]),new Uint8Array([0,3]),new Uint8Array([1,3]),new Uint8Array([2,1]),new Uint8Array([3,1]),new Uint8Array([2,3]),new Uint8Array([3,3])];function Te(e,t,i){return e+(t-e)*i}function ss(e){return Math.min(Math.max(e,0),1)}function it(e){const t=oe[0],i=oe[1],a=Math.sqrt(t[0]*2)*.5,s=Math.sqrt(t[1]*2)*.5,o=Math.sqrt(i[0]*2)*.5,n=Math.sqrt(i[1]*2)*.5,l=ss(e/is);t[0]=Te(a,t[0],l),t[1]=Te(s,t[1],l),i[0]=Te(o,i[0],l),i[1]=Te(n,i[1],l)}function I(e,t,i,a,s,o){const n=i-e,l=a-t,c=s,u=s+1,f=t+l*(c-e)/n,h=t+l*(u-e)/n;if(c>=e&&c<i||u>e&&u<=i)if(Math.sign(f)===Math.sign(h)||Math.abs(f)<1e-4||Math.abs(h)<1e-4){const d=(f+h)/2;d<0?(o[0]=Math.abs(d),o[1]=0):(o[0]=0,o[1]=Math.abs(d))}else{const d=-t*n/l+e,p=Math.trunc(d),g=d>e?f*(d-p)/2:0,m=d<i?h*(1-(d-p))/2:0;(Math.abs(g)>Math.abs(m)?g:-m)<0?(o[0]=Math.abs(g),o[1]=Math.abs(m)):(o[0]=Math.abs(m),o[1]=Math.abs(g))}else o[0]=0,o[1]=0;return o}function ns(e,t,i,a,s){const o=oe[0],n=oe[1],l=.5+a,c=.5+a-1,u=t+i+1;switch(e){case 0:{s[0]=0,s[1]=0;break}case 1:{t<=i?I(0,c,u/2,0,t,s):(s[0]=0,s[1]=0);break}case 2:{t>=i?I(u/2,0,u,c,t,s):(s[0]=0,s[1]=0);break}case 3:{I(0,c,u/2,0,t,o),I(u/2,0,u,c,t,n),it(u),s[0]=o[0]+n[0],s[1]=o[1]+n[1];break}case 4:{t<=i?I(0,l,u/2,0,t,s):(s[0]=0,s[1]=0);break}case 5:{s[0]=0,s[1]=0;break}case 6:{Math.abs(a)>0?(I(0,l,u,c,t,o),I(0,l,u/2,0,t,n),I(u/2,0,u,c,t,s),n[0]=n[0]+s[0],n[1]=n[1]+s[1],s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2):I(0,l,u,c,t,s);break}case 7:{I(0,l,u,c,t,s);break}case 8:{t>=i?I(u/2,0,u,l,t,s):(s[0]=0,s[1]=0);break}case 9:{Math.abs(a)>0?(I(0,c,u,l,t,o),I(0,c,u/2,0,t,n),I(u/2,0,u,l,t,s),n[0]=n[0]+s[0],n[1]=n[1]+s[1],s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2):I(0,c,u,l,t,s);break}case 10:{s[0]=0,s[1]=0;break}case 11:{I(0,c,u,l,t,s);break}case 12:{I(0,l,u/2,0,t,o),I(u/2,0,u,l,t,n),it(u),s[0]=o[0]+n[0],s[1]=o[1]+n[1];break}case 13:{I(0,c,u,l,t,s);break}case 14:{I(0,l,u,c,t,s);break}case 15:{s[0]=0,s[1]=0;break}}return s}function os(e,t,i,a,s,o){let n=e===i&&t===a;if(!n){const l=(e+i)/2,c=(t+a)/2,u=a-t,f=e-i;n=u*(s-l)+f*(o-c)>0}return n}function at(e,t,i,a,s,o){let n=0;for(let l=0;l<te;++l)for(let c=0;c<te;++c){const u=c/(te-1),f=l/(te-1);os(e,t,i,a,s+u,o+f)&&++n}return n/(te*te)}function B(e,t,i,a,s,o,n,l){const c=Gt[e],u=c[0],f=c[1];return u>0&&(t+=n[0],i+=n[1]),f>0&&(a+=n[0],s+=n[1]),l[0]=1-at(t,i,a,s,1+o,0+o),l[1]=at(t,i,a,s,1+o,1+o),l}function ls(e,t,i,a,s){const o=oe[0],n=oe[1],l=t+i+1;switch(e){case 0:{B(e,1,1,1+l,1+l,t,a,o),B(e,1,0,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 1:{B(e,1,0,0+l,0+l,t,a,o),B(e,1,0,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 2:{B(e,0,0,1+l,0+l,t,a,o),B(e,1,0,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 3:{B(e,1,0,1+l,0+l,t,a,s);break}case 4:{B(e,1,1,0+l,0+l,t,a,o),B(e,1,1,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 5:{B(e,1,1,0+l,0+l,t,a,o),B(e,1,0,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 6:{B(e,1,1,1+l,0+l,t,a,s);break}case 7:{B(e,1,1,1+l,0+l,t,a,o),B(e,1,0,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 8:{B(e,0,0,1+l,1+l,t,a,o),B(e,1,0,1+l,1+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 9:{B(e,1,0,1+l,1+l,t,a,s),B(e,1,0,1+l,1+l,t,a,s);break}case 10:{B(e,0,0,1+l,1+l,t,a,o),B(e,1,0,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 11:{B(e,1,0,1+l,1+l,t,a,o),B(e,1,0,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 12:{B(e,1,1,1+l,1+l,t,a,s);break}case 13:{B(e,1,1,1+l,1+l,t,a,o),B(e,1,0,1+l,1+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 14:{B(e,1,1,1+l,1+l,t,a,o),B(e,1,1,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 15:{B(e,1,1,1+l,1+l,t,a,o),B(e,1,0,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}}return s}function st(e,t,i){const a=new Float32Array(2);for(let s=0,o=e.length;s<o;++s){const n=e[s],l=n.data,c=n.width;for(let u=0;u<c;++u)for(let f=0;f<c;++f){i?ns(s,f,u,t,a):ls(s,f,u,t,a);const h=(u*c+f)*2;l[h]=a[0]*255,l[h+1]=a[1]*255}}}function nt(e,t,i,a,s,o,n){const l=n.data,c=n.width;for(let u=0,f=i.length;u<f;++u){const h=a[u],d=i[u],p=d.data,g=d.width;for(let m=0;m<s;++m)for(let A=0;A<s;++A){const S=h[0]*s+e+A,D=((h[1]*s+t+m)*c+S)*4,b=o?(m*m*g+A*A)*2:(m*g+A)*2;l[D]=p[b],l[D+1]=p[b+1],l[D+2]=0,l[D+3]=255}}}var cs=class{static generate(){const e=10*ee,t=Ie.length*5*ee,i=new Uint8ClampedArray(e*t*4),a=new Y(e,t,i),s=Math.pow(ee-1,2)+1,o=Re,n=[],l=[];for(let c=3,u=i.length;c<u;c+=4)i[c]=255;for(let c=0;c<16;++c)n.push(new Y(s,s,new Uint8ClampedArray(s*s*2),2)),l.push(new Y(o,o,new Uint8ClampedArray(o*o*2),2));for(let c=0,u=Ie.length;c<u;++c)st(n,Ie[c],!0),nt(0,5*ee*c,n,as,ee,!0,a);for(let c=0,u=rt.length;c<u;++c)st(l,rt[c],!1),nt(5*ee,4*Re*c,l,Gt,Re,!1,a);return a}},us=`"use strict";(()=>{function q(t,a,s){let e=document.createElement("canvas"),n=e.getContext("2d");if(e.width=t,e.height=a,s instanceof Image)n.drawImage(s,0,0);else{let r=n.createImageData(t,a);r.data.set(s),n.putImageData(r,0,0)}return e}var F=class t{constructor(a=0,s=0,e=null){this.width=a,this.height=s,this.data=e}toCanvas(){return typeof document=="undefined"?null:q(this.width,this.height,this.data)}static from(a){let{width:s,height:e}=a,n;if(a instanceof Image){let r=q(s,e,a);r!==null&&(n=r.getContext("2d").getImageData(0,0,s,e).data)}else n=a.data;return new t(s,e,n)}};var M=[new Float32Array(2),new Float32Array(2)],D=16,W=20,I=30,j=32,v=new Float32Array([0,-.25,.25,-.125,.125,-.375,.375]),N=[new Float32Array([0,0]),new Float32Array([.25,-.25]),new Float32Array([-.25,.25]),new Float32Array([.125,-.125]),new Float32Array([-.125,.125])],z=[new Uint8Array([0,0]),new Uint8Array([3,0]),new Uint8Array([0,3]),new Uint8Array([3,3]),new Uint8Array([1,0]),new Uint8Array([4,0]),new Uint8Array([1,3]),new Uint8Array([4,3]),new Uint8Array([0,1]),new Uint8Array([3,1]),new Uint8Array([0,4]),new Uint8Array([3,4]),new Uint8Array([1,1]),new Uint8Array([4,1]),new Uint8Array([1,4]),new Uint8Array([4,4])],p=[new Uint8Array([0,0]),new Uint8Array([1,0]),new Uint8Array([0,2]),new Uint8Array([1,2]),new Uint8Array([2,0]),new Uint8Array([3,0]),new Uint8Array([2,2]),new Uint8Array([3,2]),new Uint8Array([0,1]),new Uint8Array([1,1]),new Uint8Array([0,3]),new Uint8Array([1,3]),new Uint8Array([2,1]),new Uint8Array([3,1]),new Uint8Array([2,3]),new Uint8Array([3,3])];function C(t,a,s){return t+(a-t)*s}function B(t){return Math.min(Math.max(t,0),1)}function _(t){let a=M[0],s=M[1],e=Math.sqrt(a[0]*2)*.5,n=Math.sqrt(a[1]*2)*.5,r=Math.sqrt(s[0]*2)*.5,o=Math.sqrt(s[1]*2)*.5,c=B(t/j);a[0]=C(e,a[0],c),a[1]=C(n,a[1],c),s[0]=C(r,s[0],c),s[1]=C(o,s[1],c)}function d(t,a,s,e,n,r){let o=s-t,c=e-a,h=n,i=n+1,w=a+c*(h-t)/o,b=a+c*(i-t)/o;if(h>=t&&h<s||i>t&&i<=s)if(Math.sign(w)===Math.sign(b)||Math.abs(w)<1e-4||Math.abs(b)<1e-4){let g=(w+b)/2;g<0?(r[0]=Math.abs(g),r[1]=0):(r[0]=0,r[1]=Math.abs(g))}else{let g=-a*o/c+t,k=Math.trunc(g),m=g>t?w*(g-k)/2:0,U=g<s?b*(1-(g-k))/2:0;(Math.abs(m)>Math.abs(U)?m:-U)<0?(r[0]=Math.abs(m),r[1]=Math.abs(U)):(r[0]=Math.abs(U),r[1]=Math.abs(m))}else r[0]=0,r[1]=0;return r}function J(t,a,s,e,n){let r=M[0],o=M[1],c=.5+e,h=.5+e-1,i=a+s+1;switch(t){case 0:{n[0]=0,n[1]=0;break}case 1:{a<=s?d(0,h,i/2,0,a,n):(n[0]=0,n[1]=0);break}case 2:{a>=s?d(i/2,0,i,h,a,n):(n[0]=0,n[1]=0);break}case 3:{d(0,h,i/2,0,a,r),d(i/2,0,i,h,a,o),_(i,M),n[0]=r[0]+o[0],n[1]=r[1]+o[1];break}case 4:{a<=s?d(0,c,i/2,0,a,n):(n[0]=0,n[1]=0);break}case 5:{n[0]=0,n[1]=0;break}case 6:{Math.abs(e)>0?(d(0,c,i,h,a,r),d(0,c,i/2,0,a,o),d(i/2,0,i,h,a,n),o[0]=o[0]+n[0],o[1]=o[1]+n[1],n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2):d(0,c,i,h,a,n);break}case 7:{d(0,c,i,h,a,n);break}case 8:{a>=s?d(i/2,0,i,c,a,n):(n[0]=0,n[1]=0);break}case 9:{Math.abs(e)>0?(d(0,h,i,c,a,r),d(0,h,i/2,0,a,o),d(i/2,0,i,c,a,n),o[0]=o[0]+n[0],o[1]=o[1]+n[1],n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2):d(0,h,i,c,a,n);break}case 10:{n[0]=0,n[1]=0;break}case 11:{d(0,h,i,c,a,n);break}case 12:{d(0,c,i/2,0,a,r),d(i/2,0,i,c,a,o),_(i,M),n[0]=r[0]+o[0],n[1]=r[1]+o[1];break}case 13:{d(0,h,i,c,a,n);break}case 14:{d(0,c,i,h,a,n);break}case 15:{n[0]=0,n[1]=0;break}}return n}function K(t,a,s,e,n,r){let o=t===s&&a===e;if(!o){let c=(t+s)/2,h=(a+e)/2,i=e-a,w=t-s;o=i*(n-c)+w*(r-h)>0}return o}function G(t,a,s,e,n,r){let o=0;for(let c=0;c<I;++c)for(let h=0;h<I;++h){let i=h/(I-1),w=c/(I-1);K(t,a,s,e,n+i,r+w)&&++o}return o/(I*I)}function A(t,a,s,e,n,r,o,c){let h=p[t],i=h[0],w=h[1];return i>0&&(a+=o[0],s+=o[1]),w>0&&(e+=o[0],n+=o[1]),c[0]=1-G(a,s,e,n,1+r,0+r),c[1]=G(a,s,e,n,1+r,1+r),c}function Q(t,a,s,e,n){let r=M[0],o=M[1],c=a+s+1;switch(t){case 0:{A(t,1,1,1+c,1+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 1:{A(t,1,0,0+c,0+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 2:{A(t,0,0,1+c,0+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 3:{A(t,1,0,1+c,0+c,a,e,n);break}case 4:{A(t,1,1,0+c,0+c,a,e,r),A(t,1,1,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 5:{A(t,1,1,0+c,0+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 6:{A(t,1,1,1+c,0+c,a,e,n);break}case 7:{A(t,1,1,1+c,0+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 8:{A(t,0,0,1+c,1+c,a,e,r),A(t,1,0,1+c,1+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 9:{A(t,1,0,1+c,1+c,a,e,n),A(t,1,0,1+c,1+c,a,e,n);break}case 10:{A(t,0,0,1+c,1+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 11:{A(t,1,0,1+c,1+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 12:{A(t,1,1,1+c,1+c,a,e,n);break}case 13:{A(t,1,1,1+c,1+c,a,e,r),A(t,1,0,1+c,1+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 14:{A(t,1,1,1+c,1+c,a,e,r),A(t,1,1,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 15:{A(t,1,1,1+c,1+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}}return n}function R(t,a,s){let e=new Float32Array(2);for(let n=0,r=t.length;n<r;++n){let o=t[n],c=o.data,h=o.width;for(let i=0;i<h;++i)for(let w=0;w<h;++w){s?J(n,w,i,a,e):Q(n,w,i,a,e);let b=(i*h+w)*2;c[b]=e[0]*255,c[b+1]=e[1]*255}}}function T(t,a,s,e,n,r,o){let c=o.data,h=o.width;for(let i=0,w=s.length;i<w;++i){let b=e[i],g=s[i],k=g.data,m=g.width;for(let U=0;U<n;++U)for(let x=0;x<n;++x){let Z=b[0]*n+t+x,O=((b[1]*n+a+U)*h+Z)*4,L=r?(U*U*m+x*x)*2:(U*m+x)*2;c[O]=k[L],c[O+1]=k[L+1],c[O+2]=0,c[O+3]=255}}}var S=class{static generate(){let a=10*D,s=v.length*5*D,e=new Uint8ClampedArray(a*s*4),n=new F(a,s,e),r=Math.pow(D-1,2)+1,o=W,c=[],h=[];for(let i=3,w=e.length;i<w;i+=4)e[i]=255;for(let i=0;i<16;++i)c.push(new F(r,r,new Uint8ClampedArray(r*r*2),2)),h.push(new F(o,o,new Uint8ClampedArray(o*o*2),2));for(let i=0,w=v.length;i<w;++i)R(c,v[i],!0),T(0,5*D*i,c,z,D,!0,n);for(let i=0,w=N.length;i<w;++i)R(h,N[i],!1),T(5*D,4*W*i,h,p,W,!1,n);return n}};var P=new Map([[y(0,0,0,0),new Float32Array([0,0,0,0])],[y(0,0,0,1),new Float32Array([0,0,0,1])],[y(0,0,1,0),new Float32Array([0,0,1,0])],[y(0,0,1,1),new Float32Array([0,0,1,1])],[y(0,1,0,0),new Float32Array([0,1,0,0])],[y(0,1,0,1),new Float32Array([0,1,0,1])],[y(0,1,1,0),new Float32Array([0,1,1,0])],[y(0,1,1,1),new Float32Array([0,1,1,1])],[y(1,0,0,0),new Float32Array([1,0,0,0])],[y(1,0,0,1),new Float32Array([1,0,0,1])],[y(1,0,1,0),new Float32Array([1,0,1,0])],[y(1,0,1,1),new Float32Array([1,0,1,1])],[y(1,1,0,0),new Float32Array([1,1,0,0])],[y(1,1,0,1),new Float32Array([1,1,0,1])],[y(1,1,1,0),new Float32Array([1,1,1,0])],[y(1,1,1,1),new Float32Array([1,1,1,1])]]);function H(t,a,s){return t+(a-t)*s}function y(t,a,s,e){let n=H(t,a,.75),r=H(s,e,1-.25);return H(n,r,1-.125)}function V(t,a){let s=0;return a[3]===1&&(s+=1),s===1&&a[2]===1&&t[1]!==1&&t[3]!==1&&(s+=1),s}function $(t,a){let s=0;return a[3]===1&&t[1]!==1&&t[3]!==1&&(s+=1),s===1&&a[2]===1&&t[0]!==1&&t[2]!==1&&(s+=1),s}var E=class{static generate(){let o=new Uint8ClampedArray(2178),c=new Uint8ClampedArray(1024*4);for(let h=0;h<33;++h)for(let i=0;i<66;++i){let w=.03125*i,b=.03125*h;if(P.has(w)&&P.has(b)){let g=P.get(w),k=P.get(b),m=h*66+i;o[m]=127*V(g,k),o[m+33]=127*$(g,k)}}for(let h=0,i=17;i<33;++i)for(let w=0;w<64;++w,h+=4)c[h]=o[i*66+w],c[h+3]=255;return new F(64,16,c)}};self.addEventListener("message",t=>{let a=S.generate(),s=E.generate();postMessage({areaImageData:a,searchImageData:s},[a.data.buffer,s.data.buffer]),close()});})();
946
+ #`));this.skipRendering=t===0,this.needsSwap=!this.skipRendering,this.fullscreenMaterial.setShaderData(e)}recompile(){this.updateMaterial()}getDepthTexture(){return this.fullscreenMaterial.depthBuffer}setDepthTexture(e,t=r.BasicDepthPacking){this.fullscreenMaterial.depthBuffer=e,this.fullscreenMaterial.depthPacking=t;for(const i of this.effects)i.setDepthTexture(e,t)}render(e,t,i,a,s){for(const o of this.effects)o.update(e,t,a);if(!this.skipRendering||this.renderToScreen){const o=this.fullscreenMaterial;o.inputBuffer=t.texture,o.time+=a*this.timeScale,e.setRenderTarget(this.renderToScreen?null:i),e.render(this.scene,this.camera)}}setSize(e,t){this.fullscreenMaterial.setSize(e,t);for(const i of this.effects)i.setSize(e,t)}initialize(e,t,i){this.renderer=e;for(const a of this.effects)a.initialize(e,t,i);this.updateMaterial(),i!==void 0&&i!==r.UnsignedByteType&&(this.fullscreenMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1")}dispose(){super.dispose();for(const e of this.effects)e.removeEventListener("change",this.listener),e.dispose()}handleEvent(e){e.type==="change"&&this.recompile()}},_a=class extends P{constructor({kernelSize:e=35,iterations:t=1,resolutionScale:i=1,resolutionX:a=x.AUTO_SIZE,resolutionY:s=x.AUTO_SIZE}={}){super("GaussianBlurPass"),this.renderTargetA=new r.WebGLRenderTarget(1,1,{depthBuffer:!1}),this.renderTargetA.texture.name="Blur.Target.A",this.renderTargetB=this.renderTargetA.clone(),this.renderTargetB.texture.name="Blur.Target.B",this.blurMaterial=new Ht({kernelSize:e}),this.copyMaterial=new me,this.copyMaterial.inputBuffer=this.renderTargetB.texture;const o=this.resolution=new x(this,a,s,i);o.addEventListener("change",n=>this.setSize(o.baseWidth,o.baseHeight)),this.iterations=t}render(e,t,i,a,s){const o=this.scene,n=this.camera,l=this.renderTargetA,c=this.renderTargetB,u=this.blurMaterial;this.fullscreenMaterial=u;let f=t;for(let h=0,d=Math.max(this.iterations,1);h<d;++h)u.direction.set(1,0),u.inputBuffer=f.texture,e.setRenderTarget(l),e.render(o,n),u.direction.set(0,1),u.inputBuffer=l.texture,e.setRenderTarget(c),e.render(o,n),h===0&&d>1&&(f=c);this.fullscreenMaterial=this.copyMaterial,e.setRenderTarget(this.renderToScreen?null:i),e.render(o,n)}setSize(e,t){const i=this.resolution;i.setBaseSize(e,t);const a=i.width,s=i.height;this.renderTargetA.setSize(a,s),this.renderTargetB.setSize(a,s),this.blurMaterial.setSize(e,t)}initialize(e,t,i){i!==void 0&&(this.renderTargetA.texture.type=i,this.renderTargetB.texture.type=i,i!==r.UnsignedByteType?(this.blurMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1",this.copyMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1"):e!==null&&e.outputColorSpace===r.SRGBColorSpace&&(this.renderTargetA.texture.colorSpace=r.SRGBColorSpace,this.renderTargetB.texture.colorSpace=r.SRGBColorSpace))}},$a=class extends P{constructor(e){super("LambdaPass",null,null),this.needsSwap=!1,this.f=e}render(e,t,i,a,s){this.f()}},es=class extends P{constructor(e,t,{renderTarget:i,resolutionScale:a=1,width:s=x.AUTO_SIZE,height:o=x.AUTO_SIZE,resolutionX:n=s,resolutionY:l=o}={}){super("NormalPass"),this.needsSwap=!1,this.renderPass=new ge(e,t,new r.MeshNormalMaterial);const c=this.renderPass;c.ignoreBackground=!0,c.skipShadowMapUpdate=!0;const u=c.getClearPass();u.overrideClearColor=new r.Color(7829503),u.overrideClearAlpha=1,this.renderTarget=i,this.renderTarget===void 0&&(this.renderTarget=new r.WebGLRenderTarget(1,1,{minFilter:r.NearestFilter,magFilter:r.NearestFilter}),this.renderTarget.texture.name="NormalPass.Target");const f=this.resolution=new x(this,n,l,a);f.addEventListener("change",h=>this.setSize(f.baseWidth,f.baseHeight))}set mainScene(e){this.renderPass.mainScene=e}set mainCamera(e){this.renderPass.mainCamera=e}get texture(){return this.renderTarget.texture}getTexture(){return this.renderTarget.texture}getResolution(){return this.resolution}getResolutionScale(){return this.resolution.scale}setResolutionScale(e){this.resolution.scale=e}render(e,t,i,a,s){const o=this.renderToScreen?null:this.renderTarget;this.renderPass.render(e,o,o)}setSize(e,t){const i=this.resolution;i.setBaseSize(e,t),this.renderTarget.setSize(i.width,i.height)}},tt=[new Float32Array(3),new Float32Array(3)],M=[new Float32Array(3),new Float32Array(3),new Float32Array(3),new Float32Array(3)],$=[[new Float32Array([0,0,0]),new Float32Array([1,0,0]),new Float32Array([1,1,0]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([1,0,0]),new Float32Array([1,0,1]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,0,1]),new Float32Array([1,0,1]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,1,0]),new Float32Array([1,1,0]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,1,0]),new Float32Array([0,1,1]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,0,1]),new Float32Array([0,1,1]),new Float32Array([1,1,1])]];function De(e,t,i,a){const s=i[0]-t[0],o=i[1]-t[1],n=i[2]-t[2],l=e[0]-t[0],c=e[1]-t[1],u=e[2]-t[2],f=o*u-n*c,h=n*l-s*u,d=s*c-o*l,p=Math.sqrt(f*f+h*h+d*d),g=p*.5,m=f/p,A=h/p,S=d/p,T=-(e[0]*m+e[1]*A+e[2]*S),D=a[0]*m+a[1]*A+a[2]*S;return Math.abs(D+T)*g/3}function ue(e,t,i,a,s,o){const n=(i+a*t+s*t*t)*4;o[0]=e[n+0],o[1]=e[n+1],o[2]=e[n+2]}function ts(e,t,i,a,s,o){const n=i*(t-1),l=a*(t-1),c=s*(t-1),u=Math.floor(n),f=Math.floor(l),h=Math.floor(c),d=Math.ceil(n),p=Math.ceil(l),g=Math.ceil(c),m=n-u,A=l-f,S=c-h;if(u===n&&f===l&&h===c)ue(e,t,n,l,c,o);else{let T;m>=A&&A>=S?T=$[0]:m>=S&&S>=A?T=$[1]:S>=m&&m>=A?T=$[2]:A>=m&&m>=S?T=$[3]:A>=S&&S>=m?T=$[4]:S>=A&&A>=m&&(T=$[5]);const[D,b,G,k]=T,Q=tt[0];Q[0]=m,Q[1]=A,Q[2]=S;const y=tt[1],q=d-u,_=p-f,V=g-h;y[0]=q*D[0]+u,y[1]=_*D[1]+f,y[2]=V*D[2]+h,ue(e,t,y[0],y[1],y[2],M[0]),y[0]=q*b[0]+u,y[1]=_*b[1]+f,y[2]=V*b[2]+h,ue(e,t,y[0],y[1],y[2],M[1]),y[0]=q*G[0]+u,y[1]=_*G[1]+f,y[2]=V*G[2]+h,ue(e,t,y[0],y[1],y[2],M[2]),y[0]=q*k[0]+u,y[1]=_*k[1]+f,y[2]=V*k[2]+h,ue(e,t,y[0],y[1],y[2],M[3]);const X=De(b,G,k,Q)*6,R=De(D,G,k,Q)*6,Ae=De(D,b,k,Q)*6,Be=De(D,b,G,Q)*6;M[0][0]*=X,M[0][1]*=X,M[0][2]*=X,M[1][0]*=R,M[1][1]*=R,M[1][2]*=R,M[2][0]*=Ae,M[2][1]*=Ae,M[2][2]*=Ae,M[3][0]*=Be,M[3][1]*=Be,M[3][2]*=Be,o[0]=M[0][0]+M[1][0]+M[2][0]+M[3][0],o[1]=M[0][1]+M[1][1]+M[2][1]+M[3][1],o[2]=M[0][2]+M[1][2]+M[2][2]+M[3][2]}}var rs=class{static expand(e,t){const i=Math.cbrt(e.length/4),a=new Float32Array(3),s=new e.constructor(t**3*4),o=e instanceof Uint8Array?255:1,n=t**2,l=1/(t-1);for(let c=0;c<t;++c)for(let u=0;u<t;++u)for(let f=0;f<t;++f){const h=f*l,d=u*l,p=c*l,g=Math.round(f+u*t+c*n)*4;ts(e,i,h,d,p,a),s[g+0]=a[0],s[g+1]=a[1],s[g+2]=a[2],s[g+3]=o}return s}},oe=[new Float32Array(2),new Float32Array(2)],ee=16,Re=20,te=30,is=32,Ie=new Float32Array([0,-.25,.25,-.125,.125,-.375,.375]),rt=[new Float32Array([0,0]),new Float32Array([.25,-.25]),new Float32Array([-.25,.25]),new Float32Array([.125,-.125]),new Float32Array([-.125,.125])],as=[new Uint8Array([0,0]),new Uint8Array([3,0]),new Uint8Array([0,3]),new Uint8Array([3,3]),new Uint8Array([1,0]),new Uint8Array([4,0]),new Uint8Array([1,3]),new Uint8Array([4,3]),new Uint8Array([0,1]),new Uint8Array([3,1]),new Uint8Array([0,4]),new Uint8Array([3,4]),new Uint8Array([1,1]),new Uint8Array([4,1]),new Uint8Array([1,4]),new Uint8Array([4,4])],Gt=[new Uint8Array([0,0]),new Uint8Array([1,0]),new Uint8Array([0,2]),new Uint8Array([1,2]),new Uint8Array([2,0]),new Uint8Array([3,0]),new Uint8Array([2,2]),new Uint8Array([3,2]),new Uint8Array([0,1]),new Uint8Array([1,1]),new Uint8Array([0,3]),new Uint8Array([1,3]),new Uint8Array([2,1]),new Uint8Array([3,1]),new Uint8Array([2,3]),new Uint8Array([3,3])];function Te(e,t,i){return e+(t-e)*i}function ss(e){return Math.min(Math.max(e,0),1)}function it(e){const t=oe[0],i=oe[1],a=Math.sqrt(t[0]*2)*.5,s=Math.sqrt(t[1]*2)*.5,o=Math.sqrt(i[0]*2)*.5,n=Math.sqrt(i[1]*2)*.5,l=ss(e/is);t[0]=Te(a,t[0],l),t[1]=Te(s,t[1],l),i[0]=Te(o,i[0],l),i[1]=Te(n,i[1],l)}function I(e,t,i,a,s,o){const n=i-e,l=a-t,c=s,u=s+1,f=t+l*(c-e)/n,h=t+l*(u-e)/n;if(c>=e&&c<i||u>e&&u<=i)if(Math.sign(f)===Math.sign(h)||Math.abs(f)<1e-4||Math.abs(h)<1e-4){const d=(f+h)/2;d<0?(o[0]=Math.abs(d),o[1]=0):(o[0]=0,o[1]=Math.abs(d))}else{const d=-t*n/l+e,p=Math.trunc(d),g=d>e?f*(d-p)/2:0,m=d<i?h*(1-(d-p))/2:0;(Math.abs(g)>Math.abs(m)?g:-m)<0?(o[0]=Math.abs(g),o[1]=Math.abs(m)):(o[0]=Math.abs(m),o[1]=Math.abs(g))}else o[0]=0,o[1]=0;return o}function ns(e,t,i,a,s){const o=oe[0],n=oe[1],l=.5+a,c=.5+a-1,u=t+i+1;switch(e){case 0:{s[0]=0,s[1]=0;break}case 1:{t<=i?I(0,c,u/2,0,t,s):(s[0]=0,s[1]=0);break}case 2:{t>=i?I(u/2,0,u,c,t,s):(s[0]=0,s[1]=0);break}case 3:{I(0,c,u/2,0,t,o),I(u/2,0,u,c,t,n),it(u),s[0]=o[0]+n[0],s[1]=o[1]+n[1];break}case 4:{t<=i?I(0,l,u/2,0,t,s):(s[0]=0,s[1]=0);break}case 5:{s[0]=0,s[1]=0;break}case 6:{Math.abs(a)>0?(I(0,l,u,c,t,o),I(0,l,u/2,0,t,n),I(u/2,0,u,c,t,s),n[0]=n[0]+s[0],n[1]=n[1]+s[1],s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2):I(0,l,u,c,t,s);break}case 7:{I(0,l,u,c,t,s);break}case 8:{t>=i?I(u/2,0,u,l,t,s):(s[0]=0,s[1]=0);break}case 9:{Math.abs(a)>0?(I(0,c,u,l,t,o),I(0,c,u/2,0,t,n),I(u/2,0,u,l,t,s),n[0]=n[0]+s[0],n[1]=n[1]+s[1],s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2):I(0,c,u,l,t,s);break}case 10:{s[0]=0,s[1]=0;break}case 11:{I(0,c,u,l,t,s);break}case 12:{I(0,l,u/2,0,t,o),I(u/2,0,u,l,t,n),it(u),s[0]=o[0]+n[0],s[1]=o[1]+n[1];break}case 13:{I(0,c,u,l,t,s);break}case 14:{I(0,l,u,c,t,s);break}case 15:{s[0]=0,s[1]=0;break}}return s}function os(e,t,i,a,s,o){let n=e===i&&t===a;if(!n){const l=(e+i)/2,c=(t+a)/2,u=a-t,f=e-i;n=u*(s-l)+f*(o-c)>0}return n}function at(e,t,i,a,s,o){let n=0;for(let l=0;l<te;++l)for(let c=0;c<te;++c){const u=c/(te-1),f=l/(te-1);os(e,t,i,a,s+u,o+f)&&++n}return n/(te*te)}function B(e,t,i,a,s,o,n,l){const c=Gt[e],u=c[0],f=c[1];return u>0&&(t+=n[0],i+=n[1]),f>0&&(a+=n[0],s+=n[1]),l[0]=1-at(t,i,a,s,1+o,0+o),l[1]=at(t,i,a,s,1+o,1+o),l}function ls(e,t,i,a,s){const o=oe[0],n=oe[1],l=t+i+1;switch(e){case 0:{B(e,1,1,1+l,1+l,t,a,o),B(e,1,0,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 1:{B(e,1,0,0+l,0+l,t,a,o),B(e,1,0,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 2:{B(e,0,0,1+l,0+l,t,a,o),B(e,1,0,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 3:{B(e,1,0,1+l,0+l,t,a,s);break}case 4:{B(e,1,1,0+l,0+l,t,a,o),B(e,1,1,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 5:{B(e,1,1,0+l,0+l,t,a,o),B(e,1,0,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 6:{B(e,1,1,1+l,0+l,t,a,s);break}case 7:{B(e,1,1,1+l,0+l,t,a,o),B(e,1,0,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 8:{B(e,0,0,1+l,1+l,t,a,o),B(e,1,0,1+l,1+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 9:{B(e,1,0,1+l,1+l,t,a,s),B(e,1,0,1+l,1+l,t,a,s);break}case 10:{B(e,0,0,1+l,1+l,t,a,o),B(e,1,0,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 11:{B(e,1,0,1+l,1+l,t,a,o),B(e,1,0,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 12:{B(e,1,1,1+l,1+l,t,a,s);break}case 13:{B(e,1,1,1+l,1+l,t,a,o),B(e,1,0,1+l,1+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 14:{B(e,1,1,1+l,1+l,t,a,o),B(e,1,1,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 15:{B(e,1,1,1+l,1+l,t,a,o),B(e,1,0,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}}return s}function st(e,t,i){const a=new Float32Array(2);for(let s=0,o=e.length;s<o;++s){const n=e[s],l=n.data,c=n.width;for(let u=0;u<c;++u)for(let f=0;f<c;++f){i?ns(s,f,u,t,a):ls(s,f,u,t,a);const h=(u*c+f)*2;l[h]=a[0]*255,l[h+1]=a[1]*255}}}function nt(e,t,i,a,s,o,n){const l=n.data,c=n.width;for(let u=0,f=i.length;u<f;++u){const h=a[u],d=i[u],p=d.data,g=d.width;for(let m=0;m<s;++m)for(let A=0;A<s;++A){const S=h[0]*s+e+A,D=((h[1]*s+t+m)*c+S)*4,b=o?(m*m*g+A*A)*2:(m*g+A)*2;l[D]=p[b],l[D+1]=p[b+1],l[D+2]=0,l[D+3]=255}}}var cs=class{static generate(){const e=10*ee,t=Ie.length*5*ee,i=new Uint8ClampedArray(e*t*4),a=new Y(e,t,i),s=Math.pow(ee-1,2)+1,o=Re,n=[],l=[];for(let c=3,u=i.length;c<u;c+=4)i[c]=255;for(let c=0;c<16;++c)n.push(new Y(s,s,new Uint8ClampedArray(s*s*2),2)),l.push(new Y(o,o,new Uint8ClampedArray(o*o*2),2));for(let c=0,u=Ie.length;c<u;++c)st(n,Ie[c],!0),nt(0,5*ee*c,n,as,ee,!0,a);for(let c=0,u=rt.length;c<u;++c)st(l,rt[c],!1),nt(5*ee,4*Re*c,l,Gt,Re,!1,a);return a}},us=`"use strict";(()=>{function q(t,a,s){let e=document.createElement("canvas"),n=e.getContext("2d");if(e.width=t,e.height=a,s instanceof Image)n.drawImage(s,0,0);else{let r=n.createImageData(t,a);r.data.set(s),n.putImageData(r,0,0)}return e}var F=class t{constructor(a=0,s=0,e=null){this.width=a,this.height=s,this.data=e}toCanvas(){return typeof document=="undefined"?null:q(this.width,this.height,this.data)}static from(a){let{width:s,height:e}=a,n;if(a instanceof Image){let r=q(s,e,a);r!==null&&(n=r.getContext("2d").getImageData(0,0,s,e).data)}else n=a.data;return new t(s,e,n)}};var M=[new Float32Array(2),new Float32Array(2)],D=16,W=20,I=30,j=32,v=new Float32Array([0,-.25,.25,-.125,.125,-.375,.375]),N=[new Float32Array([0,0]),new Float32Array([.25,-.25]),new Float32Array([-.25,.25]),new Float32Array([.125,-.125]),new Float32Array([-.125,.125])],z=[new Uint8Array([0,0]),new Uint8Array([3,0]),new Uint8Array([0,3]),new Uint8Array([3,3]),new Uint8Array([1,0]),new Uint8Array([4,0]),new Uint8Array([1,3]),new Uint8Array([4,3]),new Uint8Array([0,1]),new Uint8Array([3,1]),new Uint8Array([0,4]),new Uint8Array([3,4]),new Uint8Array([1,1]),new Uint8Array([4,1]),new Uint8Array([1,4]),new Uint8Array([4,4])],p=[new Uint8Array([0,0]),new Uint8Array([1,0]),new Uint8Array([0,2]),new Uint8Array([1,2]),new Uint8Array([2,0]),new Uint8Array([3,0]),new Uint8Array([2,2]),new Uint8Array([3,2]),new Uint8Array([0,1]),new Uint8Array([1,1]),new Uint8Array([0,3]),new Uint8Array([1,3]),new Uint8Array([2,1]),new Uint8Array([3,1]),new Uint8Array([2,3]),new Uint8Array([3,3])];function C(t,a,s){return t+(a-t)*s}function B(t){return Math.min(Math.max(t,0),1)}function _(t){let a=M[0],s=M[1],e=Math.sqrt(a[0]*2)*.5,n=Math.sqrt(a[1]*2)*.5,r=Math.sqrt(s[0]*2)*.5,o=Math.sqrt(s[1]*2)*.5,c=B(t/j);a[0]=C(e,a[0],c),a[1]=C(n,a[1],c),s[0]=C(r,s[0],c),s[1]=C(o,s[1],c)}function d(t,a,s,e,n,r){let o=s-t,c=e-a,h=n,i=n+1,w=a+c*(h-t)/o,b=a+c*(i-t)/o;if(h>=t&&h<s||i>t&&i<=s)if(Math.sign(w)===Math.sign(b)||Math.abs(w)<1e-4||Math.abs(b)<1e-4){let g=(w+b)/2;g<0?(r[0]=Math.abs(g),r[1]=0):(r[0]=0,r[1]=Math.abs(g))}else{let g=-a*o/c+t,k=Math.trunc(g),m=g>t?w*(g-k)/2:0,U=g<s?b*(1-(g-k))/2:0;(Math.abs(m)>Math.abs(U)?m:-U)<0?(r[0]=Math.abs(m),r[1]=Math.abs(U)):(r[0]=Math.abs(U),r[1]=Math.abs(m))}else r[0]=0,r[1]=0;return r}function J(t,a,s,e,n){let r=M[0],o=M[1],c=.5+e,h=.5+e-1,i=a+s+1;switch(t){case 0:{n[0]=0,n[1]=0;break}case 1:{a<=s?d(0,h,i/2,0,a,n):(n[0]=0,n[1]=0);break}case 2:{a>=s?d(i/2,0,i,h,a,n):(n[0]=0,n[1]=0);break}case 3:{d(0,h,i/2,0,a,r),d(i/2,0,i,h,a,o),_(i,M),n[0]=r[0]+o[0],n[1]=r[1]+o[1];break}case 4:{a<=s?d(0,c,i/2,0,a,n):(n[0]=0,n[1]=0);break}case 5:{n[0]=0,n[1]=0;break}case 6:{Math.abs(e)>0?(d(0,c,i,h,a,r),d(0,c,i/2,0,a,o),d(i/2,0,i,h,a,n),o[0]=o[0]+n[0],o[1]=o[1]+n[1],n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2):d(0,c,i,h,a,n);break}case 7:{d(0,c,i,h,a,n);break}case 8:{a>=s?d(i/2,0,i,c,a,n):(n[0]=0,n[1]=0);break}case 9:{Math.abs(e)>0?(d(0,h,i,c,a,r),d(0,h,i/2,0,a,o),d(i/2,0,i,c,a,n),o[0]=o[0]+n[0],o[1]=o[1]+n[1],n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2):d(0,h,i,c,a,n);break}case 10:{n[0]=0,n[1]=0;break}case 11:{d(0,h,i,c,a,n);break}case 12:{d(0,c,i/2,0,a,r),d(i/2,0,i,c,a,o),_(i,M),n[0]=r[0]+o[0],n[1]=r[1]+o[1];break}case 13:{d(0,h,i,c,a,n);break}case 14:{d(0,c,i,h,a,n);break}case 15:{n[0]=0,n[1]=0;break}}return n}function K(t,a,s,e,n,r){let o=t===s&&a===e;if(!o){let c=(t+s)/2,h=(a+e)/2,i=e-a,w=t-s;o=i*(n-c)+w*(r-h)>0}return o}function G(t,a,s,e,n,r){let o=0;for(let c=0;c<I;++c)for(let h=0;h<I;++h){let i=h/(I-1),w=c/(I-1);K(t,a,s,e,n+i,r+w)&&++o}return o/(I*I)}function A(t,a,s,e,n,r,o,c){let h=p[t],i=h[0],w=h[1];return i>0&&(a+=o[0],s+=o[1]),w>0&&(e+=o[0],n+=o[1]),c[0]=1-G(a,s,e,n,1+r,0+r),c[1]=G(a,s,e,n,1+r,1+r),c}function Q(t,a,s,e,n){let r=M[0],o=M[1],c=a+s+1;switch(t){case 0:{A(t,1,1,1+c,1+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 1:{A(t,1,0,0+c,0+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 2:{A(t,0,0,1+c,0+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 3:{A(t,1,0,1+c,0+c,a,e,n);break}case 4:{A(t,1,1,0+c,0+c,a,e,r),A(t,1,1,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 5:{A(t,1,1,0+c,0+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 6:{A(t,1,1,1+c,0+c,a,e,n);break}case 7:{A(t,1,1,1+c,0+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 8:{A(t,0,0,1+c,1+c,a,e,r),A(t,1,0,1+c,1+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 9:{A(t,1,0,1+c,1+c,a,e,n),A(t,1,0,1+c,1+c,a,e,n);break}case 10:{A(t,0,0,1+c,1+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 11:{A(t,1,0,1+c,1+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 12:{A(t,1,1,1+c,1+c,a,e,n);break}case 13:{A(t,1,1,1+c,1+c,a,e,r),A(t,1,0,1+c,1+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 14:{A(t,1,1,1+c,1+c,a,e,r),A(t,1,1,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 15:{A(t,1,1,1+c,1+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}}return n}function R(t,a,s){let e=new Float32Array(2);for(let n=0,r=t.length;n<r;++n){let o=t[n],c=o.data,h=o.width;for(let i=0;i<h;++i)for(let w=0;w<h;++w){s?J(n,w,i,a,e):Q(n,w,i,a,e);let b=(i*h+w)*2;c[b]=e[0]*255,c[b+1]=e[1]*255}}}function T(t,a,s,e,n,r,o){let c=o.data,h=o.width;for(let i=0,w=s.length;i<w;++i){let b=e[i],g=s[i],k=g.data,m=g.width;for(let U=0;U<n;++U)for(let x=0;x<n;++x){let Z=b[0]*n+t+x,O=((b[1]*n+a+U)*h+Z)*4,L=r?(U*U*m+x*x)*2:(U*m+x)*2;c[O]=k[L],c[O+1]=k[L+1],c[O+2]=0,c[O+3]=255}}}var S=class{static generate(){let a=10*D,s=v.length*5*D,e=new Uint8ClampedArray(a*s*4),n=new F(a,s,e),r=Math.pow(D-1,2)+1,o=W,c=[],h=[];for(let i=3,w=e.length;i<w;i+=4)e[i]=255;for(let i=0;i<16;++i)c.push(new F(r,r,new Uint8ClampedArray(r*r*2),2)),h.push(new F(o,o,new Uint8ClampedArray(o*o*2),2));for(let i=0,w=v.length;i<w;++i)R(c,v[i],!0),T(0,5*D*i,c,z,D,!0,n);for(let i=0,w=N.length;i<w;++i)R(h,N[i],!1),T(5*D,4*W*i,h,p,W,!1,n);return n}};var P=new Map([[y(0,0,0,0),new Float32Array([0,0,0,0])],[y(0,0,0,1),new Float32Array([0,0,0,1])],[y(0,0,1,0),new Float32Array([0,0,1,0])],[y(0,0,1,1),new Float32Array([0,0,1,1])],[y(0,1,0,0),new Float32Array([0,1,0,0])],[y(0,1,0,1),new Float32Array([0,1,0,1])],[y(0,1,1,0),new Float32Array([0,1,1,0])],[y(0,1,1,1),new Float32Array([0,1,1,1])],[y(1,0,0,0),new Float32Array([1,0,0,0])],[y(1,0,0,1),new Float32Array([1,0,0,1])],[y(1,0,1,0),new Float32Array([1,0,1,0])],[y(1,0,1,1),new Float32Array([1,0,1,1])],[y(1,1,0,0),new Float32Array([1,1,0,0])],[y(1,1,0,1),new Float32Array([1,1,0,1])],[y(1,1,1,0),new Float32Array([1,1,1,0])],[y(1,1,1,1),new Float32Array([1,1,1,1])]]);function H(t,a,s){return t+(a-t)*s}function y(t,a,s,e){let n=H(t,a,.75),r=H(s,e,1-.25);return H(n,r,1-.125)}function V(t,a){let s=0;return a[3]===1&&(s+=1),s===1&&a[2]===1&&t[1]!==1&&t[3]!==1&&(s+=1),s}function $(t,a){let s=0;return a[3]===1&&t[1]!==1&&t[3]!==1&&(s+=1),s===1&&a[2]===1&&t[0]!==1&&t[2]!==1&&(s+=1),s}var E=class{static generate(){let o=new Uint8ClampedArray(2178),c=new Uint8ClampedArray(1024*4);for(let h=0;h<33;++h)for(let i=0;i<66;++i){let w=.03125*i,b=.03125*h;if(P.has(w)&&P.has(b)){let g=P.get(w),k=P.get(b),m=h*66+i;o[m]=127*V(g,k),o[m+33]=127*$(g,k)}}for(let h=0,i=17;i<33;++i)for(let w=0;w<64;++w,h+=4)c[h]=o[i*66+w],c[h+3]=255;return new F(64,16,c)}};self.addEventListener("message",t=>{let a=S.generate(),s=E.generate();postMessage({areaImageData:a,searchImageData:s},[a.data.buffer,s.data.buffer]),close()});})();
947
947
  `;function fs(e=!0){const t=URL.createObjectURL(new Blob([us],{type:"text/javascript"})),i=new Worker(t);return URL.revokeObjectURL(t),new Promise((a,s)=>{i.addEventListener("error",o=>s(o.error)),i.addEventListener("message",o=>{const n=Y.from(o.data.searchImageData),l=Y.from(o.data.areaImageData),c=[n.toCanvas().toDataURL("image/png",1),l.toCanvas().toDataURL("image/png",1)];e&&(localStorage.setItem("smaa-search",c[0]),localStorage.setItem("smaa-area",c[1])),a(c)}),i.postMessage(null)})}var hs=class{constructor(){this.disableCache=!1}setCacheEnabled(e){this.disableCache=!e}generate(){const e=!this.disableCache&&window.localStorage!==void 0,t=e?[localStorage.getItem("smaa-search"),localStorage.getItem("smaa-area")]:[null,null];return(t[0]!==null&&t[1]!==null?Promise.resolve(t):fs(e)).then(a=>new Promise((s,o)=>{const n=new Image,l=new Image,c=new r.LoadingManager;c.onLoad=()=>s([n,l]),c.onError=o,n.addEventListener("error",u=>c.itemError("smaa-search")),l.addEventListener("error",u=>c.itemError("smaa-area")),n.addEventListener("load",()=>c.itemEnd("smaa-search")),l.addEventListener("load",()=>c.itemEnd("smaa-area")),c.itemStart("smaa-search"),c.itemStart("smaa-area"),n.src=a[0],l.src=a[1]}))}},we=new Map([[F(0,0,0,0),new Float32Array([0,0,0,0])],[F(0,0,0,1),new Float32Array([0,0,0,1])],[F(0,0,1,0),new Float32Array([0,0,1,0])],[F(0,0,1,1),new Float32Array([0,0,1,1])],[F(0,1,0,0),new Float32Array([0,1,0,0])],[F(0,1,0,1),new Float32Array([0,1,0,1])],[F(0,1,1,0),new Float32Array([0,1,1,0])],[F(0,1,1,1),new Float32Array([0,1,1,1])],[F(1,0,0,0),new Float32Array([1,0,0,0])],[F(1,0,0,1),new Float32Array([1,0,0,1])],[F(1,0,1,0),new Float32Array([1,0,1,0])],[F(1,0,1,1),new Float32Array([1,0,1,1])],[F(1,1,0,0),new Float32Array([1,1,0,0])],[F(1,1,0,1),new Float32Array([1,1,0,1])],[F(1,1,1,0),new Float32Array([1,1,1,0])],[F(1,1,1,1),new Float32Array([1,1,1,1])]]);function be(e,t,i){return e+(t-e)*i}function F(e,t,i,a){const s=be(e,t,.75),o=be(i,a,1-.25);return be(s,o,1-.125)}function ds(e,t){let i=0;return t[3]===1&&(i+=1),i===1&&t[2]===1&&e[1]!==1&&e[3]!==1&&(i+=1),i}function ps(e,t){let i=0;return t[3]===1&&e[1]!==1&&e[3]!==1&&(i+=1),i===1&&t[2]===1&&e[0]!==1&&e[2]!==1&&(i+=1),i}var vs=class{static generate(){const o=new Uint8ClampedArray(2178),n=new Uint8ClampedArray(1024*4);for(let l=0;l<33;++l)for(let c=0;c<66;++c){const u=.03125*c,f=.03125*l;if(we.has(u)&&we.has(f)){const h=we.get(u),d=we.get(f),p=l*66+c;o[p]=127*ds(h,d),o[p+33]=127*ps(h,d)}}for(let l=0,c=17;c<33;++c)for(let u=0;u<64;++u,l+=4)n[l]=o[c*66+u],n[l+3]=255;return new Y(64,16,n)}};const ms=Object.freeze(Object.defineProperty({__proto__:null,ASCIIEffect:Gr,ASCIITexture:dt,AdaptiveLuminanceMaterial:bt,AdaptiveLuminancePass:Ft,BlendFunction:v,BlendMode:ht,BloomEffect:At,BlurPass:J,BokehEffect:Jr,BokehMaterial:fe,BoxBlurMaterial:Lt,BoxBlurPass:Wa,BrightnessContrastEffect:_r,ChromaticAberrationEffect:si,CircleOfConfusionMaterial:xt,ClearMaskPass:lt,ClearPass:le,ColorAverageEffect:ei,ColorChannel:Z,ColorDepthEffect:ri,ColorEdgesMaterial:Ne,ConvolutionMaterial:Ee,CopyMaterial:me,CopyPass:pe,DepthComparisonMaterial:Ct,DepthCopyMaterial:Ot,DepthCopyMode:se,DepthCopyPass:ze,DepthDownsamplingMaterial:Pt,DepthDownsamplingPass:Ut,DepthEffect:oi,DepthMaskMaterial:Bt,DepthOfFieldEffect:di,DepthPass:Ye,DepthPickingPass:ja,DepthSavePass:ze,DepthTestStrategy:ne,Disposable:Jt,DotScreenEffect:vi,DownsamplingMaterial:vt,EdgeDetectionMaterial:Ne,EdgeDetectionMode:We,Effect:C,EffectAttribute:U,EffectComposer:er,EffectMaterial:Nt,EffectPass:qa,EffectShaderData:ut,EffectShaderSection:E,FXAAEffect:Ai,GammaCorrectionEffect:Di,GaussKernel:ft,GaussianBlurMaterial:Ht,GaussianBlurPass:_a,GlitchEffect:Si,GlitchMode:re,GodRaysEffect:Bi,GodRaysMaterial:Tt,GridEffect:yi,HueSaturationEffect:Ui,ImmutableTimer:tr,Initializable:rr,KawaseBlurMaterial:Ee,KawaseBlurPass:J,KernelSize:z,LUT1DEffect:Fi,LUT3DEffect:qe,LUT3dlLoader:ba,LUTCubeLoader:Fa,LUTEffect:qe,LUTOperation:wt,LambdaPass:$a,LensDistortionEffect:Ii,LookupTexture:ve,LookupTexture3D:ve,LuminanceMaterial:pt,LuminancePass:Qe,MaskFunction:Ve,MaskMaterial:Dt,MaskPass:ct,MipmapBlurPass:gt,NoiseEffect:Gi,NoiseTexture:Ce,NormalPass:es,OutlineEdgesMaterial:Oe,OutlineEffect:Ki,OutlineMaterial:Oe,OverrideMaterialManager:Le,Pass:P,PixelationEffect:Zi,PredicationMode:Et,RawImageData:Y,RealisticBokehEffect:Ji,RenderPass:ge,Resizable:ir,Resizer:x,Resolution:x,SMAAAreaImageData:cs,SMAAEffect:da,SMAAImageGenerator:hs,SMAAImageLoader:La,SMAAPreset:ie,SMAASearchImageData:vs,SMAAWeightsMaterial:Mt,SSAOEffect:xa,SSAOMaterial:yt,SavePass:pe,ScanlineEffect:_i,Section:E,Selection:ke,SelectiveBloomEffect:aa,SepiaEffect:na,ShaderPass:H,ShockWaveEffect:ra,TetrahedralUpscaler:rs,TextureEffect:wa,TiltShiftBlurMaterial:Rt,TiltShiftBlurPass:It,TiltShiftEffect:Ma,Timer:ot,ToneMappingEffect:Ua,ToneMappingMode:O,UpsamplingMaterial:mt,VignetteEffect:Ia,VignetteTechnique:ae,WebGLExtension:Ni,version:jt},Symbol.toStringTag,{value:"Module"}));class gs extends r.BufferGeometry{boundingSphere=new r.Sphere;constructor(){super(),this.setAttribute("position",new r.BufferAttribute(new Float32Array([-1,-1,3,-1,-1,3]),2)),this.setAttribute("uv",new r.BufferAttribute(new Float32Array([0,0,2,0,0,2]),2))}computeBoundingSphere(){}}const As=new gs,xs=new r.OrthographicCamera;class N{constructor(t){this._mesh=new r.Mesh(As,t),this._mesh.frustumCulled=!1}render(t){t.render(this._mesh,xs)}get material(){return this._mesh.material}set material(t){this._mesh.material=t}dispose(){this._mesh.material.dispose(),this._mesh.geometry.dispose()}}const zt={uniforms:{sceneDiffuse:{value:null},sceneDepth:{value:null},sceneNormal:{value:null},projMat:{value:new r.Matrix4},viewMat:{value:new r.Matrix4},projViewMat:{value:new r.Matrix4},projectionMatrixInv:{value:new r.Matrix4},viewMatrixInv:{value:new r.Matrix4},cameraPos:{value:new r.Vector3},resolution:{value:new r.Vector2},biasAdjustment:{value:new r.Vector2},time:{value:0},samples:{value:[]},bluenoise:{value:null},distanceFalloff:{value:1},radius:{value:5},near:{value:.1},far:{value:1e3},ortho:{value:!1},screenSpaceRadius:{value:!1},frame:{value:0}},depthWrite:!1,depthTest:!1,vertexShader:`
948
948
  varying vec2 vUv;
949
949
  void main() {