@needle-tools/engine 3.2.14-alpha → 3.3.0-alpha

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.
Files changed (101) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/needle-engine.js +42139 -35749
  3. package/dist/needle-engine.min.js +694 -516
  4. package/dist/needle-engine.umd.cjs +696 -518
  5. package/lib/engine/codegen/register_types.js +4 -2
  6. package/lib/engine/codegen/register_types.js.map +1 -1
  7. package/lib/engine/engine_addressables.d.ts +3 -3
  8. package/lib/engine/engine_addressables.js +30 -9
  9. package/lib/engine/engine_addressables.js.map +1 -1
  10. package/lib/engine/engine_element.js +1 -1
  11. package/lib/engine/engine_element.js.map +1 -1
  12. package/lib/engine/engine_gameobject.d.ts +2 -1
  13. package/lib/engine/engine_gameobject.js +17 -0
  14. package/lib/engine/engine_gameobject.js.map +1 -1
  15. package/lib/engine/engine_input.js +10 -0
  16. package/lib/engine/engine_input.js.map +1 -1
  17. package/lib/engine/engine_license.js +11 -24
  18. package/lib/engine/engine_license.js.map +1 -1
  19. package/lib/engine/engine_math.d.ts +4 -0
  20. package/lib/engine/engine_math.js +6 -0
  21. package/lib/engine/engine_math.js.map +1 -1
  22. package/lib/engine-components/AnimatorController.js +7 -2
  23. package/lib/engine-components/AnimatorController.js.map +1 -1
  24. package/lib/engine-components/OrbitControls.js +13 -4
  25. package/lib/engine-components/OrbitControls.js.map +1 -1
  26. package/lib/engine-components/SceneSwitcher.d.ts +1 -1
  27. package/lib/engine-components/SceneSwitcher.js +25 -1
  28. package/lib/engine-components/SceneSwitcher.js.map +1 -1
  29. package/lib/engine-components/TransformGizmo.d.ts +8 -4
  30. package/lib/engine-components/TransformGizmo.js +62 -63
  31. package/lib/engine-components/TransformGizmo.js.map +1 -1
  32. package/lib/engine-components/codegen/components.d.ts +2 -1
  33. package/lib/engine-components/codegen/components.js +2 -1
  34. package/lib/engine-components/codegen/components.js.map +1 -1
  35. package/lib/engine-components/export/usdz/USDZExporter.d.ts +1 -0
  36. package/lib/engine-components/export/usdz/USDZExporter.js +10 -2
  37. package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
  38. package/lib/engine-components/ui/Button.js +9 -5
  39. package/lib/engine-components/ui/Button.js.map +1 -1
  40. package/lib/engine-components/ui/Canvas.d.ts +13 -6
  41. package/lib/engine-components/ui/Canvas.js +101 -37
  42. package/lib/engine-components/ui/Canvas.js.map +1 -1
  43. package/lib/engine-components/ui/EventSystem.d.ts +6 -0
  44. package/lib/engine-components/ui/EventSystem.js +4 -4
  45. package/lib/engine-components/ui/EventSystem.js.map +1 -1
  46. package/lib/engine-components/ui/Graphic.d.ts +5 -2
  47. package/lib/engine-components/ui/Graphic.js +38 -7
  48. package/lib/engine-components/ui/Graphic.js.map +1 -1
  49. package/lib/engine-components/ui/Image.d.ts +1 -0
  50. package/lib/engine-components/ui/Image.js +10 -1
  51. package/lib/engine-components/ui/Image.js.map +1 -1
  52. package/lib/engine-components/ui/InputField.d.ts +1 -0
  53. package/lib/engine-components/ui/InputField.js +8 -0
  54. package/lib/engine-components/ui/InputField.js.map +1 -1
  55. package/lib/engine-components/ui/Interfaces.d.ts +8 -0
  56. package/lib/engine-components/ui/Outline.d.ts +7 -0
  57. package/lib/engine-components/ui/Outline.js +21 -0
  58. package/lib/engine-components/ui/Outline.js.map +1 -0
  59. package/lib/engine-components/ui/RectTransform.d.ts +29 -11
  60. package/lib/engine-components/ui/RectTransform.js +178 -46
  61. package/lib/engine-components/ui/RectTransform.js.map +1 -1
  62. package/lib/engine-components/ui/Text.d.ts +13 -10
  63. package/lib/engine-components/ui/Text.js +177 -246
  64. package/lib/engine-components/ui/Text.js.map +1 -1
  65. package/lib/engine-components/utils/LookAt.d.ts +7 -0
  66. package/lib/engine-components/utils/LookAt.js +29 -0
  67. package/lib/engine-components/utils/LookAt.js.map +1 -0
  68. package/lib/engine-components/webxr/WebXRImageTracking.d.ts +8 -0
  69. package/lib/engine-components/webxr/WebXRImageTracking.js +79 -3
  70. package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -1
  71. package/lib/tsconfig.tsbuildinfo +1 -1
  72. package/package.json +2 -2
  73. package/src/engine/codegen/register_types.js +4 -2
  74. package/src/engine/engine_addressables.ts +28 -10
  75. package/src/engine/engine_element.ts +1 -1
  76. package/src/engine/engine_gameobject.ts +18 -1
  77. package/src/engine/engine_input.ts +11 -0
  78. package/src/engine/engine_license.ts +12 -25
  79. package/src/engine/engine_math.ts +10 -0
  80. package/src/engine-components/AnimatorController.ts +7 -1
  81. package/src/engine-components/OrbitControls.ts +14 -6
  82. package/src/engine-components/SceneSwitcher.ts +28 -3
  83. package/src/engine-components/TransformGizmo.ts +64 -70
  84. package/src/engine-components/codegen/components.ts +2 -1
  85. package/src/engine-components/export/usdz/USDZExporter.ts +7 -2
  86. package/src/engine-components/ui/Button.ts +14 -9
  87. package/src/engine-components/ui/Canvas.ts +104 -40
  88. package/src/engine-components/ui/EventSystem.ts +16 -9
  89. package/src/engine-components/ui/Graphic.ts +44 -8
  90. package/src/engine-components/ui/Image.ts +10 -1
  91. package/src/engine-components/ui/InputField.ts +9 -1
  92. package/src/engine-components/ui/Interfaces.ts +12 -0
  93. package/src/engine-components/ui/Outline.ts +13 -0
  94. package/src/engine-components/ui/RectTransform.ts +203 -60
  95. package/src/engine-components/ui/Text.ts +284 -265
  96. package/src/engine-components/utils/LookAt.ts +21 -0
  97. package/src/engine-components/webxr/WebXRImageTracking.ts +85 -10
  98. package/lib/engine-components/ui/Keyboard.d.ts +0 -31
  99. package/lib/engine-components/ui/Keyboard.js +0 -178
  100. package/lib/engine-components/ui/Keyboard.js.map +0 -1
  101. package/src/engine-components/ui/Keyboard.ts +0 -204
@@ -0,0 +1,7 @@
1
+ import { Behaviour } from "../Component";
2
+ import { Object3D } from "three";
3
+ export declare class LookAt extends Behaviour {
4
+ target?: Object3D;
5
+ invertForward: boolean;
6
+ onBeforeRender(): void;
7
+ }
@@ -0,0 +1,29 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { serializable } from "../../engine/engine_serialization";
8
+ import { Behaviour } from "../Component";
9
+ import { Object3D } from "three";
10
+ import { getWorldPosition, lookAtInverse } from "../../engine/engine_three_utils";
11
+ export class LookAt extends Behaviour {
12
+ target;
13
+ invertForward = false;
14
+ onBeforeRender() {
15
+ if (!this.target)
16
+ return;
17
+ if (!this.invertForward)
18
+ this.gameObject.lookAt(getWorldPosition(this.target));
19
+ else
20
+ lookAtInverse(this.gameObject, getWorldPosition(this.target));
21
+ }
22
+ }
23
+ __decorate([
24
+ serializable(Object3D)
25
+ ], LookAt.prototype, "target", void 0);
26
+ __decorate([
27
+ serializable()
28
+ ], LookAt.prototype, "invertForward", void 0);
29
+ //# sourceMappingURL=LookAt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LookAt.js","sourceRoot":"","sources":["../../../src/engine-components/utils/LookAt.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAElF,MAAM,OAAO,MAAO,SAAQ,SAAS;IAGjC,MAAM,CAAY;IAGlB,aAAa,GAAY,KAAK,CAAC;IAE/B,cAAc;QACV,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IAAI,CAAC,IAAI,CAAC,aAAa;YACnB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC,CAAC;;YAEvD,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC,CAAC;IACvE,CAAC;CACJ;AAZG;IADC,YAAY,CAAC,QAAQ,CAAC;sCACL;AAGlB;IADC,YAAY,EAAE;6CACgB"}
@@ -1,10 +1,12 @@
1
1
  /// <reference types="webxr" />
2
2
  import { Behaviour } from "../Component";
3
3
  import { Object3D, Quaternion, Vector3 } from "three";
4
+ import { AssetReference } from "../../engine/engine_addressables";
4
5
  export declare class WebXRTrackedImage {
5
6
  get url(): string;
6
7
  get widthInMeters(): number;
7
8
  get bitmap(): ImageBitmap;
9
+ get model(): WebXRImageTrackingModel;
8
10
  readonly measuredSize: number;
9
11
  readonly state: "tracked" | "emulated";
10
12
  /** Copy the image position to a vector */
@@ -26,6 +28,9 @@ export declare class WebXRTrackedImage {
26
28
  export declare class WebXRImageTrackingModel {
27
29
  image?: string;
28
30
  widthInMeters: number;
31
+ object?: AssetReference;
32
+ createObjectInstance: boolean;
33
+ imageDoesNotMove: boolean;
29
34
  }
30
35
  export declare class WebXRImageTracking extends Behaviour {
31
36
  trackedImages: WebXRImageTrackingModel[];
@@ -35,5 +40,8 @@ export declare class WebXRImageTracking extends Behaviour {
35
40
  onEnable(): void;
36
41
  onDisable(): void;
37
42
  private onModifyAROptions;
43
+ private imageToObjectMap;
44
+ private onImageTrackingUpdate;
45
+ private onXRStarted;
38
46
  onBeforeRender(frame: XRFrame | null): void;
39
47
  }
@@ -6,16 +6,17 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { WebXR } from "./WebXR";
8
8
  import { serializable } from "../../engine/engine_serialization";
9
- import { Behaviour } from "../Component";
9
+ import { Behaviour, GameObject } from "../Component";
10
10
  import { Quaternion, Vector3 } from "three";
11
11
  import { CircularBuffer, getParam } from "../../engine/engine_utils";
12
+ import { AssetReference } from "../../engine/engine_addressables";
12
13
  // https://github.com/immersive-web/marker-tracking/blob/main/explainer.md
13
14
  const debug = getParam("debugimagetracking");
14
- const _scaleTemp = new Vector3();
15
15
  export class WebXRTrackedImage {
16
16
  get url() { return this._trackedImage.image ?? ""; }
17
17
  get widthInMeters() { return this._trackedImage.widthInMeters ?? undefined; }
18
18
  get bitmap() { return this._bitmap; }
19
+ get model() { return this._trackedImage; }
19
20
  measuredSize;
20
21
  state;
21
22
  // private _matrix: Matrix4 | null = null;
@@ -59,7 +60,6 @@ export class WebXRTrackedImage {
59
60
  }
60
61
  }
61
62
  _trackingComponent;
62
- ;
63
63
  _trackedImage;
64
64
  _bitmap;
65
65
  _pose;
@@ -76,6 +76,9 @@ export class WebXRTrackedImage {
76
76
  export class WebXRImageTrackingModel {
77
77
  image;
78
78
  widthInMeters;
79
+ object;
80
+ createObjectInstance = false;
81
+ imageDoesNotMove = false;
79
82
  }
80
83
  __decorate([
81
84
  serializable(URL)
@@ -83,6 +86,15 @@ __decorate([
83
86
  __decorate([
84
87
  serializable()
85
88
  ], WebXRImageTrackingModel.prototype, "widthInMeters", void 0);
89
+ __decorate([
90
+ serializable(AssetReference)
91
+ ], WebXRImageTrackingModel.prototype, "object", void 0);
92
+ __decorate([
93
+ serializable()
94
+ ], WebXRImageTrackingModel.prototype, "createObjectInstance", void 0);
95
+ __decorate([
96
+ serializable()
97
+ ], WebXRImageTrackingModel.prototype, "imageDoesNotMove", void 0);
86
98
  export class WebXRImageTracking extends Behaviour {
87
99
  trackedImages;
88
100
  trackedImageIndexMap = new Map();
@@ -107,9 +119,13 @@ export class WebXRImageTracking extends Behaviour {
107
119
  }
108
120
  onEnable() {
109
121
  WebXR.addEventListener("modify-ar-options", this.onModifyAROptions);
122
+ WebXR.addEventListener("xrStarted", this.onXRStarted);
123
+ this.addEventListener("image-tracking", this.onImageTrackingUpdate);
110
124
  }
111
125
  onDisable() {
112
126
  WebXR.removeEventListener("modify-ar-options", this.onModifyAROptions);
127
+ WebXR.removeEventListener("xrStarted", this.onXRStarted);
128
+ this.removeEventListener("image-tracking", this.onImageTrackingUpdate);
113
129
  }
114
130
  onModifyAROptions = (event) => {
115
131
  const options = event.detail;
@@ -131,6 +147,66 @@ export class WebXRImageTracking extends Behaviour {
131
147
  }
132
148
  }
133
149
  };
150
+ imageToObjectMap = new Map();
151
+ onImageTrackingUpdate = (event) => {
152
+ const images = event.detail;
153
+ // disable any objects that are no longer tracked
154
+ for (const [model, object] of this.imageToObjectMap) {
155
+ if (!object.object || !model)
156
+ continue;
157
+ let found = false;
158
+ for (const trackedImage of images) {
159
+ if (trackedImage.model === model) {
160
+ found = true;
161
+ break;
162
+ }
163
+ }
164
+ if (!found) {
165
+ GameObject.setActive(object.object, false);
166
+ }
167
+ }
168
+ for (const image of images) {
169
+ const model = image.model;
170
+ // don't do anything if we don't have an object to track - can be handled externally through events
171
+ if (!model.object)
172
+ continue;
173
+ let trackedData = this.imageToObjectMap.get(model);
174
+ if (trackedData === undefined) {
175
+ trackedData = { object: null, frames: 0 };
176
+ this.imageToObjectMap.set(model, trackedData);
177
+ model.object.loadAssetAsync().then((asset) => {
178
+ if (model.createObjectInstance)
179
+ asset = GameObject.instantiate(asset);
180
+ if (asset) {
181
+ trackedData.object = asset;
182
+ if (asset !== this.gameObject)
183
+ this.gameObject.add(asset);
184
+ image.applyToObject(asset);
185
+ if (!asset.activeSelf)
186
+ GameObject.setActive(asset, true);
187
+ }
188
+ });
189
+ }
190
+ else {
191
+ trackedData.frames++;
192
+ // TODO we could do a bit more here: e.g. sample for the first 1s or so of getting pose data
193
+ // to improve the tracking quality a bit.
194
+ if (model.imageDoesNotMove && trackedData.frames > 10)
195
+ continue;
196
+ if (!trackedData.object)
197
+ continue;
198
+ image.applyToObject(trackedData.object);
199
+ if (!trackedData.object.activeSelf)
200
+ GameObject.setActive(trackedData.object, true);
201
+ }
202
+ }
203
+ };
204
+ onXRStarted = (_) => {
205
+ // clear out all frame counters for tracking
206
+ for (const trackedData of this.imageToObjectMap.values()) {
207
+ trackedData.frames = 0;
208
+ }
209
+ };
134
210
  onBeforeRender(frame) {
135
211
  //@ts-ignore
136
212
  if (frame?.session && typeof frame.getImageTrackingResults === "function") {
@@ -1 +1 @@
1
- {"version":3,"file":"WebXRImageTracking.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/WebXRImageTracking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebXRImageTracking.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/WebXRImageTracking.ts"],"names":[],"mappings":"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"}