@dcl/ecs 7.22.6-25007982108.commit-83012ab → 7.22.6-25375246959.commit-ec25d50
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/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/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_modifier_area.gen.d.ts +0 -43
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +1 -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/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 +0 -20
- package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +0 -56
- 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_input.gen.d.ts +0 -2
- package/dist/components/generated/pb/decentraland/sdk/components/ui_input.gen.js +0 -10
- 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 +9 -11
- package/dist/components/index.js +8 -11
- package/dist/components/manual/Transform.d.ts +13 -0
- package/dist/components/manual/Transform.js +8 -0
- package/dist/components/types.d.ts +2 -3
- package/dist/engine/entity.js +4 -2
- package/dist/engine/grow-only-value-set-component-definition.js +1 -1
- package/dist/engine/input.d.ts +0 -6
- package/dist/engine/input.js +4 -9
- 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 +4 -2
- package/dist/index.js +4 -1
- package/dist/runtime/globals.d.ts +1 -2
- package/dist/runtime/globals.js +1 -2
- package/dist/runtime/helpers/index.d.ts +1 -0
- package/dist/runtime/helpers/index.js +1 -0
- 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-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/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_modifier_area.gen.d.ts +0 -43
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +2 -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/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 +0 -20
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +1 -57
- 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_input.gen.d.ts +0 -2
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input.gen.js +0 -10
- 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 +9 -11
- package/dist-cjs/components/index.js +11 -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 +2 -3
- 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/input.d.ts +0 -6
- package/dist-cjs/engine/input.js +4 -9
- 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 +4 -2
- package/dist-cjs/index.js +5 -2
- package/dist-cjs/runtime/globals.d.ts +1 -2
- package/dist-cjs/runtime/globals.js +1 -2
- package/dist-cjs/runtime/helpers/index.d.ts +1 -0
- package/dist-cjs/runtime/helpers/index.js +1 -0
- 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/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
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { LastWriteWinElementSetComponentDefinition, IEngine } from '../../engine';
|
|
2
2
|
import { Entity } from '../../engine/entity';
|
|
3
|
+
import type { Vector3Type } from '../../schemas/custom/Vector3';
|
|
3
4
|
/**
|
|
4
5
|
* @public
|
|
5
6
|
*/
|
|
@@ -10,6 +11,18 @@ export type TransformComponent = LastWriteWinElementSetComponentDefinition<Trans
|
|
|
10
11
|
export interface TransformComponentExtended extends TransformComponent {
|
|
11
12
|
create(entity: Entity, val?: TransformTypeWithOptionals): TransformType;
|
|
12
13
|
createOrReplace(entity: Entity, val?: TransformTypeWithOptionals): TransformType;
|
|
14
|
+
/**
|
|
15
|
+
* Transforms a direction vector from an entity's local coordinate space
|
|
16
|
+
* to world space, accounting for the full parent hierarchy.
|
|
17
|
+
*
|
|
18
|
+
* This applies only rotation (not translation or scale) — suitable for
|
|
19
|
+
* direction vectors like force/impulse directions.
|
|
20
|
+
*
|
|
21
|
+
* @param entity - The source entity whose local space defines the direction
|
|
22
|
+
* @param localDirection - Direction vector in the entity's local coordinates
|
|
23
|
+
* @returns The direction vector in world coordinates
|
|
24
|
+
*/
|
|
25
|
+
localToWorldDirection(entity: Entity, localDirection: Vector3Type): Vector3Type;
|
|
13
26
|
}
|
|
14
27
|
/**
|
|
15
28
|
* @public
|
|
@@ -1,6 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
26
|
exports.defineTransformComponent = exports.TransformSchema = exports.TRANSFORM_LENGTH = exports.COMPONENT_ID = void 0;
|
|
27
|
+
// Use import * to safely handle circular dependency (tree.ts → components → Transform.ts → tree.ts).
|
|
28
|
+
// With import *, the namespace object's properties are resolved at access time (live bindings in ESM,
|
|
29
|
+
// getters via __importStar in CJS), so by the time methods are called all exports are available.
|
|
30
|
+
const treeHelpers = __importStar(require("../../runtime/helpers/tree"));
|
|
4
31
|
/**
|
|
5
32
|
* @internal
|
|
6
33
|
*/
|
|
@@ -104,6 +131,10 @@ function defineTransformComponent(engine) {
|
|
|
104
131
|
},
|
|
105
132
|
createOrReplace(entity, val) {
|
|
106
133
|
return transformDef.createOrReplace(entity, exports.TransformSchema.extend(val));
|
|
134
|
+
},
|
|
135
|
+
localToWorldDirection(entity, localDirection) {
|
|
136
|
+
const worldRotation = treeHelpers.getWorldRotation(engine, entity);
|
|
137
|
+
return treeHelpers.rotateVectorByQuaternion(localDirection, worldRotation);
|
|
107
138
|
}
|
|
108
139
|
};
|
|
109
140
|
}
|
|
@@ -3,10 +3,8 @@ export type { AudioSourceComponentDefinitionExtended } from './extended/AudioSou
|
|
|
3
3
|
export type { AudioStreamComponentDefinitionExtended } from './extended/AudioStream';
|
|
4
4
|
export type { MeshRendererComponentDefinitionExtended } from './extended/MeshRenderer';
|
|
5
5
|
export type { MeshColliderComponentDefinitionExtended } from './extended/MeshCollider';
|
|
6
|
-
export type { AvatarEquippedDataComponentDefinitionExtended, AvatarEquippedDataType } from './extended/AvatarEquippedData';
|
|
7
|
-
export type { AvatarShapeComponentDefinitionExtended, AvatarShapeType } from './extended/AvatarShape';
|
|
8
6
|
export type { TextureHelper, MaterialComponentDefinitionExtended, FlatTexture, ReadonlyFlatMaterial, ReadonlyFlatTexture, FlatMaterial } from './extended/Material';
|
|
9
|
-
export type { TweenHelper, TweenComponentDefinitionExtended } from './extended/Tween';
|
|
7
|
+
export type { TweenHelper, TweenComponentDefinitionExtended, SetMoveRotateScaleParams, MoveRotateScaleModeParams } from './extended/Tween';
|
|
10
8
|
export type { CameraTransitionHelper, VirtualCameraComponentDefinitionExtended } from './extended/VirtualCamera';
|
|
11
9
|
export type { TransformComponentExtended, TransformTypeWithOptionals } from './manual/Transform';
|
|
12
10
|
export type { NameComponent, NameType } from './manual/Name';
|
|
@@ -17,3 +15,4 @@ export type { INetowrkParent, INetowrkParentType } from './manual/NetworkParent'
|
|
|
17
15
|
export type { InputModifierHelper, InputModifierComponentDefinitionExtended } from './extended/InputModifier';
|
|
18
16
|
export type { LightSourceHelper, LightSourceComponentDefinitionExtended } from './extended/LightSource';
|
|
19
17
|
export type { TriggerAreaComponentDefinitionExtended } from './extended/TriggerArea';
|
|
18
|
+
export type { ParticleSystemHelper, ParticleSystemComponentDefinitionExtended, ParticleSystemBlendMode, ParticleSystemPlaybackState } from './extended/ParticleSystem';
|
|
@@ -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)();
|
|
@@ -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
|
@@ -144,8 +144,9 @@ function createInputSystem(engine) {
|
|
|
144
144
|
}
|
|
145
145
|
if (!up || !down)
|
|
146
146
|
return null;
|
|
147
|
-
// If the DOWN command has
|
|
148
|
-
|
|
147
|
+
// If the DOWN command has happened before or at the same time as the UP command, a click has happened.
|
|
148
|
+
// Same-timestamp is possible when both events are produced within the same renderer tick.
|
|
149
|
+
if (down.timestamp <= up.timestamp && timestampIsCurrentFrame(up.timestamp)) {
|
|
149
150
|
return { up, down };
|
|
150
151
|
}
|
|
151
152
|
return null;
|
|
@@ -211,18 +212,12 @@ function createInputSystem(engine) {
|
|
|
211
212
|
function isPressed(inputAction) {
|
|
212
213
|
return globalState.buttonState.get(inputAction)?.state === 1 /* PointerEventType.PET_DOWN */;
|
|
213
214
|
}
|
|
214
|
-
function* getInputCommands() {
|
|
215
|
-
for (let i = globalState.thisFrameCommands.length - 1; i >= 0; i--) {
|
|
216
|
-
yield globalState.thisFrameCommands[i];
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
215
|
return {
|
|
220
216
|
isPressed,
|
|
221
217
|
getClick,
|
|
222
218
|
getInputCommand,
|
|
223
219
|
isClicked,
|
|
224
|
-
isTriggered
|
|
225
|
-
getInputCommands
|
|
220
|
+
isTriggered
|
|
226
221
|
};
|
|
227
222
|
}
|
|
228
223
|
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,9 +12,10 @@ 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, 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;
|
|
@@ -31,6 +32,7 @@ export declare const VirtualCamera: VirtualCameraComponentDefinitionExtended;
|
|
|
31
32
|
export declare const InputModifier: InputModifierComponentDefinitionExtended;
|
|
32
33
|
export declare const LightSource: LightSourceComponentDefinitionExtended;
|
|
33
34
|
export declare const TriggerArea: TriggerAreaComponentDefinitionExtended;
|
|
35
|
+
export declare const ParticleSystem: ParticleSystemComponentDefinitionExtended;
|
|
34
36
|
/**
|
|
35
37
|
* @alpha
|
|
36
38
|
* 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.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
|
|
@@ -64,6 +65,8 @@ exports.VirtualCamera = components.VirtualCamera(initialization_1.engine);
|
|
|
64
65
|
exports.InputModifier = components.InputModifier(initialization_1.engine);
|
|
65
66
|
exports.LightSource = components.LightSource(initialization_1.engine);
|
|
66
67
|
exports.TriggerArea = components.TriggerArea(initialization_1.engine);
|
|
68
|
+
exports.ParticleSystem =
|
|
69
|
+
/* @__PURE__*/ components.ParticleSystem(initialization_1.engine);
|
|
67
70
|
/**
|
|
68
71
|
* @alpha
|
|
69
72
|
* 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;
|
|
@@ -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; } });
|
|
@@ -2,6 +2,12 @@ import { Entity } from '../../engine/entity';
|
|
|
2
2
|
import { ComponentDefinition, IEngine } from '../../engine';
|
|
3
3
|
import { Vector3Type } from '../../schemas/custom/Vector3';
|
|
4
4
|
import { QuaternionType } from '../../schemas/custom/Quaternion';
|
|
5
|
+
/**
|
|
6
|
+
* @public
|
|
7
|
+
* Rotate a vector by a quaternion
|
|
8
|
+
* Uses the formula: v' = q * v * q^(-1), optimized version
|
|
9
|
+
*/
|
|
10
|
+
export declare function rotateVectorByQuaternion(v: Vector3Type, q: QuaternionType): Vector3Type;
|
|
5
11
|
/**
|
|
6
12
|
* Get an iterator of entities that follow a tree structure for a component
|
|
7
13
|
* @public
|
|
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.getWorldRotation = exports.getWorldPosition = exports.getEntitiesWithParent = exports.removeEntityWithChildren = exports.getComponentEntityTree = void 0;
|
|
26
|
+
exports.getWorldRotation = exports.getWorldPosition = exports.getEntitiesWithParent = exports.removeEntityWithChildren = exports.getComponentEntityTree = exports.rotateVectorByQuaternion = void 0;
|
|
27
27
|
const components = __importStar(require("../../components"));
|
|
28
28
|
/**
|
|
29
29
|
* @internal
|
|
@@ -61,7 +61,7 @@ function multiplyQuaternions(q1, q2) {
|
|
|
61
61
|
};
|
|
62
62
|
}
|
|
63
63
|
/**
|
|
64
|
-
* @
|
|
64
|
+
* @public
|
|
65
65
|
* Rotate a vector by a quaternion
|
|
66
66
|
* Uses the formula: v' = q * v * q^(-1), optimized version
|
|
67
67
|
*/
|
|
@@ -80,6 +80,7 @@ function rotateVectorByQuaternion(v, q) {
|
|
|
80
80
|
z: iz * qw + iw * -qz + ix * -qy - iy * -qx
|
|
81
81
|
};
|
|
82
82
|
}
|
|
83
|
+
exports.rotateVectorByQuaternion = rotateVectorByQuaternion;
|
|
83
84
|
/** @internal Identity transform values */
|
|
84
85
|
const IDENTITY_POSITION = { x: 0, y: 0, z: 0 };
|
|
85
86
|
const IDENTITY_ROTATION = { x: 0, y: 0, z: 0, w: 1 };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Vector3 = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Lightweight Vector3 math utilities for internal use.
|
|
6
|
+
* Mirrors the subset of @dcl/ecs-math Vector3 API used by the physics helpers.
|
|
7
|
+
*
|
|
8
|
+
* TEMPORARY WORKAROUND: @dcl/ecs-math ships ESM-only, which breaks the dist-cjs build.
|
|
9
|
+
* The proper fix is to add a CJS build to @dcl/ecs-math upstream, then replace this
|
|
10
|
+
* file with `import { Vector3 } from '@dcl/ecs-math'`.
|
|
11
|
+
*
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
exports.Vector3 = {
|
|
15
|
+
add(a, b) {
|
|
16
|
+
return { x: a.x + b.x, y: a.y + b.y, z: a.z + b.z };
|
|
17
|
+
},
|
|
18
|
+
subtract(a, b) {
|
|
19
|
+
return { x: a.x - b.x, y: a.y - b.y, z: a.z - b.z };
|
|
20
|
+
},
|
|
21
|
+
scale(v, s) {
|
|
22
|
+
return { x: v.x * s, y: v.y * s, z: v.z * s };
|
|
23
|
+
},
|
|
24
|
+
length(v) {
|
|
25
|
+
return Math.sqrt(v.x * v.x + v.y * v.y + v.z * v.z);
|
|
26
|
+
},
|
|
27
|
+
normalize(v) {
|
|
28
|
+
const len = exports.Vector3.length(v);
|
|
29
|
+
if (len === 0)
|
|
30
|
+
return { x: 0, y: 0, z: 0 };
|
|
31
|
+
return { x: v.x / len, y: v.y / len, z: v.z / len };
|
|
32
|
+
},
|
|
33
|
+
equals(a, b) {
|
|
34
|
+
return a.x === b.x && a.y === b.y && a.z === b.z;
|
|
35
|
+
},
|
|
36
|
+
equalsToFloats(v, x, y, z) {
|
|
37
|
+
return v.x === x && v.y === y && v.z === z;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
@@ -12,6 +12,7 @@ import { AssetLoadLoadingStateSystem } from '../../systems/assetLoad';
|
|
|
12
12
|
import { TweenSystem } from '../../systems/tween';
|
|
13
13
|
import { TriggerAreaEventsSystem } from '../../systems/triggerArea';
|
|
14
14
|
import { createTimers, Timers } from '../helpers/timers';
|
|
15
|
+
import { PhysicsSystem } from '../../systems/physics';
|
|
15
16
|
/**
|
|
16
17
|
* @public
|
|
17
18
|
* The engine is the part of the scene that sits in the middle and manages all of the other parts.
|
|
@@ -77,6 +78,12 @@ export { TriggerAreaEventsSystem };
|
|
|
77
78
|
*/
|
|
78
79
|
export declare const timers: Timers;
|
|
79
80
|
export { Timers, createTimers };
|
|
81
|
+
/**
|
|
82
|
+
* @public
|
|
83
|
+
* Physics helpers for applying impulses and forces to the player.
|
|
84
|
+
*/
|
|
85
|
+
export declare const Physics: PhysicsSystem;
|
|
86
|
+
export { PhysicsSystem };
|
|
80
87
|
/**
|
|
81
88
|
* @public
|
|
82
89
|
* Runs an async function
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* init and it'll be changing.
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.executeTask = exports.createTimers = exports.timers = exports.triggerAreaEventsSystem = exports.tweenSystem = exports.assetLoadLoadingStateSystem = exports.videoEventsSystem = exports.raycastSystem = exports.pointerEventsSystem = exports.inputSystem = exports.engine = void 0;
|
|
7
|
+
exports.executeTask = exports.Physics = exports.createTimers = exports.timers = exports.triggerAreaEventsSystem = exports.tweenSystem = exports.assetLoadLoadingStateSystem = exports.videoEventsSystem = exports.raycastSystem = exports.pointerEventsSystem = exports.inputSystem = exports.engine = void 0;
|
|
8
8
|
const engine_1 = require("../../engine");
|
|
9
9
|
const async_task_1 = require("../../systems/async-task");
|
|
10
10
|
const events_1 = require("../../systems/events");
|
|
@@ -18,6 +18,7 @@ const triggerArea_1 = require("../../systems/triggerArea");
|
|
|
18
18
|
const timers_1 = require("../helpers/timers");
|
|
19
19
|
Object.defineProperty(exports, "createTimers", { enumerable: true, get: function () { return timers_1.createTimers; } });
|
|
20
20
|
const globals_1 = require("../globals");
|
|
21
|
+
const physics_1 = require("../../systems/physics");
|
|
21
22
|
/**
|
|
22
23
|
* @public
|
|
23
24
|
* The engine is the part of the scene that sits in the middle and manages all of the other parts.
|
|
@@ -80,6 +81,11 @@ exports.timers = (0, timers_1.createTimers)(exports.engine);
|
|
|
80
81
|
(0, globals_1.setGlobalPolyfill)('clearTimeout', exports.timers.clearTimeout);
|
|
81
82
|
(0, globals_1.setGlobalPolyfill)('setInterval', exports.timers.setInterval);
|
|
82
83
|
(0, globals_1.setGlobalPolyfill)('clearInterval', exports.timers.clearInterval);
|
|
84
|
+
/**
|
|
85
|
+
* @public
|
|
86
|
+
* Physics helpers for applying impulses and forces to the player.
|
|
87
|
+
*/
|
|
88
|
+
exports.Physics = (0, physics_1.createPhysicsSystem)(exports.engine);
|
|
83
89
|
/**
|
|
84
90
|
* Adds pointer event collider system only in DEV env
|
|
85
91
|
*/
|
|
@@ -244,6 +244,12 @@ function crdtSceneSystem(engine, onProcessEntityComponentChange) {
|
|
|
244
244
|
const buffer = new ByteBuffer_1.ReadWriteByteBuffer();
|
|
245
245
|
// Then we send all the new crdtMessages that the transport needs to process
|
|
246
246
|
for (const message of crdtMessages) {
|
|
247
|
+
// Avoid echo messages
|
|
248
|
+
if (message.transportId === transportIndex)
|
|
249
|
+
continue;
|
|
250
|
+
// Redundant message for the transport
|
|
251
|
+
if (!transport.filter(message))
|
|
252
|
+
continue;
|
|
247
253
|
// Check if adding this message would exceed the size limit
|
|
248
254
|
const currentBufferSize = transportBuffer.toBinary().byteLength;
|
|
249
255
|
const messageSize = message.messageBuffer.byteLength;
|
|
@@ -260,12 +266,6 @@ function crdtSceneSystem(engine, onProcessEntityComponentChange) {
|
|
|
260
266
|
continue;
|
|
261
267
|
}
|
|
262
268
|
}
|
|
263
|
-
// Avoid echo messages
|
|
264
|
-
if (message.transportId === transportIndex)
|
|
265
|
-
continue;
|
|
266
|
-
// Redundant message for the transport
|
|
267
|
-
if (!transport.filter(message))
|
|
268
|
-
continue;
|
|
269
269
|
const { entityId } = findNetworkId(message);
|
|
270
270
|
const transformNeedsFix = 'componentId' in message &&
|
|
271
271
|
message.componentId === Transform.componentId &&
|