gaesup-world 1.0.31 → 1.0.32
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/README.ko.md +2 -2
- package/README.md +2 -2
- package/dist/AbstractSystem-8EPBzsjD.cjs +1 -0
- package/dist/{AbstractSystem-CVR6rQis.js → AbstractSystem-bkSvfZT8.js} +4 -40
- package/dist/{AnimationSystem-DrHp791q.js → AnimationSystem-C_NmgU8g.js} +1 -1
- package/dist/{AnimationSystem-Di6QQGgt.cjs → AnimationSystem-Ck-HZ2yf.cjs} +1 -1
- package/dist/BlueprintFactory-Cca_JG7b.cjs +1 -0
- package/dist/{BlueprintFactory-D1CDeCcW.js → BlueprintFactory-qHv8dGS5.js} +1 -1
- package/dist/BugSpot-BUj87gYQ.js +5614 -0
- package/dist/BugSpot-x0_hoiCY.cjs +1 -0
- package/dist/BuildingBridge-C-ysFMzV.js +8796 -0
- package/dist/BuildingBridge-DJCy9cCS.cjs +715 -0
- package/dist/ControllerWrapper-CftOKhOC.cjs +1 -0
- package/dist/ControllerWrapper-ZfwR_sgp.js +488 -0
- package/dist/LutOverlay-CTgAzhko.cjs +1 -0
- package/dist/LutOverlay-IplSgF1l.js +126 -0
- package/dist/{NavigationObstacleRegistry-zlSIFMy8.js → NPCNavigationAdapter-DAuBRmsp.js} +1 -17
- package/dist/NPCNavigationAdapter-G-FbxRnv.cjs +1 -0
- package/dist/{NodeFireEffects-DibuZPik.cjs → NodeFireEffects-DK5gjQL_.cjs} +1 -1
- package/dist/{NodeFireEffects-C3vmxD-c.js → NodeFireEffects-Dj5T-YLA.js} +1 -1
- package/dist/{NodeGpuSnow-Cx5x6F0J.js → NodeGpuSnow-8mjy8BY6.js} +1 -1
- package/dist/{NodeGpuSnow-Cbrl2nh2.cjs → NodeGpuSnow-iIKULBzM.cjs} +1 -1
- package/dist/{NodeWaterMaterial-Bl7_pyR2.cjs → NodeWaterMaterial-CaNiO4_O.cjs} +1 -1
- package/dist/{NodeWaterMaterial-Dz-8ph8D.js → NodeWaterMaterial-vwovs5PY.js} +1 -1
- package/dist/NodeWeather-CB23W9sa.cjs +1 -0
- package/dist/NodeWeather-bAgg6SX4.js +65 -0
- package/dist/SaveSystem-HlJ-a0iF.cjs +1 -0
- package/dist/SaveSystem-XSuZJMJg.js +953 -0
- package/dist/WorldPhysics-BmQcacJR.cjs +1 -0
- package/dist/WorldPhysics-DbCSRgNR.js +89 -0
- package/dist/WorldPostProcessing-CUuhgZpf.cjs +1 -0
- package/dist/WorldPostProcessing-DKixieJb.js +269 -0
- package/dist/WorldProps-BZUXjeyS.cjs +1 -0
- package/dist/WorldProps-CJMWETmX.js +2477 -0
- package/dist/avatar.cjs +1 -1
- package/dist/avatar.js +3 -3
- package/dist/blueprints/hooks/useSpawnFromBlueprint.d.cts +2 -1
- package/dist/blueprints/hooks/useSpawnFromBlueprint.d.ts +2 -1
- package/dist/{blueprints-DxF5tPNF.js → blueprints-BtyewrQQ.js} +102 -91
- package/dist/blueprints-caUQ8vPC.cjs +1 -0
- package/dist/blueprints-editor.cjs +1 -1
- package/dist/blueprints-editor.js +290 -283
- package/dist/blueprints.cjs +1 -1
- package/dist/blueprints.js +2 -2
- package/dist/building.cjs +1 -1
- package/dist/building.js +4 -3
- package/dist/core/animation/hooks/useAnimationBridge.d.cts +1 -1
- package/dist/core/animation/hooks/useAnimationBridge.d.ts +1 -1
- package/dist/core/audio/core/AudioEngine.d.cts +28 -0
- package/dist/core/audio/core/AudioEngine.d.ts +28 -0
- package/dist/core/audio/index.d.cts +4 -3
- package/dist/core/audio/index.d.ts +4 -3
- package/dist/core/audio/plugin.d.cts +3 -2
- package/dist/core/audio/plugin.d.ts +3 -2
- package/dist/core/audio/stores/audioStore.d.cts +12 -1
- package/dist/core/audio/stores/audioStore.d.ts +12 -1
- package/dist/core/boilerplate/hooks/useEntity.d.cts +3 -0
- package/dist/core/boilerplate/hooks/useEntity.d.ts +3 -0
- package/dist/core/building/components/BuildingSystem/index.d.cts +1 -1
- package/dist/core/building/components/BuildingSystem/index.d.ts +1 -1
- package/dist/core/building/components/BuildingSystem/types.d.cts +2 -0
- package/dist/core/building/components/BuildingSystem/types.d.ts +2 -0
- package/dist/core/building/components/mesh/grass/manager.d.cts +32 -3
- package/dist/core/building/components/mesh/grass/manager.d.ts +32 -3
- package/dist/core/building/components/mesh/grass/useGrassManager.d.cts +2 -0
- package/dist/core/building/components/mesh/grass/useGrassManager.d.ts +2 -0
- package/dist/core/building/core/MaterialManager.d.cts +1 -0
- package/dist/core/building/core/MaterialManager.d.ts +1 -0
- package/dist/core/building/index.d.cts +4 -1
- package/dist/core/building/index.d.ts +4 -1
- package/dist/core/building/render/cullingStore.d.cts +10 -1
- package/dist/core/building/render/cullingStore.d.ts +10 -1
- package/dist/core/building/render/store.d.cts +10 -1
- package/dist/core/building/render/store.d.ts +10 -1
- package/dist/core/building/stores/buildingStore.d.cts +13 -1
- package/dist/core/building/stores/buildingStore.d.ts +13 -1
- package/dist/core/building/stores/presets.d.cts +8 -3
- package/dist/core/building/stores/presets.d.ts +8 -3
- package/dist/core/building/visibility/store.d.cts +10 -1
- package/dist/core/building/visibility/store.d.ts +10 -1
- package/dist/core/camera/cinematic.d.cts +27 -0
- package/dist/core/camera/cinematic.d.ts +27 -0
- package/dist/core/camera/closeUp.d.cts +4 -2
- package/dist/core/camera/closeUp.d.ts +4 -2
- package/dist/core/camera/controllers/BaseController.d.cts +1 -0
- package/dist/core/camera/controllers/BaseController.d.ts +1 -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/types.d.cts +3 -0
- package/dist/core/camera/core/types.d.ts +3 -0
- package/dist/core/camera/index.d.cts +3 -2
- package/dist/core/camera/index.d.ts +3 -2
- package/dist/core/camera/utils/sphereSweep.d.cts +13 -0
- package/dist/core/camera/utils/sphereSweep.d.ts +13 -0
- package/dist/core/catalog/index.d.cts +2 -1
- package/dist/core/catalog/index.d.ts +2 -1
- package/dist/core/catalog/plugin.d.cts +3 -2
- package/dist/core/catalog/plugin.d.ts +3 -2
- package/dist/core/catalog/stores/catalogStore.d.cts +9 -1
- package/dist/core/catalog/stores/catalogStore.d.ts +9 -1
- package/dist/core/catalog/stores/tracker.d.cts +5 -0
- package/dist/core/catalog/stores/tracker.d.ts +5 -0
- package/dist/core/character/actionEquipment.d.cts +3 -2
- package/dist/core/character/actionEquipment.d.ts +3 -2
- package/dist/core/character/index.d.cts +2 -1
- package/dist/core/character/index.d.ts +2 -1
- package/dist/core/character/plugin.d.cts +3 -2
- package/dist/core/character/plugin.d.ts +3 -2
- package/dist/core/character/stores/characterStore.d.cts +9 -1
- package/dist/core/character/stores/characterStore.d.ts +9 -1
- package/dist/core/crafting/index.d.cts +2 -1
- package/dist/core/crafting/index.d.ts +2 -1
- package/dist/core/crafting/plugin.d.cts +3 -2
- package/dist/core/crafting/plugin.d.ts +3 -2
- package/dist/core/crafting/stores/craftingStore.d.cts +11 -1
- package/dist/core/crafting/stores/craftingStore.d.ts +11 -1
- package/dist/core/dialog/index.d.cts +4 -1
- package/dist/core/dialog/index.d.ts +4 -1
- package/dist/core/dialog/stores/dialogStore.d.cts +11 -2
- package/dist/core/dialog/stores/dialogStore.d.ts +11 -2
- package/dist/core/dialog/stores/runtimeAdapter.d.cts +13 -0
- package/dist/core/dialog/stores/runtimeAdapter.d.ts +13 -0
- package/dist/core/economy/index.d.cts +4 -2
- package/dist/core/economy/index.d.ts +4 -2
- package/dist/core/economy/plugin.d.cts +6 -4
- package/dist/core/economy/plugin.d.ts +6 -4
- package/dist/core/economy/stores/shopStore.d.cts +11 -1
- package/dist/core/economy/stores/shopStore.d.ts +11 -1
- package/dist/core/economy/stores/walletStore.d.cts +9 -1
- package/dist/core/economy/stores/walletStore.d.ts +9 -1
- package/dist/core/editor/components/panels/BuildingPanel/state.d.cts +3 -3
- package/dist/core/editor/components/panels/BuildingPanel/state.d.ts +3 -3
- package/dist/core/editor/components/panels/CinematicPanel/index.d.cts +1 -1
- package/dist/core/editor/components/panels/CinematicPanel/index.d.ts +1 -1
- package/dist/core/events/index.d.cts +2 -1
- package/dist/core/events/index.d.ts +2 -1
- package/dist/core/events/plugin.d.cts +3 -2
- package/dist/core/events/plugin.d.ts +3 -2
- package/dist/core/events/stores/eventsStore.d.cts +9 -1
- package/dist/core/events/stores/eventsStore.d.ts +9 -1
- package/dist/core/events/stores/ticker.d.cts +20 -0
- package/dist/core/events/stores/ticker.d.ts +20 -0
- package/dist/core/farming/index.d.cts +2 -1
- package/dist/core/farming/index.d.ts +2 -1
- package/dist/core/farming/plugin.d.cts +3 -2
- package/dist/core/farming/plugin.d.ts +3 -2
- package/dist/core/farming/stores/clock.d.cts +3 -1
- package/dist/core/farming/stores/clock.d.ts +3 -1
- package/dist/core/farming/stores/plotStore.d.cts +10 -1
- package/dist/core/farming/stores/plotStore.d.ts +10 -1
- package/dist/core/gameplay/events/engine.d.cts +12 -1
- package/dist/core/gameplay/events/engine.d.ts +12 -1
- package/dist/core/gameplay/events/execution.d.cts +24 -0
- package/dist/core/gameplay/events/execution.d.ts +24 -0
- package/dist/core/gameplay/events/index.d.cts +3 -1
- package/dist/core/gameplay/events/index.d.ts +3 -1
- package/dist/core/gameplay/events/registry.d.cts +12 -1
- package/dist/core/gameplay/events/registry.d.ts +12 -1
- package/dist/core/gameplay/events/state.d.cts +3 -0
- package/dist/core/gameplay/events/state.d.ts +3 -0
- package/dist/core/gameplay/events/types.d.cts +10 -0
- package/dist/core/gameplay/events/types.d.ts +10 -0
- package/dist/core/index.d.cts +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/input/BrowserGamepadHub.d.cts +34 -0
- package/dist/core/input/BrowserGamepadHub.d.ts +34 -0
- package/dist/core/input/WorldGamepadInput.d.cts +63 -0
- package/dist/core/input/WorldGamepadInput.d.ts +63 -0
- package/dist/core/input/WorldInputActions.d.cts +53 -0
- package/dist/core/input/WorldInputActions.d.ts +53 -0
- package/dist/core/input/WorldInputBackend.d.cts +38 -0
- package/dist/core/input/WorldInputBackend.d.ts +38 -0
- package/dist/core/input/WorldInputScope.d.cts +30 -0
- package/dist/core/input/WorldInputScope.d.ts +30 -0
- package/dist/core/input/WorldInputSurface.d.cts +3 -0
- package/dist/core/input/WorldInputSurface.d.ts +3 -0
- package/dist/core/input/index.d.cts +10 -0
- package/dist/core/input/index.d.ts +10 -0
- package/dist/core/input/movementAxes.d.cts +4 -0
- package/dist/core/input/movementAxes.d.ts +4 -0
- package/dist/core/input/useWorldInputActions.d.cts +1 -0
- package/dist/core/input/useWorldInputActions.d.ts +1 -0
- package/dist/core/input/useWorldInputScope.d.cts +1 -0
- package/dist/core/input/useWorldInputScope.d.ts +1 -0
- package/dist/core/interactions/components/FocusableObject/index.d.cts +2 -1
- package/dist/core/interactions/components/FocusableObject/index.d.ts +2 -1
- package/dist/core/interactions/hooks/useInteractionTarget.d.cts +2 -6
- package/dist/core/interactions/hooks/useInteractionTarget.d.ts +2 -6
- package/dist/core/interactions/stores/interactablesStore.d.cts +23 -4
- package/dist/core/interactions/stores/interactablesStore.d.ts +23 -4
- package/dist/core/interactions/stores/slices.d.cts +9 -0
- package/dist/core/interactions/stores/slices.d.ts +9 -0
- package/dist/core/interactions/stores/worldInteractions.d.cts +8 -0
- package/dist/core/interactions/stores/worldInteractions.d.ts +8 -0
- package/dist/core/inventory/index.d.cts +2 -1
- package/dist/core/inventory/index.d.ts +2 -1
- package/dist/core/inventory/plugin.d.cts +3 -2
- package/dist/core/inventory/plugin.d.ts +3 -2
- package/dist/core/inventory/stores/inventoryStore.d.cts +11 -1
- package/dist/core/inventory/stores/inventoryStore.d.ts +11 -1
- package/dist/core/mail/index.d.cts +2 -1
- package/dist/core/mail/index.d.ts +2 -1
- package/dist/core/mail/plugin.d.cts +3 -2
- package/dist/core/mail/plugin.d.ts +3 -2
- package/dist/core/mail/stores/mailStore.d.cts +11 -1
- package/dist/core/mail/stores/mailStore.d.ts +11 -1
- package/dist/core/motions/bridge/PhysicsBridge.d.cts +2 -2
- package/dist/core/motions/bridge/PhysicsBridge.d.ts +2 -2
- package/dist/core/motions/core/config.d.cts +4 -0
- package/dist/core/motions/core/config.d.ts +4 -0
- package/dist/core/motions/core/movement/DirectionComponent.d.cts +5 -2
- package/dist/core/motions/core/movement/DirectionComponent.d.ts +5 -2
- package/dist/core/motions/core/movement/ImpulseComponent.d.cts +3 -2
- package/dist/core/motions/core/movement/ImpulseComponent.d.ts +3 -2
- package/dist/core/motions/core/system/GroundContactProbe.d.cts +32 -0
- package/dist/core/motions/core/system/GroundContactProbe.d.ts +32 -0
- package/dist/core/motions/core/system/PhysicsSystem.d.cts +10 -4
- package/dist/core/motions/core/system/PhysicsSystem.d.ts +10 -4
- package/dist/core/motions/entities/types.d.cts +4 -0
- package/dist/core/motions/entities/types.d.ts +4 -0
- package/dist/core/motions/hooks/types.d.cts +1 -1
- package/dist/core/motions/hooks/types.d.ts +1 -1
- package/dist/core/motions/hooks/usePhysicsBridge.d.cts +2 -0
- package/dist/core/motions/hooks/usePhysicsBridge.d.ts +2 -0
- package/dist/core/motions/hooks/useWorldMotionBridge.d.cts +2 -0
- package/dist/core/motions/hooks/useWorldMotionBridge.d.ts +2 -0
- package/dist/core/motions/plugin.d.cts +4 -0
- package/dist/core/motions/plugin.d.ts +4 -0
- package/dist/core/motions/types.d.cts +9 -3
- package/dist/core/motions/types.d.ts +9 -3
- package/dist/core/navigation/ClickNavigationRoute.d.cts +29 -9
- package/dist/core/navigation/ClickNavigationRoute.d.ts +29 -9
- package/dist/core/navigation/NavigationObstacleRegistry.d.cts +18 -3
- package/dist/core/navigation/NavigationObstacleRegistry.d.ts +18 -3
- package/dist/core/navigation/NavigationSystem.d.cts +1 -1
- package/dist/core/navigation/NavigationSystem.d.ts +1 -1
- package/dist/core/navigation/PathOpenSet.d.cts +12 -0
- package/dist/core/navigation/PathOpenSet.d.ts +12 -0
- package/dist/core/navigation/hooks/useNavigation.d.cts +23 -0
- package/dist/core/navigation/hooks/useNavigation.d.ts +23 -0
- package/dist/core/navigation/index.d.cts +5 -2
- package/dist/core/navigation/index.d.ts +5 -2
- package/dist/core/networks/bridge/NetworkBridge.d.cts +11 -1
- package/dist/core/networks/bridge/NetworkBridge.d.ts +11 -1
- package/dist/core/networks/core/NetworkSystem.d.cts +9 -0
- package/dist/core/networks/core/NetworkSystem.d.ts +9 -0
- package/dist/core/npc/core/NPCPerceptionIndex.d.cts +11 -0
- package/dist/core/npc/core/NPCPerceptionIndex.d.ts +11 -0
- package/dist/core/npc/core/NPCScheduler.d.cts +4 -0
- package/dist/core/npc/core/NPCScheduler.d.ts +4 -0
- package/dist/core/npc/core/NPCSimulation.d.cts +45 -0
- package/dist/core/npc/core/NPCSimulation.d.ts +45 -0
- package/dist/core/npc/core/blueprint.d.cts +7 -1
- package/dist/core/npc/core/blueprint.d.ts +7 -1
- package/dist/core/npc/core/brain.d.cts +15 -3
- package/dist/core/npc/core/brain.d.ts +15 -3
- package/dist/core/npc/core/reinforcement.d.cts +68 -2
- package/dist/core/npc/core/reinforcement.d.ts +68 -2
- package/dist/core/npc/core/validatePolicy.d.cts +7 -0
- package/dist/core/npc/core/validatePolicy.d.ts +7 -0
- package/dist/core/npc/hooks/useNPCSimulation.d.cts +2 -0
- package/dist/core/npc/hooks/useNPCSimulation.d.ts +2 -0
- package/dist/core/npc/index.d.cts +9 -5
- package/dist/core/npc/index.d.ts +9 -5
- package/dist/core/npc/plugin.d.cts +3 -2
- package/dist/core/npc/plugin.d.ts +3 -2
- package/dist/core/npc/stores/npcStore.d.cts +16 -1
- package/dist/core/npc/stores/npcStore.d.ts +16 -1
- package/dist/core/npc/types/simulation.d.cts +33 -0
- package/dist/core/npc/types/simulation.d.ts +33 -0
- package/dist/core/perf/PerformanceCollector.d.cts +1 -1
- package/dist/core/perf/PerformanceCollector.d.ts +1 -1
- package/dist/core/perf/index.d.cts +2 -0
- package/dist/core/perf/index.d.ts +2 -0
- package/dist/core/perf/rendererStats.d.cts +36 -0
- package/dist/core/perf/rendererStats.d.ts +36 -0
- package/dist/core/plugins/ExtensionRegistry.d.cts +3 -0
- package/dist/core/plugins/ExtensionRegistry.d.ts +3 -0
- package/dist/core/plugins/storeDomainPlugin.d.cts +5 -4
- package/dist/core/plugins/storeDomainPlugin.d.ts +5 -4
- package/dist/core/plugins/types.d.cts +2 -0
- package/dist/core/plugins/types.d.ts +2 -0
- package/dist/core/quests/components/QuestLogUI/helpers.d.cts +2 -1
- package/dist/core/quests/components/QuestLogUI/helpers.d.ts +2 -1
- package/dist/core/quests/index.d.cts +2 -1
- package/dist/core/quests/index.d.ts +2 -1
- package/dist/core/quests/plugin.d.cts +3 -2
- package/dist/core/quests/plugin.d.ts +3 -2
- package/dist/core/quests/stores/questStore.d.cts +19 -1
- package/dist/core/quests/stores/questStore.d.ts +19 -1
- package/dist/core/quests/stores/tracker.d.cts +42 -0
- package/dist/core/quests/stores/tracker.d.ts +42 -0
- package/dist/core/relations/index.d.cts +2 -1
- package/dist/core/relations/index.d.ts +2 -1
- package/dist/core/relations/plugin.d.cts +3 -2
- package/dist/core/relations/plugin.d.ts +3 -2
- package/dist/core/relations/stores/friendshipStore.d.cts +9 -1
- package/dist/core/relations/stores/friendshipStore.d.ts +9 -1
- package/dist/core/rendering/GpuBatchBridge.d.cts +9 -0
- package/dist/core/rendering/GpuBatchBridge.d.ts +9 -0
- package/dist/core/rendering/gpuInstanceBatch.d.cts +12 -0
- package/dist/core/rendering/gpuInstanceBatch.d.ts +12 -0
- package/dist/core/rendering/gpuMaterialSync.d.cts +4 -0
- package/dist/core/rendering/gpuMaterialSync.d.ts +4 -0
- package/dist/core/rendering/postprocess/WorldPostProcessing.d.cts +8 -0
- package/dist/core/rendering/postprocess/WorldPostProcessing.d.ts +8 -0
- package/dist/core/rendering/renderHistory.d.cts +4 -0
- package/dist/core/rendering/renderHistory.d.ts +4 -0
- package/dist/core/rendering/tsl/weather.d.cts +9 -1
- package/dist/core/rendering/tsl/weather.d.ts +9 -1
- package/dist/core/runtime/context.d.cts +5 -5
- package/dist/core/runtime/context.d.ts +5 -5
- package/dist/core/runtime/createGaesupRuntime.d.cts +1 -1
- package/dist/core/runtime/createGaesupRuntime.d.ts +1 -1
- package/dist/core/runtime/index.d.cts +4 -0
- package/dist/core/runtime/index.d.ts +4 -0
- package/dist/core/runtime/runtimeContext.d.cts +7 -0
- package/dist/core/runtime/runtimeContext.d.ts +7 -0
- package/dist/core/runtime/types.d.cts +113 -1
- package/dist/core/runtime/types.d.ts +113 -1
- package/dist/core/save/adapters/NamespacedSaveAdapter.d.cts +11 -0
- package/dist/core/save/adapters/NamespacedSaveAdapter.d.ts +11 -0
- package/dist/core/save/core/SaveSystem.d.cts +17 -2
- package/dist/core/save/core/SaveSystem.d.ts +17 -2
- package/dist/core/save/core/saveHookCoordinator.d.cts +9 -0
- package/dist/core/save/core/saveHookCoordinator.d.ts +9 -0
- package/dist/core/save/hooks/useAutoSave.d.cts +3 -0
- package/dist/core/save/hooks/useAutoSave.d.ts +3 -0
- package/dist/core/save/index.d.cts +1 -0
- package/dist/core/save/index.d.ts +1 -0
- package/dist/core/save/types.d.cts +9 -0
- package/dist/core/save/types.d.ts +9 -0
- package/dist/core/scene/index.d.cts +4 -2
- package/dist/core/scene/index.d.ts +4 -2
- package/dist/core/scene/plugin.d.cts +3 -2
- package/dist/core/scene/plugin.d.ts +3 -2
- package/dist/core/scene/stores/roomVisibilityStore.d.cts +9 -1
- package/dist/core/scene/stores/roomVisibilityStore.d.ts +9 -1
- package/dist/core/scene/stores/sceneStore.d.cts +20 -5
- package/dist/core/scene/stores/sceneStore.d.ts +20 -5
- package/dist/core/scene-object/types.d.cts +8 -3
- package/dist/core/scene-object/types.d.ts +8 -3
- package/dist/core/simulation/AnimationClockLoop.d.cts +27 -0
- package/dist/core/simulation/AnimationClockLoop.d.ts +27 -0
- package/dist/core/simulation/FixedStepClock.d.cts +44 -0
- package/dist/core/simulation/FixedStepClock.d.ts +44 -0
- package/dist/core/simulation/PhysicsPresentation.d.cts +11 -0
- package/dist/core/simulation/PhysicsPresentation.d.ts +11 -0
- package/dist/core/simulation/physicsContext.d.cts +17 -0
- package/dist/core/simulation/physicsContext.d.ts +17 -0
- package/dist/core/stores/gaesupStore.d.cts +94 -1
- package/dist/core/stores/gaesupStore.d.ts +94 -1
- package/dist/core/stores/index.d.cts +1 -1
- package/dist/core/stores/index.d.ts +1 -1
- package/dist/core/stores/scopedStore.d.cts +12 -0
- package/dist/core/stores/scopedStore.d.ts +12 -0
- package/dist/core/stores/sharedObserver.d.cts +11 -0
- package/dist/core/stores/sharedObserver.d.ts +11 -0
- package/dist/core/stores/slices/performance/types.d.cts +4 -0
- package/dist/core/stores/slices/performance/types.d.ts +4 -0
- package/dist/core/time/core/timeClock.d.cts +9 -0
- package/dist/core/time/core/timeClock.d.ts +9 -0
- package/dist/core/time/index.d.cts +3 -1
- package/dist/core/time/index.d.ts +3 -1
- package/dist/core/time/stores/timeStore.d.cts +14 -2
- package/dist/core/time/stores/timeStore.d.ts +14 -2
- package/dist/core/tools/components/ToolUseController/index.d.cts +1 -1
- package/dist/core/tools/components/ToolUseController/index.d.ts +1 -1
- package/dist/core/tools/core/ToolEvents.d.cts +6 -0
- package/dist/core/tools/core/ToolEvents.d.ts +6 -0
- package/dist/core/tools/hooks/useToolUse.d.cts +1 -0
- package/dist/core/tools/hooks/useToolUse.d.ts +1 -0
- package/dist/core/tools/index.d.cts +2 -2
- package/dist/core/tools/index.d.ts +2 -2
- package/dist/core/town/index.d.cts +2 -1
- package/dist/core/town/index.d.ts +2 -1
- package/dist/core/town/plugin.d.cts +3 -2
- package/dist/core/town/plugin.d.ts +3 -2
- package/dist/core/town/stores/townStore.d.cts +9 -1
- package/dist/core/town/stores/townStore.d.ts +9 -1
- package/dist/core/weather/components/WeatherEffect/NodeWeather.d.cts +1 -1
- package/dist/core/weather/components/WeatherEffect/NodeWeather.d.ts +1 -1
- package/dist/core/weather/components/WeatherEffect/types.d.cts +2 -1
- package/dist/core/weather/components/WeatherEffect/types.d.ts +2 -1
- package/dist/core/weather/index.d.cts +2 -1
- package/dist/core/weather/index.d.ts +2 -1
- package/dist/core/weather/plugin.d.cts +3 -2
- package/dist/core/weather/plugin.d.ts +3 -2
- package/dist/core/weather/stores/ticker.d.cts +15 -0
- package/dist/core/weather/stores/ticker.d.ts +15 -0
- package/dist/core/weather/stores/weatherStore.d.cts +9 -1
- package/dist/core/weather/stores/weatherStore.d.ts +9 -1
- package/dist/core/world/bridge/WorldBridge.d.cts +7 -0
- package/dist/core/world/bridge/WorldBridge.d.ts +7 -0
- package/dist/core/world/bridge/types.d.cts +3 -1
- package/dist/core/world/bridge/types.d.ts +3 -1
- package/dist/core/world/components/WorldContainer/index.d.cts +5 -2
- package/dist/core/world/components/WorldContainer/index.d.ts +5 -2
- package/dist/core/world/components/WorldPhysics/index.d.cts +5 -0
- package/dist/core/world/components/WorldPhysics/index.d.ts +5 -0
- package/dist/core/world/components/index.d.cts +1 -0
- package/dist/core/world/components/index.d.ts +1 -0
- package/dist/core/world/core/BoundsIndex.d.cts +16 -0
- package/dist/core/world/core/BoundsIndex.d.ts +16 -0
- package/dist/core/world/core/WorldSystem.d.cts +10 -2
- package/dist/core/world/core/WorldSystem.d.ts +10 -2
- package/dist/core/world/core/WorldViews.d.cts +22 -0
- package/dist/core/world/core/WorldViews.d.ts +22 -0
- package/dist/core/world/core/index.d.cts +1 -0
- package/dist/core/world/core/index.d.ts +1 -0
- package/dist/core/world/stores/index.d.cts +1 -0
- package/dist/core/world/stores/index.d.ts +1 -0
- package/dist/core/world/stores/slices.d.cts +12 -2
- package/dist/core/world/stores/slices.d.ts +12 -2
- package/dist/core/world/stores/types.d.cts +5 -1
- package/dist/core/world/stores/types.d.ts +5 -1
- package/dist/core/world/stores/worldObjectStore.d.cts +6 -0
- package/dist/core/world/stores/worldObjectStore.d.ts +6 -0
- package/dist/{defaults-A0QhsGCP.js → defaults-Bnku3vHu.js} +16 -5
- package/dist/defaults-fT7eq40t.cjs +1 -0
- package/dist/editor.cjs +1 -1
- package/dist/editor.js +6 -5
- package/dist/engine-Bz2Ir3sg.js +571 -0
- package/dist/engine-CRhAQR61.cjs +1 -0
- package/dist/gaesupStore-B4oZNsgJ.cjs +1 -0
- package/dist/{gaesupStore-DdvOPpkq.js → gaesupStore-DgGr6MLu.js} +420 -339
- package/dist/gameplay.cjs +1 -1
- package/dist/gameplay.js +3 -2
- package/dist/gltf/props/LICENSE.txt +70 -0
- package/dist/grass-C0LJgsKx.js +115 -0
- package/dist/grass-CpCzVE_9.cjs +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.css +1 -1
- package/dist/index.d.cts +4 -3
- package/dist/index.d.ts +4 -3
- package/dist/index.js +36 -34
- package/dist/logger-CyxWgpu9.js +41 -0
- package/dist/logger-oG1BcWAh.cjs +1 -0
- package/dist/navigation.cjs +1 -1
- package/dist/navigation.js +3 -3
- package/dist/network.cjs +1 -1
- package/dist/network.js +4 -3
- package/dist/next.cjs +1 -1
- package/dist/next.js +20 -8
- package/dist/plugins.cjs +1 -1
- package/dist/plugins.js +3 -3
- package/dist/postprocessing.cjs +1 -1
- package/dist/postprocessing.d.cts +2 -0
- package/dist/postprocessing.d.ts +2 -0
- package/dist/postprocessing.js +3 -2
- package/dist/questStore-BuqVx2D4.cjs +1 -0
- package/dist/questStore-BuvCEns1.js +645 -0
- package/dist/{rbac-CosvShV_.cjs → rbac-B7eyJj5s.cjs} +1 -1
- package/dist/{rbac-B-L4ZPhp.js → rbac-EP16PXmi.js} +1 -1
- package/dist/runtime.cjs +1 -1
- package/dist/runtime.js +8 -6
- package/dist/runtimeContext-IAbUva69.js +14 -0
- package/dist/runtimeContext-zx_GnKx4.cjs +1 -0
- package/dist/runtimeFilter-Tg07rCsI.cjs +1 -0
- package/dist/{runtimeFilter-Dq3LL8D9.js → runtimeFilter-xCCes7Kd.js} +30 -8
- package/dist/scopedStore-DdhwQl7H.cjs +1 -0
- package/dist/scopedStore-uFj1ySd7.js +15 -0
- package/dist/server-contracts.cjs +1 -1
- package/dist/server-contracts.js +6 -5
- package/dist/{shell-BKJedeKx.js → shell-BUYr7iJG.js} +3393 -3787
- package/dist/shell-wGfKuA7A.cjs +7 -0
- package/dist/src-BGIj3W5V.cjs +4 -0
- package/dist/{src-De-KPZ14.js → src-CYryOdoe.js} +5943 -8026
- package/dist/storeDomainPlugin-BgYO86t-.cjs +1 -0
- package/dist/{storeDomainPlugin-CLi8xAxt.js → storeDomainPlugin-DPwCP4jV.js} +6 -9
- package/dist/templates-CaejFUFN.cjs +1 -0
- package/dist/templates-D4ZXaI70.js +295 -0
- package/dist/timeStore-DQLZbeCQ.js +144 -0
- package/dist/timeStore-DVZ7qYlp.cjs +1 -0
- package/dist/useClicker-ivN8hpvn.cjs +1 -0
- package/dist/useClicker-rYjOZy-Y.js +4986 -0
- package/dist/useGenericRefs-BUmjSgZV.js +1029 -0
- package/dist/useGenericRefs-DOd0aykd.cjs +1 -0
- package/dist/{NavigationSystem-BtZ2fmhh.js → useNavigation-BFUVZWvq.js} +208 -78
- package/dist/useNavigation-DWPrIrGw.cjs +1 -0
- package/dist/{validation-C4A3gZQZ.js → validation-BjeQmyza.js} +1 -1
- package/dist/{validation-B0ggxeU_.cjs → validation-Dfal1Ejd.cjs} +1 -1
- package/docs/physics-grounding.md +55 -0
- package/docs/release-1.0.32.md +27 -0
- package/docs/world-physics-clock.md +26 -0
- package/package.json +33 -9
- package/dist/AbstractSystem-BKKR49fl.cjs +0 -1
- package/dist/BlueprintFactory-BUpSUAvE.cjs +0 -1
- package/dist/BugSpot-BfV7m9RN.cjs +0 -1
- package/dist/BugSpot-DNBGvaBW.js +0 -2203
- package/dist/ControllerWrapper-DmmB3Ioo.cjs +0 -1
- package/dist/ControllerWrapper-RHketAWl.js +0 -505
- package/dist/GrassDriver-B3lszGeW.js +0 -10337
- package/dist/GrassDriver-Bv5VEvEv.cjs +0 -715
- package/dist/NavigationObstacleRegistry-DztguRlq.cjs +0 -1
- package/dist/NavigationSystem-COtggxNz.cjs +0 -1
- package/dist/NodeWeather-CgF4Xjos.js +0 -36
- package/dist/NodeWeather-Db_jjTUl.cjs +0 -1
- package/dist/SaveSystem-BLTyWmxW.js +0 -212
- package/dist/SaveSystem-cTA9wgil.cjs +0 -1
- package/dist/WorldProps-BRnbz6vX.js +0 -252
- package/dist/WorldProps-BnqAVOrB.cjs +0 -1
- package/dist/blueprints-DWFTiKcc.cjs +0 -1
- package/dist/defaults-riBUp1-U.cjs +0 -1
- package/dist/eventsStore-BVC6c2FN.js +0 -97
- package/dist/eventsStore-Ck-zqbol.cjs +0 -1
- package/dist/gaesupStore-C-xzopEu.cjs +0 -1
- package/dist/outline-BHsyXcZc.cjs +0 -1
- package/dist/outline-BOVaQgt3.js +0 -253
- package/dist/questStore-BJofZtnA.js +0 -432
- package/dist/questStore-Bb_aILVe.cjs +0 -1
- package/dist/runtimeFilter-BhIYHUfa.cjs +0 -1
- package/dist/shell-DSel_Ke6.cjs +0 -7
- package/dist/src-lDgQEd-k.cjs +0 -4
- package/dist/storeDomainPlugin-oBMSViga.cjs +0 -1
- package/dist/templates-DJkyPpg6.js +0 -605
- package/dist/templates-LQQPU3cP.cjs +0 -1
- package/dist/timeStore-CE_1aduR.js +0 -131
- package/dist/timeStore-CQ1qlZf8.cjs +0 -1
- package/dist/toastStore-BPHWg9aC.js +0 -196
- package/dist/toastStore-B_E7BKMG.cjs +0 -1
- package/dist/useClicker-BvqzSPt6.js +0 -4395
- package/dist/useClicker-DZyjp6Lq.cjs +0 -1
- package/dist/useGenericRefs-BRc3ni6M.cjs +0 -1
- package/dist/useGenericRefs-CEwFnKRF.js +0 -719
- package/dist/weatherStore-DGXibMCV.js +0 -97
- package/dist/weatherStore-Dl1RgjjU.cjs +0 -1
- package/docs/2026-09-19-web-studio-plan.en.md +0 -91
- package/docs/2026-09-19-web-studio-plan.md +0 -154
- package/docs/minihome.en.md +0 -25
- package/docs/minihome.md +0 -25
- package/docs/release-1.0.31.md +0 -27
- package/docs/unity.en.md +0 -39
package/README.ko.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
TypeScript 월드 라이브러리와 싸이월드에서 영감을 받은 미니홈피 예제를 제공합니다. 3D 방, 걸어 다니는 아바타, 가구 편집, 프로필, 다이어리, 방명록이 있습니다. 현재 브라우저에 저장하며 공유 링크는 방의 사본을 전달합니다. 실시간 멀티플레이 서비스는 아닙니다.
|
|
8
8
|
|
|
9
|
-
이번 버전은 `1.0.
|
|
9
|
+
이번 버전은 `1.0.32`입니다. 게시 여부는 npm registry에서 확인하세요.
|
|
10
10
|
|
|
11
11
|
## 실행하기
|
|
12
12
|
|
|
@@ -75,4 +75,4 @@ npm은 검증과 `npm login` 인증 후, 검토한 tarball을 별도 태그 없
|
|
|
75
75
|
- shear는 world matrix에 보존합니다. TRS로 표현 불가능하면 `getWorldTransform`이 오류를 내므로 `getWorldMatrix`를 사용하세요.
|
|
76
76
|
- Unity Editor 컴파일과 실제 왕복은 Unity 설치 환경에서 따로 검증해야 합니다.
|
|
77
77
|
|
|
78
|
-
[실행계획](docs/2026-09-19-web-studio-plan.md) · [릴리스 노트](docs/release-1.0.
|
|
78
|
+
[실행계획](docs/2026-09-19-web-studio-plan.md) · [릴리스 노트](docs/release-1.0.32.md)
|
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ Build a playable 3D room in your browser. Use scene data in React and exchange l
|
|
|
6
6
|
|
|
7
7
|
This repository contains a TypeScript world library and a Cyworld-inspired mini-home: a 3D room, walking avatar, furniture, profile, diary and guestbook. It saves in your browser. Shared links contain a snapshot; they are not a multiplayer service.
|
|
8
8
|
|
|
9
|
-
This release is `1.0.
|
|
9
|
+
This release is `1.0.32`. Check the npm registry for publication status.
|
|
10
10
|
|
|
11
11
|
## Run the mini-home
|
|
12
12
|
|
|
@@ -75,4 +75,4 @@ For npm, validate, authenticate with `npm login`, pack the reviewed build and ru
|
|
|
75
75
|
- World matrices preserve shear. `getWorldTransform` throws for shear or singular bases; use `getWorldMatrix` when TRS cannot represent the result.
|
|
76
76
|
- Unity compilation and real Editor round-trip require a Unity installation. TypeScript tests alone do not prove them.
|
|
77
77
|
|
|
78
|
-
[Implementation plan](docs/2026-09-19-web-studio-plan.en.md) · [Release notes](docs/release-1.0.
|
|
78
|
+
[Implementation plan](docs/2026-09-19-web-studio-plan.en.md) · [Release notes](docs/release-1.0.32.md)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./logger-oG1BcWAh.cjs");var t=!0,n=new class{constructor(){this.systems=new Map}safeDispose(e){if(e)try{e.dispose()}catch{}}register(e,n){let r=this.systems.get(e);r!==n&&(r&&t&&console.warn(`System with type "${e}" is already registered. Overwriting.`),this.systems.set(e,n))}get(e){return this.systems.get(e)}getAll(){return this.systems}unregister(e){if(!this.systems.has(e))return;let t=this.systems.get(e);this.safeDispose(t),this.systems.delete(e)}clear(){this.systems.forEach(e=>this.safeDispose(e)),this.systems.clear()}};function r(t){return function(n,r,i){let a=i.value;return i.value=function(...n){try{return a.apply(this,n)}catch(n){let i=n instanceof Error?n:String(n);return e.t.error(`[${this.constructor.name}] Error in ${r}:`,i),t}},i}}function i(t){return function(r){let i=new Proxy(r,{construct(i,a,o){let s=Reflect.construct(i,a,o);return n.register(t,s),e.t.info(`[${r.name}] Registered as ${t} system`),s}});return Object.defineProperty(i,"name",{value:r.name}),i}}function a(t={}){return function(n){let r=new WeakMap,i=new Proxy(n,{construct(i,a,o){let s=Reflect.construct(i,a,o),c={animationFrameId:null,lastTime:0,totalTime:0,frameCount:0};r.set(s,c);let l=()=>{c.animationFrameId!==null&&(cancelAnimationFrame(c.animationFrameId),c.animationFrameId=null,e.t.info(`[${n.name}] Runtime stopped`))},u=()=>{let t=e=>{c.lastTime===0&&(c.lastTime=e);let n=e-c.lastTime;c.lastTime=e,c.totalTime+=n,c.frameCount++;let r={deltaTime:n,totalTime:c.totalTime,frameCount:c.frameCount};s.update&&typeof s.update==`function`&&s.update(r),c.animationFrameId=requestAnimationFrame(t)};c.animationFrameId=requestAnimationFrame(t),e.t.info(`[${n.name}] Runtime started`)},d=s.dispose?.bind(s);return Object.defineProperty(s,"dispose",{configurable:!0,writable:!0,value:()=>{l(),d?.()}}),t.autoStart&&u(),s}});return Object.defineProperty(i,"name",{value:n.name}),i}}var o=(e,t,n)=>n;function s(e){return o}function c(e=100){return o}function l(t){return function(n,r,i){let a=i.value;return i.value=async function(...n){let i=new Promise((e,n)=>{setTimeout(()=>n(Error(`${r} timed out after ${t}ms`)),t)});try{return await Promise.race([a.apply(this,n),i])}catch(t){throw e.t.error(`[${this.constructor.name}] ${r} timeout:`,t instanceof Error?t:String(t)),t}},i}}function u(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}var d=class{constructor(e,t,n){this.capabilities={hasAsync:!0,hasMetrics:!0,hasState:!0,hasEvents:!1},this._isDisposed=!1,this._updateCount=0,this.options={...n},this.stateInitializer=e,this.metricsInitializer=t,this.state=this.createInitialState(e,this.options.initialState),this.metrics=this.createInitialMetrics(t,this.options.initialMetrics)}createInitialState(e,t){return{...typeof e==`function`?e(t):{...e,...t},lastUpdate:0}}createInitialMetrics(e,t){return{...typeof e==`function`?e(t):{...e,...t},frameTime:0}}async init(){}async start(){}pause(){}resume(){}update(e){let t=this.createUpdateArgs(e);this.performUpdateWithArgs(t)}createDefaultUpdateArgs(e){return e}performUpdateWithArgs(e){if(this._isDisposed)throw Error(`Cannot update disposed system`);let t=performance.now();this._updateCount++,this.state.lastUpdate=Date.now(),this.beforeUpdate(e),this.performUpdate(e);let n=performance.now();this.metrics.frameTime=n-t,this.updateMetrics(e.deltaTime),this.afterUpdate(e)}beforeUpdate(e){}afterUpdate(e){}updateMetrics(e){}getState(){return this.state}getMetrics(){return this.metrics}get isDisposed(){return this._isDisposed}get updateCount(){return this._updateCount}reset(){let e=typeof this.stateInitializer==`function`?this.stateInitializer:this.state,t=typeof this.metricsInitializer==`function`?this.metricsInitializer:this.metrics,n=this.createInitialState(e,this.options.initialState),r=this.createInitialMetrics(t,this.options.initialMetrics);this.state=n,this.metrics=r,this._updateCount=0,this.onReset()}onReset(){}dispose(){this._isDisposed||=(this.onDispose(),!0)}onDispose(){}};u([r()],d.prototype,`init`,null),u([r()],d.prototype,`start`,null),u([s()],d.prototype,`update`,null),u([s()],d.prototype,`performUpdateWithArgs`,null),u([r()],d.prototype,`reset`,null),u([r()],d.prototype,`dispose`,null),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return d}});
|
|
@@ -1,42 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
5
|
-
static getInstance() {
|
|
6
|
-
return e.instance ||= new e(), e.instance;
|
|
7
|
-
}
|
|
8
|
-
enable() {
|
|
9
|
-
this.enabled = !0;
|
|
10
|
-
}
|
|
11
|
-
disable() {
|
|
12
|
-
this.enabled = !1;
|
|
13
|
-
}
|
|
14
|
-
setLevel(e) {
|
|
15
|
-
this.level = e;
|
|
16
|
-
}
|
|
17
|
-
shouldLog(e) {
|
|
18
|
-
if (!this.enabled) return !1;
|
|
19
|
-
let t = {
|
|
20
|
-
error: 0,
|
|
21
|
-
warn: 1,
|
|
22
|
-
info: 2,
|
|
23
|
-
log: 3
|
|
24
|
-
};
|
|
25
|
-
return t[e] <= t[this.level];
|
|
26
|
-
}
|
|
27
|
-
log(e, ...t) {
|
|
28
|
-
this.shouldLog("log") && console.log(`[LOG] ${e}`, ...t);
|
|
29
|
-
}
|
|
30
|
-
info(e, ...t) {
|
|
31
|
-
this.shouldLog("info") && console.info(`[INFO] ${e}`, ...t);
|
|
32
|
-
}
|
|
33
|
-
warn(e, ...t) {
|
|
34
|
-
this.shouldLog("warn") && console.warn(`[WARN] ${e}`, ...t);
|
|
35
|
-
}
|
|
36
|
-
error(e, ...t) {
|
|
37
|
-
this.shouldLog("error") && console.error(`[ERROR] ${e}`, ...t);
|
|
38
|
-
}
|
|
39
|
-
}.getInstance(), t = !0, n = new class {
|
|
1
|
+
import { t as e } from "./logger-CyxWgpu9.js";
|
|
2
|
+
//#region src/core/boilerplate/entity/SystemRegistry.ts
|
|
3
|
+
var t = !0, n = new class {
|
|
40
4
|
constructor() {
|
|
41
5
|
this.systems = /* @__PURE__ */ new Map();
|
|
42
6
|
}
|
|
@@ -231,4 +195,4 @@ var d = class {
|
|
|
231
195
|
};
|
|
232
196
|
u([r()], d.prototype, "init", null), u([r()], d.prototype, "start", null), u([s()], d.prototype, "update", null), u([s()], d.prototype, "performUpdateWithArgs", null), u([r()], d.prototype, "reset", null), u([r()], d.prototype, "dispose", null);
|
|
233
197
|
//#endregion
|
|
234
|
-
export { l as a, i as c, s as i,
|
|
198
|
+
export { l as a, i as c, s as i, u as n, r as o, c as r, a as s, d as t };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./rolldown-runtime-BocRIvOZ.cjs"),t=require("./AbstractSystem-
|
|
1
|
+
const e=require("./rolldown-runtime-BocRIvOZ.cjs"),t=require("./AbstractSystem-8EPBzsjD.cjs");let n=require("three");n=e.t(n,1);var r=class extends t.t{constructor(e=`default`){super({currentAnimation:`idle`,animationMixer:null,actions:new Map,isPlaying:!1,currentWeight:1,blendDuration:.3,lastUpdate:Date.now()},{activeAnimations:0,totalActions:0,currentWeight:1,mixerTime:0,lastUpdate:0,blendProgress:0,frameTime:0}),this.animationNames=null,this.callbacks=new Set,this.systemType=e}getSystemType(){return this.systemType}subscribe(e){return this.callbacks.add(e),()=>this.callbacks.delete(e)}notifyCallbacks(){this.callbacks.forEach(e=>e(this.getMetrics()))}initializeMixer(e){this.state.animationMixer=new n.AnimationMixer(e)}addAnimation(e,t){if(!this.state.animationMixer)return;let n=this.state.animationMixer.clipAction(t);this.registerAction(e,n)}registerAction(e,t){let n=this.state.actions.get(e);n&&n!==t&&n.stop(),n||(this.animationNames=null),this.state.actions.set(e,t),this.updateMetrics(0),this.notifyCallbacks()}unregisterAction(e,t){this.state.actions.get(e)===t&&(t.stop(),this.state.actions.delete(e),this.animationNames=null,this.state.currentAnimation===e&&(this.state.currentAnimation=`idle`),this.updateMetrics(0),this.state.isPlaying=this.metrics.activeAnimations>0,this.notifyCallbacks())}playAnimation(e,t=this.state.blendDuration){let n=this.state.actions.get(e);if(!n)return;let r=this.state.actions.get(this.state.currentAnimation);r&&r!==n&&r.fadeOut(t),n.reset().fadeIn(t).play(),this.state.currentAnimation=e,this.state.isPlaying=!0,this.updateMetrics(0),this.notifyCallbacks()}stopAnimation(){this.state.actions.forEach(e=>e.stop()),this.state.isPlaying=!1,this.state.currentAnimation=`idle`,this.updateMetrics(0),this.notifyCallbacks()}setWeight(e){let t=this.state.actions.get(this.state.currentAnimation);t&&(t.weight=e,this.state.currentWeight=e,this.updateMetrics(0),this.notifyCallbacks())}setTimeScale(e){let t=this.state.actions.get(this.state.currentAnimation);t&&(t.timeScale=e,this.notifyCallbacks())}performUpdate(e){this.state.animationMixer&&(this.state.animationMixer.update(e.deltaTime/1e3),this.metrics.mixerTime+=e.deltaTime/1e3)}createUpdateArgs(e){return e}updateAnimation(e){let t={deltaTime:e*1e3,totalTime:0,frameCount:0};super.update(t),this.state.isPlaying=this.metrics.activeAnimations>0,this.callbacks.size>0&&this.notifyCallbacks()}getCurrentAnimation(){return this.state.currentAnimation}getAnimationList(){return this.animationNames??=Array.from(this.state.actions.keys()),this.animationNames}getMetrics(){return this.metrics}getState(){return this.state}updateMetrics(e){this.metrics.frameTime=e;let t=0;for(let e of this.state.actions.values())e.isRunning()&&t++;this.metrics.activeAnimations=t,this.metrics.totalActions=this.state.actions.size,this.metrics.currentWeight=this.state.currentWeight,this.metrics.lastUpdate=Date.now()}clearActions(){this.animationNames=null,this.state.actions.forEach(e=>{e.isRunning()&&e.stop()}),this.state.actions.clear(),this.state.currentAnimation=`idle`,this.state.isPlaying=!1,this.updateMetrics(0),this.notifyCallbacks()}onDispose(){this.animationNames=null,this.state.animationMixer&&(this.state.animationMixer.stopAllAction(),this.state.animationMixer=null),this.state.actions.clear(),this.callbacks.clear()}};r=t.n([t.s({autoStart:!1})],r),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return r}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./rolldown-runtime-BocRIvOZ.cjs"),t=require("./logger-oG1BcWAh.cjs");let n=require("three");n=e.t(n,1);var r={id:`char_mage_fire`,name:`화염 마법사`,type:`character`,version:`1.0.0`,tags:[`magic`,`ranged`,`fire`],description:`강력한 화염 마법을 사용하는 마법사입니다.`,physics:{mass:60,height:1.75,radius:.25,jumpForce:300,moveSpeed:4,runSpeed:8,airControl:.3},animations:{idle:`mage_idle.glb`,walk:`mage_walk.glb`,run:`mage_run.glb`,jump:{start:`mage_jump_start.glb`,loop:`mage_jump_loop.glb`,land:`mage_jump_land.glb`},combat:{cast_fireball:`cast_fireball.glb`,cast_meteor:`cast_meteor.glb`,cast_firewall:`cast_firewall.glb`,channel:`channel_spell.glb`},special:{meditate:`meditate.glb`,teleport:`teleport.glb`}},behaviors:{type:`state-machine`,data:{initial:`idle`,states:{idle:{on:{MOVE:`moving`,CAST:`casting`,MEDITATE:`meditating`}},moving:{on:{STOP:`idle`,CAST:`casting`}},casting:{on:{FINISH:`idle`,INTERRUPT:`idle`}},meditating:{on:{FINISH:`idle`,INTERRUPT:`idle`}}}}},stats:{health:70,stamina:30,mana:100,strength:5,defense:8,speed:12},visuals:{model:`mage_model.glb`,textures:[`mage_diffuse.png`,`mage_normal.png`,`mage_emissive.png`],scale:1}},i={id:`char_warrior_basic`,name:`기본 전사`,type:`character`,version:`1.0.0`,tags:[`melee`,`tank`,`starter`],description:`검과 방패를 사용하는 기본 전사입니다.`,physics:{mass:80,height:1.8,radius:.3,jumpForce:350,moveSpeed:5,runSpeed:10,airControl:.2},animations:{idle:`idle`,walk:`walk`,run:`run`,jump:{start:`jump`,loop:`jumpIdle`,land:`land`},combat:{attack_light:[`attack_1.glb`,`attack_2.glb`,`attack_3.glb`],attack_heavy:`attack_heavy.glb`,block:`block.glb`,parry:`parry.glb`}},behaviors:{type:`state-machine`,data:{initial:`idle`,states:{idle:{on:{MOVE:`moving`,ATTACK:`combat`}},moving:{on:{STOP:`idle`,ATTACK:`combat`}},combat:{on:{FINISH:`idle`}}}}},stats:{health:100,stamina:50,strength:15,defense:12,speed:10},visuals:{parts:[{id:`warrior-body`,type:`body`,url:`gltf/ally_body.glb`},{id:`warrior-cloth`,type:`top`,url:`gltf/ally_cloth_rabbit.glb`}],scale:1},camera:{mode:`thirdPerson`,distance:{x:15,y:8,z:15},fov:50,smoothing:{position:.1,rotation:.1,fov:.1},enableCollision:!0,enableZoom:!0,zoomSpeed:.001,minZoom:.5,maxZoom:2},controls:{enableKeyboard:!0,enableMouse:!0,enableGamepad:!1,clickToMove:!0}},a={id:`vehicle_kart_basic`,name:`기본 카트`,type:`vehicle`,version:`1.0.0`,tags:[`land`,`fast`,`small`],description:`작고 민첩한 경주용 카트입니다.`,physics:{mass:150,maxSpeed:30,acceleration:15,braking:20,turning:2.5,suspension:{stiffness:30,damping:3,restLength:.3,maxTravel:.2}},seats:[{position:[0,.5,0],isDriver:!0}],animations:{idle:`kart_idle.glb`,moving:`kart_moving.glb`,wheels:[`wheel_fl.glb`,`wheel_fr.glb`,`wheel_bl.glb`,`wheel_br.glb`]}},o=class e{constructor(){this.blueprints=new Map,this.registerDefaults()}static getInstance(){return e.instance||=new e,e.instance}registerDefaults(){this.register(i),this.register(r),this.register(a)}register(e){this.blueprints.set(e.id,e)}get(e){return this.blueprints.get(e)}getByType(e){let t=[];return this.blueprints.forEach(n=>{n.type===e&&t.push(n)}),t}getAll(){return Array.from(this.blueprints.values())}has(e){return this.blueprints.has(e)}remove(e){return this.blueprints.delete(e)}clear(){this.blueprints.clear()}}.getInstance(),s=class e{constructor(){this.factories=new Map}static{this.instance=null}static getInstance(){return e.instance||=new e,e.instance}register(e,t){this.factories.set(e,t)}create(e){let t=this.factories.get(e.type);if(!t)return console.warn(`Component factory not found for type: ${e.type}`),null;let n=t(e.properties);return n.enabled=e.enabled,n}getFactory(e){return this.factories.get(e)}getAllTypes(){return Array.from(this.factories.keys())}clear(){this.factories.clear()}},c=class{constructor(e){this.enabled=!0,this.context=null,this.type=e}initialize(e){this.context=e,this.onInitialize()}update(e){this.enabled&&(this.context=e,this.onUpdate(e))}dispose(){this.onDispose(),this.context=null}},l=class{constructor(e,t,n,r,i){this.components=[],this.id=e.id,this.blueprint=e,this.context={rigidBodyRef:t,deltaTime:0,entityId:e.id,...n?{innerGroupRef:n}:{},...r?{outerGroupRef:r}:{},...i?{animationClips:i}:{}};try{this.createComponents()}catch(e){try{this.dispose()}catch{}throw e}}createComponents(){let e=s.getInstance();for(let t of this.blueprint.components){let n=e.create(t);n&&this.addComponent(n)}}update(e,t){this.context.deltaTime=e,this.context.movementInput=t;for(let e of this.components)e.enabled&&e.update(this.context)}getComponent(e){return this.components.find(t=>t.type===e)}getComponents(e){return this.components.filter(t=>t.type===e)}addComponent(e){try{e.initialize(this.context)}catch(t){try{e.dispose()}catch{}throw t}this.components.push(e)}removeComponent(e){let t=this.components.findIndex(t=>t.type===e);if(t!==-1){let e=this.components[t];this.components.splice(t,1),e&&e.dispose()}}dispose(){let e=this.components;this.components=[];let t=[];for(let n of e)try{n.dispose()}catch(e){t.push(e)}if(t.length)throw AggregateError(t,`Blueprint component disposal failed`)}getId(){return this.id}getBlueprint(){return this.blueprint}},u=class extends c{constructor(e={}){super(`GravityForce`),this.gravity=e.gravity??-9.81,this.maxFallSpeed=e.maxFallSpeed??50,this.force=new n.Vector3,this.enabled=e.enabled??!0}onInitialize(){this.force.set(0,this.gravity,0)}onUpdate(e){e.rigidBodyRef.current&&this.applyForce(e.rigidBodyRef.current,e.deltaTime)}onDispose(){this.force.set(0,0,0)}getForce(){return this.force.clone()}applyForce(e,t){if(e.linvel().y>-this.maxFallSpeed){let n=this.gravity*t*60;e.applyImpulse({x:0,y:n,z:0},!0)}}setGravity(e){this.gravity=e,this.force.y=e}getGravity(){return this.gravity}},d=(e,t)=>typeof e==`number`?e:t,f=(e,t)=>typeof e==`string`?e:t,p=(e,t)=>typeof e==`string`||Array.isArray(e)&&e.every(e=>typeof e==`string`)?e:t,m=e=>typeof e==`object`&&!!e&&!Array.isArray(e),h=e=>({...typeof e.gravity==`number`?{gravity:e.gravity}:{},...typeof e.maxFallSpeed==`number`?{maxFallSpeed:e.maxFallSpeed}:{},...typeof e.enabled==`boolean`?{enabled:e.enabled}:{}}),g=e=>({walkSpeed:d(e.walkSpeed,5),runSpeed:d(e.runSpeed,10),jumpHeight:d(e.jumpHeight,2),airControl:d(e.airControl,.2)}),_=e=>{let t=e.animations,n=m(t)&&m(t.jump)?t.jump:{},r=e=>{if(m(t)&&m(t[e]))return Object.fromEntries(Object.entries(t[e]).filter(([,e])=>typeof e==`string`||Array.isArray(e)&&e.every(e=>typeof e==`string`)))},i=r(`combat`),a=r(`special`);return{animations:{idle:p(m(t)?t.idle:void 0,`idle`),walk:p(m(t)?t.walk:void 0,`walk`),run:p(m(t)?t.run:void 0,`run`),jump:{start:f(n.start,`jump_start`),loop:f(n.loop,`jump_loop`),land:f(n.land,`jump_land`)},...i?{combat:i}:{},...a?{special:a}:{}},defaultAnimation:f(e.defaultAnimation,`idle`)}},v=class{constructor(e){this.type=`CharacterAnimation`,this.enabled=!0,this.animationMixer=null,this.actions=new Map,this.wasGrounded=!0,this.props=e,this.currentAnimation=e.defaultAnimation}initialize(e){if(this.dispose(),this.currentAnimation=this.props.defaultAnimation,e.innerGroupRef?.current){this.animationMixer=new n.AnimationMixer(e.innerGroupRef.current);try{this.setupAnimations(e)}catch(e){throw this.dispose(),e}}}setupAnimations(e){let t=e.animationClips??{};Object.entries({...this.props.animations,"jump.start":this.props.animations.jump.start,"jump.loop":this.props.animations.jump.loop,"jump.land":this.props.animations.jump.land}).forEach(([e,r])=>{let i=(typeof r==`string`?[r]:Array.isArray(r)?r:[]).find(e=>t[e]),a=i?t[i]:void 0;if(a){let t=this.animationMixer.clipAction(a);(e===`jump.start`||e===`jump.land`)&&(t.setLoop(n.LoopOnce,1),t.clampWhenFinished=!0),this.actions.set(e,t)}}),this.playAnimation(this.currentAnimation)}playAnimation(e){let t=this.actions.get(e);t&&(this.actions.forEach(e=>e.stop()),t.reset().play(),this.currentAnimation=e)}update(e){if(!this.animationMixer)return;this.animationMixer.update(e.deltaTime);let t=e.rigidBodyRef.current;if(!t)return;let n=t.linvel(),r=Math.sqrt(n.x**2+n.z**2),i=e.movementInput?.isGrounded??Math.abs(n.y)<=.1,a=`idle`;i?!this.wasGrounded&&this.actions.has(`jump.land`)||this.currentAnimation===`jump.land`&&this.actions.get(`jump.land`)?.isRunning()?a=`jump.land`:r>.5&&(a=(e.movementInput?e.movementInput.run===!0:r>6)?`run`:`walk`):a=this.wasGrounded&&n.y>.1&&this.actions.has(`jump.start`)||this.currentAnimation===`jump.start`&&this.actions.get(`jump.start`)?.isRunning()?`jump.start`:`jump.loop`,this.wasGrounded=i,a!==this.currentAnimation&&this.playAnimation(a)}dispose(){this.wasGrounded=!0;let e=this.animationMixer;this.animationMixer=null,this.actions.clear(),e&&(e.stopAllAction(),e.uncacheRoot(e.getRoot()))}},y=new n.Vector3(0,1,0),b=60,x=.9,S=class{constructor(e){this.type=`CharacterMovement`,this.enabled=!0,this.velocity=new n.Vector3,this.jumpHeld=!1,this.props=e}initialize(e){e.rigidBodyRef.current&&e.rigidBodyRef.current.setEnabledRotations(!1,!1,!1,!1)}update(e){let t=e.movementInput;if(!e.rigidBodyRef.current||!t){this.jumpHeld=!1;return}let r=e.rigidBodyRef.current,i=r.linvel(),a=+!!t.rightward-!!t.leftward,o=+!!t.backward-!!t.forward,s=t.run?this.props.runSpeed:this.props.walkSpeed,c=Number.isFinite(e.deltaTime)?Math.max(0,e.deltaTime):0;if(a!==0||o!==0){if(this.velocity.set(a,0,o).normalize().multiplyScalar(s),t.cameraYaw!==void 0&&this.velocity.applyAxisAngle(y,t.cameraYaw),!t.isGrounded){let e=n.MathUtils.clamp(this.props.airControl,0,1),t=c===0?0:1-(1-e)**(c*b);this.velocity.x=n.MathUtils.lerp(i.x,this.velocity.x,t),this.velocity.z=n.MathUtils.lerp(i.z,this.velocity.z,t)}}else if(!t.isGrounded)this.velocity.x=i.x,this.velocity.z=i.z;else{let e=x**+(c*b);this.velocity.x*=e,this.velocity.z*=e}t.jump&&!this.jumpHeld&&t.isGrounded?this.velocity.y=Math.sqrt(19.62*this.props.jumpHeight):this.velocity.y=i.y,this.jumpHeld=t.jump===!0,r.setLinvel(this.velocity,!0)}dispose(){this.jumpHeld=!1,this.velocity.set(0,0,0)}};function C(){let e=s.getInstance(),t=(t,n)=>{e.getFactory(t)||e.register(t,n)};t(`GravityForce`,e=>new u(h(e))),t(`CharacterMovement`,e=>new S(g(e))),t(`CharacterAnimation`,e=>new v(_(e)));for(let e of[`CharacterPhysics`,`CharacterStats`,`CharacterBehavior`,`VehicleMovement`,`VehiclePhysics`,`VehicleSeats`,`VehicleAnimation`,`AirplaneMovement`,`AirplanePhysics`,`AirplaneSeats`,`AirplaneAnimation`])t(e,t=>({...t,type:e,enabled:!0,initialize:()=>{},update:()=>{},dispose:()=>{}}))}function w(e){let t=e&&`physics`in e?e.physics.mass:void 0;switch(e?.type??`character`){case`character`:return{mass:t??1,friction:.5,restitution:0,linearDamping:4,angularDamping:10};case`vehicle`:return{mass:t??150,friction:.8,restitution:.2,linearDamping:.5,angularDamping:1};case`airplane`:return{mass:t??500,friction:.1,restitution:.1,linearDamping:.2,angularDamping:.5};default:return{mass:1,friction:.5,restitution:.5}}}var T=class{convert(e){let t={id:e.id,name:e.name,type:e.type,components:[],...e.metadata?{metadata:e.metadata}:{}};switch(e.type){case`character`:return this.convertCharacter(e,t);case`vehicle`:return this.convertVehicle(e,t);case`airplane`:return this.convertAirplane(e,t);default:return t}}convertCharacter(e,t){let n=[];return n.push({type:`CharacterPhysics`,enabled:!0,properties:{mass:e.physics.mass,height:e.physics.height,radius:e.physics.radius,jumpForce:e.physics.jumpForce,moveSpeed:e.physics.moveSpeed,runSpeed:e.physics.runSpeed,airControl:e.physics.airControl}}),n.push({type:`CharacterMovement`,enabled:!0,properties:{walkSpeed:e.physics.moveSpeed,runSpeed:e.physics.runSpeed,jumpHeight:e.physics.jumpForce/e.physics.mass,airControl:e.physics.airControl}}),n.push({type:`CharacterAnimation`,enabled:!0,properties:{animations:e.animations,defaultAnimation:`idle`}}),e.stats&&n.push({type:`CharacterStats`,enabled:!0,properties:e.stats}),e.behaviors&&n.push({type:`CharacterBehavior`,enabled:!0,properties:{type:e.behaviors.type,data:e.behaviors.data}}),{...t,components:n,physics:w(e)}}convertVehicle(e,t){let n=[];return n.push({type:`VehiclePhysics`,enabled:!0,properties:{mass:e.physics.mass,maxSpeed:e.physics.maxSpeed,acceleration:e.physics.acceleration,braking:e.physics.braking,turning:e.physics.turning,...e.physics.suspension?{suspension:e.physics.suspension}:{}}}),n.push({type:`VehicleMovement`,enabled:!0,properties:{maxSpeed:e.physics.maxSpeed,acceleration:e.physics.acceleration,braking:e.physics.braking,turning:e.physics.turning}}),e.seats&&n.push({type:`VehicleSeats`,enabled:!0,properties:{seats:e.seats}}),e.animations&&n.push({type:`VehicleAnimation`,enabled:!0,properties:{animations:e.animations}}),{...t,components:n,physics:w(e)}}convertAirplane(e,t){let n=[];return n.push({type:`AirplanePhysics`,enabled:!0,properties:{mass:e.physics.mass,maxSpeed:e.physics.maxSpeed,acceleration:e.physics.acceleration,turning:e.physics.turning,lift:e.physics.lift,drag:e.physics.drag}}),n.push({type:`AirplaneMovement`,enabled:!0,properties:{maxSpeed:e.physics.maxSpeed,acceleration:e.physics.acceleration,turning:e.physics.turning,lift:e.physics.lift,drag:e.physics.drag}}),e.seats&&n.push({type:`AirplaneSeats`,enabled:!0,properties:{seats:e.seats}}),e.animations&&n.push({type:`AirplaneAnimation`,enabled:!0,properties:{animations:e.animations}}),{...t,components:n,physics:w(e)}}convertToJSON(e){let t=this.convert(e);return JSON.stringify(t,null,2)}validateBlueprint(e){let t=[];switch(e.id||t.push(`Blueprint must have an id`),e.name||t.push(`Blueprint must have a name`),e.type||t.push(`Blueprint must have a type`),e.version||t.push(`Blueprint must have a version`),e.type){case`character`:let n=e;n.physics||t.push(`Character blueprint must have physics`),n.animations||t.push(`Character blueprint must have animations`),n.stats||t.push(`Character blueprint must have stats`);break;case`vehicle`:let r=e;r.physics||t.push(`Vehicle blueprint must have physics`),r.seats||t.push(`Vehicle blueprint must have seats`);break;case`airplane`:let i=e;i.physics||t.push(`Airplane blueprint must have physics`),i.seats||t.push(`Airplane blueprint must have seats`)}return{valid:t.length===0,errors:t}}},E=class e{constructor(){this.converter=new T,this.componentRegistry=s.getInstance(),C()}static getInstance(){return e.instance||=new e,e.instance}createEntity(e,t){return new l(this.converter.convert(e),t.rigidBodyRef,t.innerGroupRef,t.outerGroupRef,t.animationClips)}async createFromId(e,n){let r=o.get(e);return r?this.createEntity(r,n):(t.t.error(`Blueprint not found: ${e}`),null)}createFromDefinition(e,t){return new l(e,t.rigidBodyRef,t.innerGroupRef,t.outerGroupRef,t.animationClips)}registerComponentFactory(e,t){this.componentRegistry.register(e,t)}getAvailableComponentTypes(){return this.componentRegistry.getAllTypes()}};Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return a}});
|