@roomle/web-sdk 3.8.0-alpha.1 → 3.9.0-alpha.1

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 (49) hide show
  1. package/lib/ConfiguratorKernel.wasm +0 -0
  2. package/lib/RoomleCore.wasm +0 -0
  3. package/lib/RoomleToolsCore.wasm +0 -0
  4. package/lib/{api-CbHAzwVm.mjs → api-ByHTYrQ_.mjs} +2 -2
  5. package/lib/{api-CbHAzwVm.mjs.map → api-ByHTYrQ_.mjs.map} +1 -1
  6. package/lib/asset-loader.worker-A7nEeQB4.mjs.map +1 -1
  7. package/lib/budgeteer.sw-CQWYbQSc.mjs.map +1 -1
  8. package/lib/{configurator-CP80d0HI.mjs → configurator-Cf6J4eOF.mjs} +3 -3
  9. package/lib/{configurator-CP80d0HI.mjs.map → configurator-Cf6J4eOF.mjs.map} +1 -1
  10. package/lib/configurator-D5FuWg5f.mjs +2 -0
  11. package/lib/{glb-viewer-B7pA8K_w.mjs → glb-viewer-B95ZWAO-.mjs} +3 -3
  12. package/lib/{glb-viewer-B7pA8K_w.mjs.map → glb-viewer-B95ZWAO-.mjs.map} +1 -1
  13. package/lib/glb-viewer-C-IBj6p6.mjs +2 -0
  14. package/lib/{homag-intelligence-f1JD0An1.mjs → homag-intelligence-ByOCaAFW.mjs} +9 -5
  15. package/lib/homag-intelligence-ByOCaAFW.mjs.map +1 -0
  16. package/lib/{main-CuqGqemT.mjs → main-TlUQxOeW.mjs} +3717 -2827
  17. package/lib/main-TlUQxOeW.mjs.map +1 -0
  18. package/lib/{material-viewer-Cij9aWpI.mjs → material-viewer-37JiZSuS.mjs} +3 -3
  19. package/lib/{material-viewer-Cij9aWpI.mjs.map → material-viewer-37JiZSuS.mjs.map} +1 -1
  20. package/lib/packages-BPyzoYeC.mjs +4 -0
  21. package/lib/planner-BBUr8xHt.mjs +2 -0
  22. package/lib/{planner-DKbmQVSf.mjs → planner-DBhjeG6D.mjs} +3 -3
  23. package/lib/{planner-DKbmQVSf.mjs.map → planner-DBhjeG6D.mjs.map} +1 -1
  24. package/lib/roomle-headless.d.ts +69 -8
  25. package/lib/roomle-headless.js +7 -7
  26. package/lib/roomle-renderer-BgT28pfp.mjs.map +1 -1
  27. package/lib/roomle-sdk.d.ts +69 -8
  28. package/lib/roomle-sdk.js +6 -6
  29. package/lib/{roomle-webgpu-renderer-BdCItfH1.mjs → roomle-webgpu-renderer-CdD3cYxN.mjs} +656 -279
  30. package/lib/roomle-webgpu-renderer-CdD3cYxN.mjs.map +1 -0
  31. package/lib/{script-loader-BtWHegD-.mjs → script-loader-D3Cbc5BY.mjs} +2 -2
  32. package/lib/{script-loader-BtWHegD-.mjs.map → script-loader-D3Cbc5BY.mjs.map} +1 -1
  33. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/package.json +1 -1
  34. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreInterface.d.ts +2 -1
  35. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreInterface.js.map +1 -1
  36. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/ConfiguratorKernel.wasm +0 -0
  37. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleCore.wasm +0 -0
  38. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleToolsCore.wasm +0 -0
  39. package/lib/threejs-utils-BzXU2M3w.mjs.map +1 -1
  40. package/lib/{tools-core-BoxckhTR.mjs → tools-core-CUTTHUku.mjs} +3 -3
  41. package/lib/{tools-core-BoxckhTR.mjs.map → tools-core-CUTTHUku.mjs.map} +1 -1
  42. package/package.json +1 -1
  43. package/lib/configurator-BmJX0gB5.mjs +0 -2
  44. package/lib/glb-viewer-XFEP993c.mjs +0 -2
  45. package/lib/homag-intelligence-f1JD0An1.mjs.map +0 -1
  46. package/lib/main-CuqGqemT.mjs.map +0 -1
  47. package/lib/packages-DALvuVA_.mjs +0 -4
  48. package/lib/planner-CVn2Lls0.mjs +0 -2
  49. package/lib/roomle-webgpu-renderer-BdCItfH1.mjs.map +0 -1
@@ -2296,6 +2296,7 @@ export declare class CSS2DRendererManager implements Context {
2296
2296
  initializeRenderer(width: number, height: number): void;
2297
2297
  setSize(width: number, height: number): void;
2298
2298
  setDimensioningHelper(dimensioningHelper: DimensioningHelper): void;
2299
+ setCameraMoving(moving: boolean): void;
2299
2300
  renderSnapshotToCanvasWithAspectRatio(scene: Scene, camera: Camera, aspectRatio: number): Promise<HTMLCanvasElement>;
2300
2301
  private getCanvasDimensionsForAspectRatio;
2301
2302
  renderSnapshotToCanvas(scene: Scene, camera: Camera): Promise<HTMLCanvasElement>;
@@ -3126,10 +3127,10 @@ export declare interface ExternalObjectSnapshotSaveResult {
3126
3127
  perspectiveImageLink: string;
3127
3128
  topImageLink: string;
3128
3129
  fullPlanGlbLink: string;
3129
- perspectiveObjectImageLink: string;
3130
- topObjectImageLink: string;
3131
- objectGlbLink: string;
3132
- glb: string;
3130
+ perspectiveObjectImageLink?: string;
3131
+ topObjectImageLink?: string;
3132
+ objectGlbLink?: string;
3133
+ glb?: string;
3133
3134
  }
3134
3135
 
3135
3136
  export declare interface ExternalObjectUiCallback {
@@ -5234,6 +5235,8 @@ export declare class PlanElementViewModel extends KernelViewModel {
5234
5235
  getPosition(): Vector3;
5235
5236
  getRotation(): number;
5236
5237
  getBounds(): Box3;
5238
+ getMeasurementBounds(): Box3[];
5239
+ hasFixedZ(): boolean;
5237
5240
  getBoundingBox(): RoomleEventedMesh;
5238
5241
  getPlanElement(): PlanObject;
5239
5242
  setObject(object: RoomleEventedObject3D): void;
@@ -5873,6 +5876,7 @@ export declare class PlannerSceneManager extends ConfiguratorSceneManager implem
5873
5876
  private _cameraState;
5874
5877
  private _cameraStateLocked;
5875
5878
  private _planElementHighlighter;
5879
+ private _planner3dDimensionHelper;
5876
5880
  private _debugSpheres;
5877
5881
  constructor(creator: string, offset: CanvasOffset, plannerCallback: RoomlePlannerCallback, mode: Enumify_3<typeof CAMERA_TYPE>);
5878
5882
  isDragging(): boolean;
@@ -5963,6 +5967,7 @@ export declare class PlannerSceneManager extends ConfiguratorSceneManager implem
5963
5967
  protected _onKeyUp(event: KeyboardEvent, cleanup?: boolean): void;
5964
5968
  undo(): Promise<void>;
5965
5969
  redo(): Promise<void>;
5970
+ private _reshowDimensionsAfterUndoRedo;
5966
5971
  protected _updateConfigurationFromHistory(configurationString: string): Promise<void>;
5967
5972
  setMode(mode: Enumify_3<typeof CAMERA_TYPE>): void;
5968
5973
  private _clearHighlighting;
@@ -6000,6 +6005,9 @@ export declare class PlannerSceneManager extends ConfiguratorSceneManager implem
6000
6005
  disableRotation(): void;
6001
6006
  enableSnapping(): void;
6002
6007
  disableSnapping(): void;
6008
+ setSnappingDisabledTooltip(text: string): void;
6009
+ enable3dDimensions(): void;
6010
+ disable3dDimensions(): void;
6003
6011
  enableAdvancedDocking(): void;
6004
6012
  disableAdvancedDocking(): void;
6005
6013
  isEnabledChildObjectMode(planElementViewModel: PlanElementViewModel): boolean;
@@ -6021,6 +6029,37 @@ export declare class PlannerSceneManager extends ConfiguratorSceneManager implem
6021
6029
  private _sendRoomAreaData;
6022
6030
  private _updateMeasurementPositions;
6023
6031
  private _sendElementMeasurements;
6032
+ private _ensure3dDimensionHelperInitialized;
6033
+ /**
6034
+ * Show 3D dimension lines for a selected plan element (only in 3D mode).
6035
+ * In 2D mode, the existing 2D measurement system handles this.
6036
+ */
6037
+ private _show3dDimensions;
6038
+ private _show3dDimensionsMulti;
6039
+ /**
6040
+ * Re-show 3D dimensions for the currently selected objects.
6041
+ * Called when snapping state changes to update editability.
6042
+ */
6043
+ private _refreshDimensionsForCurrentSelection;
6044
+ /**
6045
+ * Update 3D dimension lines during drag (only in 3D mode).
6046
+ */
6047
+ private _update3dDimensions;
6048
+ /**
6049
+ * Handle an edit to a 3D dimension label — move the object to the
6050
+ * new distance from the wall/neighbor along that measurement direction.
6051
+ *
6052
+ * Uses the same approach as setObjectToWallMeasurementLength:
6053
+ * direction = startPoint - endPoint (from wall/neighbor toward object),
6054
+ * delta = (newLength - currentLength) / 1000,
6055
+ * then moveElementToIn2d to stay on the floor plane.
6056
+ */
6057
+ private _handleDimensionEdit3d;
6058
+ /**
6059
+ * Regenerate 3D dimensions if the camera has moved significantly
6060
+ * since the last generation (for better label placement).
6061
+ */
6062
+ private _regenerate3dDimensionsIfNeeded;
6024
6063
  private _sendRoomMeasurements;
6025
6064
  private _sendMeasurementLineDimension;
6026
6065
  private _sendObjectMeasurements;
@@ -6101,6 +6140,7 @@ export declare interface PlanObject extends PlanElement_2 {
6101
6140
  flipY: boolean;
6102
6141
  fixedZ: boolean;
6103
6142
  boxForMeasurement: KernelCube;
6143
+ measurementBounds: KernelAssembledObjectBounds;
6104
6144
  hasConfiguration(): boolean;
6105
6145
  isExternalObject(): boolean;
6106
6146
  retrieveConfigurationId(): ConfigurationUniqueIdAndHash;
@@ -8746,6 +8786,19 @@ export declare class RoomlePlanner<P extends readonly PluginName[] = readonly []
8746
8786
  * disable all types of snapping
8747
8787
  */
8748
8788
  disableSnapping(): void;
8789
+ /**
8790
+ * Enable 3D dimension lines shown on object selection in 3D mode.
8791
+ */
8792
+ enable3dDimensions(): void;
8793
+ /**
8794
+ * Disable 3D dimension lines in 3D mode.
8795
+ */
8796
+ disable3dDimensions(): void;
8797
+ /**
8798
+ * Set the tooltip text shown on disabled vertical dimension labels
8799
+ * when snapping prevents height editing.
8800
+ */
8801
+ setSnappingDisabledTooltip(text: string): void;
8749
8802
  /**
8750
8803
  * enable docking of objects that fit together when objects are snapped in the plan
8751
8804
  */
@@ -9257,7 +9310,7 @@ export declare abstract class RoomleRenderer<RendererType extends WebGLRenderer
9257
9310
  abstract setOnQualityLevelChangeCallback(callback: (qualityLevel: QualityLevel) => void): void;
9258
9311
  abstract clearCache(): void;
9259
9312
  abstract highlightObjects(selectedMeshes: Object3D[]): void;
9260
- abstract setGroundShadow(enabled: boolean): void;
9313
+ abstract setGroundShadow(enabled: boolean, scene: Scene): void;
9261
9314
  abstract enableUiInteractionMode(): void;
9262
9315
  abstract disableUiInteractionMode(): void;
9263
9316
  }
@@ -9328,11 +9381,13 @@ export declare class RoomleWebGPURenderer extends RoomleRenderer<WebGPURenderer>
9328
9381
  private debugMode;
9329
9382
  private readonly renderPasses;
9330
9383
  private readonly guiParameterGroups;
9384
+ private lastRenderCamera;
9331
9385
  private _domHelper;
9332
- constructor(creator: string, renderer: WebGPURenderer, outlineColors?: {
9386
+ constructor(creator: string, renderer: WebGPURenderer, enableSSGI: boolean, outlineColors?: {
9333
9387
  outlineVisibleEdgeColor: ColorRepresentation;
9334
9388
  outlineHiddenEdgeColor: ColorRepresentation;
9335
9389
  });
9390
+ addGroundShadowLightAndFloor(scene: Scene): void;
9336
9391
  private addRenderPass;
9337
9392
  clearCache(): void;
9338
9393
  disableUiInteractionMode(): void;
@@ -9348,10 +9403,11 @@ export declare class RoomleWebGPURenderer extends RoomleRenderer<WebGPURenderer>
9348
9403
  setAutoQuality(_autoQuality: boolean): void;
9349
9404
  setCustomShadingParameters(_customShadingParameters: CustomShadingParameters | undefined, _customShadingParametersMoc: CustomShadingParameters | undefined): void;
9350
9405
  setCustomOutlineParameters(customOutlineParameters: OutlineCustomParameters): void;
9351
- setGroundShadow(_enabled: boolean): void;
9406
+ setGroundShadow(enabled: boolean, scene: Scene): void;
9352
9407
  setOnQualityLevelChangeCallback(_callback: (qualityLevel: QualityLevel) => void): void;
9353
9408
  private enableOutline;
9354
9409
  private getOutlinePassOrUndefined;
9410
+ private enableSsgiPass;
9355
9411
  setQualityLevel(_qualityLevel: QualityLevel): void;
9356
9412
  setQualityMap(_qualityMap: QualityMap): void;
9357
9413
  setShadingType(_shadingType: SceneShadingType): void;
@@ -9433,12 +9489,14 @@ export declare class SceneEventInfo {
9433
9489
 
9434
9490
  export declare class SceneEventInfo_2 {
9435
9491
  planElementViewModel?: PlanElementViewModel;
9492
+ planElementViewModels?: PlanElementViewModel[];
9436
9493
  resetCamera: boolean;
9437
9494
  state: PLANNER_SCENE_EVENT_STATE;
9438
9495
  oldState: PLANNER_SCENE_EVENT_STATE;
9439
9496
  reason?: CancelSelectionReasons;
9440
9497
  constructor(data: {
9441
9498
  planElementViewModel?: PlanElementViewModel;
9499
+ planElementViewModels?: PlanElementViewModel[];
9442
9500
  resetCamera?: boolean;
9443
9501
  state?: PLANNER_SCENE_EVENT_STATE;
9444
9502
  oldState?: PLANNER_SCENE_EVENT_STATE;
@@ -9535,7 +9593,10 @@ export declare abstract class SceneManager implements Context, LifeCycleCallback
9535
9593
  protected shouldClearShadowsAndAO(): boolean;
9536
9594
  protected _setupScene(_offset?: CanvasOffset, transparent?: boolean): Promise<void>;
9537
9595
  loadEnvMap(url: string): Promise<void>;
9538
- private _getEnvMapIntensityAndRotation;
9596
+ protected _getEnvMapIntensityAndRotation(): {
9597
+ intensity: number;
9598
+ rotation: number;
9599
+ };
9539
9600
  protected _setDefaultEnvironmentScene(): void;
9540
9601
  private _setEnvMap;
9541
9602
  private _tabVisible;
package/lib/roomle-sdk.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { i as e, t } from "./kernel-C7YDLxq8.mjs";
2
- import { B as n, F as r, H as i, K as a, M as o, N as s, O as c, P as l, U as u, V as d, W as f, a as p, b as m, c as h, it as g, j as _, l as v, lt as y, n as b, ot as x, st as S, v as C, x as w, y as T, z as E } from "./main-CuqGqemT.mjs";
3
- import { t as D } from "./configurator-CP80d0HI.mjs";
4
- import { t as O } from "./planner-DKbmQVSf.mjs";
5
- import { n as k, t as A } from "./glb-viewer-B7pA8K_w.mjs";
6
- import { t as j } from "./api-CbHAzwVm.mjs";
7
- import "./packages-DALvuVA_.mjs";
2
+ import { B as n, F as r, H as i, K as a, M as o, N as s, O as c, P as l, U as u, V as d, W as f, a as p, b as m, c as h, it as g, j as _, l as v, lt as y, n as b, ot as x, st as S, v as C, x as w, y as T, z as E } from "./main-TlUQxOeW.mjs";
3
+ import { t as D } from "./configurator-Cf6J4eOF.mjs";
4
+ import { t as O } from "./planner-DBhjeG6D.mjs";
5
+ import { n as k, t as A } from "./glb-viewer-B95ZWAO-.mjs";
6
+ import { t as j } from "./api-ByHTYrQ_.mjs";
7
+ import "./packages-BPyzoYeC.mjs";
8
8
  export { t as CONFIGURATION_TYPE, e as CORE_PERMISSION_TO_DELETE, D as Configurator, p as ConfiguratorUiCallbacks, _ as FloorPlanElementViewModel, A as GlbViewer, a as GlobalCallback, E as HI_CONTEXT_ACTION, x as IdbManager, b as Main, w as MeasurementLinePlanElementViewModel, C as PLAN_ELEMENT_CHANGE_TYPES, r as PlanElementViewModel, l as PlanObjectViewModel, O as Planner, g as RapiAccess, j as RoomDesignerApi, c as RoomleConfigurator, k as RoomleGLBViewer, y as RoomleLightSource, h as RoomlePlanner, T as RoomlePlannerUiCallback, v as RoomleSdk, s as StaticPlanObjectViewModel, o as WallPlanElementViewModel, n as createExtObj, f as createExtObjId, S as getCatalogIdFromConfigurationHash, d as isExtObjId, i as isExternalObject, m as isSafari, u as removeExtObjIdPrefix };