kitchen-simulator 1.1.1-test.9 → 2.0.1-dot-color

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 (1034) hide show
  1. package/README.md +24 -1
  2. package/es/LiteKitchenConfigurator.js +480 -0
  3. package/es/LiteRenderer.js +503 -0
  4. package/es/actions/export.js +25 -12
  5. package/es/actions/items-actions.js +11 -6
  6. package/es/actions/project-actions.js +9 -4
  7. package/es/analytics/ga4.js +1 -4
  8. package/es/assets/Window.hdr +2100 -0
  9. package/es/assets/brown_photostudio_02_1k.hdr +0 -0
  10. package/es/assets/fonts/Rene Bieder Milliard Black Italic.woff +0 -0
  11. package/es/assets/fonts/Rene Bieder Milliard Black.woff +0 -0
  12. package/es/assets/fonts/Rene Bieder Milliard Bold Italic.woff +0 -0
  13. package/es/assets/fonts/Rene Bieder Milliard Bold.woff +0 -0
  14. package/es/assets/fonts/Rene Bieder Milliard Book Italic.woff +0 -0
  15. package/es/assets/fonts/Rene Bieder Milliard Book.woff +0 -0
  16. package/es/assets/fonts/Rene Bieder Milliard ExtraBold Italic.woff +0 -0
  17. package/es/assets/fonts/Rene Bieder Milliard ExtraBold.woff +0 -0
  18. package/es/assets/fonts/Rene Bieder Milliard ExtraLight Italic.woff +0 -0
  19. package/es/assets/fonts/Rene Bieder Milliard ExtraLight.woff +0 -0
  20. package/es/assets/fonts/Rene Bieder Milliard Hairline Italic.woff +0 -0
  21. package/es/assets/fonts/Rene Bieder Milliard Hairline.woff +0 -0
  22. package/es/assets/fonts/Rene Bieder Milliard Heavy Italic.woff +0 -0
  23. package/es/assets/fonts/Rene Bieder Milliard Heavy.woff +0 -0
  24. package/es/assets/fonts/Rene Bieder Milliard Light Italic.woff +0 -0
  25. package/es/assets/fonts/Rene Bieder Milliard Light.woff +0 -0
  26. package/es/assets/fonts/Rene Bieder Milliard Medium Italic.woff +0 -0
  27. package/es/assets/fonts/Rene Bieder Milliard Medium.woff +0 -0
  28. package/es/assets/fonts/Rene Bieder Milliard SemiBold Italic.woff +0 -0
  29. package/es/assets/fonts/Rene Bieder Milliard SemiBold.woff +0 -0
  30. package/es/assets/fonts/Rene Bieder Milliard Thin Italic.woff +0 -0
  31. package/es/assets/fonts/Rene Bieder Milliard Thin.woff +0 -0
  32. package/es/assets/fonts/style.css +177 -0
  33. package/es/assets/gltf/door_closet.bin +0 -0
  34. package/es/assets/gltf/door_closet.fbx +0 -0
  35. package/es/assets/gltf/door_closet.gltf +1 -0
  36. package/es/assets/gltf/door_exterior.bin +0 -0
  37. package/es/assets/gltf/door_exterior.fbx +0 -0
  38. package/es/assets/gltf/door_exterior.gltf +1 -0
  39. package/es/assets/gltf/door_interior.bin +0 -0
  40. package/es/assets/gltf/door_interior.fbx +0 -0
  41. package/es/assets/gltf/door_interior.gltf +1 -0
  42. package/es/assets/gltf/door_sliding.bin +0 -0
  43. package/es/assets/gltf/door_sliding.fbx +0 -0
  44. package/es/assets/gltf/door_sliding.gltf +1 -0
  45. package/es/assets/gltf/doorway_framed.bin +0 -0
  46. package/es/assets/gltf/doorway_framed.fbx +0 -0
  47. package/es/assets/gltf/doorway_framed.gltf +1 -0
  48. package/es/assets/gltf/window_clear.bin +0 -0
  49. package/es/assets/gltf/window_clear.fbx +0 -0
  50. package/es/assets/gltf/window_clear.gltf +1 -0
  51. package/es/assets/gltf/window_cross.bin +0 -0
  52. package/es/assets/gltf/window_cross.fbx +0 -0
  53. package/es/assets/gltf/window_cross.gltf +1 -0
  54. package/es/assets/gltf/window_double_hung.bin +0 -0
  55. package/es/assets/gltf/window_double_hung.fbx +0 -0
  56. package/es/assets/gltf/window_double_hung.gltf +1 -0
  57. package/es/assets/gltf/window_vertical.bin +0 -0
  58. package/es/assets/gltf/window_vertical.fbx +0 -0
  59. package/es/assets/gltf/window_vertical.gltf +1 -0
  60. package/es/assets/img/1.jpg +0 -0
  61. package/es/assets/img/TKC_thumbnail.png +0 -0
  62. package/es/assets/img/Toggle.png +0 -0
  63. package/es/assets/img/loading/loading.gif +0 -0
  64. package/es/assets/img/loading/loading_1.svg +11 -0
  65. package/es/assets/img/loading_large.gif +0 -0
  66. package/es/assets/img/png/door/closet.png +0 -0
  67. package/es/assets/img/png/door/doorwaysframed.png +0 -0
  68. package/es/assets/img/png/door/doorwaysframeles.png +0 -0
  69. package/es/assets/img/png/door/doorwaysframeless.png +0 -0
  70. package/es/assets/img/png/door/exterior.png +0 -0
  71. package/es/assets/img/png/door/interior.png +0 -0
  72. package/es/assets/img/png/door/sliding.png +0 -0
  73. package/es/assets/img/png/helper/outcome.png +0 -0
  74. package/es/assets/img/png/helper/video_preview_3d.png +0 -0
  75. package/es/assets/img/png/helper/video_preview_start.png +0 -0
  76. package/es/assets/img/project_img.png +0 -0
  77. package/es/assets/img/rta/rta_logo_box_blue.jpg +0 -0
  78. package/es/assets/img/rta/rta_logo_box_blue_ico.jpg +0 -0
  79. package/es/assets/img/rta/rta_logo_box_blue_ico.svg +55 -0
  80. package/es/assets/img/rta/rta_logo_box_darkGray.jpg +0 -0
  81. package/es/assets/img/rta/rta_logo_box_lightblue.png +0 -0
  82. package/es/assets/img/rta/rta_logo_box_lightmaroon.png +0 -0
  83. package/es/assets/img/rta/rta_logo_box_maroon.png +0 -0
  84. package/es/assets/img/rta/rta_logo_box_white.png +0 -0
  85. package/es/assets/img/rta_menu.png +0 -0
  86. package/es/assets/img/step2.jpg +0 -0
  87. package/es/assets/img/step3.jpg +0 -0
  88. package/es/assets/img/step4.jpg +0 -0
  89. package/es/assets/img/step5.jpg +0 -0
  90. package/es/assets/img/step6.jpg +0 -0
  91. package/es/assets/img/step7.jpg +0 -0
  92. package/es/assets/img/step8.jpg +0 -0
  93. package/es/assets/img/svg/2d_delete_object.svg +33 -0
  94. package/es/assets/img/svg/2d_delete_object1.svg +33 -0
  95. package/es/assets/img/svg/2d_lock_object.svg +33 -0
  96. package/es/assets/img/svg/3d_item_move.svg +106 -0
  97. package/es/assets/img/svg/3d_item_rotation.svg +76 -0
  98. package/es/assets/img/svg/3d_item_warning_edit.svg +77 -0
  99. package/es/assets/img/svg/3d_item_warning_info.svg +81 -0
  100. package/es/assets/img/svg/accessories.svg +4 -0
  101. package/es/assets/img/svg/angle_icon.svg +39 -0
  102. package/es/assets/img/svg/blank_div.svg +14 -0
  103. package/es/assets/img/svg/bottombar/2d3d_button.svg +3 -0
  104. package/es/assets/img/svg/bottombar/2d3d_button_active.svg +3 -0
  105. package/es/assets/img/svg/bottombar/2d3d_toggle.svg +4 -0
  106. package/es/assets/img/svg/bottombar/2d3d_toggle_active.svg +4 -0
  107. package/es/assets/img/svg/bottombar/arrow-down.svg +3 -0
  108. package/es/assets/img/svg/bottombar/arrow-left.svg +3 -0
  109. package/es/assets/img/svg/bottombar/arrow-minus.svg +3 -0
  110. package/es/assets/img/svg/bottombar/arrow-plus.svg +11 -0
  111. package/es/assets/img/svg/bottombar/arrow-right.svg +3 -0
  112. package/es/assets/img/svg/bottombar/arrow-up.svg +3 -0
  113. package/es/assets/img/svg/bottombar/collapse.svg +3 -0
  114. package/es/assets/img/svg/bottombar/elevation-back.svg +6 -0
  115. package/es/assets/img/svg/bottombar/elevation-front.svg +6 -0
  116. package/es/assets/img/svg/bottombar/elevation-left.svg +6 -0
  117. package/es/assets/img/svg/bottombar/elevation-right.svg +7 -0
  118. package/es/assets/img/svg/bottombar/elevation.svg +6 -0
  119. package/es/assets/img/svg/bottombar/expand.svg +3 -0
  120. package/es/assets/img/svg/bottombar/help.svg +72 -0
  121. package/es/assets/img/svg/bottombar/incm_toggle.svg +39 -0
  122. package/es/assets/img/svg/bottombar/pan_1.svg +57 -0
  123. package/es/assets/img/svg/bottombar/pan_2.svg +27 -0
  124. package/es/assets/img/svg/bottombar/pan_3.svg +27 -0
  125. package/es/assets/img/svg/bottombar/pan_4.svg +27 -0
  126. package/es/assets/img/svg/bottombar/pan_5.svg +27 -0
  127. package/es/assets/img/svg/bottombar/settings.svg +23 -0
  128. package/es/assets/img/svg/bottombar/spin-down.svg +76 -0
  129. package/es/assets/img/svg/bottombar/spin-left.svg +75 -0
  130. package/es/assets/img/svg/bottombar/spin-right.svg +75 -0
  131. package/es/assets/img/svg/bottombar/spin-up.svg +76 -0
  132. package/es/assets/img/svg/bottombar/spin_1.svg +48 -0
  133. package/es/assets/img/svg/bottombar/spin_2.svg +31 -0
  134. package/es/assets/img/svg/bottombar/spin_3.svg +31 -0
  135. package/es/assets/img/svg/bottombar/spin_4.svg +31 -0
  136. package/es/assets/img/svg/bottombar/spin_5.svg +31 -0
  137. package/es/assets/img/svg/bottombar/zoomin.svg +29 -0
  138. package/es/assets/img/svg/bottombar/zoomout.svg +26 -0
  139. package/es/assets/img/svg/check.svg +10 -0
  140. package/es/assets/img/svg/close.svg +11 -0
  141. package/es/assets/img/svg/color/Black.svg +3 -0
  142. package/es/assets/img/svg/color/Blue.svg +3 -0
  143. package/es/assets/img/svg/color/Brown.svg +9 -0
  144. package/es/assets/img/svg/color/Cream.svg +3 -0
  145. package/es/assets/img/svg/color/Dark.svg +9 -0
  146. package/es/assets/img/svg/color/Gray.svg +3 -0
  147. package/es/assets/img/svg/color/Green.svg +3 -0
  148. package/es/assets/img/svg/color/Light.svg +9 -0
  149. package/es/assets/img/svg/color/Medium.svg +9 -0
  150. package/es/assets/img/svg/color/Unfinished.svg +9 -0
  151. package/es/assets/img/svg/color/White.svg +3 -0
  152. package/es/assets/img/svg/color/White.svg.bak +3 -0
  153. package/es/assets/img/svg/color/stone2.jpg +0 -0
  154. package/es/assets/img/svg/color/wood2.jpg +0 -0
  155. package/es/assets/img/svg/copy.svg +11 -0
  156. package/es/assets/img/svg/delete.svg +3 -0
  157. package/es/assets/img/svg/detail.svg +77 -0
  158. package/es/assets/img/svg/disclaimer/background.svg +758 -0
  159. package/es/assets/img/svg/disclaimer/logo-dots.svg +11 -0
  160. package/es/assets/img/svg/door/Closet.svg +11 -0
  161. package/es/assets/img/svg/door/Exterior.svg +5 -0
  162. package/es/assets/img/svg/door/Framed_dorway.svg +5 -0
  163. package/es/assets/img/svg/door/Frameless_dorway.svg +5 -0
  164. package/es/assets/img/svg/door/Interior.svg +7 -0
  165. package/es/assets/img/svg/door/Sliding.svg +5 -0
  166. package/es/assets/img/svg/doors_closet.svg +47 -0
  167. package/es/assets/img/svg/doors_exterior.svg +25 -0
  168. package/es/assets/img/svg/doors_interior.svg +29 -0
  169. package/es/assets/img/svg/doors_patio.svg +26 -0
  170. package/es/assets/img/svg/duplicate.svg +11 -0
  171. package/es/assets/img/svg/duplicate_object_left.svg +32 -0
  172. package/es/assets/img/svg/duplicate_object_right.svg +32 -0
  173. package/es/assets/img/svg/filtersActive.svg +19 -0
  174. package/es/assets/img/svg/firstsetting/L.svg +3 -0
  175. package/es/assets/img/svg/firstsetting/L2.svg +3 -0
  176. package/es/assets/img/svg/firstsetting/Open.svg +3 -0
  177. package/es/assets/img/svg/firstsetting/Square.svg +3 -0
  178. package/es/assets/img/svg/firstsetting/bar-active.svg +9 -0
  179. package/es/assets/img/svg/firstsetting/bar-normal.svg +3 -0
  180. package/es/assets/img/svg/firstsetting/bullet-current.svg +3 -0
  181. package/es/assets/img/svg/firstsetting/bullet-done.svg +3 -0
  182. package/es/assets/img/svg/firstsetting/bullet-not-done.svg +3 -0
  183. package/es/assets/img/svg/firstsetting/check-active.svg +3 -0
  184. package/es/assets/img/svg/firstsetting/check-normal.svg +3 -0
  185. package/es/assets/img/svg/firstsetting/pencil.svg +11 -0
  186. package/es/assets/img/svg/green_checkmark.svg +27 -0
  187. package/es/assets/img/svg/headerbar/assist.svg +3 -0
  188. package/es/assets/img/svg/headerbar/cart.svg +3 -0
  189. package/es/assets/img/svg/headerbar/check.svg +10 -0
  190. package/es/assets/img/svg/headerbar/consult_designer.svg +45 -0
  191. package/es/assets/img/svg/headerbar/edit_name.svg +26 -0
  192. package/es/assets/img/svg/headerbar/file-dollar.svg +13 -0
  193. package/es/assets/img/svg/headerbar/hamburger_menu.svg +32 -0
  194. package/es/assets/img/svg/headerbar/plus.svg +11 -0
  195. package/es/assets/img/svg/headerbar/review_quote.svg +44 -0
  196. package/es/assets/img/svg/headerbar/ruler-measure.svg +11 -0
  197. package/es/assets/img/svg/headerbar/save.svg +3 -0
  198. package/es/assets/img/svg/headerbar/setting.svg +75 -0
  199. package/es/assets/img/svg/help/check.svg +10 -0
  200. package/es/assets/img/svg/help/search.svg +76 -0
  201. package/es/assets/img/svg/intro/1-start-with-floorplan-whole.svg +27 -0
  202. package/es/assets/img/svg/intro/1-start-with-floorplan.svg +26 -0
  203. package/es/assets/img/svg/intro/2-start-from-scratch-whole.svg +28 -0
  204. package/es/assets/img/svg/intro/2-start-from-scratch.svg +27 -0
  205. package/es/assets/img/svg/intro/3-retrieve-project-whole.svg +19 -0
  206. package/es/assets/img/svg/intro/3-retrieve-project.svg +18 -0
  207. package/es/assets/img/svg/invert.svg +127 -0
  208. package/es/assets/img/svg/lefttoolbar/appliance-active.svg +13 -0
  209. package/es/assets/img/svg/lefttoolbar/appliance.svg +13 -0
  210. package/es/assets/img/svg/lefttoolbar/cabinet-active.svg +10 -0
  211. package/es/assets/img/svg/lefttoolbar/cabinet-category.svg +3 -0
  212. package/es/assets/img/svg/lefttoolbar/cabinet-one.svg +3 -0
  213. package/es/assets/img/svg/lefttoolbar/cabinet.svg +10 -0
  214. package/es/assets/img/svg/lefttoolbar/disigner_assistance.svg +89 -0
  215. package/es/assets/img/svg/lefttoolbar/door-style-active.svg +20 -0
  216. package/es/assets/img/svg/lefttoolbar/door-style.svg +20 -0
  217. package/es/assets/img/svg/lefttoolbar/door.svg +12 -0
  218. package/es/assets/img/svg/lefttoolbar/error_icon.svg +81 -0
  219. package/es/assets/img/svg/lefttoolbar/finishing-active.svg +13 -0
  220. package/es/assets/img/svg/lefttoolbar/finishing.svg +13 -0
  221. package/es/assets/img/svg/lefttoolbar/reviewforquote-active.svg +86 -0
  222. package/es/assets/img/svg/lefttoolbar/reviewforquote.svg +12 -0
  223. package/es/assets/img/svg/lefttoolbar/room-shape-L.svg +3 -0
  224. package/es/assets/img/svg/lefttoolbar/room-shape-active.svg +18 -0
  225. package/es/assets/img/svg/lefttoolbar/room-shape-custom.svg +12 -0
  226. package/es/assets/img/svg/lefttoolbar/room-shape-irregular.svg +3 -0
  227. package/es/assets/img/svg/lefttoolbar/room-shape-open.svg +3 -0
  228. package/es/assets/img/svg/lefttoolbar/room-shape-square.svg +3 -0
  229. package/es/assets/img/svg/lefttoolbar/room-shape.svg +18 -0
  230. package/es/assets/img/svg/lefttoolbar/search.svg +76 -0
  231. package/es/assets/img/svg/lefttoolbar/view_more.svg +86 -0
  232. package/es/assets/img/svg/lefttoolbar/warning_icon.svg +81 -0
  233. package/es/assets/img/svg/lefttoolbar/window.svg +12 -0
  234. package/es/assets/img/svg/logo.svg +11 -0
  235. package/es/assets/img/svg/logo_with_text.svg +25 -0
  236. package/es/assets/img/svg/menubar/login.svg +84 -0
  237. package/es/assets/img/svg/menubar/my_projects.svg +85 -0
  238. package/es/assets/img/svg/menubar/new_project.svg +110 -0
  239. package/es/assets/img/svg/menubar/save_project.svg +84 -0
  240. package/es/assets/img/svg/options.svg +3 -0
  241. package/es/assets/img/svg/positioning.svg +3 -0
  242. package/es/assets/img/svg/rotate.png +0 -0
  243. package/es/assets/img/svg/rotate.svg +17 -0
  244. package/es/assets/img/svg/rotate_object_clockwise.svg +26 -0
  245. package/es/assets/img/svg/rotate_object_counterclockwise.svg +26 -0
  246. package/es/assets/img/svg/toggleFilters.svg +19 -0
  247. package/es/assets/img/svg/toolbar/add_appliances_active.svg +64 -0
  248. package/es/assets/img/svg/toolbar/add_appliances_inactive.svg +52 -0
  249. package/es/assets/img/svg/toolbar/add_button.svg +36 -0
  250. package/es/assets/img/svg/toolbar/add_cabinets_active.svg +59 -0
  251. package/es/assets/img/svg/toolbar/add_cabinets_inactive.svg +49 -0
  252. package/es/assets/img/svg/toolbar/add_items_doors.svg +25 -0
  253. package/es/assets/img/svg/toolbar/add_items_doorways.svg +24 -0
  254. package/es/assets/img/svg/toolbar/add_items_refrigerator.svg +32 -0
  255. package/es/assets/img/svg/toolbar/add_items_windows.svg +28 -0
  256. package/es/assets/img/svg/toolbar/apply_button.svg +38 -0
  257. package/es/assets/img/svg/toolbar/arrow-plus.svg +11 -0
  258. package/es/assets/img/svg/toolbar/backsplash.svg +8 -0
  259. package/es/assets/img/svg/toolbar/cancel_button.svg +37 -0
  260. package/es/assets/img/svg/toolbar/consult_a_designer_button.svg +47 -0
  261. package/es/assets/img/svg/toolbar/countertop.svg +7 -0
  262. package/es/assets/img/svg/toolbar/dcm.png +0 -0
  263. package/es/assets/img/svg/toolbar/dcm_off.svg +12 -0
  264. package/es/assets/img/svg/toolbar/dcm_on.svg +474 -0
  265. package/es/assets/img/svg/toolbar/delete_button.svg +37 -0
  266. package/es/assets/img/svg/toolbar/download.svg +77 -0
  267. package/es/assets/img/svg/toolbar/draw_custom_floor.svg +31 -0
  268. package/es/assets/img/svg/toolbar/edit_button.svg +75 -0
  269. package/es/assets/img/svg/toolbar/email_quote_button.svg +44 -0
  270. package/es/assets/img/svg/toolbar/fbm.png +0 -0
  271. package/es/assets/img/svg/toolbar/finishing_touches_active.svg +54 -0
  272. package/es/assets/img/svg/toolbar/finishing_touches_inactive.svg +42 -0
  273. package/es/assets/img/svg/toolbar/floorstyle.svg +9 -0
  274. package/es/assets/img/svg/toolbar/fmb.png +0 -0
  275. package/es/assets/img/svg/toolbar/fmb_off.svg +12 -0
  276. package/es/assets/img/svg/toolbar/fmb_on.svg +489 -0
  277. package/es/assets/img/svg/toolbar/furnishings_icon.svg +6 -0
  278. package/es/assets/img/svg/toolbar/get_started_button.svg +41 -0
  279. package/es/assets/img/svg/toolbar/handles.svg +5 -0
  280. package/es/assets/img/svg/toolbar/lighting.svg +7 -0
  281. package/es/assets/img/svg/toolbar/lrm.png +0 -0
  282. package/es/assets/img/svg/toolbar/lrm_off.svg +12 -0
  283. package/es/assets/img/svg/toolbar/lrm_on.svg +470 -0
  284. package/es/assets/img/svg/toolbar/make_floorplan_active.svg +66 -0
  285. package/es/assets/img/svg/toolbar/make_floorplan_inactive.svg +52 -0
  286. package/es/assets/img/svg/toolbar/predefined_room_l_shaped.svg +20 -0
  287. package/es/assets/img/svg/toolbar/predefined_room_layout.svg +20 -0
  288. package/es/assets/img/svg/toolbar/predefined_room_long_narrow.svg +20 -0
  289. package/es/assets/img/svg/toolbar/predefined_room_open_l_shape.svg +20 -0
  290. package/es/assets/img/svg/toolbar/predefined_room_open_pentagon.svg +20 -0
  291. package/es/assets/img/svg/toolbar/predefined_room_open_rectangle.svg +20 -0
  292. package/es/assets/img/svg/toolbar/predefined_room_open_rectangle_2.svg +20 -0
  293. package/es/assets/img/svg/toolbar/predefined_room_pentagon.svg +20 -0
  294. package/es/assets/img/svg/toolbar/predefined_room_rectangle.svg +20 -0
  295. package/es/assets/img/svg/toolbar/predefined_room_rectangle_with_alcove.svg +20 -0
  296. package/es/assets/img/svg/toolbar/redo_button.svg +75 -0
  297. package/es/assets/img/svg/toolbar/redo_button1.svg +75 -0
  298. package/es/assets/img/svg/toolbar/review_quote_active.svg +14 -0
  299. package/es/assets/img/svg/toolbar/review_quote_inactive.svg +44 -0
  300. package/es/assets/img/svg/toolbar/save_project_button.svg +44 -0
  301. package/es/assets/img/svg/toolbar/select_doorstyle_active.svg +67 -0
  302. package/es/assets/img/svg/toolbar/select_doorstyle_inactive.svg +57 -0
  303. package/es/assets/img/svg/toolbar/shopping-cart.svg +13 -0
  304. package/es/assets/img/svg/toolbar/style_change_button.svg +47 -0
  305. package/es/assets/img/svg/toolbar/take_picture.svg +75 -0
  306. package/es/assets/img/svg/toolbar/undo_button.svg +76 -0
  307. package/es/assets/img/svg/toolbar/undo_button1.svg +76 -0
  308. package/es/assets/img/svg/toolbar/use_button.svg +37 -0
  309. package/es/assets/img/svg/toolbar/wall_color_icon.svg +6 -0
  310. package/es/assets/img/svg/topbar/edit_active.svg +10 -0
  311. package/es/assets/img/svg/topbar/edit_inactive.svg +10 -0
  312. package/es/assets/img/svg/topbar/redo_active.svg +42 -0
  313. package/es/assets/img/svg/topbar/redo_inactive.svg +23 -0
  314. package/es/assets/img/svg/topbar/select_all_active.svg +50 -0
  315. package/es/assets/img/svg/topbar/select_all_inactive.svg +32 -0
  316. package/es/assets/img/svg/topbar/take_picture_active.svg +51 -0
  317. package/es/assets/img/svg/topbar/take_picture_inactive.svg +26 -0
  318. package/es/assets/img/svg/topbar/undo_active.svg +42 -0
  319. package/es/assets/img/svg/topbar/undo_inactive.svg +23 -0
  320. package/es/assets/img/svg/warning_info_2d.svg +81 -0
  321. package/es/assets/img/svg/window/Clear.svg +3 -0
  322. package/es/assets/img/svg/window/Cross.svg +5 -0
  323. package/es/assets/img/svg/window/Double_hung.svg +4 -0
  324. package/es/assets/img/svg/window/Vertical.svg +4 -0
  325. package/es/assets/img/svg/windows_clear.svg +23 -0
  326. package/es/assets/img/svg/windows_cross.svg +28 -0
  327. package/es/assets/img/svg/windows_double_hung.svg +24 -0
  328. package/es/assets/img/svg/windows_vertical.svg +24 -0
  329. package/es/assets/img/svg/wizardstep/Custom.svg +3 -0
  330. package/es/assets/img/svg/wizardstep/Dashed_line.svg +3 -0
  331. package/es/assets/img/svg/wizardstep/L.svg +3 -0
  332. package/es/assets/img/svg/wizardstep/L2.svg +3 -0
  333. package/es/assets/img/svg/wizardstep/Open.svg +3 -0
  334. package/es/assets/img/svg/wizardstep/Square.svg +3 -0
  335. package/es/assets/img/svg/wizardstep/bar-active.svg +9 -0
  336. package/es/assets/img/svg/wizardstep/bar-normal.svg +3 -0
  337. package/es/assets/img/svg/wizardstep/bullet-current.svg +3 -0
  338. package/es/assets/img/svg/wizardstep/bullet-done.svg +3 -0
  339. package/es/assets/img/svg/wizardstep/bullet-not-done.svg +3 -0
  340. package/es/assets/img/svg/wizardstep/check-active.svg +3 -0
  341. package/es/assets/img/svg/wizardstep/check-normal.svg +3 -0
  342. package/es/assets/img/svg/wizardstep/detail_view.svg +87 -0
  343. package/es/assets/img/svg/wizardstep/pencil.svg +11 -0
  344. package/es/assets/img/svg/wizardstep/tile_view.svg +95 -0
  345. package/es/assets/img/texture/glass.jpg +0 -0
  346. package/es/assets/img/texture/steel.jpg +0 -0
  347. package/es/assets/img/texture/white1px.jpg +0 -0
  348. package/es/assets/img/texture/wood.jpg +0 -0
  349. package/es/assets/model/DCM.bin +0 -0
  350. package/es/assets/model/DCM.fbx +0 -0
  351. package/es/assets/model/DCM.gltf +1 -0
  352. package/es/assets/model/FBM.bin +0 -0
  353. package/es/assets/model/FBM.fbx +0 -0
  354. package/es/assets/model/FBM.gltf +1 -0
  355. package/es/assets/model/LRM.bin +0 -0
  356. package/es/assets/model/LRM.fbx +0 -0
  357. package/es/assets/model/LRM.gltf +1 -0
  358. package/es/assets/rtastore_logo.png +0 -0
  359. package/es/catalog/areas/area/planner-element.js +12 -7
  360. package/es/catalog/back.png +0 -0
  361. package/es/catalog/catalog.js +4 -16
  362. package/es/catalog/doors.png +0 -0
  363. package/es/catalog/doorways.png +0 -0
  364. package/es/catalog/export.js +0 -0
  365. package/es/catalog/factories/area-factory.js +1 -4
  366. package/es/catalog/factories/wall-factory-3d.js +3 -3
  367. package/es/catalog/factories/wall-factory.js +9 -10
  368. package/es/catalog/lines/wall/planner-element.js +20 -11
  369. package/es/catalog/molding/molding-dcm/planner-element.js +0 -2
  370. package/es/catalog/molding/molding-fbm/planner-element.js +0 -2
  371. package/es/catalog/molding/molding-lrm/planner-element.js +0 -2
  372. package/es/catalog/properties/property-checkbox.js +2 -5
  373. package/es/catalog/properties/property-enum.js +2 -7
  374. package/es/catalog/properties/property-lenght-measure.js +4 -5
  375. package/es/catalog/properties/property-length-measure.js +6 -7
  376. package/es/catalog/properties/property-length-measure_hole.js +4 -5
  377. package/es/catalog/utils/FuseUtils.js +3 -6
  378. package/es/catalog/utils/exporter.js +7 -6
  379. package/es/catalog/utils/item-loader.js +115 -42
  380. package/es/catalog/utils/mtl-loader.js +2 -2
  381. package/es/catalog/utils/obj-loader.js +2 -2
  382. package/es/catalog/windows.png +0 -0
  383. package/es/class/FuseUtils.js +3 -6
  384. package/es/class/area.js +3 -7
  385. package/es/class/group.js +3 -12
  386. package/es/class/guide.js +2 -6
  387. package/es/class/hole.js +2 -6
  388. package/es/class/item.js +124 -164
  389. package/es/class/layer.js +2 -6
  390. package/es/class/line.js +115 -74
  391. package/es/class/project.js +34 -32
  392. package/es/class/vertex.js +4 -8
  393. package/es/components/content.js +30 -5
  394. package/es/components/export.js +3 -5
  395. package/es/components/style/button.js +7 -14
  396. package/es/components/style/cancel-button.js +2 -3
  397. package/es/components/style/content-container.js +1 -4
  398. package/es/components/style/content-title.js +3 -7
  399. package/es/components/style/delete-button.js +2 -3
  400. package/es/components/style/form-block.js +3 -7
  401. package/es/components/style/form-color-input.js +2 -3
  402. package/es/components/style/form-label.js +3 -7
  403. package/es/components/style/form-number-input.js +6 -12
  404. package/es/components/style/form-number-input_2.js +6 -12
  405. package/es/components/style/form-select.js +3 -4
  406. package/es/components/style/form-slider.js +24 -9
  407. package/es/components/style/form-submit-button.js +2 -3
  408. package/es/components/style/form-text-input.js +8 -15
  409. package/es/components/viewer2d/area.js +4 -4
  410. package/es/components/viewer2d/grids/grid-horizontal-streak.js +0 -1
  411. package/es/components/viewer2d/grids/grid-streak.js +1 -2
  412. package/es/components/viewer2d/grids/grid-vertical-streak.js +0 -1
  413. package/es/components/viewer2d/grids/grids.js +1 -6
  414. package/es/components/viewer2d/item.js +25 -91
  415. package/es/components/viewer2d/layer.js +1 -1
  416. package/es/components/viewer2d/line.js +336 -257
  417. package/es/components/viewer2d/ruler.js +17 -38
  418. package/es/components/viewer2d/rulerDist.js +19 -33
  419. package/es/components/viewer2d/rulerX.js +6 -12
  420. package/es/components/viewer2d/rulerY.js +6 -12
  421. package/es/components/viewer2d/scene.js +13 -25
  422. package/es/components/viewer2d/state.js +1 -6
  423. package/es/components/viewer2d/utils.js +27 -2
  424. package/es/components/viewer2d/viewer2d.js +155 -120
  425. package/es/components/viewer3d/camera-controls-module/camera-controls.module.js +6 -13
  426. package/es/components/viewer3d/front3D.js +1 -6
  427. package/es/components/viewer3d/libs/mtl-loader.js +2 -2
  428. package/es/components/viewer3d/libs/obj-loader.js +2 -2
  429. package/es/components/viewer3d/libs/orbit-controls.js +3 -4
  430. package/es/components/viewer3d/libs/pointer-lock-controls.js +6 -7
  431. package/es/components/viewer3d/ruler-utils/itemRect.js +1 -1
  432. package/es/components/viewer3d/ruler-utils/layer3D.js +2 -2
  433. package/es/components/viewer3d/ruler-utils/ruler3D.js +1 -4
  434. package/es/components/viewer3d/ruler-utils/scene3D.js +1 -3
  435. package/es/components/viewer3d/scene-creator.js +27 -18
  436. package/es/components/viewer3d/viewer3d-first-person.js +5 -11
  437. package/es/components/viewer3d/viewer3d.js +379 -254
  438. package/es/constants.js +55 -3
  439. package/es/devLiteRenderer.js +316 -0
  440. package/es/index.js +56 -15
  441. package/es/models.js +16 -20
  442. package/es/plugins/console-debugger.js +1 -4
  443. package/es/plugins/export.js +1 -3
  444. package/es/reducers/items-reducer.js +8 -4
  445. package/es/reducers/project-reducer.js +4 -2
  446. package/es/reducers/viewer2d-reducer.js +2 -2
  447. package/es/reducers/viewer3d-reducer.js +2 -2
  448. package/es/shared-style.js +4 -4
  449. package/es/translator/translator.js +2 -6
  450. package/es/utils/convert-units-lite.js +29 -0
  451. package/es/utils/geometry.js +68 -42
  452. package/es/utils/get-edges-of-subgraphs.js +1 -1
  453. package/es/utils/graph-cycles.js +1 -1
  454. package/es/utils/graph.js +3 -7
  455. package/es/utils/helper.js +4 -6
  456. package/es/utils/id-broker.js +4 -8
  457. package/es/utils/isolate-event-handler.js +683 -0
  458. package/es/utils/molding.js +36 -42
  459. package/es/utils/name-generator.js +2 -6
  460. package/es/utils/objects-utils.js +1 -1
  461. package/es/utils/process-black-list.js +1 -4
  462. package/es/utils/snap-scene.js +1 -6
  463. package/es/utils/snap.js +6 -12
  464. package/es/utils/threeCSG.es6.js +2 -6
  465. package/es/version.js +1 -2
  466. package/lib/@history.js +3 -2
  467. package/lib/AppContext.js +3 -2
  468. package/lib/LiteKitchenConfigurator.js +490 -0
  469. package/lib/LiteRenderer.js +513 -0
  470. package/lib/actions/export.js +35 -39
  471. package/lib/actions/items-actions.js +11 -5
  472. package/lib/actions/project-actions.js +9 -3
  473. package/lib/analytics/ga4.js +3 -6
  474. package/lib/analytics/posthog.js +1 -1
  475. package/lib/assets/Window.hdr +2100 -0
  476. package/lib/assets/brown_photostudio_02_1k.hdr +0 -0
  477. package/lib/assets/fonts/Rene Bieder Milliard Black Italic.woff +0 -0
  478. package/lib/assets/fonts/Rene Bieder Milliard Black.woff +0 -0
  479. package/lib/assets/fonts/Rene Bieder Milliard Bold Italic.woff +0 -0
  480. package/lib/assets/fonts/Rene Bieder Milliard Bold.woff +0 -0
  481. package/lib/assets/fonts/Rene Bieder Milliard Book Italic.woff +0 -0
  482. package/lib/assets/fonts/Rene Bieder Milliard Book.woff +0 -0
  483. package/lib/assets/fonts/Rene Bieder Milliard ExtraBold Italic.woff +0 -0
  484. package/lib/assets/fonts/Rene Bieder Milliard ExtraBold.woff +0 -0
  485. package/lib/assets/fonts/Rene Bieder Milliard ExtraLight Italic.woff +0 -0
  486. package/lib/assets/fonts/Rene Bieder Milliard ExtraLight.woff +0 -0
  487. package/lib/assets/fonts/Rene Bieder Milliard Hairline Italic.woff +0 -0
  488. package/lib/assets/fonts/Rene Bieder Milliard Hairline.woff +0 -0
  489. package/lib/assets/fonts/Rene Bieder Milliard Heavy Italic.woff +0 -0
  490. package/lib/assets/fonts/Rene Bieder Milliard Heavy.woff +0 -0
  491. package/lib/assets/fonts/Rene Bieder Milliard Light Italic.woff +0 -0
  492. package/lib/assets/fonts/Rene Bieder Milliard Light.woff +0 -0
  493. package/lib/assets/fonts/Rene Bieder Milliard Medium Italic.woff +0 -0
  494. package/lib/assets/fonts/Rene Bieder Milliard Medium.woff +0 -0
  495. package/lib/assets/fonts/Rene Bieder Milliard SemiBold Italic.woff +0 -0
  496. package/lib/assets/fonts/Rene Bieder Milliard SemiBold.woff +0 -0
  497. package/lib/assets/fonts/Rene Bieder Milliard Thin Italic.woff +0 -0
  498. package/lib/assets/fonts/Rene Bieder Milliard Thin.woff +0 -0
  499. package/lib/assets/fonts/style.css +177 -0
  500. package/lib/assets/gltf/door_closet.bin +0 -0
  501. package/lib/assets/gltf/door_closet.fbx +0 -0
  502. package/lib/assets/gltf/door_closet.gltf +1 -0
  503. package/lib/assets/gltf/door_exterior.bin +0 -0
  504. package/lib/assets/gltf/door_exterior.fbx +0 -0
  505. package/lib/assets/gltf/door_exterior.gltf +1 -0
  506. package/lib/assets/gltf/door_interior.bin +0 -0
  507. package/lib/assets/gltf/door_interior.fbx +0 -0
  508. package/lib/assets/gltf/door_interior.gltf +1 -0
  509. package/lib/assets/gltf/door_sliding.bin +0 -0
  510. package/lib/assets/gltf/door_sliding.fbx +0 -0
  511. package/lib/assets/gltf/door_sliding.gltf +1 -0
  512. package/lib/assets/gltf/doorway_framed.bin +0 -0
  513. package/lib/assets/gltf/doorway_framed.fbx +0 -0
  514. package/lib/assets/gltf/doorway_framed.gltf +1 -0
  515. package/lib/assets/gltf/window_clear.bin +0 -0
  516. package/lib/assets/gltf/window_clear.fbx +0 -0
  517. package/lib/assets/gltf/window_clear.gltf +1 -0
  518. package/lib/assets/gltf/window_cross.bin +0 -0
  519. package/lib/assets/gltf/window_cross.fbx +0 -0
  520. package/lib/assets/gltf/window_cross.gltf +1 -0
  521. package/lib/assets/gltf/window_double_hung.bin +0 -0
  522. package/lib/assets/gltf/window_double_hung.fbx +0 -0
  523. package/lib/assets/gltf/window_double_hung.gltf +1 -0
  524. package/lib/assets/gltf/window_vertical.bin +0 -0
  525. package/lib/assets/gltf/window_vertical.fbx +0 -0
  526. package/lib/assets/gltf/window_vertical.gltf +1 -0
  527. package/lib/assets/img/1.jpg +0 -0
  528. package/lib/assets/img/TKC_thumbnail.png +0 -0
  529. package/lib/assets/img/Toggle.png +0 -0
  530. package/lib/assets/img/loading/loading.gif +0 -0
  531. package/lib/assets/img/loading/loading_1.svg +11 -0
  532. package/lib/assets/img/loading_large.gif +0 -0
  533. package/lib/assets/img/png/door/closet.png +0 -0
  534. package/lib/assets/img/png/door/doorwaysframed.png +0 -0
  535. package/lib/assets/img/png/door/doorwaysframeles.png +0 -0
  536. package/lib/assets/img/png/door/doorwaysframeless.png +0 -0
  537. package/lib/assets/img/png/door/exterior.png +0 -0
  538. package/lib/assets/img/png/door/interior.png +0 -0
  539. package/lib/assets/img/png/door/sliding.png +0 -0
  540. package/lib/assets/img/png/helper/outcome.png +0 -0
  541. package/lib/assets/img/png/helper/video_preview_3d.png +0 -0
  542. package/lib/assets/img/png/helper/video_preview_start.png +0 -0
  543. package/lib/assets/img/project_img.png +0 -0
  544. package/lib/assets/img/rta/rta_logo_box_blue.jpg +0 -0
  545. package/lib/assets/img/rta/rta_logo_box_blue_ico.jpg +0 -0
  546. package/lib/assets/img/rta/rta_logo_box_blue_ico.svg +55 -0
  547. package/lib/assets/img/rta/rta_logo_box_darkGray.jpg +0 -0
  548. package/lib/assets/img/rta/rta_logo_box_lightblue.png +0 -0
  549. package/lib/assets/img/rta/rta_logo_box_lightmaroon.png +0 -0
  550. package/lib/assets/img/rta/rta_logo_box_maroon.png +0 -0
  551. package/lib/assets/img/rta/rta_logo_box_white.png +0 -0
  552. package/lib/assets/img/rta_menu.png +0 -0
  553. package/lib/assets/img/step2.jpg +0 -0
  554. package/lib/assets/img/step3.jpg +0 -0
  555. package/lib/assets/img/step4.jpg +0 -0
  556. package/lib/assets/img/step5.jpg +0 -0
  557. package/lib/assets/img/step6.jpg +0 -0
  558. package/lib/assets/img/step7.jpg +0 -0
  559. package/lib/assets/img/step8.jpg +0 -0
  560. package/lib/assets/img/svg/2d_delete_object.svg +33 -0
  561. package/lib/assets/img/svg/2d_delete_object1.svg +33 -0
  562. package/lib/assets/img/svg/2d_lock_object.svg +33 -0
  563. package/lib/assets/img/svg/3d_item_move.svg +106 -0
  564. package/lib/assets/img/svg/3d_item_rotation.svg +76 -0
  565. package/lib/assets/img/svg/3d_item_warning_edit.svg +77 -0
  566. package/lib/assets/img/svg/3d_item_warning_info.svg +81 -0
  567. package/lib/assets/img/svg/accessories.svg +4 -0
  568. package/lib/assets/img/svg/angle_icon.svg +39 -0
  569. package/lib/assets/img/svg/blank_div.svg +14 -0
  570. package/lib/assets/img/svg/bottombar/2d3d_button.svg +3 -0
  571. package/lib/assets/img/svg/bottombar/2d3d_button_active.svg +3 -0
  572. package/lib/assets/img/svg/bottombar/2d3d_toggle.svg +4 -0
  573. package/lib/assets/img/svg/bottombar/2d3d_toggle_active.svg +4 -0
  574. package/lib/assets/img/svg/bottombar/arrow-down.svg +3 -0
  575. package/lib/assets/img/svg/bottombar/arrow-left.svg +3 -0
  576. package/lib/assets/img/svg/bottombar/arrow-minus.svg +3 -0
  577. package/lib/assets/img/svg/bottombar/arrow-plus.svg +11 -0
  578. package/lib/assets/img/svg/bottombar/arrow-right.svg +3 -0
  579. package/lib/assets/img/svg/bottombar/arrow-up.svg +3 -0
  580. package/lib/assets/img/svg/bottombar/collapse.svg +3 -0
  581. package/lib/assets/img/svg/bottombar/elevation-back.svg +6 -0
  582. package/lib/assets/img/svg/bottombar/elevation-front.svg +6 -0
  583. package/lib/assets/img/svg/bottombar/elevation-left.svg +6 -0
  584. package/lib/assets/img/svg/bottombar/elevation-right.svg +7 -0
  585. package/lib/assets/img/svg/bottombar/elevation.svg +6 -0
  586. package/lib/assets/img/svg/bottombar/expand.svg +3 -0
  587. package/lib/assets/img/svg/bottombar/help.svg +72 -0
  588. package/lib/assets/img/svg/bottombar/incm_toggle.svg +39 -0
  589. package/lib/assets/img/svg/bottombar/pan_1.svg +57 -0
  590. package/lib/assets/img/svg/bottombar/pan_2.svg +27 -0
  591. package/lib/assets/img/svg/bottombar/pan_3.svg +27 -0
  592. package/lib/assets/img/svg/bottombar/pan_4.svg +27 -0
  593. package/lib/assets/img/svg/bottombar/pan_5.svg +27 -0
  594. package/lib/assets/img/svg/bottombar/settings.svg +23 -0
  595. package/lib/assets/img/svg/bottombar/spin-down.svg +76 -0
  596. package/lib/assets/img/svg/bottombar/spin-left.svg +75 -0
  597. package/lib/assets/img/svg/bottombar/spin-right.svg +75 -0
  598. package/lib/assets/img/svg/bottombar/spin-up.svg +76 -0
  599. package/lib/assets/img/svg/bottombar/spin_1.svg +48 -0
  600. package/lib/assets/img/svg/bottombar/spin_2.svg +31 -0
  601. package/lib/assets/img/svg/bottombar/spin_3.svg +31 -0
  602. package/lib/assets/img/svg/bottombar/spin_4.svg +31 -0
  603. package/lib/assets/img/svg/bottombar/spin_5.svg +31 -0
  604. package/lib/assets/img/svg/bottombar/zoomin.svg +29 -0
  605. package/lib/assets/img/svg/bottombar/zoomout.svg +26 -0
  606. package/lib/assets/img/svg/check.svg +10 -0
  607. package/lib/assets/img/svg/close.svg +11 -0
  608. package/lib/assets/img/svg/color/Black.svg +3 -0
  609. package/lib/assets/img/svg/color/Blue.svg +3 -0
  610. package/lib/assets/img/svg/color/Brown.svg +9 -0
  611. package/lib/assets/img/svg/color/Cream.svg +3 -0
  612. package/lib/assets/img/svg/color/Dark.svg +9 -0
  613. package/lib/assets/img/svg/color/Gray.svg +3 -0
  614. package/lib/assets/img/svg/color/Green.svg +3 -0
  615. package/lib/assets/img/svg/color/Light.svg +9 -0
  616. package/lib/assets/img/svg/color/Medium.svg +9 -0
  617. package/lib/assets/img/svg/color/Unfinished.svg +9 -0
  618. package/lib/assets/img/svg/color/White.svg +3 -0
  619. package/lib/assets/img/svg/color/White.svg.bak +3 -0
  620. package/lib/assets/img/svg/color/stone2.jpg +0 -0
  621. package/lib/assets/img/svg/color/wood2.jpg +0 -0
  622. package/lib/assets/img/svg/copy.svg +11 -0
  623. package/lib/assets/img/svg/delete.svg +3 -0
  624. package/lib/assets/img/svg/detail.svg +77 -0
  625. package/lib/assets/img/svg/disclaimer/background.svg +758 -0
  626. package/lib/assets/img/svg/disclaimer/logo-dots.svg +11 -0
  627. package/lib/assets/img/svg/door/Closet.svg +11 -0
  628. package/lib/assets/img/svg/door/Exterior.svg +5 -0
  629. package/lib/assets/img/svg/door/Framed_dorway.svg +5 -0
  630. package/lib/assets/img/svg/door/Frameless_dorway.svg +5 -0
  631. package/lib/assets/img/svg/door/Interior.svg +7 -0
  632. package/lib/assets/img/svg/door/Sliding.svg +5 -0
  633. package/lib/assets/img/svg/doors_closet.svg +47 -0
  634. package/lib/assets/img/svg/doors_exterior.svg +25 -0
  635. package/lib/assets/img/svg/doors_interior.svg +29 -0
  636. package/lib/assets/img/svg/doors_patio.svg +26 -0
  637. package/lib/assets/img/svg/duplicate.svg +11 -0
  638. package/lib/assets/img/svg/duplicate_object_left.svg +32 -0
  639. package/lib/assets/img/svg/duplicate_object_right.svg +32 -0
  640. package/lib/assets/img/svg/filtersActive.svg +19 -0
  641. package/lib/assets/img/svg/firstsetting/L.svg +3 -0
  642. package/lib/assets/img/svg/firstsetting/L2.svg +3 -0
  643. package/lib/assets/img/svg/firstsetting/Open.svg +3 -0
  644. package/lib/assets/img/svg/firstsetting/Square.svg +3 -0
  645. package/lib/assets/img/svg/firstsetting/bar-active.svg +9 -0
  646. package/lib/assets/img/svg/firstsetting/bar-normal.svg +3 -0
  647. package/lib/assets/img/svg/firstsetting/bullet-current.svg +3 -0
  648. package/lib/assets/img/svg/firstsetting/bullet-done.svg +3 -0
  649. package/lib/assets/img/svg/firstsetting/bullet-not-done.svg +3 -0
  650. package/lib/assets/img/svg/firstsetting/check-active.svg +3 -0
  651. package/lib/assets/img/svg/firstsetting/check-normal.svg +3 -0
  652. package/lib/assets/img/svg/firstsetting/pencil.svg +11 -0
  653. package/lib/assets/img/svg/green_checkmark.svg +27 -0
  654. package/lib/assets/img/svg/headerbar/assist.svg +3 -0
  655. package/lib/assets/img/svg/headerbar/cart.svg +3 -0
  656. package/lib/assets/img/svg/headerbar/check.svg +10 -0
  657. package/lib/assets/img/svg/headerbar/consult_designer.svg +45 -0
  658. package/lib/assets/img/svg/headerbar/edit_name.svg +26 -0
  659. package/lib/assets/img/svg/headerbar/file-dollar.svg +13 -0
  660. package/lib/assets/img/svg/headerbar/hamburger_menu.svg +32 -0
  661. package/lib/assets/img/svg/headerbar/plus.svg +11 -0
  662. package/lib/assets/img/svg/headerbar/review_quote.svg +44 -0
  663. package/lib/assets/img/svg/headerbar/ruler-measure.svg +11 -0
  664. package/lib/assets/img/svg/headerbar/save.svg +3 -0
  665. package/lib/assets/img/svg/headerbar/setting.svg +75 -0
  666. package/lib/assets/img/svg/help/check.svg +10 -0
  667. package/lib/assets/img/svg/help/search.svg +76 -0
  668. package/lib/assets/img/svg/intro/1-start-with-floorplan-whole.svg +27 -0
  669. package/lib/assets/img/svg/intro/1-start-with-floorplan.svg +26 -0
  670. package/lib/assets/img/svg/intro/2-start-from-scratch-whole.svg +28 -0
  671. package/lib/assets/img/svg/intro/2-start-from-scratch.svg +27 -0
  672. package/lib/assets/img/svg/intro/3-retrieve-project-whole.svg +19 -0
  673. package/lib/assets/img/svg/intro/3-retrieve-project.svg +18 -0
  674. package/lib/assets/img/svg/invert.svg +127 -0
  675. package/lib/assets/img/svg/lefttoolbar/appliance-active.svg +13 -0
  676. package/lib/assets/img/svg/lefttoolbar/appliance.svg +13 -0
  677. package/lib/assets/img/svg/lefttoolbar/cabinet-active.svg +10 -0
  678. package/lib/assets/img/svg/lefttoolbar/cabinet-category.svg +3 -0
  679. package/lib/assets/img/svg/lefttoolbar/cabinet-one.svg +3 -0
  680. package/lib/assets/img/svg/lefttoolbar/cabinet.svg +10 -0
  681. package/lib/assets/img/svg/lefttoolbar/disigner_assistance.svg +89 -0
  682. package/lib/assets/img/svg/lefttoolbar/door-style-active.svg +20 -0
  683. package/lib/assets/img/svg/lefttoolbar/door-style.svg +20 -0
  684. package/lib/assets/img/svg/lefttoolbar/door.svg +12 -0
  685. package/lib/assets/img/svg/lefttoolbar/error_icon.svg +81 -0
  686. package/lib/assets/img/svg/lefttoolbar/finishing-active.svg +13 -0
  687. package/lib/assets/img/svg/lefttoolbar/finishing.svg +13 -0
  688. package/lib/assets/img/svg/lefttoolbar/reviewforquote-active.svg +86 -0
  689. package/lib/assets/img/svg/lefttoolbar/reviewforquote.svg +12 -0
  690. package/lib/assets/img/svg/lefttoolbar/room-shape-L.svg +3 -0
  691. package/lib/assets/img/svg/lefttoolbar/room-shape-active.svg +18 -0
  692. package/lib/assets/img/svg/lefttoolbar/room-shape-custom.svg +12 -0
  693. package/lib/assets/img/svg/lefttoolbar/room-shape-irregular.svg +3 -0
  694. package/lib/assets/img/svg/lefttoolbar/room-shape-open.svg +3 -0
  695. package/lib/assets/img/svg/lefttoolbar/room-shape-square.svg +3 -0
  696. package/lib/assets/img/svg/lefttoolbar/room-shape.svg +18 -0
  697. package/lib/assets/img/svg/lefttoolbar/search.svg +76 -0
  698. package/lib/assets/img/svg/lefttoolbar/view_more.svg +86 -0
  699. package/lib/assets/img/svg/lefttoolbar/warning_icon.svg +81 -0
  700. package/lib/assets/img/svg/lefttoolbar/window.svg +12 -0
  701. package/lib/assets/img/svg/logo.svg +11 -0
  702. package/lib/assets/img/svg/logo_with_text.svg +25 -0
  703. package/lib/assets/img/svg/menubar/login.svg +84 -0
  704. package/lib/assets/img/svg/menubar/my_projects.svg +85 -0
  705. package/lib/assets/img/svg/menubar/new_project.svg +110 -0
  706. package/lib/assets/img/svg/menubar/save_project.svg +84 -0
  707. package/lib/assets/img/svg/options.svg +3 -0
  708. package/lib/assets/img/svg/positioning.svg +3 -0
  709. package/lib/assets/img/svg/rotate.png +0 -0
  710. package/lib/assets/img/svg/rotate.svg +17 -0
  711. package/lib/assets/img/svg/rotate_object_clockwise.svg +26 -0
  712. package/lib/assets/img/svg/rotate_object_counterclockwise.svg +26 -0
  713. package/lib/assets/img/svg/toggleFilters.svg +19 -0
  714. package/lib/assets/img/svg/toolbar/add_appliances_active.svg +64 -0
  715. package/lib/assets/img/svg/toolbar/add_appliances_inactive.svg +52 -0
  716. package/lib/assets/img/svg/toolbar/add_button.svg +36 -0
  717. package/lib/assets/img/svg/toolbar/add_cabinets_active.svg +59 -0
  718. package/lib/assets/img/svg/toolbar/add_cabinets_inactive.svg +49 -0
  719. package/lib/assets/img/svg/toolbar/add_items_doors.svg +25 -0
  720. package/lib/assets/img/svg/toolbar/add_items_doorways.svg +24 -0
  721. package/lib/assets/img/svg/toolbar/add_items_refrigerator.svg +32 -0
  722. package/lib/assets/img/svg/toolbar/add_items_windows.svg +28 -0
  723. package/lib/assets/img/svg/toolbar/apply_button.svg +38 -0
  724. package/lib/assets/img/svg/toolbar/arrow-plus.svg +11 -0
  725. package/lib/assets/img/svg/toolbar/backsplash.svg +8 -0
  726. package/lib/assets/img/svg/toolbar/cancel_button.svg +37 -0
  727. package/lib/assets/img/svg/toolbar/consult_a_designer_button.svg +47 -0
  728. package/lib/assets/img/svg/toolbar/countertop.svg +7 -0
  729. package/lib/assets/img/svg/toolbar/dcm.png +0 -0
  730. package/lib/assets/img/svg/toolbar/dcm_off.svg +12 -0
  731. package/lib/assets/img/svg/toolbar/dcm_on.svg +474 -0
  732. package/lib/assets/img/svg/toolbar/delete_button.svg +37 -0
  733. package/lib/assets/img/svg/toolbar/download.svg +77 -0
  734. package/lib/assets/img/svg/toolbar/draw_custom_floor.svg +31 -0
  735. package/lib/assets/img/svg/toolbar/edit_button.svg +75 -0
  736. package/lib/assets/img/svg/toolbar/email_quote_button.svg +44 -0
  737. package/lib/assets/img/svg/toolbar/fbm.png +0 -0
  738. package/lib/assets/img/svg/toolbar/finishing_touches_active.svg +54 -0
  739. package/lib/assets/img/svg/toolbar/finishing_touches_inactive.svg +42 -0
  740. package/lib/assets/img/svg/toolbar/floorstyle.svg +9 -0
  741. package/lib/assets/img/svg/toolbar/fmb.png +0 -0
  742. package/lib/assets/img/svg/toolbar/fmb_off.svg +12 -0
  743. package/lib/assets/img/svg/toolbar/fmb_on.svg +489 -0
  744. package/lib/assets/img/svg/toolbar/furnishings_icon.svg +6 -0
  745. package/lib/assets/img/svg/toolbar/get_started_button.svg +41 -0
  746. package/lib/assets/img/svg/toolbar/handles.svg +5 -0
  747. package/lib/assets/img/svg/toolbar/lighting.svg +7 -0
  748. package/lib/assets/img/svg/toolbar/lrm.png +0 -0
  749. package/lib/assets/img/svg/toolbar/lrm_off.svg +12 -0
  750. package/lib/assets/img/svg/toolbar/lrm_on.svg +470 -0
  751. package/lib/assets/img/svg/toolbar/make_floorplan_active.svg +66 -0
  752. package/lib/assets/img/svg/toolbar/make_floorplan_inactive.svg +52 -0
  753. package/lib/assets/img/svg/toolbar/predefined_room_l_shaped.svg +20 -0
  754. package/lib/assets/img/svg/toolbar/predefined_room_layout.svg +20 -0
  755. package/lib/assets/img/svg/toolbar/predefined_room_long_narrow.svg +20 -0
  756. package/lib/assets/img/svg/toolbar/predefined_room_open_l_shape.svg +20 -0
  757. package/lib/assets/img/svg/toolbar/predefined_room_open_pentagon.svg +20 -0
  758. package/lib/assets/img/svg/toolbar/predefined_room_open_rectangle.svg +20 -0
  759. package/lib/assets/img/svg/toolbar/predefined_room_open_rectangle_2.svg +20 -0
  760. package/lib/assets/img/svg/toolbar/predefined_room_pentagon.svg +20 -0
  761. package/lib/assets/img/svg/toolbar/predefined_room_rectangle.svg +20 -0
  762. package/lib/assets/img/svg/toolbar/predefined_room_rectangle_with_alcove.svg +20 -0
  763. package/lib/assets/img/svg/toolbar/redo_button.svg +75 -0
  764. package/lib/assets/img/svg/toolbar/redo_button1.svg +75 -0
  765. package/lib/assets/img/svg/toolbar/review_quote_active.svg +14 -0
  766. package/lib/assets/img/svg/toolbar/review_quote_inactive.svg +44 -0
  767. package/lib/assets/img/svg/toolbar/save_project_button.svg +44 -0
  768. package/lib/assets/img/svg/toolbar/select_doorstyle_active.svg +67 -0
  769. package/lib/assets/img/svg/toolbar/select_doorstyle_inactive.svg +57 -0
  770. package/lib/assets/img/svg/toolbar/shopping-cart.svg +13 -0
  771. package/lib/assets/img/svg/toolbar/style_change_button.svg +47 -0
  772. package/lib/assets/img/svg/toolbar/take_picture.svg +75 -0
  773. package/lib/assets/img/svg/toolbar/undo_button.svg +76 -0
  774. package/lib/assets/img/svg/toolbar/undo_button1.svg +76 -0
  775. package/lib/assets/img/svg/toolbar/use_button.svg +37 -0
  776. package/lib/assets/img/svg/toolbar/wall_color_icon.svg +6 -0
  777. package/lib/assets/img/svg/topbar/edit_active.svg +10 -0
  778. package/lib/assets/img/svg/topbar/edit_inactive.svg +10 -0
  779. package/lib/assets/img/svg/topbar/redo_active.svg +42 -0
  780. package/lib/assets/img/svg/topbar/redo_inactive.svg +23 -0
  781. package/lib/assets/img/svg/topbar/select_all_active.svg +50 -0
  782. package/lib/assets/img/svg/topbar/select_all_inactive.svg +32 -0
  783. package/lib/assets/img/svg/topbar/take_picture_active.svg +51 -0
  784. package/lib/assets/img/svg/topbar/take_picture_inactive.svg +26 -0
  785. package/lib/assets/img/svg/topbar/undo_active.svg +42 -0
  786. package/lib/assets/img/svg/topbar/undo_inactive.svg +23 -0
  787. package/lib/assets/img/svg/warning_info_2d.svg +81 -0
  788. package/lib/assets/img/svg/window/Clear.svg +3 -0
  789. package/lib/assets/img/svg/window/Cross.svg +5 -0
  790. package/lib/assets/img/svg/window/Double_hung.svg +4 -0
  791. package/lib/assets/img/svg/window/Vertical.svg +4 -0
  792. package/lib/assets/img/svg/windows_clear.svg +23 -0
  793. package/lib/assets/img/svg/windows_cross.svg +28 -0
  794. package/lib/assets/img/svg/windows_double_hung.svg +24 -0
  795. package/lib/assets/img/svg/windows_vertical.svg +24 -0
  796. package/lib/assets/img/svg/wizardstep/Custom.svg +3 -0
  797. package/lib/assets/img/svg/wizardstep/Dashed_line.svg +3 -0
  798. package/lib/assets/img/svg/wizardstep/L.svg +3 -0
  799. package/lib/assets/img/svg/wizardstep/L2.svg +3 -0
  800. package/lib/assets/img/svg/wizardstep/Open.svg +3 -0
  801. package/lib/assets/img/svg/wizardstep/Square.svg +3 -0
  802. package/lib/assets/img/svg/wizardstep/bar-active.svg +9 -0
  803. package/lib/assets/img/svg/wizardstep/bar-normal.svg +3 -0
  804. package/lib/assets/img/svg/wizardstep/bullet-current.svg +3 -0
  805. package/lib/assets/img/svg/wizardstep/bullet-done.svg +3 -0
  806. package/lib/assets/img/svg/wizardstep/bullet-not-done.svg +3 -0
  807. package/lib/assets/img/svg/wizardstep/check-active.svg +3 -0
  808. package/lib/assets/img/svg/wizardstep/check-normal.svg +3 -0
  809. package/lib/assets/img/svg/wizardstep/detail_view.svg +87 -0
  810. package/lib/assets/img/svg/wizardstep/pencil.svg +11 -0
  811. package/lib/assets/img/svg/wizardstep/tile_view.svg +95 -0
  812. package/lib/assets/img/texture/glass.jpg +0 -0
  813. package/lib/assets/img/texture/steel.jpg +0 -0
  814. package/lib/assets/img/texture/white1px.jpg +0 -0
  815. package/lib/assets/img/texture/wood.jpg +0 -0
  816. package/lib/assets/model/DCM.bin +0 -0
  817. package/lib/assets/model/DCM.fbx +0 -0
  818. package/lib/assets/model/DCM.gltf +1 -0
  819. package/lib/assets/model/FBM.bin +0 -0
  820. package/lib/assets/model/FBM.fbx +0 -0
  821. package/lib/assets/model/FBM.gltf +1 -0
  822. package/lib/assets/model/LRM.bin +0 -0
  823. package/lib/assets/model/LRM.fbx +0 -0
  824. package/lib/assets/model/LRM.gltf +1 -0
  825. package/lib/assets/rtastore_logo.png +0 -0
  826. package/lib/catalog/areas/area/planner-element.js +14 -7
  827. package/lib/catalog/areas/area/textures/ceramic-tile.jpg +0 -0
  828. package/lib/catalog/areas/area/textures/grass.jpg +0 -0
  829. package/lib/catalog/areas/area/textures/parquet.jpg +0 -0
  830. package/lib/catalog/areas/area/textures/strand-porcelain.jpg +0 -0
  831. package/lib/catalog/areas/area/textures/tile1.jpg +0 -0
  832. package/lib/catalog/back.png +0 -0
  833. package/lib/catalog/catalog.js +10 -20
  834. package/lib/catalog/doors.png +0 -0
  835. package/lib/catalog/doorways.png +0 -0
  836. package/lib/catalog/envMap/nx.hdr +0 -0
  837. package/lib/catalog/envMap/ny.hdr +0 -0
  838. package/lib/catalog/envMap/nz.hdr +0 -0
  839. package/lib/catalog/envMap/px.hdr +0 -0
  840. package/lib/catalog/envMap/py.hdr +0 -0
  841. package/lib/catalog/envMap/pz.hdr +0 -0
  842. package/lib/catalog/export.js +1 -0
  843. package/lib/catalog/factories/area-factory-3d.js +1 -1
  844. package/lib/catalog/factories/area-factory.js +6 -7
  845. package/lib/catalog/factories/export.js +1 -1
  846. package/lib/catalog/factories/wall-factory-3d.js +6 -6
  847. package/lib/catalog/factories/wall-factory.js +12 -11
  848. package/lib/catalog/holes/door-closet/planner-element.js +4 -3
  849. package/lib/catalog/holes/door-double/door_double.png +0 -0
  850. package/lib/catalog/holes/door-double/planner-element.js +4 -3
  851. package/lib/catalog/holes/door-exterior/planner-element.js +4 -3
  852. package/lib/catalog/holes/door-interior/planner-element.js +4 -3
  853. package/lib/catalog/holes/door-panic/panicDoor.png +0 -0
  854. package/lib/catalog/holes/door-panic/planner-element.js +4 -3
  855. package/lib/catalog/holes/door-panic-double/panicDoorDouble.png +0 -0
  856. package/lib/catalog/holes/door-panic-double/planner-element.js +4 -3
  857. package/lib/catalog/holes/door-sliding/planner-element.js +4 -3
  858. package/lib/catalog/holes/doorway-framed/planner-element.js +4 -3
  859. package/lib/catalog/holes/doorway-frameless/planner-element.js +4 -3
  860. package/lib/catalog/holes/export.js +2 -2
  861. package/lib/catalog/holes/gate/gate.jpg +0 -0
  862. package/lib/catalog/holes/window-clear/planner-element.js +4 -3
  863. package/lib/catalog/holes/window-clear/texture.png +0 -0
  864. package/lib/catalog/holes/window-cross/planner-element.js +4 -3
  865. package/lib/catalog/holes/window-cross/texture.png +0 -0
  866. package/lib/catalog/holes/window-double-hung/planner-element.js +4 -3
  867. package/lib/catalog/holes/window-double-hung/texture.png +0 -0
  868. package/lib/catalog/holes/window-vertical/planner-element.js +4 -3
  869. package/lib/catalog/holes/window-vertical/texture.png +0 -0
  870. package/lib/catalog/lines/wall/planner-element.js +22 -11
  871. package/lib/catalog/lines/wall/textures/bricks-normal.jpg +0 -0
  872. package/lib/catalog/lines/wall/textures/bricks-normal2.jpg +0 -0
  873. package/lib/catalog/lines/wall/textures/bricks.jpg +0 -0
  874. package/lib/catalog/lines/wall/textures/bricks2.jpg +0 -0
  875. package/lib/catalog/lines/wall/textures/bricks3.jpg +0 -0
  876. package/lib/catalog/lines/wall/textures/morden-normal.jpg +0 -0
  877. package/lib/catalog/lines/wall/textures/morden.jpg +0 -0
  878. package/lib/catalog/lines/wall/textures/painted-normal.jpg +0 -0
  879. package/lib/catalog/lines/wall/textures/painted.jpg +0 -0
  880. package/lib/catalog/lines/wall/textures/plaster-normal.jpg +0 -0
  881. package/lib/catalog/lines/wall/textures/plaster.jpg +0 -0
  882. package/lib/catalog/lines/wall/wall.png +0 -0
  883. package/lib/catalog/molding/molding-dcm/planner-element.js +2 -6
  884. package/lib/catalog/molding/molding-dcm/texture.png +0 -0
  885. package/lib/catalog/molding/molding-fbm/planner-element.js +2 -6
  886. package/lib/catalog/molding/molding-fbm/texture.png +0 -0
  887. package/lib/catalog/molding/molding-lrm/planner-element.js +2 -6
  888. package/lib/catalog/molding/molding-lrm/texture.png +0 -0
  889. package/lib/catalog/properties/export.js +1 -1
  890. package/lib/catalog/properties/property-checkbox.js +12 -14
  891. package/lib/catalog/properties/property-color.js +3 -2
  892. package/lib/catalog/properties/property-enum.js +8 -12
  893. package/lib/catalog/properties/property-hidden.js +3 -2
  894. package/lib/catalog/properties/property-lenght-measure.js +11 -11
  895. package/lib/catalog/properties/property-length-measure.js +15 -15
  896. package/lib/catalog/properties/property-length-measure_hole.js +10 -10
  897. package/lib/catalog/properties/property-number.js +3 -2
  898. package/lib/catalog/properties/property-read-only.js +3 -2
  899. package/lib/catalog/properties/property-string.js +3 -2
  900. package/lib/catalog/properties/property-toggle.js +3 -2
  901. package/lib/catalog/properties/shared-property-style.js +2 -1
  902. package/lib/catalog/utils/FuseUtils.js +10 -11
  903. package/lib/catalog/utils/exporter.js +15 -13
  904. package/lib/catalog/utils/geom-utils.js +1 -1
  905. package/lib/catalog/utils/item-loader.js +140 -65
  906. package/lib/catalog/utils/mtl-loader.js +9 -2
  907. package/lib/catalog/utils/obj-loader.js +10 -2
  908. package/lib/catalog/windows.png +0 -0
  909. package/lib/class/FuseUtils.js +10 -11
  910. package/lib/class/area.js +9 -11
  911. package/lib/class/export.js +1 -1
  912. package/lib/class/group.js +13 -20
  913. package/lib/class/guide.js +9 -12
  914. package/lib/class/hole.js +7 -9
  915. package/lib/class/item.js +134 -173
  916. package/lib/class/layer.js +7 -9
  917. package/lib/class/line.js +126 -82
  918. package/lib/class/project.js +40 -35
  919. package/lib/class/vertex.js +10 -12
  920. package/lib/components/content.js +35 -8
  921. package/lib/components/export.js +6 -32
  922. package/lib/components/style/button.js +17 -22
  923. package/lib/components/style/cancel-button.js +7 -7
  924. package/lib/components/style/content-container.js +5 -7
  925. package/lib/components/style/content-title.js +10 -12
  926. package/lib/components/style/delete-button.js +8 -8
  927. package/lib/components/style/export.js +1 -1
  928. package/lib/components/style/form-block.js +9 -12
  929. package/lib/components/style/form-color-input.js +7 -7
  930. package/lib/components/style/form-label.js +9 -12
  931. package/lib/components/style/form-number-input.js +15 -19
  932. package/lib/components/style/form-number-input_2.js +15 -19
  933. package/lib/components/style/form-select.js +10 -10
  934. package/lib/components/style/form-slider.js +28 -12
  935. package/lib/components/style/form-submit-button.js +8 -8
  936. package/lib/components/style/form-text-input.js +19 -24
  937. package/lib/components/viewer2d/area.js +8 -7
  938. package/lib/components/viewer2d/export.js +1 -1
  939. package/lib/components/viewer2d/grids/grid-horizontal-streak.js +3 -3
  940. package/lib/components/viewer2d/grids/grid-streak.js +4 -4
  941. package/lib/components/viewer2d/grids/grid-vertical-streak.js +3 -3
  942. package/lib/components/viewer2d/grids/grids.js +6 -10
  943. package/lib/components/viewer2d/group.js +4 -3
  944. package/lib/components/viewer2d/item.js +34 -98
  945. package/lib/components/viewer2d/layer.js +4 -3
  946. package/lib/components/viewer2d/line.js +338 -258
  947. package/lib/components/viewer2d/ruler.js +21 -41
  948. package/lib/components/viewer2d/rulerDist.js +23 -36
  949. package/lib/components/viewer2d/rulerX.js +15 -19
  950. package/lib/components/viewer2d/rulerY.js +15 -19
  951. package/lib/components/viewer2d/scene.js +23 -33
  952. package/lib/components/viewer2d/snap.js +4 -3
  953. package/lib/components/viewer2d/state.js +7 -11
  954. package/lib/components/viewer2d/utils.js +29 -2
  955. package/lib/components/viewer2d/vertex.js +4 -3
  956. package/lib/components/viewer2d/viewer2d.js +178 -139
  957. package/lib/components/viewer3d/camera-controls-module/camera-controls.module.js +14 -20
  958. package/lib/components/viewer3d/dcm.js +2 -1
  959. package/lib/components/viewer3d/fbm.js +2 -1
  960. package/lib/components/viewer3d/front3D.js +6 -10
  961. package/lib/components/viewer3d/grid-creator.js +4 -3
  962. package/lib/components/viewer3d/grids/grid-horizontal-streak.js +3 -2
  963. package/lib/components/viewer3d/grids/grid-streak.js +3 -2
  964. package/lib/components/viewer3d/grids/grid-vertical-streak.js +3 -2
  965. package/lib/components/viewer3d/libs/mtl-loader.js +9 -2
  966. package/lib/components/viewer3d/libs/obj-loader.js +9 -2
  967. package/lib/components/viewer3d/libs/orbit-controls.js +11 -5
  968. package/lib/components/viewer3d/libs/pointer-lock-controls.js +13 -7
  969. package/lib/components/viewer3d/lrm.js +2 -1
  970. package/lib/components/viewer3d/pointer-lock-navigation.js +1 -1
  971. package/lib/components/viewer3d/ruler-utils/itemRect.js +10 -9
  972. package/lib/components/viewer3d/ruler-utils/layer3D.js +35 -34
  973. package/lib/components/viewer3d/ruler-utils/ruler3D.js +5 -7
  974. package/lib/components/viewer3d/ruler-utils/scene3D.js +3 -5
  975. package/lib/components/viewer3d/ruler-utils/state3D.js +3 -2
  976. package/lib/components/viewer3d/scene-creator.js +62 -52
  977. package/lib/components/viewer3d/three-memory-cleaner.js +1 -1
  978. package/lib/components/viewer3d/viewer3d-first-person.js +13 -17
  979. package/lib/components/viewer3d/viewer3d.js +394 -266
  980. package/lib/constants.js +59 -7
  981. package/lib/devLiteRenderer.js +320 -0
  982. package/lib/index.js +59 -89
  983. package/lib/models.js +64 -68
  984. package/lib/plugins/console-debugger.js +5 -7
  985. package/lib/plugins/export.js +1 -9
  986. package/lib/plugins/keyboard.js +2 -1
  987. package/lib/reducers/areas-reducer.js +2 -1
  988. package/lib/reducers/export.js +1 -1
  989. package/lib/reducers/groups-reducer.js +2 -1
  990. package/lib/reducers/holes-reducer.js +2 -1
  991. package/lib/reducers/items-reducer.js +9 -4
  992. package/lib/reducers/lines-reducer.js +2 -1
  993. package/lib/reducers/project-reducer.js +5 -2
  994. package/lib/reducers/scene-reducer.js +2 -1
  995. package/lib/reducers/user-reducer.js +2 -1
  996. package/lib/reducers/vertices-reducer.js +2 -1
  997. package/lib/reducers/viewer2d-reducer.js +5 -5
  998. package/lib/reducers/viewer3d-reducer.js +5 -5
  999. package/lib/shared-style.js +4 -4
  1000. package/lib/styles/export.js +1 -1
  1001. package/lib/styles/tabs.css +40 -0
  1002. package/lib/translator/en.js +2 -1
  1003. package/lib/translator/it.js +2 -1
  1004. package/lib/translator/ru.js +2 -1
  1005. package/lib/translator/translator.js +7 -10
  1006. package/lib/utils/convert-units-lite.js +35 -0
  1007. package/lib/utils/export.js +2 -2
  1008. package/lib/utils/geometry.js +83 -54
  1009. package/lib/utils/get-edges-of-subgraphs.js +6 -1
  1010. package/lib/utils/graph-cycles.js +7 -8
  1011. package/lib/utils/graph-inner-cycles.js +1 -1
  1012. package/lib/utils/graph.js +13 -11
  1013. package/lib/utils/helper.js +15 -16
  1014. package/lib/utils/history.js +1 -1
  1015. package/lib/utils/id-broker.js +7 -10
  1016. package/lib/utils/isolate-event-handler.js +691 -0
  1017. package/lib/utils/molding.js +66 -71
  1018. package/lib/utils/name-generator.js +7 -9
  1019. package/lib/utils/objects-utils.js +5 -3
  1020. package/lib/utils/process-black-list.js +3 -5
  1021. package/lib/utils/react-if.js +3 -2
  1022. package/lib/utils/snap-scene.js +3 -7
  1023. package/lib/utils/snap.js +22 -26
  1024. package/lib/utils/threeCSG.es6.js +16 -15
  1025. package/lib/version.js +1 -2
  1026. package/package.json +53 -60
  1027. package/es/KitchenConfigurator.js +0 -652
  1028. package/es/KitchenConfiguratorApp.js +0 -495
  1029. package/es/components/disclaimer/disclaimer.js +0 -117
  1030. package/es/plugins/autosave.js +0 -33
  1031. package/lib/KitchenConfigurator.js +0 -660
  1032. package/lib/KitchenConfiguratorApp.js +0 -502
  1033. package/lib/components/disclaimer/disclaimer.js +0 -125
  1034. package/lib/plugins/autosave.js +0 -39
@@ -1,14 +1,17 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1
4
  import React from 'react';
2
5
  import PropTypes from 'prop-types';
3
6
  import { GeometryUtils } from "../../utils/export";
4
7
  import Ruler from "./ruler";
5
- import { BASE_CABINET_LAYOUTPOS, LINE_THICKNESS, WALL_CABINET_LAYOUTPOS } from "../../constants";
8
+ import { BASE_CABINET_LAYOUTPOS, LINE_THICKNESS, MODE_DRAGGING_LINE, MODE_DRAWING_LINE, WALL_CABINET_LAYOUTPOS, MAX_ANGLE_SCALE, ROOM_SHAPE_MEASUREMENT_LINE_COLOR, ROOM_ELEMENT_MEASUREMENT_LINE_COLOR, BASE_ITEM_MEASUREMENT_LINE_COLOR, WALL_ITEM_MEASUREMENT_LINE_COLOR, DISTANCE_MEASUREMENT_LINE_COLOR, DASH_LINE_COLOR, TALL_CABINET_LAYOUTPOS } from "../../constants";
6
9
  import * as Three from 'three';
7
10
  import { isEmpty } from "./utils";
8
- import Tooltip from '@material-ui/core/Tooltip';
9
11
  var STYLE = {
10
- stroke: 'rgb(77, 77, 77)',
11
- strokeWidth: '1px'
12
+ stroke: '#78909C',
13
+ strokeWidth: '1px',
14
+ strokeDasharray: '4 8'
12
15
  };
13
16
  var STYLE_ANGLE = {
14
17
  stroke: 'rgb(77, 77, 77)',
@@ -22,7 +25,40 @@ var STYLE_TEXT = {
22
25
  textAnchor: 'middle',
23
26
  fontSize: '7px',
24
27
  fontWeight: 'middle',
25
- fontFamily: "'Microsoft YaHei UI', Courier, monospace"
28
+ fontFamily: "'Courier New', Courier, monospace"
29
+ };
30
+ export var STYLE_ROOM_SHAPE = {
31
+ stroke: ROOM_SHAPE_MEASUREMENT_LINE_COLOR,
32
+ strokeWidth: '2px'
33
+ };
34
+ var STYLE_DASH = {
35
+ stroke: DASH_LINE_COLOR,
36
+ strokeDasharray: '4 4',
37
+ strokeWidth: '2px',
38
+ strokeLinecap: 'round'
39
+ };
40
+ var STYLE_ROOM_ELEMENT = {
41
+ fill: ROOM_ELEMENT_MEASUREMENT_LINE_COLOR,
42
+ stroke: ROOM_ELEMENT_MEASUREMENT_LINE_COLOR,
43
+ strokeWidth: '2px'
44
+ };
45
+ var STYLE_BASE_ITEM = {
46
+ fill: BASE_ITEM_MEASUREMENT_LINE_COLOR,
47
+ stroke: BASE_ITEM_MEASUREMENT_LINE_COLOR,
48
+ strokeWidth: '2px'
49
+ };
50
+ var STYLE_WALL_ITEM = {
51
+ fill: WALL_ITEM_MEASUREMENT_LINE_COLOR,
52
+ stroke: WALL_ITEM_MEASUREMENT_LINE_COLOR,
53
+ strokeWidth: '2px'
54
+ };
55
+ var STYLE_DISTANCE = {
56
+ fill: DISTANCE_MEASUREMENT_LINE_COLOR,
57
+ stroke: DISTANCE_MEASUREMENT_LINE_COLOR,
58
+ strokeWidth: '2px'
59
+ };
60
+ var selectStyle = function selectStyle(element, style) {
61
+ return element.iFlag ? style : STYLE_DISTANCE;
26
62
  };
27
63
  export function compareVertices(v0, v1) {
28
64
  return v0.x === v1.x ? v0.y - v1.y : v0.x - v1.x;
@@ -48,9 +84,27 @@ export default function Line(_ref) {
48
84
  y1 = vertex0.y;
49
85
  var x2 = vertex1.x,
50
86
  y2 = vertex1.y;
87
+ var l2 = {
88
+ x: x1,
89
+ y: y1
90
+ };
91
+ var l3 = {
92
+ x: x2,
93
+ y: y2
94
+ };
95
+ var isSnapped = function isSnapped(itemRect) {
96
+ var r0 = itemRect.rect[0];
97
+ var r1 = itemRect.rect[1];
98
+ var r2 = itemRect.rect[2];
99
+ var r3 = itemRect.rect[3];
100
+ var delta23 = GeometryUtils.verticesDistance(l2, r3) + GeometryUtils.verticesDistance(r3, r2) + GeometryUtils.verticesDistance(r2, l3) - GeometryUtils.verticesDistance(l3, l2);
101
+ if (delta23 < 0.1) {
102
+ return true;
103
+ } else {
104
+ return false;
105
+ }
106
+ };
51
107
  var relatedvertice0x, relatedvertice0y, relatedvertice1x, relatedvertice1y;
52
- // relatedvertice0x = relatedVertice.point.x;
53
- // relatedvertice0y = relatedVertice.point.y;
54
108
  line.relatedVertices.forEach(function (relatedVertice) {
55
109
  if (relatedVertice.index == undefined) relatedVertice = relatedVertice.toJSON();
56
110
  if (relatedVertice.index == 0) {
@@ -63,17 +117,19 @@ export default function Line(_ref) {
63
117
  });
64
118
  var thickness = LINE_THICKNESS;
65
119
  var half_thickness = thickness / 2;
66
- // if (compareVertices(vertex0, vertex1) >= 0 && vertex0.x !== vertex1.x) {
67
- // ({ x: x1, y: y1 } = vertex1);
68
- // ({ x: x2, y: y2 } = vertex0);
69
- // }
70
-
120
+ var STEP = 20;
71
121
  var length = GeometryUtils.pointsDistance(x1, y1, x2, y2);
72
122
  // let length = GeometryUtils.pointsDistance(relatedvertice0x,relatedvertice0y,relatedvertice1x,relatedvertice1y);
73
123
  var rightHoleLength, leftHoleLength, holeLength;
74
124
  var angle = GeometryUtils.angleBetweenTwoPointsAndOrigin(x1, y1, x2, y2);
75
- var baseSpace = 20;
76
- var base_item = GeometryUtils.getAllItemSpecified(scene, catalog, BASE_CABINET_LAYOUTPOS);
125
+ // wall cabinet
126
+ var wallSpace = STEP;
127
+ var wall_item = GeometryUtils.getAllItemSpecified(scene, catalog, [WALL_CABINET_LAYOUTPOS, TALL_CABINET_LAYOUTPOS]);
128
+ var wallRuler = [];
129
+ var wall_posArray = [];
130
+ if (wall_item.cur) {
131
+ wall_item.others.push(wall_item.cur);
132
+ }
77
133
  // let relatedLines = [];
78
134
  var angleVertices = [];
79
135
  var layerID = state.getIn(['scene', 'selectedLayer']);
@@ -135,117 +191,108 @@ export default function Line(_ref) {
135
191
  });
136
192
  }
137
193
  }
138
- var l2 = {
139
- x: x1,
140
- y: y1
141
- };
142
- var l3 = {
143
- x: x2,
144
- y: y2
145
- };
146
- var isSnapped = function isSnapped(itemRect) {
147
- var r0 = itemRect.rect[0];
148
- var r1 = itemRect.rect[1];
149
- var r2 = itemRect.rect[2];
150
- var r3 = itemRect.rect[3];
151
- var delta23 = GeometryUtils.verticesDistance(l2, r3) + GeometryUtils.verticesDistance(r3, r2) + GeometryUtils.verticesDistance(r2, l3) - GeometryUtils.verticesDistance(l3, l2);
152
- if (delta23 < 0.1) {
153
- return true;
154
- } else {
155
- return false;
156
- }
157
- };
158
- // base cabinet
159
- var baseRuler = [];
160
- var base_posArray = [];
161
- if (base_item.cur) {
162
- base_item.others.push(base_item.cur);
163
- }
164
- base_item.others.forEach(function (itemRect) {
165
- var r2 = itemRect.rect[2];
166
- var r3 = itemRect.rect[3];
194
+ if (Math.sin(angle) === 0 || GeometryUtils.almostEqual(y1, y2)) wall_item.others.sort(function (a, b) {
195
+ return a.pos.x - b.pos.x;
196
+ });else wall_item.others.sort(function (a, b) {
197
+ return a.pos.y - b.pos.y;
198
+ });
199
+ wall_posArray.push(_objectSpread(_objectSpread({}, l2), {}, {
200
+ iFlag: false
201
+ }));
202
+ wall_item.others.forEach(function (itemRect) {
203
+ var r2 = l2 > l3 ? itemRect.rect[2] : itemRect.rect[3];
204
+ var r3 = l2 > l3 ? itemRect.rect[3] : itemRect.rect[2];
167
205
  if (isSnapped(itemRect)) {
168
- base_posArray.push(r2);
169
- base_posArray.push(r3);
206
+ wall_posArray.push(_objectSpread(_objectSpread({}, r2), {}, {
207
+ iFlag: itemRect.itemInfo.id
208
+ }));
209
+ wall_posArray.push(_objectSpread(_objectSpread({}, r3), {}, {
210
+ iFlag: itemRect.itemInfo.id
211
+ }));
170
212
  }
171
213
  });
172
- base_posArray.push(l2);
173
- base_posArray.push(l3);
174
- var base_posAndwidth = [];
175
- if (Math.abs(angle) === 0 || Math.abs(angle) === 180 || GeometryUtils.almostEqual(y1, y2)) {
176
- base_posArray.sort(function (a, b) {
214
+ wall_posArray.push(_objectSpread(_objectSpread({}, l3), {}, {
215
+ iFlag: false
216
+ }));
217
+ var wall_posAndwidth = [];
218
+ if (Math.sin(angle) === 0 || GeometryUtils.almostEqual(y1, y2)) {
219
+ wall_posArray.sort(function (a, b) {
177
220
  return a.x - b.x;
178
221
  });
179
- if (base_posArray.length > 2) {
180
- for (var index = 0; index < base_posArray.length - 1; index++) {
181
- var element = base_posArray[index];
182
- base_posAndwidth.push({
222
+ if (wall_posArray.length > 2) {
223
+ for (var index = 0; index < wall_posArray.length - 1; index++) {
224
+ var element = wall_posArray[index];
225
+ wall_posAndwidth.push({
183
226
  pos: element,
184
- length: base_posArray[index + 1].x - element.x
227
+ length: wall_posArray[index + 1].x - element.x,
228
+ iFlag: wall_posArray[index + 1].iFlag === element.iFlag ? true : false
185
229
  });
186
230
  }
187
231
  }
188
232
  } else {
189
- base_posArray.sort(function (a, b) {
233
+ wall_posArray.sort(function (a, b) {
190
234
  return a.y - b.y;
191
235
  });
192
- if (base_posArray.length > 2) {
193
- for (var _index = 0; _index < base_posArray.length - 1; _index++) {
194
- var _element = base_posArray[_index];
195
- base_posAndwidth.push({
236
+ if (wall_posArray.length > 2) {
237
+ for (var _index = 0; _index < wall_posArray.length - 1; _index++) {
238
+ var _element = wall_posArray[_index];
239
+ wall_posAndwidth.push({
196
240
  pos: _element,
197
- length: Math.abs((base_posArray[_index + 1].y - _element.y) / Math.sin(angle / 180 * Math.PI))
241
+ length: Math.abs((wall_posArray[_index + 1].y - _element.y) / Math.sin(angle / 180 * Math.PI)),
242
+ iFlag: wall_posArray[_index + 1].iFlag === _element.iFlag ? true : false
198
243
  });
199
244
  }
200
245
  }
201
246
  }
202
- if (!showBaseCabinetMeasure || base_posArray.length <= 2) {
203
- baseSpace -= 20;
247
+ if (!showWallCabinetMeasure || wall_posArray.length <= 2) {
248
+ wallSpace = 0;
204
249
  }
205
- baseRuler = base_posAndwidth.map(function (pAw) {
250
+ wallRuler = wall_posAndwidth.map(function (pAw) {
206
251
  if (pAw.length > 1) {
207
- if (Math.abs(angle) === 0 || Math.abs(angle) === 180 || GeometryUtils.almostEqual(y1, y2)) {
252
+ if (Math.sin(angle) === 0 || GeometryUtils.almostEqual(y1, y2)) {
208
253
  if (x1 - x2 > 0) {
209
254
  return /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("line", {
210
255
  x1: pAw.pos.x + pAw.length,
211
256
  y1: pAw.pos.y,
212
257
  x2: pAw.pos.x + pAw.length,
213
- y2: pAw.pos.y - thickness / 2 - baseSpace,
214
- style: STYLE
258
+ y2: pAw.pos.y - thickness / 2 - wallSpace,
259
+ style: STYLE_DASH
215
260
  }), /*#__PURE__*/React.createElement(Ruler, {
216
261
  key: 4,
217
262
  layer: layer,
218
263
  unit: scene.unit,
219
264
  rulerUnit: scene.rulerUnit,
220
265
  length: pAw.length,
221
- transform: "translate(".concat(pAw.pos.x, ", ").concat(pAw.pos.y - thickness / 2 - baseSpace, " ) rotate(").concat(angle + 180, ", 0, 0)")
266
+ transform: "translate(".concat(pAw.pos.x, ", ").concat(pAw.pos.y - thickness / 2 - wallSpace, " ) rotate(").concat(angle + 180, ", 0, 0)"),
267
+ style: selectStyle(pAw, STYLE_WALL_ITEM)
222
268
  }), /*#__PURE__*/React.createElement("line", {
223
269
  x1: pAw.pos.x,
224
270
  y1: pAw.pos.y,
225
271
  x2: pAw.pos.x,
226
- y2: pAw.pos.y - thickness / 2 - baseSpace,
227
- style: STYLE
272
+ y2: pAw.pos.y - thickness / 2 - wallSpace,
273
+ style: STYLE_DASH
228
274
  }));
229
275
  } else {
230
276
  return /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("line", {
231
277
  x1: pAw.pos.x + pAw.length,
232
278
  y1: pAw.pos.y,
233
279
  x2: pAw.pos.x + pAw.length,
234
- y2: pAw.pos.y + thickness / 2 + baseSpace,
235
- style: STYLE
280
+ y2: pAw.pos.y + thickness / 2 + wallSpace,
281
+ style: STYLE_DASH
236
282
  }), /*#__PURE__*/React.createElement(Ruler, {
237
283
  key: 4,
238
284
  layer: layer,
239
285
  unit: scene.unit,
240
286
  rulerUnit: scene.rulerUnit,
241
287
  length: pAw.length,
242
- transform: "translate(".concat(pAw.pos.x, ", ").concat(pAw.pos.y + thickness / 2 + baseSpace, " ) rotate(").concat(angle, ", 0, 0)")
288
+ transform: "translate(".concat(pAw.pos.x, ", ").concat(pAw.pos.y + thickness / 2 + wallSpace, " ) rotate(").concat(angle, ", 0, 0)"),
289
+ style: selectStyle(pAw, STYLE_WALL_ITEM)
243
290
  }), /*#__PURE__*/React.createElement("line", {
244
291
  x1: pAw.pos.x,
245
292
  y1: pAw.pos.y,
246
293
  x2: pAw.pos.x,
247
- y2: pAw.pos.y + thickness / 2 + baseSpace,
248
- style: STYLE
294
+ y2: pAw.pos.y + thickness / 2 + wallSpace,
295
+ style: STYLE_DASH
249
296
  }));
250
297
  }
251
298
  } else {
@@ -254,43 +301,45 @@ export default function Line(_ref) {
254
301
  return /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("line", {
255
302
  x1: pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI),
256
303
  y1: pAw.pos.y - pAw.length * Math.sin(angle / 180 * Math.PI),
257
- x2: pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI),
258
- y2: pAw.pos.y - pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI),
259
- style: STYLE
304
+ x2: pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI),
305
+ y2: pAw.pos.y - pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI),
306
+ style: STYLE_DASH
260
307
  }), /*#__PURE__*/React.createElement(Ruler, {
261
308
  key: 5,
262
309
  layer: layer,
263
310
  unit: scene.unit,
264
311
  rulerUnit: scene.rulerUnit,
265
312
  length: pAw.length,
266
- transform: "translate(".concat(pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI), ", ").concat(pAw.pos.y - pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI), " ) rotate(").concat(angle, ", 0, 0)")
313
+ transform: "translate(".concat(pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI), ", ").concat(pAw.pos.y - pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI), " ) rotate(").concat(angle, ", 0, 0)"),
314
+ style: selectStyle(pAw, STYLE_WALL_ITEM)
267
315
  }), /*#__PURE__*/React.createElement("line", {
268
316
  x1: pAw.pos.x,
269
317
  y1: pAw.pos.y,
270
- x2: pAw.pos.x - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI),
271
- y2: pAw.pos.y + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI),
272
- style: STYLE
318
+ x2: pAw.pos.x - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI),
319
+ y2: pAw.pos.y + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI),
320
+ style: STYLE_DASH
273
321
  }));
274
322
  } else {
275
323
  return /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("line", {
276
324
  x1: pAw.pos.x,
277
325
  y1: pAw.pos.y,
278
- x2: pAw.pos.x - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI),
279
- y2: pAw.pos.y + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI),
280
- style: STYLE
326
+ x2: pAw.pos.x - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI),
327
+ y2: pAw.pos.y + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI),
328
+ style: STYLE_DASH
281
329
  }), /*#__PURE__*/React.createElement(Ruler, {
282
330
  key: 5,
283
331
  layer: layer,
284
332
  unit: scene.unit,
285
333
  rulerUnit: scene.rulerUnit,
286
334
  length: pAw.length,
287
- transform: "translate(".concat(pAw.pos.x - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI), ", ").concat(pAw.pos.y + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI), " ) rotate(").concat(angle, ", 0, 0) scale(-1, -1)")
335
+ transform: "translate(".concat(pAw.pos.x - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI), ", ").concat(pAw.pos.y + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI), " ) rotate(").concat(angle, ", 0, 0) scale(-1, -1)"),
336
+ style: selectStyle(pAw, STYLE_WALL_ITEM)
288
337
  }), /*#__PURE__*/React.createElement("line", {
289
338
  x1: pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI),
290
339
  y1: pAw.pos.y - pAw.length * Math.sin(angle / 180 * Math.PI),
291
- x2: pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI),
292
- y2: pAw.pos.y - pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI),
293
- style: STYLE
340
+ x2: pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI),
341
+ y2: pAw.pos.y - pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI),
342
+ style: STYLE_DASH
294
343
  }));
295
344
  }
296
345
  } else {
@@ -298,185 +347,164 @@ export default function Line(_ref) {
298
347
  return /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("line", {
299
348
  x1: pAw.pos.x,
300
349
  y1: pAw.pos.y,
301
- x2: pAw.pos.x - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI),
302
- y2: pAw.pos.y + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI),
303
- style: STYLE
350
+ x2: pAw.pos.x - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI),
351
+ y2: pAw.pos.y + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI),
352
+ style: STYLE_DASH
304
353
  }), /*#__PURE__*/React.createElement(Ruler, {
305
354
  key: 5,
306
355
  layer: layer,
307
356
  unit: scene.unit,
308
357
  rulerUnit: scene.rulerUnit,
309
358
  length: pAw.length,
310
- transform: "translate(".concat(pAw.pos.x - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI), ", ").concat(pAw.pos.y + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI), " ) rotate(").concat(angle, ", 0, 0)")
359
+ transform: "translate(".concat(pAw.pos.x - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI), ", ").concat(pAw.pos.y + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI), " ) rotate(").concat(angle, ", 0, 0)"),
360
+ style: selectStyle(pAw, STYLE_WALL_ITEM)
311
361
  }), /*#__PURE__*/React.createElement("line", {
312
362
  x1: pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI),
313
363
  y1: pAw.pos.y + pAw.length * Math.sin(angle / 180 * Math.PI),
314
- x2: pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI),
315
- y2: pAw.pos.y + pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI),
316
- style: STYLE
364
+ x2: pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI),
365
+ y2: pAw.pos.y + pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI),
366
+ style: STYLE_DASH
317
367
  }));
318
368
  } else {
319
369
  return /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("line", {
320
370
  x1: pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI),
321
371
  y1: pAw.pos.y + pAw.length * Math.sin(angle / 180 * Math.PI),
322
- x2: pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI),
323
- y2: pAw.pos.y + pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI),
324
- style: STYLE
372
+ x2: pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI),
373
+ y2: pAw.pos.y + pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI),
374
+ style: STYLE_DASH
325
375
  }), /*#__PURE__*/React.createElement(Ruler, {
326
376
  key: 5,
327
377
  layer: layer,
328
378
  unit: scene.unit,
329
379
  rulerUnit: scene.rulerUnit,
330
380
  length: pAw.length,
331
- transform: "translate(".concat(pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI), ", ").concat(pAw.pos.y + pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI), " ) rotate(").concat(angle, ", 0, 0) scale(-1, -1)")
381
+ transform: "translate(".concat(pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI), ", ").concat(pAw.pos.y + pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI), " ) rotate(").concat(angle, ", 0, 0) scale(-1, -1)"),
382
+ style: selectStyle(pAw, STYLE_WALL_ITEM)
332
383
  }), /*#__PURE__*/React.createElement("line", {
333
384
  x1: pAw.pos.x,
334
385
  y1: pAw.pos.y,
335
- x2: pAw.pos.x - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI),
336
- y2: pAw.pos.y + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI),
337
- style: STYLE
386
+ x2: pAw.pos.x - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI),
387
+ y2: pAw.pos.y + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI),
388
+ style: STYLE_DASH
338
389
  }));
339
390
  }
340
391
  }
341
392
  }
342
393
  }
343
394
  });
344
- var doorSpace = baseSpace + 20;
345
- var renderedHoles = line.holes.map(function (holeID) {
346
- var hole = layer.holes.get(holeID);
347
- if (hole === undefined) {
348
- return '';
349
- }
350
- var startAt = length * hole.offset;
351
- var renderedHole = catalog.getElement(hole.type).render2D(hole, layer, scene);
352
- return /*#__PURE__*/React.createElement("g", {
353
- key: holeID,
354
- transform: "translate(".concat(startAt, ", 3.5)"),
355
- "data-element-root": true,
356
- "data-prototype": hole.prototype,
357
- "data-id": hole.id,
358
- "data-selected": hole.selected,
359
- "data-layer": layer.id
360
- }, renderedHole);
361
- });
362
- var renderedLine = catalog.getElement(line.type).render2D(line, layer, scene, state);
363
- var holeTemp = [];
364
- var renderedRuler = [];
365
- var renderedAllRuler = [];
366
- if (!line.holes.size || !showWindowDoorMeasure) {
367
- doorSpace -= 20;
368
- }
369
- var allRuler = [0],
370
- holeData = [];
371
- var lineHoles = line.holes.sortBy(function (holeID) {
372
- var hole = layer.holes.get(holeID);
373
- return !hole ? 0 : hole.offset;
374
- });
375
- lineHoles.forEach(function (holeID) {
376
- var hole = layer.holes.get(holeID);
377
- if (hole !== undefined) {
378
- var startAt = length * hole.offset;
379
- var holeWidth = hole.properties.toJS().width.length;
380
- allRuler.push(startAt - holeWidth / 2);
381
- allRuler.push(startAt + holeWidth / 2);
382
- holeData["".concat(startAt - holeWidth / 2, "_").concat(startAt + holeWidth / 2)] = holeID;
383
- }
384
- });
385
- allRuler.push(length);
386
395
 
387
- // wall cabinet
388
- var wallSpace = doorSpace + 20;
389
- var wall_item = GeometryUtils.getAllItemSpecified(scene, catalog, WALL_CABINET_LAYOUTPOS);
390
- var wallRuler = [];
391
- var wall_posArray = [];
392
- if (wall_item.cur) {
393
- wall_item.others.push(wall_item.cur);
396
+ //base cabinet
397
+ var baseSpace = wallSpace + STEP;
398
+ var base_item = GeometryUtils.getAllItemSpecified(scene, catalog, BASE_CABINET_LAYOUTPOS);
399
+
400
+ // base cabinet
401
+ var baseRuler = [];
402
+ var base_posArray = [];
403
+ if (base_item.cur) {
404
+ base_item.others.push(base_item.cur);
394
405
  }
395
- wall_item.others.forEach(function (itemRect) {
396
- var r2 = itemRect.rect[2];
397
- var r3 = itemRect.rect[3];
406
+ if (Math.sin(angle) === 0 || GeometryUtils.almostEqual(y1, y2)) base_item.others.sort(function (a, b) {
407
+ return a.pos.x - b.pos.x;
408
+ });else base_item.others.sort(function (a, b) {
409
+ return a.pos.y - b.pos.y;
410
+ });
411
+ base_posArray.push(_objectSpread(_objectSpread({}, l2), {}, {
412
+ iFlag: false
413
+ }));
414
+ base_item.others.forEach(function (itemRect) {
415
+ var r2 = l2 > l3 ? itemRect.rect[2] : itemRect.rect[3];
416
+ var r3 = l2 > l3 ? itemRect.rect[3] : itemRect.rect[2];
398
417
  if (isSnapped(itemRect)) {
399
- wall_posArray.push(r2);
400
- wall_posArray.push(r3);
418
+ base_posArray.push(_objectSpread(_objectSpread({}, r2), {}, {
419
+ iFlag: itemRect.itemInfo.id
420
+ }));
421
+ base_posArray.push(_objectSpread(_objectSpread({}, r3), {}, {
422
+ iFlag: itemRect.itemInfo.id
423
+ }));
401
424
  }
402
425
  });
403
- wall_posArray.push(l2);
404
- wall_posArray.push(l3);
405
- var wall_posAndwidth = [];
406
- if (Math.abs(angle) === 0 || Math.abs(angle) === 180 || GeometryUtils.almostEqual(y1, y2)) {
407
- wall_posArray.sort(function (a, b) {
426
+ base_posArray.push(_objectSpread(_objectSpread({}, l3), {}, {
427
+ iFlag: false
428
+ }));
429
+ var base_posAndwidth = [];
430
+ if (Math.sin(angle) === 0 || GeometryUtils.almostEqual(y1, y2)) {
431
+ base_posArray.sort(function (a, b) {
408
432
  return a.x - b.x;
409
433
  });
410
- if (wall_posArray.length > 2) {
411
- for (var _index2 = 0; _index2 < wall_posArray.length - 1; _index2++) {
412
- var _element2 = wall_posArray[_index2];
413
- wall_posAndwidth.push({
434
+ if (base_posArray.length > 2) {
435
+ for (var _index2 = 0; _index2 < base_posArray.length - 1; _index2++) {
436
+ var _element2 = base_posArray[_index2];
437
+ base_posAndwidth.push({
414
438
  pos: _element2,
415
- length: wall_posArray[_index2 + 1].x - _element2.x
439
+ length: base_posArray[_index2 + 1].x - _element2.x,
440
+ iFlag: base_posArray[_index2 + 1].iFlag === _element2.iFlag ? true : false
416
441
  });
417
442
  }
418
443
  }
419
444
  } else {
420
- wall_posArray.sort(function (a, b) {
445
+ base_posArray.sort(function (a, b) {
421
446
  return a.y - b.y;
422
447
  });
423
- if (wall_posArray.length > 2) {
424
- for (var _index3 = 0; _index3 < wall_posArray.length - 1; _index3++) {
425
- var _element3 = wall_posArray[_index3];
426
- wall_posAndwidth.push({
448
+ if (base_posArray.length > 2) {
449
+ for (var _index3 = 0; _index3 < base_posArray.length - 1; _index3++) {
450
+ var _element3 = base_posArray[_index3];
451
+ base_posAndwidth.push({
427
452
  pos: _element3,
428
- length: Math.abs((wall_posArray[_index3 + 1].y - _element3.y) / Math.sin(angle / 180 * Math.PI))
453
+ length: Math.abs((base_posArray[_index3 + 1].y - _element3.y) / Math.sin(angle / 180 * Math.PI)),
454
+ iFlag: base_posArray[_index3 + 1].iFlag === _element3.iFlag ? true : false
429
455
  });
430
456
  }
431
457
  }
432
458
  }
433
- if (!showWallCabinetMeasure || wall_posArray.length <= 2) {
434
- wallSpace -= 20;
459
+ if (!showBaseCabinetMeasure || base_posArray.length <= 2) {
460
+ baseSpace -= STEP;
435
461
  }
436
- wallRuler = wall_posAndwidth.map(function (pAw) {
462
+ baseRuler = base_posAndwidth.map(function (pAw) {
437
463
  if (pAw.length > 1) {
438
- if (Math.abs(angle) === 0 || Math.abs(angle) === 180 || GeometryUtils.almostEqual(y1, y2)) {
464
+ if (Math.sin(angle) === 0 || GeometryUtils.almostEqual(y1, y2)) {
439
465
  if (x1 - x2 > 0) {
440
466
  return /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("line", {
441
467
  x1: pAw.pos.x + pAw.length,
442
468
  y1: pAw.pos.y,
443
469
  x2: pAw.pos.x + pAw.length,
444
- y2: pAw.pos.y - thickness / 2 - wallSpace,
445
- style: STYLE
470
+ y2: pAw.pos.y - thickness / 2 - baseSpace,
471
+ style: STYLE_DASH
446
472
  }), /*#__PURE__*/React.createElement(Ruler, {
447
473
  key: 4,
448
474
  layer: layer,
449
475
  unit: scene.unit,
450
476
  rulerUnit: scene.rulerUnit,
451
477
  length: pAw.length,
452
- transform: "translate(".concat(pAw.pos.x, ", ").concat(pAw.pos.y - thickness / 2 - wallSpace, " ) rotate(").concat(angle + 180, ", 0, 0)")
478
+ transform: "translate(".concat(pAw.pos.x, ", ").concat(pAw.pos.y - thickness / 2 - baseSpace, " ) rotate(").concat(angle + 180, ", 0, 0)"),
479
+ style: selectStyle(pAw, STYLE_BASE_ITEM)
453
480
  }), /*#__PURE__*/React.createElement("line", {
454
481
  x1: pAw.pos.x,
455
482
  y1: pAw.pos.y,
456
483
  x2: pAw.pos.x,
457
- y2: pAw.pos.y - thickness / 2 - wallSpace,
458
- style: STYLE
484
+ y2: pAw.pos.y - thickness / 2 - baseSpace,
485
+ style: STYLE_DASH
459
486
  }));
460
487
  } else {
461
488
  return /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("line", {
462
489
  x1: pAw.pos.x + pAw.length,
463
490
  y1: pAw.pos.y,
464
491
  x2: pAw.pos.x + pAw.length,
465
- y2: pAw.pos.y + thickness / 2 + wallSpace,
466
- style: STYLE
492
+ y2: pAw.pos.y + thickness / 2 + baseSpace,
493
+ style: STYLE_DASH
467
494
  }), /*#__PURE__*/React.createElement(Ruler, {
468
495
  key: 4,
469
496
  layer: layer,
470
497
  unit: scene.unit,
471
498
  rulerUnit: scene.rulerUnit,
472
499
  length: pAw.length,
473
- transform: "translate(".concat(pAw.pos.x, ", ").concat(pAw.pos.y + thickness / 2 + wallSpace, " ) rotate(").concat(angle, ", 0, 0)")
500
+ transform: "translate(".concat(pAw.pos.x, ", ").concat(pAw.pos.y + thickness / 2 + baseSpace, " ) rotate(").concat(angle, ", 0, 0)"),
501
+ style: selectStyle(pAw, STYLE_BASE_ITEM)
474
502
  }), /*#__PURE__*/React.createElement("line", {
475
503
  x1: pAw.pos.x,
476
504
  y1: pAw.pos.y,
477
505
  x2: pAw.pos.x,
478
- y2: pAw.pos.y + thickness / 2 + wallSpace,
479
- style: STYLE
506
+ y2: pAw.pos.y + thickness / 2 + baseSpace,
507
+ style: STYLE_DASH
480
508
  }));
481
509
  }
482
510
  } else {
@@ -485,43 +513,45 @@ export default function Line(_ref) {
485
513
  return /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("line", {
486
514
  x1: pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI),
487
515
  y1: pAw.pos.y - pAw.length * Math.sin(angle / 180 * Math.PI),
488
- x2: pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI),
489
- y2: pAw.pos.y - pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI),
490
- style: STYLE
516
+ x2: pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI),
517
+ y2: pAw.pos.y - pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI),
518
+ style: STYLE_DASH
491
519
  }), /*#__PURE__*/React.createElement(Ruler, {
492
520
  key: 5,
493
521
  layer: layer,
494
522
  unit: scene.unit,
495
523
  rulerUnit: scene.rulerUnit,
496
524
  length: pAw.length,
497
- transform: "translate(".concat(pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI), ", ").concat(pAw.pos.y - pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI), " ) rotate(").concat(angle, ", 0, 0)")
525
+ transform: "translate(".concat(pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI), ", ").concat(pAw.pos.y - pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI), " ) rotate(").concat(angle, ", 0, 0)"),
526
+ style: selectStyle(pAw, STYLE_BASE_ITEM)
498
527
  }), /*#__PURE__*/React.createElement("line", {
499
528
  x1: pAw.pos.x,
500
529
  y1: pAw.pos.y,
501
- x2: pAw.pos.x - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI),
502
- y2: pAw.pos.y + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI),
503
- style: STYLE
530
+ x2: pAw.pos.x - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI),
531
+ y2: pAw.pos.y + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI),
532
+ style: STYLE_DASH
504
533
  }));
505
534
  } else {
506
535
  return /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("line", {
507
536
  x1: pAw.pos.x,
508
537
  y1: pAw.pos.y,
509
- x2: pAw.pos.x - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI),
510
- y2: pAw.pos.y + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI),
511
- style: STYLE
538
+ x2: pAw.pos.x - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI),
539
+ y2: pAw.pos.y + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI),
540
+ style: STYLE_DASH
512
541
  }), /*#__PURE__*/React.createElement(Ruler, {
513
542
  key: 5,
514
543
  layer: layer,
515
544
  unit: scene.unit,
516
545
  rulerUnit: scene.rulerUnit,
517
546
  length: pAw.length,
518
- transform: "translate(".concat(pAw.pos.x - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI), ", ").concat(pAw.pos.y + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI), " ) rotate(").concat(angle, ", 0, 0) scale(-1, -1)")
547
+ transform: "translate(".concat(pAw.pos.x - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI), ", ").concat(pAw.pos.y + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI), " ) rotate(").concat(angle, ", 0, 0) scale(-1, -1)"),
548
+ style: selectStyle(pAw, STYLE_BASE_ITEM)
519
549
  }), /*#__PURE__*/React.createElement("line", {
520
550
  x1: pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI),
521
551
  y1: pAw.pos.y - pAw.length * Math.sin(angle / 180 * Math.PI),
522
- x2: pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI),
523
- y2: pAw.pos.y - pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI),
524
- style: STYLE
552
+ x2: pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI),
553
+ y2: pAw.pos.y - pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI),
554
+ style: STYLE_DASH
525
555
  }));
526
556
  }
527
557
  } else {
@@ -529,95 +559,141 @@ export default function Line(_ref) {
529
559
  return /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("line", {
530
560
  x1: pAw.pos.x,
531
561
  y1: pAw.pos.y,
532
- x2: pAw.pos.x - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI),
533
- y2: pAw.pos.y + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI),
534
- style: STYLE
562
+ x2: pAw.pos.x - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI),
563
+ y2: pAw.pos.y + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI),
564
+ style: STYLE_DASH
535
565
  }), /*#__PURE__*/React.createElement(Ruler, {
536
566
  key: 5,
537
567
  layer: layer,
538
568
  unit: scene.unit,
539
569
  rulerUnit: scene.rulerUnit,
540
570
  length: pAw.length,
541
- transform: "translate(".concat(pAw.pos.x - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI), ", ").concat(pAw.pos.y + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI), " ) rotate(").concat(angle, ", 0, 0)")
571
+ transform: "translate(".concat(pAw.pos.x - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI), ", ").concat(pAw.pos.y + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI), " ) rotate(").concat(angle, ", 0, 0)"),
572
+ style: selectStyle(pAw, STYLE_BASE_ITEM)
542
573
  }), /*#__PURE__*/React.createElement("line", {
543
574
  x1: pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI),
544
575
  y1: pAw.pos.y + pAw.length * Math.sin(angle / 180 * Math.PI),
545
- x2: pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI),
546
- y2: pAw.pos.y + pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI),
547
- style: STYLE
576
+ x2: pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI),
577
+ y2: pAw.pos.y + pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI),
578
+ style: STYLE_DASH
548
579
  }));
549
580
  } else {
550
581
  return /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("line", {
551
582
  x1: pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI),
552
583
  y1: pAw.pos.y + pAw.length * Math.sin(angle / 180 * Math.PI),
553
- x2: pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI),
554
- y2: pAw.pos.y + pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI),
555
- style: STYLE
584
+ x2: pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI),
585
+ y2: pAw.pos.y + pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI),
586
+ style: STYLE_DASH
556
587
  }), /*#__PURE__*/React.createElement(Ruler, {
557
588
  key: 5,
558
589
  layer: layer,
559
590
  unit: scene.unit,
560
591
  rulerUnit: scene.rulerUnit,
561
592
  length: pAw.length,
562
- transform: "translate(".concat(pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI), ", ").concat(pAw.pos.y + pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI), " ) rotate(").concat(angle, ", 0, 0) scale(-1, -1)")
593
+ transform: "translate(".concat(pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI), ", ").concat(pAw.pos.y + pAw.length * Math.sin(angle / 180 * Math.PI) + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI), " ) rotate(").concat(angle, ", 0, 0) scale(-1, -1)"),
594
+ style: selectStyle(pAw, STYLE_BASE_ITEM)
563
595
  }), /*#__PURE__*/React.createElement("line", {
564
596
  x1: pAw.pos.x,
565
597
  y1: pAw.pos.y,
566
- x2: pAw.pos.x - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI),
567
- y2: pAw.pos.y + (thickness / 2 + wallSpace) * Math.cos(angle / 180 * Math.PI),
568
- style: STYLE
598
+ x2: pAw.pos.x - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI),
599
+ y2: pAw.pos.y + (thickness / 2 + baseSpace) * Math.cos(angle / 180 * Math.PI),
600
+ style: STYLE_DASH
569
601
  }));
570
602
  }
571
603
  }
572
604
  }
573
605
  }
574
606
  });
575
- var lineSpace = wallSpace + 20;
607
+ var doorSpace = baseSpace + STEP;
608
+ var renderedHoles = line.holes.map(function (holeID) {
609
+ var hole = layer.holes.get(holeID);
610
+ if (hole === undefined) {
611
+ return '';
612
+ }
613
+ var startAt = length * hole.offset;
614
+ var renderedHole = catalog.getElement(hole.type).render2D(hole, layer, scene);
615
+ return /*#__PURE__*/React.createElement("g", {
616
+ key: holeID,
617
+ transform: "translate(".concat(startAt, ", 3.5)"),
618
+ "data-element-root": true,
619
+ "data-prototype": hole.prototype,
620
+ "data-id": hole.id,
621
+ "data-selected": hole.selected,
622
+ "data-layer": layer.id
623
+ }, renderedHole);
624
+ });
625
+ var renderedLine = catalog.getElement(line.type).render2D(line, layer, scene, state);
626
+ var holeTemp = [];
627
+ var renderedRuler = [];
628
+ var renderedAllRuler = [];
629
+ if (!line.holes.size || !showWindowDoorMeasure) {
630
+ doorSpace -= STEP;
631
+ }
632
+ var allRuler = [0],
633
+ holeData = [];
634
+ var lineHoles = line.holes.sortBy(function (holeID) {
635
+ var hole = layer.holes.get(holeID);
636
+ return !hole ? 0 : hole.offset;
637
+ });
638
+ lineHoles.forEach(function (holeID) {
639
+ var hole = layer.holes.get(holeID);
640
+ if (hole !== undefined) {
641
+ var startAt = length * hole.offset;
642
+ var holeWidth = hole.properties.toJS().width.length;
643
+ allRuler.push(startAt - holeWidth / 2);
644
+ allRuler.push(startAt + holeWidth / 2);
645
+ holeData["".concat(startAt - holeWidth / 2, "_").concat(startAt + holeWidth / 2)] = holeID;
646
+ }
647
+ });
648
+ allRuler.push(length);
649
+ var lineSpace = doorSpace + STEP;
576
650
  //the space from the dimensioning line to the top
577
- var lineSpacedimension1 = 5;
651
+ var lineSpacedimension1 = 4;
578
652
  //the space from the dimensioning line to the bottom
579
- var lineSpacedimension2 = 15;
653
+ var lineSpacedimension2 = 14;
580
654
  if (compareVertices(vertex0, vertex1) >= 0 && vertex0.x !== vertex1.x) {
581
655
  renderedRuler.push(/*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("line", {
582
656
  x1: length,
583
- y1: half_thickness + lineSpace + lineSpacedimension1,
657
+ y1: lineSpace + lineSpacedimension1,
584
658
  x2: length,
585
- y2: half_thickness + lineSpacedimension2,
586
- style: STYLE
659
+ y2: lineSpace + lineSpacedimension2,
660
+ style: STYLE_ROOM_SHAPE
587
661
  }), /*#__PURE__*/React.createElement(Ruler, {
588
662
  key: 0,
589
663
  layer: layer,
590
664
  unit: scene.unit,
591
665
  rulerUnit: scene.rulerUnit,
592
666
  length: length,
593
- transform: "translate(".concat(length, ", ").concat(half_thickness + lineSpace, ") scale(-1, -1)")
667
+ transform: "translate(".concat(length, ", ").concat(half_thickness + lineSpace, ") scale(-1, -1)"),
668
+ style: STYLE_ROOM_SHAPE
594
669
  }), /*#__PURE__*/React.createElement("line", {
595
670
  x1: 0,
596
- y1: half_thickness + lineSpace + lineSpacedimension1,
671
+ y1: lineSpace + lineSpacedimension1,
597
672
  x2: 0,
598
- y2: half_thickness + lineSpacedimension2,
599
- style: STYLE
673
+ y2: lineSpace + lineSpacedimension2,
674
+ style: STYLE_ROOM_SHAPE
600
675
  })));
601
676
  } else {
602
677
  renderedRuler.push(/*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("line", {
603
678
  x1: 0,
604
- y1: half_thickness + lineSpace + lineSpacedimension1,
679
+ y1: lineSpace + lineSpacedimension1,
605
680
  x2: 0,
606
- y2: half_thickness + lineSpacedimension2,
607
- style: STYLE
681
+ y2: lineSpace + lineSpacedimension2,
682
+ style: STYLE_ROOM_SHAPE
608
683
  }), /*#__PURE__*/React.createElement(Ruler, {
609
684
  key: 0,
610
685
  layer: layer,
611
686
  unit: scene.unit,
612
687
  rulerUnit: scene.rulerUnit,
613
688
  length: length,
614
- transform: "translate(0, ".concat(half_thickness + lineSpace, ")")
689
+ transform: "translate(0, ".concat(half_thickness + lineSpace, ")"),
690
+ style: STYLE_ROOM_SHAPE
615
691
  }), /*#__PURE__*/React.createElement("line", {
616
692
  x1: length,
617
- y1: half_thickness + lineSpace + lineSpacedimension1,
693
+ y1: lineSpace + lineSpacedimension1,
618
694
  x2: length,
619
- y2: half_thickness + lineSpacedimension2,
620
- style: STYLE
695
+ y2: lineSpace + lineSpacedimension2,
696
+ style: STYLE_ROOM_SHAPE
621
697
  })));
622
698
  }
623
699
  allRuler.sort(function (a, b) {
@@ -653,20 +729,21 @@ export default function Line(_ref) {
653
729
  y1: half_thickness,
654
730
  x2: allRuler[index],
655
731
  y2: half_thickness + doorSpace,
656
- style: STYLE
732
+ style: STYLE_DASH
657
733
  }), /*#__PURE__*/React.createElement(Ruler, {
658
734
  key: "allRuler_".concat(index),
659
735
  layer: layer,
660
736
  unit: scene.unit,
661
737
  rulerUnit: scene.rulerUnit,
662
738
  length: element,
663
- transform: "translate(".concat(allRuler[index] + element, ", ").concat(half_thickness + doorSpace, " ) scale(-1, -1)")
739
+ transform: "translate(".concat(allRuler[index] + element, ", ").concat(half_thickness + doorSpace, " ) scale(-1, -1)"),
740
+ style: STYLE_ROOM_ELEMENT
664
741
  }), /*#__PURE__*/React.createElement("line", {
665
742
  x1: allRuler[index] + element,
666
743
  y1: half_thickness,
667
744
  x2: allRuler[index] + element,
668
745
  y2: half_thickness + doorSpace,
669
- style: STYLE
746
+ style: STYLE_DASH
670
747
  })));
671
748
  } else {
672
749
  renderedAllRuler.push(/*#__PURE__*/React.createElement("g", {
@@ -676,20 +753,21 @@ export default function Line(_ref) {
676
753
  y1: half_thickness,
677
754
  x2: allRuler[index],
678
755
  y2: half_thickness + doorSpace,
679
- style: STYLE
756
+ style: STYLE_DASH
680
757
  }), /*#__PURE__*/React.createElement(Ruler, {
681
758
  key: "allRuler_".concat(index),
682
759
  layer: layer,
683
760
  unit: scene.unit,
684
761
  rulerUnit: scene.rulerUnit,
685
762
  length: element,
686
- transform: "translate(".concat(allRuler[index], ", ").concat(half_thickness + doorSpace, " )")
763
+ transform: "translate(".concat(allRuler[index], ", ").concat(half_thickness + doorSpace, " )"),
764
+ style: STYLE_ROOM_ELEMENT
687
765
  }), /*#__PURE__*/React.createElement("line", {
688
766
  x1: allRuler[index] + element,
689
767
  y1: half_thickness,
690
768
  x2: allRuler[index] + element,
691
769
  y2: half_thickness + doorSpace,
692
- style: STYLE
770
+ style: STYLE_DASH
693
771
  })));
694
772
  }
695
773
  }
@@ -704,22 +782,32 @@ export default function Line(_ref) {
704
782
  "data-layer": layer.id,
705
783
  "data-length": length
706
784
  }, showWallLengthMeasure ? renderedRuler : null), line.selected && angleVertices.map(function (vertex, index) {
785
+ var _relateLineLengthArra2;
707
786
  var lineGroup = vertex[0].lines;
708
787
  var angles = [];
709
788
  var thickness = [];
710
789
  var vectories = [];
790
+ var relateLineLengthArray = [];
791
+
711
792
  // get the vector of lines
712
793
  lineGroup.forEach(function (line) {
794
+ var _relateLineLengthArra;
713
795
  line = layer.lines.get(line);
714
796
  var vertex0 = layer.vertices.get(line.vertices.get(0));
715
797
  var vertex1 = layer.vertices.get(line.vertices.get(1));
716
798
  var vec = vertex0 === vertex[0] ? new Three.Vector2(vertex1.x - vertex0.x, vertex1.y - vertex0.y) : new Three.Vector2(vertex0.x - vertex1.x, vertex0.y - vertex1.y);
799
+ (_relateLineLengthArra = relateLineLengthArray) === null || _relateLineLengthArra === void 0 || _relateLineLengthArra.push(GeometryUtils.verticesDistance(vertex0, vertex1));
717
800
  var angle = vec.angle();
718
801
  var thick = 15;
719
802
  angles.push(angle);
720
803
  thickness.push(thick);
721
804
  vectories.push(vec.normalize());
722
805
  });
806
+ relateLineLengthArray = (_relateLineLengthArra2 = relateLineLengthArray) === null || _relateLineLengthArra2 === void 0 ? void 0 : _relateLineLengthArra2.sort(function (a, b) {
807
+ return a - b;
808
+ });
809
+ var minLineLength = relateLineLengthArray[0] < MAX_ANGLE_SCALE * 2 ? relateLineLengthArray[0] / 2 // scale down to half of the smallest adjacent surface
810
+ : MAX_ANGLE_SCALE;
723
811
 
724
812
  // calculate the angle between two lines
725
813
  var center = new Three.Vector2(vertex[0].x, vertex[0].y);
@@ -738,16 +826,15 @@ export default function Line(_ref) {
738
826
  var rotDir = vec1.cross(vec2) > 0; // true: rotate CCW, false: rotate CW
739
827
 
740
828
  // Angle Text Position
741
-
742
829
  var angleTextO = center.clone();
743
- var textTranslation = vec1.clone().add(vec2).normalize().multiplyScalar(25);
830
+ var textTranslation = vec1.clone().add(vec2).normalize().multiplyScalar(minLineLength * 2 / 3);
744
831
  angleTextO.add(textTranslation);
745
- angleTextO.y -= 5; // half the height of text `angle`
746
-
832
+ angleTextO.y -= minLineLength / 10; // half the height of text `angle`
833
+ angleTextO.x += minLineLength / 10;
747
834
  var tx = 0;
748
835
  var ty = 0;
749
- vec = vec.multiplyScalar(35);
750
- vec1 = vec1.multiplyScalar(35);
836
+ vec = vec.multiplyScalar(minLineLength);
837
+ vec1 = vec1.multiplyScalar(minLineLength);
751
838
  var cen1 = center.clone(),
752
839
  cen2 = center.clone();
753
840
  center = center.add(vec);
@@ -760,7 +847,7 @@ export default function Line(_ref) {
760
847
  // Angle SVG Path
761
848
  lines.push(/*#__PURE__*/React.createElement("path", {
762
849
  style: STYLE_ANGLE,
763
- d: "\n M ".concat(vertex[0].x, ",").concat(vertex[0].y, " L ").concat(pos1.x, ",").concat(pos1.y, " A 30,30 ").concat(angle, " 0 ").concat(t > 0 ? 1 : 0, " ").concat(pos2.x, ",").concat(pos2.y, " z\n ")
850
+ d: "\n M ".concat(vertex[0].x, ",").concat(vertex[0].y, " L ").concat(pos1.x, ",").concat(pos1.y, " A ").concat(minLineLength, " ").concat(minLineLength, " ").concat(angle, " 0 ").concat(t > 0 ? 1 : 0, " ").concat(pos2.x, ",").concat(pos2.y, " z\n ")
764
851
  }));
765
852
  var length = angle;
766
853
  // draw angle and angle text
@@ -774,15 +861,9 @@ export default function Line(_ref) {
774
861
  "data-id": [vertex[0].id, vertex[1].id, rotDir],
775
862
  "data-length": length
776
863
  }, lines, /*#__PURE__*/React.createElement("text", {
777
- transform: "translate(".concat(angleTextO.x, ", ").concat(angleTextO.y, ") scale(1.5, -1.5)"),
864
+ transform: "translate(".concat(angleTextO.x, ", ").concat(angleTextO.y, ") scale(").concat(minLineLength / 20, ", ").concat(-minLineLength / 20, ")"),
778
865
  style: STYLE_TEXT
779
- }, angle), /*#__PURE__*/React.createElement("circle", {
780
- transform: "translate(".concat(angleTextO.x, ", ").concat(angleTextO.y, ") translate(10, 9)"),
781
- fill: "transparent",
782
- stroke: "rgb(77, 77, 77)",
783
- strokeWidth: 1,
784
- r: 2
785
- }));
866
+ }, angle + '° '));
786
867
  }), showWindowDoorMeasure ? renderedAllRuler : null, showBaseCabinetMeasure ? baseRuler : null, showWallCabinetMeasure ? wallRuler : null, /*#__PURE__*/React.createElement("g", {
787
868
  "data-element-root": true,
788
869
  "data-prototype": line.prototype,
@@ -795,9 +876,7 @@ export default function Line(_ref) {
795
876
  } : {}
796
877
  }, renderedLine, /*#__PURE__*/React.createElement("g", {
797
878
  transform: "translate(".concat(x1, ", ").concat(y1, ") rotate(").concat(angle, ", 0, 0)")
798
- }, renderedHoles)), line.selected && /*#__PURE__*/React.createElement(Tooltip, {
799
- title: "Elevation View"
800
- }, /*#__PURE__*/React.createElement("g", {
879
+ }, renderedHoles)), line.selected && /*#__PURE__*/React.createElement("g", {
801
880
  id: 'elevation-button',
802
881
  key: 1,
803
882
  transform: "translate(".concat(x1 + 35, ", ").concat(y1 - 15, ")"),
@@ -827,7 +906,7 @@ export default function Line(_ref) {
827
906
  style: {
828
907
  transform: 'rotateX(180deg)'
829
908
  }
830
- }))), line.selected && /*#__PURE__*/React.createElement("g", {
909
+ })), line.selected && /*#__PURE__*/React.createElement("g", {
831
910
  id: 'remove-button',
832
911
  key: 2,
833
912
  transform: "translate(".concat(x1 + 10, ", ").concat(y1, ")"),