@iwsdk/core 0.4.2 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -7
- package/dist/asset/asset-manager.d.ts +136 -8
- package/dist/asset/asset-manager.d.ts.map +1 -1
- package/dist/asset/asset-manager.js +491 -47
- package/dist/asset/asset-manager.js.map +1 -1
- package/dist/asset/cache-manager.d.ts +4 -2
- package/dist/asset/cache-manager.d.ts.map +1 -1
- package/dist/asset/cache-manager.js +10 -3
- package/dist/asset/cache-manager.js.map +1 -1
- package/dist/asset/loaders/audio-loader.d.ts +1 -1
- package/dist/asset/loaders/audio-loader.d.ts.map +1 -1
- package/dist/asset/loaders/audio-loader.js +8 -26
- package/dist/asset/loaders/audio-loader.js.map +1 -1
- package/dist/asset/loaders/cached-asset-load.d.ts +35 -0
- package/dist/asset/loaders/cached-asset-load.d.ts.map +1 -0
- package/dist/asset/loaders/cached-asset-load.js +100 -0
- package/dist/asset/loaders/cached-asset-load.js.map +1 -0
- package/dist/asset/loaders/gltf-loader.d.ts +28 -1
- package/dist/asset/loaders/gltf-loader.d.ts.map +1 -1
- package/dist/asset/loaders/gltf-loader.js +254 -33
- package/dist/asset/loaders/gltf-loader.js.map +1 -1
- package/dist/asset/loaders/hdr-texture-loader.d.ts +1 -1
- package/dist/asset/loaders/hdr-texture-loader.d.ts.map +1 -1
- package/dist/asset/loaders/hdr-texture-loader.js +19 -29
- package/dist/asset/loaders/hdr-texture-loader.js.map +1 -1
- package/dist/asset/loaders/texture-loader.d.ts +1 -1
- package/dist/asset/loaders/texture-loader.d.ts.map +1 -1
- package/dist/asset/loaders/texture-loader.js +9 -26
- package/dist/asset/loaders/texture-loader.js.map +1 -1
- package/dist/asset/loaders/uikitml-loader.d.ts +12 -0
- package/dist/asset/loaders/uikitml-loader.d.ts.map +1 -0
- package/dist/asset/loaders/uikitml-loader.js +44 -0
- package/dist/asset/loaders/uikitml-loader.js.map +1 -0
- package/dist/audio/audio-pool.d.ts +7 -0
- package/dist/audio/audio-pool.d.ts.map +1 -1
- package/dist/audio/audio-pool.js.map +1 -1
- package/dist/audio/audio-system.d.ts +1 -0
- package/dist/audio/audio-system.d.ts.map +1 -1
- package/dist/audio/audio-system.js +16 -2
- package/dist/audio/audio-system.js.map +1 -1
- package/dist/camera/camera-system.d.ts.map +1 -1
- package/dist/camera/camera-system.js +5 -3
- package/dist/camera/camera-system.js.map +1 -1
- package/dist/depth/depth-sensing-system.d.ts.map +1 -1
- package/dist/depth/depth-sensing-system.js +31 -10
- package/dist/depth/depth-sensing-system.js.map +1 -1
- package/dist/ecs/builtin-components.d.ts +1239 -0
- package/dist/ecs/builtin-components.d.ts.map +1 -0
- package/dist/ecs/builtin-components.js +87 -0
- package/dist/ecs/builtin-components.js.map +1 -0
- package/dist/ecs/component-editor-metadata.d.ts +19 -0
- package/dist/ecs/component-editor-metadata.d.ts.map +1 -0
- package/dist/ecs/component-editor-metadata.js +19 -0
- package/dist/ecs/component-editor-metadata.js.map +1 -0
- package/dist/ecs/component-manifest.d.ts +24 -0
- package/dist/ecs/component-manifest.d.ts.map +1 -0
- package/dist/ecs/component-manifest.js +121 -0
- package/dist/ecs/component-manifest.js.map +1 -0
- package/dist/ecs/component.d.ts +1 -0
- package/dist/ecs/component.d.ts.map +1 -1
- package/dist/ecs/entity.d.ts +20 -2
- package/dist/ecs/entity.d.ts.map +1 -1
- package/dist/ecs/entity.js +59 -3
- package/dist/ecs/entity.js.map +1 -1
- package/dist/ecs/index.d.ts +3 -1
- package/dist/ecs/index.d.ts.map +1 -1
- package/dist/ecs/system.d.ts +9 -0
- package/dist/ecs/system.d.ts.map +1 -1
- package/dist/ecs/system.js.map +1 -1
- package/dist/ecs/world.d.ts +158 -4
- package/dist/ecs/world.d.ts.map +1 -1
- package/dist/ecs/world.js +304 -5
- package/dist/ecs/world.js.map +1 -1
- package/dist/environment/dome-gradient.d.ts +2 -1
- package/dist/environment/dome-gradient.d.ts.map +1 -1
- package/dist/environment/dome-gradient.js +2 -1
- package/dist/environment/dome-gradient.js.map +1 -1
- package/dist/environment/environment-system.d.ts +19 -3
- package/dist/environment/environment-system.d.ts.map +1 -1
- package/dist/environment/environment-system.js +78 -48
- package/dist/environment/environment-system.js.map +1 -1
- package/dist/environment/gradient-environment.d.ts.map +1 -1
- package/dist/environment/gradient-environment.js +13 -7
- package/dist/environment/gradient-environment.js.map +1 -1
- package/dist/environment/scene-ar-environment.d.ts +39 -0
- package/dist/environment/scene-ar-environment.d.ts.map +1 -0
- package/dist/environment/scene-ar-environment.js +93 -0
- package/dist/environment/scene-ar-environment.js.map +1 -0
- package/dist/grab/grab-helpers.d.ts +39 -0
- package/dist/grab/grab-helpers.d.ts.map +1 -0
- package/dist/grab/grab-helpers.js +59 -0
- package/dist/grab/grab-helpers.js.map +1 -0
- package/dist/grab/grab-system.d.ts +45 -0
- package/dist/grab/grab-system.d.ts.map +1 -1
- package/dist/grab/grab-system.js +67 -5
- package/dist/grab/grab-system.js.map +1 -1
- package/dist/grab/grab-warnings.d.ts +14 -0
- package/dist/grab/grab-warnings.d.ts.map +1 -0
- package/dist/grab/grab-warnings.js +53 -0
- package/dist/grab/grab-warnings.js.map +1 -0
- package/dist/grab/handles.d.ts.map +1 -1
- package/dist/grab/handles.js +8 -3
- package/dist/grab/handles.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +42 -16
- package/dist/index.js.map +1 -1
- package/dist/init/world-initializer.d.ts +11 -7
- package/dist/init/world-initializer.d.ts.map +1 -1
- package/dist/init/world-initializer.js +118 -57
- package/dist/init/world-initializer.js.map +1 -1
- package/dist/init/xr.d.ts +0 -1
- package/dist/init/xr.d.ts.map +1 -1
- package/dist/init/xr.js +12 -3
- package/dist/init/xr.js.map +1 -1
- package/dist/input/input-system.d.ts.map +1 -1
- package/dist/input/input-system.js +26 -11
- package/dist/input/input-system.js.map +1 -1
- package/dist/layers/xr-layer-state.d.ts +47 -0
- package/dist/layers/xr-layer-state.d.ts.map +1 -0
- package/dist/layers/xr-layer-state.js +23 -0
- package/dist/layers/xr-layer-state.js.map +1 -0
- package/dist/layers/xr-layer-system.d.ts +45 -93
- package/dist/layers/xr-layer-system.d.ts.map +1 -1
- package/dist/layers/xr-layer-system.js +4 -25
- package/dist/layers/xr-layer-system.js.map +1 -1
- package/dist/level/index.d.ts +6 -2
- package/dist/level/index.d.ts.map +1 -1
- package/dist/level/level-component-applier.d.ts +24 -0
- package/dist/level/level-component-applier.d.ts.map +1 -0
- package/dist/level/level-component-applier.js +199 -0
- package/dist/level/level-component-applier.js.map +1 -0
- package/dist/level/level-player-rig.d.ts +17 -0
- package/dist/level/level-player-rig.d.ts.map +1 -0
- package/dist/level/level-player-rig.js +113 -0
- package/dist/level/level-player-rig.js.map +1 -0
- package/dist/level/level-scene-environment.d.ts +28 -0
- package/dist/level/level-scene-environment.d.ts.map +1 -0
- package/dist/level/level-scene-environment.js +121 -0
- package/dist/level/level-scene-environment.js.map +1 -0
- package/dist/level/level-scene-json-importer.d.ts +53 -0
- package/dist/level/level-scene-json-importer.d.ts.map +1 -0
- package/dist/level/level-scene-json-importer.js +256 -0
- package/dist/level/level-scene-json-importer.js.map +1 -0
- package/dist/level/level-scene-material.d.ts +22 -0
- package/dist/level/level-scene-material.d.ts.map +1 -0
- package/dist/level/level-scene-material.js +231 -0
- package/dist/level/level-scene-material.js.map +1 -0
- package/dist/level/level-scene-object.d.ts +49 -0
- package/dist/level/level-scene-object.d.ts.map +1 -0
- package/dist/level/level-scene-object.js +396 -0
- package/dist/level/level-scene-object.js.map +1 -0
- package/dist/level/level-scene-primitive.d.ts +21 -0
- package/dist/level/level-scene-primitive.d.ts.map +1 -0
- package/dist/level/level-scene-primitive.js +159 -0
- package/dist/level/level-scene-primitive.js.map +1 -0
- package/dist/level/level-system.d.ts +14 -20
- package/dist/level/level-system.d.ts.map +1 -1
- package/dist/level/level-system.js +114 -49
- package/dist/level/level-system.js.map +1 -1
- package/dist/lighting/index.d.ts +10 -0
- package/dist/lighting/index.d.ts.map +1 -0
- package/dist/lighting/index.js +4 -0
- package/dist/lighting/index.js.map +1 -0
- package/dist/lighting/light-binding.d.ts +76 -0
- package/dist/lighting/light-binding.d.ts.map +1 -0
- package/dist/lighting/light-binding.js +229 -0
- package/dist/lighting/light-binding.js.map +1 -0
- package/dist/lighting/light-components.d.ts +885 -0
- package/dist/lighting/light-components.d.ts.map +1 -0
- package/dist/lighting/light-components.js +146 -0
- package/dist/lighting/light-components.js.map +1 -0
- package/dist/lighting/light-system.d.ts +919 -0
- package/dist/lighting/light-system.d.ts.map +1 -0
- package/dist/lighting/light-system.js +244 -0
- package/dist/lighting/light-system.js.map +1 -0
- package/dist/locomotion/locomotion-environment.d.ts +27 -0
- package/dist/locomotion/locomotion-environment.d.ts.map +1 -0
- package/dist/locomotion/locomotion-environment.js +22 -0
- package/dist/locomotion/locomotion-environment.js.map +1 -0
- package/dist/locomotion/locomotion.d.ts +5 -34
- package/dist/locomotion/locomotion.d.ts.map +1 -1
- package/dist/locomotion/locomotion.js +33 -31
- package/dist/locomotion/locomotion.js.map +1 -1
- package/dist/locomotion/materials/line.js +1 -1
- package/dist/locomotion/slide.d.ts.map +1 -1
- package/dist/locomotion/slide.js +2 -2
- package/dist/locomotion/slide.js.map +1 -1
- package/dist/mcp/ecs-debug-tools.d.ts.map +1 -1
- package/dist/mcp/ecs-debug-tools.js +10 -2
- package/dist/mcp/ecs-debug-tools.js.map +1 -1
- package/dist/mcp/mcp-runtime.d.ts.map +1 -1
- package/dist/mcp/mcp-runtime.js +4 -1
- package/dist/mcp/mcp-runtime.js.map +1 -1
- package/dist/mcp/scene-tools.d.ts +152 -1
- package/dist/mcp/scene-tools.d.ts.map +1 -1
- package/dist/mcp/scene-tools.js +538 -8
- package/dist/mcp/scene-tools.js.map +1 -1
- package/dist/physics/index.js +11 -4
- package/dist/physics/index.js.map +1 -1
- package/dist/physics/physics-system.d.ts +704 -11
- package/dist/physics/physics-system.d.ts.map +1 -1
- package/dist/physics/physics-system.js +307 -25
- package/dist/physics/physics-system.js.map +1 -1
- package/dist/physics/physicsBody.d.ts +40 -1
- package/dist/physics/physicsBody.d.ts.map +1 -1
- package/dist/physics/physicsBody.js +39 -0
- package/dist/physics/physicsBody.js.map +1 -1
- package/dist/physics/physicsManipulation.d.ts +1 -1
- package/dist/physics/physicsManipulation.d.ts.map +1 -1
- package/dist/physics/physicsShape.d.ts +5 -3
- package/dist/physics/physicsShape.d.ts.map +1 -1
- package/dist/physics/physicsShape.js +2 -1
- package/dist/physics/physicsShape.js.map +1 -1
- package/dist/physics/utils.d.ts +10 -0
- package/dist/physics/utils.d.ts.map +1 -1
- package/dist/physics/utils.js +82 -48
- package/dist/physics/utils.js.map +1 -1
- package/dist/project/index.d.ts +11 -0
- package/dist/project/index.d.ts.map +1 -0
- package/dist/project/index.js +5 -0
- package/dist/project/index.js.map +1 -0
- package/dist/project/normalize.d.ts +19 -0
- package/dist/project/normalize.d.ts.map +1 -0
- package/dist/project/normalize.js +206 -0
- package/dist/project/normalize.js.map +1 -0
- package/dist/project/paths.d.ts +21 -0
- package/dist/project/paths.d.ts.map +1 -0
- package/dist/project/paths.js +75 -0
- package/dist/project/paths.js.map +1 -0
- package/dist/project/types.d.ts +159 -0
- package/dist/project/types.d.ts.map +1 -0
- package/dist/project/types.js +11 -0
- package/dist/project/types.js.map +1 -0
- package/dist/project/validation.d.ts +17 -0
- package/dist/project/validation.d.ts.map +1 -0
- package/dist/project/validation.js +501 -0
- package/dist/project/validation.js.map +1 -0
- package/dist/scene-understanding/scene-understanding-system.d.ts +23 -2
- package/dist/scene-understanding/scene-understanding-system.d.ts.map +1 -1
- package/dist/scene-understanding/scene-understanding-system.js +76 -54
- package/dist/scene-understanding/scene-understanding-system.js.map +1 -1
- package/dist/schemas/iwsdk-project.v1.schema.json +305 -0
- package/dist/transform/transform-component.d.ts +32 -0
- package/dist/transform/transform-component.d.ts.map +1 -0
- package/dist/transform/transform-component.js +24 -0
- package/dist/transform/transform-component.js.map +1 -0
- package/dist/transform/transform.d.ts +9 -42
- package/dist/transform/transform.d.ts.map +1 -1
- package/dist/transform/transform.js +8 -25
- package/dist/transform/transform.js.map +1 -1
- package/dist/ui/document.d.ts +9 -2
- package/dist/ui/document.d.ts.map +1 -1
- package/dist/ui/document.js +30 -5
- package/dist/ui/document.js.map +1 -1
- package/dist/ui/follow-component.d.ts +57 -0
- package/dist/ui/follow-component.d.ts.map +1 -0
- package/dist/ui/follow-component.js +38 -0
- package/dist/ui/follow-component.js.map +1 -0
- package/dist/ui/follow.d.ts +28 -102
- package/dist/ui/follow.d.ts.map +1 -1
- package/dist/ui/follow.js +10 -48
- package/dist/ui/follow.js.map +1 -1
- package/dist/ui/index.d.ts +3 -0
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/panel-components.d.ts +29 -0
- package/dist/ui/panel-components.d.ts.map +1 -0
- package/dist/ui/panel-components.js +22 -0
- package/dist/ui/panel-components.js.map +1 -0
- package/dist/ui/screenspace-component.d.ts +39 -0
- package/dist/ui/screenspace-component.d.ts.map +1 -0
- package/dist/ui/screenspace-component.js +21 -0
- package/dist/ui/screenspace-component.js.map +1 -0
- package/dist/ui/screenspace.d.ts +47 -135
- package/dist/ui/screenspace.d.ts.map +1 -1
- package/dist/ui/screenspace.js +127 -65
- package/dist/ui/screenspace.js.map +1 -1
- package/dist/ui/ui.d.ts +20 -122
- package/dist/ui/ui.d.ts.map +1 -1
- package/dist/ui/ui.js +44 -107
- package/dist/ui/ui.js.map +1 -1
- package/dist/ui/uikitml-asset.d.ts +25 -0
- package/dist/ui/uikitml-asset.d.ts.map +1 -0
- package/dist/ui/uikitml-asset.js +56 -0
- package/dist/ui/uikitml-asset.js.map +1 -0
- package/dist/ui/uikitml.d.ts +41 -0
- package/dist/ui/uikitml.d.ts.map +1 -0
- package/dist/ui/uikitml.js +119 -0
- package/dist/ui/uikitml.js.map +1 -0
- package/dist/vendor/draco/gltf/draco_encoder.js +0 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/visibility/visibility-component.d.ts +14 -0
- package/dist/visibility/visibility-component.d.ts.map +1 -0
- package/dist/visibility/visibility-component.js +15 -0
- package/dist/visibility/visibility-component.js.map +1 -0
- package/dist/visibility/visibility.d.ts +3 -10
- package/dist/visibility/visibility.d.ts.map +1 -1
- package/dist/visibility/visibility.js +9 -12
- package/dist/visibility/visibility.js.map +1 -1
- package/package.json +48 -19
- package/LICENSE +0 -21
- package/dist/ecs/component-registry.d.ts +0 -54
- package/dist/ecs/component-registry.d.ts.map +0 -1
- package/dist/ecs/component-registry.js +0 -86
- package/dist/ecs/component-registry.js.map +0 -1
- package/dist/level/level-entity-creator.d.ts +0 -27
- package/dist/level/level-entity-creator.d.ts.map +0 -1
- package/dist/level/level-entity-creator.js +0 -108
- package/dist/level/level-entity-creator.js.map +0 -1
- package/dist/level/level-glxf-importer.d.ts +0 -23
- package/dist/level/level-glxf-importer.d.ts.map +0 -1
- package/dist/level/level-glxf-importer.js +0 -40
- package/dist/level/level-glxf-importer.js.map +0 -1
|
@@ -4,56 +4,24 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* 3D transform component that binds an entity to a Three.js Object3D.
|
|
10
|
-
*
|
|
11
|
-
* @remarks
|
|
12
|
-
* - The {@link TransformSystem} wires Object3D.position/quaternion/scale to
|
|
13
|
-
* component views for zero‑copy updates and parenting.
|
|
14
|
-
* - Default values are `NaN` so an existing Object3D keeps its initial transform
|
|
15
|
-
* unless a value is explicitly written by code or GLXF.
|
|
16
|
-
* - Set `parent` to reparent under another entity. When unset, entities are
|
|
17
|
-
* automatically parented under the active level root (or scene if persistent).
|
|
18
|
-
*
|
|
19
|
-
* @category Scene
|
|
20
|
-
* @hideineditor
|
|
21
|
-
*/
|
|
22
|
-
export declare const Transform: import("elics").Component<{
|
|
23
|
-
position: {
|
|
24
|
-
type: Types.Vec3;
|
|
25
|
-
default: [number, number, number];
|
|
26
|
-
};
|
|
27
|
-
orientation: {
|
|
28
|
-
type: Types.Vec4;
|
|
29
|
-
default: [number, number, number, number];
|
|
30
|
-
};
|
|
31
|
-
scale: {
|
|
32
|
-
type: Types.Vec3;
|
|
33
|
-
default: [number, number, number];
|
|
34
|
-
};
|
|
35
|
-
parent: {
|
|
36
|
-
type: Types.Entity;
|
|
37
|
-
default: any;
|
|
38
|
-
};
|
|
39
|
-
}>;
|
|
7
|
+
export { Transform } from './transform-component.js';
|
|
40
8
|
declare const TransformSystem_base: import("elics").SystemConstructor<import("elics").SystemSchema, {
|
|
41
9
|
transform: {
|
|
42
10
|
required: import("elics").Component<{
|
|
43
11
|
position: {
|
|
44
|
-
type: Types.Vec3;
|
|
12
|
+
type: import("elics").Types.Vec3;
|
|
45
13
|
default: [number, number, number];
|
|
46
14
|
};
|
|
47
15
|
orientation: {
|
|
48
|
-
type: Types.Vec4;
|
|
16
|
+
type: import("elics").Types.Vec4;
|
|
49
17
|
default: [number, number, number, number];
|
|
50
18
|
};
|
|
51
19
|
scale: {
|
|
52
|
-
type: Types.Vec3;
|
|
20
|
+
type: import("elics").Types.Vec3;
|
|
53
21
|
default: [number, number, number];
|
|
54
22
|
};
|
|
55
23
|
parent: {
|
|
56
|
-
type: Types.Entity;
|
|
24
|
+
type: import("elics").Types.Entity;
|
|
57
25
|
default: any;
|
|
58
26
|
};
|
|
59
27
|
}>[];
|
|
@@ -62,19 +30,19 @@ declare const TransformSystem_base: import("elics").SystemConstructor<import("el
|
|
|
62
30
|
transform: {
|
|
63
31
|
required: import("elics").Component<{
|
|
64
32
|
position: {
|
|
65
|
-
type: Types.Vec3;
|
|
33
|
+
type: import("elics").Types.Vec3;
|
|
66
34
|
default: [number, number, number];
|
|
67
35
|
};
|
|
68
36
|
orientation: {
|
|
69
|
-
type: Types.Vec4;
|
|
37
|
+
type: import("elics").Types.Vec4;
|
|
70
38
|
default: [number, number, number, number];
|
|
71
39
|
};
|
|
72
40
|
scale: {
|
|
73
|
-
type: Types.Vec3;
|
|
41
|
+
type: import("elics").Types.Vec3;
|
|
74
42
|
default: [number, number, number];
|
|
75
43
|
};
|
|
76
44
|
parent: {
|
|
77
|
-
type: Types.Entity;
|
|
45
|
+
type: import("elics").Types.Entity;
|
|
78
46
|
default: any;
|
|
79
47
|
};
|
|
80
48
|
}>[];
|
|
@@ -96,5 +64,4 @@ export declare class TransformSystem extends TransformSystem_base {
|
|
|
96
64
|
init(): void;
|
|
97
65
|
update(): void;
|
|
98
66
|
}
|
|
99
|
-
export {};
|
|
100
67
|
//# sourceMappingURL=transform.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/transform/transform.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/transform/transform.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsIrD;;;;;;;;;;;GAWG;AACH,qBAAa,eAAgB,SAAQ,oBAEnC;IACA,IAAI,IAAI,IAAI;IAKZ,MAAM,IAAI,IAAI;CA+Bf"}
|
|
@@ -1,22 +1,25 @@
|
|
|
1
|
-
import { createComponent, Types } from 'elics';
|
|
2
1
|
import { NullEntity } from '../ecs/entity.js';
|
|
3
2
|
import { createSystem } from '../ecs/system.js';
|
|
4
3
|
import '../level/level-system.js';
|
|
5
4
|
import { LevelTag } from '../level/level-tag.js';
|
|
6
|
-
import '
|
|
7
|
-
import '../asset/asset-manager.js';
|
|
8
|
-
import '../asset/cache-manager.js';
|
|
5
|
+
import 'elics';
|
|
9
6
|
import '@pmndrs/uikit';
|
|
10
7
|
import '@preact/signals-core';
|
|
11
8
|
import { Vector3, Quaternion, Euler } from 'three';
|
|
9
|
+
import '../runtime/three.js';
|
|
12
10
|
import '../ui/ui.js';
|
|
11
|
+
import '@drawcall/uikitml';
|
|
12
|
+
import '../asset/asset-manager.js';
|
|
13
|
+
import '../asset/cache-manager.js';
|
|
13
14
|
import '../ui/follow.js';
|
|
14
15
|
import '../ui/screenspace.js';
|
|
16
|
+
import '@iwsdk/scene-composition';
|
|
17
|
+
import 'three/examples/jsm/geometries/RoundedBoxGeometry.js';
|
|
15
18
|
import '../level/level-root.js';
|
|
16
|
-
import '../runtime/three.js';
|
|
17
19
|
import { SyncedEuler } from './synced-euler.js';
|
|
18
20
|
import { SyncedQuaternion } from './synced-quaternion.js';
|
|
19
21
|
import { SyncedVector3 } from './synced-vector3.js';
|
|
22
|
+
import { Transform } from './transform-component.js';
|
|
20
23
|
|
|
21
24
|
/**
|
|
22
25
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
@@ -24,26 +27,6 @@ import { SyncedVector3 } from './synced-vector3.js';
|
|
|
24
27
|
* This source code is licensed under the MIT license found in the
|
|
25
28
|
* LICENSE file in the root directory of this source tree.
|
|
26
29
|
*/
|
|
27
|
-
/**
|
|
28
|
-
* 3D transform component that binds an entity to a Three.js Object3D.
|
|
29
|
-
*
|
|
30
|
-
* @remarks
|
|
31
|
-
* - The {@link TransformSystem} wires Object3D.position/quaternion/scale to
|
|
32
|
-
* component views for zero‑copy updates and parenting.
|
|
33
|
-
* - Default values are `NaN` so an existing Object3D keeps its initial transform
|
|
34
|
-
* unless a value is explicitly written by code or GLXF.
|
|
35
|
-
* - Set `parent` to reparent under another entity. When unset, entities are
|
|
36
|
-
* automatically parented under the active level root (or scene if persistent).
|
|
37
|
-
*
|
|
38
|
-
* @category Scene
|
|
39
|
-
* @hideineditor
|
|
40
|
-
*/
|
|
41
|
-
const Transform = createComponent('Transform', {
|
|
42
|
-
position: { type: Types.Vec3, default: [NaN, NaN, NaN] }, // Local position [x,y,z]; NaN preserves Object3D value
|
|
43
|
-
orientation: { type: Types.Vec4, default: [NaN, NaN, NaN, NaN] }, // Local rotation quaternion [x,y,z,w]; NaN preserves
|
|
44
|
-
scale: { type: Types.Vec3, default: [NaN, NaN, NaN] }, // Local scale [x,y,z]; NaN preserves
|
|
45
|
-
parent: { type: Types.Entity, default: undefined }, // Parent entity for hierarchy (defaults to level root)
|
|
46
|
-
}, 'Component for 3D transformation (position, rotation, scale)');
|
|
47
30
|
function attachToEntity(entity) {
|
|
48
31
|
const object3D = entity.object3D;
|
|
49
32
|
if (!object3D) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.js","sources":["../../src/transform/transform.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transform.js","sources":["../../src/transform/transform.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;AAKG;AAaH,SAAS,cAAc,CAAC,MAAc,EAAA;AACpC,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ;IAChC,IAAI,CAAC,QAAQ,EAAE;QACb;IACF;AACA,IAAA,IAAK,QAAgB,CAAC,mBAAmB,EAAE;QACzC;IACF;AACC,IAAA,QAAgB,CAAC,mBAAmB,GAAG,IAAI;AAE5C,IAAA,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK;IACjC,QAAQ,CAAC,YAAY,GAAG,MAAM,CAAC,aAAa,CAC1C,SAAS,EACT,UAAU,CACK;IACjB,QAAQ,CAAC,cAAc,GAAG,MAAM,CAAC,aAAa,CAC5C,SAAS,EACT,aAAa,CACE;IACjB,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAiB;;IAG7E,IAAI,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAC5C,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAClD;IACA,IAAI,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAC9C,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;IACtD;IACA,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QACzC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IAC5C;AAEA,IAAA,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,EAAE;QAC1C,KAAK,EAAE,IAAI,aAAa,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC;AAC3D,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,UAAU,EAAE,IAAI;AACjB,KAAA,CAAC;AAEF,IAAA,MAAM,UAAU,GAAG,IAAI,gBAAgB,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC;AAE5E,IAAA,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAE;AAC5C,QAAA,KAAK,EAAE,UAAU;AACjB,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,UAAU,EAAE,IAAI;AACjB,KAAA,CAAC;;AAGF,IAAA,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,EAAE;QAC1C,KAAK,EAAE,IAAI,WAAW;AACnB,aAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ;aACtB,mBAAmB,CAAC,UAAU,CAAC;AAClC,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,UAAU,EAAE,IAAI;AACjB,KAAA,CAAC;AAEF,IAAA,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE;QACvC,KAAK,EAAE,IAAI,aAAa,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;AACxD,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,UAAU,EAAE,IAAI;AACjB,KAAA,CAAC;IAEF,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC;AACnC,IAAA,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE;QACxC,GAAG,EAAE,MAAK;YACR,OAAO,QAAQ,CAAC,OAAO;QACzB,CAAC;AACD,QAAA,GAAG,EAAE,CAAC,KAAK,KAAI;;AACb,YAAA,QAAQ,CAAC,OAAO,GAAG,KAAK;YACxB,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAA,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,MAAA,GAAA,MAAA,GAAL,KAAK,CAAE,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,UAAU;QACtE,CAAC;AACD,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,UAAU,EAAE,IAAI;AACjB,KAAA,CAAC;AACJ;AAEA,SAAS,gBAAgB,CAAC,MAAc,EAAA;AACtC,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ;IAChC,IAAI,CAAC,QAAQ,EAAE;QACb;IACF;AACA,IAAA,IAAI,CAAE,QAAgB,CAAC,mBAAmB,EAAE;QAC1C;IACF;IAEA,OAAO,QAAQ,CAAC,SAAS;IACzB,OAAO,QAAQ,CAAC,YAAY;IAC5B,OAAO,QAAQ,CAAC,cAAc;IAC9B,OAAO,QAAQ,CAAC,SAAS;AAEzB,IAAA,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,EAAE;QAC1C,KAAK,EAAE,IAAI,OAAO,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAC5C,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,UAAU,EAAE,IAAI;AACjB,KAAA,CAAC;AAEF,IAAA,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAE;QAC5C,KAAK,EAAE,IAAI,UAAU,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;AACjD,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,UAAU,EAAE,IAAI;AACjB,KAAA,CAAC;AAEF,IAAA,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,EAAE;QAC1C,KAAK,EAAE,IAAI,KAAK,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAC1C,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,UAAU,EAAE,IAAI;AACjB,KAAA,CAAC;AAEF,IAAA,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE;QACvC,KAAK,EAAE,IAAI,OAAO,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AACzC,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,UAAU,EAAE,IAAI;AACjB,KAAA,CAAC;AAEF,IAAA,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE;QACxC,KAAK,EAAE,QAAQ,CAAC,OAAO;AACvB,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,UAAU,EAAE,IAAI;AACjB,KAAA,CAAC;IAEF,OAAO,QAAQ,CAAC,OAAO;IACvB,OAAQ,QAAgB,CAAC,mBAAmB;AAC9C;AAEA;;;;;;;;;;;AAWG;AACG,MAAO,eAAgB,SAAQ,YAAY,CAAC;AAChD,IAAA,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE;CACrC,CAAC,CAAA;IACA,IAAI,GAAA;QACF,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC;QAC3D,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,YAAY,EAAE,gBAAgB,CAAC;IAClE;IAEA,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,KAAI;;AACjD,YAAA,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ;YAC9B,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;gBAC1C;YACF;YACA,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;YACzD,MAAM,YAAY,GAAG,YAAY,KAAA,IAAA,IAAZ,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZ,YAAY,CAAE,QAAQ;YAE3C,IAAI,CAAC,YAAY,EAAE;;gBAEjB,IAAI,CAAA,CAAA,EAAA,GAAA,MAAM,CAAC,MAAM,0CAAE,SAAS,MAAK,SAAS,EAAE;;AAE1C,oBAAA,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS;gBAC/D;qBAAO;;AAEL,oBAAA,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ;AAC/C,0BAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;AACzB,0BAAE,IAAI,CAAC,KAAK,CAAC,WAAW;oBAC1B,OAAO,CAAC,IAAI,CACV,CAAA,OAAA,EAAU,MAAM,CAAC,KAAK,CAAA,yBAAA,EAA4B,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,mBAAmB,GAAG,YAAY,CAAA,0DAAA,CAA4D,CACjL;AACD,oBAAA,YAAY,CAAC,QAAS,CAAC,GAAG,CAAC,MAAM,CAAC;oBAClC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC;gBACpD;YACF;AAAO,iBAAA,IAAI,YAAY,KAAK,MAAM,CAAC,MAAM,EAAE;;AAEzC,gBAAA,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;YAC1B;AACF,QAAA,CAAC,CAAC;IACJ;AACD;;;;"}
|
package/dist/ui/document.d.ts
CHANGED
|
@@ -24,20 +24,23 @@ export declare class UIKitDocument extends Group {
|
|
|
24
24
|
private classMap;
|
|
25
25
|
private _rootElement;
|
|
26
26
|
private _abortController;
|
|
27
|
+
private _disposed;
|
|
27
28
|
/** Reactive target width in meters. Set via {@link setTargetDimensions}. */
|
|
28
29
|
readonly targetWidth: Signal<number>;
|
|
29
30
|
/** Reactive target height in meters. Set via {@link setTargetDimensions}. */
|
|
30
31
|
readonly targetHeight: Signal<number>;
|
|
31
32
|
/**
|
|
32
33
|
* Create a document backed by a UIKit root component.
|
|
33
|
-
* @param rootComponent The root `Component` produced
|
|
34
|
+
* @param rootComponent The root `Component` produced from a UIKitML document.
|
|
34
35
|
*/
|
|
35
36
|
constructor(rootComponent: Component<any>);
|
|
36
37
|
/**
|
|
37
38
|
* Return the first element with a matching `id` (UIKit property).
|
|
38
39
|
* @param id The element identifier without the `#` prefix.
|
|
39
40
|
*/
|
|
40
|
-
getElementById(id: string):
|
|
41
|
+
getElementById<T extends Component<any> = Component<any>>(id: string): T | null;
|
|
42
|
+
/** Return a typed element or throw a source-oriented lookup error. */
|
|
43
|
+
requireElementById<T extends Component<any> = Component<any>>(id: string): T;
|
|
41
44
|
/**
|
|
42
45
|
* Return all elements that include `className` in their class list.
|
|
43
46
|
* @param className The class without the preceding dot.
|
|
@@ -85,6 +88,8 @@ export declare class UIKitDocument extends Group {
|
|
|
85
88
|
* @param height Target height in meters.
|
|
86
89
|
*/
|
|
87
90
|
setTargetDimensions(width: number, height: number): void;
|
|
91
|
+
/** Restore intrinsic UIKit size so the parent entity transform owns scaling. */
|
|
92
|
+
clearTargetDimensions(): void;
|
|
88
93
|
/**
|
|
89
94
|
* Current intrinsic size of the UIKit root component (in UIKit units, centimeters),
|
|
90
95
|
* if available from the underlying component's `size` signal.
|
|
@@ -100,6 +105,8 @@ export declare class UIKitDocument extends Group {
|
|
|
100
105
|
};
|
|
101
106
|
/** The root UIKit component for this document. */
|
|
102
107
|
get rootElement(): Component<any>;
|
|
108
|
+
/** Whether this document has released its UIKit resources. */
|
|
109
|
+
get disposed(): boolean;
|
|
103
110
|
/**
|
|
104
111
|
* Dispose of internal resources and detach children. Safe to call multiple times.
|
|
105
112
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/ui/document.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAU,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAY,MAAM,OAAO,CAAC;AAExC;;;;;;;;;;;GAWG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACtC,OAAO,CAAC,UAAU,CAAqC;IACvD,OAAO,CAAC,QAAQ,CAAuC;IACvD,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,gBAAgB,CAAyB;
|
|
1
|
+
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/ui/document.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/document.js
CHANGED
|
@@ -23,13 +23,14 @@ import { Group } from 'three';
|
|
|
23
23
|
class UIKitDocument extends Group {
|
|
24
24
|
/**
|
|
25
25
|
* Create a document backed by a UIKit root component.
|
|
26
|
-
* @param rootComponent The root `Component` produced
|
|
26
|
+
* @param rootComponent The root `Component` produced from a UIKitML document.
|
|
27
27
|
*/
|
|
28
28
|
constructor(rootComponent) {
|
|
29
29
|
super();
|
|
30
30
|
this.elementMap = new Map();
|
|
31
31
|
this.classMap = new Map();
|
|
32
32
|
this._abortController = new AbortController();
|
|
33
|
+
this._disposed = false;
|
|
33
34
|
/** Reactive target width in meters. Set via {@link setTargetDimensions}. */
|
|
34
35
|
this.targetWidth = signal(0);
|
|
35
36
|
/** Reactive target height in meters. Set via {@link setTargetDimensions}. */
|
|
@@ -44,7 +45,16 @@ class UIKitDocument extends Group {
|
|
|
44
45
|
* @param id The element identifier without the `#` prefix.
|
|
45
46
|
*/
|
|
46
47
|
getElementById(id) {
|
|
47
|
-
|
|
48
|
+
var _a;
|
|
49
|
+
return (_a = this.elementMap.get(id)) !== null && _a !== void 0 ? _a : null;
|
|
50
|
+
}
|
|
51
|
+
/** Return a typed element or throw a source-oriented lookup error. */
|
|
52
|
+
requireElementById(id) {
|
|
53
|
+
const element = this.getElementById(id);
|
|
54
|
+
if (!element) {
|
|
55
|
+
throw new Error(`UIKitML element "#${id}" was not found`);
|
|
56
|
+
}
|
|
57
|
+
return element;
|
|
48
58
|
}
|
|
49
59
|
/**
|
|
50
60
|
* Return all elements that include `className` in their class list.
|
|
@@ -183,9 +193,11 @@ class UIKitDocument extends Group {
|
|
|
183
193
|
const targetWorldWidth = this.targetWidth.value;
|
|
184
194
|
const targetWorldHeight = this.targetHeight.value;
|
|
185
195
|
const uiNaturalSize = (_a = this._rootElement.size) === null || _a === void 0 ? void 0 : _a.value;
|
|
186
|
-
if (targetWorldWidth
|
|
187
|
-
|
|
188
|
-
|
|
196
|
+
if (targetWorldWidth <= 0 || targetWorldHeight <= 0) {
|
|
197
|
+
this.scale.setScalar(1);
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
if (uiNaturalSize &&
|
|
189
201
|
Array.isArray(uiNaturalSize) &&
|
|
190
202
|
uiNaturalSize.length >= 2) {
|
|
191
203
|
const [uiWidth, uiHeight] = uiNaturalSize;
|
|
@@ -214,6 +226,11 @@ class UIKitDocument extends Group {
|
|
|
214
226
|
this.targetWidth.value = width;
|
|
215
227
|
this.targetHeight.value = height;
|
|
216
228
|
}
|
|
229
|
+
/** Restore intrinsic UIKit size so the parent entity transform owns scaling. */
|
|
230
|
+
clearTargetDimensions() {
|
|
231
|
+
this.targetWidth.value = 0;
|
|
232
|
+
this.targetHeight.value = 0;
|
|
233
|
+
}
|
|
217
234
|
/**
|
|
218
235
|
* Current intrinsic size of the UIKit root component (in UIKit units, centimeters),
|
|
219
236
|
* if available from the underlying component's `size` signal.
|
|
@@ -240,10 +257,18 @@ class UIKitDocument extends Group {
|
|
|
240
257
|
get rootElement() {
|
|
241
258
|
return this._rootElement;
|
|
242
259
|
}
|
|
260
|
+
/** Whether this document has released its UIKit resources. */
|
|
261
|
+
get disposed() {
|
|
262
|
+
return this._disposed;
|
|
263
|
+
}
|
|
243
264
|
/**
|
|
244
265
|
* Dispose of internal resources and detach children. Safe to call multiple times.
|
|
245
266
|
*/
|
|
246
267
|
dispose() {
|
|
268
|
+
if (this._disposed) {
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
271
|
+
this._disposed = true;
|
|
247
272
|
// Abort all effects to clean up signal subscriptions
|
|
248
273
|
this._abortController.abort();
|
|
249
274
|
// Dispose of the root UIKit Component which will clean up all resources
|
package/dist/ui/document.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.js","sources":["../../src/ui/document.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAAA;;;;;AAKG;AAMH;;;;;;;;;;;AAWG;AACG,MAAO,aAAc,SAAQ,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"document.js","sources":["../../src/ui/document.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import { Types } from '../ecs/component.js';
|
|
8
|
+
/** Behavior modes for {@link Follower}. @category UI */
|
|
9
|
+
export declare const FollowBehavior: {
|
|
10
|
+
FaceTarget: string;
|
|
11
|
+
PivotY: string;
|
|
12
|
+
NoRotation: string;
|
|
13
|
+
};
|
|
14
|
+
/** Makes an entity follow a target Object3D. */
|
|
15
|
+
export declare const Follower: import("elics").Component<{
|
|
16
|
+
target: {
|
|
17
|
+
type: Types.Object;
|
|
18
|
+
default: undefined;
|
|
19
|
+
widget: string;
|
|
20
|
+
required: boolean;
|
|
21
|
+
help: string;
|
|
22
|
+
};
|
|
23
|
+
offsetPosition: {
|
|
24
|
+
type: Types.Vec3;
|
|
25
|
+
default: [number, number, number];
|
|
26
|
+
};
|
|
27
|
+
behavior: {
|
|
28
|
+
type: Types.Enum;
|
|
29
|
+
enum: {
|
|
30
|
+
FaceTarget: string;
|
|
31
|
+
PivotY: string;
|
|
32
|
+
NoRotation: string;
|
|
33
|
+
};
|
|
34
|
+
default: string;
|
|
35
|
+
};
|
|
36
|
+
maxAngle: {
|
|
37
|
+
type: Types.Float32;
|
|
38
|
+
default: number;
|
|
39
|
+
};
|
|
40
|
+
tolerance: {
|
|
41
|
+
type: Types.Float32;
|
|
42
|
+
default: number;
|
|
43
|
+
};
|
|
44
|
+
speed: {
|
|
45
|
+
type: Types.Float32;
|
|
46
|
+
default: number;
|
|
47
|
+
};
|
|
48
|
+
needsPositionSync: {
|
|
49
|
+
type: Types.Boolean;
|
|
50
|
+
default: true;
|
|
51
|
+
};
|
|
52
|
+
_followTarget: {
|
|
53
|
+
type: Types.Vec3;
|
|
54
|
+
default: [number, number, number];
|
|
55
|
+
};
|
|
56
|
+
}>;
|
|
57
|
+
//# sourceMappingURL=follow-component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"follow-component.d.ts","sourceRoot":"","sources":["../../src/ui/follow-component.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAmB,MAAM,qBAAqB,CAAC;AAE7D,wDAAwD;AACxD,eAAO,MAAM,cAAc;;;;CAI1B,CAAC;AAEF,gDAAgD;AAChD,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBpB,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { createComponent, Types } from 'elics';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
5
|
+
*
|
|
6
|
+
* This source code is licensed under the MIT license found in the
|
|
7
|
+
* LICENSE file in the root directory of this source tree.
|
|
8
|
+
*/
|
|
9
|
+
/** Behavior modes for {@link Follower}. @category UI */
|
|
10
|
+
const FollowBehavior = {
|
|
11
|
+
FaceTarget: 'face-target',
|
|
12
|
+
PivotY: 'pivot-y',
|
|
13
|
+
NoRotation: 'no-rotation',
|
|
14
|
+
};
|
|
15
|
+
/** Makes an entity follow a target Object3D. */
|
|
16
|
+
const Follower = createComponent('Follower', {
|
|
17
|
+
target: {
|
|
18
|
+
type: Types.Object,
|
|
19
|
+
default: undefined,
|
|
20
|
+
widget: 'entity',
|
|
21
|
+
required: true,
|
|
22
|
+
help: 'Drag an authored or built-in scene entity here',
|
|
23
|
+
},
|
|
24
|
+
offsetPosition: { type: Types.Vec3, default: [0, 0, 0] },
|
|
25
|
+
behavior: {
|
|
26
|
+
type: Types.Enum,
|
|
27
|
+
enum: FollowBehavior,
|
|
28
|
+
default: FollowBehavior.PivotY,
|
|
29
|
+
},
|
|
30
|
+
maxAngle: { type: Types.Float32, default: 30 },
|
|
31
|
+
tolerance: { type: Types.Float32, default: 0.4 },
|
|
32
|
+
speed: { type: Types.Float32, default: 1 },
|
|
33
|
+
needsPositionSync: { type: Types.Boolean, default: true },
|
|
34
|
+
_followTarget: { type: Types.Vec3, default: [0, 0, 0] },
|
|
35
|
+
}, 'Component for following another object');
|
|
36
|
+
|
|
37
|
+
export { FollowBehavior, Follower };
|
|
38
|
+
//# sourceMappingURL=follow-component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"follow-component.js","sources":["../../src/ui/follow-component.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;;;AAKG;AAIH;AACO,MAAM,cAAc,GAAG;AAC5B,IAAA,UAAU,EAAE,aAAa;AACzB,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,UAAU,EAAE,aAAa;;AAG3B;AACO,MAAM,QAAQ,GAAG,eAAe,CACrC,UAAU,EACV;AACE,IAAA,MAAM,EAAE;QACN,IAAI,EAAE,KAAK,CAAC,MAAM;AAClB,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,IAAI,EAAE,gDAAgD;AACvD,KAAA;AACD,IAAA,cAAc,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;AACxD,IAAA,QAAQ,EAAE;QACR,IAAI,EAAE,KAAK,CAAC,IAAI;AAChB,QAAA,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,cAAc,CAAC,MAAM;AAC/B,KAAA;IACD,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;IAC9C,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE;IAChD,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE;IAC1C,iBAAiB,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AACzD,IAAA,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;CACxD,EACD,wCAAwC;;;;"}
|