@roomle/embedding-lib 5.25.0-alpha.1 → 5.25.0-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/docs/md/web/embedding/CHANGELOG.md +2 -28
  2. package/drag-in-DTA1FCDc.mjs +1 -0
  3. package/drag-in-DuufO5eB.mjs +138 -0
  4. package/from-custom-view-BdnViEhf.mjs +163 -0
  5. package/from-custom-view-DIYHP31u.mjs +1 -0
  6. package/from-website-CcDHgCCy.mjs +1 -0
  7. package/from-website-CktA6Icy.mjs +201 -0
  8. package/package.json +1 -1
  9. package/packages/embedding-lib/src/examples/homag-intelligence-example.d.ts +9 -0
  10. package/packages/embedding-lib/src/examples/utils/homag-intelligence/create-catalog.d.ts +1 -0
  11. package/packages/embedding-lib/src/examples/utils/homag-intelligence/default-api-options.d.ts +43 -0
  12. package/packages/embedding-lib/src/examples/utils/homag-intelligence/dom-helper.d.ts +13 -0
  13. package/packages/embedding-lib/src/examples/utils/homag-intelligence/drag-in.d.ts +3 -0
  14. package/packages/embedding-lib/src/examples/utils/homag-intelligence/overlay.d.ts +2 -0
  15. package/packages/embedding-lib/src/examples/utils/homag-intelligence/state.d.ts +14 -0
  16. package/packages/embedding-lib/src/examples/utils/homag-intelligence/util.d.ts +19 -0
  17. package/packages/embedding-lib/src/plugins/strategy/from-custom-view.d.ts +1 -0
  18. package/packages/web-sdk/packages/common-core/src/input/input-manager.d.ts +1 -0
  19. package/packages/web-sdk/packages/common-core/src/main.d.ts +2 -2
  20. package/packages/web-sdk/packages/common-core/src/static-files/environment-maps.d.ts +6 -7
  21. package/packages/web-sdk/packages/common-core/src/static-files/libs.d.ts +3 -1
  22. package/packages/web-sdk/packages/common-core/src/static-files/light-settings.d.ts +8 -6
  23. package/packages/web-sdk/packages/common-core/src/static-files/luts.d.ts +11 -9
  24. package/packages/web-sdk/packages/common-core/src/static-files/roomle-core.d.ts +8 -6
  25. package/packages/web-sdk/packages/common-core/src/utils/common-utils.d.ts +0 -1
  26. package/packages/web-sdk/packages/common-core/src/utils/init-data.d.ts +2 -0
  27. package/packages/web-sdk/packages/common-core/src/utils/shims.d.ts +6 -0
  28. package/packages/web-sdk/packages/common-core/src/webgl/renderer/pass/gbuffer-render-pass.d.ts +1 -1
  29. package/packages/web-sdk/packages/configurator-core/src/configurator.d.ts +1 -1
  30. package/packages/web-sdk/packages/configurator-core/src/roomle-configurator.d.ts +13 -0
  31. package/packages/web-sdk/packages/configurator-core/src/static-files/fonts.d.ts +4 -2
  32. package/packages/web-sdk/packages/configurator-core/src/static-files/geometries.d.ts +3 -1
  33. package/packages/web-sdk/packages/configurator-core/src/static-files/settings.d.ts +3 -1
  34. package/packages/web-sdk/packages/configurator-core/src/static-files/textures.d.ts +3 -1
  35. package/packages/web-sdk/packages/configurator-core/src/utils/animation/animation-value-map.d.ts +1 -0
  36. package/packages/web-sdk/packages/configurator-core/src/utils/component-dimensioning-helper.d.ts +3 -3
  37. package/packages/web-sdk/packages/configurator-core/src/utils/component-raycast-helper.d.ts +1 -1
  38. package/packages/web-sdk/packages/configurator-core/src/utils/dimensioning-helper.d.ts +1 -0
  39. package/packages/web-sdk/packages/configurator-core/src/utils/test-helpers/utils.d.ts +2 -2
  40. package/packages/web-sdk/packages/configurator-core/src/webgl/configurator-scene-manager.d.ts +4 -0
  41. package/packages/web-sdk/packages/glb-viewer-core/src/glb-viewer.d.ts +1 -1
  42. package/packages/web-sdk/packages/homag-intelligence/src/api.d.ts +22 -0
  43. package/packages/web-sdk/packages/homag-intelligence/src/callbacks.d.ts +37 -0
  44. package/packages/web-sdk/packages/homag-intelligence/src/emulator.d.ts +101 -0
  45. package/packages/web-sdk/packages/homag-intelligence/src/homag-intelligence.d.ts +28 -0
  46. package/packages/web-sdk/packages/homag-intelligence/src/loader.d.ts +24 -0
  47. package/packages/web-sdk/packages/homag-intelligence/src/model/oc-scripts-domain.model.d.ts +312 -0
  48. package/packages/web-sdk/packages/homag-intelligence/src/orders.d.ts +39 -0
  49. package/packages/web-sdk/packages/homag-intelligence/src/rml-plugin.d.ts +3 -0
  50. package/packages/web-sdk/packages/homag-intelligence/src/util.d.ts +5 -0
  51. package/packages/web-sdk/packages/material-viewer/src/material-viewer.d.ts +1 -1
  52. package/packages/web-sdk/packages/planner-core/src/planner.d.ts +1 -1
  53. package/packages/web-sdk/packages/planner-core/src/roomle-planner.d.ts +13 -1
  54. package/packages/web-sdk/packages/planner-core/src/webgl/planner-scene-manager.d.ts +1 -0
  55. package/packages/web-sdk/packages/test-helpers/unit/global-setup.d.ts +1 -1
  56. package/packages/web-sdk/packages/tools-core/src/tools-core.d.ts +1 -1
  57. package/packages/web-sdk/packages/typings/external-objects.d.ts +8 -0
  58. package/packages/web-sdk/packages/typings/planner.d.ts +1 -1
  59. package/packages/web-sdk/packages/workers/src/static-files/workers.d.ts +4 -2
  60. package/roomle-embedding-lib.es.js +306 -316
  61. package/roomle-embedding-lib.es.min.js +1 -1
  62. package/roomle-embedding-lib.umd.js +17 -17
  63. package/roomle-embedding-lib.umd.min.js +1 -1
  64. package/src/common/components/collection-view/-utils/collection-view-dynamic-components.d.ts +1 -1
  65. package/src/common/composables/use-configurator-api.d.ts +1 -1
  66. package/src/common/composables/use-core-instances.d.ts +1 -1
  67. package/src/common/composables/use-static-item-parameters.d.ts +1 -1
  68. package/src/common/utils/helper.d.ts +1 -1
  69. package/src/common/utils/parameters.d.ts +0 -1
  70. package/src/common/utils/types.d.ts +0 -7
  71. package/src/configurator/business-logic/roomle-sdk-wrapper.d.ts +2 -1
  72. package/src/configurator/embedding/exposed-api.d.ts +7 -1
  73. package/src/planner/components/overlays/ProductSettings.vue.d.ts +2 -2
  74. package/src/planner/components/overlays/product-settings/ProductPositions.vue.d.ts +2 -2
  75. package/src/planner/components/overlays/product-settings/ProductRotation.vue.d.ts +2 -2
  76. package/src/planner/components/overlays/product-settings/ProductSettingsInfos.vue.d.ts +2 -2
  77. package/src/planner/components/overlays/product-settings/ProductSize.vue.d.ts +2 -2
  78. package/src/planner/components/overlays/product-settings/ProductXYZChanger.vue.d.ts +2 -2
  79. package/src/planner/components/overlays/rooms/ConstructionVariants.vue.d.ts +2 -2
  80. package/src/planner/components/overlays/rooms/DoorParametersSetting.vue.d.ts +7 -7
  81. package/src/planner/components/overlays/rooms/ElementLengthScaling.vue.d.ts +1 -1
  82. package/src/planner/components/overlays/rooms/WindowParametersSetting.vue.d.ts +2 -2
  83. package/src/planner/components/utils/AssureConfiguratorHandlers.vue.d.ts +1 -1
  84. package/src/planner/components/utils/AssureSdkHandlers.vue.d.ts +1 -1
  85. package/src/planner/utils/planner-sidebar.d.ts +1 -1
  86. package/touch-drag-B5zCf87J.mjs +1 -0
  87. package/touch-drag-DXJTOrk5.mjs +146 -0
  88. package/drag-in-BWioG4OL.mjs +0 -1
  89. package/drag-in-D5QSQ86J.mjs +0 -141
  90. package/from-custom-view-BcXfK7VI.mjs +0 -163
  91. package/from-custom-view-DRAqJ-yY.mjs +0 -1
  92. package/from-website-B3kPg18n.mjs +0 -207
  93. package/from-website-DR93OSJD.mjs +0 -1
  94. package/packages/web-sdk/packages/acceptance-tests/src/utils/async-acceptance-test.d.ts +0 -3
  95. package/packages/web-sdk/packages/configurator-core/__acceptance__/boot.d.ts +0 -1
  96. package/packages/web-sdk/packages/vite-plugins/vite-plugin-auto-workers.d.ts +0 -8
  97. package/packages/web-sdk/packages/vite-plugins/vite-plugin-bundle-sw.d.ts +0 -10
  98. package/touch-drag-BEct6jbW.mjs +0 -1
  99. package/touch-drag-DNDPwZ-_.mjs +0 -149
@@ -0,0 +1,2 @@
1
+ export type RoomDesignerApiType = any;
2
+ export declare const initOverlayLogic: (roomDesignerApi: RoomDesignerApiType, posMode: boolean) => Promise<void>;
@@ -0,0 +1,14 @@
1
+ export declare const state: {
2
+ selection: {
3
+ type: any;
4
+ payload: any;
5
+ parameters: any[];
6
+ };
7
+ currentContext: string;
8
+ currentCustomView: any;
9
+ currentSidebar: any;
10
+ abortController: AbortController;
11
+ isBuildingCatalog: any;
12
+ waitForCatalog: () => Promise<void>;
13
+ };
14
+ export declare const resetSelectionState: () => void;
@@ -0,0 +1,19 @@
1
+ export declare const fetchJSONData: (url: string) => Promise<any>;
2
+ export declare const fetchDataWithAuthorization: (url: string, type: string, property: string) => Promise<Response>;
3
+ export declare const logMessage: (message: string, ...args: (string | null)[]) => void;
4
+ export declare const logApiCall: (message: string) => void;
5
+ export declare const logApiCallback: (message: string, ...args: (string | null)[]) => void;
6
+ export declare const logLink: (message: string, linkUrl: string) => void;
7
+ export declare class RenderQueue {
8
+ reRenders: number;
9
+ queue: Array<{
10
+ renderFn: any;
11
+ resolve: any;
12
+ reject: any;
13
+ }>;
14
+ isProcessing: boolean;
15
+ constructor();
16
+ enqueue(renderFn: any): Promise<unknown>;
17
+ processQueue(): Promise<void>;
18
+ }
19
+ export declare const getQueryParam: (key: string, url?: string) => string;
@@ -8,6 +8,7 @@ import { OnBeforeUpdateDragGhost } from '../../../../common/src/utils/drag';
8
8
  export declare class DragInFromCustomViewStrategy implements DragInStrategy {
9
9
  private _options;
10
10
  private _instance;
11
+ private _mainDomElement;
11
12
  private _viewName;
12
13
  private _currentCustomDrag;
13
14
  private _currentBb;
@@ -78,6 +78,7 @@ export default class InputManager extends EventDispatcher<InputEvent> implements
78
78
  constructor(creator: string);
79
79
  enableDragIn(dragEvent?: DragEvent): void;
80
80
  isMouseUp(): boolean;
81
+ forceMouseUp(): void;
81
82
  private _dragM;
82
83
  private _dragE;
83
84
  addEvents(element: HTMLElement): void;
@@ -86,7 +86,7 @@ export default abstract class Main implements LifeCycleCallbacks {
86
86
  protected abstract setupDependencies(): void;
87
87
  protected abstract cleanUpGlobals(): void;
88
88
  protected abstract cleanUpDependencies(): void;
89
- protected abstract bootFinished(): void;
89
+ protected abstract bootFinished(): Promise<void>;
90
90
  protected abstract getContextName(): string;
91
91
  abstract getApi(): ExternalEmbeddable;
92
92
  constructor(creator?: string);
@@ -94,7 +94,7 @@ export default abstract class Main implements LifeCycleCallbacks {
94
94
  private _setupCommonDependencies;
95
95
  private _cleanUpCommonGlobals;
96
96
  private _cleanUpCommonDependencies;
97
- boot(settings?: object): void;
97
+ boot(settings?: object): Promise<void>;
98
98
  protected lookup<T>(specifier: string, context?: string): T;
99
99
  teardown(): void;
100
100
  pause(): void;
@@ -1,7 +1,6 @@
1
- export { default as ENV_MAP_FILE_NAME } from '../../public/textures/env/roomle.envmap?url';
2
- export { default as ENV_32_MAP_FILE_NAME } from '../../public/textures/env/roomle32.envmap?url';
3
- export { default as ENV_64_MAP_FILE_NAME } from '../../public/textures/env/roomle64.envmap?url';
4
- export { default as ENV_HDR_256_FILE_NAME } from '../../public/textures/env/default_256.exr?url';
5
- export { default as ENV_HDR_1K_FILE_NAME } from '../../public/textures/env/default_1k.exr?url';
6
- export { default as ENV_LEGACY } from '../../public/textures/env/legacy_env.exr?url';
7
- export { default as PAPER_BACKGROUND_FILE_NAME } from '../../public/textures/paper_background.png?url';
1
+ import { default as ENV_HDR_256_FILE_NAME } from '../../public/textures/env/default_256.exr?no-inline?url';
2
+ import { default as ENV_HDR_1K_FILE_NAME } from '../../public/textures/env/default_1k.exr?no-inline?url';
3
+ import { default as ENV_LEGACY } from '../../public/textures/env/legacy_env.exr?no-inline?url';
4
+ import { default as PAPER_BACKGROUND_FILE_NAME } from '../../public/textures/paper_background.png?no-inline?url';
5
+
6
+ export { ENV_HDR_256_FILE_NAME, ENV_HDR_1K_FILE_NAME, ENV_LEGACY, PAPER_BACKGROUND_FILE_NAME };
@@ -1 +1,3 @@
1
- export { default as JS_ZIP_FILE_NAME } from 'jszip/dist/jszip.min.js?url';
1
+ import { default as JS_ZIP_FILE_NAME } from 'jszip/dist/jszip.min.js?no-inline?url';
2
+
3
+ export { JS_ZIP_FILE_NAME };
@@ -1,6 +1,8 @@
1
- export { default as LIGHT_SETTINGS_BAKED_FILE_NAME } from '../../public/predefined_lightsettings/baked.json?url';
2
- export { default as LIGHT_SETTINGS_CAMERA_FILE_NAME } from '../../public/predefined_lightsettings/camera.json?url';
3
- export { default as LIGHT_SETTINGS_EQUAL_FILE_NAME } from '../../public/predefined_lightsettings/equal.json?url';
4
- export { default as LIGHT_SETTINGS_SHELF_FRONT_FILE_NAME } from '../../public/predefined_lightsettings/shelf_front.json?url';
5
- export { default as LIGHT_SETTINGS_SHELF_FILE_NAME } from '../../public/predefined_lightsettings/shelf.json?url';
6
- export { default as LIGHT_SETTINGS_SOFA_FILE_NAME } from '../../public/predefined_lightsettings/sofa.json?url';
1
+ import { default as LIGHT_SETTINGS_BAKED_FILE_NAME } from '../../public/predefined_lightsettings/baked.json?json';
2
+ import { default as LIGHT_SETTINGS_CAMERA_FILE_NAME } from '../../public/predefined_lightsettings/camera.json?json';
3
+ import { default as LIGHT_SETTINGS_EQUAL_FILE_NAME } from '../../public/predefined_lightsettings/equal.json?json';
4
+ import { default as LIGHT_SETTINGS_SHELF_FRONT_FILE_NAME } from '../../public/predefined_lightsettings/shelf_front.json?json';
5
+ import { default as LIGHT_SETTINGS_SHELF_FILE_NAME } from '../../public/predefined_lightsettings/shelf.json?json';
6
+ import { default as LIGHT_SETTINGS_SOFA_FILE_NAME } from '../../public/predefined_lightsettings/sofa.json?json';
7
+
8
+ export { LIGHT_SETTINGS_BAKED_FILE_NAME, LIGHT_SETTINGS_CAMERA_FILE_NAME, LIGHT_SETTINGS_EQUAL_FILE_NAME, LIGHT_SETTINGS_SHELF_FRONT_FILE_NAME, LIGHT_SETTINGS_SHELF_FILE_NAME, LIGHT_SETTINGS_SOFA_FILE_NAME, };
@@ -1,9 +1,11 @@
1
- export { default as BOURBON_64_LUT } from '../../public/luts/bourbon_64.cube?url';
2
- export { default as CHEMICAL_168_LUT } from '../../public/luts/chemical_168.cube?url';
3
- export { default as CLAYTON_33_LUT } from '../../public/luts/clayton_33.cube?url';
4
- export { default as CUBICLE_99_LUT } from '../../public/luts/cubicle_99.cube?url';
5
- export { default as REMY_24_LUT } from '../../public/luts/remy_24.cube?url';
6
- export { default as PRESETPRO_CINEMATIC_LUT } from '../../public/luts/preset-pro-cinematic.3dl?url';
7
- export { default as NEUTRAL_LUT } from '../../public/luts/neutral-lut.png?url';
8
- export { default as BW_LUT } from '../../public/luts/b-and-w-lut.png?url';
9
- export { default as NIGHT_LUT } from '../../public/luts/night-lut.png?url';
1
+ import { default as BOURBON_64_LUT } from '../../public/luts/bourbon_64.cube?no-inline?url';
2
+ import { default as CHEMICAL_168_LUT } from '../../public/luts/chemical_168.cube?no-inline?url';
3
+ import { default as CLAYTON_33_LUT } from '../../public/luts/clayton_33.cube?no-inline?url';
4
+ import { default as CUBICLE_99_LUT } from '../../public/luts/cubicle_99.cube?no-inline?url';
5
+ import { default as REMY_24_LUT } from '../../public/luts/remy_24.cube?no-inline?url';
6
+ import { default as PRESETPRO_CINEMATIC_LUT } from '../../public/luts/preset-pro-cinematic.3dl?no-inline?url';
7
+ import { default as NEUTRAL_LUT } from '../../public/luts/neutral-lut.png?no-inline?url';
8
+ import { default as BW_LUT } from '../../public/luts/b-and-w-lut.png?no-inline?url';
9
+ import { default as NIGHT_LUT } from '../../public/luts/night-lut.png?no-inline?url';
10
+
11
+ export { BOURBON_64_LUT, CHEMICAL_168_LUT, CLAYTON_33_LUT, CUBICLE_99_LUT, REMY_24_LUT, PRESETPRO_CINEMATIC_LUT, NEUTRAL_LUT, BW_LUT, NIGHT_LUT, };
@@ -1,6 +1,8 @@
1
- export { default as CONFIGURATOR_WASM_MODERN_FILE_NAME } from 'roomle-core-hsc/wasm_modern/ConfiguratorKernel.wasm?url';
2
- export { default as CONFIGURATOR_LOADER_MODERN_FILE_NAME } from 'roomle-core-hsc/wasm_modern/ConfiguratorKernel.js?url';
3
- export { default as PLANNER_WASM_MODERN_FILE_NAME } from 'roomle-core-hsc/wasm_modern/RoomleCore.wasm?url';
4
- export { default as PLANNER_LOADER_MODERN_FILE_NAME } from 'roomle-core-hsc/wasm_modern/RoomleCore.js?url';
5
- export { default as TOOLS_CORE_WASM_MODERN_FILE_NAME } from 'roomle-core-hsc/wasm_modern/RoomleToolsCore.wasm?url';
6
- export { default as TOOLS_CORE_LOADER_MODERN_FILE_NAME } from 'roomle-core-hsc/wasm_modern/RoomleToolsCore.js?url';
1
+ import { default as CONFIGURATOR_WASM_MODERN_FILE_NAME } from 'roomle-core-hsc/wasm_modern/ConfiguratorKernel.wasm?no-inline?url';
2
+ import { default as CONFIGURATOR_LOADER_MODERN_FILE_NAME } from 'roomle-core-hsc/wasm_modern/ConfiguratorKernel.js?no-inline?url';
3
+ import { default as PLANNER_WASM_MODERN_FILE_NAME } from 'roomle-core-hsc/wasm_modern/RoomleCore.wasm?no-inline?url';
4
+ import { default as PLANNER_LOADER_MODERN_FILE_NAME } from 'roomle-core-hsc/wasm_modern/RoomleCore.js?no-inline?url';
5
+ import { default as TOOLS_CORE_WASM_MODERN_FILE_NAME } from 'roomle-core-hsc/wasm_modern/RoomleToolsCore.wasm?no-inline?url';
6
+ import { default as TOOLS_CORE_LOADER_MODERN_FILE_NAME } from 'roomle-core-hsc/wasm_modern/RoomleToolsCore.js?no-inline?url';
7
+
8
+ export { CONFIGURATOR_WASM_MODERN_FILE_NAME, CONFIGURATOR_LOADER_MODERN_FILE_NAME, PLANNER_WASM_MODERN_FILE_NAME, PLANNER_LOADER_MODERN_FILE_NAME, TOOLS_CORE_WASM_MODERN_FILE_NAME, TOOLS_CORE_LOADER_MODERN_FILE_NAME, };
@@ -31,7 +31,6 @@ export declare const ROOMLE_HIGHLIGHTNG: {
31
31
  };
32
32
  export declare const setCursor: (style: CURSOR_STYLE) => void;
33
33
  export declare const handleJsonResponse: (response: Response) => Promise<any>;
34
- export declare const getAssetPath: () => string;
35
34
  export declare const uuid: (a?: string) => string;
36
35
  export declare const setEnumerable: (target: any, property: string, isEnumerable: boolean) => void;
37
36
  export declare const setWriteable: (target: any, property: string, isWritable: boolean) => void;
@@ -9,6 +9,7 @@ import { CustomShadingParameters, SceneShadingType } from '../webgl/renderer/sha
9
9
  import { RapiId } from '../../../typings/rapi-types';
10
10
  import { CanvasOffset } from '../common-interfaces';
11
11
  import { ExternalObjectApiConfiguration } from '../../../planner-core/src/external-object-api';
12
+ import { HomagIntelligenceInitData } from '../../../homag-intelligence/src/loader';
12
13
 
13
14
  export declare const DEFAULT_ENV_MAP_INTENSITY = 1.5;
14
15
  export declare const DEFAULT_ENV_MAP_ROTATION = 0;
@@ -49,6 +50,7 @@ export default class InitData implements Context, Omit<InitDataDefinition, 'colo
49
50
  customShading?: CustomShadingParameters;
50
51
  customShadingMoc?: CustomShadingParameters;
51
52
  restrictionLevel?: number;
53
+ hi?: HomagIntelligenceInitData;
52
54
  offlineSync?: string;
53
55
  highlighting?: Enumify<typeof ROOMLE_HIGHLIGHTNG>;
54
56
  initialFloorMaterial?: string;
@@ -6,6 +6,7 @@ import { Enumify } from '../types';
6
6
  import { DefaultEnvironmentSceneType } from '../webgl/renderer/environment-scene';
7
7
  import { CustomShadingParameters, SceneShadingType } from '../webgl/renderer/shading-settings';
8
8
  import { Color } from 'three';
9
+ import { HomagIntelligenceInitData } from '../../../homag-intelligence/src/loader';
9
10
 
10
11
  export declare const enum WINDOW_EVENT {
11
12
  RESIZE = "resize",
@@ -315,6 +316,11 @@ export interface CommonInitData {
315
316
  * @description restrictionLevel defines visibility of parameters and possible children
316
317
  */
317
318
  restrictionLevel?: number;
319
+ /**
320
+ * @description Settings for Homag Intelligence
321
+ * @internal
322
+ */
323
+ hi?: HomagIntelligenceInitData;
318
324
  }
319
325
  export interface ConfiguratorInitData {
320
326
  /**
@@ -65,5 +65,5 @@ export declare class GBufferMaterialCache extends ObjectRenderCache {
65
65
  dispose(): void;
66
66
  addLineOrPoint(object3d: Object3D): void;
67
67
  addMesh(mesh: Mesh): void;
68
- addObject(_object3d: Object3D): void;
68
+ addObject(object3d: Object3D): void;
69
69
  }
@@ -9,6 +9,6 @@ export declare class Configurator extends Main {
9
9
  protected cleanUpDependencies(): void;
10
10
  protected setupGlobals(appState?: AppState): void;
11
11
  getApi(): RoomleConfigurator;
12
- protected bootFinished(): void;
12
+ protected bootFinished(): Promise<void>;
13
13
  protected getContextName(): string;
14
14
  }
@@ -244,6 +244,19 @@ export default class RoomleConfigurator<P extends readonly PluginName[] = readon
244
244
  * @param value the value we want to set on the parameter as string
245
245
  */
246
246
  setParameterOfPlanObject(parameter: KernelParameter, value: string): Promise<void>;
247
+ /**
248
+ * Sets an animation value of the selected component. If nothing is selected the values of the
249
+ * animations of the plan object are set
250
+ * @param key key of the animation as string
251
+ * @param value the value we want to set on the animation as string
252
+ */
253
+ setAnimationValue(key: string, value: string): Promise<void>;
254
+ /**
255
+ * Method to set an animation value on the plan object.
256
+ * @param key key of the animation as string
257
+ * @param value the value we want to set on the animation as string
258
+ */
259
+ setAnimationValueOfPlanObject(key: string, value: string): Promise<void>;
247
260
  /**
248
261
  * Returns all parameters which correspond to the plan object. This is also exposed for embedding
249
262
  */
@@ -1,2 +1,4 @@
1
- export { default as LATO_SUB_FILE_NAME } from '../../public/fonts/lato_regular_sub.json';
2
- export { default as LATO_FILE_NAME } from '../../public/fonts/lato_regular.json';
1
+ import { default as LATO_SUB_FILE_NAME } from '../../public/fonts/lato_regular_sub.json?json';
2
+ import { default as LATO_FILE_NAME } from '../../public/fonts/lato_regular.json?json';
3
+
4
+ export { LATO_SUB_FILE_NAME, LATO_FILE_NAME };
@@ -1 +1,3 @@
1
- export { default as BANANA_FILE_NAME } from '../../public/geometry/banana.glb?url';
1
+ import { default as BANANA_FILE_NAME } from '../../public/geometry/banana.glb?no-inline?url';
2
+
3
+ export { BANANA_FILE_NAME };
@@ -1 +1,3 @@
1
- export { default as DEFAULT_EXTERNAL_OBJECT_API_CONFIGURATION } from '../../public/settings/default-external-object-api-configuration.json?url';
1
+ import { default as DEFAULT_EXTERNAL_OBJECT_API_CONFIGURATION } from '../../public/settings/default-external-object-api-configuration.json?no-inline?url';
2
+
3
+ export { DEFAULT_EXTERNAL_OBJECT_API_CONFIGURATION };
@@ -1 +1,3 @@
1
- export { default as WHITE_WALL_TEXTURE_FILE_NAME } from '../../public/textures/white_wall_texture.jpg';
1
+ import { default as WHITE_WALL_TEXTURE_FILE_NAME } from '../../public/textures/white_wall_texture.jpg?no-inline?url';
2
+
3
+ export { WHITE_WALL_TEXTURE_FILE_NAME };
@@ -1,5 +1,6 @@
1
1
  import { KernelParameter } from '../../../../typings/kernel';
2
2
 
3
+ export declare const ANIMATION_PARAMETER_PREFIX = "animation:";
3
4
  export declare class AnimationValueMap {
4
5
  private valueMap;
5
6
  static filterAnimationParameters(parameters: KernelParameter[]): KernelParameter[];
@@ -11,13 +11,13 @@ export default class ComponentDimensioningHelper implements Context {
11
11
  private _componentDimensioningsExist;
12
12
  constructor(creator: string);
13
13
  setCamera(camera: PerspectiveCamera): void;
14
- add(component: RoomleComponent): boolean;
14
+ add(component: RoomleComponent, updateRenderer?: () => void): boolean;
15
15
  private _assembleDimensionings;
16
16
  private _findAxis;
17
17
  private _mapDimensioningToAxis;
18
- private _transformObjectDimensioning;
19
- private _transformDimensioningScale;
18
+ private _transformObjectDimensioningAxis;
20
19
  private _transformPosition;
20
+ private _transformDirectionVector;
21
21
  remove(component: RoomleComponent, remove?: boolean): Promise<void>;
22
22
  hasComponentDimensions(): boolean;
23
23
  reset(): Promise<void>;
@@ -12,7 +12,7 @@ export default class ComponentRaycastHelper {
12
12
  init(object: Object3D, camera: PerspectiveCamera): void;
13
13
  setCamera(camera: PerspectiveCamera): void;
14
14
  setObject(object: Object3D): void;
15
- changeMaterialsOnSelect(object: Object3D, component: RoomleComponent, selected?: boolean, callback?: () => void): Promise<void>;
15
+ changeMaterialsOnSelect(object: Object3D, component: RoomleComponent, selected?: boolean, callback?: () => void): void;
16
16
  private _changeMaterialsOnSelect;
17
17
  isComponentVisible(component: RoomleComponent): boolean;
18
18
  checkComponentAndPreviewVisibility(sceneEventHandler: ConfiguratorSceneEventHandler, configuratorViewModel: ConfiguratorViewModel): void;
@@ -1,6 +1,7 @@
1
1
  import { Object3D, Scene, Box3, Vector3 } from 'three';
2
2
  import { KernelCube } from '../../../typings/kernel';
3
3
 
4
+ export declare const DIMENSIONING_GEOMETRY = "dimensioning";
4
5
  export default class DimensioningHelper {
5
6
  _creator_: string;
6
7
  private _unitFormatter;
@@ -1,4 +1,4 @@
1
1
  export declare function cleanRapiUrl(url: string): string;
2
- export declare const spyOnModuleMethod: (jest: any, module: any, methodName: string) => any;
3
- export declare const makeModuleSpyable: (jest: any, module: any) => any;
2
+ export declare const spyOnModuleMethod: (vi: any, module: any, methodName: string) => any;
3
+ export declare const makeModuleSpyable: (vi: any, module: any) => any;
4
4
  export declare const removePrivateProperties: (array: any[]) => any[];
@@ -39,6 +39,8 @@ export default class ConfiguratorSceneManager extends SceneManager implements Co
39
39
  private _dimensionHelper;
40
40
  private _uiIntersectionHelper;
41
41
  private _sceneEventHandler;
42
+ private _currentComponent;
43
+ private _isComponentDimensionsVisible;
42
44
  constructor(creator: string, offset: CanvasOffset, mode: Enumify<typeof CAMERA_TYPE>);
43
45
  private _initOptionalModules;
44
46
  protected _changeCameraBehaviour(cameraBehaviour: CameraBehaviour): void;
@@ -158,4 +160,6 @@ export default class ConfiguratorSceneManager extends SceneManager implements Co
158
160
  redo(): Promise<void>;
159
161
  clearHistory(): void;
160
162
  private _callOnPartListUpdate;
163
+ private _showCustomComponentDimensions;
164
+ private _removeCustomComponentDimensions;
161
165
  }
@@ -7,7 +7,7 @@ export declare class GlbViewer extends Main {
7
7
  protected setupDependencies(): void;
8
8
  protected cleanUpGlobals(): void;
9
9
  protected cleanUpDependencies(): void;
10
- protected bootFinished(): void;
10
+ protected bootFinished(): Promise<void>;
11
11
  getApi(): RoomleGLBViewer;
12
12
  protected getContextName(): string;
13
13
  }
@@ -0,0 +1,22 @@
1
+ import { RoomDesignerRequests } from './emulator';
2
+ import { MasterData, PosGroup } from './model/oc-scripts-domain.model';
3
+ import { RoomlePlannerType } from '../../typings/external-objects';
4
+
5
+ export declare class RoomDesignerApi implements RoomDesignerRequests {
6
+ private _roomlePlanner;
7
+ constructor(roomlePlanner: RoomlePlannerType);
8
+ loadMasterData(masterData: MasterData): void;
9
+ loadPosGroups(posDataJson: PosGroup | PosGroup[], findFreeSpaceInPlan: boolean, verifyArrangement: boolean, mergedGroups?: string[]): Promise<void>;
10
+ selectGroup(groupId: string): Promise<void>;
11
+ selectRoot(rootModuleId: string): Promise<void>;
12
+ selectModule(rootModuleId: string, subModuleId: string): Promise<void>;
13
+ openCloseGroup(groupOrRootModuleId: string, subModuleId: string | null, open: boolean, animate: boolean): Promise<void>;
14
+ deleteGroup(groupId: string, wasMerged?: boolean): Promise<void>;
15
+ deleteRootModule(rootModuleId: string): Promise<void>;
16
+ getPosDataOfAllGroups(): Promise<PosGroup[]>;
17
+ generatePlanSnapshot(): Promise<void>;
18
+ saveExternalObjectSnapshot(): Promise<import('../../typings/rapi-types').RapiPlanSnapshotGetDataWith3dUrls>;
19
+ saveCurrentPlanSnapshot(): Promise<import('../../typings/rapi-types').RapiPlanSnapshotGetData>;
20
+ renderPosDataImage(posDataJson: object): Promise<void>;
21
+ downloadGlb(): Promise<void>;
22
+ }
@@ -0,0 +1,37 @@
1
+ import { GlueLogic } from './emulator';
2
+ import { default as RoomlePlanner } from '../../planner-core/src/roomle-planner';
3
+
4
+ export interface ExternalObjectSegment {
5
+ cmd: string;
6
+ x: number;
7
+ y: number;
8
+ type?: string;
9
+ angle?: number;
10
+ }
11
+ export interface ExternalObjectContour {
12
+ level: number;
13
+ segments: ExternalObjectSegment[];
14
+ }
15
+ export interface ExternalObjectGroupPosition {
16
+ pos: number[];
17
+ rotationY?: number;
18
+ contours?: ExternalObjectContour[];
19
+ }
20
+ export interface ExternalObjectRootModule {
21
+ moduleId: string;
22
+ pos: number[];
23
+ rotationY?: number;
24
+ }
25
+ export interface ExternalObjectGroup {
26
+ groupId: string;
27
+ pos: number[];
28
+ rotationY?: number;
29
+ rootModules: ExternalObjectRootModule[];
30
+ contours?: ExternalObjectContour[];
31
+ }
32
+ export interface ExternalModuleInformation {
33
+ groupId: string;
34
+ rootModuleId: string;
35
+ subModuleId: string | null;
36
+ }
37
+ export declare const initCallbacks: (roomlePlanner: RoomlePlanner, gluLogic: GlueLogic) => void;
@@ -0,0 +1,101 @@
1
+ import { ExternalModuleInformation, ExternalObjectGroup, ExternalObjectGroupPosition } from './callbacks';
2
+ import { MasterData, PosModuleAttribute, PosGroup, PosModuleData, PosModuleRootData } from './model/oc-scripts-domain.model';
3
+
4
+ export interface LibraryData {
5
+ get masterData(): MasterData | null;
6
+ get posGroupVersion(): number;
7
+ calculateGroup(posGroup: PosGroup): PosGroup;
8
+ getOrderData(posGroup: PosGroup[], roomlePlannerId?: string): PosGroup;
9
+ getAttributesDropDownValues(module: PosModuleRootData): Promise<any>;
10
+ solveModuleAttributeConflict(module: PosModuleData, attributeName: string, value: string | number | boolean): PosModuleAttribute[] | undefined;
11
+ }
12
+ export interface RoomDesignerRequests {
13
+ loadMasterData(masterData: MasterData): void;
14
+ loadPosGroups(posDataJson: PosGroup | PosGroup[], findFreeSpaceInPlan: boolean, verifyArrangement: boolean, mergedGroups?: string[]): Promise<void>;
15
+ selectGroup(groupId: string): Promise<void>;
16
+ selectRoot(rootModuleId: string): Promise<void>;
17
+ selectModule(rootModuleId: string, subModuleId: string): Promise<void>;
18
+ openCloseGroup(groupOrRootModuleId: string, subModuleId: string | null, open: boolean, animate: boolean): Promise<void>;
19
+ deleteGroup(groupId: string, wasMerged?: boolean): Promise<void>;
20
+ deleteRootModule(rootModuleId: string): Promise<void>;
21
+ getPosDataOfAllGroups(): Promise<PosGroup[]>;
22
+ generatePlanSnapshot(): Promise<void>;
23
+ saveExternalObjectSnapshot(): Promise<any>;
24
+ saveCurrentPlanSnapshot(): Promise<any>;
25
+ }
26
+ export interface GlueLogic {
27
+ mergeGroups(targetGroup: ExternalObjectGroup, idsOfGroupsMerged: string | string[], idOfTargetRootModule: string): void;
28
+ deleteRootModule(remainingGroup: ExternalObjectGroup, rootModuleIdToDelete: string, splitOffGroups: ExternalObjectGroup[]): void;
29
+ splitRootModuleFromGroup(splitGroup: ExternalObjectGroup, newGroupedRootModules: ExternalObjectGroup[]): void;
30
+ duplicateGroup(sourceGroupId: string, newGroupPosition: ExternalObjectGroupPosition): void;
31
+ modifyAttribute(groupId: string, moduleIdObjects: ExternalModuleInformation[], attributeName: string, value: string): void;
32
+ arrangeRootModulesOfGroup(changedGroup: ExternalObjectGroup): void;
33
+ changedGroupPlanningSituation(changedGroup: ExternalObjectGroup): void;
34
+ deleteGroup(groupId: string): Promise<void>;
35
+ changedGroup(posDataJson: PosGroup): void;
36
+ loadedGroup(posDataJson: PosGroup): void;
37
+ removedGroup(groupId: string): void;
38
+ openCloseGroup(groupId: string): void;
39
+ getGroupDataForOrder(roomlePlannerId?: string): Promise<any>;
40
+ savePlanSnapshot(): Promise<PlanSnapshot>;
41
+ }
42
+ interface PlanSnapshot {
43
+ id: string;
44
+ perspectiveImageLink: string;
45
+ topImageLink: string;
46
+ room3dLink: string;
47
+ room3dFullLink: string;
48
+ }
49
+ interface GroupItem {
50
+ posDataJson: PosGroup;
51
+ opened: boolean;
52
+ }
53
+ export declare class Emulator implements GlueLogic {
54
+ _designerRequests: RoomDesignerRequests;
55
+ _libraryData: LibraryData;
56
+ _posDataJsonMap: Map<string, any>;
57
+ _groupMap: Map<string, GroupItem>;
58
+ _nextPosDataId: number;
59
+ constructor(designerRequests: RoomDesignerRequests, libraryData: LibraryData);
60
+ loadPosData(articleCatalogJson: any, libraryId: string): void;
61
+ newPosDataFromId(id: string): any;
62
+ deleteGroup(groupId: string): Promise<void>;
63
+ selectGroup(groupId: string): Promise<void>;
64
+ selectCheckAttributes(root: PosModuleRootData): Promise<void>;
65
+ selectRoot(_groupId: any, rootId: string): Promise<void>;
66
+ deleteRoot(groupId: any, rootId: string): Promise<void>;
67
+ selectSubModule(groupId: any, rootId: string, moduleId: string): Promise<void>;
68
+ openCloseGroup(groupId: string): Promise<void>;
69
+ deleteRootModule(remainingGroup: ExternalObjectGroup, rootModuleIdToDelete: string, splitOffGroups: ExternalObjectGroup[]): void;
70
+ duplicateGroup(sourceGroupId: string, newGroupPosition: ExternalObjectGroupPosition): Promise<void>;
71
+ mergeGroups(targetGroup: ExternalObjectGroup, idsOfGroupsMerged: string | string[], idOfTargetRootModule: string): void;
72
+ private _applyImplicitRelevantAttributes;
73
+ splitRootModuleFromGroup(splitGroup: ExternalObjectGroup, newGroupedRootModules: ExternalObjectGroup[]): void;
74
+ arrangeRootModulesOfGroup(changedGroup: ExternalObjectGroup): void;
75
+ removedGroup(groupId: string): void;
76
+ changedGroup(posDataJson: PosGroup): void;
77
+ changedGroupPlanningSituation(changedGroup: ExternalObjectGroup): void;
78
+ loadedGroup(posDataJson: PosGroup): void;
79
+ getGroupDataForOrder(roomlePlannerId?: string): Promise<PosGroup>;
80
+ private _setGroupContour;
81
+ private _setGroupPosition;
82
+ private _setRootModulesPosition;
83
+ private _loadPosData;
84
+ private _splitOffGroupsFromGroups;
85
+ private _splitOffRootModulesFromGroup;
86
+ private _calculateNewGroup;
87
+ private _calculate;
88
+ private _calculateAndUpdateGroupMap;
89
+ private _addNewGroup;
90
+ private _addGroupToMap;
91
+ updateAttribute(rootModuleId: string | undefined, moduleId: string, attributeId: string, attributeValue: string | boolean): Promise<void>;
92
+ modifyAttribute(groupId: string, moduleIdObjects: ExternalModuleInformation[], attributeName: string, value: string): void;
93
+ _modifyAttributeOfModules(emulatorGroupItem: GroupItem, moduleIds: string[] | string, attributeName: string, value: string | boolean): PosGroup;
94
+ private _setAttribute;
95
+ savePlanSnapshot(): Promise<PlanSnapshot>;
96
+ private _findModule;
97
+ private _replacesIDs;
98
+ private _replacesModuleIDs;
99
+ private _getNextID;
100
+ }
101
+ export {};
@@ -0,0 +1,28 @@
1
+ import { RmlPlugin } from './rml-plugin';
2
+ import { Emulator } from './emulator';
3
+ import { ApiOptions } from './loader';
4
+ import { MasterData } from './model/oc-scripts-domain.model';
5
+ import { default as RoomlePlanner } from '../../planner-core/src/roomle-planner';
6
+
7
+ export declare const HOMAG_INTELLIGENCE_ENDPOINT = "https://europe-west3-rml-showcases.cloudfunctions.net/proxy_request?url=";
8
+ export declare class HomagIntelligence extends RmlPlugin {
9
+ private _roomlePlanner;
10
+ private _api;
11
+ private _masterData;
12
+ private _emulator;
13
+ private _articles;
14
+ private _scriptLoaded;
15
+ private _hiLibraryLoaded;
16
+ private _orders;
17
+ constructor();
18
+ loadHiLibrary(libraryId: string, apiOptions: ApiOptions): Promise<{
19
+ articles: any;
20
+ masterData: MasterData;
21
+ calcScriptLoaded: boolean;
22
+ }>;
23
+ init(roomlePlanner: RoomlePlanner, libraryId: string, apiOptions: ApiOptions): Promise<this>;
24
+ private _loadMasterData;
25
+ getEmulator(): Emulator;
26
+ sendToOM(withPrice?: boolean): Promise<void>;
27
+ fetchPrice(planId?: string): Promise<any>;
28
+ }
@@ -0,0 +1,24 @@
1
+ import { MasterData } from './model/oc-scripts-domain.model';
2
+
3
+ export interface HomagIntelligenceInitData {
4
+ libraryId: string;
5
+ serverOptions: ApiOptions;
6
+ }
7
+ export interface OrderManagerOptions {
8
+ key?: string;
9
+ importBaseUrl?: string;
10
+ }
11
+ export interface ApiOptions {
12
+ subscriptionId: string;
13
+ om?: OrderManagerOptions;
14
+ endpointUrl?: string;
15
+ localUrl?: string;
16
+ }
17
+ export declare const fetchDataWithAuthorization: (url: string, type: 'json' | 'text', apiOptions: ApiOptions, debug?: {
18
+ property: string;
19
+ }) => Promise<Response>;
20
+ export declare const loadHiLibrary: (libraryId: string, apiOptions: ApiOptions) => Promise<{
21
+ articles: any;
22
+ masterData: MasterData;
23
+ calcScriptLoaded: boolean;
24
+ }>;