kitchen-simulator 7.0.10-react-18 → 10.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 (701) hide show
  1. package/es/AppContext.js +1 -4
  2. package/es/LiteKitchenConfigurator.js +69 -26
  3. package/es/LiteRenderer.js +17 -67
  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/catalog.js +0 -2
  13. package/es/catalog/factories/area-factory-3d.js +1 -5
  14. package/es/catalog/factories/wall-factory.js +1 -1
  15. package/es/catalog/holes/door-double/door_double.png +0 -0
  16. package/es/catalog/holes/door-panic/panicDoor.png +0 -0
  17. package/es/catalog/holes/door-panic-double/panicDoorDouble.png +0 -0
  18. package/es/catalog/holes/gate/gate.jpg +0 -0
  19. package/es/catalog/holes/window-clear/texture.png +0 -0
  20. package/es/catalog/holes/window-cross/texture.png +0 -0
  21. package/es/catalog/holes/window-double-hung/texture.png +0 -0
  22. package/es/catalog/holes/window-vertical/texture.png +0 -0
  23. package/es/catalog/utils/exporter.js +4 -0
  24. package/es/catalog/utils/item-loader.js +3 -22
  25. package/es/class/area.js +0 -1
  26. package/es/class/export.js +1 -3
  27. package/es/class/item.js +180 -86
  28. package/es/class/project.js +17 -21
  29. package/es/components/content.js +3 -1
  30. package/es/components/export.js +3 -5
  31. package/es/components/style/export.js +2 -28
  32. package/es/components/style/form-number-input.js +34 -43
  33. package/es/components/viewer2d/group.js +12 -7
  34. package/es/components/viewer2d/item.js +160 -168
  35. package/es/components/viewer2d/line.js +18 -51
  36. package/es/components/viewer2d/rulerX.js +3 -0
  37. package/es/components/viewer2d/rulerY.js +3 -0
  38. package/es/components/viewer2d/scene.js +67 -47
  39. package/es/components/viewer2d/state.js +1 -1
  40. package/es/components/viewer2d/utils.js +1 -5
  41. package/es/components/viewer2d/viewer2d.js +564 -506
  42. package/es/components/viewer3d/front3D.js +1 -2
  43. package/es/components/viewer3d/pointer-lock-navigation.js +0 -90
  44. package/es/components/viewer3d/scene-creator.js +80 -47
  45. package/es/components/viewer3d/three-memory-cleaner.js +0 -14
  46. package/es/components/viewer3d/viewer3d-first-person.js +132 -134
  47. package/es/components/viewer3d/viewer3d.js +37 -22
  48. package/es/constants/catalog/skinPanel.js +9 -0
  49. package/es/constants.js +18 -7
  50. package/es/{WorkSpaceOriginal.js → devLiteRenderer.js} +228 -174
  51. package/es/events/external/handleExternalEvent.js +140 -0
  52. package/es/{utils/isolate-event-handler.js → events/external/handleExternalEvent.util.js} +87 -593
  53. package/es/events/external/handlers.addItem.js +47 -0
  54. package/es/events/external/handlers.changeDoorStyle.js +139 -0
  55. package/es/events/external/handlers.elementOps.js +8 -0
  56. package/es/events/external/handlers.finishing.js +26 -0
  57. package/es/events/external/handlers.hole.js +4 -0
  58. package/es/events/external/handlers.loadProject.js +128 -0
  59. package/es/events/external/handlers.molding.js +24 -0
  60. package/es/events/external/handlers.projectLifecycle.js +11 -0
  61. package/es/events/external/handlers.projectSettings.js +32 -0
  62. package/es/events/external/handlers.replaceCabinet.js +41 -0
  63. package/es/events/external/handlers.roomShape.js +8 -0
  64. package/es/events/external/handlers.syncScene.js +21 -0
  65. package/es/events/external/handlers.updateSelectedElements.js +11 -0
  66. package/es/events/external/handlers.viewMode.js +11 -0
  67. package/es/events/external/handlers.viewerNavigation.js +108 -0
  68. package/es/events/external/handlers.wall.js +7 -0
  69. package/es/index.js +37 -87
  70. package/es/mappings/external-events/mapExternalEventPayload.js +28 -0
  71. package/es/mappings/external-events/mappers/addItemMapper.js +95 -0
  72. package/es/mappings/external-events/mappers/ccdfMapper.js +86 -0
  73. package/es/mappings/external-events/mappers/ccdfToCDSMapper.js +31 -0
  74. package/es/mappings/external-events/mappers/changeDoorStyleMapper.js +37 -0
  75. package/es/mappings/external-events/mappers/loadProjectMapper.js +62 -0
  76. package/es/mappings/holesToCatalog.js +139 -0
  77. package/es/models.js +16 -1
  78. package/es/plugins/keyboard.js +1 -1
  79. package/es/reducers/export.js +2 -4
  80. package/es/reducers/items-reducer.js +4 -2
  81. package/es/reducers/project-reducer.js +1 -1
  82. package/es/reducers/reducer.js +2 -3
  83. package/es/reducers/viewer2d-reducer.js +0 -2
  84. package/es/shared/objects/immutable.js +3 -0
  85. package/es/utils/convert-units-lite.js +9 -0
  86. package/es/utils/geometry.js +598 -78
  87. package/es/utils/helper.js +45 -30
  88. package/es/utils/history.js +13 -1
  89. package/es/utils/molding.js +12 -241
  90. package/es/utils/name-generator.js +0 -3
  91. package/es/utils/skinPanelEngine.js +526 -0
  92. package/lib/@history.js +11 -0
  93. package/lib/AppContext.js +11 -0
  94. package/lib/LiteKitchenConfigurator.js +527 -0
  95. package/lib/LiteRenderer.js +323 -0
  96. package/lib/actions/area-actions.js +21 -0
  97. package/lib/actions/export.js +36 -0
  98. package/lib/actions/groups-actions.js +107 -0
  99. package/lib/actions/holes-actions.js +140 -0
  100. package/lib/actions/items-actions.js +383 -0
  101. package/lib/actions/lines-actions.js +98 -0
  102. package/lib/actions/project-actions.js +351 -0
  103. package/lib/actions/scene-actions.js +43 -0
  104. package/lib/actions/vertices-actions.js +35 -0
  105. package/lib/actions/viewer2d-actions.js +73 -0
  106. package/lib/actions/viewer3d-actions.js +32 -0
  107. package/lib/analytics/ga4.js +194 -0
  108. package/lib/analytics/posthog.js +68 -0
  109. package/lib/assets/Window.hdr +2100 -0
  110. package/lib/assets/brown_photostudio_02_1k.hdr +0 -0
  111. package/lib/assets/fonts/Rene Bieder Milliard Black Italic.woff +0 -0
  112. package/lib/assets/fonts/Rene Bieder Milliard Black.woff +0 -0
  113. package/lib/assets/fonts/Rene Bieder Milliard Bold Italic.woff +0 -0
  114. package/lib/assets/fonts/Rene Bieder Milliard Bold.woff +0 -0
  115. package/lib/assets/fonts/Rene Bieder Milliard Book Italic.woff +0 -0
  116. package/lib/assets/fonts/Rene Bieder Milliard Book.woff +0 -0
  117. package/lib/assets/fonts/Rene Bieder Milliard ExtraBold Italic.woff +0 -0
  118. package/lib/assets/fonts/Rene Bieder Milliard ExtraBold.woff +0 -0
  119. package/lib/assets/fonts/Rene Bieder Milliard ExtraLight Italic.woff +0 -0
  120. package/lib/assets/fonts/Rene Bieder Milliard ExtraLight.woff +0 -0
  121. package/lib/assets/fonts/Rene Bieder Milliard Hairline Italic.woff +0 -0
  122. package/lib/assets/fonts/Rene Bieder Milliard Hairline.woff +0 -0
  123. package/lib/assets/fonts/Rene Bieder Milliard Heavy Italic.woff +0 -0
  124. package/lib/assets/fonts/Rene Bieder Milliard Heavy.woff +0 -0
  125. package/lib/assets/fonts/Rene Bieder Milliard Light Italic.woff +0 -0
  126. package/lib/assets/fonts/Rene Bieder Milliard Light.woff +0 -0
  127. package/lib/assets/fonts/Rene Bieder Milliard Medium Italic.woff +0 -0
  128. package/lib/assets/fonts/Rene Bieder Milliard Medium.woff +0 -0
  129. package/lib/assets/fonts/Rene Bieder Milliard SemiBold Italic.woff +0 -0
  130. package/lib/assets/fonts/Rene Bieder Milliard SemiBold.woff +0 -0
  131. package/lib/assets/fonts/Rene Bieder Milliard Thin Italic.woff +0 -0
  132. package/lib/assets/fonts/Rene Bieder Milliard Thin.woff +0 -0
  133. package/lib/assets/fonts/style.css +177 -0
  134. package/lib/assets/gltf/door_closet.gltf +1 -0
  135. package/lib/assets/gltf/door_exterior.gltf +1 -0
  136. package/lib/assets/gltf/door_interior.gltf +1 -0
  137. package/lib/assets/gltf/door_sliding.gltf +1 -0
  138. package/lib/assets/gltf/doorway_framed.bin +0 -0
  139. package/lib/assets/gltf/doorway_framed.fbx +0 -0
  140. package/lib/assets/gltf/doorway_framed.gltf +1 -0
  141. package/lib/assets/gltf/window_clear.bin +0 -0
  142. package/lib/assets/gltf/window_clear.fbx +0 -0
  143. package/lib/assets/gltf/window_clear.gltf +1 -0
  144. package/lib/assets/gltf/window_cross.bin +0 -0
  145. package/lib/assets/gltf/window_cross.fbx +0 -0
  146. package/lib/assets/gltf/window_cross.gltf +1 -0
  147. package/lib/assets/gltf/window_double_hung.bin +0 -0
  148. package/lib/assets/gltf/window_double_hung.fbx +0 -0
  149. package/lib/assets/gltf/window_double_hung.gltf +1 -0
  150. package/lib/assets/gltf/window_vertical.bin +0 -0
  151. package/lib/assets/gltf/window_vertical.fbx +0 -0
  152. package/lib/assets/gltf/window_vertical.gltf +1 -0
  153. package/lib/assets/img/TKC_thumbnail.png +0 -0
  154. package/lib/assets/img/Toggle.png +0 -0
  155. package/lib/assets/img/default/maple.jpg +0 -0
  156. package/lib/assets/img/default/steel.jpg +0 -0
  157. package/lib/assets/img/loading/loading.gif +0 -0
  158. package/lib/assets/img/loading/loading_1.svg +11 -0
  159. package/lib/assets/img/loading_large.gif +0 -0
  160. package/lib/assets/img/png/door/closet.png +0 -0
  161. package/lib/assets/img/png/door/doorwaysframed.png +0 -0
  162. package/lib/assets/img/png/door/doorwaysframeles.png +0 -0
  163. package/lib/assets/img/png/door/doorwaysframeless.png +0 -0
  164. package/lib/assets/img/png/door/exterior.png +0 -0
  165. package/lib/assets/img/png/door/interior.png +0 -0
  166. package/lib/assets/img/png/door/sliding.png +0 -0
  167. package/lib/assets/img/png/helper/outcome.png +0 -0
  168. package/lib/assets/img/project_img.png +0 -0
  169. package/lib/assets/img/rta/rta_logo_box_blue.jpg +0 -0
  170. package/lib/assets/img/rta/rta_logo_box_blue_ico.jpg +0 -0
  171. package/lib/assets/img/rta/rta_logo_box_blue_ico.svg +55 -0
  172. package/lib/assets/img/rta/rta_logo_box_darkGray.jpg +0 -0
  173. package/lib/assets/img/rta/rta_logo_box_lightblue.png +0 -0
  174. package/lib/assets/img/rta/rta_logo_box_lightmaroon.png +0 -0
  175. package/lib/assets/img/rta/rta_logo_box_maroon.png +0 -0
  176. package/lib/assets/img/rta/rta_logo_box_white.png +0 -0
  177. package/lib/assets/img/rta_menu.png +0 -0
  178. package/lib/assets/img/step2.jpg +0 -0
  179. package/lib/assets/img/step3.jpg +0 -0
  180. package/lib/assets/img/step4.jpg +0 -0
  181. package/lib/assets/img/step5.jpg +0 -0
  182. package/lib/assets/img/step6.jpg +0 -0
  183. package/lib/assets/img/step7.jpg +0 -0
  184. package/lib/assets/img/step8.jpg +0 -0
  185. package/lib/assets/img/svg/2d_delete_object.svg +33 -0
  186. package/lib/assets/img/svg/2d_delete_object1.svg +33 -0
  187. package/lib/assets/img/svg/2d_lock_object.svg +33 -0
  188. package/lib/assets/img/svg/3d_item_move.svg +106 -0
  189. package/lib/assets/img/svg/3d_item_rotation.svg +76 -0
  190. package/lib/assets/img/svg/3d_item_warning_edit.svg +77 -0
  191. package/lib/assets/img/svg/3d_item_warning_info.svg +81 -0
  192. package/lib/assets/img/svg/accessories.svg +4 -0
  193. package/lib/assets/img/svg/angle_icon.svg +39 -0
  194. package/lib/assets/img/svg/blank_div.svg +14 -0
  195. package/lib/assets/img/svg/bottombar/2d3d_button.svg +3 -0
  196. package/lib/assets/img/svg/bottombar/2d3d_button_active.svg +3 -0
  197. package/lib/assets/img/svg/bottombar/2d3d_toggle.svg +4 -0
  198. package/lib/assets/img/svg/bottombar/2d3d_toggle_active.svg +4 -0
  199. package/lib/assets/img/svg/bottombar/arrow-down.svg +3 -0
  200. package/lib/assets/img/svg/bottombar/arrow-left.svg +3 -0
  201. package/lib/assets/img/svg/bottombar/arrow-minus.svg +3 -0
  202. package/lib/assets/img/svg/bottombar/arrow-plus.svg +11 -0
  203. package/lib/assets/img/svg/bottombar/arrow-right.svg +3 -0
  204. package/lib/assets/img/svg/bottombar/arrow-up.svg +3 -0
  205. package/lib/assets/img/svg/bottombar/collapse.svg +3 -0
  206. package/lib/assets/img/svg/bottombar/elevation-back.svg +6 -0
  207. package/lib/assets/img/svg/bottombar/elevation-front.svg +6 -0
  208. package/lib/assets/img/svg/bottombar/elevation-left.svg +6 -0
  209. package/lib/assets/img/svg/bottombar/elevation-right.svg +7 -0
  210. package/lib/assets/img/svg/bottombar/elevation.svg +13 -0
  211. package/lib/assets/img/svg/bottombar/expand.svg +3 -0
  212. package/lib/assets/img/svg/bottombar/help.svg +72 -0
  213. package/lib/assets/img/svg/bottombar/incm_toggle.svg +39 -0
  214. package/lib/assets/img/svg/bottombar/pan_1.svg +57 -0
  215. package/lib/assets/img/svg/bottombar/pan_2.svg +27 -0
  216. package/lib/assets/img/svg/bottombar/pan_3.svg +27 -0
  217. package/lib/assets/img/svg/bottombar/pan_4.svg +27 -0
  218. package/lib/assets/img/svg/bottombar/pan_5.svg +27 -0
  219. package/lib/assets/img/svg/bottombar/settings.svg +23 -0
  220. package/lib/assets/img/svg/bottombar/spin-down.svg +76 -0
  221. package/lib/assets/img/svg/bottombar/spin-left.svg +75 -0
  222. package/lib/assets/img/svg/bottombar/spin-right.svg +75 -0
  223. package/lib/assets/img/svg/bottombar/spin-up.svg +76 -0
  224. package/lib/assets/img/svg/bottombar/spin_1.svg +48 -0
  225. package/lib/assets/img/svg/bottombar/spin_2.svg +31 -0
  226. package/lib/assets/img/svg/bottombar/spin_3.svg +31 -0
  227. package/lib/assets/img/svg/bottombar/spin_4.svg +31 -0
  228. package/lib/assets/img/svg/bottombar/spin_5.svg +31 -0
  229. package/lib/assets/img/svg/bottombar/zoomin.svg +29 -0
  230. package/lib/assets/img/svg/bottombar/zoomout.svg +26 -0
  231. package/lib/assets/img/svg/check.svg +10 -0
  232. package/lib/assets/img/svg/close.svg +11 -0
  233. package/lib/assets/img/svg/color/Black.svg +3 -0
  234. package/lib/assets/img/svg/color/Blue.svg +3 -0
  235. package/lib/assets/img/svg/color/Cream.svg +3 -0
  236. package/lib/assets/img/svg/color/Gray.svg +3 -0
  237. package/lib/assets/img/svg/color/Green.svg +3 -0
  238. package/lib/assets/img/svg/color/White.svg +3 -0
  239. package/lib/assets/img/svg/color/White.svg.bak +3 -0
  240. package/lib/assets/img/svg/color/stone2.jpg +0 -0
  241. package/lib/assets/img/svg/color/wood2.jpg +0 -0
  242. package/lib/assets/img/svg/copy.svg +11 -0
  243. package/lib/assets/img/svg/delete.svg +3 -0
  244. package/lib/assets/img/svg/detail.svg +77 -0
  245. package/lib/assets/img/svg/disclaimer/background.svg +758 -0
  246. package/lib/assets/img/svg/disclaimer/logo-dots.svg +11 -0
  247. package/lib/assets/img/svg/door/Closet.svg +11 -0
  248. package/lib/assets/img/svg/door/Exterior.svg +5 -0
  249. package/lib/assets/img/svg/door/Framed_dorway.svg +5 -0
  250. package/lib/assets/img/svg/door/Frameless_dorway.svg +5 -0
  251. package/lib/assets/img/svg/door/Interior.svg +7 -0
  252. package/lib/assets/img/svg/door/Sliding.svg +5 -0
  253. package/lib/assets/img/svg/doors_closet.svg +47 -0
  254. package/lib/assets/img/svg/doors_exterior.svg +25 -0
  255. package/lib/assets/img/svg/doors_interior.svg +29 -0
  256. package/lib/assets/img/svg/doors_patio.svg +26 -0
  257. package/lib/assets/img/svg/duplicate.svg +11 -0
  258. package/lib/assets/img/svg/duplicate_object_left.svg +32 -0
  259. package/lib/assets/img/svg/duplicate_object_right.svg +32 -0
  260. package/lib/assets/img/svg/filtersActive.svg +19 -0
  261. package/lib/assets/img/svg/firstsetting/L.svg +3 -0
  262. package/lib/assets/img/svg/firstsetting/L2.svg +3 -0
  263. package/lib/assets/img/svg/firstsetting/Open.svg +3 -0
  264. package/lib/assets/img/svg/firstsetting/Square.svg +3 -0
  265. package/lib/assets/img/svg/firstsetting/bar-active.svg +9 -0
  266. package/lib/assets/img/svg/firstsetting/bar-normal.svg +3 -0
  267. package/lib/assets/img/svg/firstsetting/bullet-current.svg +3 -0
  268. package/lib/assets/img/svg/firstsetting/bullet-done.svg +3 -0
  269. package/lib/assets/img/svg/firstsetting/bullet-not-done.svg +3 -0
  270. package/lib/assets/img/svg/firstsetting/check-active.svg +3 -0
  271. package/lib/assets/img/svg/firstsetting/check-normal.svg +3 -0
  272. package/lib/assets/img/svg/firstsetting/pencil.svg +11 -0
  273. package/lib/assets/img/svg/green_checkmark.svg +27 -0
  274. package/lib/assets/img/svg/headerbar/assist.svg +3 -0
  275. package/lib/assets/img/svg/headerbar/cart.svg +3 -0
  276. package/lib/assets/img/svg/headerbar/check.svg +10 -0
  277. package/lib/assets/img/svg/headerbar/consult_designer.svg +45 -0
  278. package/lib/assets/img/svg/headerbar/edit_name.svg +26 -0
  279. package/lib/assets/img/svg/headerbar/file-dollar.svg +13 -0
  280. package/lib/assets/img/svg/headerbar/hamburger_menu.svg +32 -0
  281. package/lib/assets/img/svg/headerbar/plus.svg +11 -0
  282. package/lib/assets/img/svg/headerbar/review_quote.svg +44 -0
  283. package/lib/assets/img/svg/headerbar/ruler-measure.svg +11 -0
  284. package/lib/assets/img/svg/headerbar/save.svg +3 -0
  285. package/lib/assets/img/svg/headerbar/setting.svg +75 -0
  286. package/lib/assets/img/svg/help/check.svg +10 -0
  287. package/lib/assets/img/svg/help/search.svg +76 -0
  288. package/lib/assets/img/svg/intro/1-start-with-floorplan-whole.svg +27 -0
  289. package/lib/assets/img/svg/intro/1-start-with-floorplan.svg +26 -0
  290. package/lib/assets/img/svg/intro/2-start-from-scratch-whole.svg +28 -0
  291. package/lib/assets/img/svg/intro/2-start-from-scratch.svg +27 -0
  292. package/lib/assets/img/svg/intro/3-retrieve-project-whole.svg +19 -0
  293. package/lib/assets/img/svg/intro/3-retrieve-project.svg +18 -0
  294. package/lib/assets/img/svg/invert.svg +127 -0
  295. package/lib/assets/img/svg/lefttoolbar/appliance-active.svg +13 -0
  296. package/lib/assets/img/svg/lefttoolbar/appliance.svg +13 -0
  297. package/lib/assets/img/svg/lefttoolbar/cabinet-active.svg +10 -0
  298. package/lib/assets/img/svg/lefttoolbar/cabinet-category.svg +3 -0
  299. package/lib/assets/img/svg/lefttoolbar/cabinet-one.svg +3 -0
  300. package/lib/assets/img/svg/lefttoolbar/cabinet.svg +10 -0
  301. package/lib/assets/img/svg/lefttoolbar/disigner_assistance.svg +89 -0
  302. package/lib/assets/img/svg/lefttoolbar/door-style-active.svg +20 -0
  303. package/lib/assets/img/svg/lefttoolbar/door-style.svg +20 -0
  304. package/lib/assets/img/svg/lefttoolbar/door.svg +12 -0
  305. package/lib/assets/img/svg/lefttoolbar/error_icon.svg +81 -0
  306. package/lib/assets/img/svg/lefttoolbar/finishing-active.svg +13 -0
  307. package/lib/assets/img/svg/lefttoolbar/finishing.svg +13 -0
  308. package/lib/assets/img/svg/lefttoolbar/reviewforquote-active.svg +86 -0
  309. package/lib/assets/img/svg/lefttoolbar/reviewforquote.svg +12 -0
  310. package/lib/assets/img/svg/lefttoolbar/room-shape-L.svg +3 -0
  311. package/lib/assets/img/svg/lefttoolbar/room-shape-active.svg +18 -0
  312. package/lib/assets/img/svg/lefttoolbar/room-shape-custom.svg +12 -0
  313. package/lib/assets/img/svg/lefttoolbar/room-shape-irregular.svg +3 -0
  314. package/lib/assets/img/svg/lefttoolbar/room-shape-open.svg +3 -0
  315. package/lib/assets/img/svg/lefttoolbar/room-shape-square.svg +3 -0
  316. package/lib/assets/img/svg/lefttoolbar/room-shape.svg +18 -0
  317. package/lib/assets/img/svg/lefttoolbar/search.svg +76 -0
  318. package/lib/assets/img/svg/lefttoolbar/view_more.svg +86 -0
  319. package/lib/assets/img/svg/lefttoolbar/warning_icon.svg +81 -0
  320. package/lib/assets/img/svg/lefttoolbar/window.svg +12 -0
  321. package/lib/assets/img/svg/logo.svg +11 -0
  322. package/lib/assets/img/svg/logo_with_text.svg +25 -0
  323. package/lib/assets/img/svg/menubar/login.svg +84 -0
  324. package/lib/assets/img/svg/menubar/my_projects.svg +85 -0
  325. package/lib/assets/img/svg/menubar/new_project.svg +110 -0
  326. package/lib/assets/img/svg/menubar/save_project.svg +84 -0
  327. package/lib/assets/img/svg/options.svg +3 -0
  328. package/lib/assets/img/svg/positioning.svg +3 -0
  329. package/lib/assets/img/svg/rotate.png +0 -0
  330. package/lib/assets/img/svg/rotate.svg +17 -0
  331. package/lib/assets/img/svg/rotate_object_clockwise.svg +26 -0
  332. package/lib/assets/img/svg/rotate_object_counterclockwise.svg +26 -0
  333. package/lib/assets/img/svg/toggleFilters.svg +19 -0
  334. package/lib/assets/img/svg/toolbar/add_appliances_active.svg +64 -0
  335. package/lib/assets/img/svg/toolbar/add_appliances_inactive.svg +52 -0
  336. package/lib/assets/img/svg/toolbar/add_button.svg +36 -0
  337. package/lib/assets/img/svg/toolbar/add_cabinets_active.svg +59 -0
  338. package/lib/assets/img/svg/toolbar/add_cabinets_inactive.svg +49 -0
  339. package/lib/assets/img/svg/toolbar/add_items_doors.svg +25 -0
  340. package/lib/assets/img/svg/toolbar/add_items_doorways.svg +24 -0
  341. package/lib/assets/img/svg/toolbar/add_items_refrigerator.svg +32 -0
  342. package/lib/assets/img/svg/toolbar/add_items_windows.svg +28 -0
  343. package/lib/assets/img/svg/toolbar/apply_button.svg +38 -0
  344. package/lib/assets/img/svg/toolbar/arrow-plus.svg +11 -0
  345. package/lib/assets/img/svg/toolbar/backsplash.svg +8 -0
  346. package/lib/assets/img/svg/toolbar/cancel_button.svg +37 -0
  347. package/lib/assets/img/svg/toolbar/consult_a_designer_button.svg +47 -0
  348. package/lib/assets/img/svg/toolbar/countertop.svg +7 -0
  349. package/lib/assets/img/svg/toolbar/dcm.png +0 -0
  350. package/lib/assets/img/svg/toolbar/dcm_off.svg +12 -0
  351. package/lib/assets/img/svg/toolbar/dcm_on.svg +474 -0
  352. package/lib/assets/img/svg/toolbar/delete_button.svg +37 -0
  353. package/lib/assets/img/svg/toolbar/download.svg +77 -0
  354. package/lib/assets/img/svg/toolbar/draw_custom_floor.svg +31 -0
  355. package/lib/assets/img/svg/toolbar/edit_button.svg +75 -0
  356. package/lib/assets/img/svg/toolbar/email_quote_button.svg +44 -0
  357. package/lib/assets/img/svg/toolbar/fbm.png +0 -0
  358. package/lib/assets/img/svg/toolbar/finishing_touches_active.svg +54 -0
  359. package/lib/assets/img/svg/toolbar/finishing_touches_inactive.svg +42 -0
  360. package/lib/assets/img/svg/toolbar/floorstyle.svg +9 -0
  361. package/lib/assets/img/svg/toolbar/fmb.png +0 -0
  362. package/lib/assets/img/svg/toolbar/fmb_off.svg +12 -0
  363. package/lib/assets/img/svg/toolbar/fmb_on.svg +489 -0
  364. package/lib/assets/img/svg/toolbar/furnishings_icon.svg +6 -0
  365. package/lib/assets/img/svg/toolbar/get_started_button.svg +41 -0
  366. package/lib/assets/img/svg/toolbar/handles.svg +5 -0
  367. package/lib/assets/img/svg/toolbar/lighting.svg +7 -0
  368. package/lib/assets/img/svg/toolbar/lrm.png +0 -0
  369. package/lib/assets/img/svg/toolbar/lrm_off.svg +12 -0
  370. package/lib/assets/img/svg/toolbar/lrm_on.svg +470 -0
  371. package/lib/assets/img/svg/toolbar/make_floorplan_active.svg +66 -0
  372. package/lib/assets/img/svg/toolbar/make_floorplan_inactive.svg +52 -0
  373. package/lib/assets/img/svg/toolbar/predefined_room_l_shaped.svg +20 -0
  374. package/lib/assets/img/svg/toolbar/predefined_room_layout.svg +20 -0
  375. package/lib/assets/img/svg/toolbar/predefined_room_long_narrow.svg +20 -0
  376. package/lib/assets/img/svg/toolbar/predefined_room_open_l_shape.svg +20 -0
  377. package/lib/assets/img/svg/toolbar/predefined_room_open_pentagon.svg +20 -0
  378. package/lib/assets/img/svg/toolbar/predefined_room_open_rectangle.svg +20 -0
  379. package/lib/assets/img/svg/toolbar/predefined_room_open_rectangle_2.svg +20 -0
  380. package/lib/assets/img/svg/toolbar/predefined_room_pentagon.svg +20 -0
  381. package/lib/assets/img/svg/toolbar/predefined_room_rectangle.svg +20 -0
  382. package/lib/assets/img/svg/toolbar/predefined_room_rectangle_with_alcove.svg +20 -0
  383. package/lib/assets/img/svg/toolbar/redo_button.svg +75 -0
  384. package/lib/assets/img/svg/toolbar/redo_button1.svg +75 -0
  385. package/lib/assets/img/svg/toolbar/review_quote_active.svg +14 -0
  386. package/lib/assets/img/svg/toolbar/review_quote_inactive.svg +44 -0
  387. package/lib/assets/img/svg/toolbar/save_project_button.svg +44 -0
  388. package/lib/assets/img/svg/toolbar/select_doorstyle_active.svg +67 -0
  389. package/lib/assets/img/svg/toolbar/select_doorstyle_inactive.svg +57 -0
  390. package/lib/assets/img/svg/toolbar/shopping-cart.svg +13 -0
  391. package/lib/assets/img/svg/toolbar/style_change_button.svg +47 -0
  392. package/lib/assets/img/svg/toolbar/take_picture.svg +75 -0
  393. package/lib/assets/img/svg/toolbar/undo_button.svg +76 -0
  394. package/lib/assets/img/svg/toolbar/undo_button1.svg +76 -0
  395. package/lib/assets/img/svg/toolbar/use_button.svg +37 -0
  396. package/lib/assets/img/svg/toolbar/wall_color_icon.svg +6 -0
  397. package/lib/assets/img/svg/topbar/edit_active.svg +10 -0
  398. package/lib/assets/img/svg/topbar/edit_inactive.svg +10 -0
  399. package/lib/assets/img/svg/topbar/redo_active.svg +42 -0
  400. package/lib/assets/img/svg/topbar/redo_inactive.svg +23 -0
  401. package/lib/assets/img/svg/topbar/select_all_active.svg +50 -0
  402. package/lib/assets/img/svg/topbar/select_all_inactive.svg +32 -0
  403. package/lib/assets/img/svg/topbar/take_picture_active.svg +51 -0
  404. package/lib/assets/img/svg/topbar/take_picture_inactive.svg +26 -0
  405. package/lib/assets/img/svg/topbar/undo_active.svg +42 -0
  406. package/lib/assets/img/svg/topbar/undo_inactive.svg +23 -0
  407. package/lib/assets/img/svg/warning_info_2d.svg +81 -0
  408. package/lib/assets/img/svg/window/Clear.svg +3 -0
  409. package/lib/assets/img/svg/window/Cross.svg +5 -0
  410. package/lib/assets/img/svg/window/Double_hung.svg +4 -0
  411. package/lib/assets/img/svg/window/Vertical.svg +4 -0
  412. package/lib/assets/img/svg/windows_clear.svg +23 -0
  413. package/lib/assets/img/svg/windows_cross.svg +28 -0
  414. package/lib/assets/img/svg/windows_double_hung.svg +24 -0
  415. package/lib/assets/img/svg/windows_vertical.svg +24 -0
  416. package/lib/assets/img/svg/wizardstep/Custom.svg +3 -0
  417. package/lib/assets/img/svg/wizardstep/Dashed_line.svg +3 -0
  418. package/lib/assets/img/svg/wizardstep/L.svg +3 -0
  419. package/lib/assets/img/svg/wizardstep/L2.svg +3 -0
  420. package/lib/assets/img/svg/wizardstep/Open.svg +3 -0
  421. package/lib/assets/img/svg/wizardstep/Square.svg +3 -0
  422. package/lib/assets/img/svg/wizardstep/bar-active.svg +9 -0
  423. package/lib/assets/img/svg/wizardstep/bar-normal.svg +3 -0
  424. package/lib/assets/img/svg/wizardstep/bullet-current.svg +3 -0
  425. package/lib/assets/img/svg/wizardstep/bullet-done.svg +3 -0
  426. package/lib/assets/img/svg/wizardstep/bullet-not-done.svg +3 -0
  427. package/lib/assets/img/svg/wizardstep/check-active.svg +3 -0
  428. package/lib/assets/img/svg/wizardstep/check-normal.svg +3 -0
  429. package/lib/assets/img/svg/wizardstep/detail_view.svg +87 -0
  430. package/lib/assets/img/svg/wizardstep/pencil.svg +11 -0
  431. package/lib/assets/img/svg/wizardstep/tile_view.svg +95 -0
  432. package/lib/assets/img/texture/glass.jpg +0 -0
  433. package/lib/assets/img/texture/steel.jpg +0 -0
  434. package/lib/assets/img/texture/white1px.jpg +0 -0
  435. package/lib/assets/img/texture/wood.jpg +0 -0
  436. package/lib/assets/model/DCM.bin +0 -0
  437. package/lib/assets/model/DCM.fbx +0 -0
  438. package/lib/assets/model/DCM.gltf +1 -0
  439. package/lib/assets/model/FBM.bin +0 -0
  440. package/lib/assets/model/FBM.fbx +0 -0
  441. package/lib/assets/model/FBM.gltf +1 -0
  442. package/lib/assets/model/LRM.bin +0 -0
  443. package/lib/assets/model/LRM.fbx +0 -0
  444. package/lib/assets/model/LRM.gltf +1 -0
  445. package/lib/assets/rtastore_logo.png +0 -0
  446. package/lib/catalog/areas/area/planner-element.js +53 -0
  447. package/lib/catalog/areas/area/textures/ceramic-tile.jpg +0 -0
  448. package/lib/catalog/areas/area/textures/grass.jpg +0 -0
  449. package/lib/catalog/areas/area/textures/parquet.jpg +0 -0
  450. package/lib/catalog/areas/area/textures/strand-porcelain.jpg +0 -0
  451. package/lib/catalog/areas/area/textures/tile1.jpg +0 -0
  452. package/lib/catalog/back.png +0 -0
  453. package/lib/catalog/catalog.js +270 -0
  454. package/lib/catalog/doors.png +0 -0
  455. package/lib/catalog/doorways.png +0 -0
  456. package/lib/catalog/envMap/nx.hdr +0 -0
  457. package/lib/catalog/envMap/ny.hdr +0 -0
  458. package/lib/catalog/envMap/nz.hdr +0 -0
  459. package/lib/catalog/envMap/px.hdr +0 -0
  460. package/lib/catalog/envMap/py.hdr +0 -0
  461. package/lib/catalog/envMap/pz.hdr +0 -0
  462. package/lib/catalog/export.js +1 -0
  463. package/lib/catalog/factories/area-factory-3d.js +187 -0
  464. package/lib/catalog/factories/area-factory.js +88 -0
  465. package/lib/catalog/factories/export.js +25 -0
  466. package/lib/catalog/factories/wall-factory-3d.js +212 -0
  467. package/lib/catalog/factories/wall-factory.js +279 -0
  468. package/lib/catalog/holes/door-closet/planner-element.js +232 -0
  469. package/lib/catalog/holes/door-double/door_double.png +0 -0
  470. package/lib/catalog/holes/door-double/planner-element.js +325 -0
  471. package/lib/catalog/holes/door-exterior/planner-element.js +225 -0
  472. package/lib/catalog/holes/door-interior/planner-element.js +237 -0
  473. package/lib/catalog/holes/door-panic/panicDoor.png +0 -0
  474. package/lib/catalog/holes/door-panic/planner-element.js +513 -0
  475. package/lib/catalog/holes/door-panic-double/panicDoorDouble.png +0 -0
  476. package/lib/catalog/holes/door-panic-double/planner-element.js +473 -0
  477. package/lib/catalog/holes/door-sliding/planner-element.js +235 -0
  478. package/lib/catalog/holes/doorway-framed/planner-element.js +155 -0
  479. package/lib/catalog/holes/doorway-frameless/planner-element.js +114 -0
  480. package/lib/catalog/holes/export.js +97 -0
  481. package/lib/catalog/holes/gate/gate.jpg +0 -0
  482. package/lib/catalog/holes/window-clear/planner-element.js +176 -0
  483. package/lib/catalog/holes/window-clear/texture.png +0 -0
  484. package/lib/catalog/holes/window-cross/planner-element.js +175 -0
  485. package/lib/catalog/holes/window-cross/texture.png +0 -0
  486. package/lib/catalog/holes/window-double-hung/planner-element.js +313 -0
  487. package/lib/catalog/holes/window-double-hung/texture.png +0 -0
  488. package/lib/catalog/holes/window-vertical/planner-element.js +286 -0
  489. package/lib/catalog/holes/window-vertical/texture.png +0 -0
  490. package/lib/catalog/lines/wall/planner-element.js +87 -0
  491. package/lib/catalog/lines/wall/textures/bricks-normal.jpg +0 -0
  492. package/lib/catalog/lines/wall/textures/bricks.jpg +0 -0
  493. package/lib/catalog/lines/wall/textures/bricks2.jpg +0 -0
  494. package/lib/catalog/lines/wall/textures/morden-normal.jpg +0 -0
  495. package/lib/catalog/lines/wall/textures/morden.jpg +0 -0
  496. package/lib/catalog/lines/wall/textures/painted.jpg +0 -0
  497. package/lib/catalog/lines/wall/textures/plaster-normal.jpg +0 -0
  498. package/lib/catalog/lines/wall/textures/plaster.jpg +0 -0
  499. package/lib/catalog/lines/wall/wall.png +0 -0
  500. package/lib/catalog/molding/molding-dcm/planner-element.js +33 -0
  501. package/lib/catalog/molding/molding-dcm/texture.png +0 -0
  502. package/lib/catalog/molding/molding-fbm/planner-element.js +33 -0
  503. package/lib/catalog/molding/molding-fbm/texture.png +0 -0
  504. package/lib/catalog/molding/molding-lrm/planner-element.js +33 -0
  505. package/lib/catalog/molding/molding-lrm/texture.png +0 -0
  506. package/lib/catalog/utils/exporter.js +173 -0
  507. package/lib/catalog/utils/geom-utils.js +205 -0
  508. package/lib/catalog/utils/item-loader.js +1597 -0
  509. package/lib/catalog/utils/load-obj.js +99 -0
  510. package/lib/catalog/utils/mtl-loader.js +366 -0
  511. package/lib/catalog/utils/obj-loader.js +486 -0
  512. package/lib/catalog/windows.png +0 -0
  513. package/lib/class/area.js +147 -0
  514. package/lib/class/export.js +88 -0
  515. package/lib/class/group.js +438 -0
  516. package/lib/class/guide.js +64 -0
  517. package/lib/class/hole.js +930 -0
  518. package/lib/class/item.js +1985 -0
  519. package/lib/class/layer.js +670 -0
  520. package/lib/class/line.js +1238 -0
  521. package/lib/class/project.js +949 -0
  522. package/lib/class/vertex.js +205 -0
  523. package/lib/components/content.js +148 -0
  524. package/lib/components/export.js +7 -0
  525. package/lib/components/style/export.js +17 -0
  526. package/lib/components/style/form-number-input.js +192 -0
  527. package/lib/components/style/form-submit-button.js +35 -0
  528. package/lib/components/viewer2d/area.js +89 -0
  529. package/lib/components/viewer2d/export.js +121 -0
  530. package/lib/components/viewer2d/grids/grid-horizontal-streak.js +44 -0
  531. package/lib/components/viewer2d/grids/grid-streak.js +44 -0
  532. package/lib/components/viewer2d/grids/grid-vertical-streak.js +44 -0
  533. package/lib/components/viewer2d/grids/grids.js +40 -0
  534. package/lib/components/viewer2d/group.js +63 -0
  535. package/lib/components/viewer2d/item.js +245 -0
  536. package/lib/components/viewer2d/layer.js +172 -0
  537. package/lib/components/viewer2d/line.js +975 -0
  538. package/lib/components/viewer2d/ruler.js +92 -0
  539. package/lib/components/viewer2d/rulerDist.js +110 -0
  540. package/lib/components/viewer2d/rulerX.js +154 -0
  541. package/lib/components/viewer2d/rulerY.js +156 -0
  542. package/lib/components/viewer2d/scene.js +137 -0
  543. package/lib/components/viewer2d/snap.js +84 -0
  544. package/lib/components/viewer2d/state.js +83 -0
  545. package/lib/components/viewer2d/utils.js +207 -0
  546. package/lib/components/viewer2d/vertex.js +76 -0
  547. package/lib/components/viewer2d/viewer2d.js +1472 -0
  548. package/lib/components/viewer3d/camera-controls-module/camera-controls.module.js +2591 -0
  549. package/lib/components/viewer3d/dcm.js +408 -0
  550. package/lib/components/viewer3d/fbm.js +421 -0
  551. package/lib/components/viewer3d/front3D.js +71 -0
  552. package/lib/components/viewer3d/grid-creator.js +35 -0
  553. package/lib/components/viewer3d/grids/grid-horizontal-streak.js +45 -0
  554. package/lib/components/viewer3d/grids/grid-streak.js +36 -0
  555. package/lib/components/viewer3d/grids/grid-vertical-streak.js +45 -0
  556. package/lib/components/viewer3d/libs/first-person-controls.js +74 -0
  557. package/lib/components/viewer3d/libs/helvetiker_regular.typeface.js +1287 -0
  558. package/lib/components/viewer3d/libs/mtl-loader.js +366 -0
  559. package/lib/components/viewer3d/libs/obj-loader.js +471 -0
  560. package/lib/components/viewer3d/libs/orbit-controls.js +706 -0
  561. package/lib/components/viewer3d/libs/pointer-lock-controls.js +53 -0
  562. package/lib/components/viewer3d/lrm.js +312 -0
  563. package/lib/components/viewer3d/model.js +714 -0
  564. package/lib/components/viewer3d/pointer-lock-navigation.js +32 -0
  565. package/lib/components/viewer3d/ruler-utils/itemRect.js +69 -0
  566. package/lib/components/viewer3d/ruler-utils/layer3D.js +503 -0
  567. package/lib/components/viewer3d/ruler-utils/ruler3D.js +232 -0
  568. package/lib/components/viewer3d/ruler-utils/scene3D.js +67 -0
  569. package/lib/components/viewer3d/ruler-utils/state3D.js +26 -0
  570. package/lib/components/viewer3d/scene-creator.js +3886 -0
  571. package/lib/components/viewer3d/three-memory-cleaner.js +46 -0
  572. package/lib/components/viewer3d/viewer3d-first-person.js +316 -0
  573. package/lib/components/viewer3d/viewer3d.js +2676 -0
  574. package/lib/constants/catalog/skinPanel.js +15 -0
  575. package/lib/constants.js +790 -0
  576. package/lib/devLiteRenderer.js +903 -0
  577. package/lib/events/external/handleExternalEvent.js +147 -0
  578. package/lib/events/external/handleExternalEvent.util.js +1127 -0
  579. package/lib/events/external/handlers.addItem.js +54 -0
  580. package/lib/events/external/handlers.changeDoorStyle.js +146 -0
  581. package/lib/events/external/handlers.elementOps.js +15 -0
  582. package/lib/events/external/handlers.finishing.js +32 -0
  583. package/lib/events/external/handlers.hole.js +10 -0
  584. package/lib/events/external/handlers.loadProject.js +135 -0
  585. package/lib/events/external/handlers.molding.js +31 -0
  586. package/lib/events/external/handlers.projectLifecycle.js +19 -0
  587. package/lib/events/external/handlers.projectSettings.js +38 -0
  588. package/lib/events/external/handlers.replaceCabinet.js +48 -0
  589. package/lib/events/external/handlers.roomShape.js +14 -0
  590. package/lib/events/external/handlers.syncScene.js +27 -0
  591. package/lib/events/external/handlers.updateSelectedElements.js +17 -0
  592. package/lib/events/external/handlers.viewMode.js +19 -0
  593. package/lib/events/external/handlers.viewerNavigation.js +117 -0
  594. package/lib/events/external/handlers.wall.js +13 -0
  595. package/lib/index.js +637 -0
  596. package/lib/mappings/external-events/mapExternalEventPayload.js +33 -0
  597. package/lib/mappings/external-events/mappers/addItemMapper.js +101 -0
  598. package/lib/mappings/external-events/mappers/ccdfMapper.js +93 -0
  599. package/lib/mappings/external-events/mappers/ccdfToCDSMapper.js +37 -0
  600. package/lib/mappings/external-events/mappers/changeDoorStyleMapper.js +44 -0
  601. package/lib/mappings/external-events/mappers/loadProjectMapper.js +70 -0
  602. package/lib/mappings/holesToCatalog.js +148 -0
  603. package/lib/models.js +534 -0
  604. package/lib/plugins/SVGLoader.js +1419 -0
  605. package/lib/plugins/console-debugger.js +42 -0
  606. package/lib/plugins/export.js +25 -0
  607. package/lib/plugins/keyboard.js +117 -0
  608. package/lib/reducers/areas-reducer.js +19 -0
  609. package/lib/reducers/export.js +89 -0
  610. package/lib/reducers/groups-reducer.js +45 -0
  611. package/lib/reducers/holes-reducer.js +69 -0
  612. package/lib/reducers/items-reducer.js +152 -0
  613. package/lib/reducers/lines-reducer.js +52 -0
  614. package/lib/reducers/project-reducer.js +143 -0
  615. package/lib/reducers/reducer.js +25 -0
  616. package/lib/reducers/scene-reducer.js +35 -0
  617. package/lib/reducers/vertices-reducer.js +26 -0
  618. package/lib/reducers/viewer2d-reducer.js +84 -0
  619. package/lib/reducers/viewer3d-reducer.js +65 -0
  620. package/lib/shared/objects/immutable.js +9 -0
  621. package/lib/shared-style.js +72 -0
  622. package/lib/translator/en.js +111 -0
  623. package/lib/translator/it.js +86 -0
  624. package/lib/translator/ru.js +86 -0
  625. package/lib/translator/translator.js +87 -0
  626. package/lib/utils/browser.js +40 -0
  627. package/lib/utils/convert-units-lite.js +44 -0
  628. package/lib/utils/email-validator.js +10 -0
  629. package/lib/utils/export.js +56 -0
  630. package/lib/utils/geometry.js +3233 -0
  631. package/lib/utils/get-edges-of-subgraphs.js +33 -0
  632. package/lib/utils/graph-cycles.js +239 -0
  633. package/lib/utils/graph-inner-cycles.js +54 -0
  634. package/lib/utils/graph.js +153 -0
  635. package/lib/utils/helper.js +490 -0
  636. package/lib/utils/history.js +48 -0
  637. package/lib/utils/id-broker.js +22 -0
  638. package/lib/utils/logger.js +14 -0
  639. package/lib/utils/math.js +57 -0
  640. package/lib/utils/molding.js +1146 -0
  641. package/lib/utils/name-generator.js +21 -0
  642. package/lib/utils/objects-utils.js +62 -0
  643. package/lib/utils/phone-validator.js +10 -0
  644. package/lib/utils/process-black-list.js +22 -0
  645. package/lib/utils/react-if.js +25 -0
  646. package/lib/utils/ruler.js +63 -0
  647. package/lib/utils/skinPanelEngine.js +534 -0
  648. package/lib/utils/snap-scene.js +101 -0
  649. package/lib/utils/snap.js +245 -0
  650. package/lib/utils/summarizeCart.js +30 -0
  651. package/lib/utils/threeCSG.es6.js +504 -0
  652. package/lib/version.js +7 -0
  653. package/package.json +29 -24
  654. package/es/WorkSpace.js +0 -30
  655. package/es/WorkSpaceHostMimic.js +0 -132
  656. package/es/assets/gltf/door_closet.bin +0 -0
  657. package/es/assets/gltf/door_closet.fbx +0 -0
  658. package/es/assets/gltf/door_exterior.bin +0 -0
  659. package/es/assets/gltf/door_exterior.fbx +0 -0
  660. package/es/assets/gltf/door_interior.bin +0 -0
  661. package/es/assets/gltf/door_interior.fbx +0 -0
  662. package/es/assets/gltf/door_sliding.bin +0 -0
  663. package/es/assets/gltf/door_sliding.fbx +0 -0
  664. package/es/assets/img/png/helper/video_preview_3d.png +0 -0
  665. package/es/assets/img/png/helper/video_preview_start.png +0 -0
  666. package/es/assets/img/svg/color/Brown.svg +0 -9
  667. package/es/assets/img/svg/color/Dark.svg +0 -9
  668. package/es/assets/img/svg/color/Light.svg +0 -9
  669. package/es/assets/img/svg/color/Medium.svg +0 -9
  670. package/es/assets/img/svg/color/Unfinished.svg +0 -9
  671. package/es/catalog/lines/wall/textures/bricks3.jpg +0 -0
  672. package/es/catalog/properties/export.js +0 -21
  673. package/es/catalog/properties/property-checkbox.js +0 -68
  674. package/es/catalog/properties/property-color.js +0 -39
  675. package/es/catalog/properties/property-enum.js +0 -50
  676. package/es/catalog/properties/property-hidden.js +0 -19
  677. package/es/catalog/properties/property-lenght-measure.js +0 -96
  678. package/es/catalog/properties/property-length-measure.js +0 -80
  679. package/es/catalog/properties/property-length-measure_hole.js +0 -96
  680. package/es/catalog/properties/property-number.js +0 -48
  681. package/es/catalog/properties/property-read-only.js +0 -26
  682. package/es/catalog/properties/property-string.js +0 -48
  683. package/es/catalog/properties/property-toggle.js +0 -39
  684. package/es/catalog/properties/shared-property-style.js +0 -14
  685. package/es/catalog/utils/FuseUtils.js +0 -79
  686. package/es/class/FuseUtils.js +0 -79
  687. package/es/components/style/button.js +0 -106
  688. package/es/components/style/cancel-button.js +0 -21
  689. package/es/components/style/content-container.js +0 -30
  690. package/es/components/style/content-title.js +0 -25
  691. package/es/components/style/delete-button.js +0 -24
  692. package/es/components/style/form-block.js +0 -20
  693. package/es/components/style/form-color-input.js +0 -26
  694. package/es/components/style/form-label.js +0 -22
  695. package/es/components/style/form-number-input_2.js +0 -238
  696. package/es/components/style/form-select.js +0 -19
  697. package/es/components/style/form-slider.js +0 -60
  698. package/es/components/style/form-text-input.js +0 -69
  699. package/es/index.html.ejs +0 -264
  700. package/es/reducers/user-reducer.js +0 -41
  701. /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 = {};
@@ -1190,10 +1189,12 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
1190
1189
  };
1191
1190
  var sendInternalEvent = function sendInternalEvent(evtType, evtElement) {
1192
1191
  var pointArray = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
1192
+ var curLayerId = _this2.props.state.scene.selectedLayer;
1193
+ var curLayer = _this2.props.state.scene.getIn(['layers', curLayerId]);
1193
1194
  if (!isEmpty(evtType) && !isEmpty(evtElement)) {
1194
1195
  var _state$get, _this2$props$onIntern, _this2$props;
1195
1196
  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);
1197
+ var payload = updatePayloadOfInternalEvent(evtElement, curLayer, catalog, pointArray);
1197
1198
  (_this2$props$onIntern = (_this2$props = _this2.props).onInternalEvent) === null || _this2$props$onIntern === void 0 || _this2$props$onIntern.call(_this2$props, {
1198
1199
  type: evtType,
1199
1200
  value: payload
@@ -2162,9 +2163,14 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
2162
2163
  window.SPKeyDown = this.handleKeyDown;
2163
2164
  window.tDKeyDown = this.handleKeyDown;
2164
2165
  }
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) {
2166
+
2167
+ // Add the output of the renderer to the html element
2168
+ var canvasWrapper = ReactDOM.findDOMNode(this.refs.canvasWrapper);
2169
+ canvasWrapper && canvasWrapper.appendChild(this.renderer.domElement);
2170
+
2171
+ //
2172
+
2173
+ if (scene.getIn(['layers', scene.selectedLayer, 'selected', 'items']).size != 0) {
2168
2174
  // if selected Object
2169
2175
  isSelected = true;
2170
2176
  selectedObject.layerID = scene.selectedLayer;
@@ -2428,10 +2434,10 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
2428
2434
  this.renderer.renderLists.dispose();
2429
2435
  }
2430
2436
  }, {
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;
2437
+ key: "componentWillReceiveProps",
2438
+ value: function componentWillReceiveProps(nextProps) {
2439
+ var _this4 = this;
2440
+ if (this.props.downloadFlag && diff(this.props.state, nextProps.state).toJS().length == 0 || isEmpty(nextProps.state.scene)) return;
2435
2441
  var width = nextProps.width,
2436
2442
  height = nextProps.height;
2437
2443
  var selectedLayer = nextProps.state.getIn(['scene', 'layers', nextProps.state.scene.selectedLayer]);
@@ -2456,7 +2462,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
2456
2462
  var allItemRect;
2457
2463
 
2458
2464
  // handle camera setting
2459
- switch (prevProps.state.mode) {
2465
+ switch (this.props.state.mode) {
2460
2466
  case MODE_ELEVATION_VIEW:
2461
2467
  // when Elevation mode (camera: Orthographic)
2462
2468
  var cameraRect = handleCamRect(width, height, ceilHeight, this.state.lineLength);
@@ -2505,8 +2511,9 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
2505
2511
  var prepareSnapSpec = function prepareSnapSpec(layer) {
2506
2512
  allLines = GeometryUtils.getAllLines(layer);
2507
2513
  allLineRects = GeometryUtils.buildRectFromLines(layer, allLines);
2508
- allItemRect = GeometryUtils.getAllItemSpecified(prevProps.state.scene, actions.catalog, [WALL_CABINET_LAYOUTPOS, TALL_CABINET_LAYOUTPOS]);
2514
+ allItemRect = GeometryUtils.getAllItemSpecified(_this4.props.state.scene, actions.catalog, [WALL_CABINET_LAYOUTPOS, TALL_CABINET_LAYOUTPOS]);
2509
2515
  };
2516
+ var layer1 = this.props.state.scene.getIn(['layers', data.selectedLayer]);
2510
2517
  if (this.state.showflag) {
2511
2518
  prepareSnapSpec(layer);
2512
2519
  implementBacksplash();
@@ -2515,11 +2522,11 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
2515
2522
  showflag: false
2516
2523
  });
2517
2524
  }
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);
2525
+ if (nextProps.state.scene !== this.props.state.scene || nextProps.state.doorStyle && nextProps.state.doorStyle.get('name') !== this.props.state.doorStyle.get('name')) {
2526
+ var changedValues = diff(this.props.state.scene, nextProps.state.scene);
2520
2527
  prepareSnapSpec(layer);
2521
2528
  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')) {
2529
+ if (nextProps.state.doorStyle && nextProps.state.doorStyle.get('name') === this.props.state.doorStyle.get('name')) {
2523
2530
  if (!isInteractiveMove) {
2524
2531
  self.setState({
2525
2532
  isLoading: true
@@ -2549,7 +2556,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
2549
2556
  var _this$state = this.state,
2550
2557
  toolObj = _this$state.toolObj,
2551
2558
  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),
2559
+ 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
2560
  promise = _updateScene.promise;
2554
2561
  self.setState();
2555
2562
  promise.then(function (p1Value) {
@@ -2637,18 +2644,26 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
2637
2644
  this.renderer.domElement.style.pointerEvents = 'auto';
2638
2645
  this.renderer.domElement.style.opacity = '1';
2639
2646
  !this.props.downloadFlag && document.getElementById('front') && (document.getElementById('front').style.display = 'block');
2640
- return /*#__PURE__*/React.createElement("div", {
2641
- ref: this.canvasWrapperRef
2647
+ return /*#__PURE__*/React.createElement('div', {
2648
+ ref: 'canvasWrapper'
2642
2649
  });
2643
2650
  }
2644
2651
  }
2645
2652
  }]);
2646
2653
  }(React.Component);
2647
- _defineProperty(Scene3DViewer, "contextType", AppContext);
2648
2654
  export { Scene3DViewer as default };
2649
2655
  Scene3DViewer.propTypes = {
2650
2656
  state: PropTypes.object.isRequired,
2651
2657
  width: PropTypes.number.isRequired,
2652
2658
  height: PropTypes.number.isRequired,
2653
2659
  replaceCabinet: PropTypes.func.isRequired
2660
+ };
2661
+ Scene3DViewer.contextTypes = {
2662
+ areaActions: PropTypes.object.isRequired,
2663
+ holesActions: PropTypes.object.isRequired,
2664
+ itemsActions: PropTypes.object.isRequired,
2665
+ linesActions: PropTypes.object.isRequired,
2666
+ sceneActions: PropTypes.object.isRequired,
2667
+ projectActions: PropTypes.object.isRequired,
2668
+ catalog: PropTypes.object
2654
2669
  };
@@ -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
package/es/constants.js CHANGED
@@ -126,6 +126,7 @@ export var SET_BACKSPLASH_VISIBLE = 'SET_BACKSPLASH_VISIBLE';
126
126
  export var SET_APPLIANCE_MATERIAL = 'SET_APPLIANCE_MATERIAL';
127
127
  export var SET_MOVE_STATUS = 'SET_MOVE_STATUS';
128
128
  export var SET_ROTATE_STATUS = 'SET_ROTATE_STATUS';
129
+ export var SET_ITEMS_CCDF = 'SET_ITEMS_CCDF';
129
130
  //ACTIONS groups
130
131
  export var ADD_GROUP = 'ADD_GROUP';
131
132
  export var ADD_GROUP_FROM_SELECTED = 'ADD_GROUP_FROM_SELECTED';
@@ -447,11 +448,12 @@ export var UNIT_MILLIMETER = 'mm';
447
448
  export var UNIT_CENTIMETER = 'cm';
448
449
  export var UNIT_METER = 'm';
449
450
  export var UNIT_INCH = 'in';
451
+ export var UNIT_INCH_LONG = 'inch';
450
452
  export var UNIT_FOOT = 'ft';
451
453
  export var UNIT_MILE = 'mi';
452
454
  export var UNITS_LENGTH = [UNIT_MILLIMETER, UNIT_CENTIMETER, UNIT_METER, UNIT_INCH, UNIT_FOOT, UNIT_MILE];
453
455
  export var CEIL_UNITS_LENGTH = [UNIT_CENTIMETER, UNIT_METER, UNIT_INCH, UNIT_FOOT];
454
- export var EPSILON = 1e-2;
456
+ export var EPSILON = 0.5;
455
457
 
456
458
  // distance between item and wall
457
459
  export var DISTANCE_EPSILON = 5.0; //5.08; // 2 inch
@@ -596,6 +598,7 @@ export var BASE_CABINET_LAYOUTPOS = 'Base';
596
598
  export var WALL_CABINET_LAYOUTPOS = 'Wall';
597
599
  export var TALL_CABINET_LAYOUTPOS = 'Tall';
598
600
  export var VANITY_CABINET_LAYOUTPOS = 'Vanity';
601
+ export var ACCESSORIES_LAYOUTPOS = 'Accessories';
599
602
  export var TOP_MOLDING_LOCATION = 'Top';
600
603
  export var MIDDLE_MOLDING_LOCATION = 'Middle';
601
604
  export var BOTTOM_MOLDING_LOCATION = 'Bottom';
@@ -656,16 +659,16 @@ export var PROJECT_SETTING_OPTION = {
656
659
  CHANGE_MEASUREMENT_UNIT: CHANGE_MEASUREMENT_UNIT
657
660
  };
658
661
  export var HOLE_NAMES = {
659
- WINDOW_CLEAR: 'Window',
660
- WINDOW_CROSS: 'Cross Window',
661
- WINDOW_DOUBLE_HUNG: 'Double Hung Window',
662
- WINDOW_VERTICAL: 'window-vertical',
662
+ WINDOW_CLEAR: 'Clear',
663
+ WINDOW_CROSS: 'Cross',
664
+ WINDOW_DOUBLE_HUNG: 'Double Hung',
665
+ WINDOW_VERTICAL: 'Vertical',
663
666
  DOOR_CLOSET: 'Closet',
664
667
  DOOR_EXTERIOR: 'Exterior',
665
668
  DOOR_INTERIOR: 'Interior',
666
669
  DOOR_SLIDING: 'Sliding',
667
670
  DOOR_FRAMED: 'Framed Doorway',
668
- DOOR_FRAMELESS: 'FrameLess Doorway'
671
+ DOOR_FRAMELESS: 'Frameless Doorway'
669
672
  };
670
673
 
671
674
  // direction type
@@ -766,4 +769,12 @@ export var ROOM_SHAPE_TYPE = {
766
769
  THREE_WALLS_TOP_RIGHT_BOTTOM: '3wTopRightBottom',
767
770
  THREE_WALLS_RIGHT_BOTTOM_LEFT: '3wRightBottomLeft',
768
771
  THREE_WALLS_BOTTOM_LEFT_TOP: '3wBottomLeftTop'
769
- };
772
+ };
773
+ export var DOORSTYLE_SCOPE_ALL = 'all';
774
+ export var DOORSTYLE_SCOPE_SINGLE = 'single';
775
+ export var DOORSTYLE_SCOPE_MULTIPLE = 'multiple';
776
+ export var DEFAULT_MOLDING_PIECE_LENGTH = 96; // in inch, 8 feet, standard length for molding pieces
777
+ // default urls
778
+
779
+ export var DEFAULT_INTERIOR_URL = '/assets/img/default/maple.jpg';
780
+ export var DEFAULT_DOOR_HANDLE_TEXTURE_URL = '/assets/img/default/steel.jpg';