gaesup-world 1.3.2 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ControllerWrapper-Bc_pRQSv.js → ControllerWrapper-C3UMrzdp.js} +4 -4
- package/dist/{ControllerWrapper-C6mzwejv.cjs → ControllerWrapper-DIUV_1p1.cjs} +1 -1
- package/dist/{CoreBridge-DdJBUxmY.js → CoreBridge-CoU_vJOo.js} +1 -0
- package/dist/CoreBridge-L4l4UNtR.cjs +1 -0
- package/dist/{Gamepad-DpCgazVm.js → Gamepad-BawlpcyM.js} +4 -4
- package/dist/{Gamepad-BVhh5IfO.cjs → Gamepad-CoQE9m_1.cjs} +1 -1
- package/dist/{NodeGpuSnow-lWPqrcUV.js → NodeGpuSnow-BThaiMpK.js} +1 -1
- package/dist/{NodeGpuSnow-C3MwTvnW.cjs → NodeGpuSnow-f9wlKlwW.cjs} +1 -1
- package/dist/{NodeGrassMaterial-W9H9z72i.js → NodeGrassMaterial-CJK8SHRN.js} +1 -1
- package/dist/{NodeGrassMaterial-BMwfsBMP.cjs → NodeGrassMaterial-guHIFd84.cjs} +1 -1
- package/dist/{NodeTreeParticles-DPjRQ0wj.js → NodeTreeParticles-B6Uc3dm8.js} +1 -1
- package/dist/{NodeTreeParticles-DDpwPxpE.cjs → NodeTreeParticles-L5KT8B3a.cjs} +1 -1
- package/dist/{NodeWaterMaterial-C5fHPHUG.cjs → NodeWaterMaterial-CKFPRMzR.cjs} +1 -1
- package/dist/{NodeWaterMaterial-Bc1nkYSw.js → NodeWaterMaterial-Dw8RPNGF.js} +2 -2
- package/dist/{Rideable-CWddzOkn.cjs → Rideable-DTAx6_RK.cjs} +1 -1
- package/dist/{Rideable-DTSh5xu3.js → Rideable-Dm-oCo-n.js} +8 -8
- package/dist/{SaveSystem-DF5zSnEj.js → SaveSystem-Bykmdjii.js} +2 -2
- package/dist/{SaveSystem-DwfckGGo.cjs → SaveSystem-WgUdypXP.cjs} +1 -1
- package/dist/{WorldBridge-DmvFhm9b.cjs → WorldBridge-CBEkEehK.cjs} +1 -1
- package/dist/{WorldBridge-m64VREYb.js → WorldBridge-DtqzMddm.js} +1 -1
- package/dist/{WorldContainer-Ce5PVxSF.js → WorldContainer-DbiTa1oh.js} +7 -7
- package/dist/{WorldContainer-BjZj0uvZ.cjs → WorldContainer-q3Rq3b7f.cjs} +1 -1
- package/dist/{WorldPhysics-CueqwH91.cjs → WorldPhysics-BZikSWLR.cjs} +1 -1
- package/dist/{WorldPhysics-oZdWret8.js → WorldPhysics-Vl-5Z9O5.js} +1 -1
- package/dist/WorldPostProcessing-C40JqbKO.js +234 -0
- package/dist/WorldPostProcessing-C9qqKrpI.cjs +1 -0
- package/dist/{WorldProps-CQrtF4CO.js → WorldProps-DgfIrPMF.js} +20 -10
- package/dist/WorldProps-wZ7K1YUd.cjs +1 -0
- package/dist/blueprints/core/components/GravityForceComponent.d.cts +2 -2
- package/dist/blueprints/core/components/GravityForceComponent.d.ts +2 -2
- package/dist/blueprints/core/types.d.cts +10 -10
- package/dist/blueprints/core/types.d.ts +10 -10
- package/dist/{blueprints-BHfyy363.cjs → blueprints-BRMf59iu.cjs} +1 -1
- package/dist/{blueprints-BlhgrXDo.js → blueprints-BzU37Tjs.js} +2 -2
- package/dist/blueprints-editor.cjs +1 -1
- package/dist/blueprints-editor.js +7 -7
- package/dist/blueprints.cjs +1 -1
- package/dist/blueprints.js +1 -1
- package/dist/building.cjs +1 -1
- package/dist/building.js +3 -3
- package/dist/core/animation/bridge/types.d.cts +4 -4
- package/dist/core/animation/bridge/types.d.ts +4 -4
- package/dist/core/animation/components/AnimationController/types.d.cts +2 -2
- package/dist/core/animation/components/AnimationController/types.d.ts +2 -2
- package/dist/core/animation/components/AnimationDebugPanel/types.d.cts +6 -6
- package/dist/core/animation/components/AnimationDebugPanel/types.d.ts +6 -6
- package/dist/core/animation/components/AnimationPlayer/types.d.cts +2 -2
- package/dist/core/animation/components/AnimationPlayer/types.d.ts +2 -2
- package/dist/core/animation/core/types.d.cts +6 -6
- package/dist/core/animation/core/types.d.ts +6 -6
- package/dist/core/animation/stores/types.d.cts +2 -2
- package/dist/core/animation/stores/types.d.ts +2 -2
- package/dist/core/boilerplate/entity/BaseSystem.d.cts +6 -6
- package/dist/core/boilerplate/entity/BaseSystem.d.ts +6 -6
- package/dist/core/boilerplate/hooks/useCollisionHandler.d.cts +2 -2
- package/dist/core/boilerplate/hooks/useCollisionHandler.d.ts +2 -2
- package/dist/core/boilerplate/hooks/useEntityLifecycle.d.cts +2 -2
- package/dist/core/boilerplate/hooks/useEntityLifecycle.d.ts +2 -2
- package/dist/core/building/components/mesh/billboard/index.d.cts +2 -2
- package/dist/core/building/components/mesh/billboard/index.d.ts +2 -2
- package/dist/core/building/components/mesh/fire/index.d.cts +2 -2
- package/dist/core/building/components/mesh/fire/index.d.ts +2 -2
- package/dist/core/building/components/mesh/model/merge.d.cts +2 -1
- package/dist/core/building/components/mesh/model/merge.d.ts +2 -1
- package/dist/core/building/model/placement.d.cts +2 -2
- package/dist/core/building/model/placement.d.ts +2 -2
- package/dist/core/camera/bridge/types.d.cts +7 -5
- package/dist/core/camera/bridge/types.d.ts +7 -5
- package/dist/core/camera/components/CameraController/defaults.d.cts +2 -1
- package/dist/core/camera/components/CameraController/defaults.d.ts +2 -1
- package/dist/core/camera/components/CameraController/index.d.cts +4 -4
- package/dist/core/camera/components/CameraController/index.d.ts +4 -4
- package/dist/core/camera/components/CameraController/types.d.cts +16 -1
- package/dist/core/camera/components/CameraController/types.d.ts +16 -1
- package/dist/core/camera/components/index.d.cts +2 -2
- package/dist/core/camera/components/index.d.ts +2 -2
- package/dist/core/camera/controllers/BaseController.d.cts +4 -0
- package/dist/core/camera/controllers/BaseController.d.ts +4 -0
- package/dist/core/camera/core/CameraOcclusion.d.cts +60 -0
- package/dist/core/camera/core/CameraOcclusion.d.ts +60 -0
- package/dist/core/camera/core/CameraSystem.d.cts +2 -0
- package/dist/core/camera/core/CameraSystem.d.ts +2 -0
- package/dist/core/camera/core/constants.d.cts +1 -0
- package/dist/core/camera/core/constants.d.ts +1 -0
- package/dist/core/camera/core/seeThrough.d.cts +64 -0
- package/dist/core/camera/core/seeThrough.d.ts +64 -0
- package/dist/core/camera/core/types.d.cts +17 -0
- package/dist/core/camera/core/types.d.ts +17 -0
- package/dist/core/camera/debug/CameraDebugger.d.cts +2 -2
- package/dist/core/camera/debug/CameraDebugger.d.ts +2 -2
- package/dist/core/camera/stores/slices/cameraOption/types.d.cts +2 -2
- package/dist/core/camera/stores/slices/cameraOption/types.d.ts +2 -2
- package/dist/core/camera/utils/camera.d.cts +6 -3
- package/dist/core/camera/utils/camera.d.ts +6 -3
- package/dist/core/camera/utils/sphereSweep.d.cts +8 -1
- package/dist/core/camera/utils/sphereSweep.d.ts +8 -1
- package/dist/core/character/plugin.d.cts +2 -2
- package/dist/core/character/plugin.d.ts +2 -2
- package/dist/core/editor/components/CommandPalette.d.cts +4 -4
- package/dist/core/editor/components/CommandPalette.d.ts +4 -4
- package/dist/core/editor/components/Editor/types.d.cts +2 -2
- package/dist/core/editor/components/Editor/types.d.ts +2 -2
- package/dist/core/editor/components/EditorLayout/types.d.cts +8 -8
- package/dist/core/editor/components/EditorLayout/types.d.ts +8 -8
- package/dist/core/editor/components/SaveStatusIndicator.d.cts +2 -2
- package/dist/core/editor/components/SaveStatusIndicator.d.ts +2 -2
- package/dist/core/editor/components/gizmos/TransformGizmo.d.cts +2 -2
- package/dist/core/editor/components/gizmos/TransformGizmo.d.ts +2 -2
- package/dist/core/editor/components/panels/CameraSettingsTab/types.d.cts +1 -1
- package/dist/core/editor/components/panels/CameraSettingsTab/types.d.ts +1 -1
- package/dist/core/editor/hooks/useEditorAutosave.d.cts +2 -2
- package/dist/core/editor/hooks/useEditorAutosave.d.ts +2 -2
- package/dist/core/editor/hooks/useEditorShortcuts.d.cts +2 -2
- package/dist/core/editor/hooks/useEditorShortcuts.d.ts +2 -2
- package/dist/core/editor/playMode.d.cts +8 -8
- package/dist/core/editor/playMode.d.ts +8 -8
- package/dist/core/editor/saveState.d.cts +4 -4
- package/dist/core/editor/saveState.d.ts +4 -4
- package/dist/core/editor/selection.d.cts +4 -4
- package/dist/core/editor/selection.d.ts +4 -4
- package/dist/core/editor/shortcuts.d.cts +6 -6
- package/dist/core/editor/shortcuts.d.ts +6 -6
- package/dist/core/editor/stores/editorSlice.d.cts +2 -2
- package/dist/core/editor/stores/editorSlice.d.ts +2 -2
- package/dist/core/gi/components/GiVolume/index.d.cts +8 -0
- package/dist/core/gi/components/GiVolume/index.d.ts +8 -0
- package/dist/core/gi/components/GiVolume/runtime.d.cts +14 -0
- package/dist/core/gi/components/GiVolume/runtime.d.ts +14 -0
- package/dist/core/gi/components/GiVolume/types.d.cts +31 -0
- package/dist/core/gi/components/GiVolume/types.d.ts +31 -0
- package/dist/core/gi/components/WorldGi/index.d.cts +9 -0
- package/dist/core/gi/components/WorldGi/index.d.ts +9 -0
- package/dist/core/gi/components/WorldGi/sceneLight.d.cts +17 -0
- package/dist/core/gi/components/WorldGi/sceneLight.d.ts +17 -0
- package/dist/core/gi/components/WorldGi/types.d.cts +17 -0
- package/dist/core/gi/components/WorldGi/types.d.ts +17 -0
- package/dist/core/gi/core/color.d.cts +5 -0
- package/dist/core/gi/core/color.d.ts +5 -0
- package/dist/core/gi/core/cube.d.cts +14 -0
- package/dist/core/gi/core/cube.d.ts +14 -0
- package/dist/core/gi/core/giEnvironment.d.cts +10 -0
- package/dist/core/gi/core/giEnvironment.d.ts +10 -0
- package/dist/core/gi/core/giWasm.d.cts +9 -0
- package/dist/core/gi/core/giWasm.d.ts +9 -0
- package/dist/core/gi/core/probeCascade.d.cts +40 -0
- package/dist/core/gi/core/probeCascade.d.ts +40 -0
- package/dist/core/gi/core/probeField.d.cts +14 -0
- package/dist/core/gi/core/probeField.d.ts +14 -0
- package/dist/core/gi/core/probeGrid.d.cts +5 -0
- package/dist/core/gi/core/probeGrid.d.ts +5 -0
- package/dist/core/gi/core/probeVolume.d.cts +85 -0
- package/dist/core/gi/core/probeVolume.d.ts +85 -0
- package/dist/core/gi/core/probeWasmKernel.d.cts +26 -0
- package/dist/core/gi/core/probeWasmKernel.d.ts +26 -0
- package/dist/core/gi/core/sampling.d.cts +23 -0
- package/dist/core/gi/core/sampling.d.ts +23 -0
- package/dist/core/gi/core/traceVoxels.d.cts +10 -0
- package/dist/core/gi/core/traceVoxels.d.ts +10 -0
- package/dist/core/gi/core/voxelGrid.d.cts +13 -0
- package/dist/core/gi/core/voxelGrid.d.ts +13 -0
- package/dist/core/gi/core/voxelScene.d.cts +25 -0
- package/dist/core/gi/core/voxelScene.d.ts +25 -0
- package/dist/core/gi/hooks/useBuildingVoxelBoxes.d.cts +2 -0
- package/dist/core/gi/hooks/useBuildingVoxelBoxes.d.ts +2 -0
- package/dist/core/gi/hooks/useGi.d.cts +3 -0
- package/dist/core/gi/hooks/useGi.d.ts +3 -0
- package/dist/core/gi/index.d.cts +19 -0
- package/dist/core/gi/index.d.ts +19 -0
- package/dist/core/gi/types.d.cts +82 -0
- package/dist/core/gi/types.d.ts +82 -0
- package/dist/core/gi/utils/buildingVoxelBoxes.d.cts +9 -0
- package/dist/core/gi/utils/buildingVoxelBoxes.d.ts +9 -0
- package/dist/core/gi/utils/types.d.cts +12 -0
- package/dist/core/gi/utils/types.d.ts +12 -0
- package/dist/core/grid/types.d.cts +18 -18
- package/dist/core/grid/types.d.ts +18 -18
- package/dist/core/hooks/useClicker/types.d.cts +4 -4
- package/dist/core/hooks/useClicker/types.d.ts +4 -4
- package/dist/core/hooks/useGaesupController/types.d.cts +2 -2
- package/dist/core/hooks/useGaesupController/types.d.ts +2 -2
- package/dist/core/hooks/useTeleport/index.d.cts +2 -2
- package/dist/core/hooks/useTeleport/index.d.ts +2 -2
- package/dist/core/i18n/plugin.d.cts +2 -2
- package/dist/core/i18n/plugin.d.ts +2 -2
- package/dist/core/index.d.cts +2 -0
- package/dist/core/index.d.ts +2 -0
- package/dist/core/interactions/bridge/types.d.cts +16 -16
- package/dist/core/interactions/bridge/types.d.ts +16 -16
- package/dist/core/interactions/components/ControllerWrapper/types.d.cts +4 -4
- package/dist/core/interactions/components/ControllerWrapper/types.d.ts +4 -4
- package/dist/core/interactions/stores/types.d.cts +4 -4
- package/dist/core/interactions/stores/types.d.ts +4 -4
- package/dist/core/motions/controller/MotionController/types.d.cts +2 -2
- package/dist/core/motions/controller/MotionController/types.d.ts +2 -2
- package/dist/core/motions/controller/types.d.cts +2 -2
- package/dist/core/motions/controller/types.d.ts +2 -2
- package/dist/core/motions/core/system/types.d.cts +2 -2
- package/dist/core/motions/core/system/types.d.ts +2 -2
- package/dist/core/motions/core/types.d.cts +12 -12
- package/dist/core/motions/core/types.d.ts +12 -12
- package/dist/core/motions/hooks/useBlueprintEntity.d.cts +2 -2
- package/dist/core/motions/hooks/useBlueprintEntity.d.ts +2 -2
- package/dist/core/motions/hooks/useInteractionSystem.d.cts +2 -2
- package/dist/core/motions/hooks/useInteractionSystem.d.ts +2 -2
- package/dist/core/motions/hooks/useStateSystem.d.cts +2 -2
- package/dist/core/motions/hooks/useStateSystem.d.ts +2 -2
- package/dist/core/motions/ui/MotionDebugPanel/types.d.cts +6 -6
- package/dist/core/motions/ui/MotionDebugPanel/types.d.ts +6 -6
- package/dist/core/motions/ui/MotionUI/types.d.cts +2 -2
- package/dist/core/motions/ui/MotionUI/types.d.ts +2 -2
- package/dist/core/navigation/NavigationSystem.d.cts +2 -2
- package/dist/core/navigation/NavigationSystem.d.ts +2 -2
- package/dist/core/networks/components/PlayerInfoOverlay.d.cts +2 -2
- package/dist/core/networks/components/PlayerInfoOverlay.d.ts +2 -2
- package/dist/core/networks/components/RemotePlayer.d.cts +2 -2
- package/dist/core/networks/components/RemotePlayer.d.ts +2 -2
- package/dist/core/networks/core/PlayerPositionTracker.d.cts +4 -4
- package/dist/core/networks/core/PlayerPositionTracker.d.ts +4 -4
- package/dist/core/networks/hooks/usePlayerNetwork.d.cts +4 -4
- package/dist/core/networks/hooks/usePlayerNetwork.d.ts +4 -4
- package/dist/core/npc/plugin.d.cts +2 -2
- package/dist/core/npc/plugin.d.ts +2 -2
- package/dist/core/placement/types.d.cts +18 -18
- package/dist/core/placement/types.d.ts +18 -18
- package/dist/core/plugins/ExtensionRegistry.d.cts +2 -2
- package/dist/core/plugins/ExtensionRegistry.d.ts +2 -2
- package/dist/core/plugins/validation.d.cts +6 -6
- package/dist/core/plugins/validation.d.ts +6 -6
- package/dist/core/prefab/types.d.cts +14 -14
- package/dist/core/prefab/types.d.ts +14 -14
- package/dist/core/project-settings/types.d.cts +18 -18
- package/dist/core/project-settings/types.d.ts +18 -18
- package/dist/core/rendering/postprocess/WorldPostProcessing.d.cts +26 -1
- package/dist/core/rendering/postprocess/WorldPostProcessing.d.ts +26 -1
- package/dist/core/rendering/postprocess/screenSpaceLighting.d.cts +51 -0
- package/dist/core/rendering/postprocess/screenSpaceLighting.d.ts +51 -0
- package/dist/core/rendering/tsl/gi.d.cts +6 -0
- package/dist/core/rendering/tsl/gi.d.ts +6 -0
- package/dist/core/rendering/tsl/types.d.cts +11 -0
- package/dist/core/rendering/tsl/types.d.ts +11 -0
- package/dist/core/rendering/webgpu.d.cts +2 -0
- package/dist/core/rendering/webgpu.d.ts +2 -0
- package/dist/core/runtime/saveDiagnostics.d.cts +4 -4
- package/dist/core/runtime/saveDiagnostics.d.ts +4 -4
- package/dist/core/scene/plugin.d.cts +2 -2
- package/dist/core/scene/plugin.d.ts +2 -2
- package/dist/core/scene-object/layers.d.cts +16 -16
- package/dist/core/scene-object/layers.d.ts +16 -16
- package/dist/core/scene-object/migration.d.cts +8 -8
- package/dist/core/scene-object/migration.d.ts +8 -8
- package/dist/core/scene-object/query.d.cts +2 -2
- package/dist/core/scene-object/query.d.ts +2 -2
- package/dist/core/scene-object/serialization.d.cts +2 -2
- package/dist/core/scene-object/serialization.d.ts +2 -2
- package/dist/core/scene-object/types.d.cts +16 -16
- package/dist/core/scene-object/types.d.ts +16 -16
- package/dist/core/stores/slices/mode/types.d.cts +6 -6
- package/dist/core/stores/slices/mode/types.d.ts +6 -6
- package/dist/core/stores/slices/rideable/types.d.cts +6 -6
- package/dist/core/stores/slices/rideable/types.d.ts +6 -6
- package/dist/core/stores/slices/sizes/types.d.cts +2 -2
- package/dist/core/stores/slices/sizes/types.d.ts +2 -2
- package/dist/core/stores/slices/urls/types.d.cts +4 -4
- package/dist/core/stores/slices/urls/types.d.ts +4 -4
- package/dist/core/ui/components/Minimap/types.d.cts +16 -16
- package/dist/core/ui/components/Minimap/types.d.ts +16 -16
- package/dist/core/ui/components/RuntimeSaveDiagnosticsToaster/index.d.cts +2 -2
- package/dist/core/ui/components/RuntimeSaveDiagnosticsToaster/index.d.ts +2 -2
- package/dist/core/ui/components/SpeechBalloon/types.d.cts +4 -4
- package/dist/core/ui/components/SpeechBalloon/types.d.ts +4 -4
- package/dist/core/ui/core/MinimapSystem.d.cts +2 -2
- package/dist/core/ui/core/MinimapSystem.d.ts +2 -2
- package/dist/core/ui/core/types.d.cts +2 -2
- package/dist/core/ui/core/types.d.ts +2 -2
- package/dist/core/ui/hooks/useMinimap.d.cts +2 -2
- package/dist/core/ui/hooks/useMinimap.d.ts +2 -2
- package/dist/core/ui/stores/UIConfigStore.d.cts +2 -2
- package/dist/core/ui/stores/UIConfigStore.d.ts +2 -2
- package/dist/core/ui/types.d.cts +10 -10
- package/dist/core/ui/types.d.ts +10 -10
- package/dist/core/wasm/loader.d.cts +1 -0
- package/dist/core/wasm/loader.d.ts +1 -0
- package/dist/core/world/components/ActiveObjects/types.d.cts +4 -4
- package/dist/core/world/components/ActiveObjects/types.d.ts +4 -4
- package/dist/core/world/components/WorldContainer/types.d.cts +1 -1
- package/dist/core/world/components/WorldContainer/types.d.ts +1 -1
- package/dist/core/world/core/WorldSystem.d.cts +4 -4
- package/dist/core/world/core/WorldSystem.d.ts +4 -4
- package/dist/core/world/stores/slices/worldStates/types.d.cts +2 -2
- package/dist/core/world/stores/slices/worldStates/types.d.ts +2 -2
- package/dist/core/world/stores/types.d.cts +2 -2
- package/dist/core/world/stores/types.d.ts +2 -2
- package/dist/{defaults-jVT3EUVe.js → defaults-DLJB-RHV.js} +13 -4
- package/dist/defaults-DrVklGQg.cjs +1 -0
- package/dist/editor.cjs +1 -1
- package/dist/editor.js +4 -4
- package/dist/{flow-BnFTzumT.cjs → flow-CM0yWoqs.cjs} +1 -1
- package/dist/{flow-DJRTbNvJ.js → flow-DnddUXVb.js} +1 -1
- package/dist/gi-CrIKhZ7T.cjs +1 -0
- package/dist/gi-D2-0A-M9.js +78 -0
- package/dist/index.cjs +2 -2
- package/dist/index.css +1 -1
- package/dist/index.js +2383 -1033
- package/dist/navigation.cjs +1 -1
- package/dist/navigation.js +1 -1
- package/dist/network.cjs +1 -1
- package/dist/network.js +1 -1
- package/dist/{plugin-BUKo4q0N.cjs → plugin-BzkdNHEu.cjs} +32 -32
- package/dist/{plugin-Dsf9EwPP.js → plugin-CDm9XM8g.js} +908 -906
- package/dist/postprocessing.cjs +1 -1
- package/dist/postprocessing.js +1 -1
- package/dist/{quality-BLE1xXFm.js → quality--izFMxKn.js} +2 -2
- package/dist/{quality-0VukPLnv.cjs → quality-CxseVZ9x.cjs} +1 -1
- package/dist/runtime.cjs +1 -1
- package/dist/runtime.js +7 -7
- package/dist/sceneCompile-CWcdcntc.cjs +1 -0
- package/dist/{sceneCompile-BWpSal9S.js → sceneCompile-CuCsjsKm.js} +99 -91
- package/dist/{sfe-BAXSr5BB.js → sfe-BhWDrQyo.js} +1 -1
- package/dist/{sfe-DnOKmvUM.cjs → sfe-CPLq8RBC.cjs} +1 -1
- package/dist/shell-Bh48VFQz.cjs +1 -0
- package/dist/{shell-aiiC8SLL.js → shell-y1pvIZwj.js} +2565 -2515
- package/dist/{useClicker-0Ln5ZSz0.cjs → useClicker-PhtnHkFa.cjs} +1 -1
- package/dist/{useClicker-DZrb1I0b.js → useClicker-aAIy3l8f.js} +2 -2
- package/dist/{useGenericRefs-D0cOKidj.js → useGenericRefs-B3i5KBGF.js} +553 -270
- package/dist/useGenericRefs-DAjERA3h.cjs +1 -0
- package/dist/useNavigation-BwQQD2rK.cjs +1 -0
- package/dist/{useNavigation-B-QniiTX.js → useNavigation-D69g6I63.js} +30 -26
- package/dist/useVisitRoom-Cke4KbHK.cjs +1 -0
- package/dist/{useVisitRoom-C_UX2avV.js → useVisitRoom-DafVbrGM.js} +7 -7
- package/dist/wasm/gaesup_gi.wasm +0 -0
- package/package.json +3 -3
- package/dist/CoreBridge-CnLqWZNv.cjs +0 -1
- package/dist/WorldPostProcessing-C80qMk1k.cjs +0 -1
- package/dist/WorldPostProcessing-Dfq_RW-t.js +0 -158
- package/dist/WorldProps-L3Izutxz.cjs +0 -1
- package/dist/defaults-BLDQhn77.cjs +0 -1
- package/dist/sceneCompile-D9xft0op.cjs +0 -1
- package/dist/shell-BRQStYy9.cjs +0 -1
- package/dist/useGenericRefs-CZ_HIQG_.cjs +0 -1
- package/dist/useNavigation-D-c4u9T4.cjs +0 -1
- package/dist/useVisitRoom-GXR8KyFN.cjs +0 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { i as e, t } from "./useEngineFrame-DH3I5P9Z.js";
|
|
2
2
|
import { t as n } from "./logger-CIvdj60w.js";
|
|
3
|
-
import { L as r, Ut as i, Y as a, i as o, mr as s, n as c, t as l } from "./useClicker-
|
|
4
|
-
import { o as u, s as d } from "./CoreBridge-
|
|
5
|
-
import { t as f, x as p } from "./useGenericRefs-
|
|
6
|
-
import { r as m, t as h } from "./useNavigation-
|
|
3
|
+
import { L as r, Ut as i, Y as a, i as o, mr as s, n as c, t as l } from "./useClicker-aAIy3l8f.js";
|
|
4
|
+
import { o as u, s as d } from "./CoreBridge-CoU_vJOo.js";
|
|
5
|
+
import { t as f, x as p } from "./useGenericRefs-B3i5KBGF.js";
|
|
6
|
+
import { r as m, t as h } from "./useNavigation-D69g6I63.js";
|
|
7
7
|
import * as g from "three";
|
|
8
8
|
import { memo as _, useCallback as v, useEffect as y, useMemo as b, useRef as x, useState as S } from "react";
|
|
9
9
|
import { Fragment as C, jsx as w, jsxs as T } from "react/jsx-runtime";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./rolldown-runtime-Chgba0Kb.cjs"),t=require("./useEngineFrame-ujTlLQfa.cjs"),n=require("./logger-B9OaKOPw.cjs"),r=require("./useClicker-0Ln5ZSz0.cjs"),i=require("./CoreBridge-CnLqWZNv.cjs"),a=require("./useGenericRefs-CZ_HIQG_.cjs"),o=require("./useNavigation-D-c4u9T4.cjs");let s=require("three");s=e.n(s,1);let c=require("react"),l=require("react/jsx-runtime"),u=require("zustand/react/shallow"),d=require("@react-three/rapier");var f=1e-6,p=1e-4,m=new WeakMap;function h(e,t,n){let r=n.getFrame(),i=m.get(e);if(i&&i.scheduler===n&&i.frame===r&&i.entityId===t)return i.snapshot;let a=e.snapshot(t);return i?(i.scheduler=n,i.frame=r,i.entityId=t,i.snapshot=a,a):(m.set(e,{scheduler:n,frame:r,entityId:t,snapshot:a}),a)}var g=()=>({x:0,y:0,z:0,rx:0,ry:0,rz:0,moving:!1,grounded:!1});function _(e,t){let{position:n,rotation:r}=t,i=n.x-e.x,a=n.y-e.y,o=n.z-e.z;return i*i+a*a+o*o<=f&&Math.abs(r.x-e.rx)<=p&&Math.abs(r.y-e.ry)<=p&&Math.abs(r.z-e.rz)<=p&&t.isMoving===e.moving&&t.isGrounded===e.grounded?!1:(e.x=n.x,e.y=n.y,e.z=n.z,e.rx=r.x,e.ry=r.y,e.rz=r.z,e.moving=t.isMoving,e.grounded=t.isGrounded,!0)}var v=()=>({position:new s.Vector3(0,0,0),velocity:new s.Vector3(0,0,0),rotation:new s.Euler(0,0,0),isMoving:!1,isGrounded:!1,speed:0,height:2});function y(e={}){let{updateInterval:n=0,entityId:i,reactive:a=!0}=e,o=r.L(),s=(0,c.useRef)(null);s.current||=v();let[,l]=(0,c.useState)(0),u=(0,c.useRef)(0),d=(0,c.useRef)(0),f=(0,c.useRef)(g()),p=(0,c.useRef)(null),m=t.i(),{activeState:y,gameStates:b}=r.Y(),x=e=>i||(e.getPlayerEntityId()??void 0),S=(e,t,n)=>{let r=t===e.getPlayerEntityId()?y?.euler:void 0;s.current.rotation.copy(r??n)};return(0,c.useEffect)(()=>{p.current=o;let e=p.current;if(!e)return;let t=e.subscribe((t,r)=>{let i=x(e);if(!i||r!==i)return;let o=performance.now();if(d.current=o,n>0&&o-u.current<n)return;u.current=o;let c=s.current;c.position.copy(t.position),c.velocity.copy(t.velocity),S(e,i,t.rotation),c.isMoving=t.isMoving,c.isGrounded=t.isGrounded,c.speed=t.speed,c.height=2,a&&_(f.current,c)&&l(e=>e+1)});return()=>{t()}},[i,n,a,o]),t.t(`postPhysics`,()=>{let e=performance.now();if(n>0&&e-u.current<n)return;let t=s.current,r=p.current;if(r){let n=x(r);if(!(e-d.current<16)&&n){let i=h(r,n,m);if(i){t.position.copy(i.position),t.velocity.copy(i.velocity),S(r,n,i.rotation),t.isMoving=i.isMoving,t.isGrounded=i.isGrounded,t.speed=i.speed,t.height=2,u.current=e,a&&_(f.current,t)&&l(e=>e+1);return}}}y?.position&&(t.position.copy(y.position),y.velocity?t.velocity.copy(y.velocity):t.velocity.set(0,0,0),y.euler?t.rotation.copy(y.euler):t.rotation.set(0,0,0),t.isMoving=b?.isMoving||!1,t.isGrounded=b?.isOnTheGround||!1,t.speed=y.velocity?y.velocity.length():0,t.height=2,u.current=e,a&&_(f.current,t)&&l(e=>e+1))},{order:10,label:`motions:player-position`}),s.current}function b(e={}){let{position:t}=y(e);return t}var x={move:`move`,jump:`jump`,run:`run`,interact:`interact`},S=`button:0`,C=`button:2`,w=`button:10`,T=`axis:0`,E=`axis:1`;function D(){return[{name:x.move,kind:`axis2D`,bindings:[{device:`keyboard`,code:`KeyW`,axis:`y`,scale:1},{device:`keyboard`,code:`KeyS`,axis:`y`,scale:-1},{device:`keyboard`,code:`KeyD`,axis:`x`,scale:1},{device:`keyboard`,code:`KeyA`,axis:`x`,scale:-1},{device:`keyboard`,code:`ArrowUp`,axis:`y`,scale:1},{device:`keyboard`,code:`ArrowDown`,axis:`y`,scale:-1},{device:`keyboard`,code:`ArrowRight`,axis:`x`,scale:1},{device:`keyboard`,code:`ArrowLeft`,axis:`x`,scale:-1},{device:`gamepad`,code:T,axis:`x`,scale:1},{device:`gamepad`,code:E,axis:`y`,scale:-1},{device:`touch`,code:`stick:x`,axis:`x`,scale:1},{device:`touch`,code:`stick:y`,axis:`y`,scale:1}]},{name:x.jump,kind:`button`,bindings:[{device:`keyboard`,code:`Space`},{device:`gamepad`,code:S},{device:`touch`,code:`button:jump`}]},{name:x.run,kind:`button`,bindings:[{device:`keyboard`,code:`ShiftLeft`},{device:`keyboard`,code:`ShiftRight`},{device:`gamepad`,code:w},{device:`touch`,code:`button:run`}]},{name:x.interact,kind:`button`,bindings:[{device:`keyboard`,code:`KeyE`},{device:`gamepad`,code:C},{device:`touch`,code:`button:interact`}]}]}function O(e,t={}){return Object.entries(e).map(([e,n])=>({name:e,kind:t[e]??(n.some(e=>e.scale!==void 0)?`axis1D`:`button`),bindings:n.map(e=>({device:e.device,code:e.code,...e.scale===void 0?{}:{scale:e.scale}}))}))}var k={"y:1":`forward`,"y:-1":`backward`,"x:1":`rightward`,"x:-1":`leftward`},A={[x.jump]:`space`,[x.run]:`shift`,[x.interact]:`keyE`};function j(){let e={KeyZ:`keyZ`,KeyR:`keyR`,KeyF:`keyF`,Escape:`escape`};for(let t of D())for(let n of t.bindings){if(n.device!==`keyboard`)continue;let r=t.name===x.move?k[`${n.axis}:${Math.sign(n.scale??1)}`]:A[t.name];r&&(e[n.code]=r)}return e}var M=j(),N=(e=!0,t=!0,o,s=!0,l=!0)=>{let u=r.mr(),d=i.o(e=>e.automation?.queue.isRunning),f=i.o(e=>e.stopAutomation),p=i.o(e=>e.interaction?.isActive??!0),m=r.Ut(e=>e.isInEditMode()),h=r.i(),g=(0,c.useMemo)(()=>a.x(h),[h]),_=(0,c.useRef)(new Map),v=(0,c.useMemo)(()=>({...M}),[]),y=(0,c.useCallback)((e,t)=>{if(!s||!p||!u.isEnabled())return!1;try{let n=`api:${e}`;return g.set(n,e,t),t?_.current.set(n,e):_.current.delete(n),!0}catch(e){return n.t.error(`Error updating keyboard state`,e instanceof Error?e:String(e)),!1}},[s,g,p,u]),b=(0,c.useCallback)(()=>{_.current.clear(),g.release();let e={};for(let t of Object.values(M))g.isHeld(t)||Object.assign(e,{[t]:!1});h.updateKeyboard(e)},[h,g]);return(0,c.useEffect)(()=>{let e=_.current;return()=>{g.release(),e.clear()}},[g]),(0,c.useEffect)(()=>{(!p||m)&&b()},[b,p,m]),(0,c.useEffect)(()=>{if(!l)for(let[e,t]of _.current)M[t]&&(_.current.delete(e),g.set(e,M[t],!1))},[l,g]),(0,c.useEffect)(()=>{if(!s){_.current.size>0&&b();return}let e=(e,n)=>{if(n&&(e.ctrlKey||e.altKey||e.metaKey)){_.current.size>0&&b();return}let r=e.target;if(r instanceof HTMLElement&&(r.matches(`input, textarea, select`)||r.isContentEditable)){_.current.size>0&&b();return}let i=v[e.code];if(!i)return;if(!p||m){n&&e.preventDefault(),b();return}let a=u.eventSource(e),o=_.current.has(a);n&&!o?(_.current.set(a,e.code),e.code===`Space`&&e.preventDefault(),t&&d&&(i===`forward`||i===`backward`||i===`leftward`||i===`rightward`)&&(f(),h.updateMouse({isActive:!1,shouldRun:!1})),g.set(a,i,!0)):!n&&o&&(_.current.delete(a),g.set(a,i,!1))},n=t=>e(t,!0),r=t=>e(t,!1),i=l?u.listen(`keydown`,n):void 0,a=l?u.listen(`keyup`,r):void 0,o=u.onBlur(()=>{_.current.size>0&&b()});return()=>{i?.(),a?.(),o()}},[s,l,g,v,t,f,d,b,p,m,h,u]),{pressedKeys:[...new Set(_.current.values())],pushKey:y,isKeyPressed:e=>Array.from(_.current.values()).includes(e),clearAllKeys:b}},P=128,F=100,I=.16,L=.06;function R(e,t,n){for(let r=0;r<t;r+=1){let i=e[r],a=e[Math.max(0,r-1)],o=e[Math.min(t-1,r+1)],s=o.x-a.x,c=o.z-a.z,l=Math.hypot(s,c)||1;s/=l,c/=l;let u=-c*I*.5,d=s*I*.5,f=r*6;n[f]=i.x+u,n[f+1]=i.y+L,n[f+2]=i.z+d,n[f+3]=i.x-u,n[f+4]=i.y+L,n[f+5]=i.z-d}}function z({pointsRef:e,color:n}){let r=(0,c.useRef)(0),i=(0,c.useMemo)(()=>{let e=new s.BufferGeometry,t=new s.BufferAttribute(new Float32Array(768),3).setUsage(s.DynamicDrawUsage);e.setAttribute(`position`,t);let n=[];for(let e=0;e<127;e+=1){let t=e*2;n.push(t,t+1,t+2,t+1,t+3,t+2)}e.setIndex(n),e.setDrawRange(0,0);let r=new s.MeshBasicMaterial({transparent:!0,opacity:.85,depthWrite:!1,side:s.DoubleSide}),i=new s.Mesh(e,r);return i.visible=!1,i.frustumCulled=!1,i.renderOrder=1,i},[]);return(0,c.useEffect)(()=>{i.material.color.set(n)},[i,n]),(0,c.useEffect)(()=>()=>{i.geometry.dispose(),i.material.dispose()},[i]),t.t(`lateUpdate`,()=>{let t=performance.now();if(t-r.current<F)return;r.current=t;let n=e.current;if(!n||n.length<2){i.visible=!1;return}let a=Math.min(n.length,P),o=i.geometry.getAttribute(`position`);R(n,a,o.array),o.needsUpdate=!0,i.geometry.setDrawRange(0,(a-1)*6),i.visible=!0},{label:`interactions:path-line`}),(0,l.jsx)(`primitive`,{object:i})}z.displayName=`PathLine`;var B=(0,c.memo)(()=>(0,l.jsxs)(`group`,{children:[(0,l.jsxs)(`mesh`,{position:[0,.35,0],children:[(0,l.jsx)(`sphereGeometry`,{args:[.16,16,16]}),(0,l.jsx)(`meshStandardMaterial`,{color:`#00ff88`,emissive:`#00ff88`,emissiveIntensity:.5,transparent:!0,opacity:.9})]}),(0,l.jsxs)(`mesh`,{rotation:[-Math.PI/2,0,0],position:[0,.03,0],renderOrder:2,children:[(0,l.jsx)(`ringGeometry`,{args:[.3,.5,32]}),(0,l.jsx)(`meshBasicMaterial`,{color:`#00ff88`,transparent:!0,opacity:.75,depthTest:!1,side:s.DoubleSide})]})]}));B.displayName=`TargetMarker`;var V=[],H=150,U=1;function W(){let{getClickNavigationRoute:e,subscribeClickNavigationRoute:n}=o.t(),r=o.r(),a=i.o((0,u.useShallow)(e=>e.automation?.queue.actions??V)),d=i.o(e=>e.automation?.queue.currentIndex??0),f=i.o(e=>e.interaction.mouse.target),p=i.o(e=>e.interaction.mouse.isActive),{position:m}=y({updateInterval:H,reactive:!1}),[h,g]=(0,c.useState)(()=>[...e()]),_=(0,c.useRef)(null),v=(0,c.useRef)([]);(0,c.useEffect)(()=>{let t=()=>g([...e()]);return t(),n(t)},[e,n]);let b=(0,c.useMemo)(()=>a.map(e=>e.type===`move`&&e.target?new s.Vector3(e.target.x,e.target.y,e.target.z):null).filter(e=>e!==null),[a]),x=(0,c.useMemo)(()=>[m,...h.length>0?h:[f],...b],[m,h,f,b]),S=(0,c.useMemo)(()=>b.length>0?[m,...b]:[],[m,b]);return t.t(`lateUpdate`,()=>{let t=e(),n=t[t.length-1]??f,i=p&&Math.hypot(n.x-m.x,n.z-m.z)>=U,a=_.current;a&&(a.visible=i,i&&a.position.set(n.x,r.sampleHeight(n.x,n.z),n.z)),v.current=i?x:S},{label:`interactions:clicker`}),(0,l.jsxs)(`group`,{children:[(0,l.jsx)(`group`,{ref:_,visible:!1,children:(0,l.jsx)(B,{})}),(0,l.jsx)(z,{pointsRef:v,color:d>=0?`#00ff88`:`#ffaa00`}),a.map((e,t)=>{if(e.type===`move`&&e.target){let n=t===d,r=t<d;return(0,l.jsx)(`group`,{position:[e.target.x,e.target.y,e.target.z],children:(0,l.jsxs)(`mesh`,{children:[(0,l.jsx)(`sphereGeometry`,{args:[.1,8,8]}),(0,l.jsx)(`meshStandardMaterial`,{color:r?`#888`:n?`#ff4444`:`#ffaa00`,transparent:!0,opacity:r?.3:.8})]})},`action-${t}`)}return null})]})}var G=4;function K({clickerOptions:e}){let t=i.s(),{onClick:n}=r.t(e);return(0,l.jsxs)(`mesh`,{position:[0,0,0],rotation:[-Math.PI/2,0,0],onClick:e=>{if(e.nativeEvent.button!==0||e.delta>G||e.nativeEvent.altKey||e.nativeEvent.ctrlKey||e.nativeEvent.metaKey||e.nativeEvent.shiftKey)return;e.stopPropagation();let{cameraOption:r,setCameraOption:i}=t.getState();if(r?.focus){i({focus:!1});return}n(e)},visible:!0,userData:{intangible:!0},children:[(0,l.jsx)(`planeGeometry`,{args:[1e3,1e3]}),(0,l.jsx)(`meshBasicMaterial`,{transparent:!0,opacity:0,depthWrite:!1,colorWrite:!1})]})}function q({props:e,children:t}){let n=i.o(e=>e.mode),{gameStates:o}=r.Y(),s=i.o(e=>e.rideable),u=i.o(e=>e.urls),f=r.Ut(e=>e.isInEditMode()),p=a.t();N(!0,!0,void 0,e.enableKeyboard??!0);let m=o?.currentRideable?.id,h=(0,c.useMemo)(()=>(m?s?.[m]?.offset:void 0)??(0,d.vec3)(),[m,s]);if(f||!n||!o||!s||!u||n.type===`character`&&!u.characterUrl||n.type===`vehicle`&&!u.vehicleUrl||n.type===`airplane`&&!u.airplaneUrl)return null;let{canRide:g,isRiding:_}=o,v=(()=>{let{enableKeyboard:t,rigidBodyRef:r=p.rigidBodyRef,outerGroupRef:i=p.outerGroupRef,innerGroupRef:a=p.innerGroupRef,colliderRef:o=p.colliderRef,parts:s,baseColor:c,excludeBaseNodes:l,...d}=e,f={...d,isActive:!0,componentType:n.type,enableRiding:g,isRiderOn:_,offset:h,ref:r,outerGroupRef:i,innerGroupRef:a,colliderRef:o,parts:(s||[]).filter(e=>!!e.url).map(e=>({...e,url:e.url})),...typeof c==`string`&&c.trim().length>0?{baseColor:c}:{},...Array.isArray(l)&&l.length>0?{excludeBaseNodes:l}:{}},m=_&&n.type!==`character`?u.ridingUrl:void 0,v=typeof m==`string`&&m.length>0?{ridingUrl:m}:{};switch(n.type){case`character`:return{...f,url:u.characterUrl||``};case`vehicle`:return{...f,...v,url:u.vehicleUrl||``};case`airplane`:return{...f,...v,url:u.airplaneUrl||``};default:return{...f,url:u.characterUrl||``}}})();return n.type===`character`&&o.isRiding?null:(0,l.jsx)(r.n,{...v,children:t})}function J(e){let{clickToMove:t,children:n,clickerOptions:r,...i}=e,a={...r??{},...r?.agentRadius===void 0&&i.colliderSize?.radius!==void 0?{agentRadius:i.colliderSize.radius}:{}};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(q,{props:i,children:(0,l.jsxs)(l.Fragment,{children:[t&&(0,l.jsx)(K,{clickerOptions:a}),n]})}),t&&(0,l.jsx)(W,{})]})}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return b}});
|
|
1
|
+
const e=require("./rolldown-runtime-Chgba0Kb.cjs"),t=require("./useEngineFrame-ujTlLQfa.cjs"),n=require("./logger-B9OaKOPw.cjs"),r=require("./useClicker-PhtnHkFa.cjs"),i=require("./CoreBridge-L4l4UNtR.cjs"),a=require("./useGenericRefs-DAjERA3h.cjs"),o=require("./useNavigation-BwQQD2rK.cjs");let s=require("three");s=e.n(s,1);let c=require("react"),l=require("react/jsx-runtime"),u=require("zustand/react/shallow"),d=require("@react-three/rapier");var f=1e-6,p=1e-4,m=new WeakMap;function h(e,t,n){let r=n.getFrame(),i=m.get(e);if(i&&i.scheduler===n&&i.frame===r&&i.entityId===t)return i.snapshot;let a=e.snapshot(t);return i?(i.scheduler=n,i.frame=r,i.entityId=t,i.snapshot=a,a):(m.set(e,{scheduler:n,frame:r,entityId:t,snapshot:a}),a)}var g=()=>({x:0,y:0,z:0,rx:0,ry:0,rz:0,moving:!1,grounded:!1});function _(e,t){let{position:n,rotation:r}=t,i=n.x-e.x,a=n.y-e.y,o=n.z-e.z;return i*i+a*a+o*o<=f&&Math.abs(r.x-e.rx)<=p&&Math.abs(r.y-e.ry)<=p&&Math.abs(r.z-e.rz)<=p&&t.isMoving===e.moving&&t.isGrounded===e.grounded?!1:(e.x=n.x,e.y=n.y,e.z=n.z,e.rx=r.x,e.ry=r.y,e.rz=r.z,e.moving=t.isMoving,e.grounded=t.isGrounded,!0)}var v=()=>({position:new s.Vector3(0,0,0),velocity:new s.Vector3(0,0,0),rotation:new s.Euler(0,0,0),isMoving:!1,isGrounded:!1,speed:0,height:2});function y(e={}){let{updateInterval:n=0,entityId:i,reactive:a=!0}=e,o=r.L(),s=(0,c.useRef)(null);s.current||=v();let[,l]=(0,c.useState)(0),u=(0,c.useRef)(0),d=(0,c.useRef)(0),f=(0,c.useRef)(g()),p=(0,c.useRef)(null),m=t.i(),{activeState:y,gameStates:b}=r.Y(),x=e=>i||(e.getPlayerEntityId()??void 0),S=(e,t,n)=>{let r=t===e.getPlayerEntityId()?y?.euler:void 0;s.current.rotation.copy(r??n)};return(0,c.useEffect)(()=>{p.current=o;let e=p.current;if(!e)return;let t=e.subscribe((t,r)=>{let i=x(e);if(!i||r!==i)return;let o=performance.now();if(d.current=o,n>0&&o-u.current<n)return;u.current=o;let c=s.current;c.position.copy(t.position),c.velocity.copy(t.velocity),S(e,i,t.rotation),c.isMoving=t.isMoving,c.isGrounded=t.isGrounded,c.speed=t.speed,c.height=2,a&&_(f.current,c)&&l(e=>e+1)});return()=>{t()}},[i,n,a,o]),t.t(`postPhysics`,()=>{let e=performance.now();if(n>0&&e-u.current<n)return;let t=s.current,r=p.current;if(r){let n=x(r);if(!(e-d.current<16)&&n){let i=h(r,n,m);if(i){t.position.copy(i.position),t.velocity.copy(i.velocity),S(r,n,i.rotation),t.isMoving=i.isMoving,t.isGrounded=i.isGrounded,t.speed=i.speed,t.height=2,u.current=e,a&&_(f.current,t)&&l(e=>e+1);return}}}y?.position&&(t.position.copy(y.position),y.velocity?t.velocity.copy(y.velocity):t.velocity.set(0,0,0),y.euler?t.rotation.copy(y.euler):t.rotation.set(0,0,0),t.isMoving=b?.isMoving||!1,t.isGrounded=b?.isOnTheGround||!1,t.speed=y.velocity?y.velocity.length():0,t.height=2,u.current=e,a&&_(f.current,t)&&l(e=>e+1))},{order:10,label:`motions:player-position`}),s.current}function b(e={}){let{position:t}=y(e);return t}var x={move:`move`,jump:`jump`,run:`run`,interact:`interact`},S=`button:0`,C=`button:2`,w=`button:10`,T=`axis:0`,E=`axis:1`;function D(){return[{name:x.move,kind:`axis2D`,bindings:[{device:`keyboard`,code:`KeyW`,axis:`y`,scale:1},{device:`keyboard`,code:`KeyS`,axis:`y`,scale:-1},{device:`keyboard`,code:`KeyD`,axis:`x`,scale:1},{device:`keyboard`,code:`KeyA`,axis:`x`,scale:-1},{device:`keyboard`,code:`ArrowUp`,axis:`y`,scale:1},{device:`keyboard`,code:`ArrowDown`,axis:`y`,scale:-1},{device:`keyboard`,code:`ArrowRight`,axis:`x`,scale:1},{device:`keyboard`,code:`ArrowLeft`,axis:`x`,scale:-1},{device:`gamepad`,code:T,axis:`x`,scale:1},{device:`gamepad`,code:E,axis:`y`,scale:-1},{device:`touch`,code:`stick:x`,axis:`x`,scale:1},{device:`touch`,code:`stick:y`,axis:`y`,scale:1}]},{name:x.jump,kind:`button`,bindings:[{device:`keyboard`,code:`Space`},{device:`gamepad`,code:S},{device:`touch`,code:`button:jump`}]},{name:x.run,kind:`button`,bindings:[{device:`keyboard`,code:`ShiftLeft`},{device:`keyboard`,code:`ShiftRight`},{device:`gamepad`,code:w},{device:`touch`,code:`button:run`}]},{name:x.interact,kind:`button`,bindings:[{device:`keyboard`,code:`KeyE`},{device:`gamepad`,code:C},{device:`touch`,code:`button:interact`}]}]}function O(e,t={}){return Object.entries(e).map(([e,n])=>({name:e,kind:t[e]??(n.some(e=>e.scale!==void 0)?`axis1D`:`button`),bindings:n.map(e=>({device:e.device,code:e.code,...e.scale===void 0?{}:{scale:e.scale}}))}))}var k={"y:1":`forward`,"y:-1":`backward`,"x:1":`rightward`,"x:-1":`leftward`},A={[x.jump]:`space`,[x.run]:`shift`,[x.interact]:`keyE`};function j(){let e={KeyZ:`keyZ`,KeyR:`keyR`,KeyF:`keyF`,Escape:`escape`};for(let t of D())for(let n of t.bindings){if(n.device!==`keyboard`)continue;let r=t.name===x.move?k[`${n.axis}:${Math.sign(n.scale??1)}`]:A[t.name];r&&(e[n.code]=r)}return e}var M=j(),N=(e=!0,t=!0,o,s=!0,l=!0)=>{let u=r.mr(),d=i.o(e=>e.automation?.queue.isRunning),f=i.o(e=>e.stopAutomation),p=i.o(e=>e.interaction?.isActive??!0),m=r.Ut(e=>e.isInEditMode()),h=r.i(),g=(0,c.useMemo)(()=>a.x(h),[h]),_=(0,c.useRef)(new Map),v=(0,c.useMemo)(()=>({...M}),[]),y=(0,c.useCallback)((e,t)=>{if(!s||!p||!u.isEnabled())return!1;try{let n=`api:${e}`;return g.set(n,e,t),t?_.current.set(n,e):_.current.delete(n),!0}catch(e){return n.t.error(`Error updating keyboard state`,e instanceof Error?e:String(e)),!1}},[s,g,p,u]),b=(0,c.useCallback)(()=>{_.current.clear(),g.release();let e={};for(let t of Object.values(M))g.isHeld(t)||Object.assign(e,{[t]:!1});h.updateKeyboard(e)},[h,g]);return(0,c.useEffect)(()=>{let e=_.current;return()=>{g.release(),e.clear()}},[g]),(0,c.useEffect)(()=>{(!p||m)&&b()},[b,p,m]),(0,c.useEffect)(()=>{if(!l)for(let[e,t]of _.current)M[t]&&(_.current.delete(e),g.set(e,M[t],!1))},[l,g]),(0,c.useEffect)(()=>{if(!s){_.current.size>0&&b();return}let e=(e,n)=>{if(n&&(e.ctrlKey||e.altKey||e.metaKey)){_.current.size>0&&b();return}let r=e.target;if(r instanceof HTMLElement&&(r.matches(`input, textarea, select`)||r.isContentEditable)){_.current.size>0&&b();return}let i=v[e.code];if(!i)return;if(!p||m){n&&e.preventDefault(),b();return}let a=u.eventSource(e),o=_.current.has(a);n&&!o?(_.current.set(a,e.code),e.code===`Space`&&e.preventDefault(),t&&d&&(i===`forward`||i===`backward`||i===`leftward`||i===`rightward`)&&(f(),h.updateMouse({isActive:!1,shouldRun:!1})),g.set(a,i,!0)):!n&&o&&(_.current.delete(a),g.set(a,i,!1))},n=t=>e(t,!0),r=t=>e(t,!1),i=l?u.listen(`keydown`,n):void 0,a=l?u.listen(`keyup`,r):void 0,o=u.onBlur(()=>{_.current.size>0&&b()});return()=>{i?.(),a?.(),o()}},[s,l,g,v,t,f,d,b,p,m,h,u]),{pressedKeys:[...new Set(_.current.values())],pushKey:y,isKeyPressed:e=>Array.from(_.current.values()).includes(e),clearAllKeys:b}},P=128,F=100,I=.16,L=.06;function R(e,t,n){for(let r=0;r<t;r+=1){let i=e[r],a=e[Math.max(0,r-1)],o=e[Math.min(t-1,r+1)],s=o.x-a.x,c=o.z-a.z,l=Math.hypot(s,c)||1;s/=l,c/=l;let u=-c*I*.5,d=s*I*.5,f=r*6;n[f]=i.x+u,n[f+1]=i.y+L,n[f+2]=i.z+d,n[f+3]=i.x-u,n[f+4]=i.y+L,n[f+5]=i.z-d}}function z({pointsRef:e,color:n}){let r=(0,c.useRef)(0),i=(0,c.useMemo)(()=>{let e=new s.BufferGeometry,t=new s.BufferAttribute(new Float32Array(768),3).setUsage(s.DynamicDrawUsage);e.setAttribute(`position`,t);let n=[];for(let e=0;e<127;e+=1){let t=e*2;n.push(t,t+1,t+2,t+1,t+3,t+2)}e.setIndex(n),e.setDrawRange(0,0);let r=new s.MeshBasicMaterial({transparent:!0,opacity:.85,depthWrite:!1,side:s.DoubleSide}),i=new s.Mesh(e,r);return i.visible=!1,i.frustumCulled=!1,i.renderOrder=1,i},[]);return(0,c.useEffect)(()=>{i.material.color.set(n)},[i,n]),(0,c.useEffect)(()=>()=>{i.geometry.dispose(),i.material.dispose()},[i]),t.t(`lateUpdate`,()=>{let t=performance.now();if(t-r.current<F)return;r.current=t;let n=e.current;if(!n||n.length<2){i.visible=!1;return}let a=Math.min(n.length,P),o=i.geometry.getAttribute(`position`);R(n,a,o.array),o.needsUpdate=!0,i.geometry.setDrawRange(0,(a-1)*6),i.visible=!0},{label:`interactions:path-line`}),(0,l.jsx)(`primitive`,{object:i})}z.displayName=`PathLine`;var B=(0,c.memo)(()=>(0,l.jsxs)(`group`,{children:[(0,l.jsxs)(`mesh`,{position:[0,.35,0],children:[(0,l.jsx)(`sphereGeometry`,{args:[.16,16,16]}),(0,l.jsx)(`meshStandardMaterial`,{color:`#00ff88`,emissive:`#00ff88`,emissiveIntensity:.5,transparent:!0,opacity:.9})]}),(0,l.jsxs)(`mesh`,{rotation:[-Math.PI/2,0,0],position:[0,.03,0],renderOrder:2,children:[(0,l.jsx)(`ringGeometry`,{args:[.3,.5,32]}),(0,l.jsx)(`meshBasicMaterial`,{color:`#00ff88`,transparent:!0,opacity:.75,depthTest:!1,side:s.DoubleSide})]})]}));B.displayName=`TargetMarker`;var V=[],H=150,U=1;function W(){let{getClickNavigationRoute:e,subscribeClickNavigationRoute:n}=o.t(),r=o.r(),a=i.o((0,u.useShallow)(e=>e.automation?.queue.actions??V)),d=i.o(e=>e.automation?.queue.currentIndex??0),f=i.o(e=>e.interaction.mouse.target),p=i.o(e=>e.interaction.mouse.isActive),{position:m}=y({updateInterval:H,reactive:!1}),[h,g]=(0,c.useState)(()=>[...e()]),_=(0,c.useRef)(null),v=(0,c.useRef)([]);(0,c.useEffect)(()=>{let t=()=>g([...e()]);return t(),n(t)},[e,n]);let b=(0,c.useMemo)(()=>a.map(e=>e.type===`move`&&e.target?new s.Vector3(e.target.x,e.target.y,e.target.z):null).filter(e=>e!==null),[a]),x=(0,c.useMemo)(()=>[m,...h.length>0?h:[f],...b],[m,h,f,b]),S=(0,c.useMemo)(()=>b.length>0?[m,...b]:[],[m,b]);return t.t(`lateUpdate`,()=>{let t=e(),n=t[t.length-1]??f,i=p&&Math.hypot(n.x-m.x,n.z-m.z)>=U,a=_.current;a&&(a.visible=i,i&&a.position.set(n.x,r.sampleHeight(n.x,n.z),n.z)),v.current=i?x:S},{label:`interactions:clicker`}),(0,l.jsxs)(`group`,{children:[(0,l.jsx)(`group`,{ref:_,visible:!1,children:(0,l.jsx)(B,{})}),(0,l.jsx)(z,{pointsRef:v,color:d>=0?`#00ff88`:`#ffaa00`}),a.map((e,t)=>{if(e.type===`move`&&e.target){let n=t===d,r=t<d;return(0,l.jsx)(`group`,{position:[e.target.x,e.target.y,e.target.z],children:(0,l.jsxs)(`mesh`,{children:[(0,l.jsx)(`sphereGeometry`,{args:[.1,8,8]}),(0,l.jsx)(`meshStandardMaterial`,{color:r?`#888`:n?`#ff4444`:`#ffaa00`,transparent:!0,opacity:r?.3:.8})]})},`action-${t}`)}return null})]})}var G=4;function K({clickerOptions:e}){let t=i.s(),{onClick:n}=r.t(e);return(0,l.jsxs)(`mesh`,{position:[0,0,0],rotation:[-Math.PI/2,0,0],onClick:e=>{if(e.nativeEvent.button!==0||e.delta>G||e.nativeEvent.altKey||e.nativeEvent.ctrlKey||e.nativeEvent.metaKey||e.nativeEvent.shiftKey)return;e.stopPropagation();let{cameraOption:r,setCameraOption:i}=t.getState();if(r?.focus){i({focus:!1});return}n(e)},visible:!0,userData:{intangible:!0},children:[(0,l.jsx)(`planeGeometry`,{args:[1e3,1e3]}),(0,l.jsx)(`meshBasicMaterial`,{transparent:!0,opacity:0,depthWrite:!1,colorWrite:!1})]})}function q({props:e,children:t}){let n=i.o(e=>e.mode),{gameStates:o}=r.Y(),s=i.o(e=>e.rideable),u=i.o(e=>e.urls),f=r.Ut(e=>e.isInEditMode()),p=a.t();N(!0,!0,void 0,e.enableKeyboard??!0);let m=o?.currentRideable?.id,h=(0,c.useMemo)(()=>(m?s?.[m]?.offset:void 0)??(0,d.vec3)(),[m,s]);if(f||!n||!o||!s||!u||n.type===`character`&&!u.characterUrl||n.type===`vehicle`&&!u.vehicleUrl||n.type===`airplane`&&!u.airplaneUrl)return null;let{canRide:g,isRiding:_}=o,v=(()=>{let{enableKeyboard:t,rigidBodyRef:r=p.rigidBodyRef,outerGroupRef:i=p.outerGroupRef,innerGroupRef:a=p.innerGroupRef,colliderRef:o=p.colliderRef,parts:s,baseColor:c,excludeBaseNodes:l,...d}=e,f={...d,isActive:!0,componentType:n.type,enableRiding:g,isRiderOn:_,offset:h,ref:r,outerGroupRef:i,innerGroupRef:a,colliderRef:o,parts:(s||[]).filter(e=>!!e.url).map(e=>({...e,url:e.url})),...typeof c==`string`&&c.trim().length>0?{baseColor:c}:{},...Array.isArray(l)&&l.length>0?{excludeBaseNodes:l}:{}},m=_&&n.type!==`character`?u.ridingUrl:void 0,v=typeof m==`string`&&m.length>0?{ridingUrl:m}:{};switch(n.type){case`character`:return{...f,url:u.characterUrl||``};case`vehicle`:return{...f,...v,url:u.vehicleUrl||``};case`airplane`:return{...f,...v,url:u.airplaneUrl||``};default:return{...f,url:u.characterUrl||``}}})();return n.type===`character`&&o.isRiding?null:(0,l.jsx)(r.n,{...v,children:t})}function J(e){let{clickToMove:t,children:n,clickerOptions:r,...i}=e,a={...r??{},...r?.agentRadius===void 0&&i.colliderSize?.radius!==void 0?{agentRadius:i.colliderSize.radius}:{}};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(q,{props:i,children:(0,l.jsxs)(l.Fragment,{children:[t&&(0,l.jsx)(K,{clickerOptions:a}),n]})}),t&&(0,l.jsx)(W,{})]})}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return b}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./rolldown-runtime-Chgba0Kb.cjs"),t=require("./useEngineFrame-ujTlLQfa.cjs"),n=require("./logger-B9OaKOPw.cjs"),r=require("./scopedStore-Px5jL718.cjs"),i=require("./reportError-CkJ7vZsX.cjs"),a=require("./id-DWiNl1ym.cjs");let o=require("three");o=e.n(o,1);let s=require("react"),c=require("zustand"),l=require("zustand/middleware");var u={THROTTLE_MS:16,POSITION_THRESHOLD:.001,TARGET_THRESHOLD:.001,DEFAULT_LERP_SPEED:.1,DEFAULT_FOV_LERP:.05,MIN_FOV:10,MAX_FOV:120,FRAME_RATE_LERP_SPEED:8},d={X_DISTANCE:15,Y_DISTANCE:8,Z_DISTANCE:15,FIRST_PERSON_EYE_HEIGHT:2,FIRST_PERSON_FORWARD:.45,ZOOM:1,ENABLE_ZOOM:!0,ZOOM_SPEED:.001,MIN_ZOOM:.45,MAX_ZOOM:2.4,FOCUS:!1,ENABLE_COLLISION:!0,COLLISION_MARGIN:.1,COLLISION_FADE_OPACITY:.3,SMOOTHING:{POSITION:.08,ROTATION:.1,FOV:.1},FOV:75},f=e=>({cameraOption:{xDistance:d.X_DISTANCE,yDistance:d.Y_DISTANCE,zDistance:d.Z_DISTANCE,zoom:d.ZOOM,enableZoom:d.ENABLE_ZOOM,zoomSpeed:d.ZOOM_SPEED,minZoom:d.MIN_ZOOM,maxZoom:d.MAX_ZOOM,focus:d.FOCUS,enableCollision:d.ENABLE_COLLISION,collisionMargin:d.COLLISION_MARGIN,smoothing:{position:d.SMOOTHING.POSITION,rotation:d.SMOOTHING.ROTATION,fov:d.SMOOTHING.FOV},fov:d.FOV},setCameraOption:t=>e(e=>({cameraOption:{...e.cameraOption,...t}})),replaceCameraOption:t=>e(()=>({cameraOption:t}))}),ee={characterUrl:``,vehicleUrl:``,airplaneUrl:``,ridingUrl:``},te=e=>({urls:ee,setUrls:t=>e(e=>({urls:{...e.urls,...t}}))}),p={type:`character`,controller:`keyboard`,control:`thirdPerson`},m={lerp:{cameraTurn:1,cameraPosition:1}},ne=e=>({mode:p,controllerOptions:m,setMode:t=>e(e=>({mode:{...e.mode,...t}})),setControllerOptions:t=>e(e=>({controllerOptions:{...e.controllerOptions,...t}})),resetMode:()=>e(()=>({mode:p,controllerOptions:m}))}),re=e=>({sizes:{},setSizes:t=>e(e=>({sizes:t(e.sizes)}))});function ie(e,t){if(e===t)return!0;if(!e||!t||typeof e!=`object`||typeof t!=`object`)return!1;let n=Object.entries(e),r=t;return n.length===Object.keys(r).length&&n.every(([e,t])=>r[e]===t)}var ae=e=>({rideable:{},setRideable:(t,n)=>e(e=>{let r=e.rideable[t],i={...r??{objectkey:t},...n,objectkey:t};return r&&ie(r,i)?e:{rideable:{...e.rideable,[t]:i}}}),removeRideable:t=>e(e=>{let n={...e.rideable};return delete n[t],{rideable:n}})});function oe(e,t){return e.calls===t.calls&&e.renderInvocations===t.renderInvocations&&e.counterScope===t.counterScope&&e.triangles===t.triangles&&e.points===t.points&&e.lines===t.lines}function se(e,t){return e.geometries===t.geometries&&e.textures===t.textures&&e.programs===t.programs&&e.allocatedBytesEstimate===t.allocatedBytesEstimate}var ce={render:{calls:0,triangles:0,points:0,lines:0},engine:{geometries:0,textures:0,programs:0}},le=e=>({performance:ce,setPerformance:t=>e(e=>oe(e.performance.render,t.render)&&se(e.performance.engine,t.engine)?e:{performance:t}),shadow:null,setShadow:t=>e({shadow:t}),resolution:null,setResolution:t=>e({resolution:t}),gpuMs:null,setGpuMs:t=>e({gpuMs:t}),cpuBound:!1,setCpuBound:t=>e({cpuBound:t}),framePhases:null,setFramePhases:t=>e({framePhases:t}),performanceSamplers:0,retainPerformanceSampling:()=>{e(e=>({performanceSamplers:e.performanceSamplers+1}));let t=!1;return()=>{t||(t=!0,e(e=>({performanceSamplers:Math.max(0,e.performanceSamplers-1)})))}}}),h=()=>({walkSpeed:10,runSpeed:20,jumpSpeed:15,jumpGravityScale:2.4,normalGravityScale:1,airDamping:.1,stopDamping:2,turnSpeed:void 0,maxSpeed:10,accelRatio:2,brakeRatio:5,wheelOffset:void 0,gravityScale:.3,angleDelta:new o.Vector3(.02,.02,.02),maxAngle:new o.Vector3(Math.PI/6,Math.PI,Math.PI/6),buoyancy:void 0,linearDamping:.9,navigationAgentRadius:void 0}),ue=e=>({physics:h(),setPhysics:t=>e(e=>({physics:{...e.physics,...t}})),resetPhysics:()=>e({physics:h()})}),g={character:{current:`idle`,default:`idle`,store:{}},vehicle:{current:`idle`,default:`idle`,store:{}},airplane:{current:`idle`,default:`idle`,store:{}}},_=e=>({animationState:g,setAnimation:(t,n)=>{e(e=>({animationState:{...e.animationState,[t]:{...e.animationState[t],current:n}}}))},resetAnimations:()=>e(()=>({animationState:g})),setAnimationAction:(t,n,r)=>e(e=>({animationState:{...e.animationState,[t]:{...e.animationState[t],store:{...e.animationState[t].store,[n]:r}}}}))});function v(e,t){try{e(t)}catch(e){n.t.error(`[InteractionInputBackend] Subscriber failed`,e instanceof Error?e:String(e))}}function de(e={}){return{forward:!1,backward:!1,leftward:!1,rightward:!1,shift:!1,space:!1,keyZ:!1,keyR:!1,keyF:!1,keyE:!1,escape:!1,...e}}function fe(e={}){return{target:e.target?.clone?.()??new o.Vector3,angle:e.angle??0,isActive:e.isActive??!1,shouldRun:e.shouldRun??!1,isLookAround:e.isLookAround??!1,buttons:{left:!1,right:!1,middle:!1,...e.buttons},wheel:e.wheel??0,position:e.position?.clone?.()??new o.Vector2}}function pe(e={}){return{connected:e.connected??!1,leftStick:e.leftStick?.clone?.()??new o.Vector2,rightStick:e.rightStick?.clone?.()??new o.Vector2,triggers:{left:0,right:0,...e.triggers},buttons:{...e.buttons},vibration:{weak:0,strong:0,...e.vibration}}}function me(e={}){return{touches:e.touches?.map(e=>({id:e.id,position:e.position.clone(),force:e.force}))??[],gestures:{pinch:1,rotation:0,pan:new o.Vector2,...e.gestures,...e.gestures?.pan?{pan:e.gestures.pan.clone()}:{}}}}function he(e,t){let{buttons:n,target:r,position:i,...a}=t;Object.assign(e,a),r&&e.target.copy(r),i&&e.position.copy(i),n&&Object.assign(e.buttons,n)}function ge(e,t){let{leftStick:n,rightStick:r,triggers:i,vibration:a,buttons:o,...s}=t;Object.assign(e,s),n&&e.leftStick.copy(n),r&&e.rightStick.copy(r),i&&Object.assign(e.triggers,i),a&&Object.assign(e.vibration,a),o&&Object.assign(e.buttons,o)}function _e(e,t){let{touches:n,gestures:r}=t;if(n&&(e.touches=n.map(e=>({id:e.id,position:e.position.clone(),force:e.force}))),r){let{pan:t,...n}=r;Object.assign(e.gestures,n),t&&e.gestures.pan.copy(t)}}function y(e={}){let t=new Set,n={keyboard:de(e.keyboard),mouse:fe(e.mouse),gamepad:pe(e.gamepad),touch:me(e.touch)},r=()=>n,i=()=>{let e=r();t.forEach(t=>t(e))};return{getKeyboard:()=>n.keyboard,getMouse:()=>n.mouse,getGamepad:()=>n.gamepad,getTouch:()=>n.touch,updateKeyboard:e=>{Object.assign(n.keyboard,e),i()},updateMouse:e=>{he(n.mouse,e),i()},updateGamepad:e=>{ge(n.gamepad,e),i()},updateTouch:e=>{_e(n.touch,e),i()},subscribe:e=>(t.add(e),e(r()),()=>{t.delete(e)})}}function ve(){return{forward:!1,backward:!1,leftward:!1,rightward:!1,shift:!1,space:!1,keyZ:!1,keyR:!1,keyF:!1,keyE:!1,escape:!1}}function ye(){return{target:new o.Vector3,angle:0,isActive:!1,shouldRun:!1,isLookAround:!1,buttons:{left:!1,right:!1,middle:!1},wheel:0,position:new o.Vector2}}function be(){return{connected:!1,leftStick:new o.Vector2,rightStick:new o.Vector2,triggers:{left:0,right:0},buttons:{},vibration:{weak:0,strong:0}}}function xe(){return{touches:[],gestures:{pinch:1,rotation:0,pan:new o.Vector2}}}function b(){return{keyboard:ve(),mouse:ye(),gamepad:be(),touch:xe(),lastUpdate:0,isActive:!0}}function x(){return{inputLatency:0,frameTime:0,eventCount:0,activeInputs:[],performanceScore:100,lastUpdate:0}}function S(){return{sensitivity:{mouse:1,gamepad:1,touch:1},deadzone:{gamepad:.1,touch:.05},smoothing:{mouse:.1,gamepad:.2},invertY:!1,enableVibration:!0}}function C(e,t){for(let t of Reflect.ownKeys(e))if(!Reflect.deleteProperty(e,t))throw Error(`Failed to delete reset property: ${String(t)}`);if(!Reflect.setPrototypeOf(e,Object.getPrototypeOf(t)))throw Error(`Failed to restore reset prototype`);for(let n of Reflect.ownKeys(t)){let r=Object.getOwnPropertyDescriptor(t,n);if(!r||!Reflect.defineProperty(e,n,r))throw Error(`Failed to define reset property: ${String(n)}`)}}function Se(e){if(!Reflect.setPrototypeOf(e,Array.prototype))throw Error(`Failed to restore activeInputs prototype`);for(let t of Reflect.ownKeys(e))if(t!==`length`&&!Reflect.deleteProperty(e,t))throw Error(`Failed to delete activeInputs property: ${String(t)}`);if(!Reflect.defineProperty(e,"length",{configurable:!1,enumerable:!1,value:0,writable:!0}))throw Error(`Failed to reset activeInputs length`)}function Ce(e){for(let t of Reflect.ownKeys(e))if(Object.getOwnPropertyDescriptor(e,t)?.configurable===!1)return t;return null}var we=[`forward`,`backward`,`leftward`,`rightward`,`shift`,`space`,`keyZ`,`keyR`,`keyF`,`keyE`,`escape`],Te=[`left`,`right`,`middle`],w=class e extends t._{static{this.instance=null}constructor(){super(b(),x()),this.isResetting=!1,this.config=S(),this.eventCallbacks=new Map}static getInstance(){return e.instance||=new e,e.instance}performUpdate(e){}createUpdateArgs(e){return this.createDefaultUpdateArgs(e)}getKeyboardRef(){return this.state.keyboard}getMouseRef(){return this.state.mouse}updateKeyboard(e){Object.assign(this.state.keyboard,e),this.updateMetrics(0),this.emitChange(`keyboard`,e)}updateMouse(e){Object.assign(this.state.mouse,e),this.updateMetrics(0),this.emitChange(`mouse`,e)}updateGamepad(e){Object.assign(this.state.gamepad,e),this.updateMetrics(0),this.emitChange(`gamepad`,e)}updateTouch(e){Object.assign(this.state.touch,e),this.updateMetrics(0),this.emitChange(`touch`,e)}emitChange(e,t){let r=this.eventCallbacks.get(e);if(r&&r.length!==0)for(let e of r)try{e(t)}catch(e){n.t.error(`[InteractionSystem] Change callback failed`,e instanceof Error?e:String(e))}}emitReset(){let e=this.eventCallbacks.get(`reset`);if(!e||e.length===0)return;let t=e.slice();for(let e of t)try{e({})}catch(e){n.t.error(`[InteractionSystem] Reset callback failed`,e instanceof Error?e:String(e))}}dispatchInput(e){this.updateMouse(e)}setConfig(e){Object.assign(this.config,e)}getConfig(){return{...this.config}}addEventListener(e,t){this.eventCallbacks.has(e)||this.eventCallbacks.set(e,[]),this.eventCallbacks.get(e).push(t)}removeEventListener(e,t){let n=this.eventCallbacks.get(e);if(n){let e=n.indexOf(t);e>-1&&n.splice(e,1)}}updateMetrics(e){super.updateMetrics(e),this.metrics.eventCount++,this.collectActiveInputs(this.metrics.activeInputs)}collectActiveInputs(e){e.length=0;for(let t of we)this.state.keyboard[t]&&e.push(`keyboard:${t}`);for(let t of Te)this.state.mouse.buttons[t]&&e.push(`mouse:${t}`);this.state.gamepad.connected&&e.push(`gamepad:connected`);let t=this.state.touch.touches.length;t>0&&e.push(`touch:${t}`)}reset(){if(this.isResetting)return;let e=this.canResetRawState(),t=this.canResetActiveInputs();if(e&&t){this.isResetting=!0;try{super.reset()}finally{this.isResetting=!1}}}onReset(){super.onReset();let e=this.state.keyboard,t=this.state.mouse,n=this.state.gamepad,r=this.state.touch,i=this.metrics.activeInputs,a=b(),o=x();C(e,a.keyboard),C(t,a.mouse),C(n,a.gamepad),C(r,a.touch),a.keyboard=e,a.mouse=t,a.gamepad=n,a.touch=r,C(this.state,a),Se(i),o.activeInputs=i,C(this.metrics,o),this.config=S(),this.emitReset()}canResetRawState(){let e=this.canReplaceRawState(`keyboard`,this.state.keyboard),t=this.canReplaceRawState(`mouse`,this.state.mouse),n=this.canReplaceRawState(`gamepad`,this.state.gamepad),r=this.canReplaceRawState(`touch`,this.state.touch);return e&&t&&n&&r}canReplaceRawState(e,t){let r=!0;Object.isExtensible(t)||(n.t.error(`[InteractionSystem] Reset skipped: ${e} is not extensible`),r=!1);let i=Ce(t);return i!==null&&(n.t.error(`[InteractionSystem] Reset skipped: ${e} has a non-configurable property`,i),r=!1),r}canResetActiveInputs(){let e=this.metrics.activeInputs,t=!0;Object.isExtensible(e)||(n.t.error(`[InteractionSystem] Reset skipped: activeInputs is not extensible`),t=!1),Object.getOwnPropertyDescriptor(e,`length`)?.writable!==!0&&(n.t.error(`[InteractionSystem] Reset skipped: activeInputs length is not writable`),t=!1);for(let r of Reflect.ownKeys(e))r!==`length`&&Object.getOwnPropertyDescriptor(e,r)?.configurable===!1&&(n.t.error(`[InteractionSystem] Reset skipped: activeInputs has a non-configurable property`,r),t=!1);return t}onDispose(){super.onDispose(),this.eventCallbacks.clear(),e.instance=null}},Ee=`interaction.input`,T=()=>w.getInstance();function E(){return T()}function D(e){let t=T;return T=e,k.invalidate(),()=>{T=t,k.invalidate()}}function O(e){let t=()=>{let t=e.getState();return{keyboard:e.getKeyboardRef(),mouse:e.getMouseRef(),gamepad:t.gamepad,touch:t.touch}};return{getKeyboard:()=>e.getKeyboardRef(),getMouse:()=>e.getMouseRef(),getGamepad:()=>e.getState().gamepad,getTouch:()=>e.getState().touch,updateKeyboard:t=>e.updateKeyboard(t),updateMouse:t=>e.updateMouse(t),updateGamepad:t=>e.updateGamepad(t),updateTouch:t=>e.updateTouch(t),subscribe:n=>{let r=()=>v(n,t());return e.addEventListener(`keyboard`,r),e.addEventListener(`mouse`,r),e.addEventListener(`gamepad`,r),e.addEventListener(`touch`,r),e.addEventListener(`reset`,r),r(),()=>{e.removeEventListener(`keyboard`,r),e.removeEventListener(`mouse`,r),e.removeEventListener(`gamepad`,r),e.removeEventListener(`touch`,r),e.removeEventListener(`reset`,r)}}}}var k=new class{constructor(){this.system=null,this.backend=null,this.unsubscribeFromBackend=null,this.listeners=new Map,this.listenerGeneration=0,this.isBindingBackend=!1}invalidate(){this.unsubscribeFromBackend?.(),this.unsubscribeFromBackend=null,this.backend=null,this.system=null}getKeyboard(){return this.resolveBackend().getKeyboard()}getMouse(){return this.resolveBackend().getMouse()}getGamepad(){return this.resolveBackend().getGamepad?.()??this.resolveDefaultGamepad()}getTouch(){return this.resolveBackend().getTouch?.()??this.resolveDefaultTouch()}updateKeyboard(e){this.resolveSubscribedBackend().updateKeyboard(e)}updateMouse(e){this.resolveSubscribedBackend().updateMouse(e)}updateGamepad(e){this.resolveSubscribedBackend().updateGamepad?.(e)}updateTouch(e){this.resolveSubscribedBackend().updateTouch?.(e)}subscribe(e){let t=this.listeners.get(e);if(t!==void 0)return this.createListenerCleanup(e,t);let n=++this.listenerGeneration;return this.listeners.set(e,n),this.ensureSubscription()||v(e,this.snapshot()),this.createListenerCleanup(e,n)}resolveBackend(){let e=E();return(this.system!==e||!this.backend)&&(this.unsubscribeFromBackend?.(),this.unsubscribeFromBackend=null,this.system=e,this.backend=O(e)),this.backend}resolveSubscribedBackend(){let e=this.resolveBackend();return this.listeners.size>0&&this.bindBackend(e),e}ensureSubscription(){let e=this.resolveBackend();return this.bindBackend(e)}bindBackend(e){if(this.unsubscribeFromBackend||this.isBindingBackend||!e.subscribe)return!1;this.isBindingBackend=!0;try{let t=e.subscribe(e=>{this.notifyListeners(e)});return this.listeners.size===0?t():this.unsubscribeFromBackend=t,!0}catch(e){return n.t.error(`[InteractionInputBackend] Failed to bind backend subscriber`,e instanceof Error?e:String(e)),!1}finally{this.isBindingBackend=!1}}notifyListeners(e){let t=this.listenerGeneration;this.listeners.forEach((n,r)=>{n>t||this.listeners.get(r)===n&&v(r,e)})}createListenerCleanup(e,t){return()=>{this.listeners.get(e)===t&&(this.listeners.delete(e),this.listeners.size===0&&(this.unsubscribeFromBackend?.(),this.unsubscribeFromBackend=null))}}snapshot(){let e=this.resolveBackend(),t={keyboard:e.getKeyboard(),mouse:e.getMouse()},n=e.getGamepad?.(),r=e.getTouch?.();return n&&(t.gamepad=n),r&&(t.touch=r),t}resolveDefaultGamepad(){return E().getState().gamepad}resolveDefaultTouch(){return E().getState().touch}};function A(){return k}function j(){return A()}function M(e){return e?O(e):j()}var N=()=>({isActive:!1,queue:{actions:[],currentIndex:0,isRunning:!1,isPaused:!1,loop:!1,maxRetries:3},currentAction:null,executionStats:{totalExecuted:0,successRate:100,averageTime:0,errors:[]},settings:{throttle:100,autoStart:!1,trackProgress:!0,showVisualCues:!0},lastUpdate:Date.now()}),P=()=>({queueLength:0,executionTime:0,performance:100,memoryUsage:0,errorRate:0,frameTime:0}),F=()=>({maxConcurrentActions:1,defaultDelay:100,retryDelay:1e3,timeoutDuration:5e3,enableLogging:!0,visualCues:{showPath:!0,showTargets:!0,lineColor:`#00ff00`,targetColor:`#ff0000`}}),I=class extends t._{constructor(e=!1){super(N,P),this.waitForMovementCompletion=e,this.executionGeneration=0,this.executionRunId=0,this.executionTimer=null,this.executionDelaySettler=null,this.eventCallbacks=new Map,this.isDisposing=!1,this.isResetting=!1,this.stoppedDispatchRunIds=new Set,this.movementSettler=null,this.actionRetryCount=0,this.config=F()}performUpdate(e){}createUpdateArgs(e){return this.createDefaultUpdateArgs(e)}getConfig(){return{...this.config,visualCues:{...this.config.visualCues}}}addAction(e){let t=a.t(`action`),n={...e,id:t,timestamp:Date.now()};return this.state.queue.actions.push(n),this.updateMetrics(0),this.emit(`actionAdded`,n),this.state.settings.autoStart&&!this.state.queue.isRunning&&this.runDetached(()=>this.start()),t}removeAction(e){let t=this.state.queue.actions.findIndex(t=>t.id===e);return t!==-1&&(this.state.queue.isRunning&&t===this.state.queue.currentIndex?this.stop():t<this.state.queue.currentIndex&&this.state.queue.currentIndex--,this.state.queue.actions.splice(t,1),this.updateMetrics(0),this.emit(`actionRemoved`,e),!0)}clearQueue(){this.state.queue.isRunning&&this.stop(),this.state.queue.actions=[],this.state.queue.currentIndex=0,this.updateMetrics(0),this.emit(`queueCleared`)}async start(){if(this.isDisposed||this.isDisposing||this.isResetting||this.state.queue.actions.length===0||this.state.queue.isRunning)return;this.state.queue.isRunning=!0,this.state.queue.isPaused=!1,this.actionRetryCount=0;let e=this.beginExecution();if(this.emit(`automationStarted`),this.isExecutionActive(e))try{await this.executeNext(e)}catch(e){this.logUnexpectedError(e)}}pause(){this.isDisposed||this.isDisposing||!this.state.queue.isRunning||this.state.queue.isPaused||(this.state.queue.isPaused=!0,this.invalidateExecution(),this.emit(`automationPaused`))}resume(){if(this.isDisposed||this.isDisposing||!this.state.queue.isRunning||!this.state.queue.isPaused)return;this.state.queue.isPaused=!1;let e=this.beginExecution();this.emit(`automationResumed`),this.isExecutionActive(e)&&this.runDetached(()=>this.executeNext(e))}stop(){this.isDisposed||this.isDisposing||this.stopExecution(!1)}reset(){if(!(this.isDisposed||this.isDisposing||this.isResetting)){this.isResetting=!0;try{super.reset()}finally{this.isResetting=!1}}}async executeNext(e){if(!this.isExecutionActive(e))return;if(this.state.queue.currentIndex>=this.state.queue.actions.length){if(this.state.queue.loop)this.state.queue.currentIndex=0;else{this.completeExecution(e);return}}if(!this.isExecutionActive(e))return;let t=this.state.queue.actions[this.state.queue.currentIndex];if(t&&(this.state.currentAction=t,this.emit(`actionStarted`,t),this.isExecutionActive(e)))try{if(!await this.executeAction(t,e)||!this.isExecutionActive(e)||(this.state.executionStats.totalExecuted++,this.actionRetryCount=0,this.state.queue.currentIndex++,this.emit(`actionCompleted`,t),!this.isExecutionActive(e)))return;let n=t.delay||this.state.settings.throttle;this.scheduleExecution(e,n)}catch(n){if(!this.isExecutionActive(e))return;this.handleExecutionError(t,n instanceof Error?n:Error(String(n)),e)}}async executeAction(e,t){if(e.beforeCallback&&(e.beforeCallback(),!this.isExecutionActive(t)))return!1;let n=Date.now();switch(e.type){case`move`:if(e.target){if(this.waitForMovementCompletion){let n=new Promise((e,t)=>{let n=()=>{this.executionTimer!==null&&clearTimeout(this.executionTimer),this.executionTimer=null,this.movementSettler=null,this.executionDelaySettler=null};this.movementSettler=()=>{n(),e(!0)},this.executionDelaySettler=()=>{n(),e(!1)},this.executionTimer=setTimeout(()=>{n(),t(Error(`Movement timed out`))},this.config.timeoutDuration)});if(this.emit(`moveRequested`,e.target),!await n||!this.isExecutionActive(t))return!1;break}if(this.emit(`moveRequested`,e.target),!this.isExecutionActive(t))return!1}break;case`click`:if(e.target&&(this.emit(`clickRequested`,e.target),!this.isExecutionActive(t)))return!1;break;case`wait`:if(!await this.waitForDelay(e.duration||1e3)||!this.isExecutionActive(t))return!1;break;case`key`:if(e.key&&(this.emit(`keyRequested`,e.key),!this.isExecutionActive(t)))return!1;break;case`custom`:if(this.emit(`customActionRequested`,e.data),!this.isExecutionActive(t))return!1}let r=Date.now()-n;return e.afterCallback&&(e.afterCallback(),!this.isExecutionActive(t))?!1:(this.updateExecutionStats(r),!0)}handleExecutionError(e,t,n){if(this.isExecutionActive(n)&&(this.state.executionStats.errors.push(`${e.id}: ${t.message}`),this.emit(`actionError`,{action:e,error:t}),this.isExecutionActive(n))){if(this.actionRetryCount<this.state.queue.maxRetries){this.actionRetryCount++,this.scheduleExecution(n,this.config.retryDelay);return}this.actionRetryCount=0,this.state.queue.currentIndex++,this.scheduleExecution(n,this.state.settings.throttle)}}scheduleExecution(e,t){this.runDetached(async()=>{await this.waitForDelay(t)&&this.isExecutionActive(e)&&await this.executeNext(e)})}waitForDelay(e){return this.cancelExecutionDelay(),new Promise(t=>{let n=!1,r=null,i=null,a=e=>{n||(n=!0,r!==null&&this.executionTimer===r&&(this.executionTimer=null),i!==null&&this.executionDelaySettler===i&&(this.executionDelaySettler=null),t(e))};r=setTimeout(()=>a(!0),e),i=()=>{r!==null&&clearTimeout(r),a(!1)},this.executionTimer=r,this.executionDelaySettler=i})}beginExecution(){return this.executionGeneration++,this.executionRunId++,this.cancelExecutionDelay(),this.executionGeneration}completeMovement(){let e=this.movementSettler;e&&(this.movementSettler=null,this.executionDelaySettler=null,e())}invalidateExecution(){return this.executionGeneration++,this.cancelExecutionDelay(),this.executionGeneration}cancelExecutionDelay(){let e=this.executionDelaySettler;if(e){e();return}let t=this.executionTimer;t!==null&&(clearTimeout(t),this.executionTimer===t&&(this.executionTimer=null))}stopExecution(e){if(!(e||this.state.queue.isRunning||this.state.queue.isPaused||this.state.currentAction!==null||this.executionTimer!==null||this.executionDelaySettler!==null))return this.executionGeneration;let t=this.invalidateExecution();return this.state.queue.isRunning=!1,this.state.queue.isPaused=!1,this.state.currentAction=null,this.emitAutomationStopped(),t}emitAutomationStopped(){let e=this.executionRunId;if(!this.stoppedDispatchRunIds.has(e)){this.stoppedDispatchRunIds.add(e);try{this.emit(`automationStopped`)}finally{this.stoppedDispatchRunIds.delete(e)}}}completeExecution(e){if(!this.isExecutionActive(e))return;let t=this.stopExecution(!0);this.isStoppedGeneration(t)&&this.emit(`automationCompleted`)}isExecutionActive(e){return e===this.executionGeneration&&this.state.queue.isRunning&&!this.state.queue.isPaused&&!this.isDisposed&&!this.isDisposing}isStoppedGeneration(e){return e===this.executionGeneration&&!this.state.queue.isRunning&&!this.state.queue.isPaused&&!this.isDisposed&&!this.isDisposing}runDetached(e){try{e().catch(e=>this.logUnexpectedError(e))}catch(e){this.logUnexpectedError(e)}}logUnexpectedError(e){n.t.error(`[${this.constructor.name}] Unexpected automation execution error:`,e instanceof Error?e:String(e))}updateExecutionStats(e){let t=this.state.executionStats;t.averageTime=(t.averageTime*t.totalExecuted+e)/(t.totalExecuted+1)}updateMetrics(e){super.updateMetrics(e),this.metrics.queueLength=this.state.queue.actions.length,this.metrics.errorRate=this.state.executionStats.errors.length/Math.max(this.state.executionStats.totalExecuted,1)*100}emit(e,t){e!==`stateChanged`&&this.emit(`stateChanged`);let r=this.eventCallbacks.get(e);if(r)for(let i of[...r])try{i(t)}catch(t){n.t.error(`[${this.constructor.name}] Error in ${e} event listener:`,t instanceof Error?t:String(t))}}addEventListener(e,t){let n=this.eventCallbacks.get(e)??[];n.push(t),this.eventCallbacks.set(e,n)}removeEventListener(e,t){let n=this.eventCallbacks.get(e);if(!n)return;let r=n.indexOf(t);r>-1&&n.splice(r,1)}updateSettings(e){Object.assign(this.state.settings,e),this.emit(`stateChanged`)}updateConfig(e){Object.assign(this.config,e),this.emit(`stateChanged`)}restoreResetDefaults(){Object.assign(this.state,N(),{lastUpdate:0}),Object.assign(this.metrics,P(),{frameTime:0}),this.config=F()}onReset(){this.config=F(),this.stopExecution(!0),this.clearQueue(),this.restoreResetDefaults(),this.emit(`stateChanged`),super.onReset()}onDispose(){this.isDisposing||(this.isDisposing=!0,this.stopExecution(!0),this.eventCallbacks.clear(),super.onDispose())}},L=null,R=new Set;function z(){return(!L||L.isDisposed)&&(L=new I(!0),L.addEventListener(`stateChanged`,()=>{for(let e of R)e()})),L}function De(e){return R.add(e),()=>R.delete(e)}var B=class e{static{this.globalInstance=null}static{this.movementOwners=new WeakMap}static getGlobal(){return e.globalInstance||=new e({automationSystem:z()}),e.globalInstance}static disposeGlobal(){e.globalInstance?.dispose(),e.globalInstance?.automationSystem.dispose(),e.globalInstance=null}constructor(e={}){this.MAX_COMMAND_HISTORY=1e3,this.MAX_EVENT_QUEUE=500,this.SYNC_DELAY_MS=16,this.engineListenerCleanups=[],this.report=e.report??i.r,this.interactionSystem=e.interactionSystem??E(),this.inputBackend=e.inputBackend??M(this.interactionSystem),this.automationSystem=e.automationSystem??new I,this.ownsAutomationSystem=e.automationSystem===void 0,this.state={isActive:!0,lastCommand:null,commandHistory:[],syncStatus:`idle`},this.eventSubscribers=new Map,this.eventQueue=[],this.syncTimer=null,this.visibilityCleanup=null,this.eventListeners=new Set,this.interactables=new Map,this.hoveredInteractableIds=new Set,this.setupEngineListeners(),this.setupVisibilityListener()}setupEngineListeners(){let t=!1,n=null,r=new o.Vector3,i=()=>{n&&e.movementOwners.get(n)===a&&e.movementOwners.delete(n),n=null,t=!1},a=e=>{i(),e!==this.automationSystem&&this.automationSystem.stop()},s=i=>{if(!(i instanceof o.Vector3))return;let s=this.inputBackend.getMouse(),c=e.movementOwners.get(s);if(e.movementOwners.set(s,a),c!==a&&c?.(this.automationSystem),e.movementOwners.get(s)!==a)return;n=s,t=!0,r.copy(i);let l=i;this.executeCommand({type:`input`,action:`moveTo`,data:{target:l}})},c=e=>{if(!(e instanceof o.Vector3))return;let t=e;this.executeCommand({type:`input`,action:`clickAt`,data:{target:t}})},l=e=>{if(typeof e!=`string`)return;let t=e;this.executeCommand({type:`input`,action:`keyPress`,data:{key:t}})};this.automationSystem.addEventListener(`moveRequested`,s),this.automationSystem.addEventListener(`clickRequested`,c),this.automationSystem.addEventListener(`keyRequested`,l);let u=()=>{t&&(i(),this.inputBackend.updateMouse({isActive:!1,shouldRun:!1}))};this.automationSystem.addEventListener(`automationPaused`,u),this.automationSystem.addEventListener(`automationStopped`,u),this.automationSystem.addEventListener(`actionError`,u);let d=this.inputBackend.subscribe?.(({mouse:e})=>{t&&(!e.isActive||!e.target.equals(r))&&(i(),!e.isActive&&e.hasArrived&&e.target.equals(r)?this.automationSystem.completeMovement():this.automationSystem.stop())});this.engineListenerCleanups.push(()=>this.automationSystem.removeEventListener(`moveRequested`,s),()=>this.automationSystem.removeEventListener(`clickRequested`,c),()=>this.automationSystem.removeEventListener(`keyRequested`,l),()=>this.automationSystem.removeEventListener(`automationPaused`,u),()=>this.automationSystem.removeEventListener(`automationStopped`,u),()=>this.automationSystem.removeEventListener(`actionError`,u),()=>d?.(),u)}executeCommand(e){if(!e||typeof e!=`object`){n.t.warn(`[${this.constructor.name}] Invalid command passed to executeCommand`);return}if(!e.type||!e.action){n.t.warn(`[${this.constructor.name}] Command missing required fields: type or action`);return}try{let t={...e,timestamp:Date.now()};switch(this.state.lastCommand=t,this.state.commandHistory.push(t),this.state.commandHistory.length>this.MAX_COMMAND_HISTORY&&this.state.commandHistory.splice(0,this.state.commandHistory.length-this.MAX_COMMAND_HISTORY),this.emitEvent({type:t.type,event:`commandExecuted`,data:t,timestamp:Date.now()}),e.type){case`input`:this.handleInputCommand(t);break;case`automation`:this.handleAutomationCommand(t)}}catch(t){this.report(t,{source:`command:interaction`,label:`${e.type}.${e.action}`})}}handleInputCommand(e){let{action:t,data:n}=e;switch(t){case`updateKeyboard`:this.inputBackend.updateKeyboard(n),this.notifyListeners();break;case`updateMouse`:this.inputBackend.updateMouse(n),this.notifyListeners();break;case`updateGamepad`:this.inputBackend.updateGamepad?.(n);break;case`updateTouch`:this.inputBackend.updateTouch?.(n);break;case`setConfig`:this.interactionSystem.setConfig(n);break;case`moveTo`:n&&typeof n==`object`&&`target`in n&&n.target instanceof o.Vector3&&this.inputBackend.updateMouse({target:n.target,isActive:!0,hasArrived:!1}),this.emitEvent({type:`input`,event:`moveToRequested`,data:n,timestamp:Date.now()});break;case`clickAt`:this.emitEvent({type:`input`,event:`clickAtRequested`,data:n,timestamp:Date.now()});break;case`keyPress`:this.emitEvent({type:`input`,event:`keyPressRequested`,data:n,timestamp:Date.now()})}}handleAutomationCommand(e){let{action:t,data:n}=e;switch(t){case`addAction`:this.automationSystem.addAction(n);break;case`removeAction`:this.automationSystem.removeAction(n);break;case`start`:this.automationSystem.start();break;case`pause`:this.automationSystem.pause();break;case`resume`:this.automationSystem.resume();break;case`stop`:this.automationSystem.stop();break;case`clearQueue`:this.automationSystem.clearQueue();break;case`updateSettings`:this.automationSystem.updateSettings(n)}}snapshot(){let e=this.createInteractionSnapshot(),t=this.interactionSystem.getConfig(),n=this.interactionSystem.getMetrics(),r=this.automationSystem.getState(),i=this.automationSystem.getConfig(),a=this.automationSystem.getMetrics();return{interaction:{state:e,config:t,metrics:n},automation:{state:r,config:i,metrics:a},bridge:this.state}}subscribe(e,t){if(typeof e==`string`){let n=e,r=t;if(typeof r!=`function`)return()=>{};let i=this.eventSubscribers.get(n)??[];return i.push(r),this.eventSubscribers.set(n,i),this.scheduleSync(),()=>this.unsubscribe(n,r)}let n=e;return this.eventListeners.add(n),()=>this.eventListeners.delete(n)}unsubscribe(e,t){let n=this.eventSubscribers.get(e);if(!n)return;let r=n.indexOf(t);r!==-1&&(n.splice(r,1),n.length===0?this.eventSubscribers.delete(e):this.eventSubscribers.set(e,n),this.eventSubscribers.size===0&&this.cancelSync())}notifyListeners(){let e=this.inputBackend.getKeyboard(),t=this.inputBackend.getMouse();this.eventListeners.forEach(n=>n({keyboard:e,mouse:t}))}createInteractionSnapshot(){let e=this.interactionSystem.getState();return{...e,keyboard:this.inputBackend.getKeyboard(),mouse:this.inputBackend.getMouse(),gamepad:this.inputBackend.getGamepad?.()??e.gamepad,touch:this.inputBackend.getTouch?.()??e.touch}}registerInteractable(e){e?.id&&this.interactables.set(e.id,e)}unregisterInteractable(e){e&&(this.interactables.delete(e),this.hoveredInteractableIds.delete(e))}getInteractable(e){return this.interactables.get(e)}updateHoveredObjects(e){let t=new Set;for(let n of e){let e=n?.object?.userData?.id;typeof e==`string`&&t.add(e)}for(let e of this.hoveredInteractableIds){if(t.has(e))continue;let n=this.interactables.get(e);n&&n.active!==!1&&n.onPointerOut?.()}for(let e of t){if(this.hoveredInteractableIds.has(e))continue;let t=this.interactables.get(e);t&&t.active!==!1&&t.onPointerOver?.()}this.hoveredInteractableIds=t}handleClick(e){let t=e?.object?.userData?.id;if(typeof t!=`string`)return;let n=this.interactables.get(t);n&&n.active!==!1&&n.onClick?.()}emitEvent(e){this.eventSubscribers.size!==0&&(this.eventQueue.push(e),this.eventQueue.length>this.MAX_EVENT_QUEUE&&this.eventQueue.splice(0,this.eventQueue.length-this.MAX_EVENT_QUEUE),this.scheduleSync())}dispatchEvent(e){let t=[e.event,e.type,`*`];for(let n of t){let t=this.eventSubscribers.get(n);t&&t.length!==0&&t.forEach(t=>{try{t(e)}catch(e){console.error(`Event callback error:`,e)}})}}setupVisibilityListener(){if(typeof document>`u`||typeof document.addEventListener!=`function`)return;let e=()=>{if(document.hidden){this.cancelSync();return}this.eventQueue.length>0&&this.scheduleSync()};document.addEventListener(`visibilitychange`,e),this.visibilityCleanup=()=>document.removeEventListener(`visibilitychange`,e)}cancelSync(){this.syncTimer!==null&&(clearTimeout(this.syncTimer),this.syncTimer=null)}scheduleSync(){this.syncTimer===null&&(typeof document<`u`&&document.hidden||this.eventSubscribers.size!==0&&(this.syncTimer=window.setTimeout(()=>{this.syncTimer=null,this.state.syncStatus=`syncing`;try{this.processEventQueue(),this.updateMetrics()}catch(e){this.state.syncStatus=`error`,console.error(`Sync error:`,e)}this.state.syncStatus=`idle`,this.eventQueue.length>0&&this.eventSubscribers.size>0&&this.scheduleSync()},this.SYNC_DELAY_MS)))}processEventQueue(){let e=this.eventQueue.splice(0,10);for(let t of e)this.dispatchEvent(t);e.length>0&&this.dispatchEvent({type:`sync`,event:`batchProcessed`,data:{count:e.length},timestamp:Date.now()})}updateMetrics(){let e=this.interactionSystem.getMetrics(),t=this.automationSystem.getMetrics();this.dispatchEvent({type:`sync`,event:`metricsUpdated`,data:{interaction:e,automation:t},timestamp:Date.now()})}getInteractionSystem(){return this.interactionSystem}getAutomationSystem(){return this.automationSystem}reset(){this.interactionSystem.reset(),this.automationSystem.reset(),this.state.commandHistory=[],this.state.lastCommand=null,this.eventQueue=[],this.notifyListeners()}dispose(){this.cancelSync(),this.visibilityCleanup?.(),this.visibilityCleanup=null,this.engineListenerCleanups.forEach(e=>e()),this.engineListenerCleanups=[],this.ownsAutomationSystem&&this.automationSystem.dispose(),this.eventSubscribers.clear(),this.eventQueue=[],this.state.commandHistory=[],this.eventListeners.clear(),this.interactables.clear(),this.hoveredInteractableIds.clear()}cleanup(){this.dispose()}getKeyboardState(){return this.inputBackend.getKeyboard()}getMouseState(){return this.inputBackend.getMouse()}},V=()=>({keyboard:{forward:!1,backward:!1,leftward:!1,rightward:!1,shift:!1,space:!1,keyZ:!1,keyR:!1,keyF:!1,keyE:!1,escape:!1},mouse:{target:new o.Vector3,angle:0,isActive:!1,shouldRun:!1,isLookAround:!1,buttons:{left:!1,right:!1,middle:!1},wheel:0,position:new o.Vector2},gamepad:{connected:!1,leftStick:new o.Vector2,rightStick:new o.Vector2,triggers:{left:0,right:0},buttons:{},vibration:{weak:0,strong:0}},touch:{touches:[],gestures:{pinch:1,rotation:0,pan:new o.Vector2}},lastUpdate:0,isActive:!0}),H=()=>({isActive:!1,queue:{actions:[],currentIndex:0,isRunning:!1,isPaused:!1,loop:!1,maxRetries:3},currentAction:null,executionStats:{totalExecuted:0,successRate:100,averageTime:0,errors:[]},settings:{throttle:100,autoStart:!1,trackProgress:!0,showVisualCues:!0}}),U=()=>({isActive:!0,lastCommand:null,commandHistory:[],syncStatus:`idle`}),W=()=>({sensitivity:{mouse:1,gamepad:1,touch:1},deadzone:{gamepad:.1,touch:.05},smoothing:{mouse:.1,gamepad:.2},invertY:!1,enableVibration:!0}),G=()=>({maxConcurrentActions:1,defaultDelay:100,retryDelay:1e3,timeoutDuration:5e3,enableLogging:!0,visualCues:{showPath:!0,showTargets:!0,lineColor:`#00ff00`,targetColor:`#ff0000`}}),K=()=>({lastUpdate:0,inputLatency:0,frameTime:0,eventCount:0,activeInputs:[],performanceScore:100}),q=()=>({queueLength:0,executionTime:0,performance:100,memoryUsage:0,errorRate:0}),J=!1,Oe=e=>{if(J)return;J=!0;let t=!1;A().subscribe?.(({keyboard:n,mouse:r,gamepad:i,touch:a})=>{if(!t){t=!0;return}e(e=>({interaction:{...e.interaction,keyboard:n,mouse:r,gamepad:i??e.interaction.gamepad,touch:a??e.interaction.touch}}))})};function Y(e){return t=>{let n=()=>e?.inputBackend??A(),r=()=>e?.getAutomationSystem()??z(),i=()=>e?.getAutomationSystem()??B.getGlobal().getAutomationSystem();return e?e.subscribeInput(({keyboard:e,mouse:n,gamepad:r,touch:i})=>t(t=>({interaction:{...t.interaction,keyboard:e,mouse:n,gamepad:r??t.interaction.gamepad,touch:i??t.interaction.touch}}))):Oe(t),(e?.subscribeAutomation??De)(()=>{let e=r(),n=e.getState();t(t=>({automation:{...n,queue:{...n.queue,actions:[...n.queue.actions]},settings:{...n.settings},executionStats:{...n.executionStats,errors:[...n.executionStats.errors]}},config:{...t.config,automation:e.getConfig()},metrics:{...t.metrics,automation:{...e.getMetrics()}}}))}),{interaction:V(),automation:H(),bridge:U(),config:{interaction:W(),automation:G()},metrics:{interaction:K(),automation:q()},dispatchInput:e=>{n().updateMouse(e)},addAutomationAction:e=>i().addAction(e),removeAutomationAction:e=>{r().removeAction(e)},startAutomation:()=>{i().start()},pauseAutomation:()=>r().pause(),resumeAutomation:()=>r().resume(),stopAutomation:()=>r().stop(),clearAutomationQueue:()=>r().clearQueue(),updateAutomationSettings:e=>r().updateSettings(e),updateInteractionConfig:e=>t(t=>({config:{...t.config,interaction:{...t.config.interaction,...e}}})),updateAutomationConfig:e=>r().updateConfig(e),updateInteractionMetrics:e=>t(t=>({metrics:{...t.metrics,interaction:{...t.metrics.interaction,...e}}})),updateAutomationMetrics:e=>t(t=>({metrics:{...t.metrics,automation:{...t.metrics.automation,...e}}})),setBridgeStatus:e=>t(t=>({bridge:{...t.bridge,syncStatus:e}})),addCommandToHistory:e=>t(t=>({bridge:{...t.bridge,lastCommand:e,commandHistory:[...t.bridge.commandHistory,e].slice(-100)}})),resetInteractions:()=>{r().reset(),t(()=>({interaction:V(),automation:H(),bridge:U(),config:{interaction:W(),automation:G()},metrics:{interaction:K(),automation:q()}}))},updateMouse:e=>{n().updateMouse(e)},updateKeyboard:e=>{n().updateKeyboard(e)},updateGamepad:e=>{n().updateGamepad?.(e)},updateTouch:e=>{n().updateTouch?.(e)},setInteractionActive:e=>t(t=>({interaction:{...t.interaction,isActive:e}}))}}}var X=Y();function ke(e,t){let n=new Set,r=new Set,i,a,o,s;return{services:{inputBackend:e,getAutomationSystem:()=>(a||(a=new I(!0),a.addEventListener(`stateChanged`,()=>{for(let e of r)e()}),o=new w,s=new B({inputBackend:e,interactionSystem:o,automationSystem:a,...t?{report:t}:{}})),a),subscribeInput:e=>{n.add(e)},subscribeAutomation:e=>{r.add(e)}},activate:()=>{i||=e.subscribe?.(e=>{for(let t of n)t(e)})},dispose:()=>{i?.(),i=void 0;let e=a,t=s,n=o;e?.stop();try{t?.dispose()}finally{try{e?.dispose()}finally{n?.dispose(),a=void 0,s=void 0,o=void 0}}}}}var Z=e=>({meshes:new Map,currentMeshId:null,addMesh:t=>{e(e=>{let n=new Map(e.meshes);return n.set(t.id,t),{meshes:n}})},removeMesh:t=>{e(e=>{let n=new Map(e.meshes);return n.delete(t),{meshes:n}})},updateMesh:(t,n)=>{e(e=>{let r=e.meshes.get(t);if(r){let i={...r,...n},a=new Map(e.meshes);return a.set(t,i),{meshes:a}}return e})},setCurrentMeshId:t=>{e({currentMeshId:t})},tiles:new Map,addTile:t=>{e(e=>{let n=new Map(e.tiles);return n.set(t.id,t),{tiles:n}})},removeTile:t=>{e(e=>{let n=new Map(e.tiles);return n.delete(t),{tiles:n}})},updateTile:(t,n)=>{e(e=>{let r=e.tiles.get(t);if(r){let i={...r,...n},a=new Map(e.tiles);return a.set(t,i),{tiles:a}}return e})},tileGroups:new Map,addTileGroup:t=>{e(e=>{let n=new Map(e.tileGroups);return n.set(t.id,t),{tileGroups:n}})},removeTileGroup:t=>{e(e=>{let n=new Map(e.tileGroups);n.delete(t);let r=new Map(e.tiles);return r.forEach(e=>{if(e.groupId===t){let{groupId:t,...n}=e;r.set(e.id,n)}}),{tileGroups:n,tiles:r}})},updateTileGroup:(t,n)=>{e(e=>{let r=e.tileGroups.get(t);if(r){let i={...r,...n},a=new Map(e.tileGroups);return a.set(t,i),{tileGroups:a}}return e})},addTileToGroup:(t,n)=>{e(e=>{let r=e.tiles.get(n);if(r&&e.tileGroups.has(t)){let i=new Map(e.tiles);return i.set(n,{...r,groupId:t}),{tiles:i}}return e})},removeTileFromGroup:t=>{e(e=>{let n=e.tiles.get(t);if(n?.groupId){let r=new Map(e.tiles),{groupId:i,...a}=n;return r.set(t,a),{tiles:r}}return e})},walls:new Map,addWall:t=>{e(e=>{let n=new Map(e.walls);return n.set(t.id,t),{walls:n}})},removeWall:t=>{e(e=>{let n=new Map(e.walls);return n.delete(t),{walls:n}})},updateWall:(t,n)=>{e(e=>{let r=e.walls.get(t);if(r){let i={...r,...n},a=new Map(e.walls);return a.set(t,i),{walls:a}}return e})},wallGroups:new Map,addWallGroup:t=>{e(e=>{let n=new Map(e.wallGroups);return n.set(t.id,t),{wallGroups:n}})},removeWallGroup:t=>{e(e=>{let n=new Map(e.wallGroups);n.delete(t);let r=new Map(e.walls);return r.forEach(e=>{if(e.groupId===t){let{groupId:t,...n}=e;r.set(e.id,n)}}),{wallGroups:n,walls:r}})},updateWallGroup:(t,n)=>{e(e=>{let r=e.wallGroups.get(t);if(r){let i={...r,...n},a=new Map(e.wallGroups);return a.set(t,i),{wallGroups:a}}return e})},addWallToGroup:(t,n)=>{e(e=>{let r=e.walls.get(n);if(r&&e.wallGroups.has(t)){let i=new Map(e.walls);return i.set(n,{...r,groupId:t}),{walls:i}}return e})},removeWallFromGroup:t=>{e(e=>{let n=e.walls.get(t);if(n?.groupId){let r=new Map(e.walls),{groupId:i,...a}=n;return r.set(t,a),{walls:r}}return e})},npcs:new Map,addNpc:t=>{e(e=>{let n=new Map(e.npcs);return n.set(t.id,t),{npcs:n}})},removeNpc:t=>{e(e=>{let n=new Map(e.npcs);return n.delete(t),{npcs:n}})},updateNpc:(t,n)=>{e(e=>{let r=e.npcs.get(t);if(r){let i={...r,...n},a=new Map(e.npcs);return a.set(t,i),{npcs:a}}return e})},interactableObjects:new Map,addInteractableObject:t=>{e(e=>{let n=new Map(e.interactableObjects);return n.set(t.id,t),{interactableObjects:n}})},removeInteractableObject:t=>{e(e=>{let n=new Map(e.interactableObjects);return n.delete(t),{interactableObjects:n}})},updateInteractableObject:(t,n)=>{e(e=>{let r=e.interactableObjects.get(t);if(r){let i={...r,...n},a=new Map(e.interactableObjects);return a.set(t,i),{interactableObjects:a}}return e})}}),Ae=()=>globalThis.__GAESUP_DEVTOOLS__===!0;function Q(e=X){return(0,c.create)()((0,l.devtools)((0,l.subscribeWithSelector)((...t)=>({...ne(...t),...te(...t),...re(...t),...ae(...t),...le(...t),...f(...t),...ue(...t),..._(...t),...e(...t),...Z(...t)})),{name:`gaesup-world`,enabled:Ae()}))}function je(e=y(),t){let n=ke(e,t),r=Q(Y(n.services));return n.activate(),Object.assign(r,{inputBackend:e,activateInteractions:n.activate,disposeInteractions:n.dispose})}var Me=`gaesup.runtime.world-store`,$=(0,s.createContext)(null),Ne=$.Provider,{useStore:Pe,useStoreApi:Fe}=r.t(`useGaesupStore`,()=>Q(),()=>(0,s.useContext)($)),Ie=class{constructor(){this.engines=new Map,this.snapshots=new Map,this.eventListeners=new Set,this.eventHandlers=new Map,this.middlewares=[]}use(e){this.middlewares.push(e)}hasEventObservers(e){return this.middlewares.length>0||(this.eventHandlers.get(e)?.size??0)>0}emit(e){let t=this.eventHandlers.get(e.type);if(t&&t.forEach(t=>t(e)),this.middlewares.length===0)return;let n=0,r=()=>{if(n<this.middlewares.length){let t=this.middlewares[n++];t?.(e,r)}};r()}on(e,t){return this.eventHandlers.has(e)||this.eventHandlers.set(e,new Set),this.eventHandlers.get(e).add(t),()=>{this.eventHandlers.get(e)?.delete(t)}}register(e,...t){let n=this.buildEngine(e,...t);if(!n)return;let r=this.engines.get(e);r!==n&&(r&&(r.dispose(),this.snapshots.delete(e)),this.engines.set(e,n),this.emit({type:`register`,id:e,timestamp:Date.now(),data:{engine:n}}))}unregister(e){let t=this.engines.get(e);t&&(t.dispose(),this.engines.delete(e),this.snapshots.delete(e),this.emit({type:`unregister`,id:e,timestamp:Date.now(),data:{engine:t}}))}getEngine(e){return this.engines.get(e)}execute(e,t){let r=this.getEngine(e);if(r){if(!t||typeof t!=`object`){n.t.warn(`[${this.constructor.name}] Ignored invalid command for ${e}`);return}this.hasEventObservers(`execute`)&&this.emit({type:`execute`,id:e,timestamp:Date.now(),data:{command:t}}),this.executeCommand(r,t,e),this.notifyListeners(e)}}snapshot(e){let t=this.getEngine(e);if(!t)return null;let n=this.createSnapshot(t,e);return n&&this.hasEventObservers(`snapshot`)&&this.emit({type:`snapshot`,id:e,timestamp:Date.now(),data:{snapshot:n}}),n}getCachedSnapshot(e){return this.snapshots.get(e)}cacheSnapshot(e,t){this.snapshots.set(e,t)}subscribe(e){return this.eventListeners.add(e),()=>this.eventListeners.delete(e)}notifyListeners(e){if(this.eventListeners.size===0)return;let t=this.snapshot(e);t&&(this.cacheSnapshot(e,t),this.eventListeners.forEach(n=>n(t,e)))}getAllSnapshots(){let e=new Map;return this.engines.forEach((t,n)=>{let r=this.snapshot(n);r&&e.set(n,r)}),e}dispose(){this.engines.forEach(e=>e.dispose()),this.engines.clear(),this.snapshots.clear(),this.eventListeners.clear(),this.eventHandlers.clear(),this.middlewares=[]}},Le=class e{static{this.instances=new Map}static getOrCreateFor(t){let n=e.instances.get(t);if(n)return n;let r=new t;return e.instances.set(t,r),r}static get(t){return e.instances.get(t)??null}static dispose(t){let n=e.instances.get(t);n&&(e.instances.delete(t),n.dispose())}static disposeAll(){let t=[...e.instances.values()];e.instances.clear(),t.forEach(e=>e.dispose())}},Re=!n.r()&&!0;function ze(e){if(e===void 0)return;if(e===null)return null;let t=typeof e;return t===`object`||t===`string`||t===`number`||t===`boolean`||t===`bigint`||t===`symbol`?e:String(e)}var Be=class extends Ie{constructor(e={}){super(),Re&&(e.metrics&&this.use((e,t)=>{n.t.log(`[Metrics] ${e.type} - ${e.id} at ${new Date(e.timestamp).toISOString()}`),t()}),e.eventLog&&(this.on(`register`,e=>{n.t.log(`[Event] Registered entity: ${e.id}`)}),this.on(`execute`,e=>{n.t.log(`[Event] Executed command on ${e.id}:`,ze(e.data?.command))}),this.on(`unregister`,e=>{n.t.log(`[Event] Unregistered entity: ${e.id}`)})))}};Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return je}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return Ee}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return Me}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return Le}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return Pe}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return Ne}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return Fe}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return Be}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return w}});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { mr as e } from "./useClicker-
|
|
2
|
-
import { o as t } from "./CoreBridge-
|
|
3
|
-
import {
|
|
4
|
-
import { a as r } from "./ControllerWrapper-
|
|
1
|
+
import { mr as e } from "./useClicker-aAIy3l8f.js";
|
|
2
|
+
import { o as t } from "./CoreBridge-CoU_vJOo.js";
|
|
3
|
+
import { o as n } from "./defaults-DLJB-RHV.js";
|
|
4
|
+
import { a as r } from "./ControllerWrapper-C3UMrzdp.js";
|
|
5
5
|
import { useEffect as i, useRef as a, useState as o } from "react";
|
|
6
6
|
import { jsx as s } from "react/jsx-runtime";
|
|
7
7
|
//#region src/core/interactions/components/Gamepad/GamePadButton.tsx
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./useClicker-
|
|
1
|
+
const e=require("./useClicker-PhtnHkFa.cjs"),t=require("./CoreBridge-L4l4UNtR.cjs"),n=require("./defaults-DrVklGQg.cjs"),r=require("./ControllerWrapper-DIUV_1p1.cjs");let i=require("react"),a=require("react/jsx-runtime");function o({value:t,name:n,gamePadButtonStyle:r,onInput:o}){let s=e.mr(),[c,l]=(0,i.useState)(!1),u=(0,i.useRef)(!1),d=(0,i.useRef)(o);d.current=o;let f=()=>{s.isEnabled()&&(s.activate(),!u.current&&o(t,!0)&&(u.current=!0,l(!0)))},p=()=>{u.current&&(o(t,!1),u.current=!1,l(!1))};return(0,i.useEffect)(()=>()=>{u.current&&d.current(t,!1),u.current=!1},[t]),(0,i.useEffect)(()=>c?s.onBlur(()=>{u.current&&d.current(t,!1),u.current=!1,l(!1)}):void 0,[c,t,s]),(0,a.jsx)(`button`,{type:`button`,className:`pad-button ${c?`is-clicked`:``}`,"aria-pressed":c,onBlur:p,onContextMenu:e=>{e.preventDefault(),p()},onPointerDown:f,onPointerUp:p,onPointerLeave:p,onPointerCancel:p,onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),e.stopPropagation(),f())},onKeyUp:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),e.stopPropagation(),p())},style:r,children:n})}var s={on:!0},c={forward:`앞으로`,backward:`뒤로`,leftward:`왼쪽`,rightward:`오른쪽`,shift:`달리기`,space:`점프`,escape:`취소`,keyZ:`동작 Z`,keyR:`동작 R`,keyF:`동작 F`,keyE:`동작 E`};function l(e){let{gamePadStyle:i,gamePadButtonStyle:s,label:l}=e,u=t.o(e=>e.interaction?.keyboard),d=t.o(e=>e.mode),{pushKey:f}=r.a(!0,!0,void 0,d?.controller===`gamepad`,!1);return d?.controller===`gamepad`?(0,a.jsx)(n.o,{className:`gamepad-container`,style:{...i,display:`flex`},children:Object.keys(u??{}).map(e=>(0,a.jsx)(o,{value:e,name:l?.[e]??c[e]??e,onInput:f,gamePadButtonStyle:s},e))}):null}Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return l}});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { br as e } from "./useClicker-
|
|
1
|
+
import { br as e } from "./useClicker-aAIy3l8f.js";
|
|
2
2
|
import { useEffect as t, useMemo as n } from "react";
|
|
3
3
|
import { jsx as r } from "react/jsx-runtime";
|
|
4
4
|
import { attribute as i, cos as a, exp as o, float as s, mod as c, positionView as l, screenDPR as u, sin as d, time as f, uniform as p, uv as m, vec3 as h } from "three/tsl";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./useClicker-
|
|
1
|
+
const e=require("./useClicker-PhtnHkFa.cjs");let t=require("react"),n=require("react/jsx-runtime"),r=require("three/tsl"),i=require("three/webgpu");var a=class extends i.PointsNodeMaterial{get origin(){return this.originValue.value}get pixelScale(){return this.pixelScaleValue.value}set pixelScale(e){this.pixelScaleValue.value=e}constructor(e,t){super({size:.08,sizeAttenuation:!1,transparent:!0,depthWrite:!1,fog:!1,toneMapped:!1,alphaTest:1e-4}),this.originValue=(0,r.uniform)(new i.Vector3),this.pixelScaleValue=(0,r.uniform)(1),this.sizeNode=this.pixelScaleValue.mul(.08).div(r.positionView.z.negate()).div(r.screenDPR);let n=(0,r.attribute)(`snowParticle`,`vec4`),a=(0,r.attribute)(`snowDrift`,`float`),o=n.x,s=r.time,c=this.originValue,l=(0,r.float)(t).sub((0,r.mod)(s.mul(n.w).add(o.mul(t*2)),t*1.4)),u=(0,r.sin)(s.mul(.7).add(o.mul(6.2831))).mul(a),d=(0,r.cos)(s.mul(.5).add(o.mul(3.1415))).mul(a);this.positionNode=(0,r.vec3)(c.x.add((0,r.mod)(n.y.add(u).sub(c.x).add(e),e*2)).sub(e),c.y.add(l).sub(t*.5),c.z.add((0,r.mod)(n.z.add(d).sub(c.z).add(e),e*2)).sub(e));let f=(0,r.uv)().sub(.5),p=f.dot(f);this.opacityNode=p.lessThanEqual(.25).select((0,r.exp)(p.mul(-6)).mul(.85),0)}},o={phase:`effects`,label:`building:snow-node`};function s({followCamera:r,count:s,halfRange:c,height:l}){let u=(0,t.useMemo)(()=>{let e=new i.Sprite(new a(c,l));e.geometry=e.geometry.clone();let t=new Float32Array(s*4),n=new Float32Array(s);for(let e=0;e<s;e++){let r=e*4;t[r]=Math.random(),t[r+1]=(Math.random()-.5)*c*2,t[r+2]=(Math.random()-.5)*c*2,t[r+3]=.5+Math.random()*1.5,n[e]=.05+Math.random()*.25}return e.geometry.setAttribute(`snowParticle`,new i.InstancedBufferAttribute(t,4)),e.geometry.setAttribute(`snowDrift`,new i.InstancedBufferAttribute(n,1)),e.count=s,e.frustumCulled=!1,e},[s,c,l]);return(0,t.useEffect)(()=>()=>{u.geometry.dispose(),u.material.dispose()},[u]),e.br(o,(e,t,n)=>{if(u.parent&&!u.parent.visible)return;let i=u.material;i.pixelScale=n.gl.domElement.height*.5,r&&i.origin.copy(n.camera.position)}),(0,n.jsx)(`primitive`,{object:u})}exports.default=s;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { k as e } from "./plugin-
|
|
1
|
+
import { k as e } from "./plugin-CDm9XM8g.js";
|
|
2
2
|
import { useEffect as t, useLayoutEffect as n, useMemo as r } from "react";
|
|
3
3
|
import { jsx as i } from "react/jsx-runtime";
|
|
4
4
|
//#region src/core/building/components/mesh/grass/NodeGrassMaterial.tsx
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./plugin-
|
|
1
|
+
const e=require("./plugin-BzkdNHEu.cjs");let t=require("react"),n=require("react/jsx-runtime");function r({materialRef:r,texture:i,alphaMap:a,toon:o,tipColor:s,bottomColor:c}){let l=(0,t.useMemo)(()=>new e.k(i,a),[i,a]);return(0,t.useLayoutEffect)(()=>{l.uniforms.uToon.value=+!!o,l.uniforms.tipColor.value.copy(s),l.uniforms.bottomColor.value.copy(c)},[l,o,s,c]),(0,t.useEffect)(()=>()=>l.dispose(),[l]),(0,n.jsx)(`primitive`,{object:l,ref:r,attach:`material`})}exports.default=r;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { br as e } from "./useClicker-
|
|
1
|
+
import { br as e } from "./useClicker-aAIy3l8f.js";
|
|
2
2
|
import { i as t } from "./weatherStore-BPDadgEH.js";
|
|
3
3
|
import { useEffect as n, useLayoutEffect as r, useMemo as i } from "react";
|
|
4
4
|
import { jsx as a } from "react/jsx-runtime";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./useClicker-
|
|
1
|
+
const e=require("./useClicker-PhtnHkFa.cjs"),t=require("./weatherStore-DwLl0Jjo.cjs");let n=require("react"),r=require("react/jsx-runtime"),i=require("three/tsl"),a=require("three/webgpu");var o={phase:`effects`,label:`building:tree-particles`},s=[[`position`,`particlePosition`],[`color`,`particleColor`],[`aParams1`,`aParams1`],[`aParams2`,`aParams2`],[`aTreePos`,`aTreePos`],[`aPointScale`,`aPointScale`]];function c({geometry:c,size:l,opacity:u,falling:d=!1}){let f=t.i(),p=c.hasAttribute(`aTreePos`),m=c.hasAttribute(`aPointScale`),h=(0,n.useMemo)(()=>{let e=(0,i.uniform)(0),t=(0,i.uniform)(1),n=(0,i.uniform)(1),r=(0,i.uniform)(1),o=new a.PointsNodeMaterial({sizeAttenuation:!0,transparent:!0,depthWrite:!1}),s=new a.Sprite(o),c=s.geometry,l=(0,i.attribute)(`particlePosition`,`vec3`);if(o.positionNode=l,o.colorNode=(0,i.attribute)(`particleColor`,`vec3`),o.sizeNode=n,d){let r=(0,i.attribute)(`aParams1`,`vec4`),a=(0,i.attribute)(`aParams2`,`vec2`),s=(0,i.fract)(e.mul(r.x).add(r.y)),c=e.mul(r.w).add(r.y.mul(Math.PI*2)),u=(0,i.vec3)(l.x.add((0,i.sin)(c).mul(r.z).mul(t)).add(a.x.mul(s).mul(t)),(0,i.float)(.18).add(l.y.mul((0,i.float)(1).sub((0,i.pow)(s,1.22)))).add((0,i.sin)(c.mul(.6)).mul(.06)),l.z.add((0,i.cos)(c.mul(.82)).mul(r.z).mul(.72).mul(t)).add(a.y.mul(s).mul(t)));o.positionNode=p?u.add((0,i.attribute)(`aTreePos`,`vec3`)):u,m&&(o.sizeNode=(0,i.attribute)(`aPointScale`,`float`).mul(n))}let u=(0,i.uv)().sub(.5),f=u.dot(u);return o.opacityNode=f.lessThanEqual(.25).select((0,i.exp)(f.mul(-8)).mul(r),0),s.frustumCulled=!1,{sprite:s,quad:c,time:e,wind:t,size:n,opacity:r}},[d,p,m]);return(0,n.useLayoutEffect)(()=>{let e=h.quad.clone();for(let[t,n]of s){let r=c.getAttribute(t);r&&e.setAttribute(n,new a.InstancedBufferAttribute(r.array,r.itemSize))}return h.sprite.geometry=e,h.sprite.count=c.getAttribute(`position`).count,()=>e.dispose()},[c,h]),(0,n.useLayoutEffect)(()=>{h.size.value=l,h.opacity.value=u},[u,h,l]),(0,n.useEffect)(()=>()=>{h.quad.dispose(),h.sprite.material.dispose()},[h]),e.br(o,(e,t)=>{if(h.sprite.parent&&!h.sprite.parent.visible)return;h.time.value=t;let n=f.getState().current,r=n?.kind===`storm`?2.4:n?.kind===`rain`?1.6:n?.kind===`snow`?1.2:n?.kind===`cloudy`?1.1:.9;h.wind.value=r+(n?.intensity??0)*.7},d),(0,r.jsx)(`primitive`,{object:h.sprite,dispose:null})}exports.default=c;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./useClicker-
|
|
1
|
+
const e=require("./useClicker-PhtnHkFa.cjs"),t=require("./plugin-BzkdNHEu.cjs");let n=require("react"),r=require("react/jsx-runtime"),i=require("three/tsl"),a=require("three/webgpu");var o=(e,[t,n])=>(0,i.smoothstep)(t,n,e);function s(e=t.N(),{toon:n=!0,field:r=null,open:s=!1,lod:c}={}){let l=(0,i.uniform)(0),u=(0,i.uniform)(1),d=(0,i.uniform)(1).onRenderUpdate(()=>c?.detailed===!1?0:1),f=r?{texture:r.texture,transform:(0,i.uniform)(r.transform)}:null,p=e=>f?(0,i.texture)(f.texture,e.sub(f.transform.xy).mul(f.transform.zw)).r:(0,i.attribute)(`waterCoverage`,`float`),m=i.positionGeometry,h=i.modelWorldMatrix.mul((0,i.vec4)(m,1)).xz,g=(0,i.sin)(h.x.mul(.55).add(l.mul(.85))).mul(.045).add((0,i.sin)(h.y.mul(.78).sub(l.mul(1.05)).add(h.x.mul(.33))).mul(.025)).add((0,i.sin)(h.x.add(h.y).mul(1.4).add(l.mul(1.6))).mul(.012)),_=(0,i.vec3)(m.x,m.y,m.z.add(g.mul((0,i.smoothstep)(.7,.9,p(h))).mul(d))),v=i.positionWorld.xz,y=p(v),b=y.add((0,i.sin)(v.x.mul(.9).add((0,i.sin)(v.y.mul(.63)).mul(1.4))).mul((0,i.cos)(v.y.mul(.77).sub(v.x.mul(.21)))).mul(t.F.wobble)),x=(0,i.texture)(e,v.mul(.055).add((0,i.vec2)(l.mul(.009),l.mul(.004)))),S=(0,i.texture)(e,v.mul(.12).add((0,i.vec2)(l.mul(-.006),l.mul(.008)))),C=o(b,t.F.water),[w,T,E,D]=t.F.foam,O=(0,i.sin)(v.x.mul(.7).add(v.y.mul(.5)).sub(l.mul(.55))).mul(.5).add(.5),k=o(b,[w,T]).mul(o(b,[E,D]).oneMinus()).mul(O.mul(d).mul(.45).add(.55)),A=(0,i.mix)((0,i.color)(t.P.bank),(0,i.color)(t.P.wet),o(b,t.F.wet)),j=(0,i.mix)((0,i.color)(t.P.shallow),(0,i.color)(t.P.deep),o(y,t.F.depth)),M;if(n){M=new a.MeshBasicNodeMaterial;let e=(0,i.vec2)(x.x.add(S.x).sub(1),x.y.add(S.y).sub(1)).mul(d.mul(.7)),n=(0,i.normalize)((0,i.vec3)(e.x,1,e.y)),r=(0,i.normalize)(i.cameraPosition.sub(i.positionWorld)),o=(0,i.pow)((0,i.max)((0,i.dot)(n,r),0).oneMinus(),3),s=(0,i.pow)((0,i.max)((0,i.dot)(n,(0,i.normalize)(r.add((0,i.vec3)(-.5,.9,-.3).normalize()))),0),96).mul(d);j=(0,i.mix)(j,(0,i.color)(t.P.sky),o.mul(.5)).add(s.mul(.35))}else{let e=new a.MeshStandardNodeMaterial({metalness:0}),t=(0,i.normalMap)(x.rgb.add(S.rgb).mul(.5),(0,i.vec2)(.35,.35));e.normalNode=(0,i.normalize)((0,i.mix)(i.normalView,t,C.mul(d))),e.roughnessNode=(0,i.mix)(.95,.14,C),M=e}return M.positionNode=_,M.colorNode=(0,i.mix)(A,(0,i.mix)(j,(0,i.color)(t.P.foam),k.mul(.8)),C).mul(u),s||(M.transparent=!0,M.depthWrite=!1,M.opacityNode=o(b,t.F.edge)),{material:M,time:l,brightness:u}}var c={phase:`effects`,label:`building:water-node`};function l({normalMap:t,brightness:i=1,toon:a,field:o,open:l,lod:u}){let{material:d,time:f,brightness:p}=(0,n.useMemo)(()=>s(t,{toon:a,field:o,open:l,lod:u}),[t,a,o,l,u]);return(0,n.useEffect)(()=>{p.value=i},[p,i]),e.br(c,(e,t)=>{f.value=t}),(0,n.useEffect)(()=>()=>d.dispose(),[d]),(0,r.jsx)(`primitive`,{object:d,attach:`material`})}exports.default=l;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { br as e } from "./useClicker-
|
|
2
|
-
import { F as t, N as n, P as r } from "./plugin-
|
|
1
|
+
import { br as e } from "./useClicker-aAIy3l8f.js";
|
|
2
|
+
import { F as t, N as n, P as r } from "./plugin-CDm9XM8g.js";
|
|
3
3
|
import { useEffect as i, useMemo as a } from "react";
|
|
4
4
|
import { jsx as o } from "react/jsx-runtime";
|
|
5
5
|
import { attribute as s, cameraPosition as c, color as l, cos as u, dot as d, max as f, mix as p, modelWorldMatrix as m, normalMap as h, normalView as g, normalize as _, positionGeometry as v, positionWorld as y, pow as b, sin as x, smoothstep as S, texture as C, uniform as w, vec2 as T, vec3 as E, vec4 as D } from "three/tsl";
|