kitchen-simulator 4.4.4 → 4.4.6

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.
package/es/constants.js CHANGED
@@ -452,7 +452,7 @@ export var UNIT_FOOT = 'ft';
452
452
  export var UNIT_MILE = 'mi';
453
453
  export var UNITS_LENGTH = [UNIT_MILLIMETER, UNIT_CENTIMETER, UNIT_METER, UNIT_INCH, UNIT_FOOT, UNIT_MILE];
454
454
  export var CEIL_UNITS_LENGTH = [UNIT_CENTIMETER, UNIT_METER, UNIT_INCH, UNIT_FOOT];
455
- export var EPSILON = 1e-2;
455
+ export var EPSILON = 0.5;
456
456
 
457
457
  // distance between item and wall
458
458
  export var DISTANCE_EPSILON = 5.0; //5.08; // 2 inch
@@ -2,7 +2,7 @@ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
2
  function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
3
3
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
4
4
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
5
- import { BASE_CABINET_LAYOUTPOS, WALL_CABINET_LAYOUTPOS, TALL_CABINET_LAYOUTPOS, OVERLAP_INCLUDED, OVERLAP_SAME, OVERLAP_LINK, OVERLAP_SOME, EPSILON } from "../constants";
5
+ import { BASE_CABINET_LAYOUTPOS, WALL_CABINET_LAYOUTPOS, TALL_CABINET_LAYOUTPOS, OVERLAP_INCLUDED, OVERLAP_SAME, OVERLAP_LINK, OVERLAP_SOME, EPSILON, VANITY_CABINET_LAYOUTPOS } from "../constants";
6
6
  import { buildRectFromLines, getAllLines, pointsDistance, relationshipOfTwoOverlappedLines, rotatePointAroundPoint } from "./geometry";
7
7
  import { MathUtils } from "./export";
8
8
  import { convert } from "./convert-units-lite";
@@ -66,6 +66,7 @@ export function getSideFaces(item, layer) {
66
66
  var skinPanelSKU = 'unknown';
67
67
  switch (item.layoutpos) {
68
68
  case BASE_CABINET_LAYOUTPOS:
69
+ case VANITY_CABINET_LAYOUTPOS:
69
70
  skinPanelSKU = i === 2 ? 'unknown' : SKIN_SKU_BSV_24;
70
71
  break;
71
72
  case WALL_CABINET_LAYOUTPOS:
@@ -96,7 +97,7 @@ export function getSideFaces(item, layer) {
96
97
  }
97
98
  function collectLayerItems(layer) {
98
99
  var _layer$items;
99
- var skinLayouts = new Set([BASE_CABINET_LAYOUTPOS, WALL_CABINET_LAYOUTPOS, TALL_CABINET_LAYOUTPOS]);
100
+ var skinLayouts = new Set([BASE_CABINET_LAYOUTPOS, WALL_CABINET_LAYOUTPOS, TALL_CABINET_LAYOUTPOS, VANITY_CABINET_LAYOUTPOS]);
100
101
  var skinPanelItems = [];
101
102
  var otherItems = [];
102
103
  layer === null || layer === void 0 || (_layer$items = layer.items) === null || _layer$items === void 0 || _layer$items.forEach(function (it) {
@@ -187,8 +188,7 @@ function filterFacesBlockedByFaces(sourceFaces, blockingFaces) {
187
188
  var overlapList = [OVERLAP_INCLUDED, OVERLAP_SAME];
188
189
  var removeIdxs = [];
189
190
  var newFaces = []; // new countour edge segment that except the overlapped part
190
-
191
- for (var i = 0; i < sourceFaces.length; i++) {
191
+ var _loop3 = function _loop3(i) {
192
192
  var iFace = sourceFaces[i];
193
193
  for (var j = 0; j < blockingFaces.length; j++) {
194
194
  var _relationship$trimmed;
@@ -237,11 +237,16 @@ function filterFacesBlockedByFaces(sourceFaces, blockingFaces) {
237
237
  break;
238
238
  } else if (relationship.result === OVERLAP_SOME && ((_relationship$trimmed = relationship.trimmedSegs) === null || _relationship$trimmed === void 0 ? void 0 : _relationship$trimmed.length) > 0 && verticallyIncluded) {
239
239
  removeIdxs.push(i);
240
- var tFaceSegs = getTrimmedFaceSegs([iFace], blockingFaces, 0);
240
+ var tFaceSegs = getTrimmedFaceSegs([iFace], sourceFaces === blockingFaces ? blockingFaces.filter(function (v, idx) {
241
+ return idx !== i;
242
+ }) : blockingFaces, 0);
241
243
  if (tFaceSegs.length > 0) newFaces = [].concat(_toConsumableArray(newFaces), _toConsumableArray(tFaceSegs));
242
244
  break;
243
245
  }
244
246
  }
247
+ };
248
+ for (var i = 0; i < sourceFaces.length; i++) {
249
+ _loop3(i);
245
250
  }
246
251
  sourceFaces = sourceFaces.filter(function (face, idx) {
247
252
  return !removeIdxs.includes(idx);
@@ -382,13 +387,13 @@ function resolveSkinPanelSKU(face) {
382
387
  */
383
388
  function buildSkinPanelData(faces) {
384
389
  var tempResult = [];
385
- var _loop3 = function _loop3() {
390
+ var _loop4 = function _loop4() {
386
391
  var sf = faces[i];
387
392
  var skus = resolveSkinPanelSKU(sf);
388
393
  var _iterator = _createForOfIteratorHelper(skus),
389
394
  _step;
390
395
  try {
391
- var _loop5 = function _loop5() {
396
+ var _loop6 = function _loop6() {
392
397
  var sku = _step.value;
393
398
  var idx = tempResult.findIndex(function (v) {
394
399
  var _sf$itemInfo;
@@ -412,7 +417,7 @@ function buildSkinPanelData(faces) {
412
417
  }
413
418
  };
414
419
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
415
- _loop5();
420
+ _loop6();
416
421
  }
417
422
  } catch (err) {
418
423
  _iterator.e(err);
@@ -421,13 +426,13 @@ function buildSkinPanelData(faces) {
421
426
  }
422
427
  };
423
428
  for (var i = 0; i < faces.length; i++) {
424
- _loop3();
429
+ _loop4();
425
430
  }
426
431
 
427
432
  // calculate back face panel quantity of island base cabinets
428
433
  var removeIdxs = [];
429
434
  var newDatas = [];
430
- var _loop4 = function _loop4() {
435
+ var _loop5 = function _loop5() {
431
436
  var iData = tempResult[_i];
432
437
  if (iData.isBackFace) {
433
438
  removeIdxs.push(_i);
@@ -470,7 +475,7 @@ function buildSkinPanelData(faces) {
470
475
  }
471
476
  };
472
477
  for (var _i = 0; _i < tempResult.length; _i++) {
473
- _loop4();
478
+ _loop5();
474
479
  }
475
480
  tempResult = tempResult.filter(function (data, idx) {
476
481
  return !removeIdxs.includes(idx);
package/lib/constants.js CHANGED
@@ -462,7 +462,7 @@ var UNIT_FOOT = exports.UNIT_FOOT = 'ft';
462
462
  var UNIT_MILE = exports.UNIT_MILE = 'mi';
463
463
  var UNITS_LENGTH = exports.UNITS_LENGTH = [UNIT_MILLIMETER, UNIT_CENTIMETER, UNIT_METER, UNIT_INCH, UNIT_FOOT, UNIT_MILE];
464
464
  var CEIL_UNITS_LENGTH = exports.CEIL_UNITS_LENGTH = [UNIT_CENTIMETER, UNIT_METER, UNIT_INCH, UNIT_FOOT];
465
- var EPSILON = exports.EPSILON = 1e-2;
465
+ var EPSILON = exports.EPSILON = 0.5;
466
466
 
467
467
  // distance between item and wall
468
468
  var DISTANCE_EPSILON = exports.DISTANCE_EPSILON = 5.0; //5.08; // 2 inch
@@ -74,6 +74,7 @@ function getSideFaces(item, layer) {
74
74
  var skinPanelSKU = 'unknown';
75
75
  switch (item.layoutpos) {
76
76
  case _constants.BASE_CABINET_LAYOUTPOS:
77
+ case _constants.VANITY_CABINET_LAYOUTPOS:
77
78
  skinPanelSKU = i === 2 ? 'unknown' : _skinPanel.SKIN_SKU_BSV_24;
78
79
  break;
79
80
  case _constants.WALL_CABINET_LAYOUTPOS:
@@ -104,7 +105,7 @@ function getSideFaces(item, layer) {
104
105
  }
105
106
  function collectLayerItems(layer) {
106
107
  var _layer$items;
107
- var skinLayouts = new Set([_constants.BASE_CABINET_LAYOUTPOS, _constants.WALL_CABINET_LAYOUTPOS, _constants.TALL_CABINET_LAYOUTPOS]);
108
+ var skinLayouts = new Set([_constants.BASE_CABINET_LAYOUTPOS, _constants.WALL_CABINET_LAYOUTPOS, _constants.TALL_CABINET_LAYOUTPOS, _constants.VANITY_CABINET_LAYOUTPOS]);
108
109
  var skinPanelItems = [];
109
110
  var otherItems = [];
110
111
  layer === null || layer === void 0 || (_layer$items = layer.items) === null || _layer$items === void 0 || _layer$items.forEach(function (it) {
@@ -195,8 +196,7 @@ function filterFacesBlockedByFaces(sourceFaces, blockingFaces) {
195
196
  var overlapList = [_constants.OVERLAP_INCLUDED, _constants.OVERLAP_SAME];
196
197
  var removeIdxs = [];
197
198
  var newFaces = []; // new countour edge segment that except the overlapped part
198
-
199
- for (var i = 0; i < sourceFaces.length; i++) {
199
+ var _loop3 = function _loop3(i) {
200
200
  var iFace = sourceFaces[i];
201
201
  for (var j = 0; j < blockingFaces.length; j++) {
202
202
  var _relationship$trimmed;
@@ -245,11 +245,16 @@ function filterFacesBlockedByFaces(sourceFaces, blockingFaces) {
245
245
  break;
246
246
  } else if (relationship.result === _constants.OVERLAP_SOME && ((_relationship$trimmed = relationship.trimmedSegs) === null || _relationship$trimmed === void 0 ? void 0 : _relationship$trimmed.length) > 0 && verticallyIncluded) {
247
247
  removeIdxs.push(i);
248
- var tFaceSegs = getTrimmedFaceSegs([iFace], blockingFaces, 0);
248
+ var tFaceSegs = getTrimmedFaceSegs([iFace], sourceFaces === blockingFaces ? blockingFaces.filter(function (v, idx) {
249
+ return idx !== i;
250
+ }) : blockingFaces, 0);
249
251
  if (tFaceSegs.length > 0) newFaces = [].concat((0, _toConsumableArray2["default"])(newFaces), (0, _toConsumableArray2["default"])(tFaceSegs));
250
252
  break;
251
253
  }
252
254
  }
255
+ };
256
+ for (var i = 0; i < sourceFaces.length; i++) {
257
+ _loop3(i);
253
258
  }
254
259
  sourceFaces = sourceFaces.filter(function (face, idx) {
255
260
  return !removeIdxs.includes(idx);
@@ -390,13 +395,13 @@ function resolveSkinPanelSKU(face) {
390
395
  */
391
396
  function buildSkinPanelData(faces) {
392
397
  var tempResult = [];
393
- var _loop3 = function _loop3() {
398
+ var _loop4 = function _loop4() {
394
399
  var sf = faces[i];
395
400
  var skus = resolveSkinPanelSKU(sf);
396
401
  var _iterator = _createForOfIteratorHelper(skus),
397
402
  _step;
398
403
  try {
399
- var _loop5 = function _loop5() {
404
+ var _loop6 = function _loop6() {
400
405
  var sku = _step.value;
401
406
  var idx = tempResult.findIndex(function (v) {
402
407
  var _sf$itemInfo;
@@ -420,7 +425,7 @@ function buildSkinPanelData(faces) {
420
425
  }
421
426
  };
422
427
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
423
- _loop5();
428
+ _loop6();
424
429
  }
425
430
  } catch (err) {
426
431
  _iterator.e(err);
@@ -429,13 +434,13 @@ function buildSkinPanelData(faces) {
429
434
  }
430
435
  };
431
436
  for (var i = 0; i < faces.length; i++) {
432
- _loop3();
437
+ _loop4();
433
438
  }
434
439
 
435
440
  // calculate back face panel quantity of island base cabinets
436
441
  var removeIdxs = [];
437
442
  var newDatas = [];
438
- var _loop4 = function _loop4() {
443
+ var _loop5 = function _loop5() {
439
444
  var iData = tempResult[_i];
440
445
  if (iData.isBackFace) {
441
446
  removeIdxs.push(_i);
@@ -478,7 +483,7 @@ function buildSkinPanelData(faces) {
478
483
  }
479
484
  };
480
485
  for (var _i = 0; _i < tempResult.length; _i++) {
481
- _loop4();
486
+ _loop5();
482
487
  }
483
488
  tempResult = tempResult.filter(function (data, idx) {
484
489
  return !removeIdxs.includes(idx);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kitchen-simulator",
3
- "version": "4.4.4",
3
+ "version": "4.4.6",
4
4
  "description": "It is a kitchen simulator (self-contained micro-frontend).",
5
5
  "license": "MIT",
6
6
  "main": "lib/index.js",