kitchen-simulator 11.30.0 → 11.30.2
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/assets/img/svg/accessories.svg +4 -4
- package/es/assets/img/svg/bottombar/elevation-back.svg +6 -6
- package/es/assets/img/svg/bottombar/elevation-front.svg +6 -6
- package/es/assets/img/svg/bottombar/elevation-left.svg +6 -6
- package/es/assets/img/svg/bottombar/elevation-right.svg +7 -7
- package/es/assets/img/svg/bottombar/elevation.svg +13 -13
- package/es/assets/img/svg/detail.svg +77 -77
- package/es/assets/img/svg/filtersActive.svg +19 -19
- package/es/assets/img/svg/invert.svg +12 -12
- package/es/assets/img/svg/menubar/login.svg +84 -84
- package/es/assets/img/svg/menubar/my_projects.svg +85 -85
- package/es/assets/img/svg/menubar/new_project.svg +110 -110
- package/es/assets/img/svg/menubar/save_project.svg +84 -84
- package/es/assets/img/svg/options.svg +3 -3
- package/es/assets/img/svg/positioning.svg +3 -3
- package/es/assets/img/svg/toggleFilters.svg +19 -19
- package/es/assets/img/svg/toolbar/shopping-cart.svg +13 -13
- package/es/assets/img/svg/wizardstep/detail_view.svg +87 -87
- package/es/assets/img/svg/wizardstep/tile_view.svg +95 -95
- package/es/class/vertex.js +7 -1
- package/es/components/viewer3d/camera-controls-module/camera-controls.module.js +556 -556
- package/es/events/external/handlers.syncScene.js +33 -0
- package/es/mappings/external-events/mapExternalEventPayload.js +4 -4
- package/es/mappings/external-events/mappers/addItemMapper.js +9 -9
- package/es/shared/domain/asset/sanitize-asset-url.js +5 -5
- package/es/shared/math/line-metrics.js +34 -0
- package/es/utils/helper.js +2 -5
- package/es/utils/skinPanelEngine.js +14 -14
- package/lib/assets/img/svg/accessories.svg +4 -4
- package/lib/assets/img/svg/bottombar/elevation-back.svg +6 -6
- package/lib/assets/img/svg/bottombar/elevation-front.svg +6 -6
- package/lib/assets/img/svg/bottombar/elevation-left.svg +6 -6
- package/lib/assets/img/svg/bottombar/elevation-right.svg +7 -7
- package/lib/assets/img/svg/bottombar/elevation.svg +13 -13
- package/lib/assets/img/svg/detail.svg +77 -77
- package/lib/assets/img/svg/filtersActive.svg +19 -19
- package/lib/assets/img/svg/invert.svg +12 -12
- package/lib/assets/img/svg/menubar/login.svg +84 -84
- package/lib/assets/img/svg/menubar/my_projects.svg +85 -85
- package/lib/assets/img/svg/menubar/new_project.svg +110 -110
- package/lib/assets/img/svg/menubar/save_project.svg +84 -84
- package/lib/assets/img/svg/options.svg +3 -3
- package/lib/assets/img/svg/positioning.svg +3 -3
- package/lib/assets/img/svg/toggleFilters.svg +19 -19
- package/lib/assets/img/svg/toolbar/shopping-cart.svg +13 -13
- package/lib/assets/img/svg/wizardstep/detail_view.svg +87 -87
- package/lib/assets/img/svg/wizardstep/tile_view.svg +95 -95
- package/lib/class/vertex.js +7 -1
- package/lib/components/viewer3d/camera-controls-module/camera-controls.module.js +556 -556
- package/lib/events/external/handlers.syncScene.js +34 -0
- package/lib/mappings/external-events/mapExternalEventPayload.js +4 -4
- package/lib/mappings/external-events/mappers/addItemMapper.js +9 -9
- package/lib/shared/domain/asset/sanitize-asset-url.js +5 -5
- package/lib/shared/math/line-metrics.js +40 -0
- package/lib/utils/helper.js +2 -5
- package/lib/utils/skinPanelEngine.js +14 -14
- package/package.json +1 -1
|
@@ -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();
|
|
@@ -9,10 +9,10 @@ var _helper = require("../../utils/helper");
|
|
|
9
9
|
var _addItemMapper = require("./mappers/addItemMapper");
|
|
10
10
|
var _changeDoorStyleMapper = require("./mappers/changeDoorStyleMapper");
|
|
11
11
|
var _loadProjectMapper = require("./mappers/loadProjectMapper");
|
|
12
|
-
/**
|
|
13
|
-
* Main dispatcher for external event payload mapping.
|
|
14
|
-
* Converts new API formats into legacy internal formats (e.g. assets3d -> structure_json)
|
|
15
|
-
* without changing the behavior of the existing 3D tool.
|
|
12
|
+
/**
|
|
13
|
+
* Main dispatcher for external event payload mapping.
|
|
14
|
+
* Converts new API formats into legacy internal formats (e.g. assets3d -> structure_json)
|
|
15
|
+
* without changing the behavior of the existing 3D tool.
|
|
16
16
|
*/
|
|
17
17
|
function mapExternalEventPayload(evt, state, defaultTextures) {
|
|
18
18
|
if ((0, _helper.isEmpty)(evt)) return null;
|
|
@@ -11,15 +11,15 @@ var _constants = require("../../../constants");
|
|
|
11
11
|
var _helper = require("../../../utils/helper");
|
|
12
12
|
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; }
|
|
13
13
|
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; }
|
|
14
|
-
/**
|
|
15
|
-
* Mapping logic for EXTERNAL_EVENT_ADD_ITEM.
|
|
16
|
-
*
|
|
17
|
-
* Converts the new assets3d payload shape into the legacy structure_json format
|
|
18
|
-
* expected by the existing 3D tool.
|
|
19
|
-
*
|
|
20
|
-
* @param {Object} evt.payload External event payload
|
|
21
|
-
* @param {Immutable.Map} state Planner state
|
|
22
|
-
* @returns {Object|null} Updated event (or null when payload is empty)
|
|
14
|
+
/**
|
|
15
|
+
* Mapping logic for EXTERNAL_EVENT_ADD_ITEM.
|
|
16
|
+
*
|
|
17
|
+
* Converts the new assets3d payload shape into the legacy structure_json format
|
|
18
|
+
* expected by the existing 3D tool.
|
|
19
|
+
*
|
|
20
|
+
* @param {Object} evt.payload External event payload
|
|
21
|
+
* @param {Immutable.Map} state Planner state
|
|
22
|
+
* @returns {Object|null} Updated event (or null when payload is empty)
|
|
23
23
|
*/
|
|
24
24
|
function mapAddItemEvent(orgEvtPayload, state) {
|
|
25
25
|
var _evtPayload, _evtPayload3;
|
|
@@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.sanitizeAssetUrl = void 0;
|
|
7
|
-
/**
|
|
8
|
-
* Strip stray dots from the **path portion** of a GLTF/BIN URL.
|
|
9
|
-
* e.g. `…/B36_36x34.5x24.gltf` → `…/B36_36x345x24.gltf`
|
|
10
|
-
*
|
|
11
|
-
* Leaves the protocol/domain and the final file extension untouched.
|
|
7
|
+
/**
|
|
8
|
+
* Strip stray dots from the **path portion** of a GLTF/BIN URL.
|
|
9
|
+
* e.g. `…/B36_36x34.5x24.gltf` → `…/B36_36x345x24.gltf`
|
|
10
|
+
*
|
|
11
|
+
* Leaves the protocol/domain and the final file extension untouched.
|
|
12
12
|
*/
|
|
13
13
|
var sanitizeAssetUrl = exports.sanitizeAssetUrl = function sanitizeAssetUrl(url) {
|
|
14
14
|
if (!url) return url;
|
|
@@ -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
|
+
}
|
package/lib/utils/helper.js
CHANGED
|
@@ -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
|
-
|
|
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
|
|
@@ -145,10 +145,10 @@ function isSnappedWithCornerCabient(srcItem, desItem) {
|
|
|
145
145
|
} else return false;
|
|
146
146
|
}
|
|
147
147
|
|
|
148
|
-
/**
|
|
149
|
-
* @param {*} faceSegs
|
|
150
|
-
* @param {*} otherFaces
|
|
151
|
-
* @returns
|
|
148
|
+
/**
|
|
149
|
+
* @param {*} faceSegs
|
|
150
|
+
* @param {*} otherFaces
|
|
151
|
+
* @returns
|
|
152
152
|
*/
|
|
153
153
|
function getTrimmedFaceSegs(faceSegs, otherFaces, cnt) {
|
|
154
154
|
try {
|
|
@@ -309,8 +309,8 @@ function applyGroupingRules(faces) {
|
|
|
309
309
|
};
|
|
310
310
|
}
|
|
311
311
|
|
|
312
|
-
/**
|
|
313
|
-
* Horizontal Grouping (for base cabinets back-to-back : BSV48 48" x 34.5")
|
|
312
|
+
/**
|
|
313
|
+
* Horizontal Grouping (for base cabinets back-to-back : BSV48 48" x 34.5")
|
|
314
314
|
*/
|
|
315
315
|
function applyHorizontalGrouping(faces) {
|
|
316
316
|
var removeIdxs = [];
|
|
@@ -352,8 +352,8 @@ function applyHorizontalGrouping(faces) {
|
|
|
352
352
|
};
|
|
353
353
|
}
|
|
354
354
|
|
|
355
|
-
/**
|
|
356
|
-
* Vertical Grouping (For CT3DR or CT2DR SKUs + stacked wall cabinets)
|
|
355
|
+
/**
|
|
356
|
+
* Vertical Grouping (For CT3DR or CT2DR SKUs + stacked wall cabinets)
|
|
357
357
|
*/
|
|
358
358
|
function applyVerticalGrouping(faces) {
|
|
359
359
|
var removeIdxs = [];
|
|
@@ -444,8 +444,8 @@ function buildMP3SkinPanelArray(bottomHeight, topHeight, mp3SkinPanelArray) {
|
|
|
444
444
|
return skinPanelTypeArray;
|
|
445
445
|
}
|
|
446
446
|
|
|
447
|
-
/**
|
|
448
|
-
* Decide which skin panel pieces are needed for a tall cabinet.
|
|
447
|
+
/**
|
|
448
|
+
* Decide which skin panel pieces are needed for a tall cabinet.
|
|
449
449
|
*/
|
|
450
450
|
function resolveTallCabinetBundle(face) {
|
|
451
451
|
var item = face.itemInfo;
|
|
@@ -465,8 +465,8 @@ function resolveTallCabinetBundle(face) {
|
|
|
465
465
|
return face !== null && face !== void 0 && face.skinPanelSKU ? [face.skinPanelSKU] : [];
|
|
466
466
|
}
|
|
467
467
|
|
|
468
|
-
/**
|
|
469
|
-
* Converts a face → list of SKUs
|
|
468
|
+
/**
|
|
469
|
+
* Converts a face → list of SKUs
|
|
470
470
|
*/
|
|
471
471
|
function resolveSkinPanelSKU(face) {
|
|
472
472
|
var layout = face.itemInfo.layoutpos;
|
|
@@ -476,8 +476,8 @@ function resolveSkinPanelSKU(face) {
|
|
|
476
476
|
return [face.skinPanelSKU];
|
|
477
477
|
}
|
|
478
478
|
|
|
479
|
-
/**
|
|
480
|
-
* Make skin panel data with grouping skinPanelSKU & doorStyle
|
|
479
|
+
/**
|
|
480
|
+
* Make skin panel data with grouping skinPanelSKU & doorStyle
|
|
481
481
|
*/
|
|
482
482
|
function buildSkinPanelData(faces) {
|
|
483
483
|
var tempResult = [];
|