@dcl/ecs 7.24.5-29247185020.commit-e92dfe6 → 7.24.5-29264961047.commit-77493c3
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/AudioAnalysis.d.ts +55 -0
- package/dist/components/extended/AudioAnalysis.js +66 -0
- package/dist/components/extended/AudioSource.d.ts +5 -3
- package/dist/components/extended/AudioSource.js +7 -7
- package/dist/components/extended/MeshCollider.d.ts +0 -8
- package/dist/components/extended/MeshCollider.js +0 -6
- package/dist/components/extended/MeshRenderer.d.ts +0 -8
- package/dist/components/extended/MeshRenderer.js +0 -5
- package/dist/components/extended/ParticleSystem.d.ts +24 -0
- package/dist/components/extended/ParticleSystem.js +23 -0
- package/dist/components/extended/TriggerArea.d.ts +2 -2
- package/dist/components/extended/Tween.d.ts +48 -1
- package/dist/components/extended/Tween.js +66 -0
- package/dist/components/generated/{TextureCamera.gen.js → AudioAnalysis.gen.js} +7 -7
- package/dist/components/generated/component-names.gen.js +1 -10
- package/dist/components/generated/global.gen.d.ts +2 -20
- package/dist/components/generated/global.gen.js +1 -10
- package/dist/components/generated/index.gen.d.ts +4 -40
- package/dist/components/generated/index.gen.js +5 -50
- package/dist/components/generated/pb/decentraland/common/texture.gen.d.ts +0 -20
- package/dist/components/generated/pb/decentraland/common/texture.gen.js +0 -65
- package/dist/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.d.ts +37 -0
- package/dist/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.js +161 -0
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.d.ts +0 -2
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.js +1 -10
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.d.ts +6 -0
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.js +30 -0
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +3 -44
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +3 -151
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +0 -2
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +0 -10
- package/dist/components/generated/pb/decentraland/sdk/components/billboard.gen.d.ts +9 -2
- package/dist/components/generated/pb/decentraland/sdk/components/billboard.gen.js +10 -1
- package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +1 -37
- package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +1 -119
- package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +2 -4
- package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +1 -3
- package/dist/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +0 -19
- package/dist/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +1 -46
- package/dist/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +0 -22
- package/dist/components/generated/pb/decentraland/sdk/components/material.gen.js +1 -57
- package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +3 -22
- package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +3 -58
- package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +3 -21
- package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +0 -56
- package/dist/components/generated/pb/decentraland/sdk/components/particle_system.gen.d.ts +14 -1
- package/dist/components/generated/pb/decentraland/sdk/components/particle_system.gen.js +42 -4
- package/dist/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.d.ts +2 -8
- package/dist/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.js +0 -3
- package/dist/components/generated/pb/decentraland/sdk/components/raycast.gen.d.ts +0 -13
- package/dist/components/generated/pb/decentraland/sdk/components/raycast.gen.js +0 -30
- package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas_information.gen.d.ts +8 -0
- package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas_information.gen.js +10 -1
- package/dist/components/generated/pb/decentraland/sdk/components/ui_input.gen.d.ts +0 -4
- package/dist/components/generated/pb/decentraland/sdk/components/ui_input.gen.js +0 -20
- package/dist/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +0 -4
- package/dist/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +0 -20
- package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +0 -35
- package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +0 -90
- package/dist/components/generated/types.gen.d.ts +1 -0
- package/dist/components/generated/types.gen.js +1 -0
- package/dist/components/index.d.ts +13 -11
- package/dist/components/index.js +11 -11
- package/dist/components/manual/Transform.d.ts +13 -0
- package/dist/components/manual/Transform.js +8 -0
- package/dist/components/types.d.ts +3 -3
- package/dist/composite/index.d.ts +8 -5
- package/dist/composite/index.js +8 -5
- package/dist/composite/instance.d.ts +5 -0
- package/dist/composite/instance.js +34 -25
- package/dist/composite/provider-registry.d.ts +15 -0
- package/dist/composite/provider-registry.js +32 -0
- package/dist/engine/entity.js +4 -2
- package/dist/engine/grow-only-value-set-component-definition.js +1 -1
- package/dist/engine/index.js +2 -1
- package/dist/engine/input.d.ts +0 -6
- package/dist/engine/input.js +6 -10
- package/dist/engine/lww-element-set-component-definition.d.ts +2 -2
- package/dist/engine/lww-element-set-component-definition.js +24 -7
- package/dist/index.d.ts +5 -2
- package/dist/index.js +5 -1
- package/dist/runtime/globals.d.ts +1 -2
- package/dist/runtime/globals.js +1 -2
- package/dist/runtime/helpers/coordinates.js +37 -14
- package/dist/runtime/helpers/index.d.ts +1 -0
- package/dist/runtime/helpers/index.js +1 -0
- package/dist/runtime/helpers/timers.js +32 -20
- package/dist/runtime/helpers/tree.d.ts +6 -0
- package/dist/runtime/helpers/tree.js +2 -2
- package/dist/runtime/helpers/vectors.js +36 -0
- package/dist/runtime/initialization/index.d.ts +7 -0
- package/dist/runtime/initialization/index.js +6 -0
- package/dist/systems/crdt/index.js +6 -6
- package/dist/systems/events.d.ts +25 -59
- package/dist/systems/events.js +129 -145
- package/dist/systems/physics-force.js +140 -0
- package/dist/systems/physics-impulse.d.ts +12 -0
- package/dist/systems/physics-impulse.js +85 -0
- package/dist/systems/physics.d.ts +77 -0
- package/dist/systems/physics.js +18 -0
- package/dist/systems/raycast.d.ts +1 -3
- package/dist/systems/raycast.js +0 -2
- package/dist/systems/triggerArea.d.ts +5 -0
- package/dist/systems/triggerArea.js +129 -42
- package/dist-cjs/components/extended/AudioAnalysis.d.ts +55 -0
- package/dist-cjs/components/extended/AudioAnalysis.js +70 -0
- package/dist-cjs/components/extended/AudioSource.d.ts +5 -3
- package/dist-cjs/components/extended/AudioSource.js +7 -7
- package/dist-cjs/components/extended/MeshCollider.d.ts +0 -8
- package/dist-cjs/components/extended/MeshCollider.js +0 -6
- package/dist-cjs/components/extended/MeshRenderer.d.ts +0 -8
- package/dist-cjs/components/extended/MeshRenderer.js +0 -5
- package/dist-cjs/components/extended/ParticleSystem.d.ts +24 -0
- package/dist-cjs/components/extended/ParticleSystem.js +28 -0
- package/dist-cjs/components/extended/TriggerArea.d.ts +2 -2
- package/dist-cjs/components/extended/Tween.d.ts +48 -1
- package/dist-cjs/components/extended/Tween.js +66 -0
- package/dist-cjs/components/generated/{TextureCamera.gen.js → AudioAnalysis.gen.js} +8 -8
- package/dist-cjs/components/generated/component-names.gen.js +1 -10
- package/dist-cjs/components/generated/global.gen.d.ts +2 -20
- package/dist-cjs/components/generated/global.gen.js +3 -12
- package/dist-cjs/components/generated/index.gen.d.ts +4 -40
- package/dist-cjs/components/generated/index.gen.js +8 -62
- package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.d.ts +0 -20
- package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.js +1 -66
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.d.ts +37 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.js +167 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.d.ts +0 -2
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.js +1 -10
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.d.ts +6 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.js +30 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +3 -44
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +4 -152
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +0 -2
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +0 -10
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/billboard.gen.d.ts +9 -2
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/billboard.gen.js +10 -1
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +1 -37
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +2 -120
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +2 -4
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +1 -3
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +0 -19
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +1 -46
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +0 -22
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.js +2 -58
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +3 -22
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +4 -59
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +3 -21
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +1 -57
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/particle_system.gen.d.ts +14 -1
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/particle_system.gen.js +43 -5
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.d.ts +2 -8
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.js +0 -3
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.d.ts +0 -13
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.js +1 -31
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas_information.gen.d.ts +8 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas_information.gen.js +10 -1
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input.gen.d.ts +0 -4
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input.gen.js +0 -20
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +0 -4
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +0 -20
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +0 -35
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +1 -91
- package/dist-cjs/components/generated/types.gen.d.ts +1 -0
- package/dist-cjs/components/generated/types.gen.js +3 -0
- package/dist-cjs/components/index.d.ts +13 -11
- package/dist-cjs/components/index.js +15 -15
- package/dist-cjs/components/manual/Transform.d.ts +13 -0
- package/dist-cjs/components/manual/Transform.js +31 -0
- package/dist-cjs/components/types.d.ts +3 -3
- package/dist-cjs/composite/index.d.ts +8 -5
- package/dist-cjs/composite/index.js +11 -6
- package/dist-cjs/composite/instance.d.ts +5 -0
- package/dist-cjs/composite/instance.js +34 -25
- package/dist-cjs/composite/provider-registry.d.ts +15 -0
- package/dist-cjs/composite/provider-registry.js +37 -0
- package/dist-cjs/engine/entity.js +4 -2
- package/dist-cjs/engine/grow-only-value-set-component-definition.js +1 -1
- package/dist-cjs/engine/index.js +2 -1
- package/dist-cjs/engine/input.d.ts +0 -6
- package/dist-cjs/engine/input.js +6 -10
- package/dist-cjs/engine/lww-element-set-component-definition.d.ts +2 -2
- package/dist-cjs/engine/lww-element-set-component-definition.js +24 -7
- package/dist-cjs/index.d.ts +5 -2
- package/dist-cjs/index.js +6 -2
- package/dist-cjs/runtime/globals.d.ts +1 -2
- package/dist-cjs/runtime/globals.js +1 -2
- package/dist-cjs/runtime/helpers/coordinates.js +37 -14
- package/dist-cjs/runtime/helpers/index.d.ts +1 -0
- package/dist-cjs/runtime/helpers/index.js +1 -0
- package/dist-cjs/runtime/helpers/timers.js +32 -20
- package/dist-cjs/runtime/helpers/tree.d.ts +6 -0
- package/dist-cjs/runtime/helpers/tree.js +3 -2
- package/dist-cjs/runtime/helpers/vectors.js +39 -0
- package/dist-cjs/runtime/initialization/index.d.ts +7 -0
- package/dist-cjs/runtime/initialization/index.js +7 -1
- package/dist-cjs/systems/crdt/index.js +6 -6
- package/dist-cjs/systems/events.d.ts +25 -59
- package/dist-cjs/systems/events.js +129 -145
- package/dist-cjs/systems/physics-force.js +167 -0
- package/dist-cjs/systems/physics-impulse.d.ts +12 -0
- package/dist-cjs/systems/physics-impulse.js +112 -0
- package/dist-cjs/systems/physics.d.ts +77 -0
- package/dist-cjs/systems/physics.js +23 -0
- package/dist-cjs/systems/raycast.d.ts +1 -3
- package/dist-cjs/systems/raycast.js +0 -2
- package/dist-cjs/systems/triggerArea.d.ts +5 -0
- package/dist-cjs/systems/triggerArea.js +129 -42
- package/package.json +3 -2
- package/dist/components/extended/AvatarEquippedData.d.ts +0 -10
- package/dist/components/extended/AvatarEquippedData.js +0 -15
- package/dist/components/extended/AvatarShape.d.ts +0 -10
- package/dist/components/extended/AvatarShape.js +0 -15
- package/dist/components/generated/AvatarMovement.gen.d.ts +0 -1
- package/dist/components/generated/AvatarMovement.gen.js +0 -25
- package/dist/components/generated/AvatarMovementInfo.gen.d.ts +0 -1
- package/dist/components/generated/AvatarMovementInfo.gen.js +0 -25
- package/dist/components/generated/CameraLayer.gen.d.ts +0 -1
- package/dist/components/generated/CameraLayer.gen.js +0 -25
- package/dist/components/generated/CameraLayers.gen.d.ts +0 -1
- package/dist/components/generated/CameraLayers.gen.js +0 -25
- package/dist/components/generated/GlobalLight.gen.d.ts +0 -1
- package/dist/components/generated/GlobalLight.gen.js +0 -25
- package/dist/components/generated/GltfNode.gen.d.ts +0 -1
- package/dist/components/generated/GltfNode.gen.js +0 -25
- package/dist/components/generated/GltfNodeState.gen.d.ts +0 -1
- package/dist/components/generated/GltfNodeState.gen.js +0 -25
- package/dist/components/generated/TextureCamera.gen.d.ts +0 -1
- package/dist/components/generated/UiCanvas.gen.d.ts +0 -1
- package/dist/components/generated/UiCanvas.gen.js +0 -25
- package/dist/components/generated/UiScrollResult.gen.d.ts +0 -1
- package/dist/components/generated/UiScrollResult.gen.js +0 -25
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.d.ts +0 -20
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.js +0 -69
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.d.ts +0 -32
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.js +0 -126
- package/dist/components/generated/pb/decentraland/sdk/components/camera_layer.gen.d.ts +0 -30
- package/dist/components/generated/pb/decentraland/sdk/components/camera_layer.gen.js +0 -104
- package/dist/components/generated/pb/decentraland/sdk/components/camera_layers.gen.d.ts +0 -14
- package/dist/components/generated/pb/decentraland/sdk/components/camera_layers.gen.js +0 -50
- package/dist/components/generated/pb/decentraland/sdk/components/global_light.gen.d.ts +0 -34
- package/dist/components/generated/pb/decentraland/sdk/components/global_light.gen.js +0 -61
- package/dist/components/generated/pb/decentraland/sdk/components/gltf_node.gen.d.ts +0 -50
- package/dist/components/generated/pb/decentraland/sdk/components/gltf_node.gen.js +0 -41
- package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.d.ts +0 -27
- package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.js +0 -59
- package/dist/components/generated/pb/decentraland/sdk/components/texture_camera.gen.d.ts +0 -74
- package/dist/components/generated/pb/decentraland/sdk/components/texture_camera.gen.js +0 -191
- package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.d.ts +0 -19
- package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.js +0 -60
- package/dist/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.d.ts +0 -15
- package/dist/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.js +0 -42
- package/dist-cjs/components/extended/AvatarEquippedData.d.ts +0 -10
- package/dist-cjs/components/extended/AvatarEquippedData.js +0 -19
- package/dist-cjs/components/extended/AvatarShape.d.ts +0 -10
- package/dist-cjs/components/extended/AvatarShape.js +0 -19
- package/dist-cjs/components/generated/AvatarMovement.gen.js +0 -28
- package/dist-cjs/components/generated/AvatarMovementInfo.gen.js +0 -28
- package/dist-cjs/components/generated/CameraLayer.gen.js +0 -28
- package/dist-cjs/components/generated/CameraLayers.gen.js +0 -28
- package/dist-cjs/components/generated/GlobalLight.gen.js +0 -28
- package/dist-cjs/components/generated/GltfNode.gen.js +0 -28
- package/dist-cjs/components/generated/GltfNodeState.gen.d.ts +0 -1
- package/dist-cjs/components/generated/GltfNodeState.gen.js +0 -28
- package/dist-cjs/components/generated/TextureCamera.gen.d.ts +0 -1
- package/dist-cjs/components/generated/UiCanvas.gen.d.ts +0 -1
- package/dist-cjs/components/generated/UiCanvas.gen.js +0 -28
- package/dist-cjs/components/generated/UiScrollResult.gen.d.ts +0 -1
- package/dist-cjs/components/generated/UiScrollResult.gen.js +0 -28
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.d.ts +0 -20
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.js +0 -75
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.d.ts +0 -32
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.js +0 -132
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.d.ts +0 -30
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.js +0 -110
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.d.ts +0 -14
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.js +0 -56
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.d.ts +0 -34
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.js +0 -67
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.d.ts +0 -50
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.js +0 -47
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.d.ts +0 -27
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.js +0 -65
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.d.ts +0 -74
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.js +0 -197
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.d.ts +0 -19
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.js +0 -66
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.d.ts +0 -15
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.js +0 -48
- /package/{dist-cjs/components/generated/CameraLayers.gen.d.ts → dist/components/generated/AudioAnalysis.gen.d.ts} +0 -0
- /package/{dist-cjs/components/generated/GlobalLight.gen.d.ts → dist/runtime/helpers/vectors.d.ts} +0 -0
- /package/{dist-cjs/components/generated/GltfNode.gen.d.ts → dist/systems/physics-force.d.ts} +0 -0
- /package/dist-cjs/components/generated/{AvatarMovement.gen.d.ts → AudioAnalysis.gen.d.ts} +0 -0
- /package/dist-cjs/{components/generated/AvatarMovementInfo.gen.d.ts → runtime/helpers/vectors.d.ts} +0 -0
- /package/dist-cjs/{components/generated/CameraLayer.gen.d.ts → systems/physics-force.d.ts} +0 -0
|
@@ -6,6 +6,7 @@ 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';
|
|
9
10
|
/**
|
|
10
11
|
* @public
|
|
11
12
|
* @deprecated composite is not being supported so far, please do not use this feature
|
|
@@ -31,14 +32,16 @@ export declare namespace Composite {
|
|
|
31
32
|
/** @public */
|
|
32
33
|
function toBinary(composite: Composite.Definition): Uint8Array;
|
|
33
34
|
/**
|
|
34
|
-
* Instance a composite and
|
|
35
|
-
* @param
|
|
36
|
-
* @param
|
|
37
|
-
* @param
|
|
35
|
+
* Instance a composite and return its root entity.
|
|
36
|
+
* @param engine - the engine that will own the new entities
|
|
37
|
+
* @param compositeData - the composite resource to instance
|
|
38
|
+
* @param compositeProvider - provider used to resolve nested composite references
|
|
39
|
+
* @param options - instancing options (`rootEntity`, `entityMapping`, `alreadyRequestedSrc`)
|
|
40
|
+
* @returns the root entity of the instanced composite
|
|
38
41
|
*
|
|
39
42
|
* @public
|
|
40
43
|
*/
|
|
41
|
-
function instance(engine: IEngine, compositeData: Composite.Resource, compositeProvider: CompositeProvider, options?: InstanceCompositeOptions):
|
|
44
|
+
function instance(engine: IEngine, compositeData: Composite.Resource, compositeProvider: CompositeProvider, options?: InstanceCompositeOptions): import("../engine").Entity;
|
|
42
45
|
/**
|
|
43
46
|
* Resolve and normalize a composite path
|
|
44
47
|
* @param src - the source path
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Composite = exports.getCompositeRootComponent = exports.EntityMappingMode = void 0;
|
|
3
|
+
exports.Composite = exports.getCompositeProvider = exports.setCompositeProvider = exports.getCompositeRootComponent = exports.EntityMappingMode = void 0;
|
|
4
4
|
const components_1 = require("./components");
|
|
5
5
|
Object.defineProperty(exports, "getCompositeRootComponent", { enumerable: true, get: function () { return components_1.getCompositeRootComponent; } });
|
|
6
6
|
const instance_1 = require("./instance");
|
|
7
7
|
Object.defineProperty(exports, "EntityMappingMode", { enumerable: true, get: function () { return instance_1.EntityMappingMode; } });
|
|
8
8
|
const path_1 = require("./path");
|
|
9
9
|
const composite_gen_1 = require("./proto/gen/composite.gen");
|
|
10
|
+
var provider_registry_1 = require("./provider-registry");
|
|
11
|
+
Object.defineProperty(exports, "setCompositeProvider", { enumerable: true, get: function () { return provider_registry_1.setCompositeProvider; } });
|
|
12
|
+
Object.defineProperty(exports, "getCompositeProvider", { enumerable: true, get: function () { return provider_registry_1.getCompositeProvider; } });
|
|
10
13
|
/**
|
|
11
14
|
* @public
|
|
12
15
|
* @deprecated composite is not being supported so far, please do not use this feature
|
|
@@ -34,15 +37,17 @@ var Composite;
|
|
|
34
37
|
}
|
|
35
38
|
Composite.toBinary = toBinary;
|
|
36
39
|
/**
|
|
37
|
-
* Instance a composite and
|
|
38
|
-
* @param
|
|
39
|
-
* @param
|
|
40
|
-
* @param
|
|
40
|
+
* Instance a composite and return its root entity.
|
|
41
|
+
* @param engine - the engine that will own the new entities
|
|
42
|
+
* @param compositeData - the composite resource to instance
|
|
43
|
+
* @param compositeProvider - provider used to resolve nested composite references
|
|
44
|
+
* @param options - instancing options (`rootEntity`, `entityMapping`, `alreadyRequestedSrc`)
|
|
45
|
+
* @returns the root entity of the instanced composite
|
|
41
46
|
*
|
|
42
47
|
* @public
|
|
43
48
|
*/
|
|
44
49
|
/*#__PURE__*/ function instance(engine, compositeData, compositeProvider, options = {}) {
|
|
45
|
-
(0, instance_1.instanceComposite)(engine, compositeData, compositeProvider, options);
|
|
50
|
+
return (0, instance_1.instanceComposite)(engine, compositeData, compositeProvider, options);
|
|
46
51
|
}
|
|
47
52
|
Composite.instance = instance;
|
|
48
53
|
/**
|
|
@@ -13,6 +13,11 @@ 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
|
+
}>;
|
|
16
21
|
};
|
|
17
22
|
/** @public */
|
|
18
23
|
export declare enum EntityMappingMode {
|
|
@@ -70,7 +70,7 @@ function getComponentDefinition(engine, component) {
|
|
|
70
70
|
return engine.defineComponentFromSchema(component.name, schemas_1.Schemas.fromJson(component.jsonSchema));
|
|
71
71
|
}
|
|
72
72
|
else {
|
|
73
|
-
throw new Error(
|
|
73
|
+
throw new Error(`Composite references undefined component "${component.name}". Ensure provider.schemas was registered pre-seal via setCompositeProvider().`);
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
else {
|
|
@@ -113,6 +113,7 @@ function instanceComposite(engine, compositeResource, compositeProvider, options
|
|
|
113
113
|
const compositeDirectoryPath = path.dirname(path.resolve(compositeResource.src));
|
|
114
114
|
const TransformComponentNumber = (0, component_number_1.componentNumberFromName)('core::Transform');
|
|
115
115
|
const CompositeRootComponent = (0, components_2.getCompositeRootComponent)(engine);
|
|
116
|
+
let hadNestedComposite = false;
|
|
116
117
|
// Key => EntityNumber from the composite
|
|
117
118
|
// Value => EntityNumber in current engine
|
|
118
119
|
const mappedEntities = new Map();
|
|
@@ -128,23 +129,29 @@ function instanceComposite(engine, compositeResource, compositeProvider, options
|
|
|
128
129
|
// If there are more composite inside this one, we instance first.
|
|
129
130
|
// => This is not only a copy, we need to instance. Otherwise, we'd be missing that branches
|
|
130
131
|
// => TODO: in the future, the instanciation is first, then the overides (to parameterize Composite, e.g. house with different wall colors)
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
const
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
if (
|
|
140
|
-
childCompositeResource.src
|
|
141
|
-
|
|
132
|
+
if (CompositeRootComponent) {
|
|
133
|
+
const childrenComposite = compositeResource.composite.components.find((item) => item.name === CompositeRootComponent.componentName);
|
|
134
|
+
if (childrenComposite) {
|
|
135
|
+
for (const [childCompositeEntity, compositeRawData] of childrenComposite.data) {
|
|
136
|
+
const childComposite = getComponentValue(CompositeRootComponent, compositeRawData);
|
|
137
|
+
const childCompositePath = path.resolveComposite(childComposite.src, compositeDirectoryPath);
|
|
138
|
+
const childCompositeResource = compositeProvider.getCompositeOrNull(childCompositePath);
|
|
139
|
+
const targetEntity = getCompositeEntity(childCompositeEntity);
|
|
140
|
+
if (childCompositeResource) {
|
|
141
|
+
if (alreadyRequestedSrc.has(childCompositeResource.src) ||
|
|
142
|
+
childCompositeResource.src === compositeResource.src) {
|
|
143
|
+
throw new Error(`Composite ${compositeResource.src} has a recursive instanciation while try to instance ${childCompositeResource.src}. Previous instances: ${alreadyRequestedSrc.toString()}`);
|
|
144
|
+
}
|
|
145
|
+
hadNestedComposite = true;
|
|
146
|
+
instanceComposite(engine, childCompositeResource, compositeProvider, {
|
|
147
|
+
rootEntity: targetEntity,
|
|
148
|
+
alreadyRequestedSrc: new Set(alreadyRequestedSrc).add(childCompositeResource.src),
|
|
149
|
+
entityMapping: entityMapping?.type === EntityMappingMode.EMM_NEXT_AVAILABLE ? entityMapping : undefined
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
console.warn(`Composite "${compositeResource.src}" references missing nested composite "${childCompositePath}". Skipping; the spawned subtree will be incomplete.`);
|
|
142
154
|
}
|
|
143
|
-
instanceComposite(engine, childCompositeResource, compositeProvider, {
|
|
144
|
-
rootEntity: targetEntity,
|
|
145
|
-
alreadyRequestedSrc: new Set(alreadyRequestedSrc).add(childCompositeResource.src),
|
|
146
|
-
entityMapping: entityMapping?.type === EntityMappingMode.EMM_NEXT_AVAILABLE ? entityMapping : undefined
|
|
147
|
-
});
|
|
148
155
|
}
|
|
149
156
|
}
|
|
150
157
|
}
|
|
@@ -152,7 +159,7 @@ function instanceComposite(engine, compositeResource, compositeProvider, options
|
|
|
152
159
|
// Then, we copy the all rest of the components (skipping the Composite ones)
|
|
153
160
|
for (const component of compositeResource.composite.components) {
|
|
154
161
|
// We already instanced the composite
|
|
155
|
-
if (component.name === CompositeRootComponent.componentName)
|
|
162
|
+
if (CompositeRootComponent && component.name === CompositeRootComponent.componentName)
|
|
156
163
|
continue;
|
|
157
164
|
// ## 3a ##
|
|
158
165
|
// We find the component definition
|
|
@@ -188,14 +195,16 @@ function instanceComposite(engine, compositeResource, compositeProvider, options
|
|
|
188
195
|
}
|
|
189
196
|
}
|
|
190
197
|
}
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
198
|
+
if (hadNestedComposite) {
|
|
199
|
+
const composite = CompositeRootComponent.getMutableOrNull(compositeRootEntity) || CompositeRootComponent.create(compositeRootEntity);
|
|
200
|
+
for (const [entitySource, targetEntity] of mappedEntities) {
|
|
201
|
+
composite.entities.push({
|
|
202
|
+
src: entitySource,
|
|
203
|
+
dest: targetEntity
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
composite.src = compositeResource.src;
|
|
197
207
|
}
|
|
198
|
-
composite.src = compositeResource.src;
|
|
199
208
|
return compositeRootEntity;
|
|
200
209
|
}
|
|
201
210
|
exports.instanceComposite = instanceComposite;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { IEngine } from '../engine';
|
|
2
|
+
import type { CompositeProvider } from './instance';
|
|
3
|
+
/**
|
|
4
|
+
* Register the composite provider used to resolve composite files. Also registers
|
|
5
|
+
* any `provider.schemas` on the engine pre-seal so composites that reference those
|
|
6
|
+
* components can be instanced without further setup.
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
export declare function setCompositeProvider(engine: IEngine, provider: CompositeProvider): void;
|
|
10
|
+
/**
|
|
11
|
+
* Get the composite provider registered via setCompositeProvider. Returns null if
|
|
12
|
+
* no provider has been set.
|
|
13
|
+
* @public
|
|
14
|
+
*/
|
|
15
|
+
export declare function getCompositeProvider(): CompositeProvider | null;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCompositeProvider = exports.setCompositeProvider = void 0;
|
|
4
|
+
const schemas_1 = require("../schemas");
|
|
5
|
+
const components_1 = require("./components");
|
|
6
|
+
let currentProvider = null;
|
|
7
|
+
/**
|
|
8
|
+
* Register the composite provider used to resolve composite files. Also registers
|
|
9
|
+
* any `provider.schemas` on the engine pre-seal so composites that reference those
|
|
10
|
+
* components can be instanced without further setup.
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
function setCompositeProvider(engine, provider) {
|
|
14
|
+
currentProvider = provider;
|
|
15
|
+
// Define composite::root pre-seal. setCompositeProvider runs at module-load,
|
|
16
|
+
// so this guarantees the component exists before the engine seals — composites
|
|
17
|
+
// instanced at runtime (post-seal) would otherwise trip the seal when
|
|
18
|
+
// instanceComposite looks it up via getCompositeRootComponent.
|
|
19
|
+
(0, components_1.getCompositeRootComponent)(engine);
|
|
20
|
+
if (!provider.schemas)
|
|
21
|
+
return;
|
|
22
|
+
for (const { name, jsonSchema } of provider.schemas) {
|
|
23
|
+
if (engine.getComponentOrNull(name))
|
|
24
|
+
continue;
|
|
25
|
+
engine.defineComponentFromSchema(name, schemas_1.Schemas.fromJson(jsonSchema));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.setCompositeProvider = setCompositeProvider;
|
|
29
|
+
/**
|
|
30
|
+
* Get the composite provider registered via setCompositeProvider. Returns null if
|
|
31
|
+
* no provider has been set.
|
|
32
|
+
* @public
|
|
33
|
+
*/
|
|
34
|
+
function getCompositeProvider() {
|
|
35
|
+
return currentProvider;
|
|
36
|
+
}
|
|
37
|
+
exports.getCompositeProvider = getCompositeProvider;
|
|
@@ -64,8 +64,10 @@ var EntityState;
|
|
|
64
64
|
*/
|
|
65
65
|
function createEntityContainer(opts) {
|
|
66
66
|
const reservedStaticEntities = opts?.reservedStaticEntities ?? exports.RESERVED_STATIC_ENTITIES;
|
|
67
|
-
//
|
|
68
|
-
|
|
67
|
+
// If a build tool has set DCL_MAX_COMPOSITE_ENTITY (via esbuild define),
|
|
68
|
+
// start the counter past composite entities to prevent ID collisions.
|
|
69
|
+
const maxCompositeEntity = typeof DCL_MAX_COMPOSITE_ENTITY !== 'undefined' ? DCL_MAX_COMPOSITE_ENTITY : 0;
|
|
70
|
+
let entityCounter = Math.max(reservedStaticEntities, maxCompositeEntity > 0 ? maxCompositeEntity + 1 : 0);
|
|
69
71
|
const usedEntities = new Set();
|
|
70
72
|
let toRemoveEntities = [];
|
|
71
73
|
const removedEntities = (0, gset_1.createVersionGSet)();
|
package/dist-cjs/engine/index.js
CHANGED
|
@@ -265,7 +265,7 @@ function Engine(options) {
|
|
|
265
265
|
const deletedEntites = partialEngine.entityContainer.releaseRemovedEntities();
|
|
266
266
|
await crdtSystem.sendMessages(deletedEntites);
|
|
267
267
|
}
|
|
268
|
-
|
|
268
|
+
const engineInstance = {
|
|
269
269
|
_id: Date.now(),
|
|
270
270
|
addEntity: partialEngine.addEntity,
|
|
271
271
|
removeEntity: partialEngine.removeEntity,
|
|
@@ -293,5 +293,6 @@ function Engine(options) {
|
|
|
293
293
|
addTransport: crdtSystem.addTransport,
|
|
294
294
|
entityContainer: partialEngine.entityContainer
|
|
295
295
|
};
|
|
296
|
+
return engineInstance;
|
|
296
297
|
}
|
|
297
298
|
exports.Engine = Engine;
|
|
@@ -32,12 +32,6 @@ 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>;
|
|
41
35
|
};
|
|
42
36
|
/**
|
|
43
37
|
* @public
|
package/dist-cjs/engine/input.js
CHANGED
|
@@ -38,7 +38,8 @@ const InputCommands = [
|
|
|
38
38
|
10 /* InputAction.IA_ACTION_3 */,
|
|
39
39
|
11 /* InputAction.IA_ACTION_4 */,
|
|
40
40
|
12 /* InputAction.IA_ACTION_5 */,
|
|
41
|
-
13 /* InputAction.IA_ACTION_6
|
|
41
|
+
13 /* InputAction.IA_ACTION_6 */,
|
|
42
|
+
14 /* InputAction.IA_MODIFIER */
|
|
42
43
|
];
|
|
43
44
|
const InputStateUpdateSystemPriority = 1 << 20;
|
|
44
45
|
/**
|
|
@@ -144,8 +145,9 @@ function createInputSystem(engine) {
|
|
|
144
145
|
}
|
|
145
146
|
if (!up || !down)
|
|
146
147
|
return null;
|
|
147
|
-
// If the DOWN command has
|
|
148
|
-
|
|
148
|
+
// If the DOWN command has happened before or at the same time as the UP command, a click has happened.
|
|
149
|
+
// Same-timestamp is possible when both events are produced within the same renderer tick.
|
|
150
|
+
if (down.timestamp <= up.timestamp && timestampIsCurrentFrame(up.timestamp)) {
|
|
149
151
|
return { up, down };
|
|
150
152
|
}
|
|
151
153
|
return null;
|
|
@@ -211,18 +213,12 @@ function createInputSystem(engine) {
|
|
|
211
213
|
function isPressed(inputAction) {
|
|
212
214
|
return globalState.buttonState.get(inputAction)?.state === 1 /* PointerEventType.PET_DOWN */;
|
|
213
215
|
}
|
|
214
|
-
function* getInputCommands() {
|
|
215
|
-
for (let i = globalState.thisFrameCommands.length - 1; i >= 0; i--) {
|
|
216
|
-
yield globalState.thisFrameCommands[i];
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
216
|
return {
|
|
220
217
|
isPressed,
|
|
221
218
|
getClick,
|
|
222
219
|
getInputCommand,
|
|
223
220
|
isClicked,
|
|
224
|
-
isTriggered
|
|
225
|
-
getInputCommands
|
|
221
|
+
isTriggered
|
|
226
222
|
};
|
|
227
223
|
}
|
|
228
224
|
exports.createInputSystem = createInputSystem;
|
|
@@ -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>): (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>;
|
|
7
|
+
export declare function createUpdateLwwFromCrdt(componentId: number, timestamps: Map<Entity, number>, schema: Pick<ISchema<any>, 'serialize' | 'deserialize'>, data: Map<Entity, unknown>, lastSentData: Map<Entity, Uint8Array>): (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>, lastSentData: Map<Entity, Uint8Array>): () => Generator<PutComponentMessageBody | DeleteComponentMessageBody, void, unknown>;
|
|
@@ -35,7 +35,7 @@ function createDumpLwwFunctionFromCrdt(componentId, timestamps, schema, data) {
|
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
37
|
exports.createDumpLwwFunctionFromCrdt = createDumpLwwFunctionFromCrdt;
|
|
38
|
-
function createUpdateLwwFromCrdt(componentId, timestamps, schema, data) {
|
|
38
|
+
function createUpdateLwwFromCrdt(componentId, timestamps, schema, data, lastSentData) {
|
|
39
39
|
/**
|
|
40
40
|
* Process the received message only if the lamport number recieved is higher
|
|
41
41
|
* than the stored one. If its lower, we spread it to the network to correct the peer.
|
|
@@ -101,9 +101,11 @@ function createUpdateLwwFromCrdt(componentId, timestamps, schema, data) {
|
|
|
101
101
|
if (msg.type === crdt_1.CrdtMessageType.PUT_COMPONENT || msg.type === crdt_1.CrdtMessageType.PUT_COMPONENT_NETWORK) {
|
|
102
102
|
const buf = new ByteBuffer_1.ReadWriteByteBuffer(msg.data);
|
|
103
103
|
data.set(entity, schema.deserialize(buf));
|
|
104
|
+
lastSentData.set(entity, new Uint8Array(msg.data));
|
|
104
105
|
}
|
|
105
106
|
else {
|
|
106
107
|
data.delete(entity);
|
|
108
|
+
lastSentData.delete(entity);
|
|
107
109
|
}
|
|
108
110
|
return [null, data.get(entity)];
|
|
109
111
|
}
|
|
@@ -140,23 +142,34 @@ function createUpdateLwwFromCrdt(componentId, timestamps, schema, data) {
|
|
|
140
142
|
};
|
|
141
143
|
}
|
|
142
144
|
exports.createUpdateLwwFromCrdt = createUpdateLwwFromCrdt;
|
|
143
|
-
function createGetCrdtMessagesForLww(componentId, timestamps, dirtyIterator, schema, data) {
|
|
145
|
+
function createGetCrdtMessagesForLww(componentId, timestamps, dirtyIterator, schema, data, lastSentData) {
|
|
144
146
|
return function* () {
|
|
147
|
+
const writeBuffer = new ByteBuffer_1.ReadWriteByteBuffer();
|
|
145
148
|
for (const entity of dirtyIterator) {
|
|
146
|
-
const newTimestamp = incrementTimestamp(entity, timestamps);
|
|
147
149
|
if (data.has(entity)) {
|
|
148
|
-
|
|
150
|
+
writeBuffer.resetBuffer();
|
|
149
151
|
schema.serialize(data.get(entity), writeBuffer);
|
|
152
|
+
// Compare against last-sent snapshot using the zero-copy subarray view.
|
|
153
|
+
// Only allocate a copy when bytes actually differ.
|
|
154
|
+
const previousBytes = lastSentData.get(entity);
|
|
155
|
+
if (previousBytes && (0, utils_1.dataCompare)(writeBuffer.toBinary(), previousBytes) === 0) {
|
|
156
|
+
continue;
|
|
157
|
+
}
|
|
158
|
+
const currentBytes = writeBuffer.toCopiedBinary();
|
|
159
|
+
const newTimestamp = incrementTimestamp(entity, timestamps);
|
|
160
|
+
lastSentData.set(entity, currentBytes);
|
|
150
161
|
const msg = {
|
|
151
162
|
type: crdt_1.CrdtMessageType.PUT_COMPONENT,
|
|
152
163
|
componentId,
|
|
153
164
|
entityId: entity,
|
|
154
|
-
data:
|
|
165
|
+
data: currentBytes,
|
|
155
166
|
timestamp: newTimestamp
|
|
156
167
|
};
|
|
157
168
|
yield msg;
|
|
158
169
|
}
|
|
159
170
|
else {
|
|
171
|
+
lastSentData.delete(entity);
|
|
172
|
+
const newTimestamp = incrementTimestamp(entity, timestamps);
|
|
160
173
|
const msg = {
|
|
161
174
|
type: crdt_1.CrdtMessageType.DELETE_COMPONENT,
|
|
162
175
|
componentId,
|
|
@@ -177,6 +190,7 @@ function createComponentDefinitionFromSchema(componentName, componentId, schema)
|
|
|
177
190
|
const data = new Map();
|
|
178
191
|
const dirtyIterator = new Set();
|
|
179
192
|
const timestamps = new Map();
|
|
193
|
+
const lastSentData = new Map();
|
|
180
194
|
const onChangeCallbacks = new Map();
|
|
181
195
|
return {
|
|
182
196
|
get componentId() {
|
|
@@ -198,12 +212,14 @@ function createComponentDefinitionFromSchema(componentName, componentId, schema)
|
|
|
198
212
|
if (data.delete(entity) && markAsDirty) {
|
|
199
213
|
dirtyIterator.add(entity);
|
|
200
214
|
}
|
|
215
|
+
lastSentData.delete(entity);
|
|
201
216
|
return component || null;
|
|
202
217
|
},
|
|
203
218
|
entityDeleted(entity, markAsDirty) {
|
|
204
219
|
if (data.delete(entity) && markAsDirty) {
|
|
205
220
|
dirtyIterator.add(entity);
|
|
206
221
|
}
|
|
222
|
+
lastSentData.delete(entity);
|
|
207
223
|
},
|
|
208
224
|
getOrNull(entity) {
|
|
209
225
|
const component = data.get(entity);
|
|
@@ -230,6 +246,7 @@ function createComponentDefinitionFromSchema(componentName, componentId, schema)
|
|
|
230
246
|
const usedValue = value === undefined ? schema.create() : schema.extend ? schema.extend(value) : value;
|
|
231
247
|
data.set(entity, usedValue);
|
|
232
248
|
dirtyIterator.add(entity);
|
|
249
|
+
lastSentData.delete(entity);
|
|
233
250
|
return usedValue;
|
|
234
251
|
},
|
|
235
252
|
getMutableOrNull(entity) {
|
|
@@ -267,8 +284,8 @@ function createComponentDefinitionFromSchema(componentName, componentId, schema)
|
|
|
267
284
|
yield entity;
|
|
268
285
|
}
|
|
269
286
|
},
|
|
270
|
-
getCrdtUpdates: createGetCrdtMessagesForLww(componentId, timestamps, dirtyIterator, schema, data),
|
|
271
|
-
updateFromCrdt: createUpdateLwwFromCrdt(componentId, timestamps, schema, data),
|
|
287
|
+
getCrdtUpdates: createGetCrdtMessagesForLww(componentId, timestamps, dirtyIterator, schema, data, lastSentData),
|
|
288
|
+
updateFromCrdt: createUpdateLwwFromCrdt(componentId, timestamps, schema, data, lastSentData),
|
|
272
289
|
dumpCrdtStateToBuffer: createDumpLwwFunctionFromCrdt(componentId, timestamps, schema, data),
|
|
273
290
|
onChange(entity, cb) {
|
|
274
291
|
const cbs = onChangeCallbacks.get(entity) ?? [];
|
package/dist-cjs/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export * from './engine';
|
|
2
2
|
export * from './schemas';
|
|
3
|
+
export * from './runtime/globals';
|
|
3
4
|
export * from './runtime/initialization';
|
|
4
5
|
export * from './runtime/types';
|
|
5
6
|
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,14 +12,16 @@ 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';
|
|
15
16
|
export * from './engine/entity';
|
|
16
17
|
export * from './components/types';
|
|
17
|
-
import { MaterialComponentDefinitionExtended, MeshColliderComponentDefinitionExtended, MeshRendererComponentDefinitionExtended, TransformComponentExtended, AnimatorComponentDefinitionExtended, AudioSourceComponentDefinitionExtended, AudioStreamComponentDefinitionExtended, ISyncComponents, TweenComponentDefinitionExtended, INetowrkEntity, INetowrkParent, VirtualCameraComponentDefinitionExtended, InputModifierComponentDefinitionExtended, LightSourceComponentDefinitionExtended, TriggerAreaComponentDefinitionExtended } from './components/types';
|
|
18
|
+
import { MaterialComponentDefinitionExtended, MeshColliderComponentDefinitionExtended, MeshRendererComponentDefinitionExtended, TransformComponentExtended, AnimatorComponentDefinitionExtended, AudioSourceComponentDefinitionExtended, AudioAnalysisComponentDefinitionExtended, AudioStreamComponentDefinitionExtended, ISyncComponents, TweenComponentDefinitionExtended, INetowrkEntity, INetowrkParent, VirtualCameraComponentDefinitionExtended, InputModifierComponentDefinitionExtended, LightSourceComponentDefinitionExtended, TriggerAreaComponentDefinitionExtended, ParticleSystemComponentDefinitionExtended } from './components/types';
|
|
18
19
|
import { NameComponent } from './components/manual/Name';
|
|
19
20
|
import { TagsComponentDefinitionExtended } from './components/manual/Tags';
|
|
20
21
|
export declare const Transform: TransformComponentExtended;
|
|
21
22
|
export declare const Animator: AnimatorComponentDefinitionExtended;
|
|
22
23
|
export declare const AudioSource: AudioSourceComponentDefinitionExtended;
|
|
24
|
+
export declare const AudioAnalysis: AudioAnalysisComponentDefinitionExtended;
|
|
23
25
|
export declare const AudioStream: AudioStreamComponentDefinitionExtended;
|
|
24
26
|
export declare const Material: MaterialComponentDefinitionExtended;
|
|
25
27
|
export declare const MeshRenderer: MeshRendererComponentDefinitionExtended;
|
|
@@ -31,6 +33,7 @@ export declare const VirtualCamera: VirtualCameraComponentDefinitionExtended;
|
|
|
31
33
|
export declare const InputModifier: InputModifierComponentDefinitionExtended;
|
|
32
34
|
export declare const LightSource: LightSourceComponentDefinitionExtended;
|
|
33
35
|
export declare const TriggerArea: TriggerAreaComponentDefinitionExtended;
|
|
36
|
+
export declare const ParticleSystem: ParticleSystemComponentDefinitionExtended;
|
|
34
37
|
/**
|
|
35
38
|
* @alpha
|
|
36
39
|
* This is going to be used for sync components through a server.
|
package/dist-cjs/index.js
CHANGED
|
@@ -26,14 +26,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
26
26
|
return result;
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.NetworkParent = exports.NetworkEntity = exports.SyncComponents = exports.TriggerArea = exports.LightSource = exports.InputModifier = exports.VirtualCamera = exports.Tween = exports.Tags = exports.Name = exports.MeshCollider = exports.MeshRenderer = exports.Material = exports.AudioStream = exports.AudioSource = exports.Animator = exports.Transform = exports.components = exports.cyclicParentingChecker = void 0;
|
|
29
|
+
exports.NetworkParent = exports.NetworkEntity = exports.SyncComponents = exports.ParticleSystem = exports.TriggerArea = exports.LightSource = exports.InputModifier = exports.VirtualCamera = exports.Tween = exports.Tags = exports.Name = exports.MeshCollider = exports.MeshRenderer = exports.Material = exports.AudioStream = exports.AudioAnalysis = exports.AudioSource = exports.Animator = exports.Transform = exports.components = exports.cyclicParentingChecker = void 0;
|
|
30
30
|
// The order of the following imports matters. Please do not auto-sort
|
|
31
31
|
__exportStar(require("./engine"), exports);
|
|
32
32
|
__exportStar(require("./schemas"), exports);
|
|
33
|
+
__exportStar(require("./runtime/globals"), exports);
|
|
33
34
|
__exportStar(require("./runtime/initialization"), exports);
|
|
34
35
|
__exportStar(require("./runtime/types"), exports);
|
|
35
36
|
__exportStar(require("./runtime/helpers"), exports);
|
|
36
|
-
__exportStar(require("./runtime/globals"), exports);
|
|
37
37
|
var cyclicParentingChecker_1 = require("./systems/cyclicParentingChecker");
|
|
38
38
|
Object.defineProperty(exports, "cyclicParentingChecker", { enumerable: true, get: function () { return cyclicParentingChecker_1.cyclicParentingChecker; } });
|
|
39
39
|
__exportStar(require("./systems/events"), exports);
|
|
@@ -43,6 +43,7 @@ __exportStar(require("./systems/assetLoad"), exports);
|
|
|
43
43
|
__exportStar(require("./systems/async-task"), exports);
|
|
44
44
|
__exportStar(require("./systems/tween"), exports);
|
|
45
45
|
__exportStar(require("./systems/triggerArea"), exports);
|
|
46
|
+
__exportStar(require("./systems/physics"), exports);
|
|
46
47
|
__exportStar(require("./engine/entity"), exports);
|
|
47
48
|
__exportStar(require("./components/types"), exports);
|
|
48
49
|
// @internal
|
|
@@ -53,6 +54,7 @@ const initialization_1 = require("./runtime/initialization");
|
|
|
53
54
|
exports.Transform = components.Transform(initialization_1.engine);
|
|
54
55
|
exports.Animator = components.Animator(initialization_1.engine);
|
|
55
56
|
exports.AudioSource = components.AudioSource(initialization_1.engine);
|
|
57
|
+
exports.AudioAnalysis = components.AudioAnalysis(initialization_1.engine);
|
|
56
58
|
exports.AudioStream = components.AudioStream(initialization_1.engine);
|
|
57
59
|
exports.Material = components.Material(initialization_1.engine);
|
|
58
60
|
exports.MeshRenderer = components.MeshRenderer(initialization_1.engine);
|
|
@@ -64,6 +66,8 @@ exports.VirtualCamera = components.VirtualCamera(initialization_1.engine);
|
|
|
64
66
|
exports.InputModifier = components.InputModifier(initialization_1.engine);
|
|
65
67
|
exports.LightSource = components.LightSource(initialization_1.engine);
|
|
66
68
|
exports.TriggerArea = components.TriggerArea(initialization_1.engine);
|
|
69
|
+
exports.ParticleSystem =
|
|
70
|
+
/* @__PURE__*/ components.ParticleSystem(initialization_1.engine);
|
|
67
71
|
/**
|
|
68
72
|
* @alpha
|
|
69
73
|
* This is going to be used for sync components through a server.
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
* @public
|
|
3
|
+
* Internal utilities for standardized globalThis access.
|
|
5
4
|
*/
|
|
6
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
6
|
exports.setGlobalPolyfill = exports.getGlobal = void 0;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isEqual = exports.areConnected = void 0;
|
|
4
|
+
/** Returns a string representation of the given coordinates in the format "x,y" */
|
|
5
|
+
function formatCoord(coord) {
|
|
6
|
+
return `${coord.x},${coord.y}`;
|
|
7
|
+
}
|
|
4
8
|
/**
|
|
5
9
|
* Returns true if the given parcels array are connected
|
|
6
10
|
*/
|
|
@@ -8,8 +12,8 @@ function areConnected(parcels) {
|
|
|
8
12
|
if (parcels.length === 0) {
|
|
9
13
|
return false;
|
|
10
14
|
}
|
|
11
|
-
const visited =
|
|
12
|
-
return visited.
|
|
15
|
+
const visited = visitConnectedParcels(parcels[0], parcels);
|
|
16
|
+
return visited.size === parcels.length;
|
|
13
17
|
}
|
|
14
18
|
exports.areConnected = areConnected;
|
|
15
19
|
/**
|
|
@@ -19,19 +23,38 @@ function isEqual(p1, p2) {
|
|
|
19
23
|
return p1.x === p2.x && p1.y === p2.y;
|
|
20
24
|
}
|
|
21
25
|
exports.isEqual = isEqual;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
/**
|
|
27
|
+
* Returns the list of connected parcels starting from the given parcel.
|
|
28
|
+
* @param parcel - The starting parcel to visit
|
|
29
|
+
* @param allParcels - The list of all parcels to consider for connectivity
|
|
30
|
+
* @returns The list of connected parcels starting from the given parcel
|
|
31
|
+
* @remarks This function uses an iterative depth-first search (DFS) approach to avoid blowing the call stack on large connected parcel sets.
|
|
32
|
+
*/
|
|
33
|
+
function visitConnectedParcels(parcel, allParcels) {
|
|
34
|
+
const allParcelsSet = new Set(allParcels.map(formatCoord));
|
|
35
|
+
const visitedSet = new Set();
|
|
36
|
+
const stackToVisit = [parcel];
|
|
37
|
+
while (stackToVisit.length > 0) {
|
|
38
|
+
const currentParcel = stackToVisit.pop();
|
|
39
|
+
const key = formatCoord(currentParcel);
|
|
40
|
+
const isVisited = visitedSet.has(key);
|
|
41
|
+
if (!isVisited) {
|
|
42
|
+
visitedSet.add(key);
|
|
43
|
+
const neighbours = getNeighbours(currentParcel.x, currentParcel.y, allParcelsSet);
|
|
44
|
+
for (const n of neighbours) {
|
|
45
|
+
if (!visitedSet.has(formatCoord(n)))
|
|
46
|
+
stackToVisit.push(n);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
28
49
|
}
|
|
29
|
-
return
|
|
30
|
-
}
|
|
31
|
-
function getIsNeighbourMatcher(x, y) {
|
|
32
|
-
return (coords) => (coords.x === x && (coords.y + 1 === y || coords.y - 1 === y)) ||
|
|
33
|
-
(coords.y === y && (coords.x + 1 === x || coords.x - 1 === x));
|
|
50
|
+
return visitedSet;
|
|
34
51
|
}
|
|
35
52
|
function getNeighbours(x, y, parcels) {
|
|
36
|
-
|
|
53
|
+
const neighbourCandidates = [
|
|
54
|
+
{ x: x + 1, y },
|
|
55
|
+
{ x: x - 1, y },
|
|
56
|
+
{ x, y: y + 1 },
|
|
57
|
+
{ x, y: y - 1 }
|
|
58
|
+
];
|
|
59
|
+
return neighbourCandidates.filter((c) => parcels.has(formatCoord(c)));
|
|
37
60
|
}
|
|
@@ -17,5 +17,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
exports.createTimers = void 0;
|
|
18
18
|
__exportStar(require("./coordinates"), exports);
|
|
19
19
|
__exportStar(require("./tree"), exports);
|
|
20
|
+
__exportStar(require("./vectors"), exports);
|
|
20
21
|
var timers_1 = require("./timers");
|
|
21
22
|
Object.defineProperty(exports, "createTimers", { enumerable: true, get: function () { return timers_1.createTimers; } });
|