@idetik/core 0.4.1 → 0.4.3

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
@@ -139,11 +139,51 @@ type ChunkLoader = {
139
139
  loadChunkData(chunk: Chunk, signal: AbortSignal): Promise<void>;
140
140
  };
141
141
 
142
+ declare const ALL_CATEGORIES: readonly ["fallbackVisible", "prefetchTime", "visibleCurrent", "fallbackBackground", "prefetchSpace"];
143
+ type PriorityCategory = (typeof ALL_CATEGORIES)[number];
144
+ type ImageSourcePolicyConfig = {
145
+ profile?: string;
146
+ prefetch: {
147
+ x: number;
148
+ y: number;
149
+ z?: number;
150
+ t?: number;
151
+ };
152
+ priorityOrder: PriorityCategory[];
153
+ lod?: {
154
+ min?: number;
155
+ max?: number;
156
+ bias?: number;
157
+ };
158
+ };
159
+ type ImageSourcePolicy = Readonly<{
160
+ profile: string;
161
+ prefetch: {
162
+ x: number;
163
+ y: number;
164
+ z: number;
165
+ t: number;
166
+ };
167
+ priorityOrder: readonly PriorityCategory[];
168
+ priorityMap: Readonly<Record<PriorityCategory, number>>;
169
+ lod: {
170
+ min: number;
171
+ max: number;
172
+ bias: number;
173
+ };
174
+ }>;
175
+ declare function createImageSourcePolicy(config: ImageSourcePolicyConfig): ImageSourcePolicy;
176
+ declare function createExplorationPolicy(overrides?: Partial<ImageSourcePolicyConfig>): ImageSourcePolicy;
177
+ declare function createPlaybackPolicy(overrides?: Partial<ImageSourcePolicyConfig>): ImageSourcePolicy;
178
+ declare function createNoPrefetchPolicy(overrides?: Partial<ImageSourcePolicyConfig>): ImageSourcePolicy;
179
+
142
180
  declare class ChunkStore {
143
181
  private readonly chunks_;
144
182
  private readonly loader_;
145
183
  private readonly lowestResLOD_;
146
184
  private readonly dimensions_;
185
+ private readonly views_;
186
+ private hasHadViews_;
147
187
  constructor(loader: ChunkLoader);
148
188
  getChunksAtTime(timeIndex: number): Chunk[];
149
189
  getTimeIndex(sliceCoords: SliceCoordinates): number;
@@ -151,6 +191,12 @@ declare class ChunkStore {
151
191
  get dimensions(): SourceDimensionMap;
152
192
  getLowestResLOD(): number;
153
193
  loadChunkData(chunk: Chunk, signal: AbortSignal): Promise<void>;
194
+ createView(policy: ImageSourcePolicy): ChunkStoreView;
195
+ removeView(view: ChunkStoreView): void;
196
+ get views(): ReadonlyArray<ChunkStoreView>;
197
+ canDispose(): boolean;
198
+ updateAndCollectChunkChanges(): Set<Chunk>;
199
+ private aggregateChunkViewStates;
154
200
  private validateXYScaleRatios;
155
201
  private getAndValidateTimeDimension;
156
202
  private getAndValidateChannelDimension;
@@ -472,44 +518,6 @@ declare class Viewport {
472
518
  }
473
519
  declare function parseViewportConfigs(viewportConfigs: ViewportConfig[], canvas: HTMLCanvasElement, context: IdetikContext): Viewport[];
474
520
 
475
- declare const ALL_CATEGORIES: readonly ["fallbackVisible", "prefetchTime", "visibleCurrent", "fallbackBackground", "prefetchSpace"];
476
- type PriorityCategory = (typeof ALL_CATEGORIES)[number];
477
- type ImageSourcePolicyConfig = {
478
- profile?: string;
479
- prefetch: {
480
- x: number;
481
- y: number;
482
- z?: number;
483
- t?: number;
484
- };
485
- priorityOrder: PriorityCategory[];
486
- lod?: {
487
- min?: number;
488
- max?: number;
489
- bias?: number;
490
- };
491
- };
492
- type ImageSourcePolicy = Readonly<{
493
- profile: string;
494
- prefetch: {
495
- x: number;
496
- y: number;
497
- z: number;
498
- t: number;
499
- };
500
- priorityOrder: readonly PriorityCategory[];
501
- priorityMap: Readonly<Record<PriorityCategory, number>>;
502
- lod: {
503
- min: number;
504
- max: number;
505
- bias: number;
506
- };
507
- }>;
508
- declare function createImageSourcePolicy(config: ImageSourcePolicyConfig): ImageSourcePolicy;
509
- declare function createExplorationPolicy(overrides?: Partial<ImageSourcePolicyConfig>): ImageSourcePolicy;
510
- declare function createPlaybackPolicy(overrides?: Partial<ImageSourcePolicyConfig>): ImageSourcePolicy;
511
- declare function createNoPrefetchPolicy(overrides?: Partial<ImageSourcePolicyConfig>): ImageSourcePolicy;
512
-
513
521
  declare class ChunkStoreView {
514
522
  private readonly store_;
515
523
  private policy_;
@@ -521,13 +529,16 @@ declare class ChunkStoreView {
521
529
  private sourceMaxSquareDistance2D_;
522
530
  private readonly chunkViewStates_;
523
531
  constructor(store: ChunkStore, policy: ImageSourcePolicy);
524
- get store(): ChunkStore;
525
532
  get chunkViewStates(): ReadonlyMap<Chunk, ChunkViewState>;
533
+ getChunksAtTime(timeIndex: number): Chunk[];
534
+ getTimeIndex(sliceCoords: SliceCoordinates): number;
535
+ get lodCount(): number;
526
536
  getChunksToRender(sliceCoords: SliceCoordinates): Chunk[];
527
537
  updateChunkStates(sliceCoords: SliceCoordinates, viewport: Viewport): void;
528
538
  allVisibleLowestLODLoaded(sliceCoords: SliceCoordinates): boolean;
529
539
  get currentLOD(): number;
530
540
  maybeForgetChunk(chunk: Chunk): void;
541
+ dispose(): void;
531
542
  setImageSourcePolicy(newPolicy: ImageSourcePolicy, key: symbol): void;
532
543
  private setLOD;
533
544
  private updateChunkViewStates;
@@ -546,15 +557,10 @@ declare class ChunkStoreView {
546
557
  declare class ChunkManager {
547
558
  private readonly stores_;
548
559
  private readonly pendingStores_;
549
- private readonly views_;
550
560
  private readonly queue_;
551
561
  addView(source: ChunkSource, policy: ImageSourcePolicy): Promise<ChunkStoreView>;
552
- removeView(view: ChunkStoreView): void;
553
- private addSource;
554
- private getSourceForStore;
562
+ private getOrCreateStore;
555
563
  update(): void;
556
- private updateAndCollectChunkChanges;
557
- private aggregateChunkViewStates;
558
564
  }
559
565
 
560
566
  type Overlay = {
@@ -809,7 +815,7 @@ declare class ChunkedImageLayer extends Layer implements ChannelsEnabled {
809
815
  private readonly wireframeColors_;
810
816
  constructor({ source, sliceCoords, policy, channelProps, onPickValue, ...layerOptions }: ChunkedImageLayerProps);
811
817
  onAttached(context: IdetikContext): Promise<void>;
812
- onDetached(context: IdetikContext): void;
818
+ onDetached(_context: IdetikContext): void;
813
819
  update(context?: RenderContext): void;
814
820
  private updateChunks;
815
821
  get lastPresentationTimeCoord(): number | undefined;