@needle-tools/engine 3.2.15-alpha → 3.4.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 (151) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/needle-engine.js +44005 -36382
  3. package/dist/needle-engine.min.js +706 -513
  4. package/dist/needle-engine.umd.cjs +685 -492
  5. package/lib/engine/codegen/register_types.js +54 -4
  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 +19 -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_math.d.ts +4 -0
  18. package/lib/engine/engine_math.js +6 -0
  19. package/lib/engine/engine_math.js.map +1 -1
  20. package/lib/engine/engine_three_utils.js +2 -2
  21. package/lib/engine/engine_three_utils.js.map +1 -1
  22. package/lib/engine-components/Animation.js +4 -0
  23. package/lib/engine-components/Animation.js.map +1 -1
  24. package/lib/engine-components/AnimatorController.js +7 -2
  25. package/lib/engine-components/AnimatorController.js.map +1 -1
  26. package/lib/engine-components/OrbitControls.js +13 -4
  27. package/lib/engine-components/OrbitControls.js.map +1 -1
  28. package/lib/engine-components/TransformGizmo.d.ts +8 -4
  29. package/lib/engine-components/TransformGizmo.js +62 -63
  30. package/lib/engine-components/TransformGizmo.js.map +1 -1
  31. package/lib/engine-components/codegen/components.d.ts +27 -2
  32. package/lib/engine-components/codegen/components.js +27 -2
  33. package/lib/engine-components/codegen/components.js.map +1 -1
  34. package/lib/engine-components/export/usdz/Extension.d.ts +4 -4
  35. package/lib/engine-components/export/usdz/ThreeUSDZExporter.d.ts +86 -0
  36. package/lib/engine-components/export/usdz/ThreeUSDZExporter.js +830 -0
  37. package/lib/engine-components/export/usdz/ThreeUSDZExporter.js.map +1 -0
  38. package/lib/engine-components/export/usdz/USDZExporter.d.ts +6 -3
  39. package/lib/engine-components/export/usdz/USDZExporter.js +34 -11
  40. package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
  41. package/lib/engine-components/export/usdz/extensions/Animation.d.ts +15 -15
  42. package/lib/engine-components/export/usdz/extensions/Animation.js +24 -29
  43. package/lib/engine-components/export/usdz/extensions/Animation.js.map +1 -1
  44. package/lib/engine-components/export/usdz/extensions/DocumentExtension.d.ts +5 -0
  45. package/lib/engine-components/export/usdz/extensions/DocumentExtension.js +7 -0
  46. package/lib/engine-components/export/usdz/extensions/DocumentExtension.js.map +1 -0
  47. package/lib/engine-components/export/usdz/extensions/USDZText.d.ts +47 -0
  48. package/lib/engine-components/export/usdz/extensions/USDZText.js +114 -0
  49. package/lib/engine-components/export/usdz/extensions/USDZText.js.map +1 -0
  50. package/lib/engine-components/export/usdz/extensions/behavior/Actions.d.ts +30 -0
  51. package/lib/engine-components/export/usdz/extensions/behavior/Actions.js +89 -0
  52. package/lib/engine-components/export/usdz/extensions/behavior/Actions.js.map +1 -0
  53. package/lib/engine-components/export/usdz/extensions/behavior/Behaviour.d.ts +23 -0
  54. package/lib/engine-components/export/usdz/extensions/behavior/Behaviour.js +114 -0
  55. package/lib/engine-components/export/usdz/extensions/behavior/Behaviour.js.map +1 -0
  56. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.d.ts +96 -0
  57. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js +421 -0
  58. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js.map +1 -0
  59. package/lib/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.d.ts +111 -0
  60. package/lib/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.js +409 -0
  61. package/lib/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.js.map +1 -0
  62. package/lib/engine-components/postprocessing/PostProcessingHandler.js.map +1 -1
  63. package/lib/engine-components/ui/BaseUIComponent.d.ts +2 -0
  64. package/lib/engine-components/ui/BaseUIComponent.js +6 -0
  65. package/lib/engine-components/ui/BaseUIComponent.js.map +1 -1
  66. package/lib/engine-components/ui/Button.js +9 -5
  67. package/lib/engine-components/ui/Button.js.map +1 -1
  68. package/lib/engine-components/ui/Canvas.d.ts +23 -6
  69. package/lib/engine-components/ui/Canvas.js +167 -34
  70. package/lib/engine-components/ui/Canvas.js.map +1 -1
  71. package/lib/engine-components/ui/EventSystem.d.ts +6 -0
  72. package/lib/engine-components/ui/EventSystem.js +4 -4
  73. package/lib/engine-components/ui/EventSystem.js.map +1 -1
  74. package/lib/engine-components/ui/Graphic.d.ts +5 -2
  75. package/lib/engine-components/ui/Graphic.js +38 -7
  76. package/lib/engine-components/ui/Graphic.js.map +1 -1
  77. package/lib/engine-components/ui/Image.d.ts +1 -0
  78. package/lib/engine-components/ui/Image.js +14 -5
  79. package/lib/engine-components/ui/Image.js.map +1 -1
  80. package/lib/engine-components/ui/InputField.d.ts +1 -0
  81. package/lib/engine-components/ui/InputField.js +8 -0
  82. package/lib/engine-components/ui/InputField.js.map +1 -1
  83. package/lib/engine-components/ui/Interfaces.d.ts +19 -0
  84. package/lib/engine-components/ui/Interfaces.js +11 -0
  85. package/lib/engine-components/ui/Interfaces.js.map +1 -1
  86. package/lib/engine-components/ui/Layout.d.ts +65 -3
  87. package/lib/engine-components/ui/Layout.js +304 -3
  88. package/lib/engine-components/ui/Layout.js.map +1 -1
  89. package/lib/engine-components/ui/Outline.d.ts +7 -0
  90. package/lib/engine-components/ui/Outline.js +21 -0
  91. package/lib/engine-components/ui/Outline.js.map +1 -0
  92. package/lib/engine-components/ui/RectTransform.d.ts +32 -13
  93. package/lib/engine-components/ui/RectTransform.js +216 -56
  94. package/lib/engine-components/ui/RectTransform.js.map +1 -1
  95. package/lib/engine-components/ui/Text.d.ts +13 -10
  96. package/lib/engine-components/ui/Text.js +177 -246
  97. package/lib/engine-components/ui/Text.js.map +1 -1
  98. package/lib/engine-components/utils/LookAt.d.ts +13 -0
  99. package/lib/engine-components/utils/LookAt.js +66 -0
  100. package/lib/engine-components/utils/LookAt.js.map +1 -0
  101. package/lib/engine-components/webxr/WebXRImageTracking.d.ts +12 -3
  102. package/lib/engine-components/webxr/WebXRImageTracking.js +156 -24
  103. package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -1
  104. package/lib/tsconfig.tsbuildinfo +1 -1
  105. package/package.json +2 -2
  106. package/plugins/vite/reload.js +13 -2
  107. package/src/engine/codegen/register_types.js +56 -6
  108. package/src/engine/engine_addressables.ts +28 -10
  109. package/src/engine/engine_element.ts +1 -1
  110. package/src/engine/engine_gameobject.ts +19 -1
  111. package/src/engine/engine_input.ts +11 -0
  112. package/src/engine/engine_math.ts +10 -0
  113. package/src/engine/engine_three_utils.ts +2 -2
  114. package/src/engine-components/Animation.ts +4 -0
  115. package/src/engine-components/AnimatorController.ts +7 -1
  116. package/src/engine-components/OrbitControls.ts +14 -6
  117. package/src/engine-components/TransformGizmo.ts +64 -70
  118. package/src/engine-components/codegen/components.ts +27 -2
  119. package/src/engine-components/export/usdz/Extension.ts +4 -5
  120. package/src/engine-components/export/usdz/ThreeUSDZExporter.ts +1280 -0
  121. package/src/engine-components/export/usdz/USDZExporter.ts +39 -17
  122. package/src/engine-components/export/usdz/extensions/Animation.ts +37 -45
  123. package/src/engine-components/export/usdz/extensions/DocumentExtension.ts +10 -0
  124. package/src/engine-components/export/usdz/extensions/USDZText.ts +142 -0
  125. package/src/engine-components/export/usdz/extensions/behavior/Actions.ts +99 -0
  126. package/src/engine-components/export/usdz/extensions/behavior/Behaviour.ts +181 -0
  127. package/src/engine-components/export/usdz/extensions/behavior/BehaviourComponents.ts +503 -0
  128. package/src/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.ts +459 -0
  129. package/src/engine-components/postprocessing/PostProcessingHandler.ts +1 -1
  130. package/src/engine-components/ui/BaseUIComponent.ts +7 -1
  131. package/src/engine-components/ui/Button.ts +14 -9
  132. package/src/engine-components/ui/Canvas.ts +178 -39
  133. package/src/engine-components/ui/EventSystem.ts +16 -9
  134. package/src/engine-components/ui/Graphic.ts +46 -8
  135. package/src/engine-components/ui/Image.ts +13 -4
  136. package/src/engine-components/ui/InputField.ts +9 -1
  137. package/src/engine-components/ui/Interfaces.ts +39 -3
  138. package/src/engine-components/ui/Layout.ts +303 -4
  139. package/src/engine-components/ui/Outline.ts +13 -0
  140. package/src/engine-components/ui/RectTransform.ts +236 -68
  141. package/src/engine-components/ui/Text.ts +284 -265
  142. package/src/engine-components/utils/LookAt.ts +74 -0
  143. package/src/engine-components/webxr/WebXRImageTracking.ts +179 -31
  144. package/lib/engine-components/export/usdz/types.d.ts +0 -34
  145. package/lib/engine-components/export/usdz/types.js +0 -2
  146. package/lib/engine-components/export/usdz/types.js.map +0 -1
  147. package/lib/engine-components/ui/Keyboard.d.ts +0 -31
  148. package/lib/engine-components/ui/Keyboard.js +0 -178
  149. package/lib/engine-components/ui/Keyboard.js.map +0 -1
  150. package/src/engine-components/export/usdz/types.ts +0 -39
  151. package/src/engine-components/ui/Keyboard.ts +0 -204
@@ -8,9 +8,14 @@ import { updateRenderSettings as updateRenderSettingsRecursive } from "./Utils";
8
8
  import { serializable } from "../../engine/engine_serialization_decorator";
9
9
  import { FrameEvent } from "../../engine/engine_setup";
10
10
  import { BaseUIComponent, UIRootComponent } from "./BaseUIComponent";
11
- import { Mathf } from "../../engine/engine_math";
12
11
  import { GameObject } from "../Component";
13
- import { showBalloonWarning } from "../../engine/debug";
12
+ import { Matrix4 } from "three";
13
+ import { RectTransform } from "./RectTransform";
14
+ import { Camera } from "../Camera";
15
+ import { EventSystem } from "./EventSystem";
16
+ import * as ThreeMeshUI from 'three-mesh-ui';
17
+ import { getParam } from "../../engine/engine_utils";
18
+ import { LayoutGroup } from "./Layout";
14
19
  export var RenderMode;
15
20
  (function (RenderMode) {
16
21
  RenderMode[RenderMode["ScreenSpaceOverlay"] = 0] = "ScreenSpaceOverlay";
@@ -18,7 +23,14 @@ export var RenderMode;
18
23
  RenderMode[RenderMode["WorldSpace"] = 2] = "WorldSpace";
19
24
  RenderMode[RenderMode["Undefined"] = -1] = "Undefined";
20
25
  })(RenderMode || (RenderMode = {}));
26
+ const debugLayout = getParam("debuguilayout");
21
27
  export class Canvas extends UIRootComponent {
28
+ get isCanvas() {
29
+ return true;
30
+ }
31
+ get screenspace() {
32
+ return this.renderMode !== RenderMode.WorldSpace;
33
+ }
22
34
  set renderOnTop(val) {
23
35
  if (val === this._renderOnTop) {
24
36
  return;
@@ -26,8 +38,17 @@ export class Canvas extends UIRootComponent {
26
38
  this._renderOnTop = val;
27
39
  this.onRenderSettingsChanged();
28
40
  }
29
- get renderOnTop() { return this._renderOnTop; }
30
- _renderOnTop = false;
41
+ get renderOnTop() {
42
+ if (this._renderOnTop !== undefined)
43
+ return this._renderOnTop;
44
+ if (this.screenspace) {
45
+ // Render ScreenSpaceOverlay always on top
46
+ if (this._renderMode === RenderMode.ScreenSpaceOverlay)
47
+ return true;
48
+ }
49
+ return false;
50
+ }
51
+ _renderOnTop;
31
52
  set depthWrite(val) {
32
53
  if (this._depthWrite === val)
33
54
  return;
@@ -86,36 +107,115 @@ export class Canvas extends UIRootComponent {
86
107
  set scaleFactor(val) {
87
108
  this._scaleFactor = val;
88
109
  }
110
+ worldCamera;
111
+ planeDistance = -1;
89
112
  awake() {
113
+ //@ts-ignore
90
114
  this.shadowComponent = this.gameObject;
91
115
  super.awake();
92
116
  }
117
+ start() {
118
+ this.onUpdateRenderMode();
119
+ }
93
120
  onEnable() {
94
121
  super.onEnable();
95
122
  this._updateRenderSettingsRoutine = undefined;
96
123
  this.onRenderSettingsChanged();
124
+ document.addEventListener("resize", this._boundRenderSettingsChanged);
125
+ // We want to run AFTER all regular onBeforeRender callbacks
126
+ this.context.pre_render_callbacks.push(this.onBeforeRenderRoutine);
127
+ this.context.post_render_callbacks.push(this.onAfterRenderRoutine);
128
+ }
129
+ onDisable() {
130
+ super.onDisable();
131
+ document.removeEventListener("resize", this._boundRenderSettingsChanged);
132
+ // Remove callbacks
133
+ const preRenderIndex = this.context.pre_render_callbacks.indexOf(this.onBeforeRenderRoutine);
134
+ if (preRenderIndex !== -1) {
135
+ this.context.pre_render_callbacks.splice(preRenderIndex, 1);
136
+ }
137
+ const postRenderIndex = this.context.post_render_callbacks.indexOf(this.onAfterRenderRoutine);
138
+ if (postRenderIndex !== -1) {
139
+ this.context.post_render_callbacks.splice(postRenderIndex, 1);
140
+ }
97
141
  }
98
- previousAspect = -1;
142
+ _boundRenderSettingsChanged = this.onRenderSettingsChanged.bind(this);
99
143
  previousParent = null;
100
- onBeforeRender() {
101
- if (this.isScreenSpace && this.context.mainCameraComponent && this.context.mainCameraComponent.aspect !== this.previousAspect) {
102
- this.previousAspect = this.context.mainCameraComponent.aspect;
103
- this.updateRenderMode();
144
+ _lastMatrixWorld = null;
145
+ _rectTransforms = [];
146
+ registerTransform(rt) {
147
+ this._rectTransforms.push(rt);
148
+ }
149
+ unregisterTransform(rt) {
150
+ const index = this._rectTransforms.indexOf(rt);
151
+ if (index !== -1) {
152
+ this._rectTransforms.splice(index, 1);
104
153
  }
105
- else if (this.renderOnTop) {
154
+ }
155
+ _layoutGroups = new Map();
156
+ registerLayoutGroup(group) {
157
+ const obj = group.gameObject;
158
+ this._layoutGroups.set(obj, group);
159
+ }
160
+ unregisterLayoutGroup(group) {
161
+ const obj = group.gameObject;
162
+ this._layoutGroups.delete(obj);
163
+ }
164
+ onBeforeRenderRoutine = () => {
165
+ if (this.renderOnTop) {
106
166
  // This is just a test but in reality it should be combined with all world canvases with render on top in one render pass
107
167
  this.previousParent = this.gameObject.parent;
108
168
  this.gameObject.removeFromParent();
109
169
  }
110
- }
111
- onAfterRender() {
170
+ else {
171
+ this.onUpdateRenderMode();
172
+ this.handleLayoutUpdates();
173
+ // TODO: we might need to optimize this. This is here to make sure the TMUI text clipping matrices are correct. Ideally the text does use onBeforeRender and apply the clipping matrix there so we dont have to force update all the matrices here
174
+ this.shadowComponent?.updateMatrixWorld(true);
175
+ this.shadowComponent?.updateWorldMatrix(true, true);
176
+ EventSystem.ensureUpdateMeshUI(ThreeMeshUI, this.context);
177
+ }
178
+ };
179
+ onAfterRenderRoutine = () => {
112
180
  if (this.renderOnTop && this.previousParent && this.context.mainCamera) {
113
181
  this.previousParent.add(this.gameObject);
114
182
  this.context.renderer.autoClear = false;
115
183
  this.context.renderer.clearDepth();
184
+ this.onUpdateRenderMode(true);
185
+ this.handleLayoutUpdates();
186
+ this.shadowComponent?.updateMatrixWorld(true);
187
+ // this.handleLayoutUpdates();
188
+ EventSystem.ensureUpdateMeshUI(ThreeMeshUI, this.context);
116
189
  this.context.renderer.render(this.gameObject, this.context.mainCamera);
117
190
  this.context.renderer.autoClear = true;
118
191
  }
192
+ this._lastMatrixWorld?.copy(this.gameObject.matrixWorld);
193
+ };
194
+ handleLayoutUpdates() {
195
+ if (this._lastMatrixWorld === null) {
196
+ this._lastMatrixWorld = new Matrix4();
197
+ }
198
+ const matrixWorldChanged = !this._lastMatrixWorld.equals(this.gameObject.matrixWorld);
199
+ if (debugLayout && matrixWorldChanged)
200
+ console.log("Canvas Layout changed", this.context.time.frameCount, this.name);
201
+ // TODO: optimize this, we should only need to update a subhierarchy of the parts where layout has changed
202
+ let didLog = false;
203
+ for (const ch of this._rectTransforms) {
204
+ if (matrixWorldChanged)
205
+ ch.markDirty();
206
+ let layout = this._layoutGroups.get(ch.gameObject);
207
+ if (ch.isDirty && !layout) {
208
+ layout = ch.gameObject.getComponentInParent(LayoutGroup);
209
+ }
210
+ if (ch.isDirty || layout?.isDirty) {
211
+ if (debugLayout && !didLog) {
212
+ console.log("CANVAS UPDATE ### " + ch.name + " ##################################### " + this.context.time.frame);
213
+ // didLog = true;
214
+ }
215
+ layout?.updateLayout();
216
+ ch.updateTransform();
217
+ }
218
+ }
119
219
  }
120
220
  applyRenderSettings() {
121
221
  this.onRenderSettingsChanged();
@@ -130,7 +230,7 @@ export class Canvas extends UIRootComponent {
130
230
  yield;
131
231
  this._updateRenderSettingsRoutine = undefined;
132
232
  if (this.shadowComponent) {
133
- this.updateRenderMode();
233
+ this.onUpdateRenderMode();
134
234
  // this.onWillUpdateRenderSettings();
135
235
  updateRenderSettingsRecursive(this.shadowComponent, this);
136
236
  for (const ch of GameObject.getComponentsInChildren(this.gameObject, BaseUIComponent)) {
@@ -139,39 +239,66 @@ export class Canvas extends UIRootComponent {
139
239
  }
140
240
  }
141
241
  _activeRenderMode = -1;
142
- get isScreenSpace() {
143
- return this._activeRenderMode === RenderMode.ScreenSpaceCamera || this._activeRenderMode === RenderMode.ScreenSpaceOverlay;
144
- }
145
- updateRenderMode() {
146
- if (this.renderMode === this._activeRenderMode)
147
- return;
148
- switch (this.renderMode) {
242
+ _lastWidth = -1;
243
+ _lastHeight = -1;
244
+ onUpdateRenderMode(force = false) {
245
+ if (!force) {
246
+ if (this._renderMode === this._activeRenderMode && this._lastWidth === this.context.domWidth && this._lastHeight === this.context.domHeight) {
247
+ return;
248
+ }
249
+ }
250
+ this._activeRenderMode = this._renderMode;
251
+ let camera = this.context.mainCameraComponent;
252
+ let planeDistance = camera?.farClipPlane ?? 100;
253
+ if (this._renderMode === RenderMode.ScreenSpaceCamera) {
254
+ if (this.worldCamera)
255
+ camera = this.worldCamera;
256
+ if (this.planeDistance > 0)
257
+ planeDistance = this.planeDistance;
258
+ }
259
+ switch (this._renderMode) {
149
260
  case RenderMode.ScreenSpaceOverlay:
150
261
  case RenderMode.ScreenSpaceCamera:
151
- showBalloonWarning("Screenspace Canvas is not supported yet. Please use worldspace");
152
- const camera = this.context.mainCameraComponent;
262
+ this._lastWidth = this.context.domWidth;
263
+ this._lastHeight = this.context.domHeight;
264
+ // showBalloonWarning("Screenspace Canvas is not supported yet. Please use worldspace");
153
265
  if (!camera)
154
266
  return;
155
267
  const canvas = this.gameObject;
156
268
  const camObj = camera.gameObject;
157
269
  camObj?.add(canvas);
158
- const pos = camera.farClipPlane;
270
+ // we move the plane SLIGHTLY closer to be sure not to cull the canvas
271
+ const plane = planeDistance - .1;
159
272
  canvas.position.x = 0;
160
273
  canvas.position.y = 0;
161
- canvas.position.z = -pos;
162
- // console.log(this.shadowComponent)
163
- if (camera.fieldOfView) {
164
- const w = Math.tan(Mathf.toRadians(camera.fieldOfView) * pos) * (camera.aspect * 1.333333);
165
- const h = w * (this.context.domHeight / this.context.domWidth);
166
- canvas.scale.x = -w;
167
- canvas.scale.y = h;
274
+ canvas.position.z = -plane;
275
+ canvas.quaternion.identity();
276
+ const rect = this.gameObject.getComponent(RectTransform);
277
+ let hasChanged = false;
278
+ if (rect.sizeDelta.x !== this.context.domWidth) {
279
+ hasChanged = true;
280
+ }
281
+ if (rect.sizeDelta.y !== this.context.domHeight) {
282
+ hasChanged = true;
283
+ }
284
+ const vFOV = camera.fieldOfView * Math.PI / 180;
285
+ const h = 2 * Math.tan(vFOV / 2) * Math.abs(plane);
286
+ canvas.scale.x = h / this.context.domHeight;
287
+ canvas.scale.y = h / this.context.domHeight;
288
+ // Set scale.z, otherwise small offsets in screenspace mode have different visual results based on export scale and other settings
289
+ canvas.scale.z = .01;
290
+ if (hasChanged) {
291
+ rect.sizeDelta.x = this.context.domWidth;
292
+ rect.sizeDelta.y = this.context.domHeight;
293
+ rect?.markDirty();
168
294
  }
169
- // const rects = this.gameObject.getComponentsInChildren(BaseUIComponent);
170
- // for (const rect of rects) {
171
- // rect.set({ width: this.context.domWidth * .5, height: 100 })
172
- // }
295
+ // this.context.scene.add(this.gameObject)
296
+ // this.gameObject.scale.multiplyScalar(.01);
297
+ // this.gameObject.position.set(0,0,0);
173
298
  break;
174
299
  case RenderMode.WorldSpace:
300
+ this._lastWidth = -1;
301
+ this._lastHeight = -1;
175
302
  break;
176
303
  }
177
304
  }
@@ -200,4 +327,10 @@ __decorate([
200
327
  __decorate([
201
328
  serializable()
202
329
  ], Canvas.prototype, "scaleFactor", null);
330
+ __decorate([
331
+ serializable(Camera)
332
+ ], Canvas.prototype, "worldCamera", void 0);
333
+ __decorate([
334
+ serializable()
335
+ ], Canvas.prototype, "planeDistance", void 0);
203
336
  //# sourceMappingURL=Canvas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Canvas.js","sourceRoot":"","sources":["../../../src/engine-components/ui/Canvas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Canvas.js","sourceRoot":"","sources":["../../../src/engine-components/ui/Canvas.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,16 @@
1
1
  import { Behaviour } from "../Component";
2
2
  import { Context } from "../../engine/engine_setup";
3
+ import { PointerEventData } from "./PointerEvents";
3
4
  import { Raycaster } from "./Raycaster";
4
5
  export declare enum EventSystemEvents {
5
6
  BeforeHandleInput = "BeforeHandleInput",
6
7
  AfterHandleInput = "AfterHandleInput"
7
8
  }
9
+ export declare type AfterHandleInputEvent = {
10
+ sender: EventSystem;
11
+ args: PointerEventData;
12
+ hasActiveUI: boolean;
13
+ };
8
14
  export declare class EventSystem extends Behaviour {
9
15
  private static _eventSystemMap;
10
16
  static didSearchEventSystem: boolean;
@@ -466,8 +466,7 @@ class MeshUIHelper {
466
466
  let shouldUpdate = this.needsUpdate || currentFrame < 1;
467
467
  if (lu.nextUpdate === context.time.frameCount)
468
468
  shouldUpdate = true;
469
- if (this.needsUpdate)
470
- lu.nextUpdate = currentFrame + 3;
469
+ // if(this.needsUpdate) lu.nextUpdate = currentFrame + 3;
471
470
  if (shouldUpdate) {
472
471
  if (debug)
473
472
  console.log("Update threemeshui");
@@ -510,8 +509,9 @@ class MeshUIHelper {
510
509
  if (!elem)
511
510
  return null;
512
511
  if (elem.isBlock) {
513
- if (Object.keys(elem.states).length > 0)
514
- return elem;
512
+ // @TODO : Replace states managements
513
+ // if (Object.keys(elem.states).length > 0)
514
+ return elem;
515
515
  }
516
516
  return this.findBlockInParent(elem.parent);
517
517
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EventSystem.js","sourceRoot":"","sources":["../../../src/engine-components/ui/EventSystem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EventSystem.js","sourceRoot":"","sources":["../../../src/engine-components/ui/EventSystem.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
- import { IGraphic } from './Interfaces';
1
+ import { IGraphic, IRectTransformChangedReceiver } from './Interfaces';
2
2
  import * as ThreeMeshUI from 'three-mesh-ui';
3
3
  import { RGBAColor } from "../js-extensions/RGBAColor";
4
4
  import { BaseUIComponent } from "./BaseUIComponent";
5
5
  import { Texture } from 'three';
6
6
  import { RectTransform } from './RectTransform';
7
- export declare class Graphic extends BaseUIComponent implements IGraphic {
7
+ export declare class Graphic extends BaseUIComponent implements IGraphic, IRectTransformChangedReceiver {
8
8
  get isGraphic(): boolean;
9
9
  get color(): RGBAColor;
10
10
  set color(col: RGBAColor);
@@ -14,7 +14,9 @@ export declare class Graphic extends BaseUIComponent implements IGraphic {
14
14
  protected uiObject: ThreeMeshUI.Block | null;
15
15
  private _color;
16
16
  private _rect;
17
+ private _stateManager;
17
18
  protected get rectTransform(): RectTransform;
19
+ onParentRectTransformChanged(): void;
18
20
  __internalNewInstanceCreated(): void;
19
21
  setState(state: string): void;
20
22
  setupState(state: object): void;
@@ -27,6 +29,7 @@ export declare class Graphic extends BaseUIComponent implements IGraphic {
27
29
  protected onBeforeCreate(_opts: any): void;
28
30
  protected onCreate(opts: any): void;
29
31
  protected onAfterCreated(): void;
32
+ private applyEffects;
30
33
  /** used internally to ensure textures assigned to UI use linear encoding */
31
34
  static textureCache: Map<Texture, Texture>;
32
35
  protected setTexture(tex: Texture | null | undefined): Promise<void>;
@@ -7,10 +7,16 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import { RGBAColor } from "../js-extensions/RGBAColor";
8
8
  import { BaseUIComponent } from "./BaseUIComponent";
9
9
  import { serializable } from '../../engine/engine_serialization_decorator';
10
- import { LinearEncoding, sRGBEncoding } from 'three';
10
+ import { Color, LinearEncoding, sRGBEncoding } from 'three';
11
11
  import { RectTransform } from './RectTransform';
12
12
  import { onChange, scheduleAction } from "./Utils";
13
13
  import { GameObject } from '../Component';
14
+ import SimpleStateBehavior from "three-mesh-ui/examples/behaviors/states/SimpleStateBehavior";
15
+ import { Outline } from './Outline';
16
+ const _colorStateObject = {
17
+ backgroundColor: new Color(1, 1, 1),
18
+ backgroundOpacity: 1,
19
+ };
14
20
  export class Graphic extends BaseUIComponent {
15
21
  get isGraphic() { return true; }
16
22
  get color() {
@@ -28,8 +34,9 @@ export class Graphic extends BaseUIComponent {
28
34
  this._color.copy(col);
29
35
  }
30
36
  onColorChanged() {
31
- const newcolor = this.color;
32
- this.setOptions({ backgroundColor: newcolor, backgroundOpacity: newcolor.alpha, borderOpacity: newcolor.alpha });
37
+ _colorStateObject.backgroundColor = this._color;
38
+ _colorStateObject.backgroundOpacity = this._color.alpha;
39
+ this.uiObject?.set(_colorStateObject);
33
40
  }
34
41
  // used via animations
35
42
  get m_Color() {
@@ -39,12 +46,17 @@ export class Graphic extends BaseUIComponent {
39
46
  uiObject = null;
40
47
  _color = null;
41
48
  _rect = null;
49
+ _stateManager = null;
42
50
  get rectTransform() {
43
51
  if (!this._rect) {
44
52
  this._rect = GameObject.getComponent(this.gameObject, RectTransform);
45
53
  }
46
54
  return this._rect;
47
55
  }
56
+ onParentRectTransformChanged() {
57
+ this.uiObject?.set({ width: this.rectTransform.width, height: this.rectTransform.height });
58
+ this.markDirty();
59
+ }
48
60
  __internalNewInstanceCreated() {
49
61
  super.__internalNewInstanceCreated();
50
62
  this._rect = null;
@@ -57,13 +69,19 @@ export class Graphic extends BaseUIComponent {
57
69
  if (this.uiObject) {
58
70
  //@ts-ignore
59
71
  this.uiObject.setState(state);
72
+ this?.markDirty();
60
73
  }
61
74
  }
62
75
  setupState(state) {
63
76
  this.makePanel();
64
77
  if (this.uiObject) {
78
+ // @marwie : v7.x now have a concurrent state management in core mimicking html/css
79
+ // ie : (::firstChild::hover::disabled) where firstchild, hover and disabled are all on different channels
80
+ // In order to keep needle Raycaster and EventSystem intact, I added in v7 a SimpleStateBehavior, which acts as previously
81
+ if (!this._stateManager)
82
+ this._stateManager = new SimpleStateBehavior(this.uiObject);
65
83
  //@ts-ignore
66
- this.uiObject.setupState(state);
84
+ this.uiObject.setupState(state.state, state.attributes);
67
85
  }
68
86
  }
69
87
  setOptions(opts) {
@@ -71,8 +89,8 @@ export class Graphic extends BaseUIComponent {
71
89
  if (this.uiObject) {
72
90
  //@ts-ignore
73
91
  this.uiObject.set(opts);
74
- if (opts["backgroundColor"] !== undefined || opts["backgroundOpacity"] !== undefined)
75
- this.uiObject["updateBackgroundMaterial"]?.call(this.uiObject);
92
+ // if (opts["backgroundColor"] !== undefined || opts["backgroundOpacity"] !== undefined)
93
+ // this.uiObject["updateBackgroundMaterial"]?.call(this.uiObject);
76
94
  }
77
95
  }
78
96
  awake() {
@@ -106,6 +124,7 @@ export class Graphic extends BaseUIComponent {
106
124
  offset: 1, // without a tiny offset we get z fighting
107
125
  };
108
126
  this.onBeforeCreate(opts);
127
+ this.applyEffects(opts);
109
128
  this.onCreate(opts);
110
129
  this.controlsChildLayout = false;
111
130
  this._currentlyCreatingPanel = false;
@@ -117,6 +136,17 @@ export class Graphic extends BaseUIComponent {
117
136
  this.uiObject.name = this.name;
118
137
  }
119
138
  onAfterCreated() { }
139
+ applyEffects(opts) {
140
+ const outline = this.gameObject?.getComponent(Outline);
141
+ if (outline) {
142
+ if (outline.effectDistance)
143
+ opts.borderWidth = Math.max(Math.abs(outline.effectDistance.x), Math.abs(outline.effectDistance.y));
144
+ if (outline.effectColor) {
145
+ opts.borderColor = outline.effectColor;
146
+ opts.borderOpacity = outline.effectColor.alpha;
147
+ }
148
+ }
149
+ }
120
150
  /** used internally to ensure textures assigned to UI use linear encoding */
121
151
  static textureCache = new Map();
122
152
  async setTexture(tex) {
@@ -136,12 +166,13 @@ export class Graphic extends BaseUIComponent {
136
166
  tex = clone;
137
167
  }
138
168
  }
139
- this.setOptions({ backgroundTexture: tex, borderRadius: 0, backgroundOpacity: this.color.alpha, backgroundSize: "stretch" });
169
+ this.setOptions({ backgroundImage: tex, borderRadius: 0, backgroundOpacity: this.color.alpha, backgroundSize: "stretch" });
140
170
  }
141
171
  }
142
172
  onAfterAddedToScene() {
143
173
  super.onAfterAddedToScene();
144
174
  if (this.shadowComponent) {
175
+ // @TODO: I think we dont even need this anymore and this leads to the offset being applied twice
145
176
  //@ts-ignore
146
177
  this.shadowComponent.offset = this.shadowComponent.position.z;
147
178
  // console.log(this.shadowComponent);
@@ -1 +1 @@
1
- {"version":3,"file":"Graphic.js","sourceRoot":"","sources":["../../../src/engine-components/ui/Graphic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Graphic.js","sourceRoot":"","sources":["../../../src/engine-components/ui/Graphic.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export declare class Image extends MaskableGraphic {
11
11
  get sprite(): Sprite | undefined;
12
12
  set sprite(sprite: Sprite | undefined);
13
13
  private _sprite?;
14
+ private pixelsPerUnitMultiplier;
14
15
  private isBuiltinSprite;
15
16
  protected onBeforeCreate(opts: any): void;
16
17
  protected onAfterCreated(): void;