@luminocity/lemonate-engine 26.4.6 → 26.4.7

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.
@@ -11390,7 +11390,7 @@ class Item extends EventEmitter {
11390
11390
  }
11391
11391
  }
11392
11392
 
11393
- var engine$1 = "26.4.6";
11393
+ var engine$1 = "26.4.7";
11394
11394
  var bullet = "3.26";
11395
11395
  var lua = "5.4.3";
11396
11396
  var packageVersionInfo = {
@@ -71092,6 +71092,11 @@ class SgItem extends SgResourceOwner {
71092
71092
  const droppedItemIsDescendantOfThis = this.isDescendantOf(sgDroppedItem);
71093
71093
  if (!droppedItemIsDescendantOfThis) {
71094
71094
  this.engine.moveTreeItemsToNewParent([droppedItem.id], this.getId(), undefined, destinationSubNode);
71095
+ // in case the item is dropped to a subnode, its parenting needs to be updated
71096
+ if (destinationSubNode) {
71097
+ sgDroppedItem.updateParenting();
71098
+ sgDroppedItem.updateBoxHelper();
71099
+ }
71095
71100
  return true;
71096
71101
  }
71097
71102
  }
@@ -117572,10 +117577,16 @@ class Engine {
117572
117577
  .map(result => {
117573
117578
  const item = result.item;
117574
117579
  const container = item.getContainer();
117575
- container.updateWorldMatrix(true, false);
117576
- item.block.moveData = {
117577
- oldWorldMatrix: container.matrixWorld.clone(),
117578
- };
117580
+ // in case we are moving to a new non-subnode parent, we want to remember the old
117581
+ // world matrix to compensate for the reparenting so the object stays in its position
117582
+ // in case we move between subnodes, we want to keep the local transform, so the object
117583
+ // actually moves
117584
+ if (!destinationSubNode) {
117585
+ container.updateWorldMatrix(true, false);
117586
+ item.block.moveData = {
117587
+ oldWorldMatrix: container.matrixWorld.clone(),
117588
+ };
117589
+ }
117579
117590
  return item.block;
117580
117591
  });
117581
117592
  let i = index;
package/dist/lemonate.js CHANGED
@@ -87367,7 +87367,7 @@ void main() {
87367
87367
  }
87368
87368
  }
87369
87369
 
87370
- var engine$1 = "26.4.6";
87370
+ var engine$1 = "26.4.7";
87371
87371
  var bullet = "3.26";
87372
87372
  var lua = "5.4.3";
87373
87373
  var packageVersionInfo = {
@@ -229730,6 +229730,11 @@ var<${access}> ${ name } : ${ structName };`;
229730
229730
  const droppedItemIsDescendantOfThis = this.isDescendantOf(sgDroppedItem);
229731
229731
  if (!droppedItemIsDescendantOfThis) {
229732
229732
  this.engine.moveTreeItemsToNewParent([droppedItem.id], this.getId(), undefined, destinationSubNode);
229733
+ // in case the item is dropped to a subnode, its parenting needs to be updated
229734
+ if (destinationSubNode) {
229735
+ sgDroppedItem.updateParenting();
229736
+ sgDroppedItem.updateBoxHelper();
229737
+ }
229733
229738
  return true;
229734
229739
  }
229735
229740
  }
@@ -288354,10 +288359,16 @@ var<${access}> ${ name } : ${ structName };`;
288354
288359
  .map(result => {
288355
288360
  const item = result.item;
288356
288361
  const container = item.getContainer();
288357
- container.updateWorldMatrix(true, false);
288358
- item.block.moveData = {
288359
- oldWorldMatrix: container.matrixWorld.clone(),
288360
- };
288362
+ // in case we are moving to a new non-subnode parent, we want to remember the old
288363
+ // world matrix to compensate for the reparenting so the object stays in its position
288364
+ // in case we move between subnodes, we want to keep the local transform, so the object
288365
+ // actually moves
288366
+ if (!destinationSubNode) {
288367
+ container.updateWorldMatrix(true, false);
288368
+ item.block.moveData = {
288369
+ oldWorldMatrix: container.matrixWorld.clone(),
288370
+ };
288371
+ }
288361
288372
  return item.block;
288362
288373
  });
288363
288374
  let i = index;