@2112-lab/central-plant 0.3.50 → 0.3.51

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.
@@ -240,6 +240,7 @@ var TransformControlsManager = /*#__PURE__*/function () {
240
240
  this.eventHandlers.transformStart = function () {
241
241
  console.log("transformControls transformStart");
242
242
  _this2.transformState.isTransforming = true;
243
+ _this2._suppressNextClick = true;
243
244
 
244
245
  // Store initial transforms for all selected objects
245
246
  if (_this2.selectedObjects.length > 0) {
@@ -443,6 +444,10 @@ var TransformControlsManager = /*#__PURE__*/function () {
443
444
  // Translate mode
444
445
  _this3.setMode('translate');
445
446
  break;
447
+ case 'KeyR':
448
+ // Rotate mode
449
+ _this3.setMode('rotate');
450
+ break;
446
451
  }
447
452
  };
448
453
  window.addEventListener('keydown', this.eventHandlers.keydown);
@@ -627,8 +632,16 @@ var TransformControlsManager = /*#__PURE__*/function () {
627
632
  }
628
633
 
629
634
  // Left-click: select for transform only (bounding box, no tooltip)
635
+ var isComponent = objectType === 'component';
636
+ var isSameSingleSelection = isComponent && _this4.selectedObjects.length === 1 && _this4.selectedObjects[0] === targetObject;
637
+ if (isSameSingleSelection) {
638
+ _this4.toggleTransformMode();
639
+ return;
640
+ }
630
641
  if (!_this4.selectedObjects.includes(targetObject)) {
631
642
  _this4.deselectObject();
643
+ } else if (!isComponent) {
644
+ _this4.setMode('translate');
632
645
  }
633
646
  _this4.selectObjectForTransformOnly(targetObject);
634
647
  };
@@ -1300,6 +1313,7 @@ var TransformControlsManager = /*#__PURE__*/function () {
1300
1313
  this._hideTransformControls();
1301
1314
  console.log("\uD83D\uDD12 Transform controls hidden after deselection");
1302
1315
  }
1316
+ this.setMode('translate');
1303
1317
 
1304
1318
  // Execute callback
1305
1319
  if (this.callbacks.onObjectSelect) {
@@ -1462,14 +1476,14 @@ var TransformControlsManager = /*#__PURE__*/function () {
1462
1476
  }, {
1463
1477
  key: "setMode",
1464
1478
  value: function setMode(mode) {
1465
- // Only allow translate mode - lock rotation and scale controls
1466
- if (mode !== 'translate') {
1479
+ if (mode !== 'translate' && mode !== 'rotate') {
1467
1480
  console.warn("\u26A0\uFE0F Transform mode ".concat(mode, " is disabled. Locking to translate."));
1468
1481
  mode = 'translate';
1469
1482
  }
1470
1483
  var previousMode = this.currentMode;
1471
1484
  this.currentMode = mode;
1472
1485
  this.transformControls.setMode(mode);
1486
+ this._updateAxisVisibilityForMode(mode);
1473
1487
 
1474
1488
  // Execute callback
1475
1489
  if (this.callbacks.onModeChange) {
@@ -1478,6 +1492,47 @@ var TransformControlsManager = /*#__PURE__*/function () {
1478
1492
  console.log("\uD83D\uDD27 Transform mode changed: ".concat(previousMode, " \u2192 ").concat(mode));
1479
1493
  }
1480
1494
 
1495
+ /**
1496
+ * Update gizmo axis visibility based on transform mode.
1497
+ * Rotation shows all rings but only Z-axis is interactive.
1498
+ * @param {'translate' | 'rotate'} mode
1499
+ * @private
1500
+ */
1501
+ }, {
1502
+ key: "_updateAxisVisibilityForMode",
1503
+ value: function _updateAxisVisibilityForMode(mode) {
1504
+ if (!this.transformControls) return;
1505
+ if (mode === 'rotate') {
1506
+ this.transformControls.showX = true;
1507
+ this.transformControls.showY = true;
1508
+ this.transformControls.showZ = true;
1509
+ this.transformControls.pickX = false;
1510
+ this.transformControls.pickY = false;
1511
+ this.transformControls.pickZ = true;
1512
+ return;
1513
+ }
1514
+ this.transformControls.showX = this.config.showX;
1515
+ this.transformControls.showY = this.config.showY;
1516
+ this.transformControls.showZ = this.config.showZ;
1517
+ this.transformControls.pickX = true;
1518
+ this.transformControls.pickY = true;
1519
+ this.transformControls.pickZ = true;
1520
+ }
1521
+
1522
+ /**
1523
+ * Toggle between translate and rotate transform modes
1524
+ */
1525
+ }, {
1526
+ key: "toggleTransformMode",
1527
+ value: function toggleTransformMode() {
1528
+ var _this$transformContro;
1529
+ var newMode = this.currentMode === 'translate' ? 'rotate' : 'translate';
1530
+ this.setMode(newMode);
1531
+ if ((_this$transformContro = this.transformControls) !== null && _this$transformContro !== void 0 && _this$transformContro.object) {
1532
+ this.transformControls.updateMatrixWorld(true);
1533
+ }
1534
+ }
1535
+
1481
1536
  /**
1482
1537
  * Set the transformation space
1483
1538
  * @param {'world' | 'local'} space - The transformation space
@@ -1916,12 +1971,10 @@ var TransformControlsManager = /*#__PURE__*/function () {
1916
1971
  obj.position.copy(newWorldPos);
1917
1972
  obj.updateMatrix();
1918
1973
  } else if (_this8.currentMode === 'rotate') {
1919
- // Calculate offset from centroid
1974
+ // Calculate offset from centroid (Z-axis rotation only)
1920
1975
  var offsetFromCentroid = originalWorldPos.clone().sub(originalCentroid);
1921
-
1922
- // Rotate the offset vector
1923
1976
  var rotatedOffset = offsetFromCentroid.clone();
1924
- var rotationQuat = new THREE.Quaternion().setFromEuler(rotationDelta);
1977
+ var rotationQuat = new THREE.Quaternion().setFromAxisAngle(new THREE.Vector3(0, 0, 1), rotationDelta.z);
1925
1978
  rotatedOffset.applyQuaternion(rotationQuat);
1926
1979
 
1927
1980
  // Calculate new world position
@@ -1937,9 +1990,9 @@ var TransformControlsManager = /*#__PURE__*/function () {
1937
1990
  }
1938
1991
  obj.position.copy(_newWorldPos);
1939
1992
 
1940
- // Apply rotation to the object itself
1941
- obj.rotation.x = originalRot.x + rotationDelta.x;
1942
- obj.rotation.y = originalRot.y + rotationDelta.y;
1993
+ // Apply Z-axis rotation only
1994
+ obj.rotation.x = originalRot.x;
1995
+ obj.rotation.y = originalRot.y;
1943
1996
  obj.rotation.z = originalRot.z + rotationDelta.z;
1944
1997
  obj.updateMatrix();
1945
1998
  }
@@ -1969,7 +2022,15 @@ var TransformControlsManager = /*#__PURE__*/function () {
1969
2022
  return _context2.a(2);
1970
2023
  case 1:
1971
2024
  console.log("\uD83D\uDD27 Applying multi-selection transform to ".concat(this.selectedObjects.length, " objects"));
1972
-
2025
+ if (!(this.currentMode === 'rotate')) {
2026
+ _context2.n = 3;
2027
+ break;
2028
+ }
2029
+ _context2.n = 2;
2030
+ return this._applyMultiSelectionRotation();
2031
+ case 2:
2032
+ return _context2.a(2);
2033
+ case 3:
1973
2034
  // Calculate transformation deltas
1974
2035
  _this$_calculateTrans = this._calculateTransformDeltas(), deltaX = _this$_calculateTrans.deltaX, deltaY = _this$_calculateTrans.deltaY, deltaZ = _this$_calculateTrans.deltaZ, threshold = _this$_calculateTrans.threshold;
1975
2036
  console.log('🔧 Transform delta:', {
@@ -1979,12 +2040,12 @@ var TransformControlsManager = /*#__PURE__*/function () {
1979
2040
  });
1980
2041
 
1981
2042
  // Only process if there's a meaningful translation
1982
- if (!(this.currentMode !== 'translate' || Math.abs(deltaX) < threshold && Math.abs(deltaY) < threshold && Math.abs(deltaZ) < threshold)) {
1983
- _context2.n = 2;
2043
+ if (!(Math.abs(deltaX) < threshold && Math.abs(deltaY) < threshold && Math.abs(deltaZ) < threshold)) {
2044
+ _context2.n = 4;
1984
2045
  break;
1985
2046
  }
1986
2047
  return _context2.a(2);
1987
- case 2:
2048
+ case 4:
1988
2049
  // Reset all objects to original positions
1989
2050
  this._resetObjectsToOriginalPositions();
1990
2051
 
@@ -1998,20 +2059,20 @@ var TransformControlsManager = /*#__PURE__*/function () {
1998
2059
  components = this.selectedObjects.filter(function (obj) {
1999
2060
  return !isSegment(obj) && !isGateway(obj);
2000
2061
  }); // Translate each object type
2001
- _context2.n = 3;
2062
+ _context2.n = 5;
2002
2063
  return this._translateSegments(segments, deltaX, deltaY, deltaZ, threshold);
2003
- case 3:
2004
- _context2.n = 4;
2064
+ case 5:
2065
+ _context2.n = 6;
2005
2066
  return this._translateGateways(gateways, deltaX, deltaY, deltaZ, threshold);
2006
- case 4:
2007
- _context2.n = 5;
2067
+ case 6:
2068
+ _context2.n = 7;
2008
2069
  return this._translateComponents(components, deltaX, deltaY, deltaZ, threshold);
2009
- case 5:
2070
+ case 7:
2010
2071
  console.log("\u2705 All ".concat(this.selectedObjects.length, " objects translated"));
2011
2072
 
2012
2073
  // Cleanup and refresh
2013
2074
  this._finalizeMultiSelectionTransform();
2014
- case 6:
2075
+ case 8:
2015
2076
  return _context2.a(2);
2016
2077
  }
2017
2078
  }, _callee2, this);
@@ -2021,6 +2082,123 @@ var TransformControlsManager = /*#__PURE__*/function () {
2021
2082
  }
2022
2083
  return applyMultiSelectionTransform;
2023
2084
  }()
2085
+ /**
2086
+ * Apply rotation from multi-selection group to selected components via API
2087
+ * @private
2088
+ */
2089
+ )
2090
+ }, {
2091
+ key: "_applyMultiSelectionRotation",
2092
+ value: (function () {
2093
+ var _applyMultiSelectionRotation2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() {
2094
+ var threshold, rotationDeltas, _iterator6, _step6, _obj2, originalRot, originalPos, _deltaRad, _i, _rotationDeltas, _obj$userData5, _obj$userData6, _obj$userData7, _this$centralPlant, _rotationDeltas$_i, obj, deltaRad, componentId, deltaDeg, snappedDeg, _t;
2095
+ return _regenerator().w(function (_context3) {
2096
+ while (1) switch (_context3.n) {
2097
+ case 0:
2098
+ threshold = 0.001;
2099
+ rotationDeltas = [];
2100
+ _iterator6 = _createForOfIteratorHelper(this.selectedObjects);
2101
+ _context3.p = 1;
2102
+ _iterator6.s();
2103
+ case 2:
2104
+ if ((_step6 = _iterator6.n()).done) {
2105
+ _context3.n = 6;
2106
+ break;
2107
+ }
2108
+ _obj2 = _step6.value;
2109
+ originalRot = _obj2.userData._multiSelectOriginalRotation;
2110
+ originalPos = _obj2.userData._multiSelectOriginalPosition;
2111
+ if (originalRot) {
2112
+ _context3.n = 3;
2113
+ break;
2114
+ }
2115
+ return _context3.a(3, 5);
2116
+ case 3:
2117
+ _deltaRad = _obj2.rotation.z - originalRot.z;
2118
+ if (!(Math.abs(_deltaRad) < threshold)) {
2119
+ _context3.n = 4;
2120
+ break;
2121
+ }
2122
+ return _context3.a(3, 5);
2123
+ case 4:
2124
+ rotationDeltas.push({
2125
+ obj: _obj2,
2126
+ originalPos: originalPos === null || originalPos === void 0 ? void 0 : originalPos.clone(),
2127
+ originalRot: originalRot.clone(),
2128
+ deltaRad: _deltaRad
2129
+ });
2130
+ case 5:
2131
+ _context3.n = 2;
2132
+ break;
2133
+ case 6:
2134
+ _context3.n = 8;
2135
+ break;
2136
+ case 7:
2137
+ _context3.p = 7;
2138
+ _t = _context3.v;
2139
+ _iterator6.e(_t);
2140
+ case 8:
2141
+ _context3.p = 8;
2142
+ _iterator6.f();
2143
+ return _context3.f(8);
2144
+ case 9:
2145
+ if (!(rotationDeltas.length === 0)) {
2146
+ _context3.n = 10;
2147
+ break;
2148
+ }
2149
+ return _context3.a(2);
2150
+ case 10:
2151
+ rotationDeltas.forEach(function (_ref2) {
2152
+ var obj = _ref2.obj,
2153
+ originalPos = _ref2.originalPos,
2154
+ originalRot = _ref2.originalRot;
2155
+ if (originalPos) {
2156
+ obj.position.copy(originalPos);
2157
+ }
2158
+ obj.rotation.copy(originalRot);
2159
+ obj.updateMatrixWorld(true);
2160
+ });
2161
+ _i = 0, _rotationDeltas = rotationDeltas;
2162
+ case 11:
2163
+ if (!(_i < _rotationDeltas.length)) {
2164
+ _context3.n = 15;
2165
+ break;
2166
+ }
2167
+ _rotationDeltas$_i = _rotationDeltas[_i], obj = _rotationDeltas$_i.obj, deltaRad = _rotationDeltas$_i.deltaRad;
2168
+ if (!(((_obj$userData5 = obj.userData) === null || _obj$userData5 === void 0 ? void 0 : _obj$userData5.objectType) !== 'component' || !((_obj$userData6 = obj.userData) !== null && _obj$userData6 !== void 0 && _obj$userData6.libraryId))) {
2169
+ _context3.n = 12;
2170
+ break;
2171
+ }
2172
+ return _context3.a(3, 14);
2173
+ case 12:
2174
+ componentId = obj.uuid || ((_obj$userData7 = obj.userData) === null || _obj$userData7 === void 0 ? void 0 : _obj$userData7.originalUuid);
2175
+ if (!(!componentId || !((_this$centralPlant = this.centralPlant) !== null && _this$centralPlant !== void 0 && _this$centralPlant.rotate))) {
2176
+ _context3.n = 13;
2177
+ break;
2178
+ }
2179
+ return _context3.a(3, 14);
2180
+ case 13:
2181
+ deltaDeg = THREE.MathUtils.radToDeg(deltaRad);
2182
+ snappedDeg = Math.round(deltaDeg / 90) * 90;
2183
+ if (Math.abs(snappedDeg) >= 90) {
2184
+ this.centralPlant.rotate(componentId, 'z', snappedDeg);
2185
+ }
2186
+ case 14:
2187
+ _i++;
2188
+ _context3.n = 11;
2189
+ break;
2190
+ case 15:
2191
+ this._finalizeMultiSelectionTransform();
2192
+ case 16:
2193
+ return _context3.a(2);
2194
+ }
2195
+ }, _callee3, this, [[1, 7, 8, 9]]);
2196
+ }));
2197
+ function _applyMultiSelectionRotation() {
2198
+ return _applyMultiSelectionRotation2.apply(this, arguments);
2199
+ }
2200
+ return _applyMultiSelectionRotation;
2201
+ }()
2024
2202
  /**
2025
2203
  * Calculate transformation deltas from multi-selection group
2026
2204
  * @returns {Object} Delta values and threshold
@@ -2076,17 +2254,17 @@ var TransformControlsManager = /*#__PURE__*/function () {
2076
2254
  }, {
2077
2255
  key: "_translateSegments",
2078
2256
  value: (function () {
2079
- var _translateSegments2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(segments, deltaX, deltaY, deltaZ, threshold) {
2257
+ var _translateSegments2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(segments, deltaX, deltaY, deltaZ, threshold) {
2080
2258
  var _this$sceneViewer, _this$sceneViewer2;
2081
- var transformOpsManager, useOptimizedPath, throttleDelay, AXIS_THROTTLE, OBJECT_DELAY, i, segment, axes, _i, _axes, _axes$_i, axis, delta;
2082
- return _regenerator().w(function (_context3) {
2083
- while (1) switch (_context3.n) {
2259
+ var transformOpsManager, useOptimizedPath, throttleDelay, AXIS_THROTTLE, OBJECT_DELAY, i, segment, axes, _i2, _axes, _axes$_i, axis, delta;
2260
+ return _regenerator().w(function (_context4) {
2261
+ while (1) switch (_context4.n) {
2084
2262
  case 0:
2085
2263
  if (!(segments.length === 0)) {
2086
- _context3.n = 1;
2264
+ _context4.n = 1;
2087
2265
  break;
2088
2266
  }
2089
- return _context3.a(2);
2267
+ return _context4.a(2);
2090
2268
  case 1:
2091
2269
  transformOpsManager = (_this$sceneViewer = this.sceneViewer) === null || _this$sceneViewer === void 0 ? void 0 : _this$sceneViewer.transformOperationsManager;
2092
2270
  useOptimizedPath = transformOpsManager != null;
@@ -2105,7 +2283,7 @@ var TransformControlsManager = /*#__PURE__*/function () {
2105
2283
  i = 0;
2106
2284
  case 2:
2107
2285
  if (!(i < segments.length)) {
2108
- _context3.n = 8;
2286
+ _context4.n = 8;
2109
2287
  break;
2110
2288
  }
2111
2289
  segment = segments[i];
@@ -2119,26 +2297,26 @@ var TransformControlsManager = /*#__PURE__*/function () {
2119
2297
  axis: 'z',
2120
2298
  delta: deltaZ
2121
2299
  }]; // Translate on each axis
2122
- _i = 0, _axes = axes;
2300
+ _i2 = 0, _axes = axes;
2123
2301
  case 3:
2124
- if (!(_i < _axes.length)) {
2125
- _context3.n = 6;
2302
+ if (!(_i2 < _axes.length)) {
2303
+ _context4.n = 6;
2126
2304
  break;
2127
2305
  }
2128
- _axes$_i = _axes[_i], axis = _axes$_i.axis, delta = _axes$_i.delta;
2306
+ _axes$_i = _axes[_i2], axis = _axes$_i.axis, delta = _axes$_i.delta;
2129
2307
  if (!(Math.abs(delta) > threshold)) {
2130
- _context3.n = 5;
2308
+ _context4.n = 5;
2131
2309
  break;
2132
2310
  }
2133
- _context3.n = 4;
2311
+ _context4.n = 4;
2134
2312
  return this._translateSegmentOnAxis(segment, axis, delta, useOptimizedPath, i);
2135
2313
  case 4:
2136
- segment = _context3.v;
2137
- _context3.n = 5;
2314
+ segment = _context4.v;
2315
+ _context4.n = 5;
2138
2316
  return throttleDelay(AXIS_THROTTLE);
2139
2317
  case 5:
2140
- _i++;
2141
- _context3.n = 3;
2318
+ _i2++;
2319
+ _context4.n = 3;
2142
2320
  break;
2143
2321
  case 6:
2144
2322
  // Update selected objects array with refreshed reference
@@ -2149,14 +2327,14 @@ var TransformControlsManager = /*#__PURE__*/function () {
2149
2327
  console.warn("\u26A0\uFE0F Segment reference became null (".concat(i + 1, "/").concat(segments.length, ")"));
2150
2328
  }
2151
2329
  if (!(i < segments.length - 1)) {
2152
- _context3.n = 7;
2330
+ _context4.n = 7;
2153
2331
  break;
2154
2332
  }
2155
- _context3.n = 7;
2333
+ _context4.n = 7;
2156
2334
  return throttleDelay(OBJECT_DELAY);
2157
2335
  case 7:
2158
2336
  i++;
2159
- _context3.n = 2;
2337
+ _context4.n = 2;
2160
2338
  break;
2161
2339
  case 8:
2162
2340
  // Batch update paths for optimized path only
@@ -2166,9 +2344,9 @@ var TransformControlsManager = /*#__PURE__*/function () {
2166
2344
  console.log('✅ Paths regenerated successfully');
2167
2345
  }
2168
2346
  case 9:
2169
- return _context3.a(2);
2347
+ return _context4.a(2);
2170
2348
  }
2171
- }, _callee3, this);
2349
+ }, _callee4, this);
2172
2350
  }));
2173
2351
  function _translateSegments(_x, _x2, _x3, _x4, _x5) {
2174
2352
  return _translateSegments2.apply(this, arguments);
@@ -2207,11 +2385,11 @@ var TransformControlsManager = /*#__PURE__*/function () {
2207
2385
  }, {
2208
2386
  key: "_translateSegmentOnAxis",
2209
2387
  value: (function () {
2210
- var _translateSegmentOnAxis2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(segment, axis, delta, useOptimizedPath, index) {
2388
+ var _translateSegmentOnAxis2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(segment, axis, delta, useOptimizedPath, index) {
2211
2389
  var _segment$userData3;
2212
2390
  var segmentId, success;
2213
- return _regenerator().w(function (_context4) {
2214
- while (1) switch (_context4.n) {
2391
+ return _regenerator().w(function (_context5) {
2392
+ while (1) switch (_context5.n) {
2215
2393
  case 0:
2216
2394
  segmentId = segment.uuid || ((_segment$userData3 = segment.userData) === null || _segment$userData3 === void 0 ? void 0 : _segment$userData3.originalUuid);
2217
2395
  if (useOptimizedPath) {
@@ -2224,9 +2402,9 @@ var TransformControlsManager = /*#__PURE__*/function () {
2224
2402
  }
2225
2403
 
2226
2404
  // Refresh segment reference after manualization
2227
- return _context4.a(2, this._refreshSegmentReference(segment));
2405
+ return _context5.a(2, this._refreshSegmentReference(segment));
2228
2406
  }
2229
- }, _callee4, this);
2407
+ }, _callee5, this);
2230
2408
  }));
2231
2409
  function _translateSegmentOnAxis(_x6, _x7, _x8, _x9, _x0) {
2232
2410
  return _translateSegmentOnAxis2.apply(this, arguments);
@@ -2242,8 +2420,8 @@ var TransformControlsManager = /*#__PURE__*/function () {
2242
2420
  key: "_updateSegmentReference",
2243
2421
  value: function _updateSegmentReference(oldSegment, newSegment, index) {
2244
2422
  var selectedIndex = this.selectedObjects.findIndex(function (obj) {
2245
- var _obj$userData5;
2246
- return obj.uuid === oldSegment.uuid || ((_obj$userData5 = obj.userData) === null || _obj$userData5 === void 0 ? void 0 : _obj$userData5.originalUuid) === oldSegment.uuid;
2423
+ var _obj$userData8;
2424
+ return obj.uuid === oldSegment.uuid || ((_obj$userData8 = obj.userData) === null || _obj$userData8 === void 0 ? void 0 : _obj$userData8.originalUuid) === oldSegment.uuid;
2247
2425
  });
2248
2426
  if (selectedIndex !== -1 && newSegment) {
2249
2427
  // Clear bounding box cache
@@ -2261,17 +2439,17 @@ var TransformControlsManager = /*#__PURE__*/function () {
2261
2439
  }, {
2262
2440
  key: "_translateGateways",
2263
2441
  value: (function () {
2264
- var _translateGateways2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(gateways, deltaX, deltaY, deltaZ, threshold) {
2442
+ var _translateGateways2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(gateways, deltaX, deltaY, deltaZ, threshold) {
2265
2443
  var _this9 = this;
2266
2444
  var throttleDelay, AXIS_THROTTLE, OBJECT_DELAY, i, _gateway$userData, gateway, gatewayId;
2267
- return _regenerator().w(function (_context5) {
2268
- while (1) switch (_context5.n) {
2445
+ return _regenerator().w(function (_context6) {
2446
+ while (1) switch (_context6.n) {
2269
2447
  case 0:
2270
2448
  if (!(gateways.length === 0)) {
2271
- _context5.n = 1;
2449
+ _context6.n = 1;
2272
2450
  break;
2273
2451
  }
2274
- return _context5.a(2);
2452
+ return _context6.a(2);
2275
2453
  case 1:
2276
2454
  throttleDelay = function throttleDelay(ms) {
2277
2455
  return new Promise(function (resolve) {
@@ -2283,31 +2461,31 @@ var TransformControlsManager = /*#__PURE__*/function () {
2283
2461
  i = 0;
2284
2462
  case 2:
2285
2463
  if (!(i < gateways.length)) {
2286
- _context5.n = 5;
2464
+ _context6.n = 5;
2287
2465
  break;
2288
2466
  }
2289
2467
  gateway = gateways[i];
2290
2468
  gatewayId = gateway.uuid || ((_gateway$userData = gateway.userData) === null || _gateway$userData === void 0 ? void 0 : _gateway$userData.originalUuid);
2291
- _context5.n = 3;
2469
+ _context6.n = 3;
2292
2470
  return this._translateObjectOnAxes(gatewayId, deltaX, deltaY, deltaZ, threshold, throttleDelay, AXIS_THROTTLE, function (id, axis, delta) {
2293
2471
  return _this9.centralPlant.translateGateway(id, axis, delta);
2294
2472
  });
2295
2473
  case 3:
2296
2474
  console.log("\uD83D\uDEAA Gateway ".concat(gateway.name, " translated (").concat(i + 1, "/").concat(gateways.length, ")"));
2297
2475
  if (!(i < gateways.length - 1)) {
2298
- _context5.n = 4;
2476
+ _context6.n = 4;
2299
2477
  break;
2300
2478
  }
2301
- _context5.n = 4;
2479
+ _context6.n = 4;
2302
2480
  return throttleDelay(OBJECT_DELAY);
2303
2481
  case 4:
2304
2482
  i++;
2305
- _context5.n = 2;
2483
+ _context6.n = 2;
2306
2484
  break;
2307
2485
  case 5:
2308
- return _context5.a(2);
2486
+ return _context6.a(2);
2309
2487
  }
2310
- }, _callee5, this);
2488
+ }, _callee6, this);
2311
2489
  }));
2312
2490
  function _translateGateways(_x1, _x10, _x11, _x12, _x13) {
2313
2491
  return _translateGateways2.apply(this, arguments);
@@ -2322,17 +2500,17 @@ var TransformControlsManager = /*#__PURE__*/function () {
2322
2500
  }, {
2323
2501
  key: "_translateComponents",
2324
2502
  value: (function () {
2325
- var _translateComponents2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(components, deltaX, deltaY, deltaZ, threshold) {
2503
+ var _translateComponents2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7(components, deltaX, deltaY, deltaZ, threshold) {
2326
2504
  var _this0 = this;
2327
2505
  var throttleDelay, AXIS_THROTTLE, OBJECT_DELAY, i, _component$userData, component, componentId;
2328
- return _regenerator().w(function (_context6) {
2329
- while (1) switch (_context6.n) {
2506
+ return _regenerator().w(function (_context7) {
2507
+ while (1) switch (_context7.n) {
2330
2508
  case 0:
2331
2509
  if (!(components.length === 0)) {
2332
- _context6.n = 1;
2510
+ _context7.n = 1;
2333
2511
  break;
2334
2512
  }
2335
- return _context6.a(2);
2513
+ return _context7.a(2);
2336
2514
  case 1:
2337
2515
  throttleDelay = function throttleDelay(ms) {
2338
2516
  return new Promise(function (resolve) {
@@ -2344,31 +2522,31 @@ var TransformControlsManager = /*#__PURE__*/function () {
2344
2522
  i = 0;
2345
2523
  case 2:
2346
2524
  if (!(i < components.length)) {
2347
- _context6.n = 5;
2525
+ _context7.n = 5;
2348
2526
  break;
2349
2527
  }
2350
2528
  component = components[i];
2351
2529
  componentId = component.uuid || ((_component$userData = component.userData) === null || _component$userData === void 0 ? void 0 : _component$userData.originalUuid);
2352
- _context6.n = 3;
2530
+ _context7.n = 3;
2353
2531
  return this._translateObjectOnAxes(componentId, deltaX, deltaY, deltaZ, threshold, throttleDelay, AXIS_THROTTLE, function (id, axis, delta) {
2354
2532
  return _this0.centralPlant.translate(id, axis, delta, true);
2355
2533
  });
2356
2534
  case 3:
2357
2535
  console.log("\uD83D\uDD27 Component ".concat(component.name, " translated (").concat(i + 1, "/").concat(components.length, ")"));
2358
2536
  if (!(i < components.length - 1)) {
2359
- _context6.n = 4;
2537
+ _context7.n = 4;
2360
2538
  break;
2361
2539
  }
2362
- _context6.n = 4;
2540
+ _context7.n = 4;
2363
2541
  return throttleDelay(OBJECT_DELAY);
2364
2542
  case 4:
2365
2543
  i++;
2366
- _context6.n = 2;
2544
+ _context7.n = 2;
2367
2545
  break;
2368
2546
  case 5:
2369
- return _context6.a(2);
2547
+ return _context7.a(2);
2370
2548
  }
2371
- }, _callee6, this);
2549
+ }, _callee7, this);
2372
2550
  }));
2373
2551
  function _translateComponents(_x14, _x15, _x16, _x17, _x18) {
2374
2552
  return _translateComponents2.apply(this, arguments);
@@ -2383,10 +2561,10 @@ var TransformControlsManager = /*#__PURE__*/function () {
2383
2561
  }, {
2384
2562
  key: "_translateObjectOnAxes",
2385
2563
  value: (function () {
2386
- var _translateObjectOnAxes2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7(objectId, deltaX, deltaY, deltaZ, threshold, throttleDelay, axisThrottle, translateFn) {
2387
- var axes, _i2, _axes2, _axes2$_i, axis, delta;
2388
- return _regenerator().w(function (_context7) {
2389
- while (1) switch (_context7.n) {
2564
+ var _translateObjectOnAxes2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee8(objectId, deltaX, deltaY, deltaZ, threshold, throttleDelay, axisThrottle, translateFn) {
2565
+ var axes, _i3, _axes2, _axes2$_i, axis, delta;
2566
+ return _regenerator().w(function (_context8) {
2567
+ while (1) switch (_context8.n) {
2390
2568
  case 0:
2391
2569
  axes = [{
2392
2570
  axis: 'x',
@@ -2398,28 +2576,28 @@ var TransformControlsManager = /*#__PURE__*/function () {
2398
2576
  axis: 'z',
2399
2577
  delta: deltaZ
2400
2578
  }];
2401
- _i2 = 0, _axes2 = axes;
2579
+ _i3 = 0, _axes2 = axes;
2402
2580
  case 1:
2403
- if (!(_i2 < _axes2.length)) {
2404
- _context7.n = 3;
2581
+ if (!(_i3 < _axes2.length)) {
2582
+ _context8.n = 3;
2405
2583
  break;
2406
2584
  }
2407
- _axes2$_i = _axes2[_i2], axis = _axes2$_i.axis, delta = _axes2$_i.delta;
2585
+ _axes2$_i = _axes2[_i3], axis = _axes2$_i.axis, delta = _axes2$_i.delta;
2408
2586
  if (!(Math.abs(delta) > threshold)) {
2409
- _context7.n = 2;
2587
+ _context8.n = 2;
2410
2588
  break;
2411
2589
  }
2412
2590
  translateFn(objectId, axis, delta);
2413
- _context7.n = 2;
2591
+ _context8.n = 2;
2414
2592
  return throttleDelay(axisThrottle);
2415
2593
  case 2:
2416
- _i2++;
2417
- _context7.n = 1;
2594
+ _i3++;
2595
+ _context8.n = 1;
2418
2596
  break;
2419
2597
  case 3:
2420
- return _context7.a(2);
2598
+ return _context8.a(2);
2421
2599
  }
2422
- }, _callee7);
2600
+ }, _callee8);
2423
2601
  }));
2424
2602
  function _translateObjectOnAxes(_x19, _x20, _x21, _x22, _x23, _x24, _x25, _x26) {
2425
2603
  return _translateObjectOnAxes2.apply(this, arguments);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@2112-lab/central-plant",
3
- "version": "0.3.50",
3
+ "version": "0.3.51",
4
4
  "description": "Utility modules for the Central Plant Application",
5
5
  "main": "dist/bundle/index.js",
6
6
  "module": "dist/esm/src/index.js",