@roomle/web-sdk 4.2.0-alpha.1 → 4.2.0-alpha.2

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 (47) 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-DsFkkVBx.mjs → api-VdWgw-jg.mjs} +2 -2
  5. package/lib/{api-DsFkkVBx.mjs.map → api-VdWgw-jg.mjs.map} +1 -1
  6. package/lib/asset-loader.worker-eqHzNAwa.mjs.map +1 -1
  7. package/lib/budgeteer.sw-BUMElkO1.mjs.map +1 -1
  8. package/lib/{configurator-Df0i3C3T.mjs → configurator-Bl3B3C63.mjs} +3 -3
  9. package/lib/{configurator-Df0i3C3T.mjs.map → configurator-Bl3B3C63.mjs.map} +1 -1
  10. package/lib/configurator-CHYss9Ix.mjs +2 -0
  11. package/lib/glb-viewer-Bo6d43Pf.mjs +2 -0
  12. package/lib/{glb-viewer-CMfGHsTk.mjs → glb-viewer-DxwekYzn.mjs} +4 -4
  13. package/lib/glb-viewer-DxwekYzn.mjs.map +1 -0
  14. package/lib/{homag-intelligence-CaCDZrp5.mjs → homag-intelligence-DwBJIGnh.mjs} +3 -3
  15. package/lib/{homag-intelligence-CaCDZrp5.mjs.map → homag-intelligence-DwBJIGnh.mjs.map} +1 -1
  16. package/lib/{material-viewer-DCr4Cj2J.mjs → material-viewer-DjGxE0tY.mjs} +4 -4
  17. package/lib/material-viewer-DjGxE0tY.mjs.map +1 -0
  18. package/lib/{packages-CywjYzrw.mjs → packages-Dz8NmJP4.mjs} +5 -5
  19. package/lib/{packages-CywjYzrw.mjs.map → packages-Dz8NmJP4.mjs.map} +1 -1
  20. package/lib/{planner-d2O03UND.mjs → planner-CWJXj28p.mjs} +3 -3
  21. package/lib/{planner-d2O03UND.mjs.map → planner-CWJXj28p.mjs.map} +1 -1
  22. package/lib/planner-CuYso338.mjs +2 -0
  23. package/lib/roomle-headless.d.ts +38 -9
  24. package/lib/roomle-headless.js +14 -16
  25. package/lib/roomle-headless.js.map +1 -1
  26. package/lib/roomle-renderer-FUqNfNIf.mjs.map +1 -1
  27. package/lib/{roomle-sdk-C_KgeRRI.mjs → roomle-sdk-FrWkv2ZJ.mjs} +1488 -1306
  28. package/lib/roomle-sdk-FrWkv2ZJ.mjs.map +1 -0
  29. package/lib/roomle-sdk.d.ts +37 -9
  30. package/lib/roomle-sdk.js +6 -6
  31. package/lib/{roomle-webgpu-renderer-RLBME9mQ.mjs → roomle-webgpu-renderer-CNZiK43x.mjs} +8 -8
  32. package/lib/{roomle-webgpu-renderer-RLBME9mQ.mjs.map → roomle-webgpu-renderer-CNZiK43x.mjs.map} +1 -1
  33. package/lib/{script-loader-CdhwtgMh.mjs → script-loader-YLmjONN5.mjs} +2 -2
  34. package/lib/{script-loader-CdhwtgMh.mjs.map → script-loader-YLmjONN5.mjs.map} +1 -1
  35. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/package.json +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/{tools-core-DW05Ccko.mjs → tools-core-CToGr3ow.mjs} +3 -3
  40. package/lib/{tools-core-DW05Ccko.mjs.map → tools-core-CToGr3ow.mjs.map} +1 -1
  41. package/package.json +2 -2
  42. package/lib/configurator-7Gud3pOb.mjs +0 -2
  43. package/lib/glb-viewer-BSoSqgNt.mjs +0 -2
  44. package/lib/glb-viewer-CMfGHsTk.mjs.map +0 -1
  45. package/lib/material-viewer-DCr4Cj2J.mjs.map +0 -1
  46. package/lib/planner-Bi0azu0C.mjs +0 -2
  47. package/lib/roomle-sdk-C_KgeRRI.mjs.map +0 -1
@@ -2,8 +2,10 @@ import { Box3 } from 'three';
2
2
  import { BufferGeometry } from 'three';
3
3
  import { BufferGeometryEventMap } from 'three';
4
4
  import { Camera } from 'three';
5
+ import { Camera as Camera_2 } from 'three/webgpu';
5
6
  import { Color } from 'three';
6
7
  import { ColorRepresentation } from 'three';
8
+ import { ColorRepresentation as ColorRepresentation_2 } from 'three/webgpu';
7
9
  import { CommunicationInterfaceCallback } from '../../../workers/src/communication-interface';
8
10
  import { ConstructionObjectDoorArch } from 'roomle-core-hsc/src/embind/plannerCoreInterface';
9
11
  import { createExtObjId } from '../../../../../common/src/utils/external-objects';
@@ -35,6 +37,7 @@ import { NormalBufferAttributes } from 'three';
35
37
  import { Nullable } from '../../common/src/utils/types';
36
38
  import { Nullable as Nullable_2 } from '../../../../../common/src/utils/types';
37
39
  import { Object3D } from 'three';
40
+ import { Object3D as Object3D_2 } from 'three/webgpu';
38
41
  import { Object3DEventMap } from 'three';
39
42
  import { OrthographicCamera } from 'three';
40
43
  import { ParametersGroup } from 'three/examples/jsm/inspector/tabs/Parameters.js';
@@ -43,6 +46,7 @@ import { PerspectiveCamera } from 'three';
43
46
  import { PlanInteractionHandler as PlanInteractionHandler_2 } from 'roomle-core-hsc/src/embind/plannerCoreInterface';
44
47
  import { PointLight } from 'three';
45
48
  import { Scene } from 'three';
49
+ import { Scene as Scene_2 } from 'three/webgpu';
46
50
  import { Texture } from 'three';
47
51
  import { TextureLoader } from 'three';
48
52
  import { Vector2 } from 'three';
@@ -1175,6 +1179,11 @@ export declare interface ConfiguratorInitData {
1175
1179
  * @description If set to true it will try to apply all current global parameters to the loaded object
1176
1180
  */
1177
1181
  applyCurrentGlobalParameters?: boolean;
1182
+ /**
1183
+ * @description If set to true, component dimension labels stay visible even when the distance-based proximity check would normally hide them.
1184
+ * @default false
1185
+ */
1186
+ disableMeasurementCollisionDetection?: boolean;
1178
1187
  /**
1179
1188
  * @description Adds the given spacing (in centimeters) to the loaded object. This is then used to calculate the initial camera distance
1180
1189
  * default: 0
@@ -1186,6 +1195,7 @@ export declare interface ConfiguratorInitData {
1186
1195
  cameraSpacing?: number;
1187
1196
  /* Excluded from this release type: ssr */
1188
1197
  /* Excluded from this release type: featureFlags */
1198
+ /* Excluded from this release type: webGpu */
1189
1199
  /* Excluded from this release type: webGpuConfig */
1190
1200
  /**
1191
1201
  * @description if true, the meshes of the component will be used, in addition to the bounding box, for raycasting (selecting)
@@ -4078,8 +4088,10 @@ export declare class InitData implements Context, Omit<InitDataDefinition, 'colo
4078
4088
  applyCurrentGlobalParameters: boolean;
4079
4089
  configureInRoom: boolean;
4080
4090
  dockInRoom: boolean;
4091
+ disableMeasurementCollisionDetection: boolean;
4081
4092
  discardExternalObjectsWhenLoadingPlan: boolean;
4082
4093
  featureFlags: FeatureFlagsImplementation;
4094
+ webGpu: boolean;
4083
4095
  webGpuConfig: WebGpuConfig;
4084
4096
  meshRaycasting: boolean;
4085
4097
  defaultFloorMaterial?: number | string;
@@ -5084,6 +5096,8 @@ export declare interface MeasurementBase<Vector2Type = Vector3 | Position2, Vect
5084
5096
  textPosition3d: Vector3Type;
5085
5097
  /** 3D direction vector of the text **/
5086
5098
  textDirection: Vector3Type;
5099
+ /** Direction to move the measured object when increasing the distance. */
5100
+ moveDirection?: Vector3Type;
5087
5101
  /** rotation of the text in radians **/
5088
5102
  textRotation: number;
5089
5103
  /** length of the wall in millimeters **/
@@ -5095,6 +5109,7 @@ export declare interface MeasurementBase<Vector2Type = Vector3 | Position2, Vect
5095
5109
  /** 2D position where the length/label should be shown **/
5096
5110
  textPosition2d?: Vector2Type;
5097
5111
  id?: number;
5112
+ dashed?: boolean;
5098
5113
  }
5099
5114
 
5100
5115
  export declare type MeasurementLineDimension = DimensionDefinition<Vector3, Vector3>;
@@ -5234,6 +5249,12 @@ export declare interface ModelExportOptions {
5234
5249
  filename?: string;
5235
5250
  }
5236
5251
 
5252
+ export declare interface NeighboringObjectMeasurementInfo {
5253
+ bounds: Box3;
5254
+ id: number;
5255
+ measurementBounds: Box3[];
5256
+ }
5257
+
5237
5258
  export declare abstract class Node_2 extends PlanElement {
5238
5259
  readonly nodeType: NodeType;
5239
5260
  getNumberOfConnectedWalls(): number;
@@ -5395,8 +5416,8 @@ export declare interface OrthographicOffsetCamera extends OrthographicCamera, Of
5395
5416
  }
5396
5417
 
5397
5418
  export declare interface OutlineColors {
5398
- outlineVisibleEdgeColor: ColorRepresentation;
5399
- outlineHiddenEdgeColor: ColorRepresentation;
5419
+ outlineVisibleEdgeColor: ColorRepresentation_2;
5420
+ outlineHiddenEdgeColor: ColorRepresentation_2;
5400
5421
  }
5401
5422
 
5402
5423
  export declare interface OutlineCustomParameters {
@@ -6386,6 +6407,7 @@ export declare class PlannerSceneManager extends ConfiguratorSceneManager implem
6386
6407
  private _sendRoomMeasurements;
6387
6408
  private _sendMeasurementLineDimension;
6388
6409
  private _sendObjectMeasurements;
6410
+ private _getOtherPlanObjectsFor2dMeasurements;
6389
6411
  private transformMeasurements;
6390
6412
  private _sendConstructionElementDimensions;
6391
6413
  setConstructionElementDistanceToWall(measurementId: number, distance: number): void;
@@ -6423,6 +6445,8 @@ export declare class PlannerSceneManager extends ConfiguratorSceneManager implem
6423
6445
  protected enablePanning(): void;
6424
6446
  protected disablePanning(): void;
6425
6447
  setObjectToWallMeasurementLength(planElementId: number, measurementId: number, length: number): void;
6448
+ setObjectMeasurementLength(planElementId: number, measurement: ObjectToWallDimensionTransferable, newLengthMM: number): void;
6449
+ private _setObjectToNeighborMeasurementLength;
6426
6450
  setWallMeasurementLength(measurementId: number, length: number, wallDirection: EMSConstant, measurementKind?: 'edge2d' | 'sloping'): void;
6427
6451
  setMeasurementLineLength(measurementId: number, length: number, wallDirection: string): void;
6428
6452
  setNodeZCoordinate(nodeId: number, z: number): void;
@@ -6551,7 +6575,7 @@ export declare class PlanObjectViewModel extends PlanElementViewModel {
6551
6575
  clear(): void;
6552
6576
  getPlanObject(): PlanObject;
6553
6577
  getSize(): Vector3;
6554
- getObjectMeasurements(zoomFactor: number, clientWidth: number, clientHeight: number): Nullable_2<ObjectMeasurements>;
6578
+ getObjectMeasurements(zoomFactor: number, clientWidth: number, clientHeight: number, otherObjects?: NeighboringObjectMeasurementInfo[]): Nullable_2<ObjectMeasurements>;
6555
6579
  update(): void;
6556
6580
  }
6557
6581
 
@@ -9834,7 +9858,7 @@ export declare class RoomleWebGPURenderer extends RoomleRenderer<WebGPURenderer>
9834
9858
  private _initData;
9835
9859
  constructor(creator: string, renderer: WebGPURenderer, enableSSGI: boolean, outlineColors?: OutlineColors, enableTraa?: boolean);
9836
9860
  private enableDefaultRenderPasses;
9837
- addGroundShadowLightAndFloor(scene: Scene): Promise<void>;
9861
+ addGroundShadowLightAndFloor(scene: Scene_2): Promise<void>;
9838
9862
  private addRenderPass;
9839
9863
  clearCache(): void;
9840
9864
  disableUiInteractionMode(): void;
@@ -9842,13 +9866,13 @@ export declare class RoomleWebGPURenderer extends RoomleRenderer<WebGPURenderer>
9842
9866
  setCameraType(cameraType: Enumify_3<typeof CAMERA_TYPE>): void;
9843
9867
  switchToConfigurator(): void;
9844
9868
  switchToPlanner(renderMode: PlannerRenderMode): void;
9845
- highlightObjects(selectedMeshes: Object3D[]): void;
9846
- render(scene: Scene, camera: Camera): void;
9869
+ highlightObjects(selectedMeshes: Object3D_2[]): void;
9870
+ render(scene: Scene_2, camera: Camera_2): void;
9847
9871
  private renderToFreezeTarget;
9848
9872
  private updateCameraProjectionMatrix;
9849
9873
  private assembleRenderPasses;
9850
9874
  setCustomOutlineParameters(customOutlineParameters: OutlineCustomParameters): void;
9851
- setGroundShadow(enabled: boolean, _scene: Scene): void;
9875
+ setGroundShadow(enabled: boolean, _scene: Scene_2): void;
9852
9876
  private enableOutline;
9853
9877
  private getOutlinePassOrUndefined;
9854
9878
  private enableSsgiPass;
@@ -10381,8 +10405,8 @@ export declare const STEP_GROUPS: {
10381
10405
  readonly methods: ["addMeasure"];
10382
10406
  };
10383
10407
  readonly parameterChange: {
10384
- readonly finalize: "on-signal";
10385
- readonly idleCommitMs: 3000;
10408
+ readonly finalize: "immediate";
10409
+ readonly resumeFromCommitted: true;
10386
10410
  readonly methods: ["applyKernelParameterChange"];
10387
10411
  };
10388
10412
  readonly addOrUpdateExternal: {
@@ -10548,6 +10572,8 @@ export declare class UndoRedoHandler {
10548
10572
  private _disposed;
10549
10573
  protected _handler: PlanInteractionHandler;
10550
10574
  private _state;
10575
+ private _lastCommitted;
10576
+ private _sliderGestureActive;
10551
10577
  private _pendingContinuations;
10552
10578
  private _commitWhenSettled;
10553
10579
  private _idleCommitTimer;
@@ -10558,6 +10584,8 @@ export declare class UndoRedoHandler {
10558
10584
  get isDisposed(): boolean;
10559
10585
  run<T>(methodName: InteractionMethodName, args: unknown[], apply: () => T): T;
10560
10586
  commit(): void;
10587
+ beginSliderGesture(): void;
10588
+ endSliderGesture(): void;
10561
10589
  clearHistory(): void;
10562
10590
  private reset;
10563
10591
  undo(): void;
package/lib/roomle-sdk.js CHANGED
@@ -1,9 +1,9 @@
1
- import { a as e, i as t, n, r, t as i } from "./packages-CywjYzrw.mjs";
1
+ import { a as e, i as t, n, r, t as i } from "./packages-Dz8NmJP4.mjs";
2
2
  import { i as a, t as o } from "./kernel-BWfRHWkW.mjs";
3
3
  import { mt as s, vt as c } from "./threejs-utils-C9zED_Tu.mjs";
4
- import { F as l, G as u, J as d, K as f, M as p, N as m, P as h, S as g, W as _, b as v, ct as y, dt as b, j as x, k as S, lt as C, mt as w, q as T, t as E, u as D, ut as O, x as k, y as A, z as j } from "./roomle-sdk-C_KgeRRI.mjs";
5
- import { t as M } from "./configurator-Df0i3C3T.mjs";
6
- import { t as N } from "./planner-d2O03UND.mjs";
7
- import { n as P, t as F } from "./glb-viewer-CMfGHsTk.mjs";
8
- import { t as I } from "./api-DsFkkVBx.mjs";
4
+ import { F as l, G as u, J as d, K as f, M as p, N as m, P as h, S as g, W as _, b as v, ct as y, dt as b, j as x, k as S, lt as C, mt as w, q as T, t as E, u as D, ut as O, x as k, y as A, z as j } from "./roomle-sdk-FrWkv2ZJ.mjs";
5
+ import { t as M } from "./configurator-Bl3B3C63.mjs";
6
+ import { t as N } from "./planner-CWJXj28p.mjs";
7
+ import { n as P, t as F } from "./glb-viewer-DxwekYzn.mjs";
8
+ import { t as I } from "./api-VdWgw-jg.mjs";
9
9
  export { o as CONFIGURATION_TYPE, s as CORE_EDGE_TYPE, c as CORE_OBJECT_CATEGORY, a as CORE_PERMISSION_TO_DELETE, M as Configurator, x as FloorPlanElementViewModel, F as GlbViewer, j as HI_CONTEXT_ACTION, g as MeasurementLinePlanElementViewModel, A as PLAN_ELEMENT_CHANGE_TYPES, l as PlanElementViewModel, h as PlanObjectViewModel, N as Planner, y as RapiAccess, C as RapiInvalidIdError, O as RapiOfflineError, I as RoomDesignerApi, S as RoomleConfigurator, P as RoomleGLBViewer, w as RoomleLightSource, D as RoomlePlanner, E as RoomleSdk, m as StaticPlanObjectViewModel, p as WallPlanElementViewModel, _ as createExtObj, d as createExtObjId, b as getCatalogIdFromConfigurationHash, u as isExtObjId, f as isExternalObject, v as isFirefox, i as isIdAComponent, n as isIdAConfigurationString, r as isIdAPlan, t as isIdAnItem, e as isPlanSnapshotId, k as isSafari, T as removeExtObjIdPrefix };
@@ -2628,13 +2628,7 @@ var An = /* @__PURE__ */ new Se(), jn = /* @__PURE__ */ new d(), Mn = [
2628
2628
  n.add(this.sliceCount, "value", 1, 4, 1).name("slice count").onChange(() => t()), n.add(this.stepCount, "value", 1, 32, 1).name("step count").onChange(() => t()), n.add(this.radius, "value", 1, 25).name("radius").onChange(() => t()), n.add(this.expFactor, "value", 1, 3).name("exp factor").onChange(() => t()), n.add(this.thickness, "value", .01, 10).name("thickness").onChange(() => t()), n.add(this.backfaceLighting, "value", 0, 1).name("backface lighting").onChange(() => t()), n.add(this.aoIntensity, "value", 0, 4).name("AO intensity").onChange(() => t()), n.add(this.giIntensity, "value", 0, 100).name("GI intensity").onChange(() => t()), n.add(this.useLinearThickness, "value").name("use linear thickness").onChange(() => t()), n.add(this.useScreenSpaceSampling, "value").name("use screen-space sampling").onChange(() => t());
2629
2629
  }
2630
2630
  assemble(e, t, n, r, i) {
2631
- if (!(r instanceof l)) return t;
2632
- e.setMRT(De({
2633
- output: Le,
2634
- diffuseColor: et,
2635
- normal: Ie(Ke),
2636
- velocity: He
2637
- }));
2631
+ if (!(r instanceof l) || this.sliceCount.value === 0 || this.stepCount.value === 0) return t;
2638
2632
  let a = e.getTextureNode("output"), o = e.getTextureNode("diffuseColor"), s = e.getTextureNode("depth"), c = e.getTextureNode("normal"), u = In(a, s, Et((e) => Ae(c.sample(e))), r);
2639
2633
  u.sliceCount = this.sliceCount, u.stepCount = this.stepCount, u.radius = this.radius, u.expFactor = this.expFactor, u.thickness = this.thickness, u.backfaceLighting = this.backfaceLighting, u.aoIntensity = this.aoIntensity, u.giIntensity = this.giIntensity, u.useLinearThickness = this.useLinearThickness, u.useScreenSpaceSampling = this.useScreenSpaceSampling, u.useTemporalFiltering = this.useTemporalFiltering;
2640
2634
  let d = u.getGINode(), f = u.getAONode(), p = F(nt(a.rgb.mul(f.r), o.rgb.mul(d.rgb)), a.a);
@@ -3025,6 +3019,12 @@ var Un = /* @__PURE__ */ Array.from({ length: 32 }, (e, t) => [Hn(t + 1, 2), Hn(
3025
3019
  }
3026
3020
  assembleRenderPasses(e, t) {
3027
3021
  let n = Xe(e, t), r = n;
3022
+ n.setMRT(De({
3023
+ output: Le,
3024
+ diffuseColor: et,
3025
+ normal: Ie(Ke),
3026
+ velocity: He
3027
+ }));
3028
3028
  for (let i of this.renderPasses.values()) r = i.assemble(n, r, e, t, this.debugMode);
3029
3029
  return r;
3030
3030
  }
@@ -3155,4 +3155,4 @@ de([ue, le("design:type", Object)], tr.prototype, "_domHelper", void 0), de([ue,
3155
3155
  //#endregion
3156
3156
  export { tr as RoomleWebGPURenderer };
3157
3157
 
3158
- //# sourceMappingURL=roomle-webgpu-renderer-RLBME9mQ.mjs.map
3158
+ //# sourceMappingURL=roomle-webgpu-renderer-CNZiK43x.mjs.map