kitchen-simulator 11.30.0 → 11.30.1

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,6 +1,39 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import { getLineLength } from "../../shared/math/line-metrics";
3
+ function addLineLengthsToScene(sceneData) {
4
+ if (!(sceneData !== null && sceneData !== void 0 && sceneData.layers)) return;
5
+ Object.values(sceneData.layers).forEach(function (layerData) {
6
+ var _ref, _layerData$unit;
7
+ var unit = (_ref = (_layerData$unit = layerData === null || layerData === void 0 ? void 0 : layerData.unit) !== null && _layerData$unit !== void 0 ? _layerData$unit : sceneData === null || sceneData === void 0 ? void 0 : sceneData.unit) !== null && _ref !== void 0 ? _ref : 'cm';
8
+ var vertices = layerData === null || layerData === void 0 ? void 0 : layerData.vertices;
9
+ var lines = layerData === null || layerData === void 0 ? void 0 : layerData.lines;
10
+ if (!vertices || !lines) return;
11
+ Object.values(lines).forEach(function (line) {
12
+ try {
13
+ var length = getLineLength(line, vertices, unit);
14
+ if (length != null) line.length = length;
15
+ } catch (e) {
16
+ var _line$vertices;
17
+ // Fallback: still provide a usable length value (cm)
18
+ var _ref2 = (_line$vertices = line === null || line === void 0 ? void 0 : line.vertices) !== null && _line$vertices !== void 0 ? _line$vertices : [],
19
+ _ref3 = _slicedToArray(_ref2, 2),
20
+ v0Id = _ref3[0],
21
+ v1Id = _ref3[1];
22
+ var v0 = vertices === null || vertices === void 0 ? void 0 : vertices[v0Id];
23
+ var v1 = vertices === null || vertices === void 0 ? void 0 : vertices[v1Id];
24
+ if (!v0 || !v1) return;
25
+ line.length = Math.hypot(v0.x - v1.x, v0.y - v1.y);
26
+ }
27
+ });
28
+ });
29
+ }
1
30
  export function handleSyncScene(props, state, layer, layerId, getMoldingDataOfScene2, computeSkinPanels, DEFAULT_MOLDING_PIECE_LENGTH, INTERNAL_EVENT_SYNC_SCENE) {
2
31
  var _layer$doorStyle, _props$configData$mol, _props$configData, _props$configData$ski, _props$configData2, _props$onInternalEven;
3
32
  var sceneData = state.scene.toJS();
33
+
34
+ // Add `length` field for all walls (lines) in sync payload
35
+ addLineLengthsToScene(sceneData);
36
+
4
37
  // get molding data for "ReviewForQuote"
5
38
  var currentTexture = (_layer$doorStyle = layer === null || layer === void 0 ? void 0 : layer.doorStyle) !== null && _layer$doorStyle !== void 0 ? _layer$doorStyle : props.state.doorStyle;
6
39
  if (currentTexture && currentTexture.toJS) currentTexture = currentTexture.toJS();
@@ -0,0 +1,34 @@
1
+ import { convert } from "../../utils/convert-units-lite";
2
+ function getVertexId(lineVertices, index) {
3
+ if (!lineVertices) return null;
4
+ return typeof lineVertices.get === 'function' ? lineVertices.get(index) : lineVertices[index];
5
+ }
6
+ function getVertex(vertices, vertexId) {
7
+ if (!vertices || vertexId == null) return null;
8
+ return typeof vertices.get === 'function' ? vertices.get(vertexId) : vertices[vertexId];
9
+ }
10
+
11
+ /**
12
+ * Computes a line length using its 2 vertices.
13
+ *
14
+ * Assumptions (matches existing DRAG logic):
15
+ * - vertex coordinates are stored in centimeters
16
+ * - result is converted to the provided unit
17
+ *
18
+ * @param {object} line - line object/record with `vertices` (array or immutable List)
19
+ * @param {object} vertices - vertices collection (plain object map or immutable Map)
20
+ * @param {string} unit - target unit (e.g. 'in', 'cm')
21
+ * @returns {number|null}
22
+ */
23
+ export function getLineLength(line, vertices) {
24
+ var _v0$x, _v1$x, _v0$y, _v1$y;
25
+ var unit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'cm';
26
+ var lineVertices = line === null || line === void 0 ? void 0 : line.vertices;
27
+ var v0Id = getVertexId(lineVertices, 0);
28
+ var v1Id = getVertexId(lineVertices, 1);
29
+ var v0 = getVertex(vertices, v0Id);
30
+ var v1 = getVertex(vertices, v1Id);
31
+ if (!v0 || !v1) return null;
32
+ var distanceCm = Math.hypot(((_v0$x = v0.x) !== null && _v0$x !== void 0 ? _v0$x : 0) - ((_v1$x = v1.x) !== null && _v1$x !== void 0 ? _v1$x : 0), ((_v0$y = v0.y) !== null && _v0$y !== void 0 ? _v0$y : 0) - ((_v1$y = v1.y) !== null && _v1$y !== void 0 ? _v1$y : 0));
33
+ return convert(distanceCm).from('cm').to(unit);
34
+ }
@@ -13,6 +13,7 @@ import AWS from 'aws-sdk';
13
13
  import { GeometryUtils, MoldingUtils } from "./export";
14
14
  import { calcDistancesFromHoleToNearestOneOrWall } from "./geometry";
15
15
  import { toJSIfNeeded } from "../shared/objects/immutable";
16
+ import { getLineLength } from "../shared/math/line-metrics";
16
17
  var s3 = new AWS.S3({
17
18
  accessKeyId: process.env.REACT_APP_AWS_ID,
18
19
  secretAccessKey: process.env.REACT_APP_AWS_SECRET
@@ -408,11 +409,7 @@ export function updatePayloadOfInternalEvent(currentObject, layer) {
408
409
  if (isEmpty(layer)) return updatedPayload;
409
410
  if ((currentObject === null || currentObject === void 0 ? void 0 : currentObject.prototype) === 'lines') {
410
411
  // caculating length of selected line//
411
- var v_a = layer.vertices.get(currentObject.vertices.get(0));
412
- var v_b = layer.vertices.get(currentObject.vertices.get(1));
413
- var distance = GeometryUtils.pointsDistance(v_a.x, v_a.y, v_b.x, v_b.y);
414
- var _length = convert(distance).from('cm').to(layer.unit);
415
- updatedPayload.length = _length;
412
+ updatedPayload.length = getLineLength(currentObject, layer.vertices, layer.unit);
416
413
  //////////////////////////////////////
417
414
  } else if ((currentObject === null || currentObject === void 0 ? void 0 : currentObject.prototype) === 'items') {
418
415
  // check this cabinet has warning box
@@ -1,12 +1,46 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.handleSyncScene = handleSyncScene;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _lineMetrics = require("../../shared/math/line-metrics");
10
+ function addLineLengthsToScene(sceneData) {
11
+ if (!(sceneData !== null && sceneData !== void 0 && sceneData.layers)) return;
12
+ Object.values(sceneData.layers).forEach(function (layerData) {
13
+ var _ref, _layerData$unit;
14
+ var unit = (_ref = (_layerData$unit = layerData === null || layerData === void 0 ? void 0 : layerData.unit) !== null && _layerData$unit !== void 0 ? _layerData$unit : sceneData === null || sceneData === void 0 ? void 0 : sceneData.unit) !== null && _ref !== void 0 ? _ref : 'cm';
15
+ var vertices = layerData === null || layerData === void 0 ? void 0 : layerData.vertices;
16
+ var lines = layerData === null || layerData === void 0 ? void 0 : layerData.lines;
17
+ if (!vertices || !lines) return;
18
+ Object.values(lines).forEach(function (line) {
19
+ try {
20
+ var length = (0, _lineMetrics.getLineLength)(line, vertices, unit);
21
+ if (length != null) line.length = length;
22
+ } catch (e) {
23
+ var _line$vertices;
24
+ // Fallback: still provide a usable length value (cm)
25
+ var _ref2 = (_line$vertices = line === null || line === void 0 ? void 0 : line.vertices) !== null && _line$vertices !== void 0 ? _line$vertices : [],
26
+ _ref3 = (0, _slicedToArray2["default"])(_ref2, 2),
27
+ v0Id = _ref3[0],
28
+ v1Id = _ref3[1];
29
+ var v0 = vertices === null || vertices === void 0 ? void 0 : vertices[v0Id];
30
+ var v1 = vertices === null || vertices === void 0 ? void 0 : vertices[v1Id];
31
+ if (!v0 || !v1) return;
32
+ line.length = Math.hypot(v0.x - v1.x, v0.y - v1.y);
33
+ }
34
+ });
35
+ });
36
+ }
7
37
  function handleSyncScene(props, state, layer, layerId, getMoldingDataOfScene2, computeSkinPanels, DEFAULT_MOLDING_PIECE_LENGTH, INTERNAL_EVENT_SYNC_SCENE) {
8
38
  var _layer$doorStyle, _props$configData$mol, _props$configData, _props$configData$ski, _props$configData2, _props$onInternalEven;
9
39
  var sceneData = state.scene.toJS();
40
+
41
+ // Add `length` field for all walls (lines) in sync payload
42
+ addLineLengthsToScene(sceneData);
43
+
10
44
  // get molding data for "ReviewForQuote"
11
45
  var currentTexture = (_layer$doorStyle = layer === null || layer === void 0 ? void 0 : layer.doorStyle) !== null && _layer$doorStyle !== void 0 ? _layer$doorStyle : props.state.doorStyle;
12
46
  if (currentTexture && currentTexture.toJS) currentTexture = currentTexture.toJS();
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getLineLength = getLineLength;
7
+ var _convertUnitsLite = require("../../utils/convert-units-lite");
8
+ function getVertexId(lineVertices, index) {
9
+ if (!lineVertices) return null;
10
+ return typeof lineVertices.get === 'function' ? lineVertices.get(index) : lineVertices[index];
11
+ }
12
+ function getVertex(vertices, vertexId) {
13
+ if (!vertices || vertexId == null) return null;
14
+ return typeof vertices.get === 'function' ? vertices.get(vertexId) : vertices[vertexId];
15
+ }
16
+
17
+ /**
18
+ * Computes a line length using its 2 vertices.
19
+ *
20
+ * Assumptions (matches existing DRAG logic):
21
+ * - vertex coordinates are stored in centimeters
22
+ * - result is converted to the provided unit
23
+ *
24
+ * @param {object} line - line object/record with `vertices` (array or immutable List)
25
+ * @param {object} vertices - vertices collection (plain object map or immutable Map)
26
+ * @param {string} unit - target unit (e.g. 'in', 'cm')
27
+ * @returns {number|null}
28
+ */
29
+ function getLineLength(line, vertices) {
30
+ var _v0$x, _v1$x, _v0$y, _v1$y;
31
+ var unit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'cm';
32
+ var lineVertices = line === null || line === void 0 ? void 0 : line.vertices;
33
+ var v0Id = getVertexId(lineVertices, 0);
34
+ var v1Id = getVertexId(lineVertices, 1);
35
+ var v0 = getVertex(vertices, v0Id);
36
+ var v1 = getVertex(vertices, v1Id);
37
+ if (!v0 || !v1) return null;
38
+ var distanceCm = Math.hypot(((_v0$x = v0.x) !== null && _v0$x !== void 0 ? _v0$x : 0) - ((_v1$x = v1.x) !== null && _v1$x !== void 0 ? _v1$x : 0), ((_v0$y = v0.y) !== null && _v0$y !== void 0 ? _v0$y : 0) - ((_v1$y = v1.y) !== null && _v1$y !== void 0 ? _v1$y : 0));
39
+ return (0, _convertUnitsLite.convert)(distanceCm).from('cm').to(unit);
40
+ }
@@ -39,6 +39,7 @@ var _awsSdk = _interopRequireDefault(require("aws-sdk"));
39
39
  var _export = require("./export");
40
40
  var _geometry = require("./geometry");
41
41
  var _immutable = require("../shared/objects/immutable");
42
+ var _lineMetrics = require("../shared/math/line-metrics");
42
43
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
43
44
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
44
45
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -437,11 +438,7 @@ function updatePayloadOfInternalEvent(currentObject, layer) {
437
438
  if (isEmpty(layer)) return updatedPayload;
438
439
  if ((currentObject === null || currentObject === void 0 ? void 0 : currentObject.prototype) === 'lines') {
439
440
  // caculating length of selected line//
440
- var v_a = layer.vertices.get(currentObject.vertices.get(0));
441
- var v_b = layer.vertices.get(currentObject.vertices.get(1));
442
- var distance = _export.GeometryUtils.pointsDistance(v_a.x, v_a.y, v_b.x, v_b.y);
443
- var _length = (0, _convertUnitsLite.convert)(distance).from('cm').to(layer.unit);
444
- updatedPayload.length = _length;
441
+ updatedPayload.length = (0, _lineMetrics.getLineLength)(currentObject, layer.vertices, layer.unit);
445
442
  //////////////////////////////////////
446
443
  } else if ((currentObject === null || currentObject === void 0 ? void 0 : currentObject.prototype) === 'items') {
447
444
  // check this cabinet has warning box
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kitchen-simulator",
3
- "version": "11.30.0",
3
+ "version": "11.30.1",
4
4
  "description": "It is a kitchen simulator (self-contained micro-frontend).",
5
5
  "license": "MIT",
6
6
  "main": "lib/index.js",