@luminocity/lemonate-engine 26.5.2 → 26.5.3

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.
@@ -1,5 +1,5 @@
1
1
  import { Engine } from "./Engine";
2
- export type ShortcutListenerFunction = (event: KeyboardEvent) => void;
2
+ export type ShortcutListenerFunction = (event: KeyboardEvent) => void | Promise<void>;
3
3
  export type ShortcutListener = {
4
4
  func: ShortcutListenerFunction;
5
5
  targetObject: any;
package/dist/index.d.ts CHANGED
@@ -7,7 +7,7 @@ export { parseVectorFormulaSet } from './subsystems/Ribbons';
7
7
  export * from './tools/DebugTools';
8
8
  export { Item, LodMode, ItemState } from './items/Item';
9
9
  export { Engine, WaitMode } from './Engine';
10
- export { Shortcuts } from './Shortcuts';
10
+ export { Shortcuts, ShortcutListener, ShortcutListenerFunction } from './Shortcuts';
11
11
  export { Player } from './Player';
12
12
  export { Renderer, MaxLayerCount, FrameBufferResult } from './Renderer';
13
13
  export { LoadingManager } from "./LoadingManager";
@@ -11390,7 +11390,7 @@ class Item extends EventEmitter {
11390
11390
  }
11391
11391
  }
11392
11392
 
11393
- var engine$1 = "26.5.2";
11393
+ var engine$1 = "26.5.3";
11394
11394
  var bullet = "3.26";
11395
11395
  var lua = "5.4.3";
11396
11396
  var packageVersionInfo = {
@@ -71206,7 +71206,9 @@ class SgItem extends SgResourceOwner {
71206
71206
  autoRecreate = true;
71207
71207
  // item nodes are nodes below an sgitem that are typically owned by the item and not editable.
71208
71208
  // they can be for example further on the fly sgitems, or internal mesh nodes.
71209
+ // The updated timestamp helps to determine if the subnodes need to be refreshed for example in the UI
71209
71210
  itemSubNodes = [];
71211
+ itemSubNodesUpdatedTs = 0;
71210
71212
  recreationMutex = new Mutex();
71211
71213
  container = new Group();
71212
71214
  boxHelper;
@@ -71297,6 +71299,12 @@ class SgItem extends SgResourceOwner {
71297
71299
  getItemSubNodes() {
71298
71300
  return this.itemSubNodes;
71299
71301
  }
71302
+ getItemSubNodesUpdatedTs() {
71303
+ return this.itemSubNodesUpdatedTs;
71304
+ }
71305
+ hasSubNodes() {
71306
+ return this.itemSubNodes.length > 0;
71307
+ }
71300
71308
  findSubNodeById(id, subNodes) {
71301
71309
  subNodes = subNodes ?? this.itemSubNodes;
71302
71310
  for (const subNode of subNodes) {
@@ -71322,9 +71330,12 @@ class SgItem extends SgResourceOwner {
71322
71330
  subNode.dispose();
71323
71331
  });
71324
71332
  this.itemSubNodes = [];
71333
+ this.itemSubNodesUpdatedTs = performance.now();
71325
71334
  }
71326
71335
  createItemSubNodesFromObject3D(obj) {
71327
71336
  this.itemSubNodes = [this._createItemSubNodesFromObject3D(obj, this.block.id, 0)];
71337
+ this.itemSubNodesUpdatedTs = performance.now();
71338
+ //console.log("Item subnodes refreshed.", this, this.itemSubNodes);
71328
71339
  this.updateChildSubnodeParenting();
71329
71340
  this.engine.eventBus.$emit('sgitem:itemNodesUpdated', this);
71330
71341
  }
package/dist/lemonate.js CHANGED
@@ -88153,7 +88153,7 @@ void main() {
88153
88153
  }
88154
88154
  }
88155
88155
 
88156
- var engine$1 = "26.5.2";
88156
+ var engine$1 = "26.5.3";
88157
88157
  var bullet = "3.26";
88158
88158
  var lua = "5.4.3";
88159
88159
  var packageVersionInfo = {
@@ -208372,7 +208372,9 @@ fn tsl_biquadraticTexture_array( map : texture_2d_array<f32>, coord : vec2f, iRe
208372
208372
  autoRecreate = true;
208373
208373
  // item nodes are nodes below an sgitem that are typically owned by the item and not editable.
208374
208374
  // they can be for example further on the fly sgitems, or internal mesh nodes.
208375
+ // The updated timestamp helps to determine if the subnodes need to be refreshed for example in the UI
208375
208376
  itemSubNodes = [];
208377
+ itemSubNodesUpdatedTs = 0;
208376
208378
  recreationMutex = new Mutex();
208377
208379
  container = new Group();
208378
208380
  boxHelper;
@@ -208463,6 +208465,12 @@ fn tsl_biquadraticTexture_array( map : texture_2d_array<f32>, coord : vec2f, iRe
208463
208465
  getItemSubNodes() {
208464
208466
  return this.itemSubNodes;
208465
208467
  }
208468
+ getItemSubNodesUpdatedTs() {
208469
+ return this.itemSubNodesUpdatedTs;
208470
+ }
208471
+ hasSubNodes() {
208472
+ return this.itemSubNodes.length > 0;
208473
+ }
208466
208474
  findSubNodeById(id, subNodes) {
208467
208475
  subNodes = subNodes ?? this.itemSubNodes;
208468
208476
  for (const subNode of subNodes) {
@@ -208488,9 +208496,12 @@ fn tsl_biquadraticTexture_array( map : texture_2d_array<f32>, coord : vec2f, iRe
208488
208496
  subNode.dispose();
208489
208497
  });
208490
208498
  this.itemSubNodes = [];
208499
+ this.itemSubNodesUpdatedTs = performance.now();
208491
208500
  }
208492
208501
  createItemSubNodesFromObject3D(obj) {
208493
208502
  this.itemSubNodes = [this._createItemSubNodesFromObject3D(obj, this.block.id, 0)];
208503
+ this.itemSubNodesUpdatedTs = performance.now();
208504
+ //console.log("Item subnodes refreshed.", this, this.itemSubNodes);
208494
208505
  this.updateChildSubnodeParenting();
208495
208506
  this.engine.eventBus.$emit('sgitem:itemNodesUpdated', this);
208496
208507
  }