@idetik/core 0.1.0 → 0.2.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/assets/worker_kernel-BYKAkuPZ.js.map +1 -1
- package/dist/index.d.ts +164 -153
- package/dist/index.js +992 -916
- package/dist/index.js.map +1 -1
- package/dist/index.umd.cjs +18 -18
- package/dist/index.umd.cjs.map +1 -1
- package/dist/types/examples/chunk_streaming/chunk_info_overlay.d.ts.map +1 -1
- package/dist/types/src/core/chunk_manager.d.ts +12 -7
- package/dist/types/src/core/chunk_manager.d.ts.map +1 -1
- package/dist/types/src/core/chunk_store.d.ts +18 -0
- package/dist/types/src/core/chunk_store.d.ts.map +1 -0
- package/dist/types/src/core/chunk_store_view.d.ts +38 -0
- package/dist/types/src/core/chunk_store_view.d.ts.map +1 -0
- package/dist/types/src/core/layer.d.ts +6 -2
- package/dist/types/src/core/layer.d.ts.map +1 -1
- package/dist/types/src/core/layer_manager.d.ts.map +1 -1
- package/dist/types/src/core/renderable_object.d.ts +4 -0
- package/dist/types/src/core/renderable_object.d.ts.map +1 -1
- package/dist/types/src/data/chunk.d.ts +7 -5
- package/dist/types/src/data/chunk.d.ts.map +1 -1
- package/dist/types/src/data/ome_zarr/image_source.d.ts +1 -12
- package/dist/types/src/data/ome_zarr/image_source.d.ts.map +1 -1
- package/dist/types/src/data/zarr/open.d.ts +1 -4
- package/dist/types/src/data/zarr/open.d.ts.map +1 -1
- package/dist/types/src/idetik.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +0 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/layers/chunked_image_layer.d.ts +8 -7
- package/dist/types/src/layers/chunked_image_layer.d.ts.map +1 -1
- package/dist/types/src/objects/renderable/volume_renderable.d.ts.map +1 -1
- package/dist/types/src/renderers/WebGLState.d.ts +4 -0
- package/dist/types/src/renderers/WebGLState.d.ts.map +1 -1
- package/dist/types/src/renderers/webgl_renderer.d.ts.map +1 -1
- package/dist/types/src/utilities/logger.d.ts +1 -1
- package/dist/types/src/utilities/logger.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/types/examples/s3_private_data/aws_auth.d.ts +0 -17
- package/dist/types/examples/s3_private_data/aws_auth.d.ts.map +0 -1
- package/dist/types/examples/s3_private_data/main.d.ts +0 -2
- package/dist/types/examples/s3_private_data/main.d.ts.map +0 -1
- package/dist/types/src/core/chunk_manager_source.d.ts +0 -49
- package/dist/types/src/core/chunk_manager_source.d.ts.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -70,14 +70,16 @@ declare class PromiseScheduler {
|
|
|
70
70
|
declare const chunkDataTypes: readonly [Int8ArrayConstructor, Int16ArrayConstructor, Int32ArrayConstructor, Uint8ArrayConstructor, Uint16ArrayConstructor, Uint32ArrayConstructor, Float32ArrayConstructor];
|
|
71
71
|
type ChunkDataConstructor = (typeof chunkDataTypes)[number];
|
|
72
72
|
type ChunkData = InstanceType<ChunkDataConstructor>;
|
|
73
|
-
type
|
|
74
|
-
data?: ChunkData;
|
|
75
|
-
state: "unloaded" | "queued" | "loading" | "loaded";
|
|
76
|
-
lod: number;
|
|
73
|
+
type ChunkViewState = {
|
|
77
74
|
visible: boolean;
|
|
78
75
|
prefetch: boolean;
|
|
79
76
|
priority: number | null;
|
|
80
77
|
orderKey: number | null;
|
|
78
|
+
};
|
|
79
|
+
type Chunk = {
|
|
80
|
+
data?: ChunkData;
|
|
81
|
+
state: "unloaded" | "queued" | "loading" | "loaded";
|
|
82
|
+
lod: number;
|
|
81
83
|
shape: {
|
|
82
84
|
x: number;
|
|
83
85
|
y: number;
|
|
@@ -102,7 +104,7 @@ type Chunk = {
|
|
|
102
104
|
y: number;
|
|
103
105
|
z: number;
|
|
104
106
|
};
|
|
105
|
-
};
|
|
107
|
+
} & ChunkViewState;
|
|
106
108
|
type SourceDimensionMap = {
|
|
107
109
|
x: SourceDimension;
|
|
108
110
|
y: SourceDimension;
|
|
@@ -146,6 +148,23 @@ type ChunkLoader = {
|
|
|
146
148
|
getAttributes(): ReadonlyArray<LoaderAttributes>;
|
|
147
149
|
};
|
|
148
150
|
|
|
151
|
+
declare class ChunkStore {
|
|
152
|
+
private readonly chunks_;
|
|
153
|
+
private readonly loader_;
|
|
154
|
+
private readonly lowestResLOD_;
|
|
155
|
+
private readonly dimensions_;
|
|
156
|
+
constructor(loader: ChunkLoader);
|
|
157
|
+
getChunksAtTime(timeIndex: number): Chunk[];
|
|
158
|
+
getTimeIndex(sliceCoords: SliceCoordinates): number;
|
|
159
|
+
get lodCount(): number;
|
|
160
|
+
get dimensions(): SourceDimensionMap;
|
|
161
|
+
getLowestResLOD(): number;
|
|
162
|
+
loadChunkData(chunk: Chunk, signal: AbortSignal): Promise<void>;
|
|
163
|
+
private validateXYScaleRatios;
|
|
164
|
+
private getAndValidateTimeDimension;
|
|
165
|
+
private getAndValidateChannelDimension;
|
|
166
|
+
}
|
|
167
|
+
|
|
149
168
|
declare class Box3 {
|
|
150
169
|
min: vec3;
|
|
151
170
|
max: vec3;
|
|
@@ -243,6 +262,31 @@ declare class Color {
|
|
|
243
262
|
private toHexComponent;
|
|
244
263
|
}
|
|
245
264
|
|
|
265
|
+
declare class Box2 {
|
|
266
|
+
min: vec2;
|
|
267
|
+
max: vec2;
|
|
268
|
+
/**
|
|
269
|
+
* Initializes as an empty box if no values are provided using the
|
|
270
|
+
* "empty-by-sentinel" pattern: min = +Infinity, max = -Infinity.
|
|
271
|
+
* This allows expansion functions to work without special-casing
|
|
272
|
+
* the first element, and avoids biasing toward (0,0).
|
|
273
|
+
*/
|
|
274
|
+
constructor(min?: vec2, max?: vec2);
|
|
275
|
+
clone(): Box2;
|
|
276
|
+
isEmpty(): boolean;
|
|
277
|
+
static intersects(a: Box2, b: Box2): boolean;
|
|
278
|
+
static equals(a: Box2, b: Box2): boolean;
|
|
279
|
+
floor(): Box2;
|
|
280
|
+
toRect(): {
|
|
281
|
+
x: number;
|
|
282
|
+
y: number;
|
|
283
|
+
width: number;
|
|
284
|
+
height: number;
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
type CullingMode = "none" | "front" | "back" | "both";
|
|
289
|
+
|
|
246
290
|
declare abstract class RenderableObject extends Node {
|
|
247
291
|
wireframeEnabled: boolean;
|
|
248
292
|
wireframeColor: Color;
|
|
@@ -252,6 +296,7 @@ declare abstract class RenderableObject extends Node {
|
|
|
252
296
|
private geometry_;
|
|
253
297
|
private wireframeGeometry_;
|
|
254
298
|
private programName_;
|
|
299
|
+
private cullFaceMode_;
|
|
255
300
|
setTexture(index: number, texture: Texture): void;
|
|
256
301
|
popStaleTextures(): Texture[];
|
|
257
302
|
get geometry(): Geometry;
|
|
@@ -262,6 +307,8 @@ declare abstract class RenderableObject extends Node {
|
|
|
262
307
|
get programName(): Shader;
|
|
263
308
|
get boundingBox(): Box3;
|
|
264
309
|
protected set programName(programName: Shader);
|
|
310
|
+
get cullFaceMode(): CullingMode;
|
|
311
|
+
set cullFaceMode(mode: CullingMode);
|
|
265
312
|
/**
|
|
266
313
|
* Get uniforms for shader program. Override in derived classes that need custom uniforms.
|
|
267
314
|
* @returns Object containing uniform name-value pairs
|
|
@@ -296,135 +343,6 @@ declare abstract class Camera extends RenderableObject {
|
|
|
296
343
|
clipToWorld(position: vec3): vec3;
|
|
297
344
|
}
|
|
298
345
|
|
|
299
|
-
declare class Box2 {
|
|
300
|
-
min: vec2;
|
|
301
|
-
max: vec2;
|
|
302
|
-
/**
|
|
303
|
-
* Initializes as an empty box if no values are provided using the
|
|
304
|
-
* "empty-by-sentinel" pattern: min = +Infinity, max = -Infinity.
|
|
305
|
-
* This allows expansion functions to work without special-casing
|
|
306
|
-
* the first element, and avoids biasing toward (0,0).
|
|
307
|
-
*/
|
|
308
|
-
constructor(min?: vec2, max?: vec2);
|
|
309
|
-
clone(): Box2;
|
|
310
|
-
isEmpty(): boolean;
|
|
311
|
-
static intersects(a: Box2, b: Box2): boolean;
|
|
312
|
-
static equals(a: Box2, b: Box2): boolean;
|
|
313
|
-
floor(): Box2;
|
|
314
|
-
toRect(): {
|
|
315
|
-
x: number;
|
|
316
|
-
y: number;
|
|
317
|
-
width: number;
|
|
318
|
-
height: number;
|
|
319
|
-
};
|
|
320
|
-
}
|
|
321
|
-
|
|
322
|
-
declare class OrthographicCamera extends Camera {
|
|
323
|
-
private width_;
|
|
324
|
-
private height_;
|
|
325
|
-
private viewportAspectRatio_;
|
|
326
|
-
private viewportSize_;
|
|
327
|
-
constructor(left: number, right: number, top: number, bottom: number, near?: number, far?: number);
|
|
328
|
-
get viewportSize(): [number, number];
|
|
329
|
-
setAspectRatio(aspectRatio: number): void;
|
|
330
|
-
setFrame(left: number, right: number, bottom: number, top: number): void;
|
|
331
|
-
get type(): CameraType;
|
|
332
|
-
zoom(factor: number): void;
|
|
333
|
-
getWorldViewRect(): Box2;
|
|
334
|
-
protected updateProjectionMatrix(): void;
|
|
335
|
-
}
|
|
336
|
-
|
|
337
|
-
declare const ALL_CATEGORIES: readonly ["fallbackVisible", "prefetchTime", "visibleCurrent", "fallbackBackground", "prefetchSpace"];
|
|
338
|
-
type PriorityCategory = (typeof ALL_CATEGORIES)[number];
|
|
339
|
-
type ImageSourcePolicyConfig = {
|
|
340
|
-
profile?: string;
|
|
341
|
-
prefetch: {
|
|
342
|
-
x: number;
|
|
343
|
-
y: number;
|
|
344
|
-
z?: number;
|
|
345
|
-
t?: number;
|
|
346
|
-
};
|
|
347
|
-
priorityOrder: PriorityCategory[];
|
|
348
|
-
lod?: {
|
|
349
|
-
min?: number;
|
|
350
|
-
max?: number;
|
|
351
|
-
bias?: number;
|
|
352
|
-
};
|
|
353
|
-
};
|
|
354
|
-
type ImageSourcePolicy = Readonly<{
|
|
355
|
-
profile: string;
|
|
356
|
-
prefetch: {
|
|
357
|
-
x: number;
|
|
358
|
-
y: number;
|
|
359
|
-
z: number;
|
|
360
|
-
t: number;
|
|
361
|
-
};
|
|
362
|
-
priorityOrder: readonly PriorityCategory[];
|
|
363
|
-
priorityMap: Readonly<Record<PriorityCategory, number>>;
|
|
364
|
-
lod: {
|
|
365
|
-
min: number;
|
|
366
|
-
max: number;
|
|
367
|
-
bias: number;
|
|
368
|
-
};
|
|
369
|
-
}>;
|
|
370
|
-
declare function createImageSourcePolicy(config: ImageSourcePolicyConfig): ImageSourcePolicy;
|
|
371
|
-
declare function createExplorationPolicy(overrides?: Partial<ImageSourcePolicyConfig>): ImageSourcePolicy;
|
|
372
|
-
declare function createPlaybackPolicy(overrides?: Partial<ImageSourcePolicyConfig>): ImageSourcePolicy;
|
|
373
|
-
declare function createNoPrefetchPolicy(overrides?: Partial<ImageSourcePolicyConfig>): ImageSourcePolicy;
|
|
374
|
-
|
|
375
|
-
declare class ChunkManagerSource {
|
|
376
|
-
private readonly chunks_;
|
|
377
|
-
private readonly loader_;
|
|
378
|
-
private readonly lowestResLOD_;
|
|
379
|
-
private readonly sliceCoords_;
|
|
380
|
-
private readonly dimensions_;
|
|
381
|
-
private readonly tIndicesWithQueuedChunks_;
|
|
382
|
-
private readonly sourceMaxSquareDistance2D_;
|
|
383
|
-
private policy_;
|
|
384
|
-
private policyChanged_;
|
|
385
|
-
private currentLOD_;
|
|
386
|
-
private lastViewBounds2D_;
|
|
387
|
-
private lastZBounds_?;
|
|
388
|
-
private lastTCoord_?;
|
|
389
|
-
constructor(loader: ChunkLoader, sliceCoords: SliceCoordinates, policy: ImageSourcePolicy);
|
|
390
|
-
getChunks(): Chunk[];
|
|
391
|
-
getChunksAtCurrentTime(): Chunk[];
|
|
392
|
-
private getCurrentTimeIndex;
|
|
393
|
-
allVisibleLowestLODLoaded(): boolean;
|
|
394
|
-
updateAndCollectChunkChanges(lodFactor: number, viewBounds2D: Box2): Chunk[];
|
|
395
|
-
get lodCount(): number;
|
|
396
|
-
get dimensions(): SourceDimensionMap;
|
|
397
|
-
get currentLOD(): number;
|
|
398
|
-
setImageSourcePolicy(newPolicy: ImageSourcePolicy, key: symbol): void;
|
|
399
|
-
loadChunkData(chunk: Chunk, signal: AbortSignal): Promise<void>;
|
|
400
|
-
private setLOD;
|
|
401
|
-
private updateAndCollectChunkChangesForCurrentLod;
|
|
402
|
-
private disposeStaleTimeChunks;
|
|
403
|
-
private updateChunksAtTimeIndex;
|
|
404
|
-
private markTimeChunksForPrefetch;
|
|
405
|
-
private isChunkChannelInSlice;
|
|
406
|
-
private shouldDispose;
|
|
407
|
-
private disposeChunk;
|
|
408
|
-
private computePriority;
|
|
409
|
-
private validateXYScaleRatios;
|
|
410
|
-
private getAndValidateTimeDimension;
|
|
411
|
-
private getAndValidateChannelDimension;
|
|
412
|
-
private isChunkWithinBounds;
|
|
413
|
-
private getZBounds;
|
|
414
|
-
private viewBounds2DChanged;
|
|
415
|
-
private zBoundsChanged;
|
|
416
|
-
private getPaddedBounds;
|
|
417
|
-
private squareDistance2D;
|
|
418
|
-
}
|
|
419
|
-
|
|
420
|
-
declare class ChunkManager {
|
|
421
|
-
private readonly sources_;
|
|
422
|
-
private readonly pendingSources_;
|
|
423
|
-
private readonly queue_;
|
|
424
|
-
addSource(source: ChunkSource, sliceCoords: SliceCoordinates, policy: ImageSourcePolicy): Promise<ChunkManagerSource>;
|
|
425
|
-
update(camera: OrthographicCamera, bufferWidth: number): void;
|
|
426
|
-
}
|
|
427
|
-
|
|
428
346
|
declare const eventTypes: readonly ["pointerdown", "pointermove", "pointerup", "pointercancel", "wheel"];
|
|
429
347
|
type EventType = (typeof eventTypes)[number];
|
|
430
348
|
declare class EventContext {
|
|
@@ -457,6 +375,9 @@ interface LayerOptions {
|
|
|
457
375
|
opacity?: number;
|
|
458
376
|
blendMode?: blendMode;
|
|
459
377
|
}
|
|
378
|
+
type RenderContext = {
|
|
379
|
+
viewport: Viewport;
|
|
380
|
+
};
|
|
460
381
|
declare abstract class Layer {
|
|
461
382
|
abstract readonly type: string;
|
|
462
383
|
private objects_;
|
|
@@ -468,10 +389,10 @@ declare abstract class Layer {
|
|
|
468
389
|
constructor({ transparent, opacity, blendMode, }?: LayerOptions);
|
|
469
390
|
get opacity(): number;
|
|
470
391
|
set opacity(value: number);
|
|
471
|
-
abstract update(): void;
|
|
392
|
+
abstract update(context?: RenderContext): void;
|
|
472
393
|
onEvent(_: EventContext): void;
|
|
473
394
|
onAttached(_context: IdetikContext): Promise<void>;
|
|
474
|
-
onDetached(): void;
|
|
395
|
+
onDetached(_context: IdetikContext): void;
|
|
475
396
|
get objects(): RenderableObject[];
|
|
476
397
|
get state(): LayerState;
|
|
477
398
|
addStateChangeCallback(callback: StateChangeCallback): void;
|
|
@@ -501,6 +422,21 @@ declare class LayerManager {
|
|
|
501
422
|
removeLayersChangeCallback(callback: () => void): void;
|
|
502
423
|
}
|
|
503
424
|
|
|
425
|
+
declare class OrthographicCamera extends Camera {
|
|
426
|
+
private width_;
|
|
427
|
+
private height_;
|
|
428
|
+
private viewportAspectRatio_;
|
|
429
|
+
private viewportSize_;
|
|
430
|
+
constructor(left: number, right: number, top: number, bottom: number, near?: number, far?: number);
|
|
431
|
+
get viewportSize(): [number, number];
|
|
432
|
+
setAspectRatio(aspectRatio: number): void;
|
|
433
|
+
setFrame(left: number, right: number, bottom: number, top: number): void;
|
|
434
|
+
get type(): CameraType;
|
|
435
|
+
zoom(factor: number): void;
|
|
436
|
+
getWorldViewRect(): Box2;
|
|
437
|
+
protected updateProjectionMatrix(): void;
|
|
438
|
+
}
|
|
439
|
+
|
|
504
440
|
interface CameraControls {
|
|
505
441
|
onEvent(event: EventContext): void;
|
|
506
442
|
}
|
|
@@ -545,6 +481,91 @@ declare class Viewport {
|
|
|
545
481
|
}
|
|
546
482
|
declare function parseViewportConfigs(viewportConfigs: ViewportConfig[], canvas: HTMLCanvasElement, context: IdetikContext): Viewport[];
|
|
547
483
|
|
|
484
|
+
declare const ALL_CATEGORIES: readonly ["fallbackVisible", "prefetchTime", "visibleCurrent", "fallbackBackground", "prefetchSpace"];
|
|
485
|
+
type PriorityCategory = (typeof ALL_CATEGORIES)[number];
|
|
486
|
+
type ImageSourcePolicyConfig = {
|
|
487
|
+
profile?: string;
|
|
488
|
+
prefetch: {
|
|
489
|
+
x: number;
|
|
490
|
+
y: number;
|
|
491
|
+
z?: number;
|
|
492
|
+
t?: number;
|
|
493
|
+
};
|
|
494
|
+
priorityOrder: PriorityCategory[];
|
|
495
|
+
lod?: {
|
|
496
|
+
min?: number;
|
|
497
|
+
max?: number;
|
|
498
|
+
bias?: number;
|
|
499
|
+
};
|
|
500
|
+
};
|
|
501
|
+
type ImageSourcePolicy = Readonly<{
|
|
502
|
+
profile: string;
|
|
503
|
+
prefetch: {
|
|
504
|
+
x: number;
|
|
505
|
+
y: number;
|
|
506
|
+
z: number;
|
|
507
|
+
t: number;
|
|
508
|
+
};
|
|
509
|
+
priorityOrder: readonly PriorityCategory[];
|
|
510
|
+
priorityMap: Readonly<Record<PriorityCategory, number>>;
|
|
511
|
+
lod: {
|
|
512
|
+
min: number;
|
|
513
|
+
max: number;
|
|
514
|
+
bias: number;
|
|
515
|
+
};
|
|
516
|
+
}>;
|
|
517
|
+
declare function createImageSourcePolicy(config: ImageSourcePolicyConfig): ImageSourcePolicy;
|
|
518
|
+
declare function createExplorationPolicy(overrides?: Partial<ImageSourcePolicyConfig>): ImageSourcePolicy;
|
|
519
|
+
declare function createPlaybackPolicy(overrides?: Partial<ImageSourcePolicyConfig>): ImageSourcePolicy;
|
|
520
|
+
declare function createNoPrefetchPolicy(overrides?: Partial<ImageSourcePolicyConfig>): ImageSourcePolicy;
|
|
521
|
+
|
|
522
|
+
declare class ChunkStoreView {
|
|
523
|
+
private readonly store_;
|
|
524
|
+
private policy_;
|
|
525
|
+
private policyChanged_;
|
|
526
|
+
private currentLOD_;
|
|
527
|
+
private lastViewBounds2D_;
|
|
528
|
+
private lastZBounds_?;
|
|
529
|
+
private lastTCoord_?;
|
|
530
|
+
private sourceMaxSquareDistance2D_;
|
|
531
|
+
private readonly chunkViewStates_;
|
|
532
|
+
constructor(store: ChunkStore, policy: ImageSourcePolicy);
|
|
533
|
+
get store(): ChunkStore;
|
|
534
|
+
get chunkViewStates(): ReadonlyMap<Chunk, ChunkViewState>;
|
|
535
|
+
getChunksToRender(sliceCoords: SliceCoordinates): Chunk[];
|
|
536
|
+
updateChunkStates(sliceCoords: SliceCoordinates, viewport: Viewport): void;
|
|
537
|
+
allVisibleLowestLODLoaded(sliceCoords: SliceCoordinates): boolean;
|
|
538
|
+
get currentLOD(): number;
|
|
539
|
+
maybeForgetChunk(chunk: Chunk): void;
|
|
540
|
+
setImageSourcePolicy(newPolicy: ImageSourcePolicy, key: symbol): void;
|
|
541
|
+
private setLOD;
|
|
542
|
+
private updateChunkViewStates;
|
|
543
|
+
private isChunkChannelInSlice;
|
|
544
|
+
private updateChunksAtTimeIndex;
|
|
545
|
+
private markTimeChunksForPrefetch;
|
|
546
|
+
private computePriority;
|
|
547
|
+
private isChunkWithinBounds;
|
|
548
|
+
private getZBounds;
|
|
549
|
+
private viewBounds2DChanged;
|
|
550
|
+
private zBoundsChanged;
|
|
551
|
+
private getPaddedBounds;
|
|
552
|
+
private squareDistance2D;
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
declare class ChunkManager {
|
|
556
|
+
private readonly stores_;
|
|
557
|
+
private readonly pendingStores_;
|
|
558
|
+
private readonly views_;
|
|
559
|
+
private readonly queue_;
|
|
560
|
+
addView(source: ChunkSource, policy: ImageSourcePolicy): Promise<ChunkStoreView>;
|
|
561
|
+
removeView(view: ChunkStoreView): void;
|
|
562
|
+
private addSource;
|
|
563
|
+
private getSourceForStore;
|
|
564
|
+
update(): void;
|
|
565
|
+
private updateAndCollectChunkChanges;
|
|
566
|
+
private aggregateChunkViewStates;
|
|
567
|
+
}
|
|
568
|
+
|
|
548
569
|
type Overlay = {
|
|
549
570
|
update(idetik: Idetik, timestamp?: DOMHighResTimeStamp): void;
|
|
550
571
|
};
|
|
@@ -788,7 +809,7 @@ declare class ChunkedImageLayer extends Layer implements ChannelsEnabled {
|
|
|
788
809
|
private readonly channelChangeCallbacks_;
|
|
789
810
|
private policy_;
|
|
790
811
|
private channelProps_?;
|
|
791
|
-
private
|
|
812
|
+
private chunkStoreView_?;
|
|
792
813
|
private pointerDownPos_;
|
|
793
814
|
private zPrevPointWorld_?;
|
|
794
815
|
private debugMode_;
|
|
@@ -798,14 +819,15 @@ declare class ChunkedImageLayer extends Layer implements ChannelsEnabled {
|
|
|
798
819
|
private readonly wireframeColors_;
|
|
799
820
|
constructor({ source, sliceCoords, policy, channelProps, onPickValue, ...layerOptions }: ChunkedImageLayerProps);
|
|
800
821
|
onAttached(context: IdetikContext): Promise<void>;
|
|
801
|
-
onDetached(): void;
|
|
802
|
-
update(): void;
|
|
822
|
+
onDetached(context: IdetikContext): void;
|
|
823
|
+
update(context?: RenderContext): void;
|
|
803
824
|
private updateChunks;
|
|
804
825
|
get lastPresentationTimeCoord(): number | undefined;
|
|
805
826
|
private isPresentationStale;
|
|
806
827
|
private resliceIfZChanged;
|
|
807
828
|
onEvent(event: EventContext): void;
|
|
808
|
-
get
|
|
829
|
+
get chunkStoreView(): ChunkStoreView | undefined;
|
|
830
|
+
get sliceCoords(): SliceCoordinates;
|
|
809
831
|
get source(): ChunkSource;
|
|
810
832
|
get imageSourcePolicy(): Readonly<ImageSourcePolicy>;
|
|
811
833
|
set imageSourcePolicy(newPolicy: ImageSourcePolicy);
|
|
@@ -1570,28 +1592,17 @@ type OmeroChannel = OmeroMetadata["channels"][number];
|
|
|
1570
1592
|
declare function loadOmeroChannels(source: OmeZarrImageSource): Promise<OmeroChannel[]>;
|
|
1571
1593
|
declare function loadOmeroDefaults(source: OmeZarrImageSource): Promise<OmeroMetadata["rdefs"]>;
|
|
1572
1594
|
|
|
1573
|
-
/** Options for customizing fetch requests, such as adding authentication headers for private S3 data */
|
|
1574
|
-
type FetchOptions = {
|
|
1575
|
-
/** RequestInit overrides to customize fetch behavior (e.g., custom headers for S3 authentication) */
|
|
1576
|
-
overrides?: RequestInit;
|
|
1577
|
-
/** Whether to use suffix requests for range queries */
|
|
1578
|
-
useSuffixRequest?: boolean;
|
|
1579
|
-
};
|
|
1580
1595
|
/** Opens an OME-Zarr multiscale image Zarr group from either a URL or local directory. */
|
|
1581
1596
|
declare class OmeZarrImageSource {
|
|
1582
1597
|
readonly location: Location<Readable>;
|
|
1583
1598
|
readonly version?: Version;
|
|
1584
|
-
readonly fetchOptions?: FetchOptions;
|
|
1585
1599
|
/**
|
|
1586
1600
|
* @param url URL of Zarr root
|
|
1587
|
-
* @param version OME-Zarr version
|
|
1588
|
-
* @param fetchOptions Optional fetch configuration (e.g., authentication headers for private S3 data)
|
|
1589
1601
|
*/
|
|
1590
|
-
constructor(url: string, version?: Version
|
|
1602
|
+
constructor(url: string, version?: Version);
|
|
1591
1603
|
/**
|
|
1592
1604
|
* @param directory return value of `window.showDirectoryPicker()` which gives the browser
|
|
1593
1605
|
* permission to access a directory (only works in Chrome/Edge)
|
|
1594
|
-
* @param version OME-Zarr version
|
|
1595
1606
|
* @param path path to image, beginning with "/". This argument allows the application to only
|
|
1596
1607
|
* ask the user once for permission to the root directory
|
|
1597
1608
|
*/
|
|
@@ -1862,4 +1873,4 @@ declare class Texture3D extends Texture {
|
|
|
1862
1873
|
static createWithChunk(chunk: Chunk): Texture3D;
|
|
1863
1874
|
}
|
|
1864
1875
|
|
|
1865
|
-
export { AxesLayer, Box2, Box3, type CameraControls, type ChannelProps, type ChannelsEnabled, type Chunk, type ChunkLoader, ChunkedImageLayer, Color, type ColorLike, EventContext,
|
|
1876
|
+
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, 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 };
|