kitchen-simulator 7.0.10-react-18 → 10.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/AppContext.js +1 -4
- package/es/LiteKitchenConfigurator.js +69 -26
- package/es/LiteRenderer.js +17 -67
- 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/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 +3 -22
- package/es/class/area.js +0 -1
- package/es/class/export.js +1 -3
- package/es/class/item.js +180 -86
- package/es/class/project.js +17 -21
- package/es/components/content.js +3 -1
- 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 +160 -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 +1 -5
- package/es/components/viewer2d/viewer2d.js +564 -506
- package/es/components/viewer3d/front3D.js +1 -2
- package/es/components/viewer3d/pointer-lock-navigation.js +0 -90
- package/es/components/viewer3d/scene-creator.js +80 -47
- 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 +37 -22
- package/es/constants/catalog/skinPanel.js +9 -0
- package/es/constants.js +18 -7
- package/es/{WorkSpaceOriginal.js → devLiteRenderer.js} +228 -174
- package/es/events/external/handleExternalEvent.js +140 -0
- package/es/{utils/isolate-event-handler.js → events/external/handleExternalEvent.util.js} +87 -593
- package/es/events/external/handlers.addItem.js +47 -0
- package/es/events/external/handlers.changeDoorStyle.js +139 -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 +37 -87
- package/es/mappings/external-events/mapExternalEventPayload.js +28 -0
- package/es/mappings/external-events/mappers/addItemMapper.js +95 -0
- package/es/mappings/external-events/mappers/ccdfMapper.js +86 -0
- package/es/mappings/external-events/mappers/ccdfToCDSMapper.js +31 -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/objects/immutable.js +3 -0
- package/es/utils/convert-units-lite.js +9 -0
- package/es/utils/geometry.js +598 -78
- package/es/utils/helper.js +45 -30
- package/es/utils/history.js +13 -1
- package/es/utils/molding.js +12 -241
- package/es/utils/name-generator.js +0 -3
- package/es/utils/skinPanelEngine.js +526 -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/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 +1597 -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 +1985 -0
- package/lib/class/layer.js +670 -0
- package/lib/class/line.js +1238 -0
- package/lib/class/project.js +949 -0
- package/lib/class/vertex.js +205 -0
- package/lib/components/content.js +148 -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 +245 -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 +207 -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 +3886 -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 +2676 -0
- package/lib/constants/catalog/skinPanel.js +15 -0
- package/lib/constants.js +790 -0
- package/lib/devLiteRenderer.js +903 -0
- package/lib/events/external/handleExternalEvent.js +147 -0
- package/lib/events/external/handleExternalEvent.util.js +1127 -0
- package/lib/events/external/handlers.addItem.js +54 -0
- package/lib/events/external/handlers.changeDoorStyle.js +146 -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 +101 -0
- package/lib/mappings/external-events/mappers/ccdfMapper.js +93 -0
- package/lib/mappings/external-events/mappers/ccdfToCDSMapper.js +37 -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/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 +3233 -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 +490 -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 +534 -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/catalog/lines/wall/textures/bricks-normal2.jpg → lib/catalog/lines/wall/textures/painted-normal.jpg} +0 -0
package/es/index.js
CHANGED
|
@@ -15,7 +15,6 @@ import React from 'react';
|
|
|
15
15
|
import * as Three from 'three';
|
|
16
16
|
import LiteRenderer from "./LiteRenderer";
|
|
17
17
|
import { createRoot } from 'react-dom/client';
|
|
18
|
-
import { shallowEqualViewer } from "./components/viewer2d/utils";
|
|
19
18
|
var ROOT_KEY = '__kitchenSimulatorRoot__';
|
|
20
19
|
var API_KEY = '__kitchenSimulatorApi__';
|
|
21
20
|
function nextFrame() {
|
|
@@ -141,14 +140,8 @@ function installGltfTracker() {
|
|
|
141
140
|
if (g.inFlight < 0) g.inFlight = 0;
|
|
142
141
|
notify();
|
|
143
142
|
_this.removeEventListener('loadend', _done);
|
|
144
|
-
_this.removeEventListener('error', _done);
|
|
145
|
-
_this.removeEventListener('abort', _done);
|
|
146
|
-
_this.removeEventListener('timeout', _done);
|
|
147
143
|
};
|
|
148
144
|
this.addEventListener('loadend', _done);
|
|
149
|
-
this.addEventListener('error', _done);
|
|
150
|
-
this.addEventListener('abort', _done);
|
|
151
|
-
this.addEventListener('timeout', _done);
|
|
152
145
|
}
|
|
153
146
|
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
154
147
|
args[_key2] = arguments[_key2];
|
|
@@ -247,11 +240,13 @@ function installGltfTracker() {
|
|
|
247
240
|
var _ref3,
|
|
248
241
|
_ref3$timeoutMs,
|
|
249
242
|
timeoutMs,
|
|
243
|
+
start,
|
|
250
244
|
_args4 = arguments;
|
|
251
245
|
return _regeneratorRuntime.wrap(function (_context4) {
|
|
252
246
|
while (1) switch (_context4.prev = _context4.next) {
|
|
253
247
|
case 0:
|
|
254
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();
|
|
255
250
|
_context4.next = 1;
|
|
256
251
|
return waitStableIdle2Frames();
|
|
257
252
|
case 1:
|
|
@@ -263,50 +258,38 @@ function installGltfTracker() {
|
|
|
263
258
|
case 2:
|
|
264
259
|
return _context4.abrupt("return", new Promise(function (resolve, reject) {
|
|
265
260
|
var unsub = null;
|
|
266
|
-
var finished = false;
|
|
267
|
-
var finishOk = function finishOk() {
|
|
268
|
-
if (finished) return;
|
|
269
|
-
finished = true;
|
|
270
|
-
if (unsub) unsub();
|
|
271
|
-
clearTimeout(timer);
|
|
272
|
-
resolve(true);
|
|
273
|
-
};
|
|
274
|
-
var finishErr = function finishErr(err) {
|
|
275
|
-
if (finished) return;
|
|
276
|
-
finished = true;
|
|
277
|
-
if (unsub) unsub();
|
|
278
|
-
clearTimeout(timer);
|
|
279
|
-
reject(err);
|
|
280
|
-
};
|
|
281
|
-
|
|
282
|
-
// ✅ Real timeout no matter what happens with inFlight changes
|
|
283
|
-
var timer = setTimeout(function () {
|
|
284
|
-
finishErr(new Error('3D assets did not become idle within timeout'));
|
|
285
|
-
}, timeoutMs);
|
|
286
261
|
var onChange = /*#__PURE__*/function () {
|
|
287
262
|
var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3(count) {
|
|
288
263
|
var stable;
|
|
289
264
|
return _regeneratorRuntime.wrap(function (_context3) {
|
|
290
265
|
while (1) switch (_context3.prev = _context3.next) {
|
|
291
266
|
case 0:
|
|
292
|
-
if (!
|
|
267
|
+
if (!(count !== 0)) {
|
|
293
268
|
_context3.next = 1;
|
|
294
269
|
break;
|
|
295
270
|
}
|
|
271
|
+
if (Date.now() - start > timeoutMs) {
|
|
272
|
+
if (unsub) unsub();
|
|
273
|
+
reject(new Error('3D assets did not become idle within timeout'));
|
|
274
|
+
}
|
|
296
275
|
return _context3.abrupt("return");
|
|
297
276
|
case 1:
|
|
298
|
-
|
|
299
|
-
|
|
277
|
+
_context3.next = 2;
|
|
278
|
+
return waitStableIdle2Frames();
|
|
279
|
+
case 2:
|
|
280
|
+
stable = _context3.sent;
|
|
281
|
+
if (!stable) {
|
|
282
|
+
_context3.next = 3;
|
|
300
283
|
break;
|
|
301
284
|
}
|
|
285
|
+
if (unsub) unsub();
|
|
286
|
+
resolve(true);
|
|
302
287
|
return _context3.abrupt("return");
|
|
303
|
-
case 2:
|
|
304
|
-
_context3.next = 3;
|
|
305
|
-
return waitStableIdle2Frames();
|
|
306
288
|
case 3:
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
289
|
+
if (Date.now() - start > timeoutMs) {
|
|
290
|
+
if (unsub) unsub();
|
|
291
|
+
reject(new Error('3D assets did not become idle within timeout'));
|
|
292
|
+
}
|
|
310
293
|
case 4:
|
|
311
294
|
case "end":
|
|
312
295
|
return _context3.stop();
|
|
@@ -369,7 +352,6 @@ export function renderKitchenSimulator(container) {
|
|
|
369
352
|
|
|
370
353
|
// ✅ Reuse root
|
|
371
354
|
var root = container[ROOT_KEY];
|
|
372
|
-
var latestViewer2D = null;
|
|
373
355
|
if (!root) {
|
|
374
356
|
root = createRoot(container);
|
|
375
357
|
container[ROOT_KEY] = root;
|
|
@@ -454,7 +436,7 @@ export function renderKitchenSimulator(container) {
|
|
|
454
436
|
}
|
|
455
437
|
function _drain() {
|
|
456
438
|
_drain = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee8() {
|
|
457
|
-
var item
|
|
439
|
+
var item;
|
|
458
440
|
return _regeneratorRuntime.wrap(function (_context8) {
|
|
459
441
|
while (1) switch (_context8.prev = _context8.next) {
|
|
460
442
|
case 0:
|
|
@@ -468,7 +450,7 @@ export function renderKitchenSimulator(container) {
|
|
|
468
450
|
_context8.prev = 2;
|
|
469
451
|
case 3:
|
|
470
452
|
if (!(!destroyed && queue.length)) {
|
|
471
|
-
_context8.next =
|
|
453
|
+
_context8.next = 8;
|
|
472
454
|
break;
|
|
473
455
|
}
|
|
474
456
|
if (setExternalEventFn) {
|
|
@@ -488,31 +470,21 @@ export function renderKitchenSimulator(container) {
|
|
|
488
470
|
pendingMarkers["delete"](item.token);
|
|
489
471
|
return _context8.abrupt("continue", 3);
|
|
490
472
|
case 6:
|
|
491
|
-
_context8.prev = 6;
|
|
492
473
|
setExternalEventFn(item);
|
|
493
474
|
_context8.next = 7;
|
|
494
475
|
return settle(item);
|
|
495
476
|
case 7:
|
|
496
|
-
_context8.next =
|
|
477
|
+
_context8.next = 3;
|
|
497
478
|
break;
|
|
498
479
|
case 8:
|
|
499
480
|
_context8.prev = 8;
|
|
500
|
-
_t = _context8["catch"](6);
|
|
501
|
-
console.error('[kitchen-simulator] event failed:', item, _t);
|
|
502
|
-
// IMPORTANT: continue so we can eventually consume the marker
|
|
503
|
-
// Optionally you can decide to clear remaining queue here.
|
|
504
|
-
case 9:
|
|
505
|
-
_context8.next = 3;
|
|
506
|
-
break;
|
|
507
|
-
case 10:
|
|
508
|
-
_context8.prev = 10;
|
|
509
481
|
draining = false;
|
|
510
|
-
return _context8.finish(
|
|
511
|
-
case
|
|
482
|
+
return _context8.finish(8);
|
|
483
|
+
case 9:
|
|
512
484
|
case "end":
|
|
513
485
|
return _context8.stop();
|
|
514
486
|
}
|
|
515
|
-
}, _callee8, null, [[2,,
|
|
487
|
+
}, _callee8, null, [[2,, 8, 9]]);
|
|
516
488
|
}));
|
|
517
489
|
return _drain.apply(this, arguments);
|
|
518
490
|
}
|
|
@@ -550,12 +522,7 @@ export function renderKitchenSimulator(container) {
|
|
|
550
522
|
key: "render",
|
|
551
523
|
value: function render() {
|
|
552
524
|
return /*#__PURE__*/React.createElement(LiteRenderer, _extends({}, this.props, {
|
|
553
|
-
externalEvent: this.state.externalEvent
|
|
554
|
-
onViewer2DChange: function onViewer2DChange(v) {
|
|
555
|
-
if (!shallowEqualViewer(v, latestViewer2D)) {
|
|
556
|
-
latestViewer2D = v;
|
|
557
|
-
}
|
|
558
|
-
}
|
|
525
|
+
externalEvent: this.state.externalEvent
|
|
559
526
|
}));
|
|
560
527
|
}
|
|
561
528
|
}]);
|
|
@@ -564,9 +531,6 @@ export function renderKitchenSimulator(container) {
|
|
|
564
531
|
__render: function __render(nextProps) {
|
|
565
532
|
root.render(/*#__PURE__*/React.createElement(Wrapper, nextProps));
|
|
566
533
|
},
|
|
567
|
-
getViewer2D: function getViewer2D() {
|
|
568
|
-
return latestViewer2D;
|
|
569
|
-
},
|
|
570
534
|
// ✅ host can query current inFlight
|
|
571
535
|
getGltfInFlight: function getGltfInFlight() {
|
|
572
536
|
return gltfTracker.getInFlight();
|
|
@@ -576,9 +540,6 @@ export function renderKitchenSimulator(container) {
|
|
|
576
540
|
return gltfTracker.subscribe(cb);
|
|
577
541
|
},
|
|
578
542
|
sendExternalEvents: function sendExternalEvents(eventOrEvents) {
|
|
579
|
-
var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
580
|
-
_ref5$timeoutMs = _ref5.timeoutMs,
|
|
581
|
-
timeoutMs = _ref5$timeoutMs === void 0 ? 60000 : _ref5$timeoutMs;
|
|
582
543
|
var events = Array.isArray(eventOrEvents) ? eventOrEvents : [eventOrEvents];
|
|
583
544
|
var _iterator2 = _createForOfIteratorHelper(events),
|
|
584
545
|
_step2;
|
|
@@ -602,47 +563,36 @@ export function renderKitchenSimulator(container) {
|
|
|
602
563
|
|
|
603
564
|
// resolve when marker cleared
|
|
604
565
|
return new Promise(function (resolve) {
|
|
605
|
-
var start = Date.now();
|
|
606
566
|
var check = /*#__PURE__*/function () {
|
|
607
|
-
var
|
|
567
|
+
var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee6() {
|
|
608
568
|
return _regeneratorRuntime.wrap(function (_context6) {
|
|
609
569
|
while (1) switch (_context6.prev = _context6.next) {
|
|
610
570
|
case 0:
|
|
611
571
|
if (destroyed) {
|
|
612
|
-
_context6.next =
|
|
613
|
-
break;
|
|
614
|
-
}
|
|
615
|
-
if (pendingMarkers.has(token)) {
|
|
616
|
-
_context6.next = 1;
|
|
572
|
+
_context6.next = 3;
|
|
617
573
|
break;
|
|
618
574
|
}
|
|
619
|
-
|
|
620
|
-
return _context6.abrupt("return");
|
|
621
|
-
case 1:
|
|
622
|
-
if (!(Date.now() - start > timeoutMs)) {
|
|
575
|
+
if (!pendingMarkers.has(token)) {
|
|
623
576
|
_context6.next = 2;
|
|
624
577
|
break;
|
|
625
578
|
}
|
|
626
|
-
|
|
627
|
-
pendingMarkers["delete"](token); // fail-open
|
|
628
|
-
resolve(false);
|
|
629
|
-
return _context6.abrupt("return");
|
|
630
|
-
case 2:
|
|
631
|
-
_context6.next = 3;
|
|
579
|
+
_context6.next = 1;
|
|
632
580
|
return nextFrame();
|
|
581
|
+
case 1:
|
|
582
|
+
return _context6.abrupt("continue", 0);
|
|
583
|
+
case 2:
|
|
584
|
+
resolve(true);
|
|
585
|
+
return _context6.abrupt("return");
|
|
633
586
|
case 3:
|
|
634
|
-
_context6.next = 0;
|
|
635
|
-
break;
|
|
636
|
-
case 4:
|
|
637
587
|
resolve(false);
|
|
638
|
-
case
|
|
588
|
+
case 4:
|
|
639
589
|
case "end":
|
|
640
590
|
return _context6.stop();
|
|
641
591
|
}
|
|
642
592
|
}, _callee6);
|
|
643
593
|
}));
|
|
644
594
|
return function check() {
|
|
645
|
-
return
|
|
595
|
+
return _ref5.apply(this, arguments);
|
|
646
596
|
};
|
|
647
597
|
}();
|
|
648
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,95 @@
|
|
|
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
|
+
// nothing to map; keep event as-is
|
|
39
|
+
return evtPayload;
|
|
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
|
+
assets3d.forEach(function (asItem) {
|
|
50
|
+
// make door handle
|
|
51
|
+
if (!isEmpty(asItem === null || asItem === void 0 ? void 0 : asItem.placeholder_name)) {
|
|
52
|
+
var phName = asItem.placeholder_name;
|
|
53
|
+
if (phName.includes('door_')) {
|
|
54
|
+
var doorHandleName = phName.slice(0, phName.length - 2) + '_handle' + phName.slice(phName.length - 2);
|
|
55
|
+
updatedAssets3D.push({
|
|
56
|
+
placeholder_name: doorHandleName,
|
|
57
|
+
gltf: layer.get('doorHandle')
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
// second pass: build structure + placeholders from full asset list
|
|
64
|
+
updatedAssets3D.forEach(function (asitem) {
|
|
65
|
+
var _evtPayload4;
|
|
66
|
+
// set base field with gltf
|
|
67
|
+
tempStructure.base = (_evtPayload4 = evtPayload) === null || _evtPayload4 === void 0 ? void 0 : _evtPayload4.gltf;
|
|
68
|
+
if (!isEmpty(asitem === null || asitem === void 0 ? void 0 : asitem.placeholder_name)) {
|
|
69
|
+
// make the structure using placeholder_name and gltf
|
|
70
|
+
var phName = asitem.placeholder_name;
|
|
71
|
+
if (!phName.includes('_handle_') && !phName.includes('sink')) {
|
|
72
|
+
phName = 'base_' + phName;
|
|
73
|
+
}
|
|
74
|
+
tempStructure[phName] = asitem.gltf;
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
// make the tempPlaceholders using structure and id
|
|
79
|
+
tempPlaceholders.push({
|
|
80
|
+
id: cabinetDoorFinishId,
|
|
81
|
+
structure: tempStructure
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
// make the structure_json using animation and tempPlaceholders
|
|
85
|
+
var structure_json = {
|
|
86
|
+
animation: animation,
|
|
87
|
+
tempPlaceholders: tempPlaceholders
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
// rebuild the cabinet payload with structure_json
|
|
91
|
+
evtPayload = _objectSpread(_objectSpread({}, evtPayload), {}, {
|
|
92
|
+
structure_json: structure_json
|
|
93
|
+
});
|
|
94
|
+
return evtPayload;
|
|
95
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
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 tempPlaceholders = [];
|
|
10
|
+
var structure = {};
|
|
11
|
+
var cdfId;
|
|
12
|
+
var structure_json = {};
|
|
13
|
+
var cabinetDefinition = {};
|
|
14
|
+
var layerJS = toJSIfNeeded(layer);
|
|
15
|
+
ccdf_list === null || ccdf_list === void 0 || ccdf_list.forEach(function (ccdf) {
|
|
16
|
+
var itemKeys = Object.keys(layerJS.items);
|
|
17
|
+
var correctItemId = '';
|
|
18
|
+
for (var i = 0; i < itemKeys.length; i++) {
|
|
19
|
+
if (layerJS.items[itemKeys[i]].itemID === ccdf.cabinet_id) correctItemId = layerJS.items[itemKeys[i]].id;
|
|
20
|
+
}
|
|
21
|
+
var cd = layerJS.items[correctItemId];
|
|
22
|
+
if (cd.itemID === ccdf.cabinet_id) {
|
|
23
|
+
if (!isEmpty(ccdf === null || ccdf === void 0 ? void 0 : ccdf.id)) {
|
|
24
|
+
cdfId = ccdf.id;
|
|
25
|
+
}
|
|
26
|
+
var assets3d = ccdf === null || ccdf === void 0 ? void 0 : ccdf.assets3d;
|
|
27
|
+
var updatedAssets3D = _toConsumableArray(assets3d);
|
|
28
|
+
// make structure
|
|
29
|
+
assets3d.forEach(function (asItem) {
|
|
30
|
+
// make door handle
|
|
31
|
+
if (!isEmpty(asItem === null || asItem === void 0 ? void 0 : asItem.placeholder_name)) {
|
|
32
|
+
var phName = asItem.placeholder_name;
|
|
33
|
+
if (phName.includes('door_')) {
|
|
34
|
+
var doorHandleName = phName.slice(0, phName.length - 2) + '_handle' + phName.slice(phName.length - 2);
|
|
35
|
+
updatedAssets3D.push({
|
|
36
|
+
placeholder_name: doorHandleName,
|
|
37
|
+
gltf: layerJS.doorHandle
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
updatedAssets3D.forEach(function (asitem) {
|
|
43
|
+
// set base field with gltf
|
|
44
|
+
structure.base = cd.gltf;
|
|
45
|
+
if (!isEmpty(asitem === null || asitem === void 0 ? void 0 : asitem.placeholder_name)) {
|
|
46
|
+
// make the structure using placeholder_name and gltf
|
|
47
|
+
var phName = asitem.placeholder_name;
|
|
48
|
+
if (!phName.includes('_handle_') && !phName.includes('sink')) {
|
|
49
|
+
phName = 'base_' + phName;
|
|
50
|
+
}
|
|
51
|
+
structure[phName] = asitem.gltf;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
// make tempPlaceholders
|
|
55
|
+
tempPlaceholders.push({
|
|
56
|
+
structure: structure,
|
|
57
|
+
id: cdfId
|
|
58
|
+
});
|
|
59
|
+
// make structure_json
|
|
60
|
+
structure_json = {
|
|
61
|
+
tempPlaceholders: tempPlaceholders
|
|
62
|
+
};
|
|
63
|
+
// make cabinet definition using structure_json and catalog
|
|
64
|
+
cabinetDefinition = {
|
|
65
|
+
type: cd.category,
|
|
66
|
+
itemID: cd.itemID,
|
|
67
|
+
name: cd.name,
|
|
68
|
+
long_name: cd.long_name,
|
|
69
|
+
sizeinfo: cd.sizeinfo,
|
|
70
|
+
description: cd.description,
|
|
71
|
+
prototype: cd.prototype,
|
|
72
|
+
base: cd.base,
|
|
73
|
+
shape_svg: cd.shape_svg,
|
|
74
|
+
gltf: cd.gltf,
|
|
75
|
+
structure_json: structure_json,
|
|
76
|
+
layoutpos: cd.layoutpos,
|
|
77
|
+
is_corner: cd.is_corner,
|
|
78
|
+
obj_property: cd.obj_property,
|
|
79
|
+
outline: cd.outline
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
// make cabinet definition list using cabinetDefinition
|
|
83
|
+
cabinetDefinitionList.push(cabinetDefinition);
|
|
84
|
+
});
|
|
85
|
+
return cabinetDefinitionList;
|
|
86
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { isEmpty } from "../../../components/viewer2d/utils";
|
|
2
|
+
export function mapFromCCDFToCDS(ccdf_list) {
|
|
3
|
+
// This function make CDS from CCDF_List
|
|
4
|
+
var itemCDSList = [];
|
|
5
|
+
var itemCDSData = {};
|
|
6
|
+
var cabitnetDoorStyleId;
|
|
7
|
+
ccdf_list === null || ccdf_list === void 0 || ccdf_list.forEach(function (asItem) {
|
|
8
|
+
if (!isEmpty(asItem === null || asItem === void 0 ? void 0 : asItem.id)) {
|
|
9
|
+
cabitnetDoorStyleId = asItem.id;
|
|
10
|
+
}
|
|
11
|
+
asItem === null || asItem === void 0 || asItem.assets3d.forEach(function (as) {
|
|
12
|
+
if (!isEmpty(as === null || as === void 0 ? void 0 : as.placeholder_name) && !isEmpty(as === null || as === void 0 ? void 0 : as.gltf)) {
|
|
13
|
+
var updatedName = 'base_' + (as === null || as === void 0 ? void 0 : as.placeholder_name) + '_gltf';
|
|
14
|
+
itemCDSData[updatedName] = as === null || as === void 0 ? void 0 : as.gltf;
|
|
15
|
+
}
|
|
16
|
+
itemCDSData['is_euro_cds'] = !isEmpty(as === null || as === void 0 ? void 0 : as.is_euro_cds) ? as.is_euro_cds : 0;
|
|
17
|
+
itemCDSData['euro_shape_svg'] = !isEmpty(as === null || as === void 0 ? void 0 : as.euro_shape_svg) ? as.is_euro_cds : null;
|
|
18
|
+
itemCDSData['euro_width'] = !isEmpty(as === null || as === void 0 ? void 0 : as.euro_width) ? as.is_euro_cds : null;
|
|
19
|
+
itemCDSData['euro_height'] = !isEmpty(as === null || as === void 0 ? void 0 : as.euro_height) ? as.is_euro_cds : null;
|
|
20
|
+
itemCDSData['euro_length'] = !isEmpty(as === null || as === void 0 ? void 0 : as.euro_length) ? as.is_euro_cds : null;
|
|
21
|
+
});
|
|
22
|
+
var data = [];
|
|
23
|
+
data.push(itemCDSData);
|
|
24
|
+
itemCDSList.push({
|
|
25
|
+
itemID: asItem.cabinet_id,
|
|
26
|
+
data: data,
|
|
27
|
+
cabinet_door_style_id: cabitnetDoorStyleId
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
return itemCDSList;
|
|
31
|
+
}
|
|
@@ -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
|
+
}
|