@dcl/ecs 7.24.5-28985931443.commit-4a0bcfc → 7.24.5-29247185020.commit-e92dfe6
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/components/extended/AudioSource.d.ts +3 -5
- package/dist/components/extended/AudioSource.js +7 -7
- package/dist/components/extended/AvatarEquippedData.d.ts +10 -0
- package/dist/components/extended/AvatarEquippedData.js +15 -0
- package/dist/components/extended/AvatarShape.d.ts +10 -0
- package/dist/components/extended/AvatarShape.js +15 -0
- package/dist/components/extended/MeshCollider.d.ts +8 -0
- package/dist/components/extended/MeshCollider.js +6 -0
- package/dist/components/extended/MeshRenderer.d.ts +8 -0
- package/dist/components/extended/MeshRenderer.js +5 -0
- package/dist/components/extended/TriggerArea.d.ts +2 -2
- package/dist/components/extended/Tween.d.ts +1 -48
- package/dist/components/extended/Tween.js +0 -66
- package/dist/components/generated/AvatarMovement.gen.d.ts +1 -0
- package/dist/components/generated/AvatarMovement.gen.js +25 -0
- package/dist/components/generated/AvatarMovementInfo.gen.d.ts +1 -0
- package/dist/components/generated/AvatarMovementInfo.gen.js +25 -0
- package/dist/components/generated/CameraLayer.gen.d.ts +1 -0
- package/dist/components/generated/CameraLayer.gen.js +25 -0
- package/dist/components/generated/CameraLayers.gen.d.ts +1 -0
- package/dist/components/generated/CameraLayers.gen.js +25 -0
- package/dist/components/generated/GlobalLight.gen.d.ts +1 -0
- package/dist/components/generated/GlobalLight.gen.js +25 -0
- package/dist/components/generated/GltfNode.gen.d.ts +1 -0
- package/dist/components/generated/GltfNode.gen.js +25 -0
- package/dist/components/generated/GltfNodeState.gen.d.ts +1 -0
- package/dist/components/generated/GltfNodeState.gen.js +25 -0
- package/dist/components/generated/TextureCamera.gen.d.ts +1 -0
- package/dist/components/generated/{AudioAnalysis.gen.js → TextureCamera.gen.js} +7 -7
- package/dist/components/generated/UiCanvas.gen.d.ts +1 -0
- package/dist/components/generated/UiCanvas.gen.js +25 -0
- package/dist/components/generated/UiScrollResult.gen.d.ts +1 -0
- package/dist/components/generated/UiScrollResult.gen.js +25 -0
- package/dist/components/generated/component-names.gen.js +10 -1
- package/dist/components/generated/global.gen.d.ts +20 -2
- package/dist/components/generated/global.gen.js +10 -1
- package/dist/components/generated/index.gen.d.ts +40 -4
- package/dist/components/generated/index.gen.js +50 -5
- package/dist/components/generated/pb/decentraland/common/texture.gen.d.ts +20 -0
- package/dist/components/generated/pb/decentraland/common/texture.gen.js +65 -0
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.d.ts +2 -0
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.js +10 -1
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.d.ts +0 -6
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.js +0 -30
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +44 -3
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +151 -3
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.d.ts +20 -0
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.js +69 -0
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.d.ts +32 -0
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.js +126 -0
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +2 -8
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +10 -9
- package/dist/components/generated/pb/decentraland/sdk/components/billboard.gen.d.ts +2 -9
- package/dist/components/generated/pb/decentraland/sdk/components/billboard.gen.js +1 -10
- package/dist/components/generated/pb/decentraland/sdk/components/camera_layer.gen.d.ts +30 -0
- package/dist/components/generated/pb/decentraland/sdk/components/camera_layer.gen.js +104 -0
- package/dist/components/generated/pb/decentraland/sdk/components/camera_layers.gen.d.ts +14 -0
- package/dist/components/generated/pb/decentraland/sdk/components/camera_layers.gen.js +50 -0
- package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +37 -1
- package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +119 -1
- package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +4 -2
- package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +3 -1
- package/dist/components/generated/pb/decentraland/sdk/components/global_light.gen.d.ts +34 -0
- package/dist/components/generated/pb/decentraland/sdk/components/global_light.gen.js +61 -0
- package/dist/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +19 -0
- package/dist/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +46 -1
- package/dist/components/generated/pb/decentraland/sdk/components/gltf_node.gen.d.ts +50 -0
- package/dist/components/generated/pb/decentraland/sdk/components/gltf_node.gen.js +41 -0
- package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.d.ts +27 -0
- package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.js +59 -0
- package/dist/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +22 -0
- package/dist/components/generated/pb/decentraland/sdk/components/material.gen.js +57 -1
- package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +22 -3
- package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +58 -3
- package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +21 -3
- package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +56 -0
- package/dist/components/generated/pb/decentraland/sdk/components/particle_system.gen.d.ts +1 -14
- package/dist/components/generated/pb/decentraland/sdk/components/particle_system.gen.js +4 -42
- package/dist/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.d.ts +8 -2
- package/dist/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.js +3 -0
- package/dist/components/generated/pb/decentraland/sdk/components/raycast.gen.d.ts +13 -0
- package/dist/components/generated/pb/decentraland/sdk/components/raycast.gen.js +30 -0
- package/dist/components/generated/pb/decentraland/sdk/components/texture_camera.gen.d.ts +74 -0
- package/dist/components/generated/pb/decentraland/sdk/components/texture_camera.gen.js +191 -0
- package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.d.ts +19 -0
- package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.js +60 -0
- package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas_information.gen.d.ts +0 -8
- package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas_information.gen.js +1 -10
- package/dist/components/generated/pb/decentraland/sdk/components/ui_input.gen.d.ts +4 -0
- package/dist/components/generated/pb/decentraland/sdk/components/ui_input.gen.js +20 -0
- package/dist/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.d.ts +15 -0
- package/dist/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.js +42 -0
- package/dist/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +4 -0
- package/dist/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +20 -0
- package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +35 -0
- package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +90 -0
- package/dist/components/generated/pb/decentraland/sdk/components/virtual_camera.gen.d.ts +0 -3
- package/dist/components/generated/pb/decentraland/sdk/components/virtual_camera.gen.js +1 -10
- package/dist/components/generated/pb/google/protobuf/descriptor.gen.d.ts +1 -640
- package/dist/components/generated/pb/google/protobuf/descriptor.gen.js +4 -260
- package/dist/components/generated/types.gen.d.ts +0 -1
- package/dist/components/generated/types.gen.js +0 -1
- package/dist/components/index.d.ts +11 -13
- package/dist/components/index.js +11 -11
- package/dist/components/manual/Transform.d.ts +0 -13
- package/dist/components/manual/Transform.js +0 -8
- package/dist/components/types.d.ts +3 -3
- package/dist/composite/index.d.ts +5 -8
- package/dist/composite/index.js +5 -8
- package/dist/composite/instance.d.ts +0 -5
- package/dist/composite/instance.js +25 -34
- package/dist/engine/entity.js +2 -4
- package/dist/engine/grow-only-value-set-component-definition.js +1 -1
- package/dist/engine/index.js +1 -2
- package/dist/engine/input.d.ts +6 -0
- package/dist/engine/input.js +10 -6
- package/dist/engine/lww-element-set-component-definition.d.ts +2 -2
- package/dist/engine/lww-element-set-component-definition.js +7 -24
- package/dist/index.d.ts +2 -5
- package/dist/index.js +1 -5
- package/dist/runtime/globals.d.ts +2 -1
- package/dist/runtime/globals.js +2 -1
- package/dist/runtime/helpers/coordinates.js +14 -37
- package/dist/runtime/helpers/index.d.ts +0 -1
- package/dist/runtime/helpers/index.js +0 -1
- package/dist/runtime/helpers/timers.js +20 -32
- package/dist/runtime/helpers/tree.d.ts +0 -6
- package/dist/runtime/helpers/tree.js +2 -2
- package/dist/runtime/initialization/index.d.ts +0 -7
- package/dist/runtime/initialization/index.js +0 -6
- package/dist/systems/crdt/index.js +6 -6
- package/dist/systems/events.d.ts +59 -25
- package/dist/systems/events.js +145 -129
- package/dist/systems/raycast.d.ts +3 -1
- package/dist/systems/raycast.js +2 -0
- package/dist/systems/triggerArea.d.ts +0 -5
- package/dist/systems/triggerArea.js +42 -128
- package/dist-cjs/components/extended/AudioSource.d.ts +3 -5
- package/dist-cjs/components/extended/AudioSource.js +7 -7
- package/dist-cjs/components/extended/AvatarEquippedData.d.ts +10 -0
- package/dist-cjs/components/extended/AvatarEquippedData.js +19 -0
- package/dist-cjs/components/extended/AvatarShape.d.ts +10 -0
- package/dist-cjs/components/extended/AvatarShape.js +19 -0
- package/dist-cjs/components/extended/MeshCollider.d.ts +8 -0
- package/dist-cjs/components/extended/MeshCollider.js +6 -0
- package/dist-cjs/components/extended/MeshRenderer.d.ts +8 -0
- package/dist-cjs/components/extended/MeshRenderer.js +5 -0
- package/dist-cjs/components/extended/TriggerArea.d.ts +2 -2
- package/dist-cjs/components/extended/Tween.d.ts +1 -48
- package/dist-cjs/components/extended/Tween.js +0 -66
- package/dist-cjs/components/generated/AvatarMovement.gen.js +28 -0
- package/dist-cjs/components/generated/AvatarMovementInfo.gen.js +28 -0
- package/dist-cjs/components/generated/CameraLayer.gen.js +28 -0
- package/dist-cjs/components/generated/CameraLayers.gen.js +28 -0
- package/dist-cjs/components/generated/GlobalLight.gen.js +28 -0
- package/dist-cjs/components/generated/GltfNode.gen.js +28 -0
- package/dist-cjs/components/generated/GltfNodeState.gen.d.ts +1 -0
- package/dist-cjs/components/generated/GltfNodeState.gen.js +28 -0
- package/dist-cjs/components/generated/TextureCamera.gen.d.ts +1 -0
- package/dist-cjs/components/generated/{AudioAnalysis.gen.js → TextureCamera.gen.js} +8 -8
- package/dist-cjs/components/generated/UiCanvas.gen.d.ts +1 -0
- package/dist-cjs/components/generated/UiCanvas.gen.js +28 -0
- package/dist-cjs/components/generated/UiScrollResult.gen.d.ts +1 -0
- package/dist-cjs/components/generated/UiScrollResult.gen.js +28 -0
- package/dist-cjs/components/generated/component-names.gen.js +10 -1
- package/dist-cjs/components/generated/global.gen.d.ts +20 -2
- package/dist-cjs/components/generated/global.gen.js +12 -3
- package/dist-cjs/components/generated/index.gen.d.ts +40 -4
- package/dist-cjs/components/generated/index.gen.js +62 -8
- package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.d.ts +20 -0
- package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.js +66 -1
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.d.ts +2 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.js +10 -1
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.d.ts +0 -6
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.js +0 -30
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +44 -3
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +152 -4
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.d.ts +20 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.js +75 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.d.ts +32 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.js +132 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +2 -8
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +11 -10
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/billboard.gen.d.ts +2 -9
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/billboard.gen.js +1 -10
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.d.ts +30 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.js +110 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.d.ts +14 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.js +56 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +37 -1
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +120 -2
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +4 -2
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +3 -1
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.d.ts +34 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.js +67 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +19 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +46 -1
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.d.ts +50 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.js +47 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.d.ts +27 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.js +65 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +22 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.js +58 -2
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +22 -3
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +59 -4
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +21 -3
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +57 -1
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/particle_system.gen.d.ts +1 -14
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/particle_system.gen.js +5 -43
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.d.ts +8 -2
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.js +3 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.d.ts +13 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.js +31 -1
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.d.ts +74 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.js +197 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.d.ts +19 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.js +66 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas_information.gen.d.ts +0 -8
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas_information.gen.js +1 -10
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input.gen.d.ts +4 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input.gen.js +20 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.d.ts +15 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.js +48 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +4 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +20 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +35 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +91 -1
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/virtual_camera.gen.d.ts +0 -3
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/virtual_camera.gen.js +1 -10
- package/dist-cjs/components/generated/pb/google/protobuf/descriptor.gen.d.ts +1 -640
- package/dist-cjs/components/generated/pb/google/protobuf/descriptor.gen.js +5 -261
- package/dist-cjs/components/generated/types.gen.d.ts +0 -1
- package/dist-cjs/components/generated/types.gen.js +0 -3
- package/dist-cjs/components/index.d.ts +11 -13
- package/dist-cjs/components/index.js +15 -15
- package/dist-cjs/components/manual/Transform.d.ts +0 -13
- package/dist-cjs/components/manual/Transform.js +0 -31
- package/dist-cjs/components/types.d.ts +3 -3
- package/dist-cjs/composite/index.d.ts +5 -8
- package/dist-cjs/composite/index.js +6 -11
- package/dist-cjs/composite/instance.d.ts +0 -5
- package/dist-cjs/composite/instance.js +25 -34
- package/dist-cjs/engine/entity.js +2 -4
- package/dist-cjs/engine/grow-only-value-set-component-definition.js +1 -1
- package/dist-cjs/engine/index.js +1 -2
- package/dist-cjs/engine/input.d.ts +6 -0
- package/dist-cjs/engine/input.js +10 -6
- package/dist-cjs/engine/lww-element-set-component-definition.d.ts +2 -2
- package/dist-cjs/engine/lww-element-set-component-definition.js +7 -24
- package/dist-cjs/index.d.ts +2 -5
- package/dist-cjs/index.js +2 -6
- package/dist-cjs/runtime/globals.d.ts +2 -1
- package/dist-cjs/runtime/globals.js +2 -1
- package/dist-cjs/runtime/helpers/coordinates.js +14 -37
- package/dist-cjs/runtime/helpers/index.d.ts +0 -1
- package/dist-cjs/runtime/helpers/index.js +0 -1
- package/dist-cjs/runtime/helpers/timers.js +20 -32
- package/dist-cjs/runtime/helpers/tree.d.ts +0 -6
- package/dist-cjs/runtime/helpers/tree.js +2 -3
- package/dist-cjs/runtime/initialization/index.d.ts +0 -7
- package/dist-cjs/runtime/initialization/index.js +1 -7
- package/dist-cjs/systems/crdt/index.js +6 -6
- package/dist-cjs/systems/events.d.ts +59 -25
- package/dist-cjs/systems/events.js +145 -129
- package/dist-cjs/systems/raycast.d.ts +3 -1
- package/dist-cjs/systems/raycast.js +2 -0
- package/dist-cjs/systems/triggerArea.d.ts +0 -5
- package/dist-cjs/systems/triggerArea.js +42 -128
- package/package.json +2 -3
- package/dist/components/extended/AudioAnalysis.d.ts +0 -55
- package/dist/components/extended/AudioAnalysis.js +0 -66
- package/dist/components/extended/ParticleSystem.d.ts +0 -24
- package/dist/components/extended/ParticleSystem.js +0 -23
- package/dist/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.d.ts +0 -37
- package/dist/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.js +0 -161
- package/dist/composite/provider-registry.d.ts +0 -15
- package/dist/composite/provider-registry.js +0 -32
- package/dist/runtime/helpers/vectors.js +0 -36
- package/dist/systems/physics-force.js +0 -140
- package/dist/systems/physics-impulse.d.ts +0 -12
- package/dist/systems/physics-impulse.js +0 -85
- package/dist/systems/physics.d.ts +0 -77
- package/dist/systems/physics.js +0 -18
- package/dist-cjs/components/extended/AudioAnalysis.d.ts +0 -55
- package/dist-cjs/components/extended/AudioAnalysis.js +0 -70
- package/dist-cjs/components/extended/ParticleSystem.d.ts +0 -24
- package/dist-cjs/components/extended/ParticleSystem.js +0 -28
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.d.ts +0 -37
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.js +0 -167
- package/dist-cjs/composite/provider-registry.d.ts +0 -15
- package/dist-cjs/composite/provider-registry.js +0 -37
- package/dist-cjs/runtime/helpers/vectors.js +0 -39
- package/dist-cjs/systems/physics-force.js +0 -167
- package/dist-cjs/systems/physics-impulse.d.ts +0 -12
- package/dist-cjs/systems/physics-impulse.js +0 -112
- package/dist-cjs/systems/physics.d.ts +0 -77
- package/dist-cjs/systems/physics.js +0 -23
- /package/dist-cjs/components/generated/{AudioAnalysis.gen.d.ts → AvatarMovement.gen.d.ts} +0 -0
- /package/dist-cjs/{runtime/helpers/vectors.d.ts → components/generated/AvatarMovementInfo.gen.d.ts} +0 -0
- /package/dist-cjs/{systems/physics-force.d.ts → components/generated/CameraLayer.gen.d.ts} +0 -0
- /package/{dist/components/generated/AudioAnalysis.gen.d.ts → dist-cjs/components/generated/CameraLayers.gen.d.ts} +0 -0
- /package/{dist/runtime/helpers/vectors.d.ts → dist-cjs/components/generated/GlobalLight.gen.d.ts} +0 -0
- /package/{dist/systems/physics-force.d.ts → dist-cjs/components/generated/GltfNode.gen.d.ts} +0 -0
|
@@ -6,7 +6,6 @@ import { CompositeDefinition } from './proto/gen/composite.gen';
|
|
|
6
6
|
export type { CompositeDefinition, ComponentData, CompositeComponent, CompositeComponent_DataEntry, InstanceCompositeOptions, CompositeProvider, CompositeRootType, CompositeResource };
|
|
7
7
|
export { EntityMappingMode };
|
|
8
8
|
export { getCompositeRootComponent };
|
|
9
|
-
export { setCompositeProvider, getCompositeProvider } from './provider-registry';
|
|
10
9
|
/**
|
|
11
10
|
* @public
|
|
12
11
|
* @deprecated composite is not being supported so far, please do not use this feature
|
|
@@ -32,16 +31,14 @@ export declare namespace Composite {
|
|
|
32
31
|
/** @public */
|
|
33
32
|
function toBinary(composite: Composite.Definition): Uint8Array;
|
|
34
33
|
/**
|
|
35
|
-
* Instance a composite and
|
|
36
|
-
* @param
|
|
37
|
-
* @param
|
|
38
|
-
* @param
|
|
39
|
-
* @param options - instancing options (`rootEntity`, `entityMapping`, `alreadyRequestedSrc`)
|
|
40
|
-
* @returns the root entity of the instanced composite
|
|
34
|
+
* Instance a composite and returns its root entity
|
|
35
|
+
* @param compositeData - state serialized by the CRDT protocol
|
|
36
|
+
* @param getNextAvailableEntity - function that gives unused entities
|
|
37
|
+
* @param rootEntity - (optional) suggested mapped rootEntity for the composite
|
|
41
38
|
*
|
|
42
39
|
* @public
|
|
43
40
|
*/
|
|
44
|
-
function instance(engine: IEngine, compositeData: Composite.Resource, compositeProvider: CompositeProvider, options?: InstanceCompositeOptions):
|
|
41
|
+
function instance(engine: IEngine, compositeData: Composite.Resource, compositeProvider: CompositeProvider, options?: InstanceCompositeOptions): void;
|
|
45
42
|
/**
|
|
46
43
|
* Resolve and normalize a composite path
|
|
47
44
|
* @param src - the source path
|
package/dist/composite/index.js
CHANGED
|
@@ -4,7 +4,6 @@ import { resolveComposite } from './path';
|
|
|
4
4
|
import { CompositeDefinition } from './proto/gen/composite.gen';
|
|
5
5
|
export { EntityMappingMode };
|
|
6
6
|
export { getCompositeRootComponent };
|
|
7
|
-
export { setCompositeProvider, getCompositeProvider } from './provider-registry';
|
|
8
7
|
/**
|
|
9
8
|
* @public
|
|
10
9
|
* @deprecated composite is not being supported so far, please do not use this feature
|
|
@@ -32,17 +31,15 @@ export var Composite;
|
|
|
32
31
|
}
|
|
33
32
|
Composite.toBinary = toBinary;
|
|
34
33
|
/**
|
|
35
|
-
* Instance a composite and
|
|
36
|
-
* @param
|
|
37
|
-
* @param
|
|
38
|
-
* @param
|
|
39
|
-
* @param options - instancing options (`rootEntity`, `entityMapping`, `alreadyRequestedSrc`)
|
|
40
|
-
* @returns the root entity of the instanced composite
|
|
34
|
+
* Instance a composite and returns its root entity
|
|
35
|
+
* @param compositeData - state serialized by the CRDT protocol
|
|
36
|
+
* @param getNextAvailableEntity - function that gives unused entities
|
|
37
|
+
* @param rootEntity - (optional) suggested mapped rootEntity for the composite
|
|
41
38
|
*
|
|
42
39
|
* @public
|
|
43
40
|
*/
|
|
44
41
|
/*#__PURE__*/ function instance(engine, compositeData, compositeProvider, options = {}) {
|
|
45
|
-
|
|
42
|
+
instanceComposite(engine, compositeData, compositeProvider, options);
|
|
46
43
|
}
|
|
47
44
|
Composite.instance = instance;
|
|
48
45
|
/**
|
|
@@ -13,11 +13,6 @@ export type CompositeResource = {
|
|
|
13
13
|
*/
|
|
14
14
|
export type CompositeProvider = {
|
|
15
15
|
getCompositeOrNull(src: string): CompositeResource | null;
|
|
16
|
-
loadComposite?: (src: string) => Promise<CompositeResource>;
|
|
17
|
-
schemas?: Iterable<{
|
|
18
|
-
name: string;
|
|
19
|
-
jsonSchema: any;
|
|
20
|
-
}>;
|
|
21
16
|
};
|
|
22
17
|
/** @public */
|
|
23
18
|
export declare enum EntityMappingMode {
|
|
@@ -43,7 +43,7 @@ export function getComponentDefinition(engine, component) {
|
|
|
43
43
|
return engine.defineComponentFromSchema(component.name, Schemas.fromJson(component.jsonSchema));
|
|
44
44
|
}
|
|
45
45
|
else {
|
|
46
|
-
throw new Error(
|
|
46
|
+
throw new Error(`${component.name} is not defined and there is no schema to define it.`);
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
else {
|
|
@@ -84,7 +84,6 @@ export function instanceComposite(engine, compositeResource, compositeProvider,
|
|
|
84
84
|
const compositeDirectoryPath = path.dirname(path.resolve(compositeResource.src));
|
|
85
85
|
const TransformComponentNumber = componentNumberFromName('core::Transform');
|
|
86
86
|
const CompositeRootComponent = getCompositeRootComponent(engine);
|
|
87
|
-
let hadNestedComposite = false;
|
|
88
87
|
// Key => EntityNumber from the composite
|
|
89
88
|
// Value => EntityNumber in current engine
|
|
90
89
|
const mappedEntities = new Map();
|
|
@@ -100,29 +99,23 @@ export function instanceComposite(engine, compositeResource, compositeProvider,
|
|
|
100
99
|
// If there are more composite inside this one, we instance first.
|
|
101
100
|
// => This is not only a copy, we need to instance. Otherwise, we'd be missing that branches
|
|
102
101
|
// => TODO: in the future, the instanciation is first, then the overides (to parameterize Composite, e.g. house with different wall colors)
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
if (childCompositeResource)
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
throw new Error(`Composite ${compositeResource.src} has a recursive instanciation while try to instance ${childCompositeResource.src}. Previous instances: ${alreadyRequestedSrc.toString()}`);
|
|
115
|
-
}
|
|
116
|
-
hadNestedComposite = true;
|
|
117
|
-
instanceComposite(engine, childCompositeResource, compositeProvider, {
|
|
118
|
-
rootEntity: targetEntity,
|
|
119
|
-
alreadyRequestedSrc: new Set(alreadyRequestedSrc).add(childCompositeResource.src),
|
|
120
|
-
entityMapping: entityMapping?.type === EntityMappingMode.EMM_NEXT_AVAILABLE ? entityMapping : undefined
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
console.warn(`Composite "${compositeResource.src}" references missing nested composite "${childCompositePath}". Skipping; the spawned subtree will be incomplete.`);
|
|
102
|
+
const childrenComposite = compositeResource.composite.components.find((item) => item.name === CompositeRootComponent.componentName);
|
|
103
|
+
if (childrenComposite) {
|
|
104
|
+
for (const [childCompositeEntity, compositeRawData] of childrenComposite.data) {
|
|
105
|
+
const childComposite = getComponentValue(CompositeRootComponent, compositeRawData);
|
|
106
|
+
const childCompositePath = path.resolveComposite(childComposite.src, compositeDirectoryPath);
|
|
107
|
+
const childCompositeResource = compositeProvider.getCompositeOrNull(childCompositePath);
|
|
108
|
+
const targetEntity = getCompositeEntity(childCompositeEntity);
|
|
109
|
+
if (childCompositeResource) {
|
|
110
|
+
if (alreadyRequestedSrc.has(childCompositeResource.src) ||
|
|
111
|
+
childCompositeResource.src === compositeResource.src) {
|
|
112
|
+
throw new Error(`Composite ${compositeResource.src} has a recursive instanciation while try to instance ${childCompositeResource.src}. Previous instances: ${alreadyRequestedSrc.toString()}`);
|
|
125
113
|
}
|
|
114
|
+
instanceComposite(engine, childCompositeResource, compositeProvider, {
|
|
115
|
+
rootEntity: targetEntity,
|
|
116
|
+
alreadyRequestedSrc: new Set(alreadyRequestedSrc).add(childCompositeResource.src),
|
|
117
|
+
entityMapping: entityMapping?.type === EntityMappingMode.EMM_NEXT_AVAILABLE ? entityMapping : undefined
|
|
118
|
+
});
|
|
126
119
|
}
|
|
127
120
|
}
|
|
128
121
|
}
|
|
@@ -130,7 +123,7 @@ export function instanceComposite(engine, compositeResource, compositeProvider,
|
|
|
130
123
|
// Then, we copy the all rest of the components (skipping the Composite ones)
|
|
131
124
|
for (const component of compositeResource.composite.components) {
|
|
132
125
|
// We already instanced the composite
|
|
133
|
-
if (
|
|
126
|
+
if (component.name === CompositeRootComponent.componentName)
|
|
134
127
|
continue;
|
|
135
128
|
// ## 3a ##
|
|
136
129
|
// We find the component definition
|
|
@@ -166,15 +159,13 @@ export function instanceComposite(engine, compositeResource, compositeProvider,
|
|
|
166
159
|
}
|
|
167
160
|
}
|
|
168
161
|
}
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
});
|
|
176
|
-
}
|
|
177
|
-
composite.src = compositeResource.src;
|
|
162
|
+
const composite = CompositeRootComponent.getMutableOrNull(compositeRootEntity) || CompositeRootComponent.create(compositeRootEntity);
|
|
163
|
+
for (const [entitySource, targetEntity] of mappedEntities) {
|
|
164
|
+
composite.entities.push({
|
|
165
|
+
src: entitySource,
|
|
166
|
+
dest: targetEntity
|
|
167
|
+
});
|
|
178
168
|
}
|
|
169
|
+
composite.src = compositeResource.src;
|
|
179
170
|
return compositeRootEntity;
|
|
180
171
|
}
|
package/dist/engine/entity.js
CHANGED
|
@@ -61,10 +61,8 @@ export var EntityState;
|
|
|
61
61
|
*/
|
|
62
62
|
export function createEntityContainer(opts) {
|
|
63
63
|
const reservedStaticEntities = opts?.reservedStaticEntities ?? RESERVED_STATIC_ENTITIES;
|
|
64
|
-
//
|
|
65
|
-
|
|
66
|
-
const maxCompositeEntity = typeof DCL_MAX_COMPOSITE_ENTITY !== 'undefined' ? DCL_MAX_COMPOSITE_ENTITY : 0;
|
|
67
|
-
let entityCounter = Math.max(reservedStaticEntities, maxCompositeEntity > 0 ? maxCompositeEntity + 1 : 0);
|
|
64
|
+
// Local entities counter
|
|
65
|
+
let entityCounter = reservedStaticEntities;
|
|
68
66
|
const usedEntities = new Set();
|
|
69
67
|
let toRemoveEntities = [];
|
|
70
68
|
const removedEntities = createVersionGSet();
|
package/dist/engine/index.js
CHANGED
|
@@ -236,7 +236,7 @@ export function Engine(options) {
|
|
|
236
236
|
const deletedEntites = partialEngine.entityContainer.releaseRemovedEntities();
|
|
237
237
|
await crdtSystem.sendMessages(deletedEntites);
|
|
238
238
|
}
|
|
239
|
-
|
|
239
|
+
return {
|
|
240
240
|
_id: Date.now(),
|
|
241
241
|
addEntity: partialEngine.addEntity,
|
|
242
242
|
removeEntity: partialEngine.removeEntity,
|
|
@@ -264,5 +264,4 @@ export function Engine(options) {
|
|
|
264
264
|
addTransport: crdtSystem.addTransport,
|
|
265
265
|
entityContainer: partialEngine.entityContainer
|
|
266
266
|
};
|
|
267
|
-
return engineInstance;
|
|
268
267
|
}
|
package/dist/engine/input.d.ts
CHANGED
|
@@ -32,6 +32,12 @@ export type IInputSystem = {
|
|
|
32
32
|
* @returns the input command info or undefined if there is no command in the last tick-update
|
|
33
33
|
*/
|
|
34
34
|
getInputCommand: (inputAction: InputAction, pointerEventType: PointerEventType, entity?: Entity) => PBPointerEventsResult | null;
|
|
35
|
+
/**
|
|
36
|
+
* @public
|
|
37
|
+
* Get an ordered iterator over events received within the current frame.
|
|
38
|
+
* @returns the iterator
|
|
39
|
+
*/
|
|
40
|
+
getInputCommands: () => Generator<PBPointerEventsResult>;
|
|
35
41
|
};
|
|
36
42
|
/**
|
|
37
43
|
* @public
|
package/dist/engine/input.js
CHANGED
|
@@ -12,8 +12,7 @@ const InputCommands = [
|
|
|
12
12
|
10 /* InputAction.IA_ACTION_3 */,
|
|
13
13
|
11 /* InputAction.IA_ACTION_4 */,
|
|
14
14
|
12 /* InputAction.IA_ACTION_5 */,
|
|
15
|
-
13 /* InputAction.IA_ACTION_6
|
|
16
|
-
14 /* InputAction.IA_MODIFIER */
|
|
15
|
+
13 /* InputAction.IA_ACTION_6 */
|
|
17
16
|
];
|
|
18
17
|
const InputStateUpdateSystemPriority = 1 << 20;
|
|
19
18
|
/**
|
|
@@ -119,9 +118,8 @@ export function createInputSystem(engine) {
|
|
|
119
118
|
}
|
|
120
119
|
if (!up || !down)
|
|
121
120
|
return null;
|
|
122
|
-
// If the DOWN command has
|
|
123
|
-
|
|
124
|
-
if (down.timestamp <= up.timestamp && timestampIsCurrentFrame(up.timestamp)) {
|
|
121
|
+
// If the DOWN command has happen before the UP commands, it means that that a clicked has happen
|
|
122
|
+
if (down.timestamp < up.timestamp && timestampIsCurrentFrame(up.timestamp)) {
|
|
125
123
|
return { up, down };
|
|
126
124
|
}
|
|
127
125
|
return null;
|
|
@@ -187,11 +185,17 @@ export function createInputSystem(engine) {
|
|
|
187
185
|
function isPressed(inputAction) {
|
|
188
186
|
return globalState.buttonState.get(inputAction)?.state === 1 /* PointerEventType.PET_DOWN */;
|
|
189
187
|
}
|
|
188
|
+
function* getInputCommands() {
|
|
189
|
+
for (let i = globalState.thisFrameCommands.length - 1; i >= 0; i--) {
|
|
190
|
+
yield globalState.thisFrameCommands[i];
|
|
191
|
+
}
|
|
192
|
+
}
|
|
190
193
|
return {
|
|
191
194
|
isPressed,
|
|
192
195
|
getClick,
|
|
193
196
|
getInputCommand,
|
|
194
197
|
isClicked,
|
|
195
|
-
isTriggered
|
|
198
|
+
isTriggered,
|
|
199
|
+
getInputCommands
|
|
196
200
|
};
|
|
197
201
|
}
|
|
@@ -4,5 +4,5 @@ import { PutComponentMessageBody, DeleteComponentMessageBody, CrdtMessageBody }
|
|
|
4
4
|
import { Entity } from './entity';
|
|
5
5
|
export declare function incrementTimestamp(entity: Entity, timestamps: Map<Entity, number>): number;
|
|
6
6
|
export declare function createDumpLwwFunctionFromCrdt(componentId: number, timestamps: Map<Entity, number>, schema: Pick<ISchema<any>, 'serialize' | 'deserialize'>, data: Map<Entity, unknown>): (buffer: ByteBuffer, filterEntity?: ((entity: Entity) => boolean) | undefined) => void;
|
|
7
|
-
export declare function createUpdateLwwFromCrdt(componentId: number, timestamps: Map<Entity, number>, schema: Pick<ISchema<any>, 'serialize' | 'deserialize'>, data: Map<Entity, unknown
|
|
8
|
-
export declare function createGetCrdtMessagesForLww(componentId: number, timestamps: Map<Entity, number>, dirtyIterator: Set<Entity>, schema: Pick<ISchema<any>, 'serialize'>, data: Map<Entity, unknown
|
|
7
|
+
export declare function createUpdateLwwFromCrdt(componentId: number, timestamps: Map<Entity, number>, schema: Pick<ISchema<any>, 'serialize' | 'deserialize'>, data: Map<Entity, unknown>): (msg: CrdtMessageBody) => [null | PutComponentMessageBody | DeleteComponentMessageBody, any];
|
|
8
|
+
export declare function createGetCrdtMessagesForLww(componentId: number, timestamps: Map<Entity, number>, dirtyIterator: Set<Entity>, schema: Pick<ISchema<any>, 'serialize'>, data: Map<Entity, unknown>): () => Generator<PutComponentMessageBody | DeleteComponentMessageBody, void, unknown>;
|
|
@@ -30,7 +30,7 @@ export function createDumpLwwFunctionFromCrdt(componentId, timestamps, schema, d
|
|
|
30
30
|
}
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
|
-
export function createUpdateLwwFromCrdt(componentId, timestamps, schema, data
|
|
33
|
+
export function createUpdateLwwFromCrdt(componentId, timestamps, schema, data) {
|
|
34
34
|
/**
|
|
35
35
|
* Process the received message only if the lamport number recieved is higher
|
|
36
36
|
* than the stored one. If its lower, we spread it to the network to correct the peer.
|
|
@@ -96,11 +96,9 @@ export function createUpdateLwwFromCrdt(componentId, timestamps, schema, data, l
|
|
|
96
96
|
if (msg.type === CrdtMessageType.PUT_COMPONENT || msg.type === CrdtMessageType.PUT_COMPONENT_NETWORK) {
|
|
97
97
|
const buf = new ReadWriteByteBuffer(msg.data);
|
|
98
98
|
data.set(entity, schema.deserialize(buf));
|
|
99
|
-
lastSentData.set(entity, new Uint8Array(msg.data));
|
|
100
99
|
}
|
|
101
100
|
else {
|
|
102
101
|
data.delete(entity);
|
|
103
|
-
lastSentData.delete(entity);
|
|
104
102
|
}
|
|
105
103
|
return [null, data.get(entity)];
|
|
106
104
|
}
|
|
@@ -136,34 +134,23 @@ export function createUpdateLwwFromCrdt(componentId, timestamps, schema, data, l
|
|
|
136
134
|
return [null, data.get(entity)];
|
|
137
135
|
};
|
|
138
136
|
}
|
|
139
|
-
export function createGetCrdtMessagesForLww(componentId, timestamps, dirtyIterator, schema, data
|
|
137
|
+
export function createGetCrdtMessagesForLww(componentId, timestamps, dirtyIterator, schema, data) {
|
|
140
138
|
return function* () {
|
|
141
|
-
const writeBuffer = new ReadWriteByteBuffer();
|
|
142
139
|
for (const entity of dirtyIterator) {
|
|
140
|
+
const newTimestamp = incrementTimestamp(entity, timestamps);
|
|
143
141
|
if (data.has(entity)) {
|
|
144
|
-
writeBuffer
|
|
142
|
+
const writeBuffer = new ReadWriteByteBuffer();
|
|
145
143
|
schema.serialize(data.get(entity), writeBuffer);
|
|
146
|
-
// Compare against last-sent snapshot using the zero-copy subarray view.
|
|
147
|
-
// Only allocate a copy when bytes actually differ.
|
|
148
|
-
const previousBytes = lastSentData.get(entity);
|
|
149
|
-
if (previousBytes && dataCompare(writeBuffer.toBinary(), previousBytes) === 0) {
|
|
150
|
-
continue;
|
|
151
|
-
}
|
|
152
|
-
const currentBytes = writeBuffer.toCopiedBinary();
|
|
153
|
-
const newTimestamp = incrementTimestamp(entity, timestamps);
|
|
154
|
-
lastSentData.set(entity, currentBytes);
|
|
155
144
|
const msg = {
|
|
156
145
|
type: CrdtMessageType.PUT_COMPONENT,
|
|
157
146
|
componentId,
|
|
158
147
|
entityId: entity,
|
|
159
|
-
data:
|
|
148
|
+
data: writeBuffer.toBinary(),
|
|
160
149
|
timestamp: newTimestamp
|
|
161
150
|
};
|
|
162
151
|
yield msg;
|
|
163
152
|
}
|
|
164
153
|
else {
|
|
165
|
-
lastSentData.delete(entity);
|
|
166
|
-
const newTimestamp = incrementTimestamp(entity, timestamps);
|
|
167
154
|
const msg = {
|
|
168
155
|
type: CrdtMessageType.DELETE_COMPONENT,
|
|
169
156
|
componentId,
|
|
@@ -183,7 +170,6 @@ export function createComponentDefinitionFromSchema(componentName, componentId,
|
|
|
183
170
|
const data = new Map();
|
|
184
171
|
const dirtyIterator = new Set();
|
|
185
172
|
const timestamps = new Map();
|
|
186
|
-
const lastSentData = new Map();
|
|
187
173
|
const onChangeCallbacks = new Map();
|
|
188
174
|
return {
|
|
189
175
|
get componentId() {
|
|
@@ -205,14 +191,12 @@ export function createComponentDefinitionFromSchema(componentName, componentId,
|
|
|
205
191
|
if (data.delete(entity) && markAsDirty) {
|
|
206
192
|
dirtyIterator.add(entity);
|
|
207
193
|
}
|
|
208
|
-
lastSentData.delete(entity);
|
|
209
194
|
return component || null;
|
|
210
195
|
},
|
|
211
196
|
entityDeleted(entity, markAsDirty) {
|
|
212
197
|
if (data.delete(entity) && markAsDirty) {
|
|
213
198
|
dirtyIterator.add(entity);
|
|
214
199
|
}
|
|
215
|
-
lastSentData.delete(entity);
|
|
216
200
|
},
|
|
217
201
|
getOrNull(entity) {
|
|
218
202
|
const component = data.get(entity);
|
|
@@ -239,7 +223,6 @@ export function createComponentDefinitionFromSchema(componentName, componentId,
|
|
|
239
223
|
const usedValue = value === undefined ? schema.create() : schema.extend ? schema.extend(value) : value;
|
|
240
224
|
data.set(entity, usedValue);
|
|
241
225
|
dirtyIterator.add(entity);
|
|
242
|
-
lastSentData.delete(entity);
|
|
243
226
|
return usedValue;
|
|
244
227
|
},
|
|
245
228
|
getMutableOrNull(entity) {
|
|
@@ -277,8 +260,8 @@ export function createComponentDefinitionFromSchema(componentName, componentId,
|
|
|
277
260
|
yield entity;
|
|
278
261
|
}
|
|
279
262
|
},
|
|
280
|
-
getCrdtUpdates: createGetCrdtMessagesForLww(componentId, timestamps, dirtyIterator, schema, data
|
|
281
|
-
updateFromCrdt: createUpdateLwwFromCrdt(componentId, timestamps, schema, data
|
|
263
|
+
getCrdtUpdates: createGetCrdtMessagesForLww(componentId, timestamps, dirtyIterator, schema, data),
|
|
264
|
+
updateFromCrdt: createUpdateLwwFromCrdt(componentId, timestamps, schema, data),
|
|
282
265
|
dumpCrdtStateToBuffer: createDumpLwwFunctionFromCrdt(componentId, timestamps, schema, data),
|
|
283
266
|
onChange(entity, cb) {
|
|
284
267
|
const cbs = onChangeCallbacks.get(entity) ?? [];
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export * from './engine';
|
|
2
2
|
export * from './schemas';
|
|
3
|
-
export * from './runtime/globals';
|
|
4
3
|
export * from './runtime/initialization';
|
|
5
4
|
export * from './runtime/types';
|
|
6
5
|
export * from './runtime/helpers';
|
|
6
|
+
export * from './runtime/globals';
|
|
7
7
|
export { cyclicParentingChecker } from './systems/cyclicParentingChecker';
|
|
8
8
|
export * from './systems/events';
|
|
9
9
|
export * from './systems/raycast';
|
|
@@ -12,16 +12,14 @@ export * from './systems/assetLoad';
|
|
|
12
12
|
export * from './systems/async-task';
|
|
13
13
|
export * from './systems/tween';
|
|
14
14
|
export * from './systems/triggerArea';
|
|
15
|
-
export * from './systems/physics';
|
|
16
15
|
export * from './engine/entity';
|
|
17
16
|
export * from './components/types';
|
|
18
|
-
import { MaterialComponentDefinitionExtended, MeshColliderComponentDefinitionExtended, MeshRendererComponentDefinitionExtended, TransformComponentExtended, AnimatorComponentDefinitionExtended, AudioSourceComponentDefinitionExtended,
|
|
17
|
+
import { MaterialComponentDefinitionExtended, MeshColliderComponentDefinitionExtended, MeshRendererComponentDefinitionExtended, TransformComponentExtended, AnimatorComponentDefinitionExtended, AudioSourceComponentDefinitionExtended, AudioStreamComponentDefinitionExtended, ISyncComponents, TweenComponentDefinitionExtended, INetowrkEntity, INetowrkParent, VirtualCameraComponentDefinitionExtended, InputModifierComponentDefinitionExtended, LightSourceComponentDefinitionExtended, TriggerAreaComponentDefinitionExtended } from './components/types';
|
|
19
18
|
import { NameComponent } from './components/manual/Name';
|
|
20
19
|
import { TagsComponentDefinitionExtended } from './components/manual/Tags';
|
|
21
20
|
export declare const Transform: TransformComponentExtended;
|
|
22
21
|
export declare const Animator: AnimatorComponentDefinitionExtended;
|
|
23
22
|
export declare const AudioSource: AudioSourceComponentDefinitionExtended;
|
|
24
|
-
export declare const AudioAnalysis: AudioAnalysisComponentDefinitionExtended;
|
|
25
23
|
export declare const AudioStream: AudioStreamComponentDefinitionExtended;
|
|
26
24
|
export declare const Material: MaterialComponentDefinitionExtended;
|
|
27
25
|
export declare const MeshRenderer: MeshRendererComponentDefinitionExtended;
|
|
@@ -33,7 +31,6 @@ export declare const VirtualCamera: VirtualCameraComponentDefinitionExtended;
|
|
|
33
31
|
export declare const InputModifier: InputModifierComponentDefinitionExtended;
|
|
34
32
|
export declare const LightSource: LightSourceComponentDefinitionExtended;
|
|
35
33
|
export declare const TriggerArea: TriggerAreaComponentDefinitionExtended;
|
|
36
|
-
export declare const ParticleSystem: ParticleSystemComponentDefinitionExtended;
|
|
37
34
|
/**
|
|
38
35
|
* @alpha
|
|
39
36
|
* This is going to be used for sync components through a server.
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// The order of the following imports matters. Please do not auto-sort
|
|
2
2
|
export * from './engine';
|
|
3
3
|
export * from './schemas';
|
|
4
|
-
export * from './runtime/globals';
|
|
5
4
|
export * from './runtime/initialization';
|
|
6
5
|
export * from './runtime/types';
|
|
7
6
|
export * from './runtime/helpers';
|
|
7
|
+
export * from './runtime/globals';
|
|
8
8
|
export { cyclicParentingChecker } from './systems/cyclicParentingChecker';
|
|
9
9
|
export * from './systems/events';
|
|
10
10
|
export * from './systems/raycast';
|
|
@@ -13,7 +13,6 @@ export * from './systems/assetLoad';
|
|
|
13
13
|
export * from './systems/async-task';
|
|
14
14
|
export * from './systems/tween';
|
|
15
15
|
export * from './systems/triggerArea';
|
|
16
|
-
export * from './systems/physics';
|
|
17
16
|
export * from './engine/entity';
|
|
18
17
|
export * from './components/types';
|
|
19
18
|
// @internal
|
|
@@ -25,7 +24,6 @@ import { engine } from './runtime/initialization';
|
|
|
25
24
|
export const Transform = /* @__PURE__*/ components.Transform(engine);
|
|
26
25
|
export const Animator = /* @__PURE__*/ components.Animator(engine);
|
|
27
26
|
export const AudioSource = /* @__PURE__*/ components.AudioSource(engine);
|
|
28
|
-
export const AudioAnalysis = /* @__PURE__*/ components.AudioAnalysis(engine);
|
|
29
27
|
export const AudioStream = /* @__PURE__*/ components.AudioStream(engine);
|
|
30
28
|
export const Material = /* @__PURE__*/ components.Material(engine);
|
|
31
29
|
export const MeshRenderer = /* @__PURE__*/ components.MeshRenderer(engine);
|
|
@@ -37,8 +35,6 @@ export const VirtualCamera = /* @__PURE__*/ components.VirtualCamera(engine);
|
|
|
37
35
|
export const InputModifier = /* @__PURE__*/ components.InputModifier(engine);
|
|
38
36
|
export const LightSource = /* @__PURE__*/ components.LightSource(engine);
|
|
39
37
|
export const TriggerArea = /* @__PURE__*/ components.TriggerArea(engine);
|
|
40
|
-
export const ParticleSystem =
|
|
41
|
-
/* @__PURE__*/ components.ParticleSystem(engine);
|
|
42
38
|
/**
|
|
43
39
|
* @alpha
|
|
44
40
|
* This is going to be used for sync components through a server.
|
package/dist/runtime/globals.js
CHANGED
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/** Returns a string representation of the given coordinates in the format "x,y" */
|
|
2
|
-
function formatCoord(coord) {
|
|
3
|
-
return `${coord.x},${coord.y}`;
|
|
4
|
-
}
|
|
5
1
|
/**
|
|
6
2
|
* Returns true if the given parcels array are connected
|
|
7
3
|
*/
|
|
@@ -9,8 +5,8 @@ export function areConnected(parcels) {
|
|
|
9
5
|
if (parcels.length === 0) {
|
|
10
6
|
return false;
|
|
11
7
|
}
|
|
12
|
-
const visited =
|
|
13
|
-
return visited.
|
|
8
|
+
const visited = visitParcel(parcels[0], parcels);
|
|
9
|
+
return visited.length === parcels.length;
|
|
14
10
|
}
|
|
15
11
|
/**
|
|
16
12
|
* Returns true if the given coords are equal
|
|
@@ -18,38 +14,19 @@ export function areConnected(parcels) {
|
|
|
18
14
|
export function isEqual(p1, p2) {
|
|
19
15
|
return p1.x === p2.x && p1.y === p2.y;
|
|
20
16
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
*/
|
|
28
|
-
function visitConnectedParcels(parcel, allParcels) {
|
|
29
|
-
const allParcelsSet = new Set(allParcels.map(formatCoord));
|
|
30
|
-
const visitedSet = new Set();
|
|
31
|
-
const stackToVisit = [parcel];
|
|
32
|
-
while (stackToVisit.length > 0) {
|
|
33
|
-
const currentParcel = stackToVisit.pop();
|
|
34
|
-
const key = formatCoord(currentParcel);
|
|
35
|
-
const isVisited = visitedSet.has(key);
|
|
36
|
-
if (!isVisited) {
|
|
37
|
-
visitedSet.add(key);
|
|
38
|
-
const neighbours = getNeighbours(currentParcel.x, currentParcel.y, allParcelsSet);
|
|
39
|
-
for (const n of neighbours) {
|
|
40
|
-
if (!visitedSet.has(formatCoord(n)))
|
|
41
|
-
stackToVisit.push(n);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
17
|
+
function visitParcel(parcel, allParcels, visited = []) {
|
|
18
|
+
const isVisited = visited.some((visitedParcel) => isEqual(visitedParcel, parcel));
|
|
19
|
+
if (!isVisited) {
|
|
20
|
+
visited.push(parcel);
|
|
21
|
+
const neighbours = getNeighbours(parcel.x, parcel.y, allParcels);
|
|
22
|
+
neighbours.forEach((neighbours) => visitParcel(neighbours, allParcels, visited));
|
|
44
23
|
}
|
|
45
|
-
return
|
|
24
|
+
return visited;
|
|
25
|
+
}
|
|
26
|
+
function getIsNeighbourMatcher(x, y) {
|
|
27
|
+
return (coords) => (coords.x === x && (coords.y + 1 === y || coords.y - 1 === y)) ||
|
|
28
|
+
(coords.y === y && (coords.x + 1 === x || coords.x - 1 === x));
|
|
46
29
|
}
|
|
47
30
|
function getNeighbours(x, y, parcels) {
|
|
48
|
-
|
|
49
|
-
{ x: x + 1, y },
|
|
50
|
-
{ x: x - 1, y },
|
|
51
|
-
{ x, y: y + 1 },
|
|
52
|
-
{ x, y: y - 1 }
|
|
53
|
-
];
|
|
54
|
-
return neighbourCandidates.filter((c) => parcels.has(formatCoord(c)));
|
|
31
|
+
return parcels.filter(getIsNeighbourMatcher(x, y));
|
|
55
32
|
}
|
|
@@ -20,59 +20,47 @@
|
|
|
20
20
|
export function createTimers(targetEngine) {
|
|
21
21
|
const timers = new Map();
|
|
22
22
|
let timerIdCounter = 0;
|
|
23
|
-
// While a timer's callback is running this holds the time already consumed this
|
|
24
|
-
// frame before that timer's logical fire instant (`elapsedMs - residualMs`);
|
|
25
|
-
// `null` otherwise. A timer armed from within the callback is seeded with the
|
|
26
|
-
// negative of this, so its delay is measured from the parent's fire instant
|
|
27
|
-
// rather than from the start of the frame.
|
|
28
|
-
let armContext = null;
|
|
29
23
|
function system(dt) {
|
|
30
|
-
const elapsedMs = 1000 * dt;
|
|
31
24
|
for (const [timerId, timerData] of timers) {
|
|
32
|
-
timerData.accumulatedTime +=
|
|
25
|
+
timerData.accumulatedTime += 1000 * dt;
|
|
33
26
|
if (timerData.accumulatedTime < timerData.interval) {
|
|
34
27
|
continue;
|
|
35
28
|
}
|
|
36
|
-
// Time elapsed past this timer's logical fire instant this frame.
|
|
37
|
-
const residualMs = timerData.recurrent
|
|
38
|
-
? timerData.accumulatedTime % timerData.interval
|
|
39
|
-
: timerData.accumulatedTime - timerData.interval;
|
|
40
29
|
if (timerData.recurrent) {
|
|
41
|
-
//
|
|
42
|
-
timerData.accumulatedTime
|
|
30
|
+
// For intervals, subtract full interval periods to handle accumulated time
|
|
31
|
+
const fullIntervals = Math.floor(timerData.accumulatedTime / timerData.interval);
|
|
32
|
+
timerData.accumulatedTime -= fullIntervals * timerData.interval;
|
|
43
33
|
}
|
|
44
34
|
else {
|
|
45
35
|
timers.delete(timerId);
|
|
46
36
|
}
|
|
47
|
-
armContext = { accruedMs: elapsedMs - residualMs };
|
|
48
37
|
timerData.callback();
|
|
49
|
-
armContext = null;
|
|
50
38
|
}
|
|
51
39
|
}
|
|
52
40
|
targetEngine.addSystem(system, Number.MAX_SAFE_INTEGER, '@dcl/ecs/timers');
|
|
53
|
-
function addTimer(callback, interval, recurrent) {
|
|
54
|
-
const timerId = timerIdCounter++;
|
|
55
|
-
let accumulatedTime = 0;
|
|
56
|
-
if (armContext) {
|
|
57
|
-
// Armed from inside a firing callback: this timer is appended to the map
|
|
58
|
-
// being iterated, so the loop will still add this frame's elapsed to it.
|
|
59
|
-
// Inherit the residual so that `+= elapsedMs` nets to the true time
|
|
60
|
-
// elapsed since the parent fired (phase-accurate). Each successive arming
|
|
61
|
-
// starts one interval lower, so a re-arming chain terminates this frame.
|
|
62
|
-
accumulatedTime = -armContext.accruedMs;
|
|
63
|
-
}
|
|
64
|
-
timers.set(timerId, { callback, interval, recurrent, accumulatedTime });
|
|
65
|
-
return timerId;
|
|
66
|
-
}
|
|
67
41
|
return {
|
|
68
42
|
setTimeout(callback, ms) {
|
|
69
|
-
|
|
43
|
+
const timerId = timerIdCounter++;
|
|
44
|
+
timers.set(timerId, {
|
|
45
|
+
callback,
|
|
46
|
+
interval: ms,
|
|
47
|
+
recurrent: false,
|
|
48
|
+
accumulatedTime: 0
|
|
49
|
+
});
|
|
50
|
+
return timerId;
|
|
70
51
|
},
|
|
71
52
|
clearTimeout(timerId) {
|
|
72
53
|
timers.delete(timerId);
|
|
73
54
|
},
|
|
74
55
|
setInterval(callback, ms) {
|
|
75
|
-
|
|
56
|
+
const timerId = timerIdCounter++;
|
|
57
|
+
timers.set(timerId, {
|
|
58
|
+
callback,
|
|
59
|
+
interval: ms,
|
|
60
|
+
recurrent: true,
|
|
61
|
+
accumulatedTime: 0
|
|
62
|
+
});
|
|
63
|
+
return timerId;
|
|
76
64
|
},
|
|
77
65
|
clearInterval(timerId) {
|
|
78
66
|
timers.delete(timerId);
|