@kuraykaraaslan/kui-viewer 0.1.0 → 0.1.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 (85) hide show
  1. package/README.md +9 -1
  2. package/dist/index.js +5276 -4787
  3. package/dist/index.js.map +1 -1
  4. package/dist/libs/three-helpers/selection-highlight.d.ts +7 -1
  5. package/dist/libs/three-helpers/selection-highlight.d.ts.map +1 -1
  6. package/dist/modules/clipping/clipping.service.d.ts +33 -1
  7. package/dist/modules/clipping/clipping.service.d.ts.map +1 -1
  8. package/dist/modules/clipping/clipping.store.d.ts +1 -0
  9. package/dist/modules/clipping/clipping.store.d.ts.map +1 -1
  10. package/dist/modules/clipping/clipping.types.d.ts +1 -0
  11. package/dist/modules/clipping/clipping.types.d.ts.map +1 -1
  12. package/dist/modules/domains/bim/extensions/BimClippingExtension.d.ts +4 -0
  13. package/dist/modules/domains/bim/extensions/BimClippingExtension.d.ts.map +1 -1
  14. package/dist/modules/domains/bim/extensions/BimMeasurementExtension.d.ts.map +1 -1
  15. package/dist/modules/domains/bim/extensions/BimVisibilityExtension.d.ts.map +1 -1
  16. package/dist/modules/domains/bim/ui/BcfDialog.constants.d.ts +3 -3
  17. package/dist/modules/domains/bim/ui/BcfDialog.constants.d.ts.map +1 -1
  18. package/dist/modules/domains/bim/ui/ClippingPanel.d.ts.map +1 -1
  19. package/dist/modules/domains/bim/ui/MeasurementToolbar.d.ts +5 -1
  20. package/dist/modules/domains/bim/ui/MeasurementToolbar.d.ts.map +1 -1
  21. package/dist/modules/domains/bim/ui/VisibilityToolbar.d.ts.map +1 -1
  22. package/dist/modules/extensions/ContextMenu/ContextMenuExtension.d.ts +11 -0
  23. package/dist/modules/extensions/ContextMenu/ContextMenuExtension.d.ts.map +1 -0
  24. package/dist/modules/extensions/Horizon/HorizonExtension.d.ts.map +1 -1
  25. package/dist/modules/extensions/IotSensors/IotSensorsExtension.d.ts.map +1 -1
  26. package/dist/modules/extensions/MapTile/MapTileExtension.mesh.d.ts.map +1 -1
  27. package/dist/modules/extensions/Picking/PickingExtension.d.ts +13 -0
  28. package/dist/modules/extensions/Picking/PickingExtension.d.ts.map +1 -0
  29. package/dist/modules/extensions/Snap/SnapExtension.d.ts +7 -0
  30. package/dist/modules/extensions/Snap/SnapExtension.d.ts.map +1 -0
  31. package/dist/modules/index.viewer-core.d.ts +1 -0
  32. package/dist/modules/index.viewer-core.d.ts.map +1 -1
  33. package/dist/modules/measurement/measurement.service.d.ts +8 -1
  34. package/dist/modules/measurement/measurement.service.d.ts.map +1 -1
  35. package/dist/modules/measurement/measurement.store.d.ts +6 -0
  36. package/dist/modules/measurement/measurement.store.d.ts.map +1 -1
  37. package/dist/modules/measurement/renderer.d.ts +3 -1
  38. package/dist/modules/measurement/renderer.d.ts.map +1 -1
  39. package/dist/modules/measurement/snap.d.ts +1 -4
  40. package/dist/modules/measurement/snap.d.ts.map +1 -1
  41. package/dist/modules/ui/Button.d.ts +11 -0
  42. package/dist/modules/ui/Button.d.ts.map +1 -0
  43. package/dist/modules/ui/index.d.ts +1 -0
  44. package/dist/modules/ui/index.d.ts.map +1 -1
  45. package/dist/modules/viewer-core/context-menu/context-menu.d.ts +20 -0
  46. package/dist/modules/viewer-core/context-menu/context-menu.d.ts.map +1 -0
  47. package/dist/modules/viewer-core/helpers/helpers.d.ts.map +1 -1
  48. package/dist/modules/viewer-core/input/input-handlers.d.ts +16 -2
  49. package/dist/modules/viewer-core/input/input-handlers.d.ts.map +1 -1
  50. package/dist/modules/viewer-core/input/input-manager.d.ts +11 -0
  51. package/dist/modules/viewer-core/input/input-manager.d.ts.map +1 -1
  52. package/dist/modules/viewer-core/input/input.store.d.ts +8 -0
  53. package/dist/modules/viewer-core/input/input.store.d.ts.map +1 -1
  54. package/dist/modules/viewer-core/input/layers/snap-layer.d.ts +11 -3
  55. package/dist/modules/viewer-core/input/layers/snap-layer.d.ts.map +1 -1
  56. package/dist/modules/viewer-core/input/mouse-manager.d.ts +5 -0
  57. package/dist/modules/viewer-core/input/mouse-manager.d.ts.map +1 -1
  58. package/dist/modules/viewer-core/input/snap-glyph-renderer.d.ts +7 -0
  59. package/dist/modules/viewer-core/input/snap-glyph-renderer.d.ts.map +1 -0
  60. package/dist/modules/viewer-core/modal/drag-controller.d.ts.map +1 -1
  61. package/dist/modules/viewer-core/modal/index.d.ts +1 -0
  62. package/dist/modules/viewer-core/modal/index.d.ts.map +1 -1
  63. package/dist/modules/viewer-core/modal/modal-window.chrome.d.ts.map +1 -1
  64. package/dist/modules/viewer-core/modal/modal-window.d.ts +1 -0
  65. package/dist/modules/viewer-core/modal/modal-window.d.ts.map +1 -1
  66. package/dist/modules/viewer-core/modal/open-or-focus-modal.d.ts +3 -0
  67. package/dist/modules/viewer-core/modal/open-or-focus-modal.d.ts.map +1 -0
  68. package/dist/modules/viewer-core/modal/styles.d.ts +1 -0
  69. package/dist/modules/viewer-core/modal/styles.d.ts.map +1 -1
  70. package/dist/modules/viewer-core/picking/picking.service.d.ts +13 -0
  71. package/dist/modules/viewer-core/picking/picking.service.d.ts.map +1 -1
  72. package/dist/modules/viewer-core/viewer/viewer.d.ts +18 -0
  73. package/dist/modules/viewer-core/viewer/viewer.d.ts.map +1 -1
  74. package/dist/modules/viewer-core/viewer/viewer.render-loop.d.ts +5 -0
  75. package/dist/modules/viewer-core/viewer/viewer.render-loop.d.ts.map +1 -1
  76. package/dist/modules/viewer-core/visibility/visibility.d.ts +14 -1
  77. package/dist/modules/viewer-core/visibility/visibility.d.ts.map +1 -1
  78. package/dist/modules/viewer-core/visibility/visibility.service.d.ts +1 -1
  79. package/dist/modules/viewer-core/visibility/visibility.service.d.ts.map +1 -1
  80. package/dist/react/index.js +2348 -2155
  81. package/dist/react/index.js.map +1 -1
  82. package/dist/styles.css +127 -15
  83. package/package.json +4 -1
  84. package/dist/libs/three-helpers/clipping-gizmo.d.ts +0 -5
  85. package/dist/libs/three-helpers/clipping-gizmo.d.ts.map +0 -1
@@ -1,5 +1,6 @@
1
1
  import { Vector3 } from "three";
2
2
  import type { PerspectiveCamera, Scene } from "three";
3
+ import { type SnapKind } from "../../../measurement/snap";
3
4
  export interface SnapLayerHost {
4
5
  readonly canvas: HTMLCanvasElement;
5
6
  readonly camera: PerspectiveCamera;
@@ -8,13 +9,20 @@ export interface SnapLayerHost {
8
9
  export interface ResolveOpts {
9
10
  /** F3 / store: master snap toggle. */
10
11
  readonly enabled: boolean;
11
- /** If set, the ground-plane fallback uses this point's z (so a 2D-on-Z
12
- * command keeps drawing on the same plane). */
12
+ /** If set, the ground-plane fallback uses this point's y (world height in
13
+ * this Y-up scene) so a 2D-on-plane command keeps drawing at the same
14
+ * elevation as its first point. */
13
15
  readonly basePoint?: Vector3;
14
16
  }
17
+ export interface SnapResolution {
18
+ readonly point: Vector3;
19
+ /** "none" when the point came from the ground-plane fallback rather than
20
+ * a real mesh-feature snap. */
21
+ readonly kind: SnapKind | "none";
22
+ }
15
23
  export declare class SnapLayer {
16
24
  private readonly host;
17
25
  constructor(host: SnapLayerHost);
18
- resolve(e: PointerEvent, opts: ResolveOpts): Vector3;
26
+ resolve(e: PointerEvent, opts: ResolveOpts): SnapResolution | null;
19
27
  }
20
28
  //# sourceMappingURL=snap-layer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"snap-layer.d.ts","sourceRoot":"","sources":["../../../../../modules/viewer-core/input/layers/snap-layer.ts"],"names":[],"mappings":"AAMA,OAAO,EAIL,OAAO,EACR,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAGtD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,sCAAsC;IACtC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B;oDACgD;IAChD,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAOD,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAEhD,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO;CAuBrD"}
1
+ {"version":3,"file":"snap-layer.d.ts","sourceRoot":"","sources":["../../../../../modules/viewer-core/input/layers/snap-layer.ts"],"names":[],"mappings":"AAYA,OAAO,EAIL,OAAO,EACR,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAAoB,KAAK,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE5E,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,sCAAsC;IACtC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B;;wCAEoC;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB;oCACgC;IAChC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;CAClC;AAOD,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAEhD,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,GAAG,cAAc,GAAG,IAAI;CAuBnE"}
@@ -16,6 +16,11 @@ export interface MouseManagerCallbacks {
16
16
  onDoubleClick: (e: PointerEvent) => void;
17
17
  /** Right-click during active command — ESC. */
18
18
  onCancelClick: () => void;
19
+ /** Right-click while idle (no active command) — the seam for a
20
+ * context menu. Not stopped/prevented here; the callback decides
21
+ * whether to suppress the native menu (only when it has something to
22
+ * show), so right-click over empty canvas still gets the native menu. */
23
+ onIdleRightClick: (e: MouseEvent) => void;
19
24
  }
20
25
  export declare class MouseManager {
21
26
  private readonly host;
@@ -1 +1 @@
1
- {"version":3,"file":"mouse-manager.d.ts","sourceRoot":"","sources":["../../../../modules/viewer-core/input/mouse-manager.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAGtD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC;sCACkC;IAClC,aAAa,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IACzC;8CAC0C;IAC1C,aAAa,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IACzC;8CAC0C;IAC1C,aAAa,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IACzC,+CAA+C;IAC/C,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmB;IACxC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAwB;IAC3C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4B;IAC1D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4B;IAC1D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0B;IACxD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0B;IACxD,OAAO,CAAC,QAAQ,CAAS;gBAEb,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,qBAAqB;IAa7D,OAAO,IAAI,IAAI;IASf,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,iBAAiB;CAU1B"}
1
+ {"version":3,"file":"mouse-manager.d.ts","sourceRoot":"","sources":["../../../../modules/viewer-core/input/mouse-manager.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAGtD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC;sCACkC;IAClC,aAAa,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IACzC;8CAC0C;IAC1C,aAAa,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IACzC;8CAC0C;IAC1C,aAAa,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IACzC,+CAA+C;IAC/C,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B;;;8EAG0E;IAC1E,gBAAgB,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;CAC3C;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmB;IACxC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAwB;IAC3C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4B;IAC1D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4B;IAC1D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0B;IACxD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0B;IACxD,OAAO,CAAC,QAAQ,CAAS;gBAEb,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,qBAAqB;IAa7D,OAAO,IAAI,IAAI;IASf,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,iBAAiB;CAiB1B"}
@@ -0,0 +1,7 @@
1
+ import type { Scene } from "three";
2
+ import type { SnapResolution } from "./layers/snap-layer";
3
+ export declare const snapGlyphRenderer: {
4
+ sync(hoverSnap: SnapResolution | null, scene: Scene): void;
5
+ dispose(scene: Scene): void;
6
+ };
7
+ //# sourceMappingURL=snap-glyph-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snap-glyph-renderer.d.ts","sourceRoot":"","sources":["../../../../modules/viewer-core/input/snap-glyph-renderer.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAY1D,eAAO,MAAM,iBAAiB;oBACZ,cAAc,GAAG,IAAI,SAAS,KAAK,GAAG,IAAI;mBAmB3C,KAAK,GAAG,IAAI;CAO5B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"drag-controller.d.ts","sourceRoot":"","sources":["../../../../modules/viewer-core/modal/drag-controller.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAItE,MAAM,WAAW,kBAAkB;IACjC,yEAAyE;IACzE,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IACrC,yDAAyD;IACzD,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,qBAAqB;IACpC,yDAAyD;IACzD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,mEAAmE;IACnE,QAAQ,CAAC,OAAO,EAAE,MAAM,SAAS,CAAC;IAClC,sEAAsE;IACtE,QAAQ,CAAC,SAAS,EAAE,MAAM,SAAS,CAAC;IACpC,oEAAoE;IACpE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC;gEAC4D;IAC5D,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,kBAAkB,CAAC;IACrE,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC;IAC/B,uDAAuD;IACvD,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9C,oFAAoF;IACpF,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;IAC9B,yEAAyE;IACzE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,sEAAsE;IACtE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,oBAAoB;IACnC,kCAAkC;IAClC,MAAM,IAAI,IAAI,CAAC;IACf,OAAO,IAAI,IAAI,CAAC;CACjB;AAaD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,qBAAqB,GAAG,oBAAoB,CAiItF"}
1
+ {"version":3,"file":"drag-controller.d.ts","sourceRoot":"","sources":["../../../../modules/viewer-core/modal/drag-controller.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAItE,MAAM,WAAW,kBAAkB;IACjC,yEAAyE;IACzE,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IACrC,yDAAyD;IACzD,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,qBAAqB;IACpC,yDAAyD;IACzD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,mEAAmE;IACnE,QAAQ,CAAC,OAAO,EAAE,MAAM,SAAS,CAAC;IAClC,sEAAsE;IACtE,QAAQ,CAAC,SAAS,EAAE,MAAM,SAAS,CAAC;IACpC,oEAAoE;IACpE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC;gEAC4D;IAC5D,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,kBAAkB,CAAC;IACrE,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC;IAC/B,uDAAuD;IACvD,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9C,oFAAoF;IACpF,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;IAC9B,yEAAyE;IACzE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,sEAAsE;IACtE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,oBAAoB;IACnC,kCAAkC;IAClC,MAAM,IAAI,IAAI,CAAC;IACf,OAAO,IAAI,IAAI,CAAC;CACjB;AAaD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,qBAAqB,GAAG,oBAAoB,CAyItF"}
@@ -1,5 +1,6 @@
1
1
  export { ModalManager } from "./modal-manager";
2
2
  export type { ModalManagerOptions } from "./modal-manager";
3
+ export { openOrFocusModal } from "./open-or-focus-modal";
3
4
  export { asModalId, asTabGroupId, asSplitId } from "./modal.types";
4
5
  export type { ModalId, TabGroupId, SplitId, ModalSpec, ModalHandle, ModalState, ModalContent, ModalRect, ModalSize, DockTarget, SidebarLayoutNode, TabsNode, SplitNode, SidebarReadView, ModalManagerLike, } from "./modal.types";
5
6
  export { createFocusTrap, getFirstFocusable, attachEscapeKey, } from "./a11y";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../modules/viewer-core/modal/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACnE,YAAY,EACV,OAAO,EACP,UAAU,EACV,OAAO,EACP,SAAS,EACT,WAAW,EACX,UAAU,EACV,YAAY,EACZ,SAAS,EACT,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,QAAQ,EACR,SAAS,EACT,eAAe,EACf,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,eAAe,GAChB,MAAM,QAAQ,CAAC;AAChB,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE1D,OAAO,EACL,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,WAAW,EACX,MAAM,EACN,IAAI,GACL,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../modules/viewer-core/modal/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACnE,YAAY,EACV,OAAO,EACP,UAAU,EACV,OAAO,EACP,SAAS,EACT,WAAW,EACX,UAAU,EACV,YAAY,EACZ,SAAS,EACT,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,QAAQ,EACR,SAAS,EACT,eAAe,EACf,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,eAAe,GAChB,MAAM,QAAQ,CAAC;AAChB,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE1D,OAAO,EACL,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,WAAW,EACX,MAAM,EACN,IAAI,GACL,MAAM,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"modal-window.chrome.d.ts","sourceRoot":"","sources":["../../../../modules/viewer-core/modal/modal-window.chrome.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAQnE,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,QAAQ,CAAC;AAGhB;iEACiE;AACjE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,sEAAsE;IACtE,QAAQ,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC;IACpC,gFAAgF;IAChF,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC;CACpC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,cAAc,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CACnD;AAED,2EAA2E;AAC3E,wBAAgB,eAAe,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAOtE;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,aAAa,GAAG,WAAW,CAsFhE"}
1
+ {"version":3,"file":"modal-window.chrome.d.ts","sourceRoot":"","sources":["../../../../modules/viewer-core/modal/modal-window.chrome.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AASnE,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,QAAQ,CAAC;AAGhB;iEACiE;AACjE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,sEAAsE;IACtE,QAAQ,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC;IACpC,gFAAgF;IAChF,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC;CACpC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,cAAc,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CACnD;AAED,2EAA2E;AAC3E,wBAAgB,eAAe,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAOtE;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,aAAa,GAAG,WAAW,CAuGhE"}
@@ -2,6 +2,7 @@ import type { DockTarget, ModalHandle, ModalId, ModalRect, ModalSize, ModalSpec,
2
2
  import type { ModalWindowDeps } from "./modal-window.types";
3
3
  export type { ModalWindowDeps } from "./modal-window.types";
4
4
  export declare class ModalWindow implements ModalHandle {
5
+ private readonly spec;
5
6
  private readonly deps;
6
7
  readonly id: ModalId;
7
8
  readonly el: HTMLDivElement;
@@ -1 +1 @@
1
- {"version":3,"file":"modal-window.d.ts","sourceRoot":"","sources":["../../../../modules/viewer-core/modal/modal-window.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,OAAO,EACP,SAAS,EACT,SAAS,EACT,SAAS,EACT,UAAU,EACX,MAAM,eAAe,CAAC;AAQvB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAK5D,qBAAa,WAAY,YAAW,WAAW;IAiC3C,OAAO,CAAC,QAAQ,CAAC,IAAI;IAhCvB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAE3B,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,WAAW,CAAY;IAC/B,OAAO,CAAC,gBAAgB,CAAY;IACpC,OAAO,CAAC,IAAI,CAAqC;IAIjD,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAC,CAAa;IACpC,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAU;gBAG5C,EAAE,EAAE,OAAO,EACX,IAAI,EAAE,SAAS,EACE,IAAI,EAAE,eAAe;IAuCxC,KAAK,IAAI,UAAU;IAcnB,KAAK,IAAI,IAAI;IAIb,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAMzB,OAAO,CAAC,CAAC,EAAE,SAAS,GAAG,IAAI;IAO3B,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAO9B,MAAM,IAAI,IAAI;IAId,KAAK,IAAI,IAAI;IAKb,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,GAAG,MAAM,IAAI;IAQlD,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,QAAQ,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI;IAY/D,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAM1B,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI;IAK5B,2EAA2E;IAC3E,mBAAmB,IAAI,SAAS;IAIhC,qFAAqF;IACrF,OAAO,IAAI,IAAI;IAuCf,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,OAAO;CAWhB"}
1
+ {"version":3,"file":"modal-window.d.ts","sourceRoot":"","sources":["../../../../modules/viewer-core/modal/modal-window.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,OAAO,EACP,SAAS,EACT,SAAS,EACT,SAAS,EACT,UAAU,EACX,MAAM,eAAe,CAAC;AAQvB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAK5D,qBAAa,WAAY,YAAW,WAAW;IAgC3C,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAhCvB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAE3B,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,WAAW,CAAY;IAC/B,OAAO,CAAC,gBAAgB,CAAY;IACpC,OAAO,CAAC,IAAI,CAAqC;IAIjD,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAC,CAAa;IACpC,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAU;gBAG5C,EAAE,EAAE,OAAO,EACM,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,eAAe;IAuCxC,KAAK,IAAI,UAAU;IAcnB,KAAK,IAAI,IAAI;IAIb,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAMzB,OAAO,CAAC,CAAC,EAAE,SAAS,GAAG,IAAI;IAO3B,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAO9B,MAAM,IAAI,IAAI;IAId,KAAK,IAAI,IAAI;IAKb,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,GAAG,MAAM,IAAI;IAQlD,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,QAAQ,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI;IAY/D,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAM1B,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI;IAK5B,2EAA2E;IAC3E,mBAAmB,IAAI,SAAS;IAIhC,qFAAqF;IACrF,OAAO,IAAI,IAAI;IA4Cf,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,OAAO;CAWhB"}
@@ -0,0 +1,3 @@
1
+ import { type ModalHandle, type ModalManagerLike, type ModalSpec } from "./modal.types";
2
+ export declare function openOrFocusModal(modals: ModalManagerLike, id: string, buildSpec: () => Omit<ModalSpec, "id">): ModalHandle;
3
+ //# sourceMappingURL=open-or-focus-modal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-or-focus-modal.d.ts","sourceRoot":"","sources":["../../../../modules/viewer-core/modal/open-or-focus-modal.ts"],"names":[],"mappings":"AASA,OAAO,EAAa,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAEnG,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,gBAAgB,EACxB,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GACrC,WAAW,CAOb"}
@@ -7,6 +7,7 @@ export declare const STYLE_MODAL_LAYER: Partial<CSSStyleDeclaration>;
7
7
  export declare const STYLE_MODAL_WINDOW: Partial<CSSStyleDeclaration>;
8
8
  export declare const STYLE_MODAL_HEADER: Partial<CSSStyleDeclaration>;
9
9
  export declare const STYLE_MODAL_TITLE: Partial<CSSStyleDeclaration>;
10
+ export declare const STYLE_MODAL_ICON: Partial<CSSStyleDeclaration>;
10
11
  export declare const STYLE_MODAL_ICON_BTN: Partial<CSSStyleDeclaration>;
11
12
  export declare const STYLE_MODAL_BODY: Partial<CSSStyleDeclaration>;
12
13
  /** Drop-zone overlay shown during drag — translucent fill + dashed outline. */
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../modules/viewer-core/modal/styles.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,aAAa,MAAgB,CAAC;AAE3C;;mEAEmE;AACnE,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAMtD;AAED,eAAO,MAAM,iBAAiB,EAAE,OAAO,CAAC,mBAAmB,CAK1D,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,OAAO,CAAC,mBAAmB,CAa3D,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,OAAO,CAAC,mBAAmB,CAS3D,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,OAAO,CAAC,mBAAmB,CAQ1D,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,OAAO,CAAC,mBAAmB,CAW7D,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,OAAO,CAAC,mBAAmB,CAIzD,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,gBAAgB,EAAE,OAAO,CAAC,mBAAmB,CASzD,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,OAAO,CAAC,mBAAmB,CAY/D,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,OAAO,CAAC,mBAAmB,CASxD,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,OAAO,CAAC,mBAAmB,CAWzD,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,OAAO,CAAC,mBAAmB,CAIhE,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,OAAO,CAAC,mBAAmB,CAIjE,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAK3E,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAoBhF"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../modules/viewer-core/modal/styles.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,aAAa,MAAgB,CAAC;AAE3C;;mEAEmE;AACnE,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAMtD;AAED,eAAO,MAAM,iBAAiB,EAAE,OAAO,CAAC,mBAAmB,CAK1D,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,OAAO,CAAC,mBAAmB,CAa3D,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,OAAO,CAAC,mBAAmB,CAS3D,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,OAAO,CAAC,mBAAmB,CAQ1D,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,OAAO,CAAC,mBAAmB,CAQzD,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,OAAO,CAAC,mBAAmB,CAW7D,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,OAAO,CAAC,mBAAmB,CAIzD,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,gBAAgB,EAAE,OAAO,CAAC,mBAAmB,CASzD,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,OAAO,CAAC,mBAAmB,CAY/D,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,OAAO,CAAC,mBAAmB,CASxD,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,OAAO,CAAC,mBAAmB,CAWzD,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,OAAO,CAAC,mBAAmB,CAIhE,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,OAAO,CAAC,mBAAmB,CAIjE,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAK3E,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAoBhF"}
@@ -4,6 +4,10 @@ export interface PickingAttachOptions {
4
4
  camera: PerspectiveCamera;
5
5
  scene: Scene;
6
6
  }
7
+ export interface PickHit {
8
+ globalId: string;
9
+ dbId: number | null;
10
+ }
7
11
  export declare class Picking {
8
12
  private readonly raycaster;
9
13
  private readonly pointer;
@@ -17,6 +21,15 @@ export declare class Picking {
17
21
  dispose(): void;
18
22
  onPointerMove(event: PointerEvent, canvas: HTMLCanvasElement, camera: PerspectiveCamera, scene: Scene): void;
19
23
  onPointerDown(event: PointerEvent, canvas: HTMLCanvasElement, camera: PerspectiveCamera, scene: Scene): void;
24
+ /**
25
+ * One-shot raycast against `scene` at the event's screen position,
26
+ * returning the first selectable hit (an object carrying `userData.globalId`)
27
+ * or `null`. Used both internally by `castAndApply` and externally by
28
+ * consumers (e.g. a right-click context menu) that need to know what's
29
+ * under the cursor without going through the hover/select store side effects.
30
+ */
31
+ pickAt(event: PointerEvent | MouseEvent, canvas: HTMLCanvasElement, camera: PerspectiveCamera, scene: Scene): PickHit | null;
32
+ private raycastFirst;
20
33
  private castAndApply;
21
34
  }
22
35
  export default class PickingService {
@@ -1 +1 @@
1
- {"version":3,"file":"picking.service.d.ts","sourceRoot":"","sources":["../../../../modules/viewer-core/picking/picking.service.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAgB,MAAM,OAAO,CAAC;AAGpE,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,KAAK,CAAC;CACd;AAED,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,gBAAgB,CAAgD;IACxE,OAAO,CAAC,gBAAgB,CAAgD;IACxE,OAAO,CAAC,QAAQ,CAAS;IAEzB,MAAM,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI;IAuBxC,MAAM,IAAI,IAAI;IAoBd,OAAO,IAAI,IAAI;IAKf,aAAa,CACX,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,KAAK,GACX,IAAI;IAUP,aAAa,CACX,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,KAAK,GACX,IAAI;IAMP,OAAO,CAAC,YAAY;CA0BrB;AAOD,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC,MAAM,CAAC,aAAa,CAClB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,KAAK,GACX,IAAI;IAIP,MAAM,CAAC,aAAa,CAClB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,KAAK,GACX,IAAI;CAGR"}
1
+ {"version":3,"file":"picking.service.d.ts","sourceRoot":"","sources":["../../../../modules/viewer-core/picking/picking.service.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAgB,MAAM,OAAO,CAAC;AAIpE,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,KAAK,CAAC;CACd;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,gBAAgB,CAAgD;IACxE,OAAO,CAAC,gBAAgB,CAAgD;IACxE,OAAO,CAAC,QAAQ,CAAS;IAEzB,MAAM,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI;IAuBxC,MAAM,IAAI,IAAI;IAoBd,OAAO,IAAI,IAAI;IAKf,aAAa,CACX,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,KAAK,GACX,IAAI;IAUP,aAAa,CACX,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,KAAK,GACX,IAAI;IAWP;;;;;;OAMG;IACH,MAAM,CACJ,KAAK,EAAE,YAAY,GAAG,UAAU,EAChC,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,KAAK,GACX,OAAO,GAAG,IAAI;IAWjB,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,YAAY;CAkBrB;AAOD,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC,MAAM,CAAC,aAAa,CAClB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,KAAK,GACX,IAAI;IAIP,MAAM,CAAC,aAAa,CAClB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,KAAK,GACX,IAAI;CAGR"}
@@ -46,10 +46,17 @@ export declare class Viewer {
46
46
  /** Optional consumer-supplied label; see `ViewerOptions.id`. */
47
47
  readonly id?: string;
48
48
  private resizeObserver?;
49
+ private controlsInvalidateCleanup;
49
50
  private detachContextLoss;
50
51
  private disposeLights?;
51
52
  private disposeEnvironment?;
52
53
  private composer?;
54
+ /** HTML/CSS overlay for `CSS2DObject`s (e.g. measurement value labels).
55
+ * Rendered every frame from the "after-render" loop stage — see
56
+ * `setupFrameLoop`. Without this, anything that adds a `CSS2DObject` to
57
+ * the scene (measurement/renderer.ts) builds a DOM node that never gets
58
+ * attached to the document, so it silently never appears. */
59
+ private readonly css2dRenderer;
53
60
  private disposed;
54
61
  constructor(opts: ViewerOptions);
55
62
  /** Sugar: forward to the per-viewer ExtensionManager. */
@@ -67,6 +74,17 @@ export declare class Viewer {
67
74
  type?: string;
68
75
  quality?: number;
69
76
  }): string;
77
+ /**
78
+ * Request one more frame from the on-demand render loop. Camera moves
79
+ * (drag/zoom/pan/animated flights) already invalidate via the
80
+ * OrbitControls "change" listener wired in the constructor; call this
81
+ * after any other scene/material mutation that should repaint — a
82
+ * clipping-plane drag, a visibility/selection change, a measurement
83
+ * gizmo update. No-op cost when already scheduled (RenderLoop coalesces
84
+ * repeat calls within one frame).
85
+ */
86
+ invalidate(): void;
87
+ private attachControlsInvalidate;
70
88
  private ensureContainerPositioned;
71
89
  private handleResize;
72
90
  dispose(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"viewer.d.ts","sourceRoot":"","sources":["../../../../modules/viewer-core/viewer/viewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAMlF,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAKrD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAItD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAOpD,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE9E,qBAAa,MAAM;IACjB,QAAQ,CAAC,KAAK,sCAAqB;IACnC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAKzC,QAAQ,EAAE,aAAa,CAAC;IACxB,QAAQ,CAAC,IAAI,aAAoB;IACjC,QAAQ,CAAC,GAAG,YAAmB;IAC/B,QAAQ,CAAC,MAAM,eAAsB;IACrC,QAAQ,CAAC,UAAU,mBAA8B;IACjD,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B;;6EAEyE;IACzE,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC;;6DAEyD;IACzD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC;;+CAE2C;IAC3C,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA0B;IAC3D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAa;IAChD,gEAAgE;IAChE,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,aAAa,CAAC,CAAa;IACnC,OAAO,CAAC,kBAAkB,CAAC,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,CAAe;IAChC,OAAO,CAAC,QAAQ,CAAS;gBAEb,IAAI,EAAE,aAAa;IAkI/B,yDAAyD;IACzD,aAAa,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAC3C,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,CAAC,CAAC;IAIb,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7C,YAAY,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAIxE;;;;;OAKG;IACH,UAAU,CACR,IAAI,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GAChE,MAAM;IAST,OAAO,CAAC,yBAAyB;IAcjC,OAAO,CAAC,YAAY;IAed,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAiC/B"}
1
+ {"version":3,"file":"viewer.d.ts","sourceRoot":"","sources":["../../../../modules/viewer-core/viewer/viewer.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type * as THREE from "three";
2
2
  import type { OrbitControls } from "three/examples/jsm/controls/OrbitControls.js";
3
+ import type { CSS2DRenderer } from "three/examples/jsm/renderers/CSS2DRenderer.js";
3
4
  import type { RenderLoop } from "../renderer/render-loop";
4
5
  import type { RtcOrigin } from "../rtc-origin/rtc-origin";
5
6
  import type { ViewerEvents } from "../events/events";
@@ -18,6 +19,10 @@ export interface FrameLoopContext {
18
19
  getComposer?: () => {
19
20
  render: () => void;
20
21
  } | null;
22
+ /** HTML/CSS overlay renderer for `CSS2DObject`s (e.g. measurement value
23
+ * labels — see measurement/renderer.ts). Rendered every frame right after
24
+ * the WebGL pass so its DOM-positioned labels track the 3D scene. */
25
+ css2dRenderer: CSS2DRenderer;
21
26
  /** Read at microtask time so a synchronous dispose suppresses `viewer:ready`. */
22
27
  isDisposed: () => boolean;
23
28
  autoStart: boolean | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"viewer.render-loop.d.ts","sourceRoot":"","sources":["../../../../modules/viewer-core/viewer/viewer.render-loop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAElF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGrD,0EAA0E;AAC1E,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC;IAC9B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;IACnB,MAAM,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAChC,GAAG,EAAE,SAAS,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;IACrB,sEAAsE;IACtE,WAAW,EAAE,MAAM,aAAa,CAAC;IACjC;kEAC8D;IAC9D,WAAW,CAAC,EAAE,MAAM;QAAE,MAAM,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IAClD,iFAAiF;IACjF,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,IAAI,CAsEhE"}
1
+ {"version":3,"file":"viewer.render-loop.d.ts","sourceRoot":"","sources":["../../../../modules/viewer-core/viewer/viewer.render-loop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAEnF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGrD,0EAA0E;AAC1E,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC;IAC9B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;IACnB,MAAM,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAChC,GAAG,EAAE,SAAS,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;IACrB,sEAAsE;IACtE,WAAW,EAAE,MAAM,aAAa,CAAC;IACjC;kEAC8D;IAC9D,WAAW,CAAC,EAAE,MAAM;QAAE,MAAM,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IAClD;;0EAEsE;IACtE,aAAa,EAAE,aAAa,CAAC;IAC7B,iFAAiF;IACjF,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,IAAI,CA6EhE"}
@@ -1,12 +1,24 @@
1
1
  export declare class Visibility {
2
+ private readonly invalidate;
2
3
  private unsubscribeVisibility;
3
4
  private unsubscribeSelection;
4
5
  private highlightColor;
5
6
  private defaultColor;
7
+ private highlightOverlay;
8
+ private readonly instanceMatrixScratch;
9
+ private readonly worldMatrixScratch;
6
10
  private originalMaterials;
7
11
  private lastHighlightedId;
8
12
  private perInstanceGhostIds;
9
- constructor();
13
+ /**
14
+ * @param invalidate Requests a repaint from the owning Viewer's on-demand
15
+ * render loop. Hide/isolate/ghost/highlight all mutate InstancedMesh2
16
+ * instance attributes directly (setVisibilityAt/setColorAt/material
17
+ * swap) rather than going through anything else that already
18
+ * invalidates, so without this a Visibility.* command would update the
19
+ * GPU buffers but the canvas would keep showing the last-rendered frame.
20
+ */
21
+ constructor(invalidate?: () => void);
10
22
  dispose(): void;
11
23
  setPerInstanceGhost(globalId: string, on: boolean): void;
12
24
  isPerInstanceGhostSupported(): boolean;
@@ -14,6 +26,7 @@ export declare class Visibility {
14
26
  private applyState;
15
27
  private applyOne;
16
28
  private applySelection;
29
+ private resolveHighlightTarget;
17
30
  private swapToGhostMaterial;
18
31
  private restoreOriginalMaterial;
19
32
  private swapAllRegisteredToGhost;
@@ -1 +1 @@
1
- {"version":3,"file":"visibility.d.ts","sourceRoot":"","sources":["../../../../modules/viewer-core/visibility/visibility.ts"],"names":[],"mappings":"AA0BA,qBAAa,UAAU;IACrB,OAAO,CAAC,qBAAqB,CAA6B;IAC1D,OAAO,CAAC,oBAAoB,CAA6B;IAIzD,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,YAAY,CAAuB;IAK3C,OAAO,CAAC,iBAAiB,CAA+B;IAKxD,OAAO,CAAC,iBAAiB,CAAuB;IAKhD,OAAO,CAAC,mBAAmB,CAAqB;;IAchD,OAAO,IAAI,IAAI;IAqBf,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,GAAG,IAAI;IAMxD,2BAA2B,IAAI,OAAO;IAItC,OAAO,CAAC,6BAA6B;IAerC,OAAO,CAAC,UAAU;IAgDlB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,wBAAwB;IAShC,OAAO,CAAC,6BAA6B;CAQtC"}
1
+ {"version":3,"file":"visibility.d.ts","sourceRoot":"","sources":["../../../../modules/viewer-core/visibility/visibility.ts"],"names":[],"mappings":"AA8BA,qBAAa,UAAU;IA4CT,OAAO,CAAC,QAAQ,CAAC,UAAU;IA3CvC,OAAO,CAAC,qBAAqB,CAA6B;IAC1D,OAAO,CAAC,oBAAoB,CAA6B;IAIzD,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,YAAY,CAAuB;IAU3C,OAAO,CAAC,gBAAgB,CAA8C;IACtE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IACvD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAiB;IAKpD,OAAO,CAAC,iBAAiB,CAA+B;IAKxD,OAAO,CAAC,iBAAiB,CAAuB;IAKhD,OAAO,CAAC,mBAAmB,CAAqB;IAEhD;;;;;;;OAOG;gBAC0B,UAAU,GAAE,MAAM,IAAe;IAc9D,OAAO,IAAI,IAAI;IAsBf,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,GAAG,IAAI;IAOxD,2BAA2B,IAAI,OAAO;IAItC,OAAO,CAAC,6BAA6B;IAerC,OAAO,CAAC,UAAU;IAgDlB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,cAAc;IA6BtB,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,wBAAwB;IAShC,OAAO,CAAC,6BAA6B;CAQtC"}
@@ -1,7 +1,7 @@
1
1
  export default class VisibilityService {
2
2
  private static active;
3
3
  private static initCount;
4
- static start(): void;
4
+ static start(invalidate?: () => void): void;
5
5
  static stop(): void;
6
6
  static setPerInstanceGhost(globalId: string, on: boolean): void;
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"visibility.service.d.ts","sourceRoot":"","sources":["../../../../modules/viewer-core/visibility/visibility.service.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC,OAAO,CAAC,MAAM,CAAC,MAAM,CAA2B;IAChD,OAAO,CAAC,MAAM,CAAC,SAAS,CAAK;IAE7B,MAAM,CAAC,KAAK,IAAI,IAAI;IAiBpB,MAAM,CAAC,IAAI,IAAI,IAAI;IAOnB,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,GAAG,IAAI;CAGhE"}
1
+ {"version":3,"file":"visibility.service.d.ts","sourceRoot":"","sources":["../../../../modules/viewer-core/visibility/visibility.service.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC,OAAO,CAAC,MAAM,CAAC,MAAM,CAA2B;IAChD,OAAO,CAAC,MAAM,CAAC,SAAS,CAAK;IAE7B,MAAM,CAAC,KAAK,CAAC,UAAU,GAAE,MAAM,IAAe,GAAG,IAAI;IAiBrD,MAAM,CAAC,IAAI,IAAI,IAAI;IAOnB,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,GAAG,IAAI;CAGhE"}