kitchen-simulator 11.0.0-react.18 → 11.0.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 +207 -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 +2009 -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
@@ -5,11 +5,11 @@ import _createClass from "@babel/runtime/helpers/esm/createClass";
5
5
  import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
6
6
  import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
7
7
  import _inherits from "@babel/runtime/helpers/esm/inherits";
8
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
9
8
  function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
10
9
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
11
10
  import React from 'react';
12
11
  import PropTypes from 'prop-types';
12
+ import ReactDOM from 'react-dom';
13
13
  import * as Three from 'three';
14
14
  import { parseData, updateScene } from "./scene-creator";
15
15
  import { disposeScene } from "./three-memory-cleaner";
@@ -17,7 +17,6 @@ import diff from 'immutablediff';
17
17
  import { initPointerLock } from "./pointer-lock-navigation";
18
18
  import { firstPersonOnKeyDown, firstPersonOnKeyUp } from "./libs/first-person-controls";
19
19
  import * as SharedStyle from "../../shared-style";
20
- import AppContext from "../../AppContext";
21
20
  var Viewer3DFirstPerson = /*#__PURE__*/function (_React$Component) {
22
21
  function Viewer3DFirstPerson(props) {
23
22
  var _this;
@@ -26,7 +25,6 @@ var Viewer3DFirstPerson = /*#__PURE__*/function (_React$Component) {
26
25
  _this.width = props.width;
27
26
  _this.height = props.height;
28
27
  _this.stopRendering = false;
29
- _this.canvasWrapperRef = /*#__PURE__*/React.createRef();
30
28
  _this.renderer = window.__threeRenderer || new Three.WebGLRenderer({
31
29
  preserveDrawingBuffer: true
32
30
  });
@@ -37,15 +35,7 @@ var Viewer3DFirstPerson = /*#__PURE__*/function (_React$Component) {
37
35
  return _createClass(Viewer3DFirstPerson, [{
38
36
  key: "componentDidMount",
39
37
  value: function componentDidMount() {
40
- var _this$context,
41
- _this$context2,
42
- _this$context3,
43
- _this$context4,
44
- _this$context5,
45
- _this$context6,
46
- _document$body$reques,
47
- _document$body,
48
- _this2 = this;
38
+ var _this2 = this;
49
39
  /** Variables for movement control **/
50
40
  var prevTime = performance.now();
51
41
  var velocity = new Three.Vector3();
@@ -55,22 +45,23 @@ var Viewer3DFirstPerson = /*#__PURE__*/function (_React$Component) {
55
45
  var moveLeft = false;
56
46
  var moveRight = false;
57
47
  var canJump = false;
58
- var catalog = (_this$context = this.context) === null || _this$context === void 0 ? void 0 : _this$context.catalog;
48
+ var catalog = this.context.catalog;
59
49
  var actions = {
60
- areaActions: (_this$context2 = this.context) === null || _this$context2 === void 0 ? void 0 : _this$context2.areaActions,
61
- holesActions: (_this$context3 = this.context) === null || _this$context3 === void 0 ? void 0 : _this$context3.holesActions,
62
- itemsActions: (_this$context4 = this.context) === null || _this$context4 === void 0 ? void 0 : _this$context4.itemsActions,
63
- linesActions: (_this$context5 = this.context) === null || _this$context5 === void 0 ? void 0 : _this$context5.linesActions,
64
- projectActions: (_this$context6 = this.context) === null || _this$context6 === void 0 ? void 0 : _this$context6.projectActions
50
+ areaActions: this.context.areaActions,
51
+ holesActions: this.context.holesActions,
52
+ itemsActions: this.context.itemsActions,
53
+ linesActions: this.context.linesActions,
54
+ projectActions: this.context.projectActions
65
55
  };
66
56
  var state = this.props.state;
67
57
  var data = state.scene;
68
- var canvasWrapper = this.canvasWrapperRef.current;
69
- if (!canvasWrapper) return;
58
+ var canvasWrapper = ReactDOM.findDOMNode(this.refs.canvasWrapper);
70
59
  var scene3D = new Three.Scene();
60
+
61
+ // As I need to show the pointer above all scene objects, I use this workaround http://stackoverflow.com/a/13309722
71
62
  var sceneOnTop = new Three.Scene();
72
63
 
73
- // RENDERER
64
+ //RENDERER
74
65
  this.renderer.setClearColor(new Three.Color(SharedStyle.COLORS.white));
75
66
  this.renderer.setSize(this.width, this.height);
76
67
 
@@ -80,40 +71,46 @@ var Viewer3DFirstPerson = /*#__PURE__*/function (_React$Component) {
80
71
 
81
72
  // CAMERA
82
73
  var aspectRatio = this.width / this.height;
74
+ var camera = new Three.OrthographicCamera(width / -4, width / 4, height / 4, height / -4, 1, 1000);
75
+ sceneOnTop.add(camera); // The pointer is on the camera so I show it above all
83
76
 
84
- // NOTE: your original code used `width/height` identifiers that were not defined
85
- // and also used OrthographicCamera with "aspect". Keeping your structure but fixing identifiers.
86
- var camera = new Three.OrthographicCamera(this.width / -4, this.width / 4, this.height / 4, this.height / -4, 1, 1000);
87
- sceneOnTop.add(camera);
77
+ // Set position for the camera
88
78
  camera.position.set(0, 0, 0);
89
79
  camera.up = new Three.Vector3(0, 1, 0);
90
80
 
81
+ // HELPER AXIS
82
+ // let axisHelper = new Three.AxisHelper(100);
83
+ // scene3D.add(axisHelper);
84
+
91
85
  // LIGHT
92
- var light = new Three.AmbientLight(0xafafaf);
86
+ var light = new Three.AmbientLight(0xafafaf); // soft white light
93
87
  scene3D.add(light);
88
+
89
+ // Add another light
94
90
  var pointLight = new Three.PointLight(SharedStyle.COLORS.white, 0.4, 1000);
95
91
  pointLight.position.set(0, 0, 0);
96
92
  scene3D.add(pointLight);
97
93
 
98
94
  // POINTER LOCK
95
+
99
96
  document.body.requestPointerLock = document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock;
100
- (_document$body$reques = (_document$body = document.body).requestPointerLock) === null || _document$body$reques === void 0 || _document$body$reques.call(_document$body);
97
+ document.body.requestPointerLock();
101
98
  var _initPointerLock = initPointerLock(camera, this.renderer.domElement),
102
99
  controls = _initPointerLock.controls,
103
100
  pointerlockChangeEvent = _initPointerLock.pointerlockChangeEvent,
104
101
  requestPointerLockEvent = _initPointerLock.requestPointerLockEvent;
105
102
  this.controls = controls;
106
- this.pointerlockChangeEvent = pointerlockChangeEvent; // <-- you referenced this in unmount
103
+ this.pointerlockChangeListener = pointerlockChangeEvent;
107
104
  this.requestPointerLockEvent = requestPointerLockEvent;
108
105
 
109
106
  /* Set user initial position */
110
- var humanHeight = 170; // cm
107
+ var humanHeight = 170; // 170 cm
111
108
 
112
109
  var yInitialPosition = this.planData.boundingBox.min.y + (this.planData.boundingBox.min.y - this.planData.boundingBox.max.y) / 2 + humanHeight;
113
110
  this.controls.getObject().position.set(-50, yInitialPosition, -100);
114
- sceneOnTop.add(this.controls.getObject());
111
+ sceneOnTop.add(this.controls.getObject()); // Add the pointer lock controls to the scene that will be rendered on top
115
112
 
116
- // KEYBOARD MOVE EVENTS
113
+ // Add move controls on the page
117
114
  this.keyDownEvent = function (event) {
118
115
  var moveResult = firstPersonOnKeyDown(event, moveForward, moveLeft, moveBackward, moveRight, canJump, velocity);
119
116
  moveForward = moveResult.moveForward;
@@ -133,7 +130,8 @@ var Viewer3DFirstPerson = /*#__PURE__*/function (_React$Component) {
133
130
  document.addEventListener('keydown', this.keyDownEvent);
134
131
  document.addEventListener('keyup', this.keyUpEvent);
135
132
 
136
- // POINTER
133
+ // Add a pointer to the scene
134
+
137
135
  var pointer = new Three.Object3D();
138
136
  pointer.name = 'pointer';
139
137
  var pointerMaterial = new Three.MeshBasicMaterial({
@@ -160,116 +158,86 @@ var Viewer3DFirstPerson = /*#__PURE__*/function (_React$Component) {
160
158
  pointer.add(linePointer1);
161
159
  pointer.add(linePointer2);
162
160
  pointer.add(linePointer3);
163
- camera.add(pointer);
161
+ camera.add(pointer); // Add the pointer to the camera
164
162
 
165
163
  // OBJECT PICKING
166
164
  var toIntersect = [this.planData.plan];
167
165
  var mouseVector = new Three.Vector2(0, 0);
168
166
  var raycaster = new Three.Raycaster();
169
167
  this.firstPersonMouseDown = function (event) {
170
- var _this2$controls;
171
- if (!((_this2$controls = _this2.controls) !== null && _this2$controls !== void 0 && _this2$controls.enabled)) return;
172
- event.preventDefault();
173
- raycaster.setFromCamera(mouseVector, camera);
174
- var intersects = raycaster.intersectObjects(toIntersect, true);
175
- if (intersects.length > 0 && !isNaN(intersects[0].distance)) {
176
- intersects[0].object.interact && intersects[0].object.interact();
177
- } else {
178
- var _actions$projectActio, _actions$projectActio2;
179
- (_actions$projectActio = actions.projectActions) === null || _actions$projectActio === void 0 || (_actions$projectActio2 = _actions$projectActio.unselectAll) === null || _actions$projectActio2 === void 0 || _actions$projectActio2.call(_actions$projectActio);
168
+ // First of all I check if controls are enabled
169
+
170
+ if (_this2.controls.enabled) {
171
+ event.preventDefault();
172
+
173
+ /* Per avere la direzione da assegnare al raycaster, chiamo il metodo getDirection di PointerLockControls,
174
+ * che restituisce una funzione che a sua volta prende un vettore, vi scrive i valori degli oggetti
175
+ * pitch e yaw e lo restituisce */
176
+
177
+ raycaster.setFromCamera(mouseVector, camera);
178
+ var intersects = raycaster.intersectObjects(toIntersect, true);
179
+ if (intersects.length > 0 && !isNaN(intersects[0].distance)) {
180
+ intersects[0].object.interact && intersects[0].object.interact();
181
+ } else {
182
+ _this2.context.projectActions.unselectAll();
183
+ }
180
184
  }
181
185
  };
182
186
  document.addEventListener('mousedown', this.firstPersonMouseDown, false);
183
187
  this.renderer.domElement.style.display = 'block';
188
+
189
+ // add the output of the renderer to the html element
184
190
  canvasWrapper.appendChild(this.renderer.domElement);
185
191
  this.renderer.autoClear = false;
186
192
  var _render = function render() {
187
- if (_this2.stopRendering) return;
188
- yInitialPosition = _this2.planData.boundingBox.min.y + humanHeight;
189
- var multiplier = 5;
190
- var time = performance.now();
191
- var delta = (time - prevTime) / 1000 * multiplier;
192
- velocity.x -= velocity.x * 10.0 * delta;
193
- velocity.z -= velocity.z * 10.0 * delta;
194
- velocity.y -= 9.8 * 100.0 * delta / multiplier;
195
- direction.z = Number(moveForward) - Number(moveBackward);
196
- direction.x = Number(moveLeft) - Number(moveRight);
197
- direction.normalize();
198
- if (moveForward || moveBackward) velocity.z -= direction.z * 400.0 * delta;
199
- if (moveLeft || moveRight) velocity.x -= direction.x * 400.0 * delta;
200
- _this2.controls.getObject().translateX(velocity.x * delta);
201
- _this2.controls.getObject().translateY(velocity.y * delta);
202
- _this2.controls.getObject().translateZ(velocity.z * delta);
203
- if (_this2.controls.getObject().position.y < yInitialPosition) {
204
- velocity.y = 0;
205
- _this2.controls.getObject().position.y = yInitialPosition;
206
- canJump = true;
207
- }
208
- prevTime = time;
209
- var p = _this2.controls.getObject().position;
210
- pointLight.position.set(p.x, p.y, p.z);
211
- for (var elemID in _this2.planData.sceneGraph.LODs) {
212
- _this2.planData.sceneGraph.LODs[elemID].update(camera);
193
+ if (!_this2.stopRendering) {
194
+ yInitialPosition = _this2.planData.boundingBox.min.y + humanHeight;
195
+ var multiplier = 5;
196
+ var time = performance.now();
197
+ var delta = (time - prevTime) / 1000 * multiplier;
198
+ velocity.x -= velocity.x * 10.0 * delta;
199
+ velocity.z -= velocity.z * 10.0 * delta;
200
+ velocity.y -= 9.8 * 100.0 * delta / multiplier; // 100.0 = mass
201
+
202
+ direction.z = Number(moveForward) - Number(moveBackward);
203
+ direction.x = Number(moveLeft) - Number(moveRight);
204
+ direction.normalize(); // this ensures consistent movements in all directions
205
+
206
+ if (moveForward || moveBackward) velocity.z -= direction.z * 400.0 * delta;
207
+ if (moveLeft || moveRight) velocity.x -= direction.x * 400.0 * delta;
208
+ _this2.controls.getObject().translateX(velocity.x * delta);
209
+ _this2.controls.getObject().translateY(velocity.y * delta);
210
+ _this2.controls.getObject().translateZ(velocity.z * delta);
211
+ if (_this2.controls.getObject().position.y < yInitialPosition) {
212
+ velocity.y = 0;
213
+ _this2.controls.getObject().position.y = yInitialPosition;
214
+ canJump = true;
215
+ }
216
+ prevTime = time;
217
+
218
+ // Set light position
219
+ var controlObjectPosition = _this2.controls.getObject().position;
220
+ pointLight.position.set(controlObjectPosition.x, controlObjectPosition.y, controlObjectPosition.z);
221
+ for (var elemID in _this2.planData.sceneGraph.LODs) {
222
+ _this2.planData.sceneGraph.LODs[elemID].update(camera);
223
+ }
224
+ _this2.renderer.clear(); // clear buffers
225
+ _this2.renderer.render(scene3D, camera); // render scene 1
226
+ _this2.renderer.clearDepth(); // clear depth buffer
227
+ _this2.renderer.render(sceneOnTop, camera); // render scene 2
228
+
229
+ requestAnimationFrame(_render);
213
230
  }
214
- _this2.renderer.clear();
215
- _this2.renderer.render(scene3D, camera);
216
- _this2.renderer.clearDepth();
217
- _this2.renderer.render(sceneOnTop, camera);
218
- requestAnimationFrame(_render);
219
231
  };
220
232
  _render();
221
233
  this.camera = camera;
222
234
  this.scene3D = scene3D;
223
235
  this.sceneOnTop = sceneOnTop;
224
- }
225
- }, {
226
- key: "componentDidUpdate",
227
- value: function componentDidUpdate(prevProps) {
228
- var _this$context7, _this$context8, _this$context9, _this$context0, _this$context1, _prevProps$state;
229
- var _this$props = this.props,
230
- width = _this$props.width,
231
- height = _this$props.height,
232
- state = _this$props.state;
233
- var camera = this.camera,
234
- renderer = this.renderer,
235
- scene3D = this.scene3D,
236
- sceneOnTop = this.sceneOnTop,
237
- planData = this.planData;
238
- if (!camera || !renderer || !scene3D || !sceneOnTop || !planData) return;
239
- var actions = {
240
- areaActions: (_this$context7 = this.context) === null || _this$context7 === void 0 ? void 0 : _this$context7.areaActions,
241
- holesActions: (_this$context8 = this.context) === null || _this$context8 === void 0 ? void 0 : _this$context8.holesActions,
242
- itemsActions: (_this$context9 = this.context) === null || _this$context9 === void 0 ? void 0 : _this$context9.itemsActions,
243
- linesActions: (_this$context0 = this.context) === null || _this$context0 === void 0 ? void 0 : _this$context0.linesActions,
244
- projectActions: (_this$context1 = this.context) === null || _this$context1 === void 0 ? void 0 : _this$context1.projectActions
245
- };
246
-
247
- // size change
248
- if (prevProps.width !== width || prevProps.height !== height) {
249
- this.width = width;
250
- this.height = height;
251
-
252
- // OrthographicCamera doesn't use aspect, but your original code did this.
253
- // We'll just update projection and renderer size.
254
- camera.updateProjectionMatrix();
255
- renderer.setSize(width, height);
256
- }
257
-
258
- // scene change
259
- if (((_prevProps$state = prevProps.state) === null || _prevProps$state === void 0 ? void 0 : _prevProps$state.scene) !== (state === null || state === void 0 ? void 0 : state.scene)) {
260
- var _this$context10;
261
- var changedValues = diff(prevProps.state.scene, state.scene);
262
- updateScene(planData, state.scene, prevProps.state.scene, changedValues.toJS(), actions, (_this$context10 = this.context) === null || _this$context10 === void 0 ? void 0 : _this$context10.catalog);
263
- }
264
- renderer.clear();
265
- renderer.render(scene3D, camera);
266
- renderer.clearDepth();
267
- renderer.render(sceneOnTop, camera);
236
+ // this.planData = planData;
268
237
  }
269
238
  }, {
270
239
  key: "componentWillUnmount",
271
240
  value: function componentWillUnmount() {
272
- var _this$renderer$domEle;
273
241
  this.stopRendering = true;
274
242
  this.renderer.autoClear = true;
275
243
  document.removeEventListener('mousedown', this.firstPersonMouseDown);
@@ -278,34 +246,64 @@ var Viewer3DFirstPerson = /*#__PURE__*/function (_React$Component) {
278
246
  document.removeEventListener('pointerlockchange', this.pointerlockChangeEvent);
279
247
  document.removeEventListener('mozpointerlockchange', this.pointerlockChangeEvent);
280
248
  document.removeEventListener('webkitpointerlockchange', this.pointerlockChangeEvent);
281
- (_this$renderer$domEle = this.renderer.domElement) === null || _this$renderer$domEle === void 0 || _this$renderer$domEle.removeEventListener('click', this.requestPointerLockEvent);
282
- if (this.scene3D) {
283
- var _this$planData;
284
- disposeScene(this.scene3D);
285
- if ((_this$planData = this.planData) !== null && _this$planData !== void 0 && _this$planData.plan) this.scene3D.remove(this.planData.plan);
286
- }
249
+ this.renderer.domElement.removeEventListener('click', this.requestPointerLockEvent);
250
+ disposeScene(this.scene3D);
251
+ this.scene3D.remove(this.planData.plan);
287
252
  this.scene3D = null;
288
253
  this.planData = null;
289
-
290
- // defensive: renderLists.dispose may not exist in some three versions
291
- try {
292
- var _this$renderer$render, _this$renderer$render2;
293
- (_this$renderer$render = this.renderer.renderLists) === null || _this$renderer$render === void 0 || (_this$renderer$render2 = _this$renderer$render.dispose) === null || _this$renderer$render2 === void 0 || _this$renderer$render2.call(_this$renderer$render);
294
- } catch (_unused) {}
254
+ this.renderer.renderLists.dispose();
255
+ }
256
+ }, {
257
+ key: "componentWillReceiveProps",
258
+ value: function componentWillReceiveProps(nextProps) {
259
+ var width = nextProps.width,
260
+ height = nextProps.height;
261
+ var camera = this.camera,
262
+ renderer = this.renderer,
263
+ scene3D = this.scene3D,
264
+ sceneOnTop = this.sceneOnTop,
265
+ planData = this.planData;
266
+ var actions = {
267
+ areaActions: this.context.areaActions,
268
+ holesActions: this.context.holesActions,
269
+ itemsActions: this.context.itemsActions,
270
+ linesActions: this.context.linesActions,
271
+ projectActions: this.context.projectActions
272
+ };
273
+ this.width = width;
274
+ this.height = height;
275
+ camera.aspect = width / height;
276
+ camera.updateProjectionMatrix();
277
+ if (nextProps.scene !== this.props.state.scene) {
278
+ var changedValues = diff(this.props.state.scene, nextProps.state.scene);
279
+ updateScene(planData, nextProps.state.scene, this.props.state.scene, changedValues.toJS(), actions, this.context.catalog);
280
+ }
281
+ renderer.setSize(width, height);
282
+ renderer.clear(); // clear buffers
283
+ renderer.render(scene3D, camera); // render scene 1
284
+ renderer.clearDepth(); // clear depth buffer
285
+ renderer.render(sceneOnTop, camera); // render scene 2
295
286
  }
296
287
  }, {
297
288
  key: "render",
298
289
  value: function render() {
299
- return /*#__PURE__*/React.createElement("div", {
300
- ref: this.canvasWrapperRef
290
+ return /*#__PURE__*/React.createElement('div', {
291
+ ref: 'canvasWrapper'
301
292
  });
302
293
  }
303
294
  }]);
304
295
  }(React.Component);
305
- _defineProperty(Viewer3DFirstPerson, "contextType", AppContext);
306
296
  export { Viewer3DFirstPerson as default };
307
297
  Viewer3DFirstPerson.propTypes = {
308
298
  state: PropTypes.object.isRequired,
309
299
  width: PropTypes.number.isRequired,
310
300
  height: PropTypes.number.isRequired
301
+ };
302
+ Viewer3DFirstPerson.contextTypes = {
303
+ areaActions: PropTypes.object.isRequired,
304
+ holesActions: PropTypes.object.isRequired,
305
+ itemsActions: PropTypes.object.isRequired,
306
+ linesActions: PropTypes.object.isRequired,
307
+ projectActions: PropTypes.object.isRequired,
308
+ catalog: PropTypes.object
311
309
  };
@@ -1,34 +1,34 @@
1
1
  'use strict';
2
2
 
3
3
  import _readOnlyError from "@babel/runtime/helpers/esm/readOnlyError";
4
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
5
  import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
5
6
  import _createClass from "@babel/runtime/helpers/esm/createClass";
6
7
  import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
7
8
  import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
8
9
  import _inherits from "@babel/runtime/helpers/esm/inherits";
9
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
10
10
  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; }
11
11
  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; }
12
12
  function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
13
13
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
14
14
  import React from 'react';
15
15
  import PropTypes from 'prop-types';
16
+ import ReactDOM from 'react-dom';
16
17
  import * as Three from 'three';
17
18
  import { checkCabinetOverlap, createBacksplash, deleteSpecifiedMeshObjects, fVLine, getDistances, parseData, updateScene, visibleTransformBox } from "./scene-creator";
18
19
  import { disposeObject, disposeScene } from "./three-memory-cleaner";
19
20
  import diff from 'immutablediff';
20
21
  import * as SharedStyle from "../../shared-style";
21
- import { BASE_CABINET_LAYOUTPOS, MODE_3D_VIEW, MODE_DRAGGING_ITEM_3D, MODE_DRAWING_HOLE_3D, MODE_DRAWING_ITEM_3D, MODE_ELEVATION_VIEW, MODE_IDLE_3D, MODE_ROTATING_ITEM_3D, SECONDARY_PURPLE_COLOR, TALL_CABINET_LAYOUTPOS, UNIT_CENTIMETER, WALL_CABINET_LAYOUTPOS, INTERNAL_EVENT_SELECT_ELEMENT, INTERNAL_EVENT_DRAG_ELEMENT, INTERNAL_EVENT_DRAW_ELEMENT, INTERNAL_EVENT_ROTATE_ELEMENT, MODE_ROTATING_ITEM, MODE_DRAGGING_HOLE_3D, INTERNAL_EVENT_REPLACE_CABINET } from "../../constants";
22
+ import { BASE_CABINET_LAYOUTPOS, MODE_3D_VIEW, MODE_DRAGGING_ITEM_3D, MODE_DRAWING_HOLE_3D, MODE_DRAWING_ITEM_3D, MODE_ELEVATION_VIEW, MODE_IDLE_3D, MODE_ROTATING_ITEM_3D, SECONDARY_PURPLE_COLOR, TALL_CABINET_LAYOUTPOS, UNIT_CENTIMETER, WALL_CABINET_LAYOUTPOS, INTERNAL_EVENT_SELECT_ELEMENT, INTERNAL_EVENT_DRAG_ELEMENT, INTERNAL_EVENT_DRAW_ELEMENT, INTERNAL_EVENT_ROTATE_ELEMENT, MODE_DRAGGING_HOLE_3D, INTERNAL_EVENT_REPLACE_CABINET } from "../../constants";
22
23
  import { isUndefined } from 'util';
23
24
  import { verticesDistance } from "../../utils/geometry";
24
25
  import { convert } from "../../utils/convert-units-lite";
25
26
  import { GeometryUtils } from "../../utils/export";
26
27
  import { handleCamRect, isElevationView, isEmpty, updatePayloadOfInternalEvent } from "../../utils/helper";
27
- import { RGBELoader } from 'three/examples/jsm/loaders/RGBELoader.js';
28
+ import { RGBELoader } from 'three/examples/jsm/loaders/RGBELoader';
28
29
  import CameraControls from 'camera-controls';
29
30
  import { getAllMeshes, vectorIntersectWithMesh } from "../../utils/objects-utils";
30
31
  import { returnReplaceableDeepSearchType } from "../viewer2d/utils";
31
- import AppContext from "../../AppContext";
32
32
  CameraControls.install({
33
33
  THREE: Three
34
34
  });
@@ -50,7 +50,6 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
50
50
  _this.width = props.width;
51
51
  _this.height = props.height;
52
52
  _this.renderingID = 0;
53
- _this.canvasWrapperRef = /*#__PURE__*/React.createRef();
54
53
  var mode = props.state.mode;
55
54
  if (!window.__elevationRendererDownload) {
56
55
  window.__elevationRendererDownload = {};
@@ -545,7 +544,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
545
544
  if (item !== null) {
546
545
  var catid = item.type;
547
546
  var cat = catalog.elements[catid];
548
- layoutpos = cat.info.layoutpos;
547
+ layoutpos = item === null || item === void 0 ? void 0 : item.layoutpos;
549
548
  }
550
549
  var oPos = new Three.Vector2(pos.clone().x, pos.clone().y);
551
550
  var sBounding = obj.children[0].userData;
@@ -565,9 +564,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
565
564
  return false;
566
565
  }
567
566
  var _item = layer.items.getIn([data.id]);
568
- var ocatid = _item.type;
569
- var ocat = catalog.elements[ocatid];
570
- var olayoutpos = ocat.info.layoutpos;
567
+ var olayoutpos = _item.layoutpos;
571
568
  if (!(layoutpos === BASE_CABINET_LAYOUTPOS && olayoutpos === WALL_CABINET_LAYOUTPOS || layoutpos === WALL_CABINET_LAYOUTPOS && olayoutpos === BASE_CABINET_LAYOUTPOS)) {
572
569
  var tRot = _item.rotation;
573
570
  var tPos = new Three.Vector2(_item.x, _item.y);
@@ -1190,10 +1187,11 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
1190
1187
  };
1191
1188
  var sendInternalEvent = function sendInternalEvent(evtType, evtElement) {
1192
1189
  var pointArray = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
1190
+ var curLayerId = _this2.props.state.scene.selectedLayer;
1191
+ var curLayer = _this2.props.state.scene.getIn(['layers', curLayerId]);
1193
1192
  if (!isEmpty(evtType) && !isEmpty(evtElement)) {
1194
- var _state$get, _this2$props$onIntern, _this2$props;
1195
- var catalog = (_state$get = state.get('catalog')) === null || _state$get === void 0 ? void 0 : _state$get.toJS();
1196
- var payload = updatePayloadOfInternalEvent(evtElement, layer, catalog, pointArray);
1193
+ var _this2$props$onIntern, _this2$props;
1194
+ var payload = updatePayloadOfInternalEvent(evtElement, curLayer, pointArray);
1197
1195
  (_this2$props$onIntern = (_this2$props = _this2.props).onInternalEvent) === null || _this2$props$onIntern === void 0 || _this2$props$onIntern.call(_this2$props, {
1198
1196
  type: evtType,
1199
1197
  value: payload
@@ -2162,9 +2160,14 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
2162
2160
  window.SPKeyDown = this.handleKeyDown;
2163
2161
  window.tDKeyDown = this.handleKeyDown;
2164
2162
  }
2165
- var canvasWrapper = this.canvasWrapperRef.current;
2166
- if (canvasWrapper) canvasWrapper.appendChild(this.renderer.domElement);
2167
- if (scene.getIn(['layers', scene.selectedLayer, 'selected', 'items']).size !== 0) {
2163
+
2164
+ // Add the output of the renderer to the html element
2165
+ var canvasWrapper = ReactDOM.findDOMNode(this.refs.canvasWrapper);
2166
+ canvasWrapper && canvasWrapper.appendChild(this.renderer.domElement);
2167
+
2168
+ //
2169
+
2170
+ if (scene.getIn(['layers', scene.selectedLayer, 'selected', 'items']).size != 0) {
2168
2171
  // if selected Object
2169
2172
  isSelected = true;
2170
2173
  selectedObject.layerID = scene.selectedLayer;
@@ -2428,10 +2431,10 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
2428
2431
  this.renderer.renderLists.dispose();
2429
2432
  }
2430
2433
  }, {
2431
- key: "componentDidUpdate",
2432
- value: function componentDidUpdate(prevProps) {
2433
- var nextProps = this.props;
2434
- if (prevProps.downloadFlag && diff(prevProps.state, nextProps.state).toJS().length === 0 || isEmpty(nextProps.state.scene)) return;
2434
+ key: "componentWillReceiveProps",
2435
+ value: function componentWillReceiveProps(nextProps) {
2436
+ var _this4 = this;
2437
+ if (this.props.downloadFlag && diff(this.props.state, nextProps.state).toJS().length == 0 || isEmpty(nextProps.state.scene)) return;
2435
2438
  var width = nextProps.width,
2436
2439
  height = nextProps.height;
2437
2440
  var selectedLayer = nextProps.state.getIn(['scene', 'layers', nextProps.state.scene.selectedLayer]);
@@ -2456,7 +2459,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
2456
2459
  var allItemRect;
2457
2460
 
2458
2461
  // handle camera setting
2459
- switch (prevProps.state.mode) {
2462
+ switch (this.props.state.mode) {
2460
2463
  case MODE_ELEVATION_VIEW:
2461
2464
  // when Elevation mode (camera: Orthographic)
2462
2465
  var cameraRect = handleCamRect(width, height, ceilHeight, this.state.lineLength);
@@ -2505,8 +2508,9 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
2505
2508
  var prepareSnapSpec = function prepareSnapSpec(layer) {
2506
2509
  allLines = GeometryUtils.getAllLines(layer);
2507
2510
  allLineRects = GeometryUtils.buildRectFromLines(layer, allLines);
2508
- allItemRect = GeometryUtils.getAllItemSpecified(prevProps.state.scene, actions.catalog, [WALL_CABINET_LAYOUTPOS, TALL_CABINET_LAYOUTPOS]);
2511
+ allItemRect = GeometryUtils.getAllItemSpecified(_this4.props.state.scene, actions.catalog, [WALL_CABINET_LAYOUTPOS, TALL_CABINET_LAYOUTPOS]);
2509
2512
  };
2513
+ var layer1 = this.props.state.scene.getIn(['layers', data.selectedLayer]);
2510
2514
  if (this.state.showflag) {
2511
2515
  prepareSnapSpec(layer);
2512
2516
  implementBacksplash();
@@ -2515,11 +2519,11 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
2515
2519
  showflag: false
2516
2520
  });
2517
2521
  }
2518
- if (nextProps.state.scene !== prevProps.state.scene || nextProps.state.doorStyle && nextProps.state.doorStyle.get('name') !== prevProps.state.doorStyle.get('name')) {
2519
- var changedValues = diff(prevProps.state.scene, nextProps.state.scene);
2522
+ if (nextProps.state.scene !== this.props.state.scene || nextProps.state.doorStyle && nextProps.state.doorStyle.get('name') !== this.props.state.doorStyle.get('name')) {
2523
+ var changedValues = diff(this.props.state.scene, nextProps.state.scene);
2520
2524
  prepareSnapSpec(layer);
2521
2525
  var isInteractiveMove = nextProps.state.mode === MODE_DRAGGING_ITEM_3D || nextProps.state.mode === MODE_ROTATING_ITEM_3D || nextProps.state.mode === MODE_DRAWING_ITEM_3D || nextProps.state.mode === MODE_DRAGGING_HOLE_3D || nextProps.state.mode === MODE_IDLE_3D;
2522
- if (nextProps.state.doorStyle && nextProps.state.doorStyle.get('name') === prevProps.state.doorStyle.get('name')) {
2526
+ if (nextProps.state.doorStyle && nextProps.state.doorStyle.get('name') === this.props.state.doorStyle.get('name')) {
2523
2527
  if (!isInteractiveMove) {
2524
2528
  self.setState({
2525
2529
  isLoading: true
@@ -2549,7 +2553,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
2549
2553
  var _this$state = this.state,
2550
2554
  toolObj = _this$state.toolObj,
2551
2555
  angleObj = _this$state.angleObj;
2552
- var _updateScene = updateScene(this.planData, nextProps.state.scene, prevProps.state.scene, changedValues.toJS(), actions, this.context.catalog, nextProps.state.mode, toolObj, angleObj, nextProps.state.draggingSupport),
2556
+ var _updateScene = updateScene(this.planData, nextProps.state.scene, this.props.state.scene, changedValues.toJS(), actions, this.context.catalog, nextProps.state.mode, toolObj, angleObj, nextProps.state.draggingSupport),
2553
2557
  promise = _updateScene.promise;
2554
2558
  self.setState();
2555
2559
  promise.then(function (p1Value) {
@@ -2637,18 +2641,26 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
2637
2641
  this.renderer.domElement.style.pointerEvents = 'auto';
2638
2642
  this.renderer.domElement.style.opacity = '1';
2639
2643
  !this.props.downloadFlag && document.getElementById('front') && (document.getElementById('front').style.display = 'block');
2640
- return /*#__PURE__*/React.createElement("div", {
2641
- ref: this.canvasWrapperRef
2644
+ return /*#__PURE__*/React.createElement('div', {
2645
+ ref: 'canvasWrapper'
2642
2646
  });
2643
2647
  }
2644
2648
  }
2645
2649
  }]);
2646
2650
  }(React.Component);
2647
- _defineProperty(Scene3DViewer, "contextType", AppContext);
2648
2651
  export { Scene3DViewer as default };
2649
2652
  Scene3DViewer.propTypes = {
2650
2653
  state: PropTypes.object.isRequired,
2651
2654
  width: PropTypes.number.isRequired,
2652
2655
  height: PropTypes.number.isRequired,
2653
2656
  replaceCabinet: PropTypes.func.isRequired
2657
+ };
2658
+ Scene3DViewer.contextTypes = {
2659
+ areaActions: PropTypes.object.isRequired,
2660
+ holesActions: PropTypes.object.isRequired,
2661
+ itemsActions: PropTypes.object.isRequired,
2662
+ linesActions: PropTypes.object.isRequired,
2663
+ sceneActions: PropTypes.object.isRequired,
2664
+ projectActions: PropTypes.object.isRequired,
2665
+ catalog: PropTypes.object
2654
2666
  };
@@ -0,0 +1,9 @@
1
+ // skin panel SKU
2
+ export var SKIN_SKU_BSV_24 = 'BSV'; // 23.25" x 34.5" : For base cabinets
3
+ export var SKIN_SKU_BSV_48 = 'BSV48'; // 48" x 34.5" : For base cabinets back-to-back or island backs
4
+ export var SKIN_SKU_WSV_1242 = 'WSV1242'; // 11.25" x 42" : For 12" deep wall cabinets
5
+ export var SKIN_SKU_WSV_2442 = 'WSV2442'; // 23.25" x 42" : For 24" deep wall cabinets
6
+ export var SKIN_SKU_WSV_2460 = 'WSV2460'; // Usually used for CT3DR or CT2DR SKUs + stacked wall cabinets
7
+ export var SKIN_SKU_USV245325 = 'USV2453.25'; // 23.25" x 53.25" : For tall cabinets
8
+
9
+ export var SKIN_HEIGHT_53_25 = 53.25; // in inch, height of the skin with SKU USV245325