@needle-tools/engine 3.5.1-alpha → 3.5.3-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 (109) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/needle-engine.js +29554 -29281
  3. package/dist/needle-engine.min.js +357 -356
  4. package/dist/needle-engine.umd.cjs +354 -353
  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/debug/debug_overlay.js +2 -1
  8. package/lib/engine/debug/debug_overlay.js.map +1 -1
  9. package/lib/engine/engine_components.js +2 -1
  10. package/lib/engine/engine_components.js.map +1 -1
  11. package/lib/engine/engine_element_loading.js +4 -4
  12. package/lib/engine/engine_element_loading.js.map +1 -1
  13. package/lib/engine/engine_gameobject.js +2 -0
  14. package/lib/engine/engine_gameobject.js.map +1 -1
  15. package/lib/engine/engine_input.js +4 -1
  16. package/lib/engine/engine_input.js.map +1 -1
  17. package/lib/engine/engine_license.d.ts +2 -0
  18. package/lib/engine/engine_license.js +25 -4
  19. package/lib/engine/engine_license.js.map +1 -1
  20. package/lib/engine/engine_physics_rapier.js +2 -1
  21. package/lib/engine/engine_physics_rapier.js.map +1 -1
  22. package/lib/engine/engine_serialization_core.js +16 -1
  23. package/lib/engine/engine_serialization_core.js.map +1 -1
  24. package/lib/engine/extensions/NEEDLE_lighting_settings.js +10 -1
  25. package/lib/engine/extensions/NEEDLE_lighting_settings.js.map +1 -1
  26. package/lib/engine-components/Component.js +0 -3
  27. package/lib/engine-components/Component.js.map +1 -1
  28. package/lib/engine-components/SceneSwitcher.d.ts +9 -0
  29. package/lib/engine-components/SceneSwitcher.js +128 -0
  30. package/lib/engine-components/SceneSwitcher.js.map +1 -1
  31. package/lib/engine-components/codegen/components.d.ts +2 -1
  32. package/lib/engine-components/codegen/components.js +2 -1
  33. package/lib/engine-components/codegen/components.js.map +1 -1
  34. package/lib/engine-components/export/usdz/Extension.d.ts +3 -2
  35. package/lib/engine-components/export/usdz/ThreeUSDZExporter.d.ts +9 -5
  36. package/lib/engine-components/export/usdz/ThreeUSDZExporter.js +64 -20
  37. package/lib/engine-components/export/usdz/ThreeUSDZExporter.js.map +1 -1
  38. package/lib/engine-components/export/usdz/USDZExporter.d.ts +2 -0
  39. package/lib/engine-components/export/usdz/USDZExporter.js +44 -9
  40. package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
  41. package/lib/engine-components/export/usdz/extensions/behavior/AudioExtension.d.ts +9 -0
  42. package/lib/engine-components/export/usdz/extensions/behavior/AudioExtension.js +48 -0
  43. package/lib/engine-components/export/usdz/extensions/behavior/AudioExtension.js.map +1 -0
  44. package/lib/engine-components/export/usdz/extensions/behavior/Behaviour.d.ts +4 -5
  45. package/lib/engine-components/export/usdz/extensions/behavior/Behaviour.js +19 -10
  46. package/lib/engine-components/export/usdz/extensions/behavior/Behaviour.js.map +1 -1
  47. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.d.ts +9 -0
  48. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js +75 -5
  49. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js.map +1 -1
  50. package/lib/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.d.ts +20 -0
  51. package/lib/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.js +45 -0
  52. package/lib/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.js.map +1 -1
  53. package/lib/engine-components/ui/BaseUIComponent.d.ts +1 -0
  54. package/lib/engine-components/ui/BaseUIComponent.js +8 -4
  55. package/lib/engine-components/ui/BaseUIComponent.js.map +1 -1
  56. package/lib/engine-components/ui/Canvas.js +1 -1
  57. package/lib/engine-components/ui/Canvas.js.map +1 -1
  58. package/lib/engine-components/ui/EventSystem.js +3 -0
  59. package/lib/engine-components/ui/EventSystem.js.map +1 -1
  60. package/lib/engine-components/ui/Image.d.ts +3 -1
  61. package/lib/engine-components/ui/Image.js +15 -1
  62. package/lib/engine-components/ui/Image.js.map +1 -1
  63. package/lib/engine-components/ui/Interfaces.d.ts +1 -1
  64. package/lib/engine-components/ui/Layout.js +2 -0
  65. package/lib/engine-components/ui/Layout.js.map +1 -1
  66. package/lib/engine-components/ui/PointerEvents.d.ts +8 -1
  67. package/lib/engine-components/ui/PointerEvents.js +9 -1
  68. package/lib/engine-components/ui/PointerEvents.js.map +1 -1
  69. package/lib/engine-components/ui/RaycastUtils.js +5 -0
  70. package/lib/engine-components/ui/RaycastUtils.js.map +1 -1
  71. package/lib/engine-components/ui/RectTransform.d.ts +2 -2
  72. package/lib/engine-components/ui/RectTransform.js +11 -12
  73. package/lib/engine-components/ui/RectTransform.js.map +1 -1
  74. package/lib/engine-components/ui/Text.d.ts +0 -2
  75. package/lib/engine-components/ui/Text.js +0 -5
  76. package/lib/engine-components/ui/Text.js.map +1 -1
  77. package/lib/tsconfig.tsbuildinfo +1 -1
  78. package/package.json +1 -1
  79. package/plugins/vite/license.js +2 -2
  80. package/src/engine/codegen/register_types.js +4 -2
  81. package/src/engine/debug/debug_overlay.ts +2 -1
  82. package/src/engine/engine_components.ts +2 -1
  83. package/src/engine/engine_element_loading.ts +4 -4
  84. package/src/engine/engine_gameobject.ts +3 -0
  85. package/src/engine/engine_input.ts +4 -1
  86. package/src/engine/engine_license.ts +25 -4
  87. package/src/engine/engine_physics_rapier.ts +2 -1
  88. package/src/engine/engine_serialization_core.ts +17 -1
  89. package/src/engine/extensions/NEEDLE_lighting_settings.ts +11 -1
  90. package/src/engine-components/Component.ts +1 -3
  91. package/src/engine-components/SceneSwitcher.ts +136 -1
  92. package/src/engine-components/codegen/components.ts +2 -1
  93. package/src/engine-components/export/usdz/Extension.ts +3 -2
  94. package/src/engine-components/export/usdz/ThreeUSDZExporter.ts +89 -21
  95. package/src/engine-components/export/usdz/USDZExporter.ts +48 -11
  96. package/src/engine-components/export/usdz/extensions/behavior/AudioExtension.ts +63 -0
  97. package/src/engine-components/export/usdz/extensions/behavior/Behaviour.ts +28 -16
  98. package/src/engine-components/export/usdz/extensions/behavior/BehaviourComponents.ts +98 -21
  99. package/src/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.ts +48 -2
  100. package/src/engine-components/ui/BaseUIComponent.ts +8 -3
  101. package/src/engine-components/ui/Canvas.ts +1 -1
  102. package/src/engine-components/ui/EventSystem.ts +5 -1
  103. package/src/engine-components/ui/Image.ts +16 -1
  104. package/src/engine-components/ui/Interfaces.ts +1 -1
  105. package/src/engine-components/ui/Layout.ts +2 -0
  106. package/src/engine-components/ui/PointerEvents.ts +16 -2
  107. package/src/engine-components/ui/RaycastUtils.ts +6 -1
  108. package/src/engine-components/ui/RectTransform.ts +11 -11
  109. package/src/engine-components/ui/Text.ts +1 -3
@@ -37,9 +37,17 @@ export class SceneSwitcher extends Behaviour {
37
37
  useSwipe = true;
38
38
  /** when enabled will automatically apply the environment scene lights */
39
39
  useSceneLighting = true;
40
+ /** how many scenes after the currently active scene should be preloaded */
41
+ preloadNext = 1;
42
+ /** how many scenes before the currently active scene should be preloaded */
43
+ preloadPrevious = 1;
44
+ /** how many scenes can be loaded in parallel */
45
+ preloadConcurrent = 2;
46
+ get currentIndex() { return this._currentIndex; }
40
47
  _currentIndex = -1;
41
48
  _currentScene = undefined;
42
49
  _engineElementOverserver = undefined;
50
+ _preloadScheduler;
43
51
  async start() {
44
52
  if (this._currentIndex === -1 && !await this.tryLoadFromQueryParam()) {
45
53
  const value = this.context.domElement.getAttribute(ENGINE_ELEMENT_SCENE_ATTRIBUTE_NAME);
@@ -76,12 +84,19 @@ export class SceneSwitcher extends Behaviour {
76
84
  this._engineElementOverserver.observe(this.context.domElement, {
77
85
  attributes: true
78
86
  });
87
+ if (!this._preloadScheduler)
88
+ this._preloadScheduler = new PreLoadScheduler(this);
89
+ this._preloadScheduler.maxLoadAhead = this.preloadNext;
90
+ this._preloadScheduler.maxLoadBehind = this.preloadPrevious;
91
+ this._preloadScheduler.maxConcurrent = this.preloadConcurrent;
92
+ this._preloadScheduler.begin();
79
93
  }
80
94
  onDisable() {
81
95
  globalThis.removeEventListener("popstate", this.onPopState);
82
96
  this.context.input.removeEventListener(InputEvents.KeyDown, this.onKeyDown);
83
97
  this.context.input.removeEventListener(InputEvents.PointerMove, this.onPointerMove);
84
98
  this.context.input.removeEventListener(InputEvents.PointerUp, this.onPointerUp);
99
+ this._preloadScheduler?.stop();
85
100
  }
86
101
  onPopState = async (_state) => {
87
102
  if (!this.useHistory)
@@ -247,6 +262,14 @@ export class SceneSwitcher extends Behaviour {
247
262
  }
248
263
  return false;
249
264
  }
265
+ preload(index) {
266
+ if (index >= 0 && index < this.scenes.length) {
267
+ const scene = this.scenes[index];
268
+ if (scene instanceof AssetReference)
269
+ return scene.preload();
270
+ }
271
+ return couldNotLoadScenePromise;
272
+ }
250
273
  tryLoadFromQueryParam() {
251
274
  if (!this.queryParameterName?.length)
252
275
  return couldNotLoadScenePromise;
@@ -307,4 +330,109 @@ __decorate([
307
330
  __decorate([
308
331
  serializable()
309
332
  ], SceneSwitcher.prototype, "useSceneLighting", void 0);
333
+ __decorate([
334
+ serializable()
335
+ ], SceneSwitcher.prototype, "preloadNext", void 0);
336
+ __decorate([
337
+ serializable()
338
+ ], SceneSwitcher.prototype, "preloadPrevious", void 0);
339
+ __decorate([
340
+ serializable()
341
+ ], SceneSwitcher.prototype, "preloadConcurrent", void 0);
342
+ class PreLoadScheduler {
343
+ maxLoadAhead;
344
+ maxLoadBehind;
345
+ maxConcurrent;
346
+ _isRunning = false;
347
+ _rooms;
348
+ _roomTasks = [];
349
+ _maxConcurrentLoads = 1;
350
+ constructor(rooms, ahead = 1, behind = 1, maxConcurrent = 2) {
351
+ this._rooms = rooms;
352
+ this.maxLoadAhead = ahead;
353
+ this.maxLoadBehind = behind;
354
+ this.maxConcurrent = maxConcurrent;
355
+ }
356
+ begin() {
357
+ if (this._isRunning)
358
+ return;
359
+ if (debug)
360
+ console.log("Preload begin");
361
+ this._isRunning = true;
362
+ let lastRoom = -1;
363
+ let searchDistance;
364
+ let searchCall;
365
+ const array = this._rooms.scenes;
366
+ let interval = setInterval(() => {
367
+ if (this.allLoaded()) {
368
+ if (debug)
369
+ console.log("All scenes loaded");
370
+ this.stop();
371
+ }
372
+ if (!this._isRunning) {
373
+ clearInterval(interval);
374
+ return;
375
+ }
376
+ if (this.canLoadNewScene() === false)
377
+ return;
378
+ if (lastRoom !== this._rooms.currentIndex) {
379
+ lastRoom = this._rooms.currentIndex;
380
+ searchCall = 0;
381
+ searchDistance = 0;
382
+ }
383
+ const searchForward = searchCall % 2 === 0;
384
+ if (searchForward)
385
+ searchDistance += 1;
386
+ searchCall += 1;
387
+ const maxSearchDistance = searchForward ? this.maxLoadAhead : this.maxLoadBehind;
388
+ if (searchDistance > maxSearchDistance)
389
+ return;
390
+ let roomIndex = searchForward ? lastRoom + searchDistance : lastRoom - searchDistance;
391
+ if (roomIndex < 0)
392
+ return;
393
+ // if (roomIndex < 0) roomIndex = array.length + roomIndex;
394
+ if (roomIndex < 0 || roomIndex >= array.length)
395
+ return;
396
+ const scene = array[roomIndex];
397
+ new LoadTask(roomIndex, scene, this._roomTasks);
398
+ }, 200);
399
+ }
400
+ stop() {
401
+ this._isRunning = false;
402
+ }
403
+ canLoadNewScene() {
404
+ return this._roomTasks.length < this._maxConcurrentLoads;
405
+ }
406
+ allLoaded() {
407
+ for (const room of this._rooms.scenes) {
408
+ if (room.isLoaded() === false)
409
+ return false;
410
+ }
411
+ return true;
412
+ }
413
+ }
414
+ class LoadTask {
415
+ index;
416
+ asset;
417
+ tasks;
418
+ constructor(index, asset, tasks) {
419
+ this.index = index;
420
+ this.asset = asset;
421
+ this.tasks = tasks;
422
+ tasks.push(this);
423
+ this.awaitLoading();
424
+ }
425
+ async awaitLoading() {
426
+ if (!this.asset.isLoaded()) {
427
+ if (debug)
428
+ console.log("Preload start: " + this.asset.uri, this.index);
429
+ await this.asset.preload();
430
+ if (debug)
431
+ console.log("Preload finished: " + this.asset.uri, this.index);
432
+ }
433
+ const i = this.tasks.indexOf(this);
434
+ if (i >= 0)
435
+ this.tasks.splice(i, 1);
436
+ }
437
+ }
310
438
  //# sourceMappingURL=SceneSwitcher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SceneSwitcher.js","sourceRoot":"","sources":["../../src/engine-components/SceneSwitcher.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,QAAQ,EAAkB,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,KAAK,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC;AAE7C,MAAM,mCAAmC,GAAG,OAAO,CAAC;AAEpD,eAAe,CAAC,gBAAgB,CAAC,YAAY,CAAC,iBAAiB,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACvE,uEAAuE;IACvE,MAAM,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAC1C,MAAM,YAAY,GAAG,GAAG,CAAC,uBAAuB,CAAC;QACjD,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,4CAA4C,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC;QACtG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YAC9E,YAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAQxD,MAAM,OAAO,aAAc,SAAQ,SAAS;IAGxC,MAAM,CAAoB;IAE1B,sGAAsG;IAEtG,kBAAkB,GAAW,OAAO,CAAC;IAGrC,KAAK,GAAY,IAAI,CAAC;IAEtB,0HAA0H;IAE1H,UAAU,GAAY,IAAI,CAAC;IAE3B,oGAAoG;IAEpG,WAAW,GAAY,IAAI,CAAC;IAE5B,2EAA2E;IAE3E,QAAQ,GAAY,IAAI,CAAC;IAEzB,yEAAyE;IAEzE,gBAAgB,GAAY,IAAI,CAAC;IAGzB,aAAa,GAAW,CAAC,CAAC,CAAC;IAC3B,aAAa,GAA+B,SAAS,CAAC;IACtD,wBAAwB,GAAiC,SAAS,CAAC;IAE3E,KAAK,CAAC,KAAK;QACP,IAAI,IAAI,CAAC,aAAa,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,qBAAqB,EAAE,EAAE;YAClE,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,mCAAmC,CAAC,CAAC;YACxF,0BAA0B;YAC1B,IAAI;gBACA,qBAAqB;gBACrB,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,EAAE;oBAC9D,IAAI,IAAI,CAAC,aAAa,KAAK,CAAC,CAAC;wBACzB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iBACtB;aACJ;oBACO;gBACJ,sBAAsB;aACzB;SACJ;IACL,CAAC;IAED,QAAQ;QACJ,UAAU,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACzE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACjF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAE7E,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE;YAChC,IAAI,CAAC,wBAAwB,GAAG,IAAI,gBAAgB,CAAC,CAAC,SAAS,EAAE,EAAE;gBAC/D,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE;oBACzB,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,aAAa,KAAK,mCAAmC,EAAE;wBACxF,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,mCAAmC,CAAC,CAAC;wBACxF,IAAI,KAAK,KAAK,IAAI,EAAE;4BAChB,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;yBACvC;qBACJ;iBACJ;YACL,CAAC,CAAC,CAAC;SACN;QAED,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YAC3D,UAAU,EAAE,IAAI;SACnB,CAAC,CAAC;IACP,CAAC;IAED,SAAS;QACL,UAAU,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5E,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACpF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpF,CAAC;IAEO,UAAU,GAAG,KAAK,EAAE,MAAqB,EAAE,EAAE;QACjD,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAC7B,IAAI,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC;QACtC,IAAI;YACA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,IAAI,IAAI,CAAC,kBAAkB;gBACvB,UAAU,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACpD,IAAI,CAAC,UAAU,EAAE;gBACb,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;gBAC3B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACnB,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;iBAC7C;aACJ;SACJ;gBACO;YACJ,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC;SACrC;IACL,CAAC,CAAA;IAEO,yBAAyB,GAAG,GAAG,CAAC;IAChC,SAAS,GAAY,KAAK,CAAC;IAC3B,aAAa,GAAG,CAAC,CAAM,EAAE,EAAE;QAC/B,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,KAAK,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,EAAE;YACrH,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACnE,IAAI,KAAK,EAAE;gBACP,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACpD,IAAI,WAAW,IAAI,IAAI,CAAC,yBAAyB,EAAE;oBAC/C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBACtB,IAAI,CAAC,UAAU,EAAE,CAAC;iBACrB;qBACI,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE;oBACrD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBACtB,IAAI,CAAC,UAAU,EAAE,CAAC;iBACrB;aACJ;SACJ;IACL,CAAC,CAAA;IAEO,WAAW,GAAG,CAAC,CAAM,EAAE,EAAE;QAC7B,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YAChB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SAC1B;IACL,CAAC,CAAC;IAEM,SAAS,GAAG,CAAC,CAAM,EAAE,EAAE;QAC3B,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAC9B,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAChC,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,KAAK,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;YACpC,OAAO;SACV;QACD,QAAQ,GAAG,EAAE;YACT,KAAK,YAAY,CAAC;YAClB,KAAK,GAAG;gBACJ,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,MAAM;YACV,KAAK,WAAW,CAAC;YACjB,KAAK,GAAG;gBACJ,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,MAAM;SACb;IACL,CAAC,CAAA;IAED,UAAU;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,KAAsB;QACzB,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAExC,IAAG,OAAO,KAAK,KAAK,QAAQ,EAAC;YACzB,sFAAsF;YACtF,+FAA+F;YAC/F,qGAAqG;YACrG,OAAO,CAAC,IAAI,CAAC,iBAAiB,GAAG,KAAK,GAAG,2FAA2F,CAAC,CAAC;SACzI;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,sEAAsE;YACtE,gDAAgD;YAChD,kEAAkE;YAClE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC;YACtD,IAAI,CAAC,KAAK,EAAE;gBACR,gDAAgD;gBAChD,2DAA2D;gBAC3D,8DAA8D;gBAC9D,iFAAiF;gBACjF,MAAM,SAAS,GAAG,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvF,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;aACtC;YACD,IAAI,KAAK;gBAAE,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;;gBACzC,OAAO,wBAAwB,CAAC;SACxC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM;YAAE,OAAO,wBAAwB,CAAC;QAC1D,IAAI,KAAK,GAAG,CAAC,EAAE;YACX,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,wBAAwB,CAAC;YAChD,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;SAClC;aACI,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAClC,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,wBAAwB,CAAC;YAChD,KAAK,GAAG,CAAC,CAAC;SACb;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAqB;QACnC,IAAI,KAAK,KAAK,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QAC9C,IAAI,IAAI,CAAC,aAAa;YAClB,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI;YACA,MAAM,YAAY,GAAG,IAAI,WAAW,CAAiB,iBAAiB,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;YACnI,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YACjC,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC;YAC7B,MAAM,WAAW,GAAG,IAAI,WAAW,CAAiB,oBAAoB,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACtI,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YAChC,IAAI,WAAW,CAAC,gBAAgB,EAAE;gBAC9B,IAAI,KAAK;oBAAE,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;gBAC9E,OAAO,KAAK,CAAC;aAChB;YACD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;gBACd,IAAI,KAAK;oBAAE,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;gBACxD,OAAO,KAAK,CAAC;aAChB;YACD,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,EAAE;gBAC9B,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC7C,IAAI,IAAI,CAAC,gBAAgB;oBACrB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBAC5C,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,IAAI,CAAC,EAAE;oBAC/B,4CAA4C;oBAC5C,IAAI,IAAI,CAAC,kBAAkB,EAAE,MAAM;wBAC/B,qBAAqB,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;oBACtF,8DAA8D;yBACzD;wBACD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC;wBAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;wBAC3C,IAAI,SAAS,KAAK,SAAS;4BACvB,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;qBAC7D;iBACJ;gBACD,OAAO,IAAI,CAAC;aACf;SACJ;QACD,OAAO,GAAG,EAAE;YACR,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACtB;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,qBAAqB;QACzB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM;YAAE,OAAO,wBAAwB,CAAC;QACtE,qCAAqC;QACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAChD,IAAI,OAAO,KAAK,KAAK,SAAS;YAAE,OAAO,wBAAwB,CAAC;QAChE,OAAO,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,mDAAmD;IAC3C,uBAAuB,CAAC,KAAsB;QAElD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAe,CAAC,CAAC;YACxC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;gBAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAAA,CAAC;aAC9B;iBACI;gBACD,2CAA2C;gBAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACzC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC7B,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;wBACzC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBAAA,CAAC;qBAC1B;iBACJ;aACJ;SACJ;aACI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAChC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;gBAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAAA,CAAC;aAC9B;SACJ;QAED,IAAI,cAAc,EAAE;YAAE,OAAO,CAAC,IAAI,CAAC,wBAAwB,GAAG,KAAK,GAAG,IAAI,EAAE,IAAI,CAAC,CAAA;QAEjF,OAAO,wBAAwB,CAAC;IACpC,CAAC;CACJ;AApRG;IADC,YAAY,CAAC,cAAc,CAAC;6CACH;AAI1B;IADC,YAAY,EAAE;yDACsB;AAGrC;IADC,YAAY,EAAE;4CACO;AAItB;IADC,YAAY,EAAE;iDACY;AAI3B;IADC,YAAY,EAAE;kDACa;AAI5B;IADC,YAAY,EAAE;+CACU;AAIzB;IADC,YAAY,EAAE;uDACkB"}
1
+ {"version":3,"file":"SceneSwitcher.js","sourceRoot":"","sources":["../../src/engine-components/SceneSwitcher.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ export { Animator } from "../Animator";
12
12
  export { AnimatorController } from "../AnimatorController";
13
13
  export { Antialiasing } from "../postprocessing/Effects/Antialiasing";
14
14
  export { AttachedObject } from "../webxr/WebXRController";
15
+ export { AudioExtension } from "../export/usdz/extensions/behavior/AudioExtension";
15
16
  export { AudioListener } from "../AudioListener";
16
17
  export { AudioSource } from "../AudioSource";
17
18
  export { AudioTrackHandler } from "../timeline/TimelineTracks";
@@ -114,6 +115,7 @@ export { ParticleSystemRenderer } from "../ParticleSystem";
114
115
  export { PixelationEffect } from "../postprocessing/Effects/Pixelation";
115
116
  export { PlayableDirector } from "../timeline/PlayableDirector";
116
117
  export { PlayAnimationOnClick } from "../export/usdz/extensions/behavior/BehaviourComponents";
118
+ export { PlayAudioOnClick } from "../export/usdz/extensions/behavior/BehaviourComponents";
117
119
  export { PlayerColor } from "../PlayerColor";
118
120
  export { PointerEventData } from "../ui/PointerEvents";
119
121
  export { PostProcessingHandler } from "../postprocessing/PostProcessingHandler";
@@ -179,7 +181,6 @@ export { TriggerModel } from "../export/usdz/extensions/behavior/BehavioursBuild
179
181
  export { UIRaycastUtils } from "../ui/RaycastUtils";
180
182
  export { UIRootComponent } from "../ui/BaseUIComponent";
181
183
  export { UsageMarker } from "../Interactable";
182
- export { USDZBehaviours } from "../export/usdz/extensions/behavior/Behaviour";
183
184
  export { USDZExporter } from "../export/usdz/USDZExporter";
184
185
  export { USDZText } from "../export/usdz/extensions/USDZText";
185
186
  export { VariantAction } from "../export/usdz/extensions/behavior/Actions";
@@ -13,6 +13,7 @@ export { Animator } from "../Animator";
13
13
  export { AnimatorController } from "../AnimatorController";
14
14
  export { Antialiasing } from "../postprocessing/Effects/Antialiasing";
15
15
  export { AttachedObject } from "../webxr/WebXRController";
16
+ export { AudioExtension } from "../export/usdz/extensions/behavior/AudioExtension";
16
17
  export { AudioListener } from "../AudioListener";
17
18
  export { AudioSource } from "../AudioSource";
18
19
  export { AudioTrackHandler } from "../timeline/TimelineTracks";
@@ -115,6 +116,7 @@ export { ParticleSystemRenderer } from "../ParticleSystem";
115
116
  export { PixelationEffect } from "../postprocessing/Effects/Pixelation";
116
117
  export { PlayableDirector } from "../timeline/PlayableDirector";
117
118
  export { PlayAnimationOnClick } from "../export/usdz/extensions/behavior/BehaviourComponents";
119
+ export { PlayAudioOnClick } from "../export/usdz/extensions/behavior/BehaviourComponents";
118
120
  export { PlayerColor } from "../PlayerColor";
119
121
  export { PointerEventData } from "../ui/PointerEvents";
120
122
  export { PostProcessingHandler } from "../postprocessing/PostProcessingHandler";
@@ -180,7 +182,6 @@ export { TriggerModel } from "../export/usdz/extensions/behavior/BehavioursBuild
180
182
  export { UIRaycastUtils } from "../ui/RaycastUtils";
181
183
  export { UIRootComponent } from "../ui/BaseUIComponent";
182
184
  export { UsageMarker } from "../Interactable";
183
- export { USDZBehaviours } from "../export/usdz/extensions/behavior/Behaviour";
184
185
  export { USDZExporter } from "../export/usdz/USDZExporter";
185
186
  export { USDZText } from "../export/usdz/extensions/USDZText";
186
187
  export { VariantAction } from "../export/usdz/extensions/behavior/Actions";
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sourceRoot":"","sources":["../../../src/engine-components/codegen/components.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../../../src/engine-components/codegen/components.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
- import { USDObject } from "./ThreeUSDZExporter";
1
+ import { USDObject, USDZExporterContext } from "./ThreeUSDZExporter";
2
+ import { Object3D } from "three";
2
3
  export interface IUSDExporterExtension {
3
4
  get extensionName(): string;
4
5
  onBeforeBuildDocument?(context: any): any;
5
6
  onAfterBuildDocument?(context: any): any;
6
- onExportObject?(object: any, model: USDObject, context: any): any;
7
+ onExportObject?(object: Object3D, model: USDObject, context: USDZExporterContext): any;
7
8
  onAfterSerialize?(context: any): any;
8
9
  onAfterHierarchy?(context: any, writer: any): any;
9
10
  }
@@ -14,7 +14,6 @@ declare class USDObject {
14
14
  parent: USDObject | null;
15
15
  children: Array<USDObject | null>;
16
16
  _eventListeners: {};
17
- mesh: any;
18
17
  static createEmptyParent(object: any): USDObject;
19
18
  constructor(id: any, name: any, matrix: any, mesh?: BufferGeometry | null, material?: Material | null, camera?: Camera | null);
20
19
  is(obj: any): boolean;
@@ -62,15 +61,20 @@ declare class USDZExporterContext {
62
61
  output: string;
63
62
  constructor(root: any, exporter: any, extensions: any);
64
63
  }
64
+ /**[documentation](https://developer.apple.com/documentation/arkit/usdz_schemas_for_ar/preliminary_anchoringapi/preliminary_anchoring_type) */
65
+ export type Anchoring = "plane" | "image" | "face" | "none";
66
+ /**[documentation](https://developer.apple.com/documentation/arkit/usdz_schemas_for_ar/preliminary_anchoringapi/preliminary_planeanchoring_alignment) */
67
+ export type Alignment = "horizontal" | "vertical" | "any";
65
68
  declare class USDZExporterOptions {
66
69
  ar: {
67
70
  anchoring: {
68
- type: string;
71
+ type: Anchoring;
72
+ };
73
+ planeAnchoring: {
74
+ alignment: Alignment;
69
75
  };
70
76
  };
71
- planeAnchoring: {
72
- alignment: string;
73
- };
77
+ quickLookCompatible: boolean;
74
78
  extensions: any[];
75
79
  }
76
80
  declare class USDZExporter {
@@ -1,4 +1,6 @@
1
- import { PlaneGeometry, Texture, Uniform, PerspectiveCamera, Scene, Mesh, ShaderMaterial, WebGLRenderer, MathUtils, Matrix4, RepeatWrapping, MirroredRepeatWrapping, DoubleSide, sRGBEncoding, MeshPhysicalMaterial, } from 'three';
1
+ import { Renderer } from '../../Renderer';
2
+ import { GameObject } from '../../Component';
3
+ import { PlaneGeometry, Texture, Uniform, PerspectiveCamera, Scene, Mesh, ShaderMaterial, WebGLRenderer, MathUtils, Matrix4, RepeatWrapping, MirroredRepeatWrapping, DoubleSide, Camera, MeshStandardMaterial, sRGBEncoding, MeshPhysicalMaterial, MeshBasicMaterial, SkinnedMesh, } from 'three';
2
4
  import * as fflate from 'three/examples/jsm/libs/fflate.module.js';
3
5
  function makeNameSafe(str) {
4
6
  str = str.replace(/[^a-zA-Z0-9_]/g, '');
@@ -21,7 +23,6 @@ class USDObject {
21
23
  parent;
22
24
  children = [];
23
25
  _eventListeners;
24
- mesh;
25
26
  static createEmptyParent(object) {
26
27
  const emptyParent = new USDObject(MathUtils.generateUUID(), object.name + '_empty_' + (USDObject.USDObject_export_id++), object.matrix);
27
28
  const parent = object.parent;
@@ -52,7 +53,7 @@ class USDObject {
52
53
  return !this.geometry;
53
54
  }
54
55
  clone() {
55
- const clone = new USDObject(MathUtils.generateUUID(), this.name, this.matrix, this.mesh, this.material);
56
+ const clone = new USDObject(MathUtils.generateUUID(), this.name, this.matrix, this.geometry, this.material);
56
57
  clone.isDynamic = this.isDynamic;
57
58
  return clone;
58
59
  }
@@ -242,8 +243,11 @@ class USDZExporterContext {
242
243
  }
243
244
  }
244
245
  class USDZExporterOptions {
245
- ar = { anchoring: { type: 'plane' } };
246
- planeAnchoring = { alignment: 'horizontal' };
246
+ ar = {
247
+ anchoring: { type: 'plane' },
248
+ planeAnchoring: { alignment: 'horizontal' }
249
+ };
250
+ quickLookCompatible = false;
247
251
  extensions = [];
248
252
  }
249
253
  class USDZExporter {
@@ -269,7 +273,7 @@ class USDZExporter {
269
273
  traverseVisible(scene, context.document, context);
270
274
  invokeAll(context, 'onAfterBuildDocument');
271
275
  parseDocument(context);
272
- invokeAll(context, 'onAfterSerialize');
276
+ await invokeAll(context, 'onAfterSerialize');
273
277
  context.output += buildMaterials(materials, textures);
274
278
  const header = context.document.buildHeader();
275
279
  const final = header + '\n' + context.output;
@@ -316,13 +320,24 @@ function traverseVisible(object, parentModel, context) {
316
320
  if (!object.visible)
317
321
  return;
318
322
  let model = undefined;
319
- const geometry = object.geometry;
320
- const material = object.material;
321
- if (object.isMesh && material && (material.isMeshStandardMaterial || material.isMeshBasicMaterial) && !object.isSkinnedMesh) {
323
+ let geometry = undefined;
324
+ let material = undefined;
325
+ if (object instanceof Mesh) {
326
+ geometry = object.geometry;
327
+ material = object.material;
328
+ }
329
+ // TODO what should be do with disabled renderers?
330
+ // Here we just assume they're off, and don't export them
331
+ const renderer = GameObject.getComponent(object, Renderer);
332
+ if (renderer && !renderer.enabled) {
333
+ geometry = undefined;
334
+ material = undefined;
335
+ }
336
+ if (object instanceof Mesh && material && (material instanceof MeshStandardMaterial || material instanceof MeshBasicMaterial) && !(object instanceof SkinnedMesh)) {
322
337
  const name = getObjectId(object);
323
338
  model = new USDObject(object.uuid, name, object.matrix, geometry, material);
324
339
  }
325
- else if (object.isCamera) {
340
+ else if (object instanceof Camera) {
326
341
  const name = getObjectId(object);
327
342
  model = new USDObject(object.uuid, name, object.matrix, undefined, undefined, object);
328
343
  }
@@ -354,7 +369,7 @@ function traverseVisible(object, parentModel, context) {
354
369
  traverseVisible(ch, parentModel, context);
355
370
  }
356
371
  }
357
- function parseDocument(context) {
372
+ async function parseDocument(context) {
358
373
  for (const child of context.document.children) {
359
374
  addResources(child, context);
360
375
  }
@@ -373,7 +388,7 @@ function parseDocument(context) {
373
388
  )`);
374
389
  writer.appendLine(`token preliminary:anchoring:type = "${context.exporter.sceneAnchoringOptions.ar.anchoring.type}"`);
375
390
  if (context.exporter.sceneAnchoringOptions.ar.anchoring.type === 'plane')
376
- writer.appendLine(`token preliminary:planeAnchoring:alignment = "${context.exporter.sceneAnchoringOptions.planeAnchoring.alignment}"`);
391
+ writer.appendLine(`token preliminary:planeAnchoring:alignment = "${context.exporter.sceneAnchoringOptions.ar.planeAnchoring.alignment}"`);
377
392
  // bit hacky as we don't have a callback here yet. Relies on the fact that the image is named identical in the ImageTracking extension.
378
393
  if (context.exporter.sceneAnchoringOptions.ar.anchoring.type === 'image')
379
394
  writer.appendLine(`rel preliminary:imageAnchoring:referenceImage = </${context.document.name}/Scenes/Scene/AnchoringReferenceImage>`);
@@ -409,11 +424,21 @@ function addResources(object, context) {
409
424
  addResources(ch, context);
410
425
  }
411
426
  }
412
- function invokeAll(context, name, writer = null) {
427
+ async function invokeAll(context, name, writer = null) {
413
428
  if (context.extensions) {
414
429
  for (const ext of context.extensions) {
415
- if (typeof ext[name] === 'function')
416
- ext[name](context, writer);
430
+ if (!ext)
431
+ continue;
432
+ if (typeof ext[name] === 'function') {
433
+ const method = ext[name];
434
+ const isAsync = method.constructor.name === "AsyncFunction";
435
+ if (isAsync) {
436
+ await method.call(ext, context, writer);
437
+ }
438
+ else {
439
+ method.call(ext, context, writer);
440
+ }
441
+ }
417
442
  }
418
443
  }
419
444
  }
@@ -534,15 +559,20 @@ export function buildXform(model, writer, context) {
534
559
  const material = model.material;
535
560
  const camera = model.camera;
536
561
  const name = model.name;
562
+ // postprocess node
563
+ if (model.onBeforeSerialize) {
564
+ model.onBeforeSerialize(writer, context);
565
+ }
537
566
  const transform = buildMatrix(matrix);
538
567
  if (matrix.determinant() < 0) {
539
568
  console.warn('THREE.USDZExporter: USDZ does not support negative scales', name);
540
569
  }
541
- if (geometry)
570
+ if (geometry) {
542
571
  writer.beginBlock(`def Xform "${name}" (
543
- prepend references = @./geometries/Geometry_${geometry.id}.usd@</Geometry>
544
- prepend apiSchemas = ["MaterialBindingAPI"]
572
+ prepend references = @./geometries/Geometry_${geometry.id}.usd@</Geometry>
573
+ prepend apiSchemas = ["MaterialBindingAPI"]
545
574
  )`);
575
+ }
546
576
  else if (camera)
547
577
  writer.beginBlock(`def Camera "${name}"`);
548
578
  else
@@ -689,7 +719,7 @@ function buildMaterial(material, textures) {
689
719
  const pad = ' ';
690
720
  const inputs = [];
691
721
  const samplers = [];
692
- const exportForQuickLook = true;
722
+ const exportForQuickLook = false;
693
723
  function buildTexture(texture, mapType, color = undefined, opacity = undefined) {
694
724
  const id = texture.id + (color ? '_' + color.getHexString() : '') + (opacity ? '_' + opacity : '');
695
725
  const isRGBA = texture.format === 1023;
@@ -697,17 +727,30 @@ function buildMaterial(material, textures) {
697
727
  const wrapT = (texture.wrapT == RepeatWrapping) ? 'repeat' : (texture.wrapT == MirroredRepeatWrapping ? 'mirror' : 'clamp');
698
728
  const repeat = texture.repeat.clone();
699
729
  const offset = texture.offset.clone();
730
+ const rotation = texture.rotation;
731
+ // rotation is around the wrong point. after rotation we need to shift offset again so that we're rotating around the right spot
732
+ let xRotationOffset = Math.sin(rotation);
733
+ let yRotationOffset = Math.cos(rotation);
700
734
  // texture coordinates start in the opposite corner, need to correct
701
735
  offset.y = 1 - offset.y - repeat.y;
702
736
  // turns out QuickLook is buggy and interprets texture repeat inverted.
703
737
  // Apple Feedback: FB10036297 and FB11442287
704
738
  if (exportForQuickLook) {
739
+ // This is NOT correct yet in QuickLook, but comes close for a range of models.
740
+ // It becomes more incorrect the bigger the offset is
705
741
  offset.x = offset.x / repeat.x;
706
742
  offset.y = offset.y / repeat.y;
743
+ offset.x += xRotationOffset / repeat.x;
744
+ offset.y += yRotationOffset - 1;
745
+ }
746
+ else {
747
+ // results match glTF results exactly. verified correct in usdview.
748
+ offset.x += xRotationOffset * repeat.x;
749
+ offset.y += (1 - yRotationOffset) * repeat.y;
707
750
  }
708
751
  textures[id] = texture;
709
752
  const uvReader = mapType == 'occlusion' ? 'uvReader_st2' : 'uvReader_st';
710
- const needsTextureTransform = (repeat.x != 1 || repeat.y != 1 || offset.x != 0 || offset.y != 0);
753
+ const needsTextureTransform = (repeat.x != 1 || repeat.y != 1 || offset.x != 0 || offset.y != 0 || rotation != 0);
711
754
  const textureTransformInput = `</Materials/Material_${material.id}/${uvReader}.outputs:result>`;
712
755
  const textureTransformOutput = `</Materials/Material_${material.id}/Transform2d_${mapType}.outputs:result>`;
713
756
  const needsTextureScale = mapType !== 'normal' && (color && (color.r !== 1 || color.g !== 1 || color.b !== 1 || opacity !== 1)) || false;
@@ -724,6 +767,7 @@ function buildMaterial(material, textures) {
724
767
  float2 inputs:in.connect = ${textureTransformInput}
725
768
  float2 inputs:scale = ${buildVector2(repeat)}
726
769
  float2 inputs:translation = ${buildVector2(offset)}
770
+ float inputs:rotation = ${(rotation / Math.PI * 180).toFixed(PRECISION)}
727
771
  float2 outputs:result
728
772
  }
729
773
  ` : ''}