kitchen-simulator 10.0.1 → 10.0.4

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.
@@ -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 = Object.keys(structure);
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,7 +49,6 @@ 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,
53
52
  itemID: item.itemID,
54
53
  prototype: item.prototype,
55
54
  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 = Object.keys(structure);
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,7 +56,6 @@ 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,
60
59
  itemID: item.itemID,
61
60
  prototype: item.prototype,
62
61
  category: item.category,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kitchen-simulator",
3
- "version": "10.0.1",
3
+ "version": "10.0.4",
4
4
  "description": "It is a kitchen simulator (self-contained micro-frontend).",
5
5
  "license": "MIT",
6
6
  "main": "lib/index.js",