@needle-tools/engine 3.3.0-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 (101) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/needle-engine.js +26116 -24881
  3. package/dist/needle-engine.min.js +384 -383
  4. package/dist/needle-engine.umd.cjs +372 -371
  5. package/lib/engine/codegen/register_types.js +50 -2
  6. package/lib/engine/codegen/register_types.js.map +1 -1
  7. package/lib/engine/engine_gameobject.d.ts +1 -1
  8. package/lib/engine/engine_gameobject.js +4 -2
  9. package/lib/engine/engine_gameobject.js.map +1 -1
  10. package/lib/engine/engine_three_utils.js +2 -2
  11. package/lib/engine/engine_three_utils.js.map +1 -1
  12. package/lib/engine-components/Animation.js +4 -0
  13. package/lib/engine-components/Animation.js.map +1 -1
  14. package/lib/engine-components/codegen/components.d.ts +25 -1
  15. package/lib/engine-components/codegen/components.js +25 -1
  16. package/lib/engine-components/codegen/components.js.map +1 -1
  17. package/lib/engine-components/export/usdz/Extension.d.ts +4 -4
  18. package/lib/engine-components/export/usdz/ThreeUSDZExporter.d.ts +86 -0
  19. package/lib/engine-components/export/usdz/ThreeUSDZExporter.js +830 -0
  20. package/lib/engine-components/export/usdz/ThreeUSDZExporter.js.map +1 -0
  21. package/lib/engine-components/export/usdz/USDZExporter.d.ts +6 -3
  22. package/lib/engine-components/export/usdz/USDZExporter.js +34 -11
  23. package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
  24. package/lib/engine-components/export/usdz/extensions/Animation.d.ts +15 -15
  25. package/lib/engine-components/export/usdz/extensions/Animation.js +24 -29
  26. package/lib/engine-components/export/usdz/extensions/Animation.js.map +1 -1
  27. package/lib/engine-components/export/usdz/extensions/DocumentExtension.d.ts +5 -0
  28. package/lib/engine-components/export/usdz/extensions/DocumentExtension.js +7 -0
  29. package/lib/engine-components/export/usdz/extensions/DocumentExtension.js.map +1 -0
  30. package/lib/engine-components/export/usdz/extensions/USDZText.d.ts +47 -0
  31. package/lib/engine-components/export/usdz/extensions/USDZText.js +114 -0
  32. package/lib/engine-components/export/usdz/extensions/USDZText.js.map +1 -0
  33. package/lib/engine-components/export/usdz/extensions/behavior/Actions.d.ts +30 -0
  34. package/lib/engine-components/export/usdz/extensions/behavior/Actions.js +89 -0
  35. package/lib/engine-components/export/usdz/extensions/behavior/Actions.js.map +1 -0
  36. package/lib/engine-components/export/usdz/extensions/behavior/Behaviour.d.ts +23 -0
  37. package/lib/engine-components/export/usdz/extensions/behavior/Behaviour.js +114 -0
  38. package/lib/engine-components/export/usdz/extensions/behavior/Behaviour.js.map +1 -0
  39. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.d.ts +96 -0
  40. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js +421 -0
  41. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js.map +1 -0
  42. package/lib/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.d.ts +111 -0
  43. package/lib/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.js +409 -0
  44. package/lib/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.js.map +1 -0
  45. package/lib/engine-components/postprocessing/PostProcessingHandler.js.map +1 -1
  46. package/lib/engine-components/ui/BaseUIComponent.d.ts +2 -0
  47. package/lib/engine-components/ui/BaseUIComponent.js +6 -0
  48. package/lib/engine-components/ui/BaseUIComponent.js.map +1 -1
  49. package/lib/engine-components/ui/Canvas.d.ts +11 -1
  50. package/lib/engine-components/ui/Canvas.js +72 -3
  51. package/lib/engine-components/ui/Canvas.js.map +1 -1
  52. package/lib/engine-components/ui/Graphic.js.map +1 -1
  53. package/lib/engine-components/ui/Image.js +4 -4
  54. package/lib/engine-components/ui/Image.js.map +1 -1
  55. package/lib/engine-components/ui/Interfaces.d.ts +11 -0
  56. package/lib/engine-components/ui/Interfaces.js +11 -0
  57. package/lib/engine-components/ui/Interfaces.js.map +1 -1
  58. package/lib/engine-components/ui/Layout.d.ts +65 -3
  59. package/lib/engine-components/ui/Layout.js +304 -3
  60. package/lib/engine-components/ui/Layout.js.map +1 -1
  61. package/lib/engine-components/ui/RectTransform.d.ts +8 -7
  62. package/lib/engine-components/ui/RectTransform.js +63 -35
  63. package/lib/engine-components/ui/RectTransform.js.map +1 -1
  64. package/lib/engine-components/utils/LookAt.d.ts +7 -1
  65. package/lib/engine-components/utils/LookAt.js +43 -6
  66. package/lib/engine-components/utils/LookAt.js.map +1 -1
  67. package/lib/engine-components/webxr/WebXRImageTracking.d.ts +4 -3
  68. package/lib/engine-components/webxr/WebXRImageTracking.js +81 -25
  69. package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -1
  70. package/lib/tsconfig.tsbuildinfo +1 -1
  71. package/package.json +1 -1
  72. package/plugins/vite/reload.js +13 -2
  73. package/src/engine/codegen/register_types.js +52 -4
  74. package/src/engine/engine_gameobject.ts +3 -2
  75. package/src/engine/engine_three_utils.ts +2 -2
  76. package/src/engine-components/Animation.ts +4 -0
  77. package/src/engine-components/codegen/components.ts +25 -1
  78. package/src/engine-components/export/usdz/Extension.ts +4 -5
  79. package/src/engine-components/export/usdz/ThreeUSDZExporter.ts +1280 -0
  80. package/src/engine-components/export/usdz/USDZExporter.ts +39 -17
  81. package/src/engine-components/export/usdz/extensions/Animation.ts +37 -45
  82. package/src/engine-components/export/usdz/extensions/DocumentExtension.ts +10 -0
  83. package/src/engine-components/export/usdz/extensions/USDZText.ts +142 -0
  84. package/src/engine-components/export/usdz/extensions/behavior/Actions.ts +99 -0
  85. package/src/engine-components/export/usdz/extensions/behavior/Behaviour.ts +181 -0
  86. package/src/engine-components/export/usdz/extensions/behavior/BehaviourComponents.ts +503 -0
  87. package/src/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.ts +459 -0
  88. package/src/engine-components/postprocessing/PostProcessingHandler.ts +1 -1
  89. package/src/engine-components/ui/BaseUIComponent.ts +7 -1
  90. package/src/engine-components/ui/Canvas.ts +80 -5
  91. package/src/engine-components/ui/Graphic.ts +2 -0
  92. package/src/engine-components/ui/Image.ts +3 -3
  93. package/src/engine-components/ui/Interfaces.ts +30 -6
  94. package/src/engine-components/ui/Layout.ts +303 -4
  95. package/src/engine-components/ui/RectTransform.ts +65 -40
  96. package/src/engine-components/utils/LookAt.ts +60 -7
  97. package/src/engine-components/webxr/WebXRImageTracking.ts +100 -27
  98. package/lib/engine-components/export/usdz/types.d.ts +0 -34
  99. package/lib/engine-components/export/usdz/types.js +0 -2
  100. package/lib/engine-components/export/usdz/types.js.map +0 -1
  101. package/src/engine-components/export/usdz/types.ts +0 -39
@@ -1,11 +1,312 @@
1
- import { Behaviour } from "../Component";
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 { Behaviour, GameObject } from "../Component";
8
+ import { serializable } from "../../engine/engine_serialization";
9
+ import { Canvas } from "./Canvas";
10
+ import { RectTransform } from "./RectTransform";
11
+ import { getParam } from "../../engine/engine_utils";
12
+ const debug = getParam("debuguilayout");
13
+ export class Padding {
14
+ left = 0;
15
+ right = 0;
16
+ top = 0;
17
+ bottom = 0;
18
+ get vertical() {
19
+ return this.top + this.bottom;
20
+ }
21
+ get horizontal() {
22
+ return this.left + this.right;
23
+ }
24
+ }
25
+ __decorate([
26
+ serializable()
27
+ ], Padding.prototype, "left", void 0);
28
+ __decorate([
29
+ serializable()
30
+ ], Padding.prototype, "right", void 0);
31
+ __decorate([
32
+ serializable()
33
+ ], Padding.prototype, "top", void 0);
34
+ __decorate([
35
+ serializable()
36
+ ], Padding.prototype, "bottom", void 0);
37
+ export var TextAnchor;
38
+ (function (TextAnchor) {
39
+ TextAnchor[TextAnchor["UpperLeft"] = 0] = "UpperLeft";
40
+ TextAnchor[TextAnchor["UpperCenter"] = 1] = "UpperCenter";
41
+ TextAnchor[TextAnchor["UpperRight"] = 2] = "UpperRight";
42
+ TextAnchor[TextAnchor["MiddleLeft"] = 3] = "MiddleLeft";
43
+ TextAnchor[TextAnchor["MiddleCenter"] = 4] = "MiddleCenter";
44
+ TextAnchor[TextAnchor["MiddleRight"] = 5] = "MiddleRight";
45
+ TextAnchor[TextAnchor["LowerLeft"] = 6] = "LowerLeft";
46
+ TextAnchor[TextAnchor["LowerCenter"] = 7] = "LowerCenter";
47
+ TextAnchor[TextAnchor["LowerRight"] = 8] = "LowerRight";
48
+ TextAnchor[TextAnchor["Custom"] = 9] = "Custom";
49
+ })(TextAnchor || (TextAnchor = {}));
50
+ var Axis;
51
+ (function (Axis) {
52
+ Axis["Horizontal"] = "x";
53
+ Axis["Vertical"] = "y";
54
+ })(Axis || (Axis = {}));
2
55
  export class LayoutGroup extends Behaviour {
56
+ _rectTransform = null;
57
+ get rectTransform() {
58
+ return this._rectTransform;
59
+ }
60
+ onParentRectTransformChanged(_comp) {
61
+ this._needsUpdate = true;
62
+ }
63
+ _needsUpdate = false;
64
+ get isDirty() {
65
+ return this._needsUpdate;
66
+ }
67
+ get isLayoutGroup() {
68
+ return true;
69
+ }
70
+ updateLayout() {
71
+ if (!this._rectTransform)
72
+ return;
73
+ if (debug)
74
+ console.warn("Layout Update", this.context.time.frame, this.name);
75
+ this._needsUpdate = false;
76
+ this.onCalculateLayout(this._rectTransform);
77
+ }
78
+ // onBeforeRender(): void {
79
+ // this.updateLayout();
80
+ // }
81
+ childAlignment = TextAnchor.UpperLeft;
3
82
  reverseArrangement = false;
83
+ spacing = 0;
84
+ padding;
85
+ minWidth = 0;
86
+ minHeight = 0;
87
+ flexibleHeight = 0;
88
+ flexibleWidth = 0;
89
+ preferredHeight = 0;
90
+ preferredWidth = 0;
91
+ start() {
92
+ this._needsUpdate = true;
93
+ }
94
+ onEnable() {
95
+ if (debug)
96
+ console.log(this.name, this);
97
+ this._rectTransform = this.gameObject.getComponent(RectTransform);
98
+ const canvas = this.gameObject.getComponentInParent(Canvas);
99
+ if (canvas) {
100
+ canvas.registerLayoutGroup(this);
101
+ }
102
+ this._needsUpdate = true;
103
+ }
104
+ onDisable() {
105
+ const canvas = this.gameObject.getComponentInParent(Canvas);
106
+ if (canvas) {
107
+ canvas.unregisterLayoutGroup(this);
108
+ }
109
+ }
110
+ // for animation:
111
+ set m_Spacing(val) {
112
+ if (val === this.spacing)
113
+ return;
114
+ this._needsUpdate = true;
115
+ this.spacing = val;
116
+ }
117
+ get m_Spacing() {
118
+ return this.spacing;
119
+ }
120
+ }
121
+ __decorate([
122
+ serializable()
123
+ ], LayoutGroup.prototype, "childAlignment", void 0);
124
+ __decorate([
125
+ serializable()
126
+ ], LayoutGroup.prototype, "reverseArrangement", void 0);
127
+ __decorate([
128
+ serializable()
129
+ ], LayoutGroup.prototype, "spacing", void 0);
130
+ __decorate([
131
+ serializable(Padding)
132
+ ], LayoutGroup.prototype, "padding", void 0);
133
+ __decorate([
134
+ serializable()
135
+ ], LayoutGroup.prototype, "minWidth", void 0);
136
+ __decorate([
137
+ serializable()
138
+ ], LayoutGroup.prototype, "minHeight", void 0);
139
+ __decorate([
140
+ serializable()
141
+ ], LayoutGroup.prototype, "flexibleHeight", void 0);
142
+ __decorate([
143
+ serializable()
144
+ ], LayoutGroup.prototype, "flexibleWidth", void 0);
145
+ __decorate([
146
+ serializable()
147
+ ], LayoutGroup.prototype, "preferredHeight", void 0);
148
+ __decorate([
149
+ serializable()
150
+ ], LayoutGroup.prototype, "preferredWidth", void 0);
151
+ export class HorizontalOrVerticalLayoutGroup extends LayoutGroup {
152
+ childControlHeight = true;
153
+ childControlWidth = true;
154
+ childForceExpandHeight = false;
155
+ childForceExpandWidth = false;
156
+ childScaleHeight = false;
157
+ childScaleWidth = false;
158
+ onCalculateLayout(rect) {
159
+ const axis = this.primaryAxis;
160
+ const totalWidth = rect.width;
161
+ let actualWidth = totalWidth;
162
+ const totalHeight = rect.height;
163
+ let actualHeight = totalHeight;
164
+ actualWidth -= this.padding.horizontal;
165
+ actualHeight -= this.padding.vertical;
166
+ // console.log(rt.name, "width=" + totalWidth + ", height=" + totalHeight)
167
+ const paddingAxis = axis === Axis.Horizontal ? this.padding.horizontal : this.padding.vertical;
168
+ const isHorizontal = axis === Axis.Horizontal;
169
+ const isVertical = !isHorizontal;
170
+ const otherAxis = isHorizontal ? "y" : "x";
171
+ const controlSize = isHorizontal ? this.childControlWidth : this.childControlHeight;
172
+ const controlSizeOtherAxis = isHorizontal ? this.childControlHeight : this.childControlWidth;
173
+ const forceExpandSize = isHorizontal ? this.childForceExpandWidth : this.childForceExpandHeight;
174
+ const forceExpandSizeOtherAxis = isHorizontal ? this.childForceExpandHeight : this.childForceExpandWidth;
175
+ const actualExpandSize = isHorizontal ? actualHeight : actualWidth;
176
+ const totalSpace = isHorizontal ? totalWidth : totalHeight;
177
+ // 0 is left/top, 0.5 is middle, 1 is right/bottom
178
+ const alignmentOnAxis = 0.5 * (isHorizontal ? this.childAlignment % 3 : Math.floor(this.childAlignment / 3));
179
+ let start = 0;
180
+ if (isHorizontal) {
181
+ start += this.padding.left;
182
+ }
183
+ else
184
+ start += this.padding.top;
185
+ // Calculate total size of the elements
186
+ let totalChildSize = 0;
187
+ let actualRectTransformChildCount = 0;
188
+ for (let i = 0; i < this.gameObject.children.length; i++) {
189
+ const ch = this.gameObject.children[i];
190
+ const rt = GameObject.getComponent(ch, RectTransform);
191
+ if (rt?.activeAndEnabled) {
192
+ actualRectTransformChildCount += 1;
193
+ if (isHorizontal) {
194
+ totalChildSize += rt.width;
195
+ }
196
+ else {
197
+ totalChildSize += rt.height;
198
+ }
199
+ }
200
+ }
201
+ let sizePerChild = 0;
202
+ const totalSpacing = this.spacing * (actualRectTransformChildCount - 1);
203
+ if (forceExpandSize || controlSize) {
204
+ let size = 0;
205
+ if (isHorizontal) {
206
+ size = actualWidth -= totalSpacing;
207
+ }
208
+ else {
209
+ size = actualHeight -= totalSpacing;
210
+ }
211
+ if (actualRectTransformChildCount > 0)
212
+ sizePerChild = size / actualRectTransformChildCount;
213
+ }
214
+ let leftOffset = 0;
215
+ leftOffset += this.padding.left;
216
+ leftOffset -= this.padding.right;
217
+ if (alignmentOnAxis !== 0) {
218
+ start = totalSpace - totalChildSize;
219
+ start *= alignmentOnAxis;
220
+ start -= totalSpacing * alignmentOnAxis;
221
+ if (isHorizontal) {
222
+ start -= this.padding.right * alignmentOnAxis;
223
+ start += this.padding.left * (1 - alignmentOnAxis);
224
+ if (start < this.padding.left) {
225
+ start = this.padding.left;
226
+ }
227
+ }
228
+ else {
229
+ start -= this.padding.bottom * alignmentOnAxis;
230
+ start += this.padding.top * (1 - alignmentOnAxis);
231
+ if (start < this.padding.top) {
232
+ start = this.padding.top;
233
+ }
234
+ }
235
+ }
236
+ // Apply layout
237
+ let k = 0;
238
+ for (let i = 0; i < this.gameObject.children.length; i++) {
239
+ const ch = this.gameObject.children[i];
240
+ const rt = GameObject.getComponent(ch, RectTransform);
241
+ if (rt?.activeAndEnabled) {
242
+ rt.pivot?.set(.5, .5);
243
+ // Horizontal padding
244
+ const x = totalWidth * .5 + leftOffset * .5;
245
+ if (rt.anchoredPosition.x !== x)
246
+ rt.anchoredPosition.x = x;
247
+ const y = totalHeight * -.5;
248
+ if (rt.anchoredPosition.y !== y)
249
+ rt.anchoredPosition.y = y;
250
+ // Set the size for the secondary axis (e.g. height for a horizontal layout group)
251
+ if (forceExpandSizeOtherAxis && controlSizeOtherAxis && rt.sizeDelta[otherAxis] !== actualExpandSize) {
252
+ rt.sizeDelta[otherAxis] = actualExpandSize;
253
+ }
254
+ // Set the size for the primary axis (e.g. width for a horizontal layout group)
255
+ if (forceExpandSize && controlSize && rt.sizeDelta[axis] !== sizePerChild) {
256
+ rt.sizeDelta[axis] = sizePerChild;
257
+ }
258
+ const size = isHorizontal ? rt.width : rt.height;
259
+ let halfSize = size * .5;
260
+ start += halfSize;
261
+ if (forceExpandSize) {
262
+ let preferredStart = sizePerChild * (k + 1) - sizePerChild * .5;
263
+ if (preferredStart > start)
264
+ start = preferredStart;
265
+ }
266
+ let value = start;
267
+ if (axis === Axis.Vertical)
268
+ value = -value;
269
+ // Only set the position if it's not already the correct one to avoid triggering the rectTransform dirty event
270
+ if (rt.anchoredPosition[axis] !== value) {
271
+ rt.anchoredPosition[axis] = value;
272
+ }
273
+ start += halfSize;
274
+ start += this.spacing;
275
+ k += 1;
276
+ }
277
+ }
278
+ }
4
279
  }
5
- export class VerticalLayoutGroup extends LayoutGroup {
280
+ __decorate([
281
+ serializable()
282
+ ], HorizontalOrVerticalLayoutGroup.prototype, "childControlHeight", void 0);
283
+ __decorate([
284
+ serializable()
285
+ ], HorizontalOrVerticalLayoutGroup.prototype, "childControlWidth", void 0);
286
+ __decorate([
287
+ serializable()
288
+ ], HorizontalOrVerticalLayoutGroup.prototype, "childForceExpandHeight", void 0);
289
+ __decorate([
290
+ serializable()
291
+ ], HorizontalOrVerticalLayoutGroup.prototype, "childForceExpandWidth", void 0);
292
+ __decorate([
293
+ serializable()
294
+ ], HorizontalOrVerticalLayoutGroup.prototype, "childScaleHeight", void 0);
295
+ __decorate([
296
+ serializable()
297
+ ], HorizontalOrVerticalLayoutGroup.prototype, "childScaleWidth", void 0);
298
+ export class VerticalLayoutGroup extends HorizontalOrVerticalLayoutGroup {
299
+ get primaryAxis() {
300
+ return Axis.Vertical;
301
+ }
6
302
  }
7
- export class HorizontalLayoutGroup extends LayoutGroup {
303
+ export class HorizontalLayoutGroup extends HorizontalOrVerticalLayoutGroup {
304
+ get primaryAxis() {
305
+ return Axis.Horizontal;
306
+ }
8
307
  }
9
308
  export class GridLayoutGroup extends LayoutGroup {
309
+ onCalculateLayout() {
310
+ }
10
311
  }
11
312
  //# sourceMappingURL=Layout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Layout.js","sourceRoot":"","sources":["../../../src/engine-components/ui/Layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,OAAO,WAAY,SAAQ,SAAS;IACtC,kBAAkB,GAAY,KAAK,CAAC;CACvC;AAED,MAAM,OAAO,mBAAoB,SAAQ,WAAW;CAEnD;AAED,MAAM,OAAO,qBAAsB,SAAQ,WAAW;CAErD;AAED,MAAM,OAAO,eAAgB,SAAQ,WAAW;CAE/C"}
1
+ {"version":3,"file":"Layout.js","sourceRoot":"","sources":["../../../src/engine-components/ui/Layout.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,MAAM,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;AAExC,MAAM,OAAO,OAAO;IAEhB,IAAI,GAAW,CAAC,CAAC;IAEjB,KAAK,GAAW,CAAC,CAAC;IAElB,GAAG,GAAW,CAAC,CAAC;IAEhB,MAAM,GAAW,CAAC,CAAC;IAEnB,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;IAClC,CAAC;IACD,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;IAClC,CAAC;CACJ;AAdG;IADC,YAAY,EAAE;qCACE;AAEjB;IADC,YAAY,EAAE;sCACG;AAElB;IADC,YAAY,EAAE;oCACC;AAEhB;IADC,YAAY,EAAE;uCACI;AAUvB,MAAM,CAAN,IAAY,UAWX;AAXD,WAAY,UAAU;IAClB,qDAAa,CAAA;IACb,yDAAe,CAAA;IACf,uDAAc,CAAA;IACd,uDAAc,CAAA;IACd,2DAAgB,CAAA;IAChB,yDAAe,CAAA;IACf,qDAAa,CAAA;IACb,yDAAe,CAAA;IACf,uDAAc,CAAA;IACd,+CAAU,CAAA;AACd,CAAC,EAXW,UAAU,KAAV,UAAU,QAWrB;AAED,IAAK,IAGJ;AAHD,WAAK,IAAI;IACL,wBAAgB,CAAA;IAChB,sBAAc,CAAA;AAClB,CAAC,EAHI,IAAI,KAAJ,IAAI,QAGR;AAED,MAAM,OAAgB,WAAY,SAAQ,SAAS;IAEvC,cAAc,GAAyB,IAAI,CAAC;IACpD,IAAY,aAAa;QACrB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,4BAA4B,CAAC,KAAqB;QAC9C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC7B,CAAC;IAEO,YAAY,GAAY,KAAK,CAAC;IACtC,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,YAAY;QACR,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO;QACjC,IAAI,KAAK;YACL,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACtE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAChD,CAAC;IAED,2BAA2B;IAC3B,2BAA2B;IAC3B,IAAI;IAGJ,cAAc,GAAe,UAAU,CAAC,SAAS,CAAC;IAGlD,kBAAkB,GAAY,KAAK,CAAC;IAGpC,OAAO,GAAW,CAAC,CAAC;IAEpB,OAAO,CAAW;IAGlB,QAAQ,GAAW,CAAC,CAAC;IAErB,SAAS,GAAW,CAAC,CAAC;IAGtB,cAAc,GAAW,CAAC,CAAC;IAE3B,aAAa,GAAW,CAAC,CAAC;IAG1B,eAAe,GAAW,CAAC,CAAC;IAE5B,cAAc,GAAW,CAAC,CAAC;IAE3B,KAAK;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,QAAQ;QACJ,IAAG,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,MAAM,EAAE;YACR,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;SACpC;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,SAAS;QACL,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,MAAM,EAAE;YACR,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SACtC;IACL,CAAC;IAMD,iBAAiB;IACjB,IAAY,SAAS,CAAC,GAAG;QACrB,IAAI,GAAG,KAAK,IAAI,CAAC,OAAO;YAAE,OAAO;QACjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;IACvB,CAAC;IACD,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;CACJ;AA3DG;IADC,YAAY,EAAE;mDACmC;AAGlD;IADC,YAAY,EAAE;uDACqB;AAGpC;IADC,YAAY,EAAE;4CACK;AAEpB;IADC,YAAY,CAAC,OAAO,CAAC;4CACJ;AAGlB;IADC,YAAY,EAAE;6CACM;AAErB;IADC,YAAY,EAAE;8CACO;AAGtB;IADC,YAAY,EAAE;mDACY;AAE3B;IADC,YAAY,EAAE;kDACW;AAG1B;IADC,YAAY,EAAE;oDACa;AAE5B;IADC,YAAY,EAAE;mDACY;AAsC/B,MAAM,OAAgB,+BAAgC,SAAQ,WAAW;IAGrE,kBAAkB,GAAY,IAAI,CAAC;IAEnC,iBAAiB,GAAY,IAAI,CAAC;IAElC,sBAAsB,GAAY,KAAK,CAAC;IAExC,qBAAqB,GAAY,KAAK,CAAC;IAEvC,gBAAgB,GAAY,KAAK,CAAC;IAElC,eAAe,GAAY,KAAK,CAAC;IAIvB,iBAAiB,CAAC,IAAmB;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAE9B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;QAC9B,IAAI,WAAW,GAAG,UAAU,CAAC;QAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;QAChC,IAAI,YAAY,GAAG,WAAW,CAAC;QAC/B,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QACvC,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QAEtC,0EAA0E;QAE1E,MAAM,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC/F,MAAM,YAAY,GAAG,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC;QAC9C,MAAM,UAAU,GAAG,CAAC,YAAY,CAAC;QACjC,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC3C,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;QACpF,MAAM,oBAAoB,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAC7F,MAAM,eAAe,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;QAChG,MAAM,wBAAwB,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;QACzG,MAAM,gBAAgB,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;QACnE,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;QAC3D,kDAAkD;QAClD,MAAM,eAAe,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC;QAE7G,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,YAAY,EAAE;YACd,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;SAC9B;;YAEG,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;QAG9B,uCAAuC;QACvC,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,6BAA6B,GAAG,CAAC,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtD,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;YACtD,IAAI,EAAE,EAAE,gBAAgB,EAAE;gBACtB,6BAA6B,IAAI,CAAC,CAAC;gBACnC,IAAI,YAAY,EAAE;oBACd,cAAc,IAAI,EAAE,CAAC,KAAK,CAAC;iBAC9B;qBACI;oBACD,cAAc,IAAI,EAAE,CAAC,MAAM,CAAC;iBAC/B;aACJ;SACJ;QAED,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,6BAA6B,GAAG,CAAC,CAAC,CAAA;QACvE,IAAI,eAAe,IAAI,WAAW,EAAE;YAChC,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,IAAI,YAAY,EAAE;gBACd,IAAI,GAAG,WAAW,IAAI,YAAY,CAAC;aACtC;iBACI;gBACD,IAAI,GAAG,YAAY,IAAI,YAAY,CAAC;aACvC;YACD,IAAI,6BAA6B,GAAG,CAAC;gBACjC,YAAY,GAAG,IAAI,GAAG,6BAA6B,CAAC;SAC3D;QAED,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAChC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAEjC,IAAI,eAAe,KAAK,CAAC,EAAE;YACvB,KAAK,GAAG,UAAU,GAAG,cAAc,CAAC;YACpC,KAAK,IAAI,eAAe,CAAC;YACzB,KAAK,IAAI,YAAY,GAAG,eAAe,CAAC;YACxC,IAAI,YAAY,EAAE;gBACd,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,eAAe,CAAC;gBAC9C,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC;gBACnD,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;oBAC3B,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;iBAC7B;aACJ;iBACI;gBACD,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,eAAe,CAAC;gBAC/C,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC;gBAClD,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;oBAC1B,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;iBAC5B;aACJ;SACJ;QAED,eAAe;QACf,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtD,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;YACtD,IAAI,EAAE,EAAE,gBAAgB,EAAE;gBACtB,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACtB,qBAAqB;gBACrB,MAAM,CAAC,GAAG,UAAU,GAAG,EAAE,GAAG,UAAU,GAAG,EAAE,CAAC;gBAC5C,IAAI,EAAE,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC;oBAC3B,EAAE,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC9B,MAAM,CAAC,GAAG,WAAW,GAAG,CAAC,EAAE,CAAA;gBAC3B,IAAI,EAAE,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC;oBAC3B,EAAE,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC9B,kFAAkF;gBAClF,IAAI,wBAAwB,IAAI,oBAAoB,IAAI,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,gBAAgB,EAAE;oBAClG,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,gBAAgB,CAAC;iBAC9C;gBACD,+EAA+E;gBAC/E,IAAI,eAAe,IAAI,WAAW,IAAI,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,YAAY,EAAE;oBACvE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,YAAY,CAAA;iBACpC;gBAED,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC;gBACjD,IAAI,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;gBACzB,KAAK,IAAI,QAAQ,CAAC;gBAElB,IAAI,eAAe,EAAE;oBACjB,IAAI,cAAc,GAAG,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY,GAAG,EAAE,CAAC;oBAChE,IAAI,cAAc,GAAG,KAAK;wBACtB,KAAK,GAAG,cAAc,CAAC;iBAC9B;gBAED,IAAI,KAAK,GAAG,KAAK,CAAC;gBAClB,IAAI,IAAI,KAAK,IAAI,CAAC,QAAQ;oBACtB,KAAK,GAAG,CAAC,KAAK,CAAC;gBACnB,8GAA8G;gBAC9G,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE;oBACrC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;iBACpC;gBAED,KAAK,IAAI,QAAQ,CAAC;gBAClB,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC;gBACtB,CAAC,IAAI,CAAC,CAAC;aACV;SACJ;IACL,CAAC;CAGJ;AAvJG;IADC,YAAY,EAAE;2EACoB;AAEnC;IADC,YAAY,EAAE;0EACmB;AAElC;IADC,YAAY,EAAE;+EACyB;AAExC;IADC,YAAY,EAAE;8EACwB;AAEvC;IADC,YAAY,EAAE;yEACmB;AAElC;IADC,YAAY,EAAE;wEACkB;AA+IrC,MAAM,OAAO,mBAAoB,SAAQ,+BAA+B;IAEpE,IAAc,WAAW;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;CAEJ;AAED,MAAM,OAAO,qBAAsB,SAAQ,+BAA+B;IAEtE,IAAc,WAAW;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;CAEJ;AAED,MAAM,OAAO,eAAgB,SAAQ,WAAW;IAClC,iBAAiB;IAC3B,CAAC;CAEJ"}
@@ -30,20 +30,21 @@ export declare class RectTransform extends BaseUIComponent implements IRectTrans
30
30
  offsetMax: Vector2;
31
31
  get width(): any;
32
32
  get height(): any;
33
- private lastMatrixWorld;
34
33
  private lastMatrix;
35
34
  private rectBlock;
36
35
  private _transformNeedsUpdate;
37
36
  awake(): void;
38
37
  onEnable(): void;
39
38
  onDisable(): void;
40
- onParentRectTransformChanged(_comp: IRectTransform): void;
41
- private _parentRectTransform?;
42
- private applyTransform;
43
- private _copyMatrixAfterRender;
39
+ onParentRectTransformChanged(comp: IRectTransform): void;
40
+ get isDirty(): boolean;
44
41
  markDirty(): void;
45
- onBeforeRender(): void;
46
- onAfterRender(): void;
42
+ /** Will update the transforms if it changed or is dirty */
43
+ updateTransform(): void;
44
+ private _parentRectTransform?;
45
+ private _lastUpdateFrame;
46
+ private canUpdate;
47
+ private onApplyTransform;
47
48
  /** applies the position offset to the passed in vector */
48
49
  private applyAnchoring;
49
50
  /** applies the pivot offset to the passed in vector */
@@ -13,6 +13,7 @@ import { onChange } from "./Utils";
13
13
  import { foreachComponentEnumerator } from "../../engine/engine_gameobject";
14
14
  import { GameObject } from '../Component';
15
15
  const debug = getParam("debugui");
16
+ const debugLayout = getParam("debuguilayout");
16
17
  export class Size {
17
18
  width;
18
19
  height;
@@ -27,7 +28,7 @@ const tempVec = new Vector3();
27
28
  const tempMatrix = new Matrix4();
28
29
  const tempQuaternion = new Quaternion();
29
30
  export class RectTransform extends BaseUIComponent {
30
- offset = 0.05;
31
+ offset = 0.1;
31
32
  // @serializable(Object3D)
32
33
  // root? : Object3D;
33
34
  get translation() { return this.gameObject.position; }
@@ -73,13 +74,12 @@ export class RectTransform extends BaseUIComponent {
73
74
  }
74
75
  return this.sizeDelta.y;
75
76
  }
76
- lastMatrixWorld;
77
+ // private lastMatrixWorld!: Matrix4;
77
78
  lastMatrix;
78
79
  rectBlock;
79
80
  _transformNeedsUpdate = false;
80
81
  awake() {
81
82
  super.awake();
82
- this.lastMatrixWorld = new Matrix4();
83
83
  this.lastMatrix = new Matrix4();
84
84
  this.rectBlock = new Object3D();
85
85
  ;
@@ -90,9 +90,10 @@ export class RectTransform extends BaseUIComponent {
90
90
  this._anchoredPosition = new Vector3();
91
91
  // TODO: we need to replace this with the watch that e.g. Rigibody is using (or the one in utils?)
92
92
  // perhaps we can also just manually check the few properties in the update loops?
93
- onChange(this, "_anchoredPosition", () => { this._transformNeedsUpdate = true; });
94
- onChange(this, "sizeDelta", () => { this._transformNeedsUpdate = true; });
95
- onChange(this, "pivot", () => { this._transformNeedsUpdate = true; });
93
+ // TODO: check if value actually changed, this is called on assignment
94
+ onChange(this, "_anchoredPosition", () => { this.markDirty(); });
95
+ onChange(this, "sizeDelta", () => { this.markDirty(); });
96
+ onChange(this, "pivot", () => { this.markDirty(); });
96
97
  // When exported with an anchored position offset we remove it here
97
98
  // because it would otherwise be applied twice when the anchoring is animated
98
99
  // Maybe we can get rid of this workaround if we just set the mesh ui position from the
@@ -111,25 +112,61 @@ export class RectTransform extends BaseUIComponent {
111
112
  super.onEnable();
112
113
  this.addShadowComponent(this.rectBlock);
113
114
  this._transformNeedsUpdate = true;
115
+ this.Canvas?.registerTransform(this);
114
116
  }
115
117
  onDisable() {
116
118
  super.onDisable();
117
119
  this.removeShadowComponent();
120
+ this.Canvas?.unregisterTransform(this);
118
121
  }
119
- onParentRectTransformChanged(_comp) {
122
+ onParentRectTransformChanged(comp) {
123
+ if (this._transformNeedsUpdate)
124
+ return;
120
125
  // When the parent rect transform changes we have to to recalculate our transform
126
+ this.onApplyTransform(debugLayout ? `${comp.name} changed` : undefined);
127
+ }
128
+ get isDirty() {
129
+ if (!this._transformNeedsUpdate)
130
+ this._transformNeedsUpdate = !this.lastMatrix.equals(this.gameObject.matrix);
131
+ return this._transformNeedsUpdate;
132
+ }
133
+ // private _copyMatrixAfterRender: boolean = false;
134
+ markDirty() {
135
+ if (this._transformNeedsUpdate)
136
+ return;
137
+ if (debugLayout)
138
+ console.warn("RectTransform markDirty()", this.name);
121
139
  this._transformNeedsUpdate = true;
122
- this.applyTransform();
140
+ // If mark dirty is called explictly we want to allow updating the transform again when updateTransform is called
141
+ // if we dont reset it here we get delayed layout updates
142
+ this._lastUpdateFrame = -1;
143
+ }
144
+ /** Will update the transforms if it changed or is dirty */
145
+ updateTransform() {
146
+ // TODO: instead of checking matrix again it would perhaps be better to test if position, rotation or scale have changed individually?
147
+ const transformChanged = this._transformNeedsUpdate || !this.lastMatrix.equals(this.gameObject.matrix); // || !this.lastMatrixWorld.equals(this.gameObject.matrixWorld);
148
+ if (transformChanged && this.canUpdate()) {
149
+ this.onApplyTransform(this._transformNeedsUpdate ? "Marked dirty" : "Matrix changed");
150
+ }
123
151
  }
124
152
  _parentRectTransform;
125
- applyTransform() {
153
+ _lastUpdateFrame = -1;
154
+ canUpdate() {
155
+ return this._transformNeedsUpdate && this.activeAndEnabled && this._lastUpdateFrame !== this.context.time.frame;
156
+ }
157
+ onApplyTransform(reason) {
158
+ // TODO: need to improve the update logic, with this UI updates have some frame delay but dont happen exponentially per hierarchy
159
+ if (this.context.time.frameCount === this._lastUpdateFrame)
160
+ return;
161
+ this._lastUpdateFrame = this.context.time.frameCount;
126
162
  const uiobject = this.shadowComponent;
127
163
  if (!uiobject)
128
164
  return;
129
- this._transformNeedsUpdate = false;
130
165
  this._parentRectTransform = GameObject.getComponentInParent(this.gameObject.parent, RectTransform);
131
- if (debug)
132
- console.log("RectTransform ApplyTransform", this.name, this.isRoot());
166
+ this._transformNeedsUpdate = false;
167
+ this.lastMatrix.copy(this.gameObject.matrix);
168
+ if (debugLayout)
169
+ console.warn("RectTransform → ApplyTransform", this.name + " because " + reason);
133
170
  if (!this.isRoot()) {
134
171
  // Reset temp matrix
135
172
  uiobject.matrix.identity();
@@ -155,8 +192,7 @@ export class RectTransform extends BaseUIComponent {
155
192
  tempMatrix.setPosition(tempVec.x, tempVec.y, tempVec.z);
156
193
  uiobject.matrix.premultiply(tempMatrix);
157
194
  // apply scale if necessary
158
- if (this.gameObject.scale.x || this.gameObject.scale.y || this.gameObject.scale.z)
159
- uiobject.matrix.scale(this.gameObject.scale);
195
+ uiobject.matrix.scale(this.gameObject.scale);
160
196
  }
161
197
  else {
162
198
  // We have to rotate the canvas when it's in worldspace
@@ -164,36 +200,28 @@ export class RectTransform extends BaseUIComponent {
164
200
  if (!canvas.screenspace)
165
201
  uiobject.rotation.y = Math.PI;
166
202
  }
167
- this._copyMatrixAfterRender = true;
168
- this.lastMatrix.copy(this.gameObject.matrix);
169
203
  // iterate other components on this object that might need to know about the transform change
170
204
  // e.g. Graphic components should update their width and height
171
205
  const includeChildren = true;
172
- for (const comp of foreachComponentEnumerator(this.gameObject, BaseUIComponent, includeChildren)) {
206
+ for (const comp of foreachComponentEnumerator(this.gameObject, BaseUIComponent, includeChildren, 1)) {
173
207
  if (comp === this)
174
208
  continue;
209
+ if (!comp.activeAndEnabled)
210
+ continue;
175
211
  const callback = comp;
176
- if (callback.onParentRectTransformChanged)
212
+ if (callback.onParentRectTransformChanged) {
213
+ // if (debugLayout) console.log(`RectTransform ${this.name} → call`, comp.name + "/" + comp.constructor.name)
177
214
  callback.onParentRectTransformChanged(this);
215
+ }
178
216
  }
217
+ // const layout = GameObject.getComponentInParent(this.gameObject, ILayoutGroup);
179
218
  }
180
- _copyMatrixAfterRender = false;
181
- markDirty() {
182
- this._transformNeedsUpdate = true;
183
- }
184
- onBeforeRender() {
185
- // TODO: instead of checking matrix again it would perhaps be better to test if position, rotation or scale have changed individually?
186
- const transformChanged = this.gameObject.matrixWorldNeedsUpdate || this._transformNeedsUpdate || !this.lastMatrixWorld.equals(this.gameObject.matrixWorld) || !this.lastMatrix.equals(this.gameObject.matrix);
187
- if (transformChanged) {
188
- this.applyTransform();
189
- }
190
- }
191
- onAfterRender() {
192
- if (this._copyMatrixAfterRender) {
193
- // can we only have this event when the transform changed in this frame? Otherwise all RectTransforms will be iterated. Not sure what is better
194
- this.lastMatrixWorld.copy(this.gameObject.matrixWorld);
195
- }
196
- }
219
+ // onAfterRender() {
220
+ // if (this._copyMatrixAfterRender) {
221
+ // // can we only have this event when the transform changed in this frame? Otherwise all RectTransforms will be iterated. Not sure what is better
222
+ // this.lastMatrixWorld.copy(this.gameObject.matrixWorld);
223
+ // }
224
+ // }
197
225
  /** applies the position offset to the passed in vector */
198
226
  applyAnchoring(pos) {
199
227
  pos.x += this.anchoredPosition.x;
@@ -1 +1 @@
1
- {"version":3,"file":"RectTransform.js","sourceRoot":"","sources":["../../../src/engine-components/ui/RectTransform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RectTransform.js","sourceRoot":"","sources":["../../../src/engine-components/ui/RectTransform.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,13 @@
1
1
  import { Behaviour } from "../Component";
2
2
  import { Object3D } from "three";
3
- export declare class LookAt extends Behaviour {
3
+ import { USDObject } from "../../engine-components/export/usdz/ThreeUSDZExporter";
4
+ import { UsdzBehaviour } from "../../engine-components/export/usdz/extensions/behavior/Behaviour";
5
+ export declare class LookAt extends Behaviour implements UsdzBehaviour {
4
6
  target?: Object3D;
5
7
  invertForward: boolean;
8
+ keepUpDirection: boolean;
9
+ copyTargetRotation: boolean;
10
+ private static flipYQuat;
6
11
  onBeforeRender(): void;
12
+ createBehaviours(ext: any, model: USDObject, _context: any): void;
7
13
  }