kitchen-simulator 3.1.14 → 4.0.0-alpha.12

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.
Files changed (105) hide show
  1. package/es/LiteKitchenConfigurator.js +204 -24
  2. package/es/LiteRenderer.js +277 -12
  3. package/es/actions/items-actions.js +6 -10
  4. package/es/actions/lines-actions.js +1 -3
  5. package/es/actions/project-actions.js +5 -15
  6. package/es/assets/Window.hdr +2100 -0
  7. package/es/assets/gltf/door_sliding.bin +0 -0
  8. package/es/assets/img/1.jpg +0 -0
  9. package/es/catalog/areas/area/planner-element.js +5 -10
  10. package/es/catalog/catalog.js +4 -1
  11. package/es/catalog/factories/area-factory-3d.js +17 -18
  12. package/es/catalog/factories/wall-factory-3d.js +2 -2
  13. package/es/catalog/factories/wall-factory.js +8 -8
  14. package/es/catalog/lines/wall/planner-element.js +9 -18
  15. package/es/catalog/utils/exporter.js +3 -6
  16. package/es/catalog/utils/item-loader.js +197 -202
  17. package/es/catalog/utils/mtl-loader.js +2 -2
  18. package/es/catalog/utils/obj-loader.js +2 -2
  19. package/es/class/item.js +127 -107
  20. package/es/class/line.js +2 -14
  21. package/es/class/project.js +44 -150
  22. package/es/components/content.js +6 -19
  23. package/es/components/viewer2d/grids/grid-streak.js +1 -1
  24. package/es/components/viewer2d/item.js +51 -84
  25. package/es/components/viewer2d/line.js +243 -315
  26. package/es/components/viewer2d/ruler.js +36 -16
  27. package/es/components/viewer2d/rulerDist.js +75 -44
  28. package/es/components/viewer2d/utils.js +0 -6
  29. package/es/components/viewer2d/viewer2d.js +205 -301
  30. package/es/components/viewer3d/front3D.js +2 -3
  31. package/es/components/viewer3d/libs/mtl-loader.js +2 -2
  32. package/es/components/viewer3d/libs/obj-loader.js +2 -2
  33. package/es/components/viewer3d/libs/orbit-controls.js +4 -3
  34. package/es/components/viewer3d/libs/pointer-lock-controls.js +7 -6
  35. package/es/components/viewer3d/viewer3d.js +80 -127
  36. package/es/constants.js +3 -110
  37. package/es/devLiteRenderer.js +38 -597
  38. package/es/index.js +86 -16
  39. package/es/models.js +5 -8
  40. package/es/plugins/SVGLoader.js +5 -7
  41. package/es/plugins/keyboard.js +6 -15
  42. package/es/reducers/items-reducer.js +5 -5
  43. package/es/reducers/lines-reducer.js +1 -1
  44. package/es/reducers/project-reducer.js +3 -5
  45. package/es/shared-style.js +4 -4
  46. package/es/utils/geometry.js +0 -161
  47. package/es/utils/get-edges-of-subgraphs.js +1 -1
  48. package/es/utils/graph-cycles.js +1 -1
  49. package/es/utils/graph.js +1 -1
  50. package/es/utils/helper.js +2 -67
  51. package/es/utils/isolate-event-handler.js +124 -1367
  52. package/es/utils/molding.js +2 -238
  53. package/lib/LiteKitchenConfigurator.js +205 -25
  54. package/lib/LiteRenderer.js +278 -13
  55. package/lib/actions/items-actions.js +6 -10
  56. package/lib/actions/lines-actions.js +1 -3
  57. package/lib/actions/project-actions.js +4 -15
  58. package/lib/assets/Window.hdr +2100 -0
  59. package/lib/assets/gltf/door_sliding.bin +0 -0
  60. package/lib/assets/img/1.jpg +0 -0
  61. package/lib/catalog/areas/area/planner-element.js +5 -11
  62. package/lib/catalog/catalog.js +4 -1
  63. package/lib/catalog/factories/area-factory-3d.js +14 -15
  64. package/lib/catalog/factories/wall-factory-3d.js +2 -2
  65. package/lib/catalog/factories/wall-factory.js +8 -8
  66. package/lib/catalog/lines/wall/planner-element.js +9 -19
  67. package/lib/catalog/utils/exporter.js +3 -6
  68. package/lib/catalog/utils/item-loader.js +194 -199
  69. package/lib/catalog/utils/mtl-loader.js +2 -9
  70. package/lib/catalog/utils/obj-loader.js +2 -10
  71. package/lib/class/item.js +125 -105
  72. package/lib/class/line.js +1 -13
  73. package/lib/class/project.js +43 -149
  74. package/lib/components/content.js +6 -19
  75. package/lib/components/viewer2d/grids/grid-streak.js +1 -1
  76. package/lib/components/viewer2d/item.js +50 -83
  77. package/lib/components/viewer2d/line.js +242 -315
  78. package/lib/components/viewer2d/ruler.js +35 -15
  79. package/lib/components/viewer2d/rulerDist.js +75 -44
  80. package/lib/components/viewer2d/utils.js +0 -7
  81. package/lib/components/viewer2d/viewer2d.js +205 -299
  82. package/lib/components/viewer3d/front3D.js +2 -3
  83. package/lib/components/viewer3d/libs/mtl-loader.js +2 -9
  84. package/lib/components/viewer3d/libs/obj-loader.js +2 -9
  85. package/lib/components/viewer3d/libs/orbit-controls.js +5 -11
  86. package/lib/components/viewer3d/libs/pointer-lock-controls.js +7 -13
  87. package/lib/components/viewer3d/viewer3d.js +79 -125
  88. package/lib/constants.js +7 -115
  89. package/lib/devLiteRenderer.js +33 -592
  90. package/lib/index.js +86 -16
  91. package/lib/models.js +5 -8
  92. package/lib/plugins/SVGLoader.js +5 -7
  93. package/lib/plugins/keyboard.js +6 -15
  94. package/lib/reducers/items-reducer.js +5 -5
  95. package/lib/reducers/lines-reducer.js +1 -1
  96. package/lib/reducers/project-reducer.js +2 -4
  97. package/lib/shared-style.js +4 -4
  98. package/lib/utils/geometry.js +0 -162
  99. package/lib/utils/get-edges-of-subgraphs.js +1 -6
  100. package/lib/utils/graph-cycles.js +8 -7
  101. package/lib/utils/graph.js +1 -6
  102. package/lib/utils/helper.js +3 -70
  103. package/lib/utils/isolate-event-handler.js +121 -1364
  104. package/lib/utils/molding.js +0 -238
  105. package/package.json +1 -1
Binary file
Binary file
@@ -1,9 +1,4 @@
1
1
  import { AreaFactory } from "../../factories/export";
2
- import parquetTexture from "./textures/parquet.jpg";
3
- import tile1Texture from "./textures/tile1.jpg";
4
- import ceramicTexture from "./textures/ceramic-tile.jpg";
5
- import strandPorcelainTexture from "./textures/strand-porcelain.jpg";
6
- import grassTexture from "./textures/grass.jpg";
7
2
  var info = {
8
3
  title: 'area',
9
4
  tag: ['area'],
@@ -13,31 +8,31 @@ var info = {
13
8
  var textures = {
14
9
  parquet: {
15
10
  name: 'Parquet',
16
- uri: parquetTexture,
11
+ uri: require("./textures/parquet.jpg"),
17
12
  lengthRepeatScale: 0.004,
18
13
  heightRepeatScale: 0.004
19
14
  },
20
15
  tile1: {
21
16
  name: 'Tile1',
22
- uri: tile1Texture,
17
+ uri: require("./textures/tile1.jpg"),
23
18
  lengthRepeatScale: 0.01,
24
19
  heightRepeatScale: 0.01
25
20
  },
26
21
  ceramic: {
27
22
  name: 'Ceramic Tile',
28
- uri: ceramicTexture,
23
+ uri: require("./textures/ceramic-tile.jpg"),
29
24
  lengthRepeatScale: 0.02,
30
25
  heightRepeatScale: 0.02
31
26
  },
32
27
  strand_porcelain: {
33
28
  name: 'Strand Porcelain Tile',
34
- uri: strandPorcelainTexture,
29
+ uri: require("./textures/strand-porcelain.jpg"),
35
30
  lengthRepeatScale: 0.02,
36
31
  heightRepeatScale: 0.02
37
32
  },
38
33
  grass: {
39
34
  name: 'Grass',
40
- uri: grassTexture,
35
+ uri: require("./textures/grass.jpg"),
41
36
  lengthRepeatScale: 0.01,
42
37
  heightRepeatScale: 0.01
43
38
  }
@@ -247,7 +247,10 @@ var Catalog = /*#__PURE__*/function () {
247
247
  if (name === '') {
248
248
  throw new Error('Category has empty name');
249
249
  }
250
- return !this.hasCategory(name);
250
+ if (this.hasCategory(name)) {
251
+ throw new Error('Category has already been registered');
252
+ }
253
+ return true;
251
254
  }
252
255
 
253
256
  /**
@@ -1,9 +1,9 @@
1
- import * as Three from "three";
2
- import { Box3, Mesh, MeshBasicMaterial, MeshPhysicalMaterial, RepeatWrapping, Shape, TextureLoader, Vector2 } from "three";
1
+ import * as Three from 'three';
2
+ import { Box3, Mesh, MeshBasicMaterial, MeshPhysicalMaterial, RepeatWrapping, Shape, TextureLoader, Vector2 } from 'three';
3
3
  import * as SharedStyle from "../../shared-style";
4
- import { RGBELoader } from "three/examples/jsm/loaders/RGBELoader";
4
+ import { RGBELoader } from 'three/examples/jsm/loaders/RGBELoader';
5
5
  var params = {
6
- envMap: "HDR",
6
+ envMap: 'HDR',
7
7
  roughness: 0.9,
8
8
  metalness: 0.8,
9
9
  exposure: 1.0
@@ -58,7 +58,7 @@ var assignUVs = function assignUVs(geometry) {
58
58
  var y3 = position.getY(i + 2);
59
59
  uvArray.push((x1 + offset.x) / range.x, (y1 + offset.y) / range.y, (x2 + offset.x) / range.x, (y2 + offset.y) / range.y, (x3 + offset.x) / range.x, (y3 + offset.y) / range.y);
60
60
  }
61
- geometry.setAttribute("uv", new Three.BufferAttribute(new Float32Array(uvArray), 2));
61
+ geometry.setAttribute('uv', new Three.BufferAttribute(new Float32Array(uvArray), 2));
62
62
  geometry.needsUpdate = true;
63
63
  };
64
64
  export function createArea(element, layer, scene, textures) {
@@ -69,15 +69,14 @@ export function createArea(element, layer, scene, textures) {
69
69
  var texture = element.texture;
70
70
  texture.lengthRepeatScale = 0.01;
71
71
  texture.heightRepeatScale = 0.01;
72
- var color = element.properties.get("patternColor");
72
+ var color = element.properties.get('patternColor');
73
73
  if (element.selected) {
74
74
  color = SharedStyle.AREA_MESH_COLOR.selected;
75
75
  } else {
76
76
  color = SharedStyle.AREA_MESH_COLOR.unselected;
77
77
  }
78
- if (texture.uri === undefined || texture.uri == "") {
79
- // @todo THIS IS A TEMPORARY FIX TO HAVE A DEFAULT FLOOR TEXTURE
80
- texture.uri = layer.floorStyle.uri || "https://media.test.diydesignspace.com/uploads/CountTop/202203162950_2/texture/oak-barcelona-s.jpg";
78
+ if (texture.uri === undefined || texture.uri == '') {
79
+ texture.uri = layer.floorStyle.uri;
81
80
  }
82
81
  var shape = new Shape();
83
82
  shape.moveTo(vertices[0].x, vertices[0].y);
@@ -85,7 +84,7 @@ export function createArea(element, layer, scene, textures) {
85
84
  shape.lineTo(vertices[i].x, vertices[i].y);
86
85
  }
87
86
  function loadFloorENV() {
88
- return new RGBELoader().load("/assets/Window.hdr", function (texture) {
87
+ return new RGBELoader().load('/assets/Window.hdr', function (texture) {
89
88
  texture.mapping = Three.EquirectangularReflectionMapping;
90
89
  return texture;
91
90
  });
@@ -105,8 +104,8 @@ export function createArea(element, layer, scene, textures) {
105
104
  /* Create holes for the area */
106
105
  element.holes.forEach(function (holeID) {
107
106
  var holeCoords = [];
108
- layer.getIn(["areas", holeID, "vertices"]).forEach(function (vertexID) {
109
- var _layer$getIn = layer.getIn(["vertices", vertexID]),
107
+ layer.getIn(['areas', holeID, 'vertices']).forEach(function (vertexID) {
108
+ var _layer$getIn = layer.getIn(['vertices', vertexID]),
110
109
  x = _layer$getIn.x,
111
110
  y = _layer$getIn.y;
112
111
  holeCoords.push([x, y]);
@@ -133,7 +132,7 @@ export function createArea(element, layer, scene, textures) {
133
132
  var area = new Mesh(shapeGeometry, areaMaterial);
134
133
  area.rotation.x -= Math.PI / 2;
135
134
  area.receiveShadow = true;
136
- area.name = "floor";
135
+ area.name = 'floor';
137
136
  // This mesh is use for creating ceiling mesh
138
137
 
139
138
  var shapeGeometry2 = new Three.ShapeGeometry(shape);
@@ -144,7 +143,7 @@ export function createArea(element, layer, scene, textures) {
144
143
  area2.castShadow = true;
145
144
  area2.rotation.x -= Math.PI / 2;
146
145
  area2.receiveShadow = true;
147
- area2.name = "floorSupport";
146
+ area2.name = 'floorSupport';
148
147
  var floorSupport = area2.clone();
149
148
  area.userData.floorSupport = floorSupport;
150
149
  return Promise.resolve(area);
@@ -154,13 +153,13 @@ export function updatedArea(element, layer, scene, textures, mesh, oldElement, d
154
153
  selfDestroy();
155
154
  return selfBuild();
156
155
  };
157
- var floor = mesh.getObjectByName("floor");
156
+ var floor = mesh.getObjectByName('floor');
158
157
  floor.receiveShadow = true;
159
- if (differences[0] == "selected") {
158
+ if (differences[0] == 'selected') {
160
159
  var color = element.selected ? SharedStyle.AREA_MESH_COLOR.selected : SharedStyle.AREA_MESH_COLOR.unselected;
161
160
  floor.material.color.set(color);
162
- } else if (differences[0] == "properties") {
163
- if (differences[1] === "texture") {
161
+ } else if (differences[0] == 'properties') {
162
+ if (differences[1] === 'texture') {
164
163
  return noPerf();
165
164
  }
166
165
  } else return noPerf();
@@ -25,13 +25,13 @@ var halfPI = Math.PI / 2;
25
25
  var applyTexture = function applyTexture(material, texture, length, height) {
26
26
  var loader = new TextureLoader();
27
27
  if (texture) {
28
- material.map = loader.load(texture.uri);
28
+ material.map = loader.load(texture.uri["default"]);
29
29
  material.map.colorSpace = Three.SRGBColorSpace, material.needsUpdate = true;
30
30
  material.map.wrapS = RepeatWrapping;
31
31
  material.map.wrapT = RepeatWrapping;
32
32
  material.map.repeat.set(length * texture.lengthRepeatScale, height * texture.heightRepeatScale);
33
33
  if (texture.normal) {
34
- material.normalMap = loader.load(texture.normal.uri);
34
+ material.normalMap = loader.load(texture.normal.uri["default"]);
35
35
  material.normalScale = new Vector2(texture.normal.normalScaleX, texture.normal.normalScaleY);
36
36
  material.normalMap.wrapS = RepeatWrapping;
37
37
  material.normalMap.wrapT = RepeatWrapping;
@@ -16,11 +16,11 @@ var STYLE_LINE = {
16
16
  // strokeWidth:1
17
17
  };
18
18
  var STYLE_INTERIOR_LINE = {
19
- strokeWidth: 2,
19
+ strokeWidth: 1,
20
20
  stroke: SharedStyle.INTERIOR_LINE.unselected
21
21
  };
22
22
  var STYLE_INTERIOR_LINE_SELECTED = {
23
- strokeWidth: 4,
23
+ strokeWidth: 2,
24
24
  stroke: SharedStyle.INTERIOR_LINE.selected,
25
25
  fill: SharedStyle.INTERIOR_LINE.selected,
26
26
  rx: '2px'
@@ -213,9 +213,9 @@ export default function WallFactory(name, info, textures) {
213
213
  })));
214
214
  return !element.selected ? /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("polygon", {
215
215
  points: "".concat(x1, ",").concat(y1, " ").concat(related0x, ",").concat(related0y, " ").concat(related1x, ",").concat(related1y, " ").concat(x2, ",").concat(y2),
216
- fill: "#CFD8DC"
217
- // fillRule="evenodd"
218
- }), /*#__PURE__*/React.createElement("line", {
216
+ fill: "url(#pat)",
217
+ fillRule: "evenodd"
218
+ }), outwall, /*#__PURE__*/React.createElement("line", {
219
219
  x1: x1,
220
220
  y1: y1,
221
221
  x2: x2,
@@ -223,9 +223,9 @@ export default function WallFactory(name, info, textures) {
223
223
  style: STYLE_INTERIOR_LINE
224
224
  })) : /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("polygon", {
225
225
  points: "".concat(x1, ",").concat(y1, " ").concat(related0x, ",").concat(related0y, " ").concat(related1x, ",").concat(related1y, " ").concat(x2, ",").concat(y2),
226
- fill: "#CFD8DC"
227
- // fillRule="evenodd"
228
- }), /*#__PURE__*/React.createElement("line", {
226
+ fill: "url(#pat)",
227
+ fillRule: "evenodd"
228
+ }), outwall, /*#__PURE__*/React.createElement("line", {
229
229
  x1: x1,
230
230
  y1: y1,
231
231
  x2: x2,
@@ -1,18 +1,9 @@
1
1
  import { WallFactory } from "../../factories/export";
2
- import wallImage from "./wall.png";
3
- import plasterTexture from "./textures/plaster.jpg";
4
- import plasterNormal from "./textures/plaster-normal.jpg";
5
- import bricksTexture from "./textures/bricks.jpg";
6
- import bricksNormal from "./textures/bricks-normal.jpg";
7
- import paintedTexture from "./textures/painted.jpg";
8
- import paintedNormal from "./textures/painted-normal.jpg";
9
- import mordenTexture from "./textures/morden.jpg";
10
- import mordenNormal from "./textures/morden-normal.jpg";
11
2
  var info = {
12
3
  title: 'wall',
13
4
  tag: ['wall'],
14
5
  description: 'Wall with bricks or painted',
15
- image: wallImage,
6
+ image: require("./wall.png"),
16
7
  visibility: {
17
8
  catalog: true,
18
9
  layerElementsVisible: true
@@ -21,11 +12,11 @@ var info = {
21
12
  var textures = {
22
13
  plaster: {
23
14
  name: 'Plaster',
24
- uri: plasterTexture,
15
+ uri: require("./textures/plaster.jpg"),
25
16
  lengthRepeatScale: 0.005,
26
17
  heightRepeatScale: 0.005,
27
18
  normal: {
28
- uri: plasterNormal,
19
+ uri: require("./textures/plaster-normal.jpg"),
29
20
  lengthRepeatScale: 0.005,
30
21
  heightRepeatScale: 0.005,
31
22
  normalScaleX: 0.4,
@@ -35,11 +26,11 @@ var textures = {
35
26
  },
36
27
  bricks: {
37
28
  name: 'Bricks',
38
- uri: bricksTexture,
29
+ uri: require("./textures/bricks.jpg"),
39
30
  lengthRepeatScale: 0.009,
40
31
  heightRepeatScale: 0.009,
41
32
  normal: {
42
- uri: bricksNormal,
33
+ uri: require("./textures/bricks-normal.jpg"),
43
34
  lengthRepeatScale: 0.009,
44
35
  heightRepeatScale: 0.009,
45
36
  normalScaleX: 0.4,
@@ -49,11 +40,11 @@ var textures = {
49
40
  },
50
41
  painted: {
51
42
  name: 'Painted',
52
- uri: paintedTexture,
43
+ uri: require("./textures/painted.jpg"),
53
44
  lengthRepeatScale: 0.005,
54
45
  heightRepeatScale: 0.005,
55
46
  normal: {
56
- uri: paintedNormal,
47
+ uri: require("./textures/painted-normal.jpg"),
57
48
  lengthRepeatScale: 0.005,
58
49
  heightRepeatScale: 0.005,
59
50
  normalScaleX: 0.4,
@@ -63,11 +54,11 @@ var textures = {
63
54
  },
64
55
  morden: {
65
56
  name: 'Morden',
66
- uri: mordenTexture,
57
+ uri: require("./textures/morden.jpg"),
67
58
  lengthRepeatScale: 0.005,
68
59
  heightRepeatScale: 0.005,
69
60
  normal: {
70
- uri: mordenNormal,
61
+ uri: require("./textures/morden-normal.jpg"),
71
62
  lengthRepeatScale: 0.005,
72
63
  heightRepeatScale: 0.005,
73
64
  normalScaleX: 0.4,
@@ -19,12 +19,10 @@ export default function (_ref) {
19
19
  is_corner = _ref.is_corner,
20
20
  alti = _ref.alti,
21
21
  obj_property = _ref.obj_property,
22
- outlineSVGData = _ref.outlineSVGData,
23
- cds = _ref.cds;
22
+ outlineSVGData = _ref.outlineSVGData;
24
23
  var _length = alti || 0;
25
- var length = convert(_length).from('in').to('cm');
26
- // const length = _length;
27
-
24
+ // const length = convert(_length).from("in").to("cm");
25
+ var length = _length;
28
26
  var additional_props = [];
29
27
  if (type === 'cabinet' && long_name.toLowerCase().includes('filler')) {
30
28
  additional_props = {
@@ -136,7 +134,6 @@ export default function (_ref) {
136
134
  }),
137
135
  img: base,
138
136
  obj: obj_property,
139
- cds: cds,
140
137
  render2D: function render2D(element, layer, scene) {
141
138
  return render2DItem.call(this, element, layer, scene, sizeinfo, layoutpos, is_corner, shape_svg);
142
139
  },