kitchen-simulator 11.0.0-react.18 → 11.1.0

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 (707) hide show
  1. package/es/AppContext.js +1 -4
  2. package/es/LiteKitchenConfigurator.js +67 -23
  3. package/es/LiteRenderer.js +15 -64
  4. package/es/actions/export.js +25 -12
  5. package/es/actions/items-actions.js +18 -2
  6. package/es/analytics/ga4.js +188 -0
  7. package/es/analytics/posthog.js +60 -0
  8. package/es/assets/Window.hdr +2100 -0
  9. package/es/assets/img/default/maple.jpg +0 -0
  10. package/es/assets/img/default/steel.jpg +0 -0
  11. package/es/assets/img/loading/loading.gif +0 -0
  12. package/es/catalog/cabinet/cabinet-assembly-order.js +36 -0
  13. package/es/catalog/catalog.js +0 -2
  14. package/es/catalog/factories/area-factory-3d.js +1 -5
  15. package/es/catalog/factories/wall-factory.js +1 -1
  16. package/es/catalog/holes/door-double/door_double.png +0 -0
  17. package/es/catalog/holes/door-panic/panicDoor.png +0 -0
  18. package/es/catalog/holes/door-panic-double/panicDoorDouble.png +0 -0
  19. package/es/catalog/holes/gate/gate.jpg +0 -0
  20. package/es/catalog/holes/window-clear/texture.png +0 -0
  21. package/es/catalog/holes/window-cross/texture.png +0 -0
  22. package/es/catalog/holes/window-double-hung/texture.png +0 -0
  23. package/es/catalog/holes/window-vertical/texture.png +0 -0
  24. package/es/catalog/utils/exporter.js +4 -0
  25. package/es/catalog/utils/item-loader.js +12 -25
  26. package/es/class/area.js +0 -1
  27. package/es/class/export.js +1 -3
  28. package/es/class/item.js +211 -89
  29. package/es/class/line.js +1 -3
  30. package/es/class/project.js +15 -19
  31. package/es/components/content.js +20 -6
  32. package/es/components/export.js +3 -5
  33. package/es/components/style/export.js +2 -28
  34. package/es/components/style/form-number-input.js +34 -43
  35. package/es/components/viewer2d/group.js +12 -7
  36. package/es/components/viewer2d/item.js +159 -168
  37. package/es/components/viewer2d/line.js +18 -51
  38. package/es/components/viewer2d/rulerX.js +3 -0
  39. package/es/components/viewer2d/rulerY.js +3 -0
  40. package/es/components/viewer2d/scene.js +67 -47
  41. package/es/components/viewer2d/state.js +1 -1
  42. package/es/components/viewer2d/utils.js +0 -6
  43. package/es/components/viewer2d/viewer2d.js +566 -508
  44. package/es/components/viewer3d/front3D.js +1 -2
  45. package/es/components/viewer3d/pointer-lock-navigation.js +0 -90
  46. package/es/components/viewer3d/ruler-utils/layer3D.js +2 -2
  47. package/es/components/viewer3d/scene-creator.js +113 -120
  48. package/es/components/viewer3d/three-memory-cleaner.js +0 -14
  49. package/es/components/viewer3d/viewer3d-first-person.js +132 -134
  50. package/es/components/viewer3d/viewer3d.js +40 -28
  51. package/es/constants/catalog/skinPanel.js +9 -0
  52. package/es/constants.js +19 -8
  53. package/es/{WorkSpaceOriginal.js → devLiteRenderer.js} +241 -173
  54. package/es/events/external/handleExternalEvent.js +141 -0
  55. package/es/events/external/handleExternalEvent.util.js +1099 -0
  56. package/es/events/external/handlers.addItem.js +47 -0
  57. package/es/events/external/handlers.changeDoorStyle.js +140 -0
  58. package/es/events/external/handlers.elementOps.js +8 -0
  59. package/es/events/external/handlers.finishing.js +26 -0
  60. package/es/events/external/handlers.hole.js +4 -0
  61. package/es/events/external/handlers.loadProject.js +128 -0
  62. package/es/events/external/handlers.molding.js +24 -0
  63. package/es/events/external/handlers.projectLifecycle.js +11 -0
  64. package/es/events/external/handlers.projectSettings.js +32 -0
  65. package/es/events/external/handlers.replaceCabinet.js +41 -0
  66. package/es/events/external/handlers.roomShape.js +8 -0
  67. package/es/events/external/handlers.syncScene.js +21 -0
  68. package/es/events/external/handlers.updateSelectedElements.js +11 -0
  69. package/es/events/external/handlers.viewMode.js +11 -0
  70. package/es/events/external/handlers.viewerNavigation.js +108 -0
  71. package/es/events/external/handlers.wall.js +7 -0
  72. package/es/index.js +36 -76
  73. package/es/mappings/external-events/mapExternalEventPayload.js +28 -0
  74. package/es/mappings/external-events/mappers/addItemMapper.js +97 -0
  75. package/es/mappings/external-events/mappers/ccdfMapper.js +100 -0
  76. package/es/mappings/external-events/mappers/ccdfToCDSMapper.js +49 -0
  77. package/es/mappings/external-events/mappers/changeDoorStyleMapper.js +37 -0
  78. package/es/mappings/external-events/mappers/loadProjectMapper.js +62 -0
  79. package/es/mappings/holesToCatalog.js +139 -0
  80. package/es/models.js +16 -1
  81. package/es/plugins/keyboard.js +1 -1
  82. package/es/reducers/export.js +2 -4
  83. package/es/reducers/items-reducer.js +4 -2
  84. package/es/reducers/project-reducer.js +1 -1
  85. package/es/reducers/reducer.js +2 -3
  86. package/es/reducers/viewer2d-reducer.js +0 -2
  87. package/es/shared/domain/cabinet-warning.js +15 -0
  88. package/es/shared/objects/immutable.js +3 -0
  89. package/es/utils/geometry.js +418 -95
  90. package/es/utils/helper.js +41 -35
  91. package/es/utils/history.js +2 -2
  92. package/es/utils/molding.js +12 -241
  93. package/es/utils/name-generator.js +0 -3
  94. package/es/utils/skinPanelEngine.js +522 -0
  95. package/lib/@history.js +11 -0
  96. package/lib/AppContext.js +11 -0
  97. package/lib/LiteKitchenConfigurator.js +527 -0
  98. package/lib/LiteRenderer.js +323 -0
  99. package/lib/actions/area-actions.js +21 -0
  100. package/lib/actions/export.js +36 -0
  101. package/lib/actions/groups-actions.js +107 -0
  102. package/lib/actions/holes-actions.js +140 -0
  103. package/lib/actions/items-actions.js +383 -0
  104. package/lib/actions/lines-actions.js +98 -0
  105. package/lib/actions/project-actions.js +351 -0
  106. package/lib/actions/scene-actions.js +43 -0
  107. package/lib/actions/vertices-actions.js +35 -0
  108. package/lib/actions/viewer2d-actions.js +73 -0
  109. package/lib/actions/viewer3d-actions.js +32 -0
  110. package/lib/analytics/ga4.js +194 -0
  111. package/lib/analytics/posthog.js +68 -0
  112. package/lib/assets/Window.hdr +2100 -0
  113. package/lib/assets/brown_photostudio_02_1k.hdr +0 -0
  114. package/lib/assets/fonts/Rene Bieder Milliard Black Italic.woff +0 -0
  115. package/lib/assets/fonts/Rene Bieder Milliard Black.woff +0 -0
  116. package/lib/assets/fonts/Rene Bieder Milliard Bold Italic.woff +0 -0
  117. package/lib/assets/fonts/Rene Bieder Milliard Bold.woff +0 -0
  118. package/lib/assets/fonts/Rene Bieder Milliard Book Italic.woff +0 -0
  119. package/lib/assets/fonts/Rene Bieder Milliard Book.woff +0 -0
  120. package/lib/assets/fonts/Rene Bieder Milliard ExtraBold Italic.woff +0 -0
  121. package/lib/assets/fonts/Rene Bieder Milliard ExtraBold.woff +0 -0
  122. package/lib/assets/fonts/Rene Bieder Milliard ExtraLight Italic.woff +0 -0
  123. package/lib/assets/fonts/Rene Bieder Milliard ExtraLight.woff +0 -0
  124. package/lib/assets/fonts/Rene Bieder Milliard Hairline Italic.woff +0 -0
  125. package/lib/assets/fonts/Rene Bieder Milliard Hairline.woff +0 -0
  126. package/lib/assets/fonts/Rene Bieder Milliard Heavy Italic.woff +0 -0
  127. package/lib/assets/fonts/Rene Bieder Milliard Heavy.woff +0 -0
  128. package/lib/assets/fonts/Rene Bieder Milliard Light Italic.woff +0 -0
  129. package/lib/assets/fonts/Rene Bieder Milliard Light.woff +0 -0
  130. package/lib/assets/fonts/Rene Bieder Milliard Medium Italic.woff +0 -0
  131. package/lib/assets/fonts/Rene Bieder Milliard Medium.woff +0 -0
  132. package/lib/assets/fonts/Rene Bieder Milliard SemiBold Italic.woff +0 -0
  133. package/lib/assets/fonts/Rene Bieder Milliard SemiBold.woff +0 -0
  134. package/lib/assets/fonts/Rene Bieder Milliard Thin Italic.woff +0 -0
  135. package/lib/assets/fonts/Rene Bieder Milliard Thin.woff +0 -0
  136. package/lib/assets/fonts/style.css +177 -0
  137. package/lib/assets/gltf/door_closet.gltf +1 -0
  138. package/lib/assets/gltf/door_exterior.gltf +1 -0
  139. package/lib/assets/gltf/door_interior.gltf +1 -0
  140. package/lib/assets/gltf/door_sliding.gltf +1 -0
  141. package/lib/assets/gltf/doorway_framed.bin +0 -0
  142. package/lib/assets/gltf/doorway_framed.fbx +0 -0
  143. package/lib/assets/gltf/doorway_framed.gltf +1 -0
  144. package/lib/assets/gltf/window_clear.bin +0 -0
  145. package/lib/assets/gltf/window_clear.fbx +0 -0
  146. package/lib/assets/gltf/window_clear.gltf +1 -0
  147. package/lib/assets/gltf/window_cross.bin +0 -0
  148. package/lib/assets/gltf/window_cross.fbx +0 -0
  149. package/lib/assets/gltf/window_cross.gltf +1 -0
  150. package/lib/assets/gltf/window_double_hung.bin +0 -0
  151. package/lib/assets/gltf/window_double_hung.fbx +0 -0
  152. package/lib/assets/gltf/window_double_hung.gltf +1 -0
  153. package/lib/assets/gltf/window_vertical.bin +0 -0
  154. package/lib/assets/gltf/window_vertical.fbx +0 -0
  155. package/lib/assets/gltf/window_vertical.gltf +1 -0
  156. package/lib/assets/img/TKC_thumbnail.png +0 -0
  157. package/lib/assets/img/Toggle.png +0 -0
  158. package/lib/assets/img/default/maple.jpg +0 -0
  159. package/lib/assets/img/default/steel.jpg +0 -0
  160. package/lib/assets/img/loading/loading.gif +0 -0
  161. package/lib/assets/img/loading/loading_1.svg +11 -0
  162. package/lib/assets/img/loading_large.gif +0 -0
  163. package/lib/assets/img/png/door/closet.png +0 -0
  164. package/lib/assets/img/png/door/doorwaysframed.png +0 -0
  165. package/lib/assets/img/png/door/doorwaysframeles.png +0 -0
  166. package/lib/assets/img/png/door/doorwaysframeless.png +0 -0
  167. package/lib/assets/img/png/door/exterior.png +0 -0
  168. package/lib/assets/img/png/door/interior.png +0 -0
  169. package/lib/assets/img/png/door/sliding.png +0 -0
  170. package/lib/assets/img/png/helper/outcome.png +0 -0
  171. package/lib/assets/img/project_img.png +0 -0
  172. package/lib/assets/img/rta/rta_logo_box_blue.jpg +0 -0
  173. package/lib/assets/img/rta/rta_logo_box_blue_ico.jpg +0 -0
  174. package/lib/assets/img/rta/rta_logo_box_blue_ico.svg +55 -0
  175. package/lib/assets/img/rta/rta_logo_box_darkGray.jpg +0 -0
  176. package/lib/assets/img/rta/rta_logo_box_lightblue.png +0 -0
  177. package/lib/assets/img/rta/rta_logo_box_lightmaroon.png +0 -0
  178. package/lib/assets/img/rta/rta_logo_box_maroon.png +0 -0
  179. package/lib/assets/img/rta/rta_logo_box_white.png +0 -0
  180. package/lib/assets/img/rta_menu.png +0 -0
  181. package/lib/assets/img/step2.jpg +0 -0
  182. package/lib/assets/img/step3.jpg +0 -0
  183. package/lib/assets/img/step4.jpg +0 -0
  184. package/lib/assets/img/step5.jpg +0 -0
  185. package/lib/assets/img/step6.jpg +0 -0
  186. package/lib/assets/img/step7.jpg +0 -0
  187. package/lib/assets/img/step8.jpg +0 -0
  188. package/lib/assets/img/svg/2d_delete_object.svg +33 -0
  189. package/lib/assets/img/svg/2d_delete_object1.svg +33 -0
  190. package/lib/assets/img/svg/2d_lock_object.svg +33 -0
  191. package/lib/assets/img/svg/3d_item_move.svg +106 -0
  192. package/lib/assets/img/svg/3d_item_rotation.svg +76 -0
  193. package/lib/assets/img/svg/3d_item_warning_edit.svg +77 -0
  194. package/lib/assets/img/svg/3d_item_warning_info.svg +81 -0
  195. package/lib/assets/img/svg/accessories.svg +4 -0
  196. package/lib/assets/img/svg/angle_icon.svg +39 -0
  197. package/lib/assets/img/svg/blank_div.svg +14 -0
  198. package/lib/assets/img/svg/bottombar/2d3d_button.svg +3 -0
  199. package/lib/assets/img/svg/bottombar/2d3d_button_active.svg +3 -0
  200. package/lib/assets/img/svg/bottombar/2d3d_toggle.svg +4 -0
  201. package/lib/assets/img/svg/bottombar/2d3d_toggle_active.svg +4 -0
  202. package/lib/assets/img/svg/bottombar/arrow-down.svg +3 -0
  203. package/lib/assets/img/svg/bottombar/arrow-left.svg +3 -0
  204. package/lib/assets/img/svg/bottombar/arrow-minus.svg +3 -0
  205. package/lib/assets/img/svg/bottombar/arrow-plus.svg +11 -0
  206. package/lib/assets/img/svg/bottombar/arrow-right.svg +3 -0
  207. package/lib/assets/img/svg/bottombar/arrow-up.svg +3 -0
  208. package/lib/assets/img/svg/bottombar/collapse.svg +3 -0
  209. package/lib/assets/img/svg/bottombar/elevation-back.svg +6 -0
  210. package/lib/assets/img/svg/bottombar/elevation-front.svg +6 -0
  211. package/lib/assets/img/svg/bottombar/elevation-left.svg +6 -0
  212. package/lib/assets/img/svg/bottombar/elevation-right.svg +7 -0
  213. package/lib/assets/img/svg/bottombar/elevation.svg +13 -0
  214. package/lib/assets/img/svg/bottombar/expand.svg +3 -0
  215. package/lib/assets/img/svg/bottombar/help.svg +72 -0
  216. package/lib/assets/img/svg/bottombar/incm_toggle.svg +39 -0
  217. package/lib/assets/img/svg/bottombar/pan_1.svg +57 -0
  218. package/lib/assets/img/svg/bottombar/pan_2.svg +27 -0
  219. package/lib/assets/img/svg/bottombar/pan_3.svg +27 -0
  220. package/lib/assets/img/svg/bottombar/pan_4.svg +27 -0
  221. package/lib/assets/img/svg/bottombar/pan_5.svg +27 -0
  222. package/lib/assets/img/svg/bottombar/settings.svg +23 -0
  223. package/lib/assets/img/svg/bottombar/spin-down.svg +76 -0
  224. package/lib/assets/img/svg/bottombar/spin-left.svg +75 -0
  225. package/lib/assets/img/svg/bottombar/spin-right.svg +75 -0
  226. package/lib/assets/img/svg/bottombar/spin-up.svg +76 -0
  227. package/lib/assets/img/svg/bottombar/spin_1.svg +48 -0
  228. package/lib/assets/img/svg/bottombar/spin_2.svg +31 -0
  229. package/lib/assets/img/svg/bottombar/spin_3.svg +31 -0
  230. package/lib/assets/img/svg/bottombar/spin_4.svg +31 -0
  231. package/lib/assets/img/svg/bottombar/spin_5.svg +31 -0
  232. package/lib/assets/img/svg/bottombar/zoomin.svg +29 -0
  233. package/lib/assets/img/svg/bottombar/zoomout.svg +26 -0
  234. package/lib/assets/img/svg/check.svg +10 -0
  235. package/lib/assets/img/svg/close.svg +11 -0
  236. package/lib/assets/img/svg/color/Black.svg +3 -0
  237. package/lib/assets/img/svg/color/Blue.svg +3 -0
  238. package/lib/assets/img/svg/color/Cream.svg +3 -0
  239. package/lib/assets/img/svg/color/Gray.svg +3 -0
  240. package/lib/assets/img/svg/color/Green.svg +3 -0
  241. package/lib/assets/img/svg/color/White.svg +3 -0
  242. package/lib/assets/img/svg/color/White.svg.bak +3 -0
  243. package/lib/assets/img/svg/color/stone2.jpg +0 -0
  244. package/lib/assets/img/svg/color/wood2.jpg +0 -0
  245. package/lib/assets/img/svg/copy.svg +11 -0
  246. package/lib/assets/img/svg/delete.svg +3 -0
  247. package/lib/assets/img/svg/detail.svg +77 -0
  248. package/lib/assets/img/svg/disclaimer/background.svg +758 -0
  249. package/lib/assets/img/svg/disclaimer/logo-dots.svg +11 -0
  250. package/lib/assets/img/svg/door/Closet.svg +11 -0
  251. package/lib/assets/img/svg/door/Exterior.svg +5 -0
  252. package/lib/assets/img/svg/door/Framed_dorway.svg +5 -0
  253. package/lib/assets/img/svg/door/Frameless_dorway.svg +5 -0
  254. package/lib/assets/img/svg/door/Interior.svg +7 -0
  255. package/lib/assets/img/svg/door/Sliding.svg +5 -0
  256. package/lib/assets/img/svg/doors_closet.svg +47 -0
  257. package/lib/assets/img/svg/doors_exterior.svg +25 -0
  258. package/lib/assets/img/svg/doors_interior.svg +29 -0
  259. package/lib/assets/img/svg/doors_patio.svg +26 -0
  260. package/lib/assets/img/svg/duplicate.svg +11 -0
  261. package/lib/assets/img/svg/duplicate_object_left.svg +32 -0
  262. package/lib/assets/img/svg/duplicate_object_right.svg +32 -0
  263. package/lib/assets/img/svg/filtersActive.svg +19 -0
  264. package/lib/assets/img/svg/firstsetting/L.svg +3 -0
  265. package/lib/assets/img/svg/firstsetting/L2.svg +3 -0
  266. package/lib/assets/img/svg/firstsetting/Open.svg +3 -0
  267. package/lib/assets/img/svg/firstsetting/Square.svg +3 -0
  268. package/lib/assets/img/svg/firstsetting/bar-active.svg +9 -0
  269. package/lib/assets/img/svg/firstsetting/bar-normal.svg +3 -0
  270. package/lib/assets/img/svg/firstsetting/bullet-current.svg +3 -0
  271. package/lib/assets/img/svg/firstsetting/bullet-done.svg +3 -0
  272. package/lib/assets/img/svg/firstsetting/bullet-not-done.svg +3 -0
  273. package/lib/assets/img/svg/firstsetting/check-active.svg +3 -0
  274. package/lib/assets/img/svg/firstsetting/check-normal.svg +3 -0
  275. package/lib/assets/img/svg/firstsetting/pencil.svg +11 -0
  276. package/lib/assets/img/svg/green_checkmark.svg +27 -0
  277. package/lib/assets/img/svg/headerbar/assist.svg +3 -0
  278. package/lib/assets/img/svg/headerbar/cart.svg +3 -0
  279. package/lib/assets/img/svg/headerbar/check.svg +10 -0
  280. package/lib/assets/img/svg/headerbar/consult_designer.svg +45 -0
  281. package/lib/assets/img/svg/headerbar/edit_name.svg +26 -0
  282. package/lib/assets/img/svg/headerbar/file-dollar.svg +13 -0
  283. package/lib/assets/img/svg/headerbar/hamburger_menu.svg +32 -0
  284. package/lib/assets/img/svg/headerbar/plus.svg +11 -0
  285. package/lib/assets/img/svg/headerbar/review_quote.svg +44 -0
  286. package/lib/assets/img/svg/headerbar/ruler-measure.svg +11 -0
  287. package/lib/assets/img/svg/headerbar/save.svg +3 -0
  288. package/lib/assets/img/svg/headerbar/setting.svg +75 -0
  289. package/lib/assets/img/svg/help/check.svg +10 -0
  290. package/lib/assets/img/svg/help/search.svg +76 -0
  291. package/lib/assets/img/svg/intro/1-start-with-floorplan-whole.svg +27 -0
  292. package/lib/assets/img/svg/intro/1-start-with-floorplan.svg +26 -0
  293. package/lib/assets/img/svg/intro/2-start-from-scratch-whole.svg +28 -0
  294. package/lib/assets/img/svg/intro/2-start-from-scratch.svg +27 -0
  295. package/lib/assets/img/svg/intro/3-retrieve-project-whole.svg +19 -0
  296. package/lib/assets/img/svg/intro/3-retrieve-project.svg +18 -0
  297. package/lib/assets/img/svg/invert.svg +127 -0
  298. package/lib/assets/img/svg/lefttoolbar/appliance-active.svg +13 -0
  299. package/lib/assets/img/svg/lefttoolbar/appliance.svg +13 -0
  300. package/lib/assets/img/svg/lefttoolbar/cabinet-active.svg +10 -0
  301. package/lib/assets/img/svg/lefttoolbar/cabinet-category.svg +3 -0
  302. package/lib/assets/img/svg/lefttoolbar/cabinet-one.svg +3 -0
  303. package/lib/assets/img/svg/lefttoolbar/cabinet.svg +10 -0
  304. package/lib/assets/img/svg/lefttoolbar/disigner_assistance.svg +89 -0
  305. package/lib/assets/img/svg/lefttoolbar/door-style-active.svg +20 -0
  306. package/lib/assets/img/svg/lefttoolbar/door-style.svg +20 -0
  307. package/lib/assets/img/svg/lefttoolbar/door.svg +12 -0
  308. package/lib/assets/img/svg/lefttoolbar/error_icon.svg +81 -0
  309. package/lib/assets/img/svg/lefttoolbar/finishing-active.svg +13 -0
  310. package/lib/assets/img/svg/lefttoolbar/finishing.svg +13 -0
  311. package/lib/assets/img/svg/lefttoolbar/reviewforquote-active.svg +86 -0
  312. package/lib/assets/img/svg/lefttoolbar/reviewforquote.svg +12 -0
  313. package/lib/assets/img/svg/lefttoolbar/room-shape-L.svg +3 -0
  314. package/lib/assets/img/svg/lefttoolbar/room-shape-active.svg +18 -0
  315. package/lib/assets/img/svg/lefttoolbar/room-shape-custom.svg +12 -0
  316. package/lib/assets/img/svg/lefttoolbar/room-shape-irregular.svg +3 -0
  317. package/lib/assets/img/svg/lefttoolbar/room-shape-open.svg +3 -0
  318. package/lib/assets/img/svg/lefttoolbar/room-shape-square.svg +3 -0
  319. package/lib/assets/img/svg/lefttoolbar/room-shape.svg +18 -0
  320. package/lib/assets/img/svg/lefttoolbar/search.svg +76 -0
  321. package/lib/assets/img/svg/lefttoolbar/view_more.svg +86 -0
  322. package/lib/assets/img/svg/lefttoolbar/warning_icon.svg +81 -0
  323. package/lib/assets/img/svg/lefttoolbar/window.svg +12 -0
  324. package/lib/assets/img/svg/logo.svg +11 -0
  325. package/lib/assets/img/svg/logo_with_text.svg +25 -0
  326. package/lib/assets/img/svg/menubar/login.svg +84 -0
  327. package/lib/assets/img/svg/menubar/my_projects.svg +85 -0
  328. package/lib/assets/img/svg/menubar/new_project.svg +110 -0
  329. package/lib/assets/img/svg/menubar/save_project.svg +84 -0
  330. package/lib/assets/img/svg/options.svg +3 -0
  331. package/lib/assets/img/svg/positioning.svg +3 -0
  332. package/lib/assets/img/svg/rotate.png +0 -0
  333. package/lib/assets/img/svg/rotate.svg +17 -0
  334. package/lib/assets/img/svg/rotate_object_clockwise.svg +26 -0
  335. package/lib/assets/img/svg/rotate_object_counterclockwise.svg +26 -0
  336. package/lib/assets/img/svg/toggleFilters.svg +19 -0
  337. package/lib/assets/img/svg/toolbar/add_appliances_active.svg +64 -0
  338. package/lib/assets/img/svg/toolbar/add_appliances_inactive.svg +52 -0
  339. package/lib/assets/img/svg/toolbar/add_button.svg +36 -0
  340. package/lib/assets/img/svg/toolbar/add_cabinets_active.svg +59 -0
  341. package/lib/assets/img/svg/toolbar/add_cabinets_inactive.svg +49 -0
  342. package/lib/assets/img/svg/toolbar/add_items_doors.svg +25 -0
  343. package/lib/assets/img/svg/toolbar/add_items_doorways.svg +24 -0
  344. package/lib/assets/img/svg/toolbar/add_items_refrigerator.svg +32 -0
  345. package/lib/assets/img/svg/toolbar/add_items_windows.svg +28 -0
  346. package/lib/assets/img/svg/toolbar/apply_button.svg +38 -0
  347. package/lib/assets/img/svg/toolbar/arrow-plus.svg +11 -0
  348. package/lib/assets/img/svg/toolbar/backsplash.svg +8 -0
  349. package/lib/assets/img/svg/toolbar/cancel_button.svg +37 -0
  350. package/lib/assets/img/svg/toolbar/consult_a_designer_button.svg +47 -0
  351. package/lib/assets/img/svg/toolbar/countertop.svg +7 -0
  352. package/lib/assets/img/svg/toolbar/dcm.png +0 -0
  353. package/lib/assets/img/svg/toolbar/dcm_off.svg +12 -0
  354. package/lib/assets/img/svg/toolbar/dcm_on.svg +474 -0
  355. package/lib/assets/img/svg/toolbar/delete_button.svg +37 -0
  356. package/lib/assets/img/svg/toolbar/download.svg +77 -0
  357. package/lib/assets/img/svg/toolbar/draw_custom_floor.svg +31 -0
  358. package/lib/assets/img/svg/toolbar/edit_button.svg +75 -0
  359. package/lib/assets/img/svg/toolbar/email_quote_button.svg +44 -0
  360. package/lib/assets/img/svg/toolbar/fbm.png +0 -0
  361. package/lib/assets/img/svg/toolbar/finishing_touches_active.svg +54 -0
  362. package/lib/assets/img/svg/toolbar/finishing_touches_inactive.svg +42 -0
  363. package/lib/assets/img/svg/toolbar/floorstyle.svg +9 -0
  364. package/lib/assets/img/svg/toolbar/fmb.png +0 -0
  365. package/lib/assets/img/svg/toolbar/fmb_off.svg +12 -0
  366. package/lib/assets/img/svg/toolbar/fmb_on.svg +489 -0
  367. package/lib/assets/img/svg/toolbar/furnishings_icon.svg +6 -0
  368. package/lib/assets/img/svg/toolbar/get_started_button.svg +41 -0
  369. package/lib/assets/img/svg/toolbar/handles.svg +5 -0
  370. package/lib/assets/img/svg/toolbar/lighting.svg +7 -0
  371. package/lib/assets/img/svg/toolbar/lrm.png +0 -0
  372. package/lib/assets/img/svg/toolbar/lrm_off.svg +12 -0
  373. package/lib/assets/img/svg/toolbar/lrm_on.svg +470 -0
  374. package/lib/assets/img/svg/toolbar/make_floorplan_active.svg +66 -0
  375. package/lib/assets/img/svg/toolbar/make_floorplan_inactive.svg +52 -0
  376. package/lib/assets/img/svg/toolbar/predefined_room_l_shaped.svg +20 -0
  377. package/lib/assets/img/svg/toolbar/predefined_room_layout.svg +20 -0
  378. package/lib/assets/img/svg/toolbar/predefined_room_long_narrow.svg +20 -0
  379. package/lib/assets/img/svg/toolbar/predefined_room_open_l_shape.svg +20 -0
  380. package/lib/assets/img/svg/toolbar/predefined_room_open_pentagon.svg +20 -0
  381. package/lib/assets/img/svg/toolbar/predefined_room_open_rectangle.svg +20 -0
  382. package/lib/assets/img/svg/toolbar/predefined_room_open_rectangle_2.svg +20 -0
  383. package/lib/assets/img/svg/toolbar/predefined_room_pentagon.svg +20 -0
  384. package/lib/assets/img/svg/toolbar/predefined_room_rectangle.svg +20 -0
  385. package/lib/assets/img/svg/toolbar/predefined_room_rectangle_with_alcove.svg +20 -0
  386. package/lib/assets/img/svg/toolbar/redo_button.svg +75 -0
  387. package/lib/assets/img/svg/toolbar/redo_button1.svg +75 -0
  388. package/lib/assets/img/svg/toolbar/review_quote_active.svg +14 -0
  389. package/lib/assets/img/svg/toolbar/review_quote_inactive.svg +44 -0
  390. package/lib/assets/img/svg/toolbar/save_project_button.svg +44 -0
  391. package/lib/assets/img/svg/toolbar/select_doorstyle_active.svg +67 -0
  392. package/lib/assets/img/svg/toolbar/select_doorstyle_inactive.svg +57 -0
  393. package/lib/assets/img/svg/toolbar/shopping-cart.svg +13 -0
  394. package/lib/assets/img/svg/toolbar/style_change_button.svg +47 -0
  395. package/lib/assets/img/svg/toolbar/take_picture.svg +75 -0
  396. package/lib/assets/img/svg/toolbar/undo_button.svg +76 -0
  397. package/lib/assets/img/svg/toolbar/undo_button1.svg +76 -0
  398. package/lib/assets/img/svg/toolbar/use_button.svg +37 -0
  399. package/lib/assets/img/svg/toolbar/wall_color_icon.svg +6 -0
  400. package/lib/assets/img/svg/topbar/edit_active.svg +10 -0
  401. package/lib/assets/img/svg/topbar/edit_inactive.svg +10 -0
  402. package/lib/assets/img/svg/topbar/redo_active.svg +42 -0
  403. package/lib/assets/img/svg/topbar/redo_inactive.svg +23 -0
  404. package/lib/assets/img/svg/topbar/select_all_active.svg +50 -0
  405. package/lib/assets/img/svg/topbar/select_all_inactive.svg +32 -0
  406. package/lib/assets/img/svg/topbar/take_picture_active.svg +51 -0
  407. package/lib/assets/img/svg/topbar/take_picture_inactive.svg +26 -0
  408. package/lib/assets/img/svg/topbar/undo_active.svg +42 -0
  409. package/lib/assets/img/svg/topbar/undo_inactive.svg +23 -0
  410. package/lib/assets/img/svg/warning_info_2d.svg +81 -0
  411. package/lib/assets/img/svg/window/Clear.svg +3 -0
  412. package/lib/assets/img/svg/window/Cross.svg +5 -0
  413. package/lib/assets/img/svg/window/Double_hung.svg +4 -0
  414. package/lib/assets/img/svg/window/Vertical.svg +4 -0
  415. package/lib/assets/img/svg/windows_clear.svg +23 -0
  416. package/lib/assets/img/svg/windows_cross.svg +28 -0
  417. package/lib/assets/img/svg/windows_double_hung.svg +24 -0
  418. package/lib/assets/img/svg/windows_vertical.svg +24 -0
  419. package/lib/assets/img/svg/wizardstep/Custom.svg +3 -0
  420. package/lib/assets/img/svg/wizardstep/Dashed_line.svg +3 -0
  421. package/lib/assets/img/svg/wizardstep/L.svg +3 -0
  422. package/lib/assets/img/svg/wizardstep/L2.svg +3 -0
  423. package/lib/assets/img/svg/wizardstep/Open.svg +3 -0
  424. package/lib/assets/img/svg/wizardstep/Square.svg +3 -0
  425. package/lib/assets/img/svg/wizardstep/bar-active.svg +9 -0
  426. package/lib/assets/img/svg/wizardstep/bar-normal.svg +3 -0
  427. package/lib/assets/img/svg/wizardstep/bullet-current.svg +3 -0
  428. package/lib/assets/img/svg/wizardstep/bullet-done.svg +3 -0
  429. package/lib/assets/img/svg/wizardstep/bullet-not-done.svg +3 -0
  430. package/lib/assets/img/svg/wizardstep/check-active.svg +3 -0
  431. package/lib/assets/img/svg/wizardstep/check-normal.svg +3 -0
  432. package/lib/assets/img/svg/wizardstep/detail_view.svg +87 -0
  433. package/lib/assets/img/svg/wizardstep/pencil.svg +11 -0
  434. package/lib/assets/img/svg/wizardstep/tile_view.svg +95 -0
  435. package/lib/assets/img/texture/glass.jpg +0 -0
  436. package/lib/assets/img/texture/steel.jpg +0 -0
  437. package/lib/assets/img/texture/white1px.jpg +0 -0
  438. package/lib/assets/img/texture/wood.jpg +0 -0
  439. package/lib/assets/model/DCM.bin +0 -0
  440. package/lib/assets/model/DCM.fbx +0 -0
  441. package/lib/assets/model/DCM.gltf +1 -0
  442. package/lib/assets/model/FBM.bin +0 -0
  443. package/lib/assets/model/FBM.fbx +0 -0
  444. package/lib/assets/model/FBM.gltf +1 -0
  445. package/lib/assets/model/LRM.bin +0 -0
  446. package/lib/assets/model/LRM.fbx +0 -0
  447. package/lib/assets/model/LRM.gltf +1 -0
  448. package/lib/assets/rtastore_logo.png +0 -0
  449. package/lib/catalog/areas/area/planner-element.js +53 -0
  450. package/lib/catalog/areas/area/textures/ceramic-tile.jpg +0 -0
  451. package/lib/catalog/areas/area/textures/grass.jpg +0 -0
  452. package/lib/catalog/areas/area/textures/parquet.jpg +0 -0
  453. package/lib/catalog/areas/area/textures/strand-porcelain.jpg +0 -0
  454. package/lib/catalog/areas/area/textures/tile1.jpg +0 -0
  455. package/lib/catalog/back.png +0 -0
  456. package/lib/catalog/cabinet/cabinet-assembly-order.js +42 -0
  457. package/lib/catalog/catalog.js +270 -0
  458. package/lib/catalog/doors.png +0 -0
  459. package/lib/catalog/doorways.png +0 -0
  460. package/lib/catalog/envMap/nx.hdr +0 -0
  461. package/lib/catalog/envMap/ny.hdr +0 -0
  462. package/lib/catalog/envMap/nz.hdr +0 -0
  463. package/lib/catalog/envMap/px.hdr +0 -0
  464. package/lib/catalog/envMap/py.hdr +0 -0
  465. package/lib/catalog/envMap/pz.hdr +0 -0
  466. package/lib/catalog/export.js +1 -0
  467. package/lib/catalog/factories/area-factory-3d.js +187 -0
  468. package/lib/catalog/factories/area-factory.js +88 -0
  469. package/lib/catalog/factories/export.js +25 -0
  470. package/lib/catalog/factories/wall-factory-3d.js +212 -0
  471. package/lib/catalog/factories/wall-factory.js +279 -0
  472. package/lib/catalog/holes/door-closet/planner-element.js +232 -0
  473. package/lib/catalog/holes/door-double/door_double.png +0 -0
  474. package/lib/catalog/holes/door-double/planner-element.js +325 -0
  475. package/lib/catalog/holes/door-exterior/planner-element.js +225 -0
  476. package/lib/catalog/holes/door-interior/planner-element.js +237 -0
  477. package/lib/catalog/holes/door-panic/panicDoor.png +0 -0
  478. package/lib/catalog/holes/door-panic/planner-element.js +513 -0
  479. package/lib/catalog/holes/door-panic-double/panicDoorDouble.png +0 -0
  480. package/lib/catalog/holes/door-panic-double/planner-element.js +473 -0
  481. package/lib/catalog/holes/door-sliding/planner-element.js +235 -0
  482. package/lib/catalog/holes/doorway-framed/planner-element.js +155 -0
  483. package/lib/catalog/holes/doorway-frameless/planner-element.js +114 -0
  484. package/lib/catalog/holes/export.js +97 -0
  485. package/lib/catalog/holes/gate/gate.jpg +0 -0
  486. package/lib/catalog/holes/window-clear/planner-element.js +176 -0
  487. package/lib/catalog/holes/window-clear/texture.png +0 -0
  488. package/lib/catalog/holes/window-cross/planner-element.js +175 -0
  489. package/lib/catalog/holes/window-cross/texture.png +0 -0
  490. package/lib/catalog/holes/window-double-hung/planner-element.js +313 -0
  491. package/lib/catalog/holes/window-double-hung/texture.png +0 -0
  492. package/lib/catalog/holes/window-vertical/planner-element.js +286 -0
  493. package/lib/catalog/holes/window-vertical/texture.png +0 -0
  494. package/lib/catalog/lines/wall/planner-element.js +87 -0
  495. package/lib/catalog/lines/wall/textures/bricks-normal.jpg +0 -0
  496. package/lib/catalog/lines/wall/textures/bricks.jpg +0 -0
  497. package/lib/catalog/lines/wall/textures/bricks2.jpg +0 -0
  498. package/lib/catalog/lines/wall/textures/morden-normal.jpg +0 -0
  499. package/lib/catalog/lines/wall/textures/morden.jpg +0 -0
  500. package/lib/catalog/lines/wall/textures/painted.jpg +0 -0
  501. package/lib/catalog/lines/wall/textures/plaster-normal.jpg +0 -0
  502. package/lib/catalog/lines/wall/textures/plaster.jpg +0 -0
  503. package/lib/catalog/lines/wall/wall.png +0 -0
  504. package/lib/catalog/molding/molding-dcm/planner-element.js +33 -0
  505. package/lib/catalog/molding/molding-dcm/texture.png +0 -0
  506. package/lib/catalog/molding/molding-fbm/planner-element.js +33 -0
  507. package/lib/catalog/molding/molding-fbm/texture.png +0 -0
  508. package/lib/catalog/molding/molding-lrm/planner-element.js +33 -0
  509. package/lib/catalog/molding/molding-lrm/texture.png +0 -0
  510. package/lib/catalog/utils/exporter.js +173 -0
  511. package/lib/catalog/utils/geom-utils.js +205 -0
  512. package/lib/catalog/utils/item-loader.js +1603 -0
  513. package/lib/catalog/utils/load-obj.js +99 -0
  514. package/lib/catalog/utils/mtl-loader.js +366 -0
  515. package/lib/catalog/utils/obj-loader.js +486 -0
  516. package/lib/catalog/windows.png +0 -0
  517. package/lib/class/area.js +147 -0
  518. package/lib/class/export.js +88 -0
  519. package/lib/class/group.js +438 -0
  520. package/lib/class/guide.js +64 -0
  521. package/lib/class/hole.js +930 -0
  522. package/lib/class/item.js +2013 -0
  523. package/lib/class/layer.js +670 -0
  524. package/lib/class/line.js +1236 -0
  525. package/lib/class/project.js +949 -0
  526. package/lib/class/vertex.js +205 -0
  527. package/lib/components/content.js +160 -0
  528. package/lib/components/export.js +7 -0
  529. package/lib/components/style/export.js +17 -0
  530. package/lib/components/style/form-number-input.js +192 -0
  531. package/lib/components/style/form-submit-button.js +35 -0
  532. package/lib/components/viewer2d/area.js +89 -0
  533. package/lib/components/viewer2d/export.js +121 -0
  534. package/lib/components/viewer2d/grids/grid-horizontal-streak.js +44 -0
  535. package/lib/components/viewer2d/grids/grid-streak.js +44 -0
  536. package/lib/components/viewer2d/grids/grid-vertical-streak.js +44 -0
  537. package/lib/components/viewer2d/grids/grids.js +40 -0
  538. package/lib/components/viewer2d/group.js +63 -0
  539. package/lib/components/viewer2d/item.js +244 -0
  540. package/lib/components/viewer2d/layer.js +172 -0
  541. package/lib/components/viewer2d/line.js +975 -0
  542. package/lib/components/viewer2d/ruler.js +92 -0
  543. package/lib/components/viewer2d/rulerDist.js +110 -0
  544. package/lib/components/viewer2d/rulerX.js +154 -0
  545. package/lib/components/viewer2d/rulerY.js +156 -0
  546. package/lib/components/viewer2d/scene.js +137 -0
  547. package/lib/components/viewer2d/snap.js +84 -0
  548. package/lib/components/viewer2d/state.js +83 -0
  549. package/lib/components/viewer2d/utils.js +200 -0
  550. package/lib/components/viewer2d/vertex.js +76 -0
  551. package/lib/components/viewer2d/viewer2d.js +1472 -0
  552. package/lib/components/viewer3d/camera-controls-module/camera-controls.module.js +2591 -0
  553. package/lib/components/viewer3d/dcm.js +408 -0
  554. package/lib/components/viewer3d/fbm.js +421 -0
  555. package/lib/components/viewer3d/front3D.js +71 -0
  556. package/lib/components/viewer3d/grid-creator.js +35 -0
  557. package/lib/components/viewer3d/grids/grid-horizontal-streak.js +45 -0
  558. package/lib/components/viewer3d/grids/grid-streak.js +36 -0
  559. package/lib/components/viewer3d/grids/grid-vertical-streak.js +45 -0
  560. package/lib/components/viewer3d/libs/first-person-controls.js +74 -0
  561. package/lib/components/viewer3d/libs/helvetiker_regular.typeface.js +1287 -0
  562. package/lib/components/viewer3d/libs/mtl-loader.js +366 -0
  563. package/lib/components/viewer3d/libs/obj-loader.js +471 -0
  564. package/lib/components/viewer3d/libs/orbit-controls.js +706 -0
  565. package/lib/components/viewer3d/libs/pointer-lock-controls.js +53 -0
  566. package/lib/components/viewer3d/lrm.js +312 -0
  567. package/lib/components/viewer3d/model.js +714 -0
  568. package/lib/components/viewer3d/pointer-lock-navigation.js +32 -0
  569. package/lib/components/viewer3d/ruler-utils/itemRect.js +69 -0
  570. package/lib/components/viewer3d/ruler-utils/layer3D.js +503 -0
  571. package/lib/components/viewer3d/ruler-utils/ruler3D.js +232 -0
  572. package/lib/components/viewer3d/ruler-utils/scene3D.js +67 -0
  573. package/lib/components/viewer3d/ruler-utils/state3D.js +26 -0
  574. package/lib/components/viewer3d/scene-creator.js +3850 -0
  575. package/lib/components/viewer3d/three-memory-cleaner.js +46 -0
  576. package/lib/components/viewer3d/viewer3d-first-person.js +316 -0
  577. package/lib/components/viewer3d/viewer3d.js +2673 -0
  578. package/lib/constants/catalog/skinPanel.js +15 -0
  579. package/lib/constants.js +791 -0
  580. package/lib/devLiteRenderer.js +917 -0
  581. package/lib/events/external/handleExternalEvent.js +148 -0
  582. package/lib/events/external/handleExternalEvent.util.js +1110 -0
  583. package/lib/events/external/handlers.addItem.js +54 -0
  584. package/lib/events/external/handlers.changeDoorStyle.js +147 -0
  585. package/lib/events/external/handlers.elementOps.js +15 -0
  586. package/lib/events/external/handlers.finishing.js +32 -0
  587. package/lib/events/external/handlers.hole.js +10 -0
  588. package/lib/events/external/handlers.loadProject.js +135 -0
  589. package/lib/events/external/handlers.molding.js +31 -0
  590. package/lib/events/external/handlers.projectLifecycle.js +19 -0
  591. package/lib/events/external/handlers.projectSettings.js +38 -0
  592. package/lib/events/external/handlers.replaceCabinet.js +48 -0
  593. package/lib/events/external/handlers.roomShape.js +14 -0
  594. package/lib/events/external/handlers.syncScene.js +27 -0
  595. package/lib/events/external/handlers.updateSelectedElements.js +17 -0
  596. package/lib/events/external/handlers.viewMode.js +19 -0
  597. package/lib/events/external/handlers.viewerNavigation.js +117 -0
  598. package/lib/events/external/handlers.wall.js +13 -0
  599. package/lib/index.js +637 -0
  600. package/lib/mappings/external-events/mapExternalEventPayload.js +33 -0
  601. package/lib/mappings/external-events/mappers/addItemMapper.js +103 -0
  602. package/lib/mappings/external-events/mappers/ccdfMapper.js +107 -0
  603. package/lib/mappings/external-events/mappers/ccdfToCDSMapper.js +55 -0
  604. package/lib/mappings/external-events/mappers/changeDoorStyleMapper.js +44 -0
  605. package/lib/mappings/external-events/mappers/loadProjectMapper.js +70 -0
  606. package/lib/mappings/holesToCatalog.js +148 -0
  607. package/lib/models.js +534 -0
  608. package/lib/plugins/SVGLoader.js +1419 -0
  609. package/lib/plugins/console-debugger.js +42 -0
  610. package/lib/plugins/export.js +25 -0
  611. package/lib/plugins/keyboard.js +117 -0
  612. package/lib/reducers/areas-reducer.js +19 -0
  613. package/lib/reducers/export.js +89 -0
  614. package/lib/reducers/groups-reducer.js +45 -0
  615. package/lib/reducers/holes-reducer.js +69 -0
  616. package/lib/reducers/items-reducer.js +152 -0
  617. package/lib/reducers/lines-reducer.js +52 -0
  618. package/lib/reducers/project-reducer.js +143 -0
  619. package/lib/reducers/reducer.js +25 -0
  620. package/lib/reducers/scene-reducer.js +35 -0
  621. package/lib/reducers/vertices-reducer.js +26 -0
  622. package/lib/reducers/viewer2d-reducer.js +84 -0
  623. package/lib/reducers/viewer3d-reducer.js +65 -0
  624. package/lib/shared/domain/cabinet-warning.js +20 -0
  625. package/lib/shared/objects/immutable.js +9 -0
  626. package/lib/shared-style.js +72 -0
  627. package/lib/translator/en.js +111 -0
  628. package/lib/translator/it.js +86 -0
  629. package/lib/translator/ru.js +86 -0
  630. package/lib/translator/translator.js +87 -0
  631. package/lib/utils/browser.js +40 -0
  632. package/lib/utils/convert-units-lite.js +44 -0
  633. package/lib/utils/email-validator.js +10 -0
  634. package/lib/utils/export.js +56 -0
  635. package/lib/utils/geometry.js +3230 -0
  636. package/lib/utils/get-edges-of-subgraphs.js +33 -0
  637. package/lib/utils/graph-cycles.js +239 -0
  638. package/lib/utils/graph-inner-cycles.js +54 -0
  639. package/lib/utils/graph.js +153 -0
  640. package/lib/utils/helper.js +480 -0
  641. package/lib/utils/history.js +48 -0
  642. package/lib/utils/id-broker.js +22 -0
  643. package/lib/utils/logger.js +14 -0
  644. package/lib/utils/math.js +57 -0
  645. package/lib/utils/molding.js +1146 -0
  646. package/lib/utils/name-generator.js +21 -0
  647. package/lib/utils/objects-utils.js +62 -0
  648. package/lib/utils/phone-validator.js +10 -0
  649. package/lib/utils/process-black-list.js +22 -0
  650. package/lib/utils/react-if.js +25 -0
  651. package/lib/utils/ruler.js +63 -0
  652. package/lib/utils/skinPanelEngine.js +530 -0
  653. package/lib/utils/snap-scene.js +101 -0
  654. package/lib/utils/snap.js +245 -0
  655. package/lib/utils/summarizeCart.js +30 -0
  656. package/lib/utils/threeCSG.es6.js +504 -0
  657. package/lib/version.js +7 -0
  658. package/package.json +29 -24
  659. package/es/WorkSpace.js +0 -30
  660. package/es/WorkSpaceHostMimic.js +0 -132
  661. package/es/assets/gltf/door_closet.bin +0 -0
  662. package/es/assets/gltf/door_closet.fbx +0 -0
  663. package/es/assets/gltf/door_exterior.bin +0 -0
  664. package/es/assets/gltf/door_exterior.fbx +0 -0
  665. package/es/assets/gltf/door_interior.bin +0 -0
  666. package/es/assets/gltf/door_interior.fbx +0 -0
  667. package/es/assets/gltf/door_sliding.bin +0 -0
  668. package/es/assets/gltf/door_sliding.fbx +0 -0
  669. package/es/assets/img/png/helper/video_preview_3d.png +0 -0
  670. package/es/assets/img/png/helper/video_preview_start.png +0 -0
  671. package/es/assets/img/svg/color/Brown.svg +0 -9
  672. package/es/assets/img/svg/color/Dark.svg +0 -9
  673. package/es/assets/img/svg/color/Light.svg +0 -9
  674. package/es/assets/img/svg/color/Medium.svg +0 -9
  675. package/es/assets/img/svg/color/Unfinished.svg +0 -9
  676. package/es/catalog/lines/wall/textures/bricks3.jpg +0 -0
  677. package/es/catalog/properties/export.js +0 -21
  678. package/es/catalog/properties/property-checkbox.js +0 -68
  679. package/es/catalog/properties/property-color.js +0 -39
  680. package/es/catalog/properties/property-enum.js +0 -50
  681. package/es/catalog/properties/property-hidden.js +0 -19
  682. package/es/catalog/properties/property-lenght-measure.js +0 -96
  683. package/es/catalog/properties/property-length-measure.js +0 -80
  684. package/es/catalog/properties/property-length-measure_hole.js +0 -96
  685. package/es/catalog/properties/property-number.js +0 -48
  686. package/es/catalog/properties/property-read-only.js +0 -26
  687. package/es/catalog/properties/property-string.js +0 -48
  688. package/es/catalog/properties/property-toggle.js +0 -39
  689. package/es/catalog/properties/shared-property-style.js +0 -14
  690. package/es/catalog/utils/FuseUtils.js +0 -79
  691. package/es/class/FuseUtils.js +0 -79
  692. package/es/components/style/button.js +0 -106
  693. package/es/components/style/cancel-button.js +0 -21
  694. package/es/components/style/content-container.js +0 -30
  695. package/es/components/style/content-title.js +0 -25
  696. package/es/components/style/delete-button.js +0 -24
  697. package/es/components/style/form-block.js +0 -20
  698. package/es/components/style/form-color-input.js +0 -26
  699. package/es/components/style/form-label.js +0 -22
  700. package/es/components/style/form-number-input_2.js +0 -238
  701. package/es/components/style/form-select.js +0 -19
  702. package/es/components/style/form-slider.js +0 -60
  703. package/es/components/style/form-text-input.js +0 -69
  704. package/es/index.html.ejs +0 -264
  705. package/es/reducers/user-reducer.js +0 -41
  706. package/es/utils/isolate-event-handler.js +0 -1622
  707. /package/{es/catalog/lines/wall/textures/bricks-normal2.jpg → lib/catalog/lines/wall/textures/painted-normal.jpg} +0 -0
package/es/index.js CHANGED
@@ -140,14 +140,8 @@ function installGltfTracker() {
140
140
  if (g.inFlight < 0) g.inFlight = 0;
141
141
  notify();
142
142
  _this.removeEventListener('loadend', _done);
143
- _this.removeEventListener('error', _done);
144
- _this.removeEventListener('abort', _done);
145
- _this.removeEventListener('timeout', _done);
146
143
  };
147
144
  this.addEventListener('loadend', _done);
148
- this.addEventListener('error', _done);
149
- this.addEventListener('abort', _done);
150
- this.addEventListener('timeout', _done);
151
145
  }
152
146
  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
153
147
  args[_key2] = arguments[_key2];
@@ -246,11 +240,13 @@ function installGltfTracker() {
246
240
  var _ref3,
247
241
  _ref3$timeoutMs,
248
242
  timeoutMs,
243
+ start,
249
244
  _args4 = arguments;
250
245
  return _regeneratorRuntime.wrap(function (_context4) {
251
246
  while (1) switch (_context4.prev = _context4.next) {
252
247
  case 0:
253
248
  _ref3 = _args4.length > 0 && _args4[0] !== undefined ? _args4[0] : {}, _ref3$timeoutMs = _ref3.timeoutMs, timeoutMs = _ref3$timeoutMs === void 0 ? 30000 : _ref3$timeoutMs;
249
+ start = Date.now();
254
250
  _context4.next = 1;
255
251
  return waitStableIdle2Frames();
256
252
  case 1:
@@ -262,50 +258,38 @@ function installGltfTracker() {
262
258
  case 2:
263
259
  return _context4.abrupt("return", new Promise(function (resolve, reject) {
264
260
  var unsub = null;
265
- var finished = false;
266
- var finishOk = function finishOk() {
267
- if (finished) return;
268
- finished = true;
269
- if (unsub) unsub();
270
- clearTimeout(timer);
271
- resolve(true);
272
- };
273
- var finishErr = function finishErr(err) {
274
- if (finished) return;
275
- finished = true;
276
- if (unsub) unsub();
277
- clearTimeout(timer);
278
- reject(err);
279
- };
280
-
281
- // ✅ Real timeout no matter what happens with inFlight changes
282
- var timer = setTimeout(function () {
283
- finishErr(new Error('3D assets did not become idle within timeout'));
284
- }, timeoutMs);
285
261
  var onChange = /*#__PURE__*/function () {
286
262
  var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3(count) {
287
263
  var stable;
288
264
  return _regeneratorRuntime.wrap(function (_context3) {
289
265
  while (1) switch (_context3.prev = _context3.next) {
290
266
  case 0:
291
- if (!finished) {
267
+ if (!(count !== 0)) {
292
268
  _context3.next = 1;
293
269
  break;
294
270
  }
271
+ if (Date.now() - start > timeoutMs) {
272
+ if (unsub) unsub();
273
+ reject(new Error('3D assets did not become idle within timeout'));
274
+ }
295
275
  return _context3.abrupt("return");
296
276
  case 1:
297
- if (!(count !== 0)) {
298
- _context3.next = 2;
277
+ _context3.next = 2;
278
+ return waitStableIdle2Frames();
279
+ case 2:
280
+ stable = _context3.sent;
281
+ if (!stable) {
282
+ _context3.next = 3;
299
283
  break;
300
284
  }
285
+ if (unsub) unsub();
286
+ resolve(true);
301
287
  return _context3.abrupt("return");
302
- case 2:
303
- _context3.next = 3;
304
- return waitStableIdle2Frames();
305
288
  case 3:
306
- stable = _context3.sent;
307
- if (stable) finishOk();
308
- // else keep waiting
289
+ if (Date.now() - start > timeoutMs) {
290
+ if (unsub) unsub();
291
+ reject(new Error('3D assets did not become idle within timeout'));
292
+ }
309
293
  case 4:
310
294
  case "end":
311
295
  return _context3.stop();
@@ -452,7 +436,7 @@ export function renderKitchenSimulator(container) {
452
436
  }
453
437
  function _drain() {
454
438
  _drain = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee8() {
455
- var item, _t;
439
+ var item;
456
440
  return _regeneratorRuntime.wrap(function (_context8) {
457
441
  while (1) switch (_context8.prev = _context8.next) {
458
442
  case 0:
@@ -466,7 +450,7 @@ export function renderKitchenSimulator(container) {
466
450
  _context8.prev = 2;
467
451
  case 3:
468
452
  if (!(!destroyed && queue.length)) {
469
- _context8.next = 10;
453
+ _context8.next = 8;
470
454
  break;
471
455
  }
472
456
  if (setExternalEventFn) {
@@ -486,31 +470,21 @@ export function renderKitchenSimulator(container) {
486
470
  pendingMarkers["delete"](item.token);
487
471
  return _context8.abrupt("continue", 3);
488
472
  case 6:
489
- _context8.prev = 6;
490
473
  setExternalEventFn(item);
491
474
  _context8.next = 7;
492
475
  return settle(item);
493
476
  case 7:
494
- _context8.next = 9;
477
+ _context8.next = 3;
495
478
  break;
496
479
  case 8:
497
480
  _context8.prev = 8;
498
- _t = _context8["catch"](6);
499
- console.error('[kitchen-simulator] event failed:', item, _t);
500
- // IMPORTANT: continue so we can eventually consume the marker
501
- // Optionally you can decide to clear remaining queue here.
502
- case 9:
503
- _context8.next = 3;
504
- break;
505
- case 10:
506
- _context8.prev = 10;
507
481
  draining = false;
508
- return _context8.finish(10);
509
- case 11:
482
+ return _context8.finish(8);
483
+ case 9:
510
484
  case "end":
511
485
  return _context8.stop();
512
486
  }
513
- }, _callee8, null, [[2,, 10, 11], [6, 8]]);
487
+ }, _callee8, null, [[2,, 8, 9]]);
514
488
  }));
515
489
  return _drain.apply(this, arguments);
516
490
  }
@@ -566,9 +540,6 @@ export function renderKitchenSimulator(container) {
566
540
  return gltfTracker.subscribe(cb);
567
541
  },
568
542
  sendExternalEvents: function sendExternalEvents(eventOrEvents) {
569
- var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
570
- _ref5$timeoutMs = _ref5.timeoutMs,
571
- timeoutMs = _ref5$timeoutMs === void 0 ? 60000 : _ref5$timeoutMs;
572
543
  var events = Array.isArray(eventOrEvents) ? eventOrEvents : [eventOrEvents];
573
544
  var _iterator2 = _createForOfIteratorHelper(events),
574
545
  _step2;
@@ -592,47 +563,36 @@ export function renderKitchenSimulator(container) {
592
563
 
593
564
  // resolve when marker cleared
594
565
  return new Promise(function (resolve) {
595
- var start = Date.now();
596
566
  var check = /*#__PURE__*/function () {
597
- var _ref6 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee6() {
567
+ var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee6() {
598
568
  return _regeneratorRuntime.wrap(function (_context6) {
599
569
  while (1) switch (_context6.prev = _context6.next) {
600
570
  case 0:
601
571
  if (destroyed) {
602
- _context6.next = 4;
603
- break;
604
- }
605
- if (pendingMarkers.has(token)) {
606
- _context6.next = 1;
572
+ _context6.next = 3;
607
573
  break;
608
574
  }
609
- resolve(true);
610
- return _context6.abrupt("return");
611
- case 1:
612
- if (!(Date.now() - start > timeoutMs)) {
575
+ if (!pendingMarkers.has(token)) {
613
576
  _context6.next = 2;
614
577
  break;
615
578
  }
616
- console.error('[kitchen-simulator] sendExternalEvents timed out');
617
- pendingMarkers["delete"](token); // fail-open
618
- resolve(false);
619
- return _context6.abrupt("return");
620
- case 2:
621
- _context6.next = 3;
579
+ _context6.next = 1;
622
580
  return nextFrame();
581
+ case 1:
582
+ return _context6.abrupt("continue", 0);
583
+ case 2:
584
+ resolve(true);
585
+ return _context6.abrupt("return");
623
586
  case 3:
624
- _context6.next = 0;
625
- break;
626
- case 4:
627
587
  resolve(false);
628
- case 5:
588
+ case 4:
629
589
  case "end":
630
590
  return _context6.stop();
631
591
  }
632
592
  }, _callee6);
633
593
  }));
634
594
  return function check() {
635
- return _ref6.apply(this, arguments);
595
+ return _ref5.apply(this, arguments);
636
596
  };
637
597
  }();
638
598
  check();
@@ -0,0 +1,28 @@
1
+ import { EXTERNAL_EVENT_ADD_ITEM, EXTERNAL_EVENT_CHANGE_DOORSTYLE, EXTERNAL_EVENT_LOAD_PROJECT, EXTERNAL_EVENT_REPLACE_CABINET } from "../../constants";
2
+ import { isEmpty } from "../../utils/helper";
3
+ import { mapAddItemEvent } from "./mappers/addItemMapper";
4
+ import { mapChangeDoorStyleEvent } from "./mappers/changeDoorStyleMapper";
5
+ import { mapLoadProjectEvent } from "./mappers/loadProjectMapper";
6
+
7
+ /**
8
+ * Main dispatcher for external event payload mapping.
9
+ * Converts new API formats into legacy internal formats (e.g. assets3d -> structure_json)
10
+ * without changing the behavior of the existing 3D tool.
11
+ */
12
+ export function mapExternalEventPayload(evt, state) {
13
+ if (isEmpty(evt)) return null;
14
+ switch (evt.type) {
15
+ case EXTERNAL_EVENT_REPLACE_CABINET:
16
+ evt.payload.replaceItemInfo = mapAddItemEvent(evt.payload.replaceItemInfo, state);
17
+ return evt;
18
+ case EXTERNAL_EVENT_ADD_ITEM:
19
+ evt.payload = mapAddItemEvent(evt.payload, state);
20
+ return evt;
21
+ case EXTERNAL_EVENT_CHANGE_DOORSTYLE:
22
+ return mapChangeDoorStyleEvent(evt, state);
23
+ case EXTERNAL_EVENT_LOAD_PROJECT:
24
+ return mapLoadProjectEvent(evt, state);
25
+ default:
26
+ return evt;
27
+ }
28
+ }
@@ -0,0 +1,97 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
3
+ 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; }
4
+ 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) { _defineProperty(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; }
5
+ import { ITEM_TYPE } from "../../../constants";
6
+ import { isEmpty } from "../../../utils/helper";
7
+
8
+ /**
9
+ * Mapping logic for EXTERNAL_EVENT_ADD_ITEM.
10
+ *
11
+ * Converts the new assets3d payload shape into the legacy structure_json format
12
+ * expected by the existing 3D tool.
13
+ *
14
+ * @param {Object} evt.payload External event payload
15
+ * @param {Immutable.Map} state Planner state
16
+ * @returns {Object|null} Updated event (or null when payload is empty)
17
+ */
18
+ export function mapAddItemEvent(orgEvtPayload, state) {
19
+ var _evtPayload, _evtPayload3;
20
+ // make structure_json using assest3D
21
+ var layerId = state.getIn(['scene', 'selectedLayer']);
22
+ var layer = state.getIn(['scene', 'layers', layerId]);
23
+ var tempStructure = {};
24
+ var tempPlaceholders = [];
25
+ var cabinetDoorFinishId, animation;
26
+ if (isEmpty(orgEvtPayload)) return null;
27
+ var evtPayload = structuredClone(orgEvtPayload);
28
+ if (((_evtPayload = evtPayload) === null || _evtPayload === void 0 ? void 0 : _evtPayload.type) !== ITEM_TYPE.CABINET) {
29
+ var _evtPayload2;
30
+ evtPayload.structure_json = {
31
+ base: (_evtPayload2 = evtPayload) === null || _evtPayload2 === void 0 ? void 0 : _evtPayload2.gltf
32
+ };
33
+ return evtPayload;
34
+ }
35
+ var cabinetDoorFinish = (_evtPayload3 = evtPayload) === null || _evtPayload3 === void 0 ? void 0 : _evtPayload3.ccdf;
36
+ var assets3d = cabinetDoorFinish === null || cabinetDoorFinish === void 0 ? void 0 : cabinetDoorFinish.assets3d;
37
+ if (isEmpty(assets3d)) {
38
+ var _evtPayload4;
39
+ tempStructure.base = (_evtPayload4 = evtPayload) === null || _evtPayload4 === void 0 ? void 0 : _evtPayload4.gltf;
40
+ }
41
+ if (!isEmpty(cabinetDoorFinish === null || cabinetDoorFinish === void 0 ? void 0 : cabinetDoorFinish.id)) {
42
+ cabinetDoorFinishId = cabinetDoorFinish.id;
43
+ }
44
+
45
+ // clone so we can push injected handle assets without mutating original
46
+ var updatedAssets3D = _toConsumableArray(assets3d);
47
+
48
+ // first pass: inject door-handle assets where needed
49
+ if (!isEmpty(assets3d)) {
50
+ assets3d.forEach(function (asItem) {
51
+ // make door handle
52
+ if (!isEmpty(asItem === null || asItem === void 0 ? void 0 : asItem.placeholder_name)) {
53
+ var phName = asItem.placeholder_name;
54
+ if (phName.includes('door_')) {
55
+ var doorHandleName = phName.slice(0, phName.length - 2) + '_handle' + phName.slice(phName.length - 2);
56
+ updatedAssets3D.push({
57
+ placeholder_name: doorHandleName,
58
+ gltf: layer.get('doorHandle')
59
+ });
60
+ }
61
+ }
62
+ });
63
+
64
+ // second pass: build structure + placeholders from full asset list
65
+ updatedAssets3D.forEach(function (asitem) {
66
+ var _evtPayload5;
67
+ // set base field with gltf
68
+ tempStructure.base = (_evtPayload5 = evtPayload) === null || _evtPayload5 === void 0 ? void 0 : _evtPayload5.gltf;
69
+ if (!isEmpty(asitem === null || asitem === void 0 ? void 0 : asitem.placeholder_name)) {
70
+ // make the structure using placeholder_name and gltf
71
+ var phName = asitem.placeholder_name;
72
+ if (!phName.includes('_handle_') && !phName.includes('sink')) {
73
+ phName = 'base_' + phName;
74
+ }
75
+ tempStructure[phName] = asitem.gltf;
76
+ }
77
+ });
78
+ }
79
+
80
+ // make the tempPlaceholders using structure and id
81
+ tempPlaceholders.push({
82
+ id: cabinetDoorFinishId,
83
+ structure: tempStructure
84
+ });
85
+
86
+ // make the structure_json using animation and tempPlaceholders
87
+ var structure_json = {
88
+ animation: animation,
89
+ tempPlaceholders: tempPlaceholders
90
+ };
91
+
92
+ // rebuild the cabinet payload with structure_json
93
+ evtPayload = _objectSpread(_objectSpread({}, evtPayload), {}, {
94
+ structure_json: structure_json
95
+ });
96
+ return evtPayload;
97
+ }
@@ -0,0 +1,100 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
+ import { isEmpty } from "../../../components/viewer2d/utils";
3
+ import { toJSIfNeeded } from "../../../shared/objects/immutable";
4
+ export function ccdfMapper(ccdf_list, layer) {
5
+ // This function make cabinet definition using ccdf, layer's item information and catalog
6
+ // console.log(ccdf_list, catalog);
7
+ // make structure_json list using ccdf-list
8
+ var cabinetDefinitionList = [];
9
+ var layerJS = toJSIfNeeded(layer);
10
+ ccdf_list === null || ccdf_list === void 0 || ccdf_list.forEach(function (ccdf) {
11
+ // IMPORTANT: DIY-834-43
12
+ // Each CCDF row must produce its own independent structure/tempPlaceholders objects.
13
+ // Reusing the same object across iterations causes cross-cabinet mutation bugs
14
+ // (e.g. B12's `structure.base` being overwritten by W1218's gltf).
15
+ var tempPlaceholders = [];
16
+ var structure = {};
17
+ var cdfId;
18
+ var structure_json = {};
19
+ var cabinetDefinition = {};
20
+ var itemKeys = Object.keys(layerJS.items);
21
+ var correctItemId = '';
22
+ for (var i = 0; i < itemKeys.length; i++) {
23
+ var it = layerJS.items[itemKeys[i]];
24
+ // Join key: scene_cabinet_id (instance id).
25
+ if (!!(ccdf !== null && ccdf !== void 0 && ccdf.scene_cabinet_id) && (it === null || it === void 0 ? void 0 : it.id) === ccdf.scene_cabinet_id) correctItemId = layerJS.items[itemKeys[i]].id;
26
+ }
27
+ var cd = layerJS.items[correctItemId];
28
+ if (cd && !!(ccdf !== null && ccdf !== void 0 && ccdf.scene_cabinet_id) && (cd === null || cd === void 0 ? void 0 : cd.id) === ccdf.scene_cabinet_id) {
29
+ if (!isEmpty(ccdf === null || ccdf === void 0 ? void 0 : ccdf.id)) {
30
+ cdfId = ccdf.id;
31
+ }
32
+ var assets3d = Array.isArray(ccdf === null || ccdf === void 0 ? void 0 : ccdf.assets3d) ? ccdf.assets3d : [];
33
+ var updatedAssets3D = _toConsumableArray(assets3d);
34
+
35
+ // Always set base cabinet gltf even when there are no door/drawer assets.
36
+ // This ensures we can render a naked cabinet (base-only) for unsupported door styles.
37
+ structure.base = (ccdf === null || ccdf === void 0 ? void 0 : ccdf.gltf) || cd.gltf;
38
+
39
+ // make structure (augment assets3d with door handles)
40
+ assets3d.forEach(function (asItem) {
41
+ // make door handle
42
+ if (!isEmpty(asItem === null || asItem === void 0 ? void 0 : asItem.placeholder_name)) {
43
+ var phName = asItem.placeholder_name;
44
+ if (phName.includes('door_')) {
45
+ var doorHandleName = phName.slice(0, phName.length - 2) + '_handle' + phName.slice(phName.length - 2);
46
+ updatedAssets3D.push({
47
+ placeholder_name: doorHandleName,
48
+ gltf: layerJS.doorHandle
49
+ });
50
+ }
51
+ }
52
+ });
53
+ updatedAssets3D.forEach(function (asitem) {
54
+ if (!isEmpty(asitem === null || asitem === void 0 ? void 0 : asitem.placeholder_name)) {
55
+ // make the structure using placeholder_name and gltf
56
+ var phName = asitem.placeholder_name;
57
+ if (!phName.includes('_handle_') && !phName.includes('sink')) {
58
+ phName = 'base_' + phName;
59
+ }
60
+ structure[phName] = asitem.gltf;
61
+ }
62
+ });
63
+ // make tempPlaceholders
64
+ // Only push when we have at least a base cabinet gltf to render.
65
+ if (!isEmpty(structure === null || structure === void 0 ? void 0 : structure.base)) {
66
+ tempPlaceholders.push({
67
+ structure: structure,
68
+ id: cdfId
69
+ });
70
+ }
71
+ // make structure_json
72
+ structure_json = {
73
+ tempPlaceholders: tempPlaceholders
74
+ };
75
+ // make cabinet definition using structure_json and catalog
76
+ cabinetDefinition = {
77
+ type: cd.category,
78
+ itemID: cd.itemID,
79
+ name: cd.name,
80
+ long_name: cd.long_name,
81
+ sizeinfo: cd.sizeinfo,
82
+ description: cd.description,
83
+ prototype: cd.prototype,
84
+ base: cd.base,
85
+ shape_svg: cd.shape_svg,
86
+ // If host provides cabinet base gltf/bin at CCDF top-level, prefer it.
87
+ gltf: (ccdf === null || ccdf === void 0 ? void 0 : ccdf.gltf) || cd.gltf,
88
+ bin: (ccdf === null || ccdf === void 0 ? void 0 : ccdf.bin) || (cd === null || cd === void 0 ? void 0 : cd.bin),
89
+ structure_json: structure_json,
90
+ layoutpos: cd.layoutpos,
91
+ is_corner: cd.is_corner,
92
+ obj_property: cd.obj_property,
93
+ outline: cd.outline
94
+ };
95
+ }
96
+ // make cabinet definition list using cabinetDefinition
97
+ cabinetDefinitionList.push(cabinetDefinition);
98
+ });
99
+ return cabinetDefinitionList;
100
+ }
@@ -0,0 +1,49 @@
1
+ import { isEmpty } from "../../../components/viewer2d/utils";
2
+ export function mapFromCCDFToCDS(ccdf_list) {
3
+ var sceneItems = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
4
+ // This function make CDS from CCDF_List
5
+ // `sceneItems` (optional) lets us map CCDF rows back onto placed scene items
6
+ // using stable identity (long_name), because host `cabinet_id` can vary per doorstyle.
7
+ var itemsArray = sceneItems ? Array.isArray(sceneItems) ? sceneItems : Object.values(sceneItems) : null;
8
+ var itemCDSList = [];
9
+ ccdf_list === null || ccdf_list === void 0 || ccdf_list.forEach(function (asItem) {
10
+ // IMPORTANT: DIY-834-43
11
+ // `itemCDSData` must be recreated per asItem. Reusing it across iterations
12
+ // can leak one cabinet's door/drawer mappings into another.
13
+ var itemCDSData = {};
14
+ var cabitnetDoorStyleId;
15
+ if (!isEmpty(asItem === null || asItem === void 0 ? void 0 : asItem.id)) {
16
+ cabitnetDoorStyleId = asItem.id;
17
+ }
18
+ asItem === null || asItem === void 0 || asItem.assets3d.forEach(function (as) {
19
+ if (!isEmpty(as === null || as === void 0 ? void 0 : as.placeholder_name) && !isEmpty(as === null || as === void 0 ? void 0 : as.gltf)) {
20
+ var updatedName = 'base_' + (as === null || as === void 0 ? void 0 : as.placeholder_name) + '_gltf';
21
+ itemCDSData[updatedName] = as === null || as === void 0 ? void 0 : as.gltf;
22
+ }
23
+ itemCDSData['is_euro_cds'] = !isEmpty(as === null || as === void 0 ? void 0 : as.is_euro_cds) ? as.is_euro_cds : 0;
24
+ itemCDSData['euro_shape_svg'] = !isEmpty(as === null || as === void 0 ? void 0 : as.euro_shape_svg) ? as.is_euro_cds : null;
25
+ itemCDSData['euro_width'] = !isEmpty(as === null || as === void 0 ? void 0 : as.euro_width) ? as.is_euro_cds : null;
26
+ itemCDSData['euro_height'] = !isEmpty(as === null || as === void 0 ? void 0 : as.euro_height) ? as.is_euro_cds : null;
27
+ itemCDSData['euro_length'] = !isEmpty(as === null || as === void 0 ? void 0 : as.euro_length) ? as.is_euro_cds : null;
28
+ });
29
+ var data = [];
30
+ data.push(itemCDSData);
31
+
32
+ // Prefer stable join key: long_name -> scene item's itemID.
33
+ // Fall back to host cabinet_id for backward compatibility.
34
+ var resolvedItemID = asItem === null || asItem === void 0 ? void 0 : asItem.cabinet_id;
35
+ if (itemsArray) {
36
+ var match = itemsArray.find(function (it) {
37
+ return it.id === asItem.scene_cabinet_id;
38
+ });
39
+ if (match !== null && match !== void 0 && match.itemID) resolvedItemID = match.itemID;
40
+ }
41
+ itemCDSList.push({
42
+ itemID: resolvedItemID,
43
+ long_name: asItem === null || asItem === void 0 ? void 0 : asItem.long_name,
44
+ data: data,
45
+ cabinet_door_style_id: cabitnetDoorStyleId
46
+ });
47
+ });
48
+ return itemCDSList;
49
+ }
@@ -0,0 +1,37 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ 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; }
3
+ 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) { _defineProperty(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; }
4
+ import { DEFAULT_INTERIOR_URL } from "../../../constants";
5
+ import { isEmpty } from "../../../utils/helper";
6
+ export function mapChangeDoorStyleEvent(evt, state) {
7
+ var _evt$payload, _layer$toJS;
8
+ if (isEmpty(evt)) return null;
9
+ var targetDoorStyle = evt === null || evt === void 0 || (_evt$payload = evt.payload) === null || _evt$payload === void 0 ? void 0 : _evt$payload.doorStyle;
10
+ if (isEmpty(targetDoorStyle)) return evt;
11
+ var layerId = state.getIn(['scene', 'selectedLayer']);
12
+ var layer = state.getIn(['scene', 'layers', layerId]);
13
+ if (isEmpty(layer)) return evt;
14
+ var handleTexture = layer.get('doorHandle');
15
+ var counterToptexture = layer === null || layer === void 0 || (_layer$toJS = layer.toJS()) === null || _layer$toJS === void 0 || (_layer$toJS = _layer$toJS.counterTop) === null || _layer$toJS === void 0 ? void 0 : _layer$toJS.uri;
16
+
17
+ // make doorStyles and update the doorStyle payload
18
+ var Max_PH = 9;
19
+ var doorStyles = {
20
+ base: targetDoorStyle.texture,
21
+ counttop: counterToptexture,
22
+ interior: DEFAULT_INTERIOR_URL
23
+ };
24
+ for (var i = 1; i <= Max_PH; i++) {
25
+ doorStyles['base_door_' + i] = targetDoorStyle.texture;
26
+ doorStyles['base_fixed_drawer_door_' + i] = targetDoorStyle.texture;
27
+ doorStyles['base_drawer_' + i] = targetDoorStyle.texture;
28
+ doorStyles['base_drawer_door_' + i] = targetDoorStyle.texture;
29
+ doorStyles['door_handle_' + i] = handleTexture;
30
+ doorStyles['fixed_drawer_door_handle_' + i] = handleTexture;
31
+ doorStyles['drawer_door_handle_' + i] = handleTexture;
32
+ }
33
+ evt.payload.doorStyle = _objectSpread(_objectSpread({}, targetDoorStyle), {}, {
34
+ doorStyles: doorStyles
35
+ });
36
+ return evt;
37
+ }
@@ -0,0 +1,62 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ 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; }
3
+ 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) { _defineProperty(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; }
4
+ import { DEFAULT_DOOR_HANDLE_TEXTURE_URL, DEFAULT_INTERIOR_URL } from "../../../constants";
5
+ import { isEmpty } from "../../../utils/helper";
6
+ export function mapLoadProjectEvent(evt, state) {
7
+ // preprocessing for loading project
8
+ // this function make doorStyles using item's doorStyle
9
+ if (isEmpty(evt)) return null;
10
+ var layerId = evt.payload.layers['layer-1'].id;
11
+ var layer = evt.payload.layers;
12
+ var itemKeys = Object.keys(layer[layerId].items);
13
+ if (isEmpty(layer)) return evt;
14
+ var handleTexture = !isEmpty(layer.doorHandle) ? layer.doorHandle : DEFAULT_DOOR_HANDLE_TEXTURE_URL;
15
+ var counterToptexture = layer.counterTop;
16
+ // make doorStyles and update the doorStyle payload
17
+ var Max_PH = 9;
18
+ for (var i = 0; i < itemKeys.length; i++) {
19
+ var item = layer[layerId].items[itemKeys[i]];
20
+ var doorStyle = item.doorStyle;
21
+ var doorStyles = {
22
+ base: doorStyle.texture,
23
+ counttop: counterToptexture,
24
+ interior: DEFAULT_INTERIOR_URL
25
+ };
26
+ for (var _i = 1; _i <= Max_PH; _i++) {
27
+ doorStyles['base_door_' + _i] = doorStyle.texture;
28
+ doorStyles['base_fixed_drawer_door_' + _i] = doorStyle.texture;
29
+ doorStyles['base_drawer_' + _i] = doorStyle.texture;
30
+ doorStyles['base_drawer_door_' + _i] = doorStyle.texture;
31
+ doorStyles['door_handle_' + _i] = handleTexture;
32
+ doorStyles['fixed_drawer_door_handle_' + _i] = handleTexture;
33
+ doorStyles['drawer_door_handle_' + _i] = handleTexture;
34
+ }
35
+ item.doorStyle = _objectSpread(_objectSpread({}, doorStyle), {}, {
36
+ doorStyles: doorStyles
37
+ });
38
+ layer[layerId].items[itemKeys[i]] = item;
39
+ }
40
+ return evt;
41
+ }
42
+ export function updateProjectWithCDSList(project, cdsList) {
43
+ //This function updates the project json using CDSList
44
+ if (isEmpty(project) || isEmpty(cdsList)) return project;
45
+ var layerId = project.layers['layer-1'].id;
46
+ var layer = project.layers;
47
+ var itemKeys = Object.keys(layer[layerId].items);
48
+ if (isEmpty(itemKeys)) return project;
49
+ var _loop = function _loop(i) {
50
+ cdsList.forEach(function (cds) {
51
+ var _layer$layerId;
52
+ if (((_layer$layerId = layer[layerId]) === null || _layer$layerId === void 0 || (_layer$layerId = _layer$layerId.items[itemKeys[i]]) === null || _layer$layerId === void 0 ? void 0 : _layer$layerId.itemID) === (cds === null || cds === void 0 ? void 0 : cds.itemID)) {
53
+ layer[layerId].items[itemKeys[i]].doorStyle.cds = cds;
54
+ }
55
+ });
56
+ };
57
+ for (var i = 0; i < itemKeys.length; i++) {
58
+ _loop(i);
59
+ }
60
+ project.layers = layer;
61
+ return project;
62
+ }