@idetik/core 0.13.3 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -526,6 +526,13 @@ declare class Viewport {
526
526
  private getBox;
527
527
  private updateAspectRatio;
528
528
  }
529
+ declare function validateNewViewport(viewport: {
530
+ id: string;
531
+ element: HTMLElement;
532
+ }, existingViewports: {
533
+ id: string;
534
+ element: HTMLElement;
535
+ }[]): void;
529
536
  declare function parseViewportConfigs(viewportConfigs: ViewportConfig[], canvas: HTMLCanvasElement, context: IdetikContext): Viewport[];
530
537
 
531
538
  declare class ChunkStoreView {
@@ -584,7 +591,7 @@ type Overlay = {
584
591
  };
585
592
  type IdetikParams = {
586
593
  canvas: HTMLCanvasElement;
587
- viewports: [ViewportConfig, ...ViewportConfig[]];
594
+ viewports?: ViewportConfig[];
588
595
  overlays?: Overlay[];
589
596
  showStats?: boolean;
590
597
  };
@@ -595,7 +602,7 @@ declare class Idetik {
595
602
  private readonly chunkManager_;
596
603
  private readonly context_;
597
604
  private readonly renderer_;
598
- private readonly viewports_;
605
+ private viewports_;
599
606
  readonly canvas: HTMLCanvasElement;
600
607
  readonly overlays: Overlay[];
601
608
  private readonly stats_?;
@@ -607,7 +614,7 @@ declare class Idetik {
607
614
  *
608
615
  * @param params - Configuration parameters for the Idetik instance
609
616
  * @param params.canvas - HTMLCanvasElement to render to
610
- * @param params.viewports - Array of viewport configurations. (At least one required.)
617
+ * @param params.viewports - Optional array of viewport configurations.
611
618
  * Each viewport renders with its own camera, layers, and controls.
612
619
  * The `element` property is optional and defaults to the canvas if not provided.
613
620
  * Elements must be unique across viewports.
@@ -647,7 +654,6 @@ declare class Idetik {
647
654
  * ]
648
655
  * });
649
656
  *
650
- * @throws {Error} If viewports array is empty or not provided
651
657
  * @throws {Error} If viewports have duplicate IDs or shared elements
652
658
  */
653
659
  constructor(params: IdetikParams);
@@ -659,7 +665,10 @@ declare class Idetik {
659
665
  totalBytes: number;
660
666
  };
661
667
  get viewports(): readonly Viewport[];
668
+ get running(): boolean;
662
669
  getViewport(id: string): Viewport | undefined;
670
+ addViewport(config: ViewportConfig): Viewport;
671
+ removeViewport(viewport: Viewport): boolean;
663
672
  start(): this;
664
673
  private animate;
665
674
  stop(): void;
@@ -1995,4 +2004,4 @@ declare class Texture3D extends Texture {
1995
2004
  static createWithChunk(chunk: Chunk): Texture3D;
1996
2005
  }
1997
2006
 
1998
- export { AxesLayer, Box2, Box3, type CameraControls, type ChannelProps, type ChannelsEnabled, type Chunk, type ChunkLoader, ChunkedImageLayer, Color, type ColorLike, EventContext, Frustum, Idetik, ImageLayer, ImageSeriesLayer, type ImageSourcePolicy, type ImageSourcePolicyConfig, LabelImageLayer, Layer, LayerManager, type LayerState, Image as OmeZarrImage, OmeZarrImageSource, type OmeroChannel, type OmeroMetadata, OrbitControls, OrthographicCamera, PanZoomControls, PerspectiveCamera, Plane, type PointPickingResult, Points, type PriorityCategory, ProjectedLineLayer, type Region, type SliceCoordinates, Spherical, Texture2DArray, Texture3D, TracksLayer, Viewport, type ViewportConfig, VolumeLayer, WebGLRenderer, createExplorationPolicy, createImageSourcePolicy, createNoPrefetchPolicy, createPlaybackPolicy, loadOmeZarrPlate, loadOmeZarrWell, loadOmeroChannels, loadOmeroDefaults, parseViewportConfigs };
2007
+ export { AxesLayer, Box2, Box3, type CameraControls, type ChannelProps, type ChannelsEnabled, type Chunk, type ChunkLoader, ChunkedImageLayer, Color, type ColorLike, EventContext, Frustum, Idetik, ImageLayer, ImageSeriesLayer, type ImageSourcePolicy, type ImageSourcePolicyConfig, LabelImageLayer, Layer, LayerManager, type LayerState, Image as OmeZarrImage, OmeZarrImageSource, type OmeroChannel, type OmeroMetadata, OrbitControls, OrthographicCamera, PanZoomControls, PerspectiveCamera, Plane, type PointPickingResult, Points, type PriorityCategory, ProjectedLineLayer, type Region, type SliceCoordinates, Spherical, Texture2DArray, Texture3D, TracksLayer, Viewport, type ViewportConfig, VolumeLayer, WebGLRenderer, createExplorationPolicy, createImageSourcePolicy, createNoPrefetchPolicy, createPlaybackPolicy, loadOmeZarrPlate, loadOmeZarrWell, loadOmeroChannels, loadOmeroDefaults, parseViewportConfigs, validateNewViewport };