kitchen-simulator 11.0.0-react.18 → 11.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/AppContext.js +1 -4
- package/es/LiteKitchenConfigurator.js +67 -23
- package/es/LiteRenderer.js +15 -64
- package/es/actions/export.js +25 -12
- package/es/actions/items-actions.js +18 -2
- package/es/analytics/ga4.js +188 -0
- package/es/analytics/posthog.js +60 -0
- package/es/assets/Window.hdr +2100 -0
- package/es/assets/img/default/maple.jpg +0 -0
- package/es/assets/img/default/steel.jpg +0 -0
- package/es/assets/img/loading/loading.gif +0 -0
- package/es/catalog/cabinet/cabinet-assembly-order.js +36 -0
- package/es/catalog/catalog.js +0 -2
- package/es/catalog/factories/area-factory-3d.js +1 -5
- package/es/catalog/factories/wall-factory.js +1 -1
- package/es/catalog/holes/door-double/door_double.png +0 -0
- package/es/catalog/holes/door-panic/panicDoor.png +0 -0
- package/es/catalog/holes/door-panic-double/panicDoorDouble.png +0 -0
- package/es/catalog/holes/gate/gate.jpg +0 -0
- package/es/catalog/holes/window-clear/texture.png +0 -0
- package/es/catalog/holes/window-cross/texture.png +0 -0
- package/es/catalog/holes/window-double-hung/texture.png +0 -0
- package/es/catalog/holes/window-vertical/texture.png +0 -0
- package/es/catalog/utils/exporter.js +4 -0
- package/es/catalog/utils/item-loader.js +12 -25
- package/es/class/area.js +0 -1
- package/es/class/export.js +1 -3
- package/es/class/item.js +207 -89
- package/es/class/line.js +1 -3
- package/es/class/project.js +15 -19
- package/es/components/content.js +20 -6
- package/es/components/export.js +3 -5
- package/es/components/style/export.js +2 -28
- package/es/components/style/form-number-input.js +34 -43
- package/es/components/viewer2d/group.js +12 -7
- package/es/components/viewer2d/item.js +159 -168
- package/es/components/viewer2d/line.js +18 -51
- package/es/components/viewer2d/rulerX.js +3 -0
- package/es/components/viewer2d/rulerY.js +3 -0
- package/es/components/viewer2d/scene.js +67 -47
- package/es/components/viewer2d/state.js +1 -1
- package/es/components/viewer2d/utils.js +0 -6
- package/es/components/viewer2d/viewer2d.js +566 -508
- package/es/components/viewer3d/front3D.js +1 -2
- package/es/components/viewer3d/pointer-lock-navigation.js +0 -90
- package/es/components/viewer3d/ruler-utils/layer3D.js +2 -2
- package/es/components/viewer3d/scene-creator.js +113 -120
- package/es/components/viewer3d/three-memory-cleaner.js +0 -14
- package/es/components/viewer3d/viewer3d-first-person.js +132 -134
- package/es/components/viewer3d/viewer3d.js +40 -28
- package/es/constants/catalog/skinPanel.js +9 -0
- package/es/constants.js +19 -8
- package/es/{WorkSpaceOriginal.js → devLiteRenderer.js} +241 -173
- package/es/events/external/handleExternalEvent.js +141 -0
- package/es/events/external/handleExternalEvent.util.js +1099 -0
- package/es/events/external/handlers.addItem.js +47 -0
- package/es/events/external/handlers.changeDoorStyle.js +140 -0
- package/es/events/external/handlers.elementOps.js +8 -0
- package/es/events/external/handlers.finishing.js +26 -0
- package/es/events/external/handlers.hole.js +4 -0
- package/es/events/external/handlers.loadProject.js +128 -0
- package/es/events/external/handlers.molding.js +24 -0
- package/es/events/external/handlers.projectLifecycle.js +11 -0
- package/es/events/external/handlers.projectSettings.js +32 -0
- package/es/events/external/handlers.replaceCabinet.js +41 -0
- package/es/events/external/handlers.roomShape.js +8 -0
- package/es/events/external/handlers.syncScene.js +21 -0
- package/es/events/external/handlers.updateSelectedElements.js +11 -0
- package/es/events/external/handlers.viewMode.js +11 -0
- package/es/events/external/handlers.viewerNavigation.js +108 -0
- package/es/events/external/handlers.wall.js +7 -0
- package/es/index.js +36 -76
- package/es/mappings/external-events/mapExternalEventPayload.js +28 -0
- package/es/mappings/external-events/mappers/addItemMapper.js +97 -0
- package/es/mappings/external-events/mappers/ccdfMapper.js +100 -0
- package/es/mappings/external-events/mappers/ccdfToCDSMapper.js +49 -0
- package/es/mappings/external-events/mappers/changeDoorStyleMapper.js +37 -0
- package/es/mappings/external-events/mappers/loadProjectMapper.js +62 -0
- package/es/mappings/holesToCatalog.js +139 -0
- package/es/models.js +16 -1
- package/es/plugins/keyboard.js +1 -1
- package/es/reducers/export.js +2 -4
- package/es/reducers/items-reducer.js +4 -2
- package/es/reducers/project-reducer.js +1 -1
- package/es/reducers/reducer.js +2 -3
- package/es/reducers/viewer2d-reducer.js +0 -2
- package/es/shared/domain/cabinet-warning.js +15 -0
- package/es/shared/objects/immutable.js +3 -0
- package/es/utils/geometry.js +418 -95
- package/es/utils/helper.js +41 -35
- package/es/utils/history.js +2 -2
- package/es/utils/molding.js +12 -241
- package/es/utils/name-generator.js +0 -3
- package/es/utils/skinPanelEngine.js +522 -0
- package/lib/@history.js +11 -0
- package/lib/AppContext.js +11 -0
- package/lib/LiteKitchenConfigurator.js +527 -0
- package/lib/LiteRenderer.js +323 -0
- package/lib/actions/area-actions.js +21 -0
- package/lib/actions/export.js +36 -0
- package/lib/actions/groups-actions.js +107 -0
- package/lib/actions/holes-actions.js +140 -0
- package/lib/actions/items-actions.js +383 -0
- package/lib/actions/lines-actions.js +98 -0
- package/lib/actions/project-actions.js +351 -0
- package/lib/actions/scene-actions.js +43 -0
- package/lib/actions/vertices-actions.js +35 -0
- package/lib/actions/viewer2d-actions.js +73 -0
- package/lib/actions/viewer3d-actions.js +32 -0
- package/lib/analytics/ga4.js +194 -0
- package/lib/analytics/posthog.js +68 -0
- package/lib/assets/Window.hdr +2100 -0
- package/lib/assets/brown_photostudio_02_1k.hdr +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Black Italic.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Black.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Bold Italic.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Bold.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Book Italic.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Book.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard ExtraBold Italic.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard ExtraBold.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard ExtraLight Italic.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard ExtraLight.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Hairline Italic.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Hairline.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Heavy Italic.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Heavy.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Light Italic.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Light.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Medium Italic.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Medium.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard SemiBold Italic.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard SemiBold.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Thin Italic.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Thin.woff +0 -0
- package/lib/assets/fonts/style.css +177 -0
- package/lib/assets/gltf/door_closet.gltf +1 -0
- package/lib/assets/gltf/door_exterior.gltf +1 -0
- package/lib/assets/gltf/door_interior.gltf +1 -0
- package/lib/assets/gltf/door_sliding.gltf +1 -0
- package/lib/assets/gltf/doorway_framed.bin +0 -0
- package/lib/assets/gltf/doorway_framed.fbx +0 -0
- package/lib/assets/gltf/doorway_framed.gltf +1 -0
- package/lib/assets/gltf/window_clear.bin +0 -0
- package/lib/assets/gltf/window_clear.fbx +0 -0
- package/lib/assets/gltf/window_clear.gltf +1 -0
- package/lib/assets/gltf/window_cross.bin +0 -0
- package/lib/assets/gltf/window_cross.fbx +0 -0
- package/lib/assets/gltf/window_cross.gltf +1 -0
- package/lib/assets/gltf/window_double_hung.bin +0 -0
- package/lib/assets/gltf/window_double_hung.fbx +0 -0
- package/lib/assets/gltf/window_double_hung.gltf +1 -0
- package/lib/assets/gltf/window_vertical.bin +0 -0
- package/lib/assets/gltf/window_vertical.fbx +0 -0
- package/lib/assets/gltf/window_vertical.gltf +1 -0
- package/lib/assets/img/TKC_thumbnail.png +0 -0
- package/lib/assets/img/Toggle.png +0 -0
- package/lib/assets/img/default/maple.jpg +0 -0
- package/lib/assets/img/default/steel.jpg +0 -0
- package/lib/assets/img/loading/loading.gif +0 -0
- package/lib/assets/img/loading/loading_1.svg +11 -0
- package/lib/assets/img/loading_large.gif +0 -0
- package/lib/assets/img/png/door/closet.png +0 -0
- package/lib/assets/img/png/door/doorwaysframed.png +0 -0
- package/lib/assets/img/png/door/doorwaysframeles.png +0 -0
- package/lib/assets/img/png/door/doorwaysframeless.png +0 -0
- package/lib/assets/img/png/door/exterior.png +0 -0
- package/lib/assets/img/png/door/interior.png +0 -0
- package/lib/assets/img/png/door/sliding.png +0 -0
- package/lib/assets/img/png/helper/outcome.png +0 -0
- package/lib/assets/img/project_img.png +0 -0
- package/lib/assets/img/rta/rta_logo_box_blue.jpg +0 -0
- package/lib/assets/img/rta/rta_logo_box_blue_ico.jpg +0 -0
- package/lib/assets/img/rta/rta_logo_box_blue_ico.svg +55 -0
- package/lib/assets/img/rta/rta_logo_box_darkGray.jpg +0 -0
- package/lib/assets/img/rta/rta_logo_box_lightblue.png +0 -0
- package/lib/assets/img/rta/rta_logo_box_lightmaroon.png +0 -0
- package/lib/assets/img/rta/rta_logo_box_maroon.png +0 -0
- package/lib/assets/img/rta/rta_logo_box_white.png +0 -0
- package/lib/assets/img/rta_menu.png +0 -0
- package/lib/assets/img/step2.jpg +0 -0
- package/lib/assets/img/step3.jpg +0 -0
- package/lib/assets/img/step4.jpg +0 -0
- package/lib/assets/img/step5.jpg +0 -0
- package/lib/assets/img/step6.jpg +0 -0
- package/lib/assets/img/step7.jpg +0 -0
- package/lib/assets/img/step8.jpg +0 -0
- package/lib/assets/img/svg/2d_delete_object.svg +33 -0
- package/lib/assets/img/svg/2d_delete_object1.svg +33 -0
- package/lib/assets/img/svg/2d_lock_object.svg +33 -0
- package/lib/assets/img/svg/3d_item_move.svg +106 -0
- package/lib/assets/img/svg/3d_item_rotation.svg +76 -0
- package/lib/assets/img/svg/3d_item_warning_edit.svg +77 -0
- package/lib/assets/img/svg/3d_item_warning_info.svg +81 -0
- package/lib/assets/img/svg/accessories.svg +4 -0
- package/lib/assets/img/svg/angle_icon.svg +39 -0
- package/lib/assets/img/svg/blank_div.svg +14 -0
- package/lib/assets/img/svg/bottombar/2d3d_button.svg +3 -0
- package/lib/assets/img/svg/bottombar/2d3d_button_active.svg +3 -0
- package/lib/assets/img/svg/bottombar/2d3d_toggle.svg +4 -0
- package/lib/assets/img/svg/bottombar/2d3d_toggle_active.svg +4 -0
- package/lib/assets/img/svg/bottombar/arrow-down.svg +3 -0
- package/lib/assets/img/svg/bottombar/arrow-left.svg +3 -0
- package/lib/assets/img/svg/bottombar/arrow-minus.svg +3 -0
- package/lib/assets/img/svg/bottombar/arrow-plus.svg +11 -0
- package/lib/assets/img/svg/bottombar/arrow-right.svg +3 -0
- package/lib/assets/img/svg/bottombar/arrow-up.svg +3 -0
- package/lib/assets/img/svg/bottombar/collapse.svg +3 -0
- package/lib/assets/img/svg/bottombar/elevation-back.svg +6 -0
- package/lib/assets/img/svg/bottombar/elevation-front.svg +6 -0
- package/lib/assets/img/svg/bottombar/elevation-left.svg +6 -0
- package/lib/assets/img/svg/bottombar/elevation-right.svg +7 -0
- package/lib/assets/img/svg/bottombar/elevation.svg +13 -0
- package/lib/assets/img/svg/bottombar/expand.svg +3 -0
- package/lib/assets/img/svg/bottombar/help.svg +72 -0
- package/lib/assets/img/svg/bottombar/incm_toggle.svg +39 -0
- package/lib/assets/img/svg/bottombar/pan_1.svg +57 -0
- package/lib/assets/img/svg/bottombar/pan_2.svg +27 -0
- package/lib/assets/img/svg/bottombar/pan_3.svg +27 -0
- package/lib/assets/img/svg/bottombar/pan_4.svg +27 -0
- package/lib/assets/img/svg/bottombar/pan_5.svg +27 -0
- package/lib/assets/img/svg/bottombar/settings.svg +23 -0
- package/lib/assets/img/svg/bottombar/spin-down.svg +76 -0
- package/lib/assets/img/svg/bottombar/spin-left.svg +75 -0
- package/lib/assets/img/svg/bottombar/spin-right.svg +75 -0
- package/lib/assets/img/svg/bottombar/spin-up.svg +76 -0
- package/lib/assets/img/svg/bottombar/spin_1.svg +48 -0
- package/lib/assets/img/svg/bottombar/spin_2.svg +31 -0
- package/lib/assets/img/svg/bottombar/spin_3.svg +31 -0
- package/lib/assets/img/svg/bottombar/spin_4.svg +31 -0
- package/lib/assets/img/svg/bottombar/spin_5.svg +31 -0
- package/lib/assets/img/svg/bottombar/zoomin.svg +29 -0
- package/lib/assets/img/svg/bottombar/zoomout.svg +26 -0
- package/lib/assets/img/svg/check.svg +10 -0
- package/lib/assets/img/svg/close.svg +11 -0
- package/lib/assets/img/svg/color/Black.svg +3 -0
- package/lib/assets/img/svg/color/Blue.svg +3 -0
- package/lib/assets/img/svg/color/Cream.svg +3 -0
- package/lib/assets/img/svg/color/Gray.svg +3 -0
- package/lib/assets/img/svg/color/Green.svg +3 -0
- package/lib/assets/img/svg/color/White.svg +3 -0
- package/lib/assets/img/svg/color/White.svg.bak +3 -0
- package/lib/assets/img/svg/color/stone2.jpg +0 -0
- package/lib/assets/img/svg/color/wood2.jpg +0 -0
- package/lib/assets/img/svg/copy.svg +11 -0
- package/lib/assets/img/svg/delete.svg +3 -0
- package/lib/assets/img/svg/detail.svg +77 -0
- package/lib/assets/img/svg/disclaimer/background.svg +758 -0
- package/lib/assets/img/svg/disclaimer/logo-dots.svg +11 -0
- package/lib/assets/img/svg/door/Closet.svg +11 -0
- package/lib/assets/img/svg/door/Exterior.svg +5 -0
- package/lib/assets/img/svg/door/Framed_dorway.svg +5 -0
- package/lib/assets/img/svg/door/Frameless_dorway.svg +5 -0
- package/lib/assets/img/svg/door/Interior.svg +7 -0
- package/lib/assets/img/svg/door/Sliding.svg +5 -0
- package/lib/assets/img/svg/doors_closet.svg +47 -0
- package/lib/assets/img/svg/doors_exterior.svg +25 -0
- package/lib/assets/img/svg/doors_interior.svg +29 -0
- package/lib/assets/img/svg/doors_patio.svg +26 -0
- package/lib/assets/img/svg/duplicate.svg +11 -0
- package/lib/assets/img/svg/duplicate_object_left.svg +32 -0
- package/lib/assets/img/svg/duplicate_object_right.svg +32 -0
- package/lib/assets/img/svg/filtersActive.svg +19 -0
- package/lib/assets/img/svg/firstsetting/L.svg +3 -0
- package/lib/assets/img/svg/firstsetting/L2.svg +3 -0
- package/lib/assets/img/svg/firstsetting/Open.svg +3 -0
- package/lib/assets/img/svg/firstsetting/Square.svg +3 -0
- package/lib/assets/img/svg/firstsetting/bar-active.svg +9 -0
- package/lib/assets/img/svg/firstsetting/bar-normal.svg +3 -0
- package/lib/assets/img/svg/firstsetting/bullet-current.svg +3 -0
- package/lib/assets/img/svg/firstsetting/bullet-done.svg +3 -0
- package/lib/assets/img/svg/firstsetting/bullet-not-done.svg +3 -0
- package/lib/assets/img/svg/firstsetting/check-active.svg +3 -0
- package/lib/assets/img/svg/firstsetting/check-normal.svg +3 -0
- package/lib/assets/img/svg/firstsetting/pencil.svg +11 -0
- package/lib/assets/img/svg/green_checkmark.svg +27 -0
- package/lib/assets/img/svg/headerbar/assist.svg +3 -0
- package/lib/assets/img/svg/headerbar/cart.svg +3 -0
- package/lib/assets/img/svg/headerbar/check.svg +10 -0
- package/lib/assets/img/svg/headerbar/consult_designer.svg +45 -0
- package/lib/assets/img/svg/headerbar/edit_name.svg +26 -0
- package/lib/assets/img/svg/headerbar/file-dollar.svg +13 -0
- package/lib/assets/img/svg/headerbar/hamburger_menu.svg +32 -0
- package/lib/assets/img/svg/headerbar/plus.svg +11 -0
- package/lib/assets/img/svg/headerbar/review_quote.svg +44 -0
- package/lib/assets/img/svg/headerbar/ruler-measure.svg +11 -0
- package/lib/assets/img/svg/headerbar/save.svg +3 -0
- package/lib/assets/img/svg/headerbar/setting.svg +75 -0
- package/lib/assets/img/svg/help/check.svg +10 -0
- package/lib/assets/img/svg/help/search.svg +76 -0
- package/lib/assets/img/svg/intro/1-start-with-floorplan-whole.svg +27 -0
- package/lib/assets/img/svg/intro/1-start-with-floorplan.svg +26 -0
- package/lib/assets/img/svg/intro/2-start-from-scratch-whole.svg +28 -0
- package/lib/assets/img/svg/intro/2-start-from-scratch.svg +27 -0
- package/lib/assets/img/svg/intro/3-retrieve-project-whole.svg +19 -0
- package/lib/assets/img/svg/intro/3-retrieve-project.svg +18 -0
- package/lib/assets/img/svg/invert.svg +127 -0
- package/lib/assets/img/svg/lefttoolbar/appliance-active.svg +13 -0
- package/lib/assets/img/svg/lefttoolbar/appliance.svg +13 -0
- package/lib/assets/img/svg/lefttoolbar/cabinet-active.svg +10 -0
- package/lib/assets/img/svg/lefttoolbar/cabinet-category.svg +3 -0
- package/lib/assets/img/svg/lefttoolbar/cabinet-one.svg +3 -0
- package/lib/assets/img/svg/lefttoolbar/cabinet.svg +10 -0
- package/lib/assets/img/svg/lefttoolbar/disigner_assistance.svg +89 -0
- package/lib/assets/img/svg/lefttoolbar/door-style-active.svg +20 -0
- package/lib/assets/img/svg/lefttoolbar/door-style.svg +20 -0
- package/lib/assets/img/svg/lefttoolbar/door.svg +12 -0
- package/lib/assets/img/svg/lefttoolbar/error_icon.svg +81 -0
- package/lib/assets/img/svg/lefttoolbar/finishing-active.svg +13 -0
- package/lib/assets/img/svg/lefttoolbar/finishing.svg +13 -0
- package/lib/assets/img/svg/lefttoolbar/reviewforquote-active.svg +86 -0
- package/lib/assets/img/svg/lefttoolbar/reviewforquote.svg +12 -0
- package/lib/assets/img/svg/lefttoolbar/room-shape-L.svg +3 -0
- package/lib/assets/img/svg/lefttoolbar/room-shape-active.svg +18 -0
- package/lib/assets/img/svg/lefttoolbar/room-shape-custom.svg +12 -0
- package/lib/assets/img/svg/lefttoolbar/room-shape-irregular.svg +3 -0
- package/lib/assets/img/svg/lefttoolbar/room-shape-open.svg +3 -0
- package/lib/assets/img/svg/lefttoolbar/room-shape-square.svg +3 -0
- package/lib/assets/img/svg/lefttoolbar/room-shape.svg +18 -0
- package/lib/assets/img/svg/lefttoolbar/search.svg +76 -0
- package/lib/assets/img/svg/lefttoolbar/view_more.svg +86 -0
- package/lib/assets/img/svg/lefttoolbar/warning_icon.svg +81 -0
- package/lib/assets/img/svg/lefttoolbar/window.svg +12 -0
- package/lib/assets/img/svg/logo.svg +11 -0
- package/lib/assets/img/svg/logo_with_text.svg +25 -0
- package/lib/assets/img/svg/menubar/login.svg +84 -0
- package/lib/assets/img/svg/menubar/my_projects.svg +85 -0
- package/lib/assets/img/svg/menubar/new_project.svg +110 -0
- package/lib/assets/img/svg/menubar/save_project.svg +84 -0
- package/lib/assets/img/svg/options.svg +3 -0
- package/lib/assets/img/svg/positioning.svg +3 -0
- package/lib/assets/img/svg/rotate.png +0 -0
- package/lib/assets/img/svg/rotate.svg +17 -0
- package/lib/assets/img/svg/rotate_object_clockwise.svg +26 -0
- package/lib/assets/img/svg/rotate_object_counterclockwise.svg +26 -0
- package/lib/assets/img/svg/toggleFilters.svg +19 -0
- package/lib/assets/img/svg/toolbar/add_appliances_active.svg +64 -0
- package/lib/assets/img/svg/toolbar/add_appliances_inactive.svg +52 -0
- package/lib/assets/img/svg/toolbar/add_button.svg +36 -0
- package/lib/assets/img/svg/toolbar/add_cabinets_active.svg +59 -0
- package/lib/assets/img/svg/toolbar/add_cabinets_inactive.svg +49 -0
- package/lib/assets/img/svg/toolbar/add_items_doors.svg +25 -0
- package/lib/assets/img/svg/toolbar/add_items_doorways.svg +24 -0
- package/lib/assets/img/svg/toolbar/add_items_refrigerator.svg +32 -0
- package/lib/assets/img/svg/toolbar/add_items_windows.svg +28 -0
- package/lib/assets/img/svg/toolbar/apply_button.svg +38 -0
- package/lib/assets/img/svg/toolbar/arrow-plus.svg +11 -0
- package/lib/assets/img/svg/toolbar/backsplash.svg +8 -0
- package/lib/assets/img/svg/toolbar/cancel_button.svg +37 -0
- package/lib/assets/img/svg/toolbar/consult_a_designer_button.svg +47 -0
- package/lib/assets/img/svg/toolbar/countertop.svg +7 -0
- package/lib/assets/img/svg/toolbar/dcm.png +0 -0
- package/lib/assets/img/svg/toolbar/dcm_off.svg +12 -0
- package/lib/assets/img/svg/toolbar/dcm_on.svg +474 -0
- package/lib/assets/img/svg/toolbar/delete_button.svg +37 -0
- package/lib/assets/img/svg/toolbar/download.svg +77 -0
- package/lib/assets/img/svg/toolbar/draw_custom_floor.svg +31 -0
- package/lib/assets/img/svg/toolbar/edit_button.svg +75 -0
- package/lib/assets/img/svg/toolbar/email_quote_button.svg +44 -0
- package/lib/assets/img/svg/toolbar/fbm.png +0 -0
- package/lib/assets/img/svg/toolbar/finishing_touches_active.svg +54 -0
- package/lib/assets/img/svg/toolbar/finishing_touches_inactive.svg +42 -0
- package/lib/assets/img/svg/toolbar/floorstyle.svg +9 -0
- package/lib/assets/img/svg/toolbar/fmb.png +0 -0
- package/lib/assets/img/svg/toolbar/fmb_off.svg +12 -0
- package/lib/assets/img/svg/toolbar/fmb_on.svg +489 -0
- package/lib/assets/img/svg/toolbar/furnishings_icon.svg +6 -0
- package/lib/assets/img/svg/toolbar/get_started_button.svg +41 -0
- package/lib/assets/img/svg/toolbar/handles.svg +5 -0
- package/lib/assets/img/svg/toolbar/lighting.svg +7 -0
- package/lib/assets/img/svg/toolbar/lrm.png +0 -0
- package/lib/assets/img/svg/toolbar/lrm_off.svg +12 -0
- package/lib/assets/img/svg/toolbar/lrm_on.svg +470 -0
- package/lib/assets/img/svg/toolbar/make_floorplan_active.svg +66 -0
- package/lib/assets/img/svg/toolbar/make_floorplan_inactive.svg +52 -0
- package/lib/assets/img/svg/toolbar/predefined_room_l_shaped.svg +20 -0
- package/lib/assets/img/svg/toolbar/predefined_room_layout.svg +20 -0
- package/lib/assets/img/svg/toolbar/predefined_room_long_narrow.svg +20 -0
- package/lib/assets/img/svg/toolbar/predefined_room_open_l_shape.svg +20 -0
- package/lib/assets/img/svg/toolbar/predefined_room_open_pentagon.svg +20 -0
- package/lib/assets/img/svg/toolbar/predefined_room_open_rectangle.svg +20 -0
- package/lib/assets/img/svg/toolbar/predefined_room_open_rectangle_2.svg +20 -0
- package/lib/assets/img/svg/toolbar/predefined_room_pentagon.svg +20 -0
- package/lib/assets/img/svg/toolbar/predefined_room_rectangle.svg +20 -0
- package/lib/assets/img/svg/toolbar/predefined_room_rectangle_with_alcove.svg +20 -0
- package/lib/assets/img/svg/toolbar/redo_button.svg +75 -0
- package/lib/assets/img/svg/toolbar/redo_button1.svg +75 -0
- package/lib/assets/img/svg/toolbar/review_quote_active.svg +14 -0
- package/lib/assets/img/svg/toolbar/review_quote_inactive.svg +44 -0
- package/lib/assets/img/svg/toolbar/save_project_button.svg +44 -0
- package/lib/assets/img/svg/toolbar/select_doorstyle_active.svg +67 -0
- package/lib/assets/img/svg/toolbar/select_doorstyle_inactive.svg +57 -0
- package/lib/assets/img/svg/toolbar/shopping-cart.svg +13 -0
- package/lib/assets/img/svg/toolbar/style_change_button.svg +47 -0
- package/lib/assets/img/svg/toolbar/take_picture.svg +75 -0
- package/lib/assets/img/svg/toolbar/undo_button.svg +76 -0
- package/lib/assets/img/svg/toolbar/undo_button1.svg +76 -0
- package/lib/assets/img/svg/toolbar/use_button.svg +37 -0
- package/lib/assets/img/svg/toolbar/wall_color_icon.svg +6 -0
- package/lib/assets/img/svg/topbar/edit_active.svg +10 -0
- package/lib/assets/img/svg/topbar/edit_inactive.svg +10 -0
- package/lib/assets/img/svg/topbar/redo_active.svg +42 -0
- package/lib/assets/img/svg/topbar/redo_inactive.svg +23 -0
- package/lib/assets/img/svg/topbar/select_all_active.svg +50 -0
- package/lib/assets/img/svg/topbar/select_all_inactive.svg +32 -0
- package/lib/assets/img/svg/topbar/take_picture_active.svg +51 -0
- package/lib/assets/img/svg/topbar/take_picture_inactive.svg +26 -0
- package/lib/assets/img/svg/topbar/undo_active.svg +42 -0
- package/lib/assets/img/svg/topbar/undo_inactive.svg +23 -0
- package/lib/assets/img/svg/warning_info_2d.svg +81 -0
- package/lib/assets/img/svg/window/Clear.svg +3 -0
- package/lib/assets/img/svg/window/Cross.svg +5 -0
- package/lib/assets/img/svg/window/Double_hung.svg +4 -0
- package/lib/assets/img/svg/window/Vertical.svg +4 -0
- package/lib/assets/img/svg/windows_clear.svg +23 -0
- package/lib/assets/img/svg/windows_cross.svg +28 -0
- package/lib/assets/img/svg/windows_double_hung.svg +24 -0
- package/lib/assets/img/svg/windows_vertical.svg +24 -0
- package/lib/assets/img/svg/wizardstep/Custom.svg +3 -0
- package/lib/assets/img/svg/wizardstep/Dashed_line.svg +3 -0
- package/lib/assets/img/svg/wizardstep/L.svg +3 -0
- package/lib/assets/img/svg/wizardstep/L2.svg +3 -0
- package/lib/assets/img/svg/wizardstep/Open.svg +3 -0
- package/lib/assets/img/svg/wizardstep/Square.svg +3 -0
- package/lib/assets/img/svg/wizardstep/bar-active.svg +9 -0
- package/lib/assets/img/svg/wizardstep/bar-normal.svg +3 -0
- package/lib/assets/img/svg/wizardstep/bullet-current.svg +3 -0
- package/lib/assets/img/svg/wizardstep/bullet-done.svg +3 -0
- package/lib/assets/img/svg/wizardstep/bullet-not-done.svg +3 -0
- package/lib/assets/img/svg/wizardstep/check-active.svg +3 -0
- package/lib/assets/img/svg/wizardstep/check-normal.svg +3 -0
- package/lib/assets/img/svg/wizardstep/detail_view.svg +87 -0
- package/lib/assets/img/svg/wizardstep/pencil.svg +11 -0
- package/lib/assets/img/svg/wizardstep/tile_view.svg +95 -0
- package/lib/assets/img/texture/glass.jpg +0 -0
- package/lib/assets/img/texture/steel.jpg +0 -0
- package/lib/assets/img/texture/white1px.jpg +0 -0
- package/lib/assets/img/texture/wood.jpg +0 -0
- package/lib/assets/model/DCM.bin +0 -0
- package/lib/assets/model/DCM.fbx +0 -0
- package/lib/assets/model/DCM.gltf +1 -0
- package/lib/assets/model/FBM.bin +0 -0
- package/lib/assets/model/FBM.fbx +0 -0
- package/lib/assets/model/FBM.gltf +1 -0
- package/lib/assets/model/LRM.bin +0 -0
- package/lib/assets/model/LRM.fbx +0 -0
- package/lib/assets/model/LRM.gltf +1 -0
- package/lib/assets/rtastore_logo.png +0 -0
- package/lib/catalog/areas/area/planner-element.js +53 -0
- package/lib/catalog/areas/area/textures/ceramic-tile.jpg +0 -0
- package/lib/catalog/areas/area/textures/grass.jpg +0 -0
- package/lib/catalog/areas/area/textures/parquet.jpg +0 -0
- package/lib/catalog/areas/area/textures/strand-porcelain.jpg +0 -0
- package/lib/catalog/areas/area/textures/tile1.jpg +0 -0
- package/lib/catalog/back.png +0 -0
- package/lib/catalog/cabinet/cabinet-assembly-order.js +42 -0
- package/lib/catalog/catalog.js +270 -0
- package/lib/catalog/doors.png +0 -0
- package/lib/catalog/doorways.png +0 -0
- package/lib/catalog/envMap/nx.hdr +0 -0
- package/lib/catalog/envMap/ny.hdr +0 -0
- package/lib/catalog/envMap/nz.hdr +0 -0
- package/lib/catalog/envMap/px.hdr +0 -0
- package/lib/catalog/envMap/py.hdr +0 -0
- package/lib/catalog/envMap/pz.hdr +0 -0
- package/lib/catalog/export.js +1 -0
- package/lib/catalog/factories/area-factory-3d.js +187 -0
- package/lib/catalog/factories/area-factory.js +88 -0
- package/lib/catalog/factories/export.js +25 -0
- package/lib/catalog/factories/wall-factory-3d.js +212 -0
- package/lib/catalog/factories/wall-factory.js +279 -0
- package/lib/catalog/holes/door-closet/planner-element.js +232 -0
- package/lib/catalog/holes/door-double/door_double.png +0 -0
- package/lib/catalog/holes/door-double/planner-element.js +325 -0
- package/lib/catalog/holes/door-exterior/planner-element.js +225 -0
- package/lib/catalog/holes/door-interior/planner-element.js +237 -0
- package/lib/catalog/holes/door-panic/panicDoor.png +0 -0
- package/lib/catalog/holes/door-panic/planner-element.js +513 -0
- package/lib/catalog/holes/door-panic-double/panicDoorDouble.png +0 -0
- package/lib/catalog/holes/door-panic-double/planner-element.js +473 -0
- package/lib/catalog/holes/door-sliding/planner-element.js +235 -0
- package/lib/catalog/holes/doorway-framed/planner-element.js +155 -0
- package/lib/catalog/holes/doorway-frameless/planner-element.js +114 -0
- package/lib/catalog/holes/export.js +97 -0
- package/lib/catalog/holes/gate/gate.jpg +0 -0
- package/lib/catalog/holes/window-clear/planner-element.js +176 -0
- package/lib/catalog/holes/window-clear/texture.png +0 -0
- package/lib/catalog/holes/window-cross/planner-element.js +175 -0
- package/lib/catalog/holes/window-cross/texture.png +0 -0
- package/lib/catalog/holes/window-double-hung/planner-element.js +313 -0
- package/lib/catalog/holes/window-double-hung/texture.png +0 -0
- package/lib/catalog/holes/window-vertical/planner-element.js +286 -0
- package/lib/catalog/holes/window-vertical/texture.png +0 -0
- package/lib/catalog/lines/wall/planner-element.js +87 -0
- package/lib/catalog/lines/wall/textures/bricks-normal.jpg +0 -0
- package/lib/catalog/lines/wall/textures/bricks.jpg +0 -0
- package/lib/catalog/lines/wall/textures/bricks2.jpg +0 -0
- package/lib/catalog/lines/wall/textures/morden-normal.jpg +0 -0
- package/lib/catalog/lines/wall/textures/morden.jpg +0 -0
- package/lib/catalog/lines/wall/textures/painted.jpg +0 -0
- package/lib/catalog/lines/wall/textures/plaster-normal.jpg +0 -0
- package/lib/catalog/lines/wall/textures/plaster.jpg +0 -0
- package/lib/catalog/lines/wall/wall.png +0 -0
- package/lib/catalog/molding/molding-dcm/planner-element.js +33 -0
- package/lib/catalog/molding/molding-dcm/texture.png +0 -0
- package/lib/catalog/molding/molding-fbm/planner-element.js +33 -0
- package/lib/catalog/molding/molding-fbm/texture.png +0 -0
- package/lib/catalog/molding/molding-lrm/planner-element.js +33 -0
- package/lib/catalog/molding/molding-lrm/texture.png +0 -0
- package/lib/catalog/utils/exporter.js +173 -0
- package/lib/catalog/utils/geom-utils.js +205 -0
- package/lib/catalog/utils/item-loader.js +1603 -0
- package/lib/catalog/utils/load-obj.js +99 -0
- package/lib/catalog/utils/mtl-loader.js +366 -0
- package/lib/catalog/utils/obj-loader.js +486 -0
- package/lib/catalog/windows.png +0 -0
- package/lib/class/area.js +147 -0
- package/lib/class/export.js +88 -0
- package/lib/class/group.js +438 -0
- package/lib/class/guide.js +64 -0
- package/lib/class/hole.js +930 -0
- package/lib/class/item.js +2009 -0
- package/lib/class/layer.js +670 -0
- package/lib/class/line.js +1236 -0
- package/lib/class/project.js +949 -0
- package/lib/class/vertex.js +205 -0
- package/lib/components/content.js +160 -0
- package/lib/components/export.js +7 -0
- package/lib/components/style/export.js +17 -0
- package/lib/components/style/form-number-input.js +192 -0
- package/lib/components/style/form-submit-button.js +35 -0
- package/lib/components/viewer2d/area.js +89 -0
- package/lib/components/viewer2d/export.js +121 -0
- package/lib/components/viewer2d/grids/grid-horizontal-streak.js +44 -0
- package/lib/components/viewer2d/grids/grid-streak.js +44 -0
- package/lib/components/viewer2d/grids/grid-vertical-streak.js +44 -0
- package/lib/components/viewer2d/grids/grids.js +40 -0
- package/lib/components/viewer2d/group.js +63 -0
- package/lib/components/viewer2d/item.js +244 -0
- package/lib/components/viewer2d/layer.js +172 -0
- package/lib/components/viewer2d/line.js +975 -0
- package/lib/components/viewer2d/ruler.js +92 -0
- package/lib/components/viewer2d/rulerDist.js +110 -0
- package/lib/components/viewer2d/rulerX.js +154 -0
- package/lib/components/viewer2d/rulerY.js +156 -0
- package/lib/components/viewer2d/scene.js +137 -0
- package/lib/components/viewer2d/snap.js +84 -0
- package/lib/components/viewer2d/state.js +83 -0
- package/lib/components/viewer2d/utils.js +200 -0
- package/lib/components/viewer2d/vertex.js +76 -0
- package/lib/components/viewer2d/viewer2d.js +1472 -0
- package/lib/components/viewer3d/camera-controls-module/camera-controls.module.js +2591 -0
- package/lib/components/viewer3d/dcm.js +408 -0
- package/lib/components/viewer3d/fbm.js +421 -0
- package/lib/components/viewer3d/front3D.js +71 -0
- package/lib/components/viewer3d/grid-creator.js +35 -0
- package/lib/components/viewer3d/grids/grid-horizontal-streak.js +45 -0
- package/lib/components/viewer3d/grids/grid-streak.js +36 -0
- package/lib/components/viewer3d/grids/grid-vertical-streak.js +45 -0
- package/lib/components/viewer3d/libs/first-person-controls.js +74 -0
- package/lib/components/viewer3d/libs/helvetiker_regular.typeface.js +1287 -0
- package/lib/components/viewer3d/libs/mtl-loader.js +366 -0
- package/lib/components/viewer3d/libs/obj-loader.js +471 -0
- package/lib/components/viewer3d/libs/orbit-controls.js +706 -0
- package/lib/components/viewer3d/libs/pointer-lock-controls.js +53 -0
- package/lib/components/viewer3d/lrm.js +312 -0
- package/lib/components/viewer3d/model.js +714 -0
- package/lib/components/viewer3d/pointer-lock-navigation.js +32 -0
- package/lib/components/viewer3d/ruler-utils/itemRect.js +69 -0
- package/lib/components/viewer3d/ruler-utils/layer3D.js +503 -0
- package/lib/components/viewer3d/ruler-utils/ruler3D.js +232 -0
- package/lib/components/viewer3d/ruler-utils/scene3D.js +67 -0
- package/lib/components/viewer3d/ruler-utils/state3D.js +26 -0
- package/lib/components/viewer3d/scene-creator.js +3850 -0
- package/lib/components/viewer3d/three-memory-cleaner.js +46 -0
- package/lib/components/viewer3d/viewer3d-first-person.js +316 -0
- package/lib/components/viewer3d/viewer3d.js +2673 -0
- package/lib/constants/catalog/skinPanel.js +15 -0
- package/lib/constants.js +791 -0
- package/lib/devLiteRenderer.js +917 -0
- package/lib/events/external/handleExternalEvent.js +148 -0
- package/lib/events/external/handleExternalEvent.util.js +1110 -0
- package/lib/events/external/handlers.addItem.js +54 -0
- package/lib/events/external/handlers.changeDoorStyle.js +147 -0
- package/lib/events/external/handlers.elementOps.js +15 -0
- package/lib/events/external/handlers.finishing.js +32 -0
- package/lib/events/external/handlers.hole.js +10 -0
- package/lib/events/external/handlers.loadProject.js +135 -0
- package/lib/events/external/handlers.molding.js +31 -0
- package/lib/events/external/handlers.projectLifecycle.js +19 -0
- package/lib/events/external/handlers.projectSettings.js +38 -0
- package/lib/events/external/handlers.replaceCabinet.js +48 -0
- package/lib/events/external/handlers.roomShape.js +14 -0
- package/lib/events/external/handlers.syncScene.js +27 -0
- package/lib/events/external/handlers.updateSelectedElements.js +17 -0
- package/lib/events/external/handlers.viewMode.js +19 -0
- package/lib/events/external/handlers.viewerNavigation.js +117 -0
- package/lib/events/external/handlers.wall.js +13 -0
- package/lib/index.js +637 -0
- package/lib/mappings/external-events/mapExternalEventPayload.js +33 -0
- package/lib/mappings/external-events/mappers/addItemMapper.js +103 -0
- package/lib/mappings/external-events/mappers/ccdfMapper.js +107 -0
- package/lib/mappings/external-events/mappers/ccdfToCDSMapper.js +55 -0
- package/lib/mappings/external-events/mappers/changeDoorStyleMapper.js +44 -0
- package/lib/mappings/external-events/mappers/loadProjectMapper.js +70 -0
- package/lib/mappings/holesToCatalog.js +148 -0
- package/lib/models.js +534 -0
- package/lib/plugins/SVGLoader.js +1419 -0
- package/lib/plugins/console-debugger.js +42 -0
- package/lib/plugins/export.js +25 -0
- package/lib/plugins/keyboard.js +117 -0
- package/lib/reducers/areas-reducer.js +19 -0
- package/lib/reducers/export.js +89 -0
- package/lib/reducers/groups-reducer.js +45 -0
- package/lib/reducers/holes-reducer.js +69 -0
- package/lib/reducers/items-reducer.js +152 -0
- package/lib/reducers/lines-reducer.js +52 -0
- package/lib/reducers/project-reducer.js +143 -0
- package/lib/reducers/reducer.js +25 -0
- package/lib/reducers/scene-reducer.js +35 -0
- package/lib/reducers/vertices-reducer.js +26 -0
- package/lib/reducers/viewer2d-reducer.js +84 -0
- package/lib/reducers/viewer3d-reducer.js +65 -0
- package/lib/shared/domain/cabinet-warning.js +20 -0
- package/lib/shared/objects/immutable.js +9 -0
- package/lib/shared-style.js +72 -0
- package/lib/translator/en.js +111 -0
- package/lib/translator/it.js +86 -0
- package/lib/translator/ru.js +86 -0
- package/lib/translator/translator.js +87 -0
- package/lib/utils/browser.js +40 -0
- package/lib/utils/convert-units-lite.js +44 -0
- package/lib/utils/email-validator.js +10 -0
- package/lib/utils/export.js +56 -0
- package/lib/utils/geometry.js +3230 -0
- package/lib/utils/get-edges-of-subgraphs.js +33 -0
- package/lib/utils/graph-cycles.js +239 -0
- package/lib/utils/graph-inner-cycles.js +54 -0
- package/lib/utils/graph.js +153 -0
- package/lib/utils/helper.js +480 -0
- package/lib/utils/history.js +48 -0
- package/lib/utils/id-broker.js +22 -0
- package/lib/utils/logger.js +14 -0
- package/lib/utils/math.js +57 -0
- package/lib/utils/molding.js +1146 -0
- package/lib/utils/name-generator.js +21 -0
- package/lib/utils/objects-utils.js +62 -0
- package/lib/utils/phone-validator.js +10 -0
- package/lib/utils/process-black-list.js +22 -0
- package/lib/utils/react-if.js +25 -0
- package/lib/utils/ruler.js +63 -0
- package/lib/utils/skinPanelEngine.js +530 -0
- package/lib/utils/snap-scene.js +101 -0
- package/lib/utils/snap.js +245 -0
- package/lib/utils/summarizeCart.js +30 -0
- package/lib/utils/threeCSG.es6.js +504 -0
- package/lib/version.js +7 -0
- package/package.json +29 -24
- package/es/WorkSpace.js +0 -30
- package/es/WorkSpaceHostMimic.js +0 -132
- package/es/assets/gltf/door_closet.bin +0 -0
- package/es/assets/gltf/door_closet.fbx +0 -0
- package/es/assets/gltf/door_exterior.bin +0 -0
- package/es/assets/gltf/door_exterior.fbx +0 -0
- package/es/assets/gltf/door_interior.bin +0 -0
- package/es/assets/gltf/door_interior.fbx +0 -0
- package/es/assets/gltf/door_sliding.bin +0 -0
- package/es/assets/gltf/door_sliding.fbx +0 -0
- package/es/assets/img/png/helper/video_preview_3d.png +0 -0
- package/es/assets/img/png/helper/video_preview_start.png +0 -0
- package/es/assets/img/svg/color/Brown.svg +0 -9
- package/es/assets/img/svg/color/Dark.svg +0 -9
- package/es/assets/img/svg/color/Light.svg +0 -9
- package/es/assets/img/svg/color/Medium.svg +0 -9
- package/es/assets/img/svg/color/Unfinished.svg +0 -9
- package/es/catalog/lines/wall/textures/bricks3.jpg +0 -0
- package/es/catalog/properties/export.js +0 -21
- package/es/catalog/properties/property-checkbox.js +0 -68
- package/es/catalog/properties/property-color.js +0 -39
- package/es/catalog/properties/property-enum.js +0 -50
- package/es/catalog/properties/property-hidden.js +0 -19
- package/es/catalog/properties/property-lenght-measure.js +0 -96
- package/es/catalog/properties/property-length-measure.js +0 -80
- package/es/catalog/properties/property-length-measure_hole.js +0 -96
- package/es/catalog/properties/property-number.js +0 -48
- package/es/catalog/properties/property-read-only.js +0 -26
- package/es/catalog/properties/property-string.js +0 -48
- package/es/catalog/properties/property-toggle.js +0 -39
- package/es/catalog/properties/shared-property-style.js +0 -14
- package/es/catalog/utils/FuseUtils.js +0 -79
- package/es/class/FuseUtils.js +0 -79
- package/es/components/style/button.js +0 -106
- package/es/components/style/cancel-button.js +0 -21
- package/es/components/style/content-container.js +0 -30
- package/es/components/style/content-title.js +0 -25
- package/es/components/style/delete-button.js +0 -24
- package/es/components/style/form-block.js +0 -20
- package/es/components/style/form-color-input.js +0 -26
- package/es/components/style/form-label.js +0 -22
- package/es/components/style/form-number-input_2.js +0 -238
- package/es/components/style/form-select.js +0 -19
- package/es/components/style/form-slider.js +0 -60
- package/es/components/style/form-text-input.js +0 -69
- package/es/index.html.ejs +0 -264
- package/es/reducers/user-reducer.js +0 -41
- package/es/utils/isolate-event-handler.js +0 -1622
- /package/{es/catalog/lines/wall/textures/bricks-normal2.jpg → lib/catalog/lines/wall/textures/painted-normal.jpg} +0 -0
package/es/index.js
CHANGED
|
@@ -140,14 +140,8 @@ function installGltfTracker() {
|
|
|
140
140
|
if (g.inFlight < 0) g.inFlight = 0;
|
|
141
141
|
notify();
|
|
142
142
|
_this.removeEventListener('loadend', _done);
|
|
143
|
-
_this.removeEventListener('error', _done);
|
|
144
|
-
_this.removeEventListener('abort', _done);
|
|
145
|
-
_this.removeEventListener('timeout', _done);
|
|
146
143
|
};
|
|
147
144
|
this.addEventListener('loadend', _done);
|
|
148
|
-
this.addEventListener('error', _done);
|
|
149
|
-
this.addEventListener('abort', _done);
|
|
150
|
-
this.addEventListener('timeout', _done);
|
|
151
145
|
}
|
|
152
146
|
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
153
147
|
args[_key2] = arguments[_key2];
|
|
@@ -246,11 +240,13 @@ function installGltfTracker() {
|
|
|
246
240
|
var _ref3,
|
|
247
241
|
_ref3$timeoutMs,
|
|
248
242
|
timeoutMs,
|
|
243
|
+
start,
|
|
249
244
|
_args4 = arguments;
|
|
250
245
|
return _regeneratorRuntime.wrap(function (_context4) {
|
|
251
246
|
while (1) switch (_context4.prev = _context4.next) {
|
|
252
247
|
case 0:
|
|
253
248
|
_ref3 = _args4.length > 0 && _args4[0] !== undefined ? _args4[0] : {}, _ref3$timeoutMs = _ref3.timeoutMs, timeoutMs = _ref3$timeoutMs === void 0 ? 30000 : _ref3$timeoutMs;
|
|
249
|
+
start = Date.now();
|
|
254
250
|
_context4.next = 1;
|
|
255
251
|
return waitStableIdle2Frames();
|
|
256
252
|
case 1:
|
|
@@ -262,50 +258,38 @@ function installGltfTracker() {
|
|
|
262
258
|
case 2:
|
|
263
259
|
return _context4.abrupt("return", new Promise(function (resolve, reject) {
|
|
264
260
|
var unsub = null;
|
|
265
|
-
var finished = false;
|
|
266
|
-
var finishOk = function finishOk() {
|
|
267
|
-
if (finished) return;
|
|
268
|
-
finished = true;
|
|
269
|
-
if (unsub) unsub();
|
|
270
|
-
clearTimeout(timer);
|
|
271
|
-
resolve(true);
|
|
272
|
-
};
|
|
273
|
-
var finishErr = function finishErr(err) {
|
|
274
|
-
if (finished) return;
|
|
275
|
-
finished = true;
|
|
276
|
-
if (unsub) unsub();
|
|
277
|
-
clearTimeout(timer);
|
|
278
|
-
reject(err);
|
|
279
|
-
};
|
|
280
|
-
|
|
281
|
-
// ✅ Real timeout no matter what happens with inFlight changes
|
|
282
|
-
var timer = setTimeout(function () {
|
|
283
|
-
finishErr(new Error('3D assets did not become idle within timeout'));
|
|
284
|
-
}, timeoutMs);
|
|
285
261
|
var onChange = /*#__PURE__*/function () {
|
|
286
262
|
var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3(count) {
|
|
287
263
|
var stable;
|
|
288
264
|
return _regeneratorRuntime.wrap(function (_context3) {
|
|
289
265
|
while (1) switch (_context3.prev = _context3.next) {
|
|
290
266
|
case 0:
|
|
291
|
-
if (!
|
|
267
|
+
if (!(count !== 0)) {
|
|
292
268
|
_context3.next = 1;
|
|
293
269
|
break;
|
|
294
270
|
}
|
|
271
|
+
if (Date.now() - start > timeoutMs) {
|
|
272
|
+
if (unsub) unsub();
|
|
273
|
+
reject(new Error('3D assets did not become idle within timeout'));
|
|
274
|
+
}
|
|
295
275
|
return _context3.abrupt("return");
|
|
296
276
|
case 1:
|
|
297
|
-
|
|
298
|
-
|
|
277
|
+
_context3.next = 2;
|
|
278
|
+
return waitStableIdle2Frames();
|
|
279
|
+
case 2:
|
|
280
|
+
stable = _context3.sent;
|
|
281
|
+
if (!stable) {
|
|
282
|
+
_context3.next = 3;
|
|
299
283
|
break;
|
|
300
284
|
}
|
|
285
|
+
if (unsub) unsub();
|
|
286
|
+
resolve(true);
|
|
301
287
|
return _context3.abrupt("return");
|
|
302
|
-
case 2:
|
|
303
|
-
_context3.next = 3;
|
|
304
|
-
return waitStableIdle2Frames();
|
|
305
288
|
case 3:
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
289
|
+
if (Date.now() - start > timeoutMs) {
|
|
290
|
+
if (unsub) unsub();
|
|
291
|
+
reject(new Error('3D assets did not become idle within timeout'));
|
|
292
|
+
}
|
|
309
293
|
case 4:
|
|
310
294
|
case "end":
|
|
311
295
|
return _context3.stop();
|
|
@@ -452,7 +436,7 @@ export function renderKitchenSimulator(container) {
|
|
|
452
436
|
}
|
|
453
437
|
function _drain() {
|
|
454
438
|
_drain = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee8() {
|
|
455
|
-
var item
|
|
439
|
+
var item;
|
|
456
440
|
return _regeneratorRuntime.wrap(function (_context8) {
|
|
457
441
|
while (1) switch (_context8.prev = _context8.next) {
|
|
458
442
|
case 0:
|
|
@@ -466,7 +450,7 @@ export function renderKitchenSimulator(container) {
|
|
|
466
450
|
_context8.prev = 2;
|
|
467
451
|
case 3:
|
|
468
452
|
if (!(!destroyed && queue.length)) {
|
|
469
|
-
_context8.next =
|
|
453
|
+
_context8.next = 8;
|
|
470
454
|
break;
|
|
471
455
|
}
|
|
472
456
|
if (setExternalEventFn) {
|
|
@@ -486,31 +470,21 @@ export function renderKitchenSimulator(container) {
|
|
|
486
470
|
pendingMarkers["delete"](item.token);
|
|
487
471
|
return _context8.abrupt("continue", 3);
|
|
488
472
|
case 6:
|
|
489
|
-
_context8.prev = 6;
|
|
490
473
|
setExternalEventFn(item);
|
|
491
474
|
_context8.next = 7;
|
|
492
475
|
return settle(item);
|
|
493
476
|
case 7:
|
|
494
|
-
_context8.next =
|
|
477
|
+
_context8.next = 3;
|
|
495
478
|
break;
|
|
496
479
|
case 8:
|
|
497
480
|
_context8.prev = 8;
|
|
498
|
-
_t = _context8["catch"](6);
|
|
499
|
-
console.error('[kitchen-simulator] event failed:', item, _t);
|
|
500
|
-
// IMPORTANT: continue so we can eventually consume the marker
|
|
501
|
-
// Optionally you can decide to clear remaining queue here.
|
|
502
|
-
case 9:
|
|
503
|
-
_context8.next = 3;
|
|
504
|
-
break;
|
|
505
|
-
case 10:
|
|
506
|
-
_context8.prev = 10;
|
|
507
481
|
draining = false;
|
|
508
|
-
return _context8.finish(
|
|
509
|
-
case
|
|
482
|
+
return _context8.finish(8);
|
|
483
|
+
case 9:
|
|
510
484
|
case "end":
|
|
511
485
|
return _context8.stop();
|
|
512
486
|
}
|
|
513
|
-
}, _callee8, null, [[2,,
|
|
487
|
+
}, _callee8, null, [[2,, 8, 9]]);
|
|
514
488
|
}));
|
|
515
489
|
return _drain.apply(this, arguments);
|
|
516
490
|
}
|
|
@@ -566,9 +540,6 @@ export function renderKitchenSimulator(container) {
|
|
|
566
540
|
return gltfTracker.subscribe(cb);
|
|
567
541
|
},
|
|
568
542
|
sendExternalEvents: function sendExternalEvents(eventOrEvents) {
|
|
569
|
-
var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
570
|
-
_ref5$timeoutMs = _ref5.timeoutMs,
|
|
571
|
-
timeoutMs = _ref5$timeoutMs === void 0 ? 60000 : _ref5$timeoutMs;
|
|
572
543
|
var events = Array.isArray(eventOrEvents) ? eventOrEvents : [eventOrEvents];
|
|
573
544
|
var _iterator2 = _createForOfIteratorHelper(events),
|
|
574
545
|
_step2;
|
|
@@ -592,47 +563,36 @@ export function renderKitchenSimulator(container) {
|
|
|
592
563
|
|
|
593
564
|
// resolve when marker cleared
|
|
594
565
|
return new Promise(function (resolve) {
|
|
595
|
-
var start = Date.now();
|
|
596
566
|
var check = /*#__PURE__*/function () {
|
|
597
|
-
var
|
|
567
|
+
var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee6() {
|
|
598
568
|
return _regeneratorRuntime.wrap(function (_context6) {
|
|
599
569
|
while (1) switch (_context6.prev = _context6.next) {
|
|
600
570
|
case 0:
|
|
601
571
|
if (destroyed) {
|
|
602
|
-
_context6.next =
|
|
603
|
-
break;
|
|
604
|
-
}
|
|
605
|
-
if (pendingMarkers.has(token)) {
|
|
606
|
-
_context6.next = 1;
|
|
572
|
+
_context6.next = 3;
|
|
607
573
|
break;
|
|
608
574
|
}
|
|
609
|
-
|
|
610
|
-
return _context6.abrupt("return");
|
|
611
|
-
case 1:
|
|
612
|
-
if (!(Date.now() - start > timeoutMs)) {
|
|
575
|
+
if (!pendingMarkers.has(token)) {
|
|
613
576
|
_context6.next = 2;
|
|
614
577
|
break;
|
|
615
578
|
}
|
|
616
|
-
|
|
617
|
-
pendingMarkers["delete"](token); // fail-open
|
|
618
|
-
resolve(false);
|
|
619
|
-
return _context6.abrupt("return");
|
|
620
|
-
case 2:
|
|
621
|
-
_context6.next = 3;
|
|
579
|
+
_context6.next = 1;
|
|
622
580
|
return nextFrame();
|
|
581
|
+
case 1:
|
|
582
|
+
return _context6.abrupt("continue", 0);
|
|
583
|
+
case 2:
|
|
584
|
+
resolve(true);
|
|
585
|
+
return _context6.abrupt("return");
|
|
623
586
|
case 3:
|
|
624
|
-
_context6.next = 0;
|
|
625
|
-
break;
|
|
626
|
-
case 4:
|
|
627
587
|
resolve(false);
|
|
628
|
-
case
|
|
588
|
+
case 4:
|
|
629
589
|
case "end":
|
|
630
590
|
return _context6.stop();
|
|
631
591
|
}
|
|
632
592
|
}, _callee6);
|
|
633
593
|
}));
|
|
634
594
|
return function check() {
|
|
635
|
-
return
|
|
595
|
+
return _ref5.apply(this, arguments);
|
|
636
596
|
};
|
|
637
597
|
}();
|
|
638
598
|
check();
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { EXTERNAL_EVENT_ADD_ITEM, EXTERNAL_EVENT_CHANGE_DOORSTYLE, EXTERNAL_EVENT_LOAD_PROJECT, EXTERNAL_EVENT_REPLACE_CABINET } from "../../constants";
|
|
2
|
+
import { isEmpty } from "../../utils/helper";
|
|
3
|
+
import { mapAddItemEvent } from "./mappers/addItemMapper";
|
|
4
|
+
import { mapChangeDoorStyleEvent } from "./mappers/changeDoorStyleMapper";
|
|
5
|
+
import { mapLoadProjectEvent } from "./mappers/loadProjectMapper";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Main dispatcher for external event payload mapping.
|
|
9
|
+
* Converts new API formats into legacy internal formats (e.g. assets3d -> structure_json)
|
|
10
|
+
* without changing the behavior of the existing 3D tool.
|
|
11
|
+
*/
|
|
12
|
+
export function mapExternalEventPayload(evt, state) {
|
|
13
|
+
if (isEmpty(evt)) return null;
|
|
14
|
+
switch (evt.type) {
|
|
15
|
+
case EXTERNAL_EVENT_REPLACE_CABINET:
|
|
16
|
+
evt.payload.replaceItemInfo = mapAddItemEvent(evt.payload.replaceItemInfo, state);
|
|
17
|
+
return evt;
|
|
18
|
+
case EXTERNAL_EVENT_ADD_ITEM:
|
|
19
|
+
evt.payload = mapAddItemEvent(evt.payload, state);
|
|
20
|
+
return evt;
|
|
21
|
+
case EXTERNAL_EVENT_CHANGE_DOORSTYLE:
|
|
22
|
+
return mapChangeDoorStyleEvent(evt, state);
|
|
23
|
+
case EXTERNAL_EVENT_LOAD_PROJECT:
|
|
24
|
+
return mapLoadProjectEvent(evt, state);
|
|
25
|
+
default:
|
|
26
|
+
return evt;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
3
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5
|
+
import { ITEM_TYPE } from "../../../constants";
|
|
6
|
+
import { isEmpty } from "../../../utils/helper";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Mapping logic for EXTERNAL_EVENT_ADD_ITEM.
|
|
10
|
+
*
|
|
11
|
+
* Converts the new assets3d payload shape into the legacy structure_json format
|
|
12
|
+
* expected by the existing 3D tool.
|
|
13
|
+
*
|
|
14
|
+
* @param {Object} evt.payload External event payload
|
|
15
|
+
* @param {Immutable.Map} state Planner state
|
|
16
|
+
* @returns {Object|null} Updated event (or null when payload is empty)
|
|
17
|
+
*/
|
|
18
|
+
export function mapAddItemEvent(orgEvtPayload, state) {
|
|
19
|
+
var _evtPayload, _evtPayload3;
|
|
20
|
+
// make structure_json using assest3D
|
|
21
|
+
var layerId = state.getIn(['scene', 'selectedLayer']);
|
|
22
|
+
var layer = state.getIn(['scene', 'layers', layerId]);
|
|
23
|
+
var tempStructure = {};
|
|
24
|
+
var tempPlaceholders = [];
|
|
25
|
+
var cabinetDoorFinishId, animation;
|
|
26
|
+
if (isEmpty(orgEvtPayload)) return null;
|
|
27
|
+
var evtPayload = structuredClone(orgEvtPayload);
|
|
28
|
+
if (((_evtPayload = evtPayload) === null || _evtPayload === void 0 ? void 0 : _evtPayload.type) !== ITEM_TYPE.CABINET) {
|
|
29
|
+
var _evtPayload2;
|
|
30
|
+
evtPayload.structure_json = {
|
|
31
|
+
base: (_evtPayload2 = evtPayload) === null || _evtPayload2 === void 0 ? void 0 : _evtPayload2.gltf
|
|
32
|
+
};
|
|
33
|
+
return evtPayload;
|
|
34
|
+
}
|
|
35
|
+
var cabinetDoorFinish = (_evtPayload3 = evtPayload) === null || _evtPayload3 === void 0 ? void 0 : _evtPayload3.ccdf;
|
|
36
|
+
var assets3d = cabinetDoorFinish === null || cabinetDoorFinish === void 0 ? void 0 : cabinetDoorFinish.assets3d;
|
|
37
|
+
if (isEmpty(assets3d)) {
|
|
38
|
+
var _evtPayload4;
|
|
39
|
+
tempStructure.base = (_evtPayload4 = evtPayload) === null || _evtPayload4 === void 0 ? void 0 : _evtPayload4.gltf;
|
|
40
|
+
}
|
|
41
|
+
if (!isEmpty(cabinetDoorFinish === null || cabinetDoorFinish === void 0 ? void 0 : cabinetDoorFinish.id)) {
|
|
42
|
+
cabinetDoorFinishId = cabinetDoorFinish.id;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// clone so we can push injected handle assets without mutating original
|
|
46
|
+
var updatedAssets3D = _toConsumableArray(assets3d);
|
|
47
|
+
|
|
48
|
+
// first pass: inject door-handle assets where needed
|
|
49
|
+
if (!isEmpty(assets3d)) {
|
|
50
|
+
assets3d.forEach(function (asItem) {
|
|
51
|
+
// make door handle
|
|
52
|
+
if (!isEmpty(asItem === null || asItem === void 0 ? void 0 : asItem.placeholder_name)) {
|
|
53
|
+
var phName = asItem.placeholder_name;
|
|
54
|
+
if (phName.includes('door_')) {
|
|
55
|
+
var doorHandleName = phName.slice(0, phName.length - 2) + '_handle' + phName.slice(phName.length - 2);
|
|
56
|
+
updatedAssets3D.push({
|
|
57
|
+
placeholder_name: doorHandleName,
|
|
58
|
+
gltf: layer.get('doorHandle')
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
// second pass: build structure + placeholders from full asset list
|
|
65
|
+
updatedAssets3D.forEach(function (asitem) {
|
|
66
|
+
var _evtPayload5;
|
|
67
|
+
// set base field with gltf
|
|
68
|
+
tempStructure.base = (_evtPayload5 = evtPayload) === null || _evtPayload5 === void 0 ? void 0 : _evtPayload5.gltf;
|
|
69
|
+
if (!isEmpty(asitem === null || asitem === void 0 ? void 0 : asitem.placeholder_name)) {
|
|
70
|
+
// make the structure using placeholder_name and gltf
|
|
71
|
+
var phName = asitem.placeholder_name;
|
|
72
|
+
if (!phName.includes('_handle_') && !phName.includes('sink')) {
|
|
73
|
+
phName = 'base_' + phName;
|
|
74
|
+
}
|
|
75
|
+
tempStructure[phName] = asitem.gltf;
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// make the tempPlaceholders using structure and id
|
|
81
|
+
tempPlaceholders.push({
|
|
82
|
+
id: cabinetDoorFinishId,
|
|
83
|
+
structure: tempStructure
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
// make the structure_json using animation and tempPlaceholders
|
|
87
|
+
var structure_json = {
|
|
88
|
+
animation: animation,
|
|
89
|
+
tempPlaceholders: tempPlaceholders
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
// rebuild the cabinet payload with structure_json
|
|
93
|
+
evtPayload = _objectSpread(_objectSpread({}, evtPayload), {}, {
|
|
94
|
+
structure_json: structure_json
|
|
95
|
+
});
|
|
96
|
+
return evtPayload;
|
|
97
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
2
|
+
import { isEmpty } from "../../../components/viewer2d/utils";
|
|
3
|
+
import { toJSIfNeeded } from "../../../shared/objects/immutable";
|
|
4
|
+
export function ccdfMapper(ccdf_list, layer) {
|
|
5
|
+
// This function make cabinet definition using ccdf, layer's item information and catalog
|
|
6
|
+
// console.log(ccdf_list, catalog);
|
|
7
|
+
// make structure_json list using ccdf-list
|
|
8
|
+
var cabinetDefinitionList = [];
|
|
9
|
+
var layerJS = toJSIfNeeded(layer);
|
|
10
|
+
ccdf_list === null || ccdf_list === void 0 || ccdf_list.forEach(function (ccdf) {
|
|
11
|
+
// IMPORTANT: DIY-834-43
|
|
12
|
+
// Each CCDF row must produce its own independent structure/tempPlaceholders objects.
|
|
13
|
+
// Reusing the same object across iterations causes cross-cabinet mutation bugs
|
|
14
|
+
// (e.g. B12's `structure.base` being overwritten by W1218's gltf).
|
|
15
|
+
var tempPlaceholders = [];
|
|
16
|
+
var structure = {};
|
|
17
|
+
var cdfId;
|
|
18
|
+
var structure_json = {};
|
|
19
|
+
var cabinetDefinition = {};
|
|
20
|
+
var itemKeys = Object.keys(layerJS.items);
|
|
21
|
+
var correctItemId = '';
|
|
22
|
+
for (var i = 0; i < itemKeys.length; i++) {
|
|
23
|
+
var it = layerJS.items[itemKeys[i]];
|
|
24
|
+
// Join key: scene_cabinet_id (instance id).
|
|
25
|
+
if (!!(ccdf !== null && ccdf !== void 0 && ccdf.scene_cabinet_id) && (it === null || it === void 0 ? void 0 : it.id) === ccdf.scene_cabinet_id) correctItemId = layerJS.items[itemKeys[i]].id;
|
|
26
|
+
}
|
|
27
|
+
var cd = layerJS.items[correctItemId];
|
|
28
|
+
if (cd && !!(ccdf !== null && ccdf !== void 0 && ccdf.scene_cabinet_id) && (cd === null || cd === void 0 ? void 0 : cd.id) === ccdf.scene_cabinet_id) {
|
|
29
|
+
if (!isEmpty(ccdf === null || ccdf === void 0 ? void 0 : ccdf.id)) {
|
|
30
|
+
cdfId = ccdf.id;
|
|
31
|
+
}
|
|
32
|
+
var assets3d = Array.isArray(ccdf === null || ccdf === void 0 ? void 0 : ccdf.assets3d) ? ccdf.assets3d : [];
|
|
33
|
+
var updatedAssets3D = _toConsumableArray(assets3d);
|
|
34
|
+
|
|
35
|
+
// Always set base cabinet gltf even when there are no door/drawer assets.
|
|
36
|
+
// This ensures we can render a naked cabinet (base-only) for unsupported door styles.
|
|
37
|
+
structure.base = (ccdf === null || ccdf === void 0 ? void 0 : ccdf.gltf) || cd.gltf;
|
|
38
|
+
|
|
39
|
+
// make structure (augment assets3d with door handles)
|
|
40
|
+
assets3d.forEach(function (asItem) {
|
|
41
|
+
// make door handle
|
|
42
|
+
if (!isEmpty(asItem === null || asItem === void 0 ? void 0 : asItem.placeholder_name)) {
|
|
43
|
+
var phName = asItem.placeholder_name;
|
|
44
|
+
if (phName.includes('door_')) {
|
|
45
|
+
var doorHandleName = phName.slice(0, phName.length - 2) + '_handle' + phName.slice(phName.length - 2);
|
|
46
|
+
updatedAssets3D.push({
|
|
47
|
+
placeholder_name: doorHandleName,
|
|
48
|
+
gltf: layerJS.doorHandle
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
updatedAssets3D.forEach(function (asitem) {
|
|
54
|
+
if (!isEmpty(asitem === null || asitem === void 0 ? void 0 : asitem.placeholder_name)) {
|
|
55
|
+
// make the structure using placeholder_name and gltf
|
|
56
|
+
var phName = asitem.placeholder_name;
|
|
57
|
+
if (!phName.includes('_handle_') && !phName.includes('sink')) {
|
|
58
|
+
phName = 'base_' + phName;
|
|
59
|
+
}
|
|
60
|
+
structure[phName] = asitem.gltf;
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
// make tempPlaceholders
|
|
64
|
+
// Only push when we have at least a base cabinet gltf to render.
|
|
65
|
+
if (!isEmpty(structure === null || structure === void 0 ? void 0 : structure.base)) {
|
|
66
|
+
tempPlaceholders.push({
|
|
67
|
+
structure: structure,
|
|
68
|
+
id: cdfId
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
// make structure_json
|
|
72
|
+
structure_json = {
|
|
73
|
+
tempPlaceholders: tempPlaceholders
|
|
74
|
+
};
|
|
75
|
+
// make cabinet definition using structure_json and catalog
|
|
76
|
+
cabinetDefinition = {
|
|
77
|
+
type: cd.category,
|
|
78
|
+
itemID: cd.itemID,
|
|
79
|
+
name: cd.name,
|
|
80
|
+
long_name: cd.long_name,
|
|
81
|
+
sizeinfo: cd.sizeinfo,
|
|
82
|
+
description: cd.description,
|
|
83
|
+
prototype: cd.prototype,
|
|
84
|
+
base: cd.base,
|
|
85
|
+
shape_svg: cd.shape_svg,
|
|
86
|
+
// If host provides cabinet base gltf/bin at CCDF top-level, prefer it.
|
|
87
|
+
gltf: (ccdf === null || ccdf === void 0 ? void 0 : ccdf.gltf) || cd.gltf,
|
|
88
|
+
bin: (ccdf === null || ccdf === void 0 ? void 0 : ccdf.bin) || (cd === null || cd === void 0 ? void 0 : cd.bin),
|
|
89
|
+
structure_json: structure_json,
|
|
90
|
+
layoutpos: cd.layoutpos,
|
|
91
|
+
is_corner: cd.is_corner,
|
|
92
|
+
obj_property: cd.obj_property,
|
|
93
|
+
outline: cd.outline
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
// make cabinet definition list using cabinetDefinition
|
|
97
|
+
cabinetDefinitionList.push(cabinetDefinition);
|
|
98
|
+
});
|
|
99
|
+
return cabinetDefinitionList;
|
|
100
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { isEmpty } from "../../../components/viewer2d/utils";
|
|
2
|
+
export function mapFromCCDFToCDS(ccdf_list) {
|
|
3
|
+
var sceneItems = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
4
|
+
// This function make CDS from CCDF_List
|
|
5
|
+
// `sceneItems` (optional) lets us map CCDF rows back onto placed scene items
|
|
6
|
+
// using stable identity (long_name), because host `cabinet_id` can vary per doorstyle.
|
|
7
|
+
var itemsArray = sceneItems ? Array.isArray(sceneItems) ? sceneItems : Object.values(sceneItems) : null;
|
|
8
|
+
var itemCDSList = [];
|
|
9
|
+
ccdf_list === null || ccdf_list === void 0 || ccdf_list.forEach(function (asItem) {
|
|
10
|
+
// IMPORTANT: DIY-834-43
|
|
11
|
+
// `itemCDSData` must be recreated per asItem. Reusing it across iterations
|
|
12
|
+
// can leak one cabinet's door/drawer mappings into another.
|
|
13
|
+
var itemCDSData = {};
|
|
14
|
+
var cabitnetDoorStyleId;
|
|
15
|
+
if (!isEmpty(asItem === null || asItem === void 0 ? void 0 : asItem.id)) {
|
|
16
|
+
cabitnetDoorStyleId = asItem.id;
|
|
17
|
+
}
|
|
18
|
+
asItem === null || asItem === void 0 || asItem.assets3d.forEach(function (as) {
|
|
19
|
+
if (!isEmpty(as === null || as === void 0 ? void 0 : as.placeholder_name) && !isEmpty(as === null || as === void 0 ? void 0 : as.gltf)) {
|
|
20
|
+
var updatedName = 'base_' + (as === null || as === void 0 ? void 0 : as.placeholder_name) + '_gltf';
|
|
21
|
+
itemCDSData[updatedName] = as === null || as === void 0 ? void 0 : as.gltf;
|
|
22
|
+
}
|
|
23
|
+
itemCDSData['is_euro_cds'] = !isEmpty(as === null || as === void 0 ? void 0 : as.is_euro_cds) ? as.is_euro_cds : 0;
|
|
24
|
+
itemCDSData['euro_shape_svg'] = !isEmpty(as === null || as === void 0 ? void 0 : as.euro_shape_svg) ? as.is_euro_cds : null;
|
|
25
|
+
itemCDSData['euro_width'] = !isEmpty(as === null || as === void 0 ? void 0 : as.euro_width) ? as.is_euro_cds : null;
|
|
26
|
+
itemCDSData['euro_height'] = !isEmpty(as === null || as === void 0 ? void 0 : as.euro_height) ? as.is_euro_cds : null;
|
|
27
|
+
itemCDSData['euro_length'] = !isEmpty(as === null || as === void 0 ? void 0 : as.euro_length) ? as.is_euro_cds : null;
|
|
28
|
+
});
|
|
29
|
+
var data = [];
|
|
30
|
+
data.push(itemCDSData);
|
|
31
|
+
|
|
32
|
+
// Prefer stable join key: long_name -> scene item's itemID.
|
|
33
|
+
// Fall back to host cabinet_id for backward compatibility.
|
|
34
|
+
var resolvedItemID = asItem === null || asItem === void 0 ? void 0 : asItem.cabinet_id;
|
|
35
|
+
if (itemsArray) {
|
|
36
|
+
var match = itemsArray.find(function (it) {
|
|
37
|
+
return it.id === asItem.scene_cabinet_id;
|
|
38
|
+
});
|
|
39
|
+
if (match !== null && match !== void 0 && match.itemID) resolvedItemID = match.itemID;
|
|
40
|
+
}
|
|
41
|
+
itemCDSList.push({
|
|
42
|
+
itemID: resolvedItemID,
|
|
43
|
+
long_name: asItem === null || asItem === void 0 ? void 0 : asItem.long_name,
|
|
44
|
+
data: data,
|
|
45
|
+
cabinet_door_style_id: cabitnetDoorStyleId
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
return itemCDSList;
|
|
49
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
import { DEFAULT_INTERIOR_URL } from "../../../constants";
|
|
5
|
+
import { isEmpty } from "../../../utils/helper";
|
|
6
|
+
export function mapChangeDoorStyleEvent(evt, state) {
|
|
7
|
+
var _evt$payload, _layer$toJS;
|
|
8
|
+
if (isEmpty(evt)) return null;
|
|
9
|
+
var targetDoorStyle = evt === null || evt === void 0 || (_evt$payload = evt.payload) === null || _evt$payload === void 0 ? void 0 : _evt$payload.doorStyle;
|
|
10
|
+
if (isEmpty(targetDoorStyle)) return evt;
|
|
11
|
+
var layerId = state.getIn(['scene', 'selectedLayer']);
|
|
12
|
+
var layer = state.getIn(['scene', 'layers', layerId]);
|
|
13
|
+
if (isEmpty(layer)) return evt;
|
|
14
|
+
var handleTexture = layer.get('doorHandle');
|
|
15
|
+
var counterToptexture = layer === null || layer === void 0 || (_layer$toJS = layer.toJS()) === null || _layer$toJS === void 0 || (_layer$toJS = _layer$toJS.counterTop) === null || _layer$toJS === void 0 ? void 0 : _layer$toJS.uri;
|
|
16
|
+
|
|
17
|
+
// make doorStyles and update the doorStyle payload
|
|
18
|
+
var Max_PH = 9;
|
|
19
|
+
var doorStyles = {
|
|
20
|
+
base: targetDoorStyle.texture,
|
|
21
|
+
counttop: counterToptexture,
|
|
22
|
+
interior: DEFAULT_INTERIOR_URL
|
|
23
|
+
};
|
|
24
|
+
for (var i = 1; i <= Max_PH; i++) {
|
|
25
|
+
doorStyles['base_door_' + i] = targetDoorStyle.texture;
|
|
26
|
+
doorStyles['base_fixed_drawer_door_' + i] = targetDoorStyle.texture;
|
|
27
|
+
doorStyles['base_drawer_' + i] = targetDoorStyle.texture;
|
|
28
|
+
doorStyles['base_drawer_door_' + i] = targetDoorStyle.texture;
|
|
29
|
+
doorStyles['door_handle_' + i] = handleTexture;
|
|
30
|
+
doorStyles['fixed_drawer_door_handle_' + i] = handleTexture;
|
|
31
|
+
doorStyles['drawer_door_handle_' + i] = handleTexture;
|
|
32
|
+
}
|
|
33
|
+
evt.payload.doorStyle = _objectSpread(_objectSpread({}, targetDoorStyle), {}, {
|
|
34
|
+
doorStyles: doorStyles
|
|
35
|
+
});
|
|
36
|
+
return evt;
|
|
37
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
import { DEFAULT_DOOR_HANDLE_TEXTURE_URL, DEFAULT_INTERIOR_URL } from "../../../constants";
|
|
5
|
+
import { isEmpty } from "../../../utils/helper";
|
|
6
|
+
export function mapLoadProjectEvent(evt, state) {
|
|
7
|
+
// preprocessing for loading project
|
|
8
|
+
// this function make doorStyles using item's doorStyle
|
|
9
|
+
if (isEmpty(evt)) return null;
|
|
10
|
+
var layerId = evt.payload.layers['layer-1'].id;
|
|
11
|
+
var layer = evt.payload.layers;
|
|
12
|
+
var itemKeys = Object.keys(layer[layerId].items);
|
|
13
|
+
if (isEmpty(layer)) return evt;
|
|
14
|
+
var handleTexture = !isEmpty(layer.doorHandle) ? layer.doorHandle : DEFAULT_DOOR_HANDLE_TEXTURE_URL;
|
|
15
|
+
var counterToptexture = layer.counterTop;
|
|
16
|
+
// make doorStyles and update the doorStyle payload
|
|
17
|
+
var Max_PH = 9;
|
|
18
|
+
for (var i = 0; i < itemKeys.length; i++) {
|
|
19
|
+
var item = layer[layerId].items[itemKeys[i]];
|
|
20
|
+
var doorStyle = item.doorStyle;
|
|
21
|
+
var doorStyles = {
|
|
22
|
+
base: doorStyle.texture,
|
|
23
|
+
counttop: counterToptexture,
|
|
24
|
+
interior: DEFAULT_INTERIOR_URL
|
|
25
|
+
};
|
|
26
|
+
for (var _i = 1; _i <= Max_PH; _i++) {
|
|
27
|
+
doorStyles['base_door_' + _i] = doorStyle.texture;
|
|
28
|
+
doorStyles['base_fixed_drawer_door_' + _i] = doorStyle.texture;
|
|
29
|
+
doorStyles['base_drawer_' + _i] = doorStyle.texture;
|
|
30
|
+
doorStyles['base_drawer_door_' + _i] = doorStyle.texture;
|
|
31
|
+
doorStyles['door_handle_' + _i] = handleTexture;
|
|
32
|
+
doorStyles['fixed_drawer_door_handle_' + _i] = handleTexture;
|
|
33
|
+
doorStyles['drawer_door_handle_' + _i] = handleTexture;
|
|
34
|
+
}
|
|
35
|
+
item.doorStyle = _objectSpread(_objectSpread({}, doorStyle), {}, {
|
|
36
|
+
doorStyles: doorStyles
|
|
37
|
+
});
|
|
38
|
+
layer[layerId].items[itemKeys[i]] = item;
|
|
39
|
+
}
|
|
40
|
+
return evt;
|
|
41
|
+
}
|
|
42
|
+
export function updateProjectWithCDSList(project, cdsList) {
|
|
43
|
+
//This function updates the project json using CDSList
|
|
44
|
+
if (isEmpty(project) || isEmpty(cdsList)) return project;
|
|
45
|
+
var layerId = project.layers['layer-1'].id;
|
|
46
|
+
var layer = project.layers;
|
|
47
|
+
var itemKeys = Object.keys(layer[layerId].items);
|
|
48
|
+
if (isEmpty(itemKeys)) return project;
|
|
49
|
+
var _loop = function _loop(i) {
|
|
50
|
+
cdsList.forEach(function (cds) {
|
|
51
|
+
var _layer$layerId;
|
|
52
|
+
if (((_layer$layerId = layer[layerId]) === null || _layer$layerId === void 0 || (_layer$layerId = _layer$layerId.items[itemKeys[i]]) === null || _layer$layerId === void 0 ? void 0 : _layer$layerId.itemID) === (cds === null || cds === void 0 ? void 0 : cds.itemID)) {
|
|
53
|
+
layer[layerId].items[itemKeys[i]].doorStyle.cds = cds;
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
for (var i = 0; i < itemKeys.length; i++) {
|
|
58
|
+
_loop(i);
|
|
59
|
+
}
|
|
60
|
+
project.layers = layer;
|
|
61
|
+
return project;
|
|
62
|
+
}
|