kitchen-simulator 10.0.0 → 10.0.3
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/catalog/cabinet/cabinet-assembly-order.js +36 -0
- package/es/catalog/utils/item-loader.js +2 -1
- package/es/events/external/handlers.changeDoorStyle.js +1 -0
- package/lib/catalog/cabinet/cabinet-assembly-order.js +42 -0
- package/lib/catalog/utils/item-loader.js +2 -1
- package/lib/events/external/handlers.changeDoorStyle.js +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// Sort the keys of a cabinet assembly so nested parts can be attached in the
|
|
2
|
+
// correct order (e.g. drawer-door assets are inserted into placeholder nodes
|
|
3
|
+
// that exist only after the drawer interior is loaded).
|
|
4
|
+
export function orderCabinetAssemblyKeys(cabinetAssembly) {
|
|
5
|
+
var keys = Object.keys(cabinetAssembly || {});
|
|
6
|
+
var keyPriority = function keyPriority(key) {
|
|
7
|
+
if (key === 'base' || key === 'animation' || key === 'placeholders' || key === 'tempPlaceholders' || key === 'model') {
|
|
8
|
+
return 1000;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
// Drawer interiors (NOT door)
|
|
12
|
+
if (key.startsWith('base_drawer_') && !key.includes('_door')) return 10;
|
|
13
|
+
// Fixed drawer interiors (NOT door)
|
|
14
|
+
if (key.startsWith('base_fixed_drawer_') && !key.includes('door')) return 10;
|
|
15
|
+
|
|
16
|
+
// Drawer doors
|
|
17
|
+
if (key.startsWith('base_drawer_door_')) return 20;
|
|
18
|
+
if (key.startsWith('base_fixed_drawer_door_')) return 20;
|
|
19
|
+
|
|
20
|
+
// Drawer door handles
|
|
21
|
+
if (key.startsWith('drawer_door_handle_')) return 30;
|
|
22
|
+
if (key.startsWith('fixed_drawer_door_handle_')) return 30;
|
|
23
|
+
return 50;
|
|
24
|
+
};
|
|
25
|
+
return keys.map(function (k, idx) {
|
|
26
|
+
return {
|
|
27
|
+
k: k,
|
|
28
|
+
idx: idx
|
|
29
|
+
};
|
|
30
|
+
}).sort(function (a, b) {
|
|
31
|
+
return keyPriority(a.k) - keyPriority(b.k) || a.idx - b.idx;
|
|
32
|
+
}).map(function (_ref) {
|
|
33
|
+
var k = _ref.k;
|
|
34
|
+
return k;
|
|
35
|
+
});
|
|
36
|
+
}
|
|
@@ -14,6 +14,7 @@ import * as GeomUtils from "./geom-utils";
|
|
|
14
14
|
import { loadGLTF } from "./load-obj";
|
|
15
15
|
import { animateDoor, getSkuAliasFromCatalogElement, isEmpty, translateDrawer } from "../../utils/helper";
|
|
16
16
|
import { isWarningItem } from "../../components/viewer2d/utils";
|
|
17
|
+
import { orderCabinetAssemblyKeys } from "../cabinet/cabinet-assembly-order";
|
|
17
18
|
var INITIAL_NORMAL_MAP = '';
|
|
18
19
|
|
|
19
20
|
// env Map ///////////////
|
|
@@ -754,7 +755,7 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
|
|
|
754
755
|
return object1;
|
|
755
756
|
};
|
|
756
757
|
// keys in structure
|
|
757
|
-
var keys =
|
|
758
|
+
var keys = orderCabinetAssemblyKeys(structure);
|
|
758
759
|
// if exist in cached Objects
|
|
759
760
|
if (element.type + color + 'doorStyle' + JSON.stringify(doorStyles.toJS()) + element.counterTop.uri in cachedObject) {
|
|
760
761
|
var _objGroup = cachedObject[element.type + color + 'doorStyle' + JSON.stringify(doorStyles.toJS())].clone();
|
|
@@ -49,6 +49,7 @@ function _handleChangeDoorStyleEvent() {
|
|
|
49
49
|
return item.itemID === v.itemID && item.name === v.name && doorStyle.id === v.doorFinishId;
|
|
50
50
|
})) {
|
|
51
51
|
ccdf_list.push({
|
|
52
|
+
ccdfId: item.ccdf.id,
|
|
52
53
|
itemID: item.itemID,
|
|
53
54
|
prototype: item.prototype,
|
|
54
55
|
category: item.category,
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.orderCabinetAssemblyKeys = orderCabinetAssemblyKeys;
|
|
7
|
+
// Sort the keys of a cabinet assembly so nested parts can be attached in the
|
|
8
|
+
// correct order (e.g. drawer-door assets are inserted into placeholder nodes
|
|
9
|
+
// that exist only after the drawer interior is loaded).
|
|
10
|
+
function orderCabinetAssemblyKeys(cabinetAssembly) {
|
|
11
|
+
var keys = Object.keys(cabinetAssembly || {});
|
|
12
|
+
var keyPriority = function keyPriority(key) {
|
|
13
|
+
if (key === 'base' || key === 'animation' || key === 'placeholders' || key === 'tempPlaceholders' || key === 'model') {
|
|
14
|
+
return 1000;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
// Drawer interiors (NOT door)
|
|
18
|
+
if (key.startsWith('base_drawer_') && !key.includes('_door')) return 10;
|
|
19
|
+
// Fixed drawer interiors (NOT door)
|
|
20
|
+
if (key.startsWith('base_fixed_drawer_') && !key.includes('door')) return 10;
|
|
21
|
+
|
|
22
|
+
// Drawer doors
|
|
23
|
+
if (key.startsWith('base_drawer_door_')) return 20;
|
|
24
|
+
if (key.startsWith('base_fixed_drawer_door_')) return 20;
|
|
25
|
+
|
|
26
|
+
// Drawer door handles
|
|
27
|
+
if (key.startsWith('drawer_door_handle_')) return 30;
|
|
28
|
+
if (key.startsWith('fixed_drawer_door_handle_')) return 30;
|
|
29
|
+
return 50;
|
|
30
|
+
};
|
|
31
|
+
return keys.map(function (k, idx) {
|
|
32
|
+
return {
|
|
33
|
+
k: k,
|
|
34
|
+
idx: idx
|
|
35
|
+
};
|
|
36
|
+
}).sort(function (a, b) {
|
|
37
|
+
return keyPriority(a.k) - keyPriority(b.k) || a.idx - b.idx;
|
|
38
|
+
}).map(function (_ref) {
|
|
39
|
+
var k = _ref.k;
|
|
40
|
+
return k;
|
|
41
|
+
});
|
|
42
|
+
}
|
|
@@ -25,6 +25,7 @@ var GeomUtils = _interopRequireWildcard(require("./geom-utils"));
|
|
|
25
25
|
var _loadObj = require("./load-obj");
|
|
26
26
|
var _helper = require("../../utils/helper");
|
|
27
27
|
var _utils = require("../../components/viewer2d/utils");
|
|
28
|
+
var _cabinetAssemblyOrder = require("../cabinet/cabinet-assembly-order");
|
|
28
29
|
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 _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
|
|
29
30
|
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; }
|
|
30
31
|
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; }
|
|
@@ -768,7 +769,7 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
|
|
|
768
769
|
return object1;
|
|
769
770
|
};
|
|
770
771
|
// keys in structure
|
|
771
|
-
var keys =
|
|
772
|
+
var keys = (0, _cabinetAssemblyOrder.orderCabinetAssemblyKeys)(structure);
|
|
772
773
|
// if exist in cached Objects
|
|
773
774
|
if (element.type + color + 'doorStyle' + JSON.stringify(doorStyles.toJS()) + element.counterTop.uri in cachedObject) {
|
|
774
775
|
var _objGroup = cachedObject[element.type + color + 'doorStyle' + JSON.stringify(doorStyles.toJS())].clone();
|
|
@@ -56,6 +56,7 @@ function _handleChangeDoorStyleEvent() {
|
|
|
56
56
|
return item.itemID === v.itemID && item.name === v.name && doorStyle.id === v.doorFinishId;
|
|
57
57
|
})) {
|
|
58
58
|
ccdf_list.push({
|
|
59
|
+
ccdfId: item.ccdf.id,
|
|
59
60
|
itemID: item.itemID,
|
|
60
61
|
prototype: item.prototype,
|
|
61
62
|
category: item.category,
|