@idetik/core 0.24.1 → 0.26.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.
Files changed (39) hide show
  1. package/dist/assets/worker_kernel-CBlE4MBI.js.map +1 -1
  2. package/dist/index.d.ts +23 -23
  3. package/dist/index.js +1577 -1542
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.umd.cjs +70 -59
  6. package/dist/index.umd.cjs.map +1 -1
  7. package/dist/types/src/core/layer.d.ts +1 -1
  8. package/dist/types/src/core/layer.d.ts.map +1 -1
  9. package/dist/types/src/data/chunk.d.ts +1 -1
  10. package/dist/types/src/data/chunk.d.ts.map +1 -1
  11. package/dist/types/src/data/chunk_manager.d.ts +1 -3
  12. package/dist/types/src/data/chunk_manager.d.ts.map +1 -1
  13. package/dist/types/src/data/chunk_store.d.ts +1 -1
  14. package/dist/types/src/data/chunk_store.d.ts.map +1 -1
  15. package/dist/types/src/data/ome_zarr/image_source.d.ts +3 -2
  16. package/dist/types/src/data/ome_zarr/image_source.d.ts.map +1 -1
  17. package/dist/types/src/layers/image_layer.d.ts +5 -7
  18. package/dist/types/src/layers/image_layer.d.ts.map +1 -1
  19. package/dist/types/src/layers/label_layer.d.ts +5 -7
  20. package/dist/types/src/layers/label_layer.d.ts.map +1 -1
  21. package/dist/types/src/layers/point_picking.d.ts +1 -1
  22. package/dist/types/src/layers/point_picking.d.ts.map +1 -1
  23. package/dist/types/src/layers/volume_layer.d.ts +1 -1
  24. package/dist/types/src/layers/volume_layer.d.ts.map +1 -1
  25. package/dist/types/src/objects/renderable/image_renderable.d.ts +2 -0
  26. package/dist/types/src/objects/renderable/image_renderable.d.ts.map +1 -1
  27. package/dist/types/src/objects/renderable/label_image_renderable.d.ts +2 -0
  28. package/dist/types/src/objects/renderable/label_image_renderable.d.ts.map +1 -1
  29. package/dist/types/src/objects/textures/texture.d.ts +1 -0
  30. package/dist/types/src/objects/textures/texture.d.ts.map +1 -1
  31. package/dist/types/src/renderers/webgl_renderer.d.ts.map +1 -1
  32. package/dist/types/src/renderers/webgl_textures.d.ts +3 -0
  33. package/dist/types/src/renderers/webgl_textures.d.ts.map +1 -1
  34. package/dist/types/src/renderers/webgpu/webgpu_renderer.d.ts.map +1 -1
  35. package/dist/types/src/renderers/webgpu/webgpu_texture_pool.d.ts +1 -0
  36. package/dist/types/src/renderers/webgpu/webgpu_texture_pool.d.ts.map +1 -1
  37. package/dist/types/src/utilities/logger.d.ts +1 -1
  38. package/dist/types/src/utilities/logger.d.ts.map +1 -1
  39. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -26,6 +26,7 @@ declare abstract class Texture extends Node {
26
26
  wrapS: TextureWrapMode;
27
27
  wrapT: TextureWrapMode;
28
28
  needsUpdate: boolean;
29
+ readTexel?: (x: number, y: number, z: number) => Promise<number>;
29
30
  abstract get width(): number;
30
31
  abstract get height(): number;
31
32
  abstract get data(): TexImageSource | ArrayBufferView | null;
@@ -97,7 +98,7 @@ type SliceCoordinates = {
97
98
  t?: number;
98
99
  };
99
100
  type ChunkSource = {
100
- open(): Promise<ChunkLoader>;
101
+ getLoader(): ChunkLoader;
101
102
  };
102
103
  type ChunkLoader = {
103
104
  getSourceDimensionMap(): SourceDimensionMap;
@@ -157,7 +158,7 @@ declare class ChunkStore {
157
158
  get dimensions(): SourceDimensionMap;
158
159
  getLowestResLOD(): number;
159
160
  loadChunkData(chunk: Chunk, signal: AbortSignal): Promise<void>;
160
- createView(policy: ImageSourcePolicy): ChunkStoreView;
161
+ addView(policy: ImageSourcePolicy): ChunkStoreView;
161
162
  get views(): ReadonlyArray<ChunkStoreView>;
162
163
  canDispose(): boolean;
163
164
  updateAndCollectChunkChanges(): Set<Chunk>;
@@ -393,7 +394,7 @@ declare abstract class Layer {
393
394
  set opacity(value: number);
394
395
  abstract update(context?: RenderContext): void;
395
396
  onEvent(_: EventContext): void;
396
- onAttached(_context: IdetikContext): Promise<void>;
397
+ onAttached(_context: IdetikContext): void;
397
398
  onDetached(_context: IdetikContext): void;
398
399
  get objects(): RenderableObject[];
399
400
  get state(): LayerState;
@@ -531,15 +532,13 @@ type QueueStats = {
531
532
 
532
533
  declare class ChunkManager {
533
534
  private readonly stores_;
534
- private readonly pendingStores_;
535
535
  private readonly queue_;
536
536
  get queueStats(): QueueStats;
537
537
  get memoryStats(): {
538
538
  cpuChunkBytes: number;
539
539
  cpuChunkCount: number;
540
540
  };
541
- addView(source: ChunkSource, policy: ImageSourcePolicy): Promise<ChunkStoreView>;
542
- private getOrCreateStore;
541
+ addView(source: ChunkSource, policy: ImageSourcePolicy): ChunkStoreView;
543
542
  update(): void;
544
543
  }
545
544
 
@@ -1286,11 +1285,12 @@ type FileSystemOmeZarrImageSourceProps = {
1286
1285
  declare class OmeZarrImageSource {
1287
1286
  readonly location: Location<Readable>;
1288
1287
  readonly version?: Version;
1289
- private loader_?;
1288
+ private readonly loader_;
1290
1289
  private constructor();
1291
- open(): Promise<OmeZarrImageLoader>;
1290
+ private static openLoader;
1292
1291
  getDimensions(): SourceDimensionMap;
1293
1292
  getChannelCount(): number;
1293
+ getLoader(): OmeZarrImageLoader;
1294
1294
  /**
1295
1295
  * Creates and opens an OmeZarrImageSource from an HTTP(S) URL.
1296
1296
  *
@@ -1359,35 +1359,33 @@ declare class ImageLayer extends Layer implements ChannelsEnabled {
1359
1359
  private channelProps_?;
1360
1360
  private chunkStoreView_?;
1361
1361
  private pointerDownPos_;
1362
- private zPrevPointWorld_?;
1363
1362
  private debugMode_;
1364
1363
  private static readonly STALE_PRESENTATION_MS_;
1365
1364
  private lastPresentationTimeStamp_?;
1366
1365
  private lastPresentationTimeCoord_?;
1367
1366
  private readonly wireframeColors_;
1368
1367
  constructor({ source, sliceCoords, policy, channelProps, onPickValue, ...layerOptions }: ImageLayerProps);
1369
- onAttached(context: IdetikContext): Promise<void>;
1368
+ onAttached(context: IdetikContext): void;
1370
1369
  onDetached(_context: IdetikContext): void;
1371
1370
  update(context?: RenderContext): void;
1372
1371
  private updateChunks;
1373
1372
  hasMultipleLODs(): boolean;
1374
1373
  get lastPresentationTimeCoord(): number | undefined;
1375
1374
  private isPresentationStale;
1376
- private resliceIfZChanged;
1377
1375
  onEvent(event: EventContext): void;
1378
1376
  get chunkStoreView(): ChunkStoreView | undefined;
1379
1377
  get sliceCoords(): SliceCoordinates;
1380
1378
  get source(): ChunkSource;
1381
1379
  get imageSourcePolicy(): Readonly<ImageSourcePolicy>;
1382
1380
  set imageSourcePolicy(newPolicy: ImageSourcePolicy);
1383
- private slicePlane;
1384
1381
  private getImageForChunk;
1385
1382
  private getChannelPropsForChunk;
1386
1383
  private createImage;
1387
- private getDataForImage;
1384
+ private zSliceIndex;
1385
+ private zTexCoordForChunk;
1388
1386
  private updateImageChunk;
1389
- getValueAtWorld(world: vec3): number | null;
1390
- private getValueFromChunk;
1387
+ getValueAtWorld(world: vec3): Promise<number | null>;
1388
+ private readValueFromChunk;
1391
1389
  get debugMode(): boolean;
1392
1390
  set debugMode(debug: boolean);
1393
1391
  get channelProps(): ChannelProps[] | undefined;
@@ -1434,7 +1432,7 @@ declare class VolumeLayer extends Layer implements ChannelsEnabled {
1434
1432
  removeChannelChangeCallback(callback: () => void): void;
1435
1433
  constructor({ source, sliceCoords, policy, channelProps }: VolumeLayerProps);
1436
1434
  private getOrCreateVolume;
1437
- onAttached(context: IdetikContext): Promise<void>;
1435
+ onAttached(context: IdetikContext): void;
1438
1436
  onDetached(_context: IdetikContext): void;
1439
1437
  private updateChunks;
1440
1438
  private updateVolumeTransform;
@@ -1474,17 +1472,15 @@ declare class LabelLayer extends Layer {
1474
1472
  private policy_;
1475
1473
  private chunkStoreView_?;
1476
1474
  private pointerDownPos_;
1477
- private zPrevPointWorld_?;
1478
1475
  private static readonly STALE_PRESENTATION_MS_;
1479
1476
  private lastPresentationTimeStamp_?;
1480
1477
  private lastPresentationTimeCoord_?;
1481
1478
  constructor({ source, sliceCoords, policy, colorMap, onPickValue, outlineSelected, ...layerOptions }: LabelLayerProps);
1482
- onAttached(context: IdetikContext): Promise<void>;
1479
+ onAttached(context: IdetikContext): void;
1483
1480
  onDetached(_context: IdetikContext): void;
1484
1481
  update(context?: RenderContext): void;
1485
1482
  private updateChunks;
1486
1483
  private isPresentationStale;
1487
- private resliceIfZChanged;
1488
1484
  onEvent(event: EventContext): void;
1489
1485
  get colorMap(): LabelColorMap;
1490
1486
  setColorMap(colorMap: LabelColorMapProps): void;
@@ -1495,12 +1491,12 @@ declare class LabelLayer extends Layer {
1495
1491
  set imageSourcePolicy(newPolicy: ImageSourcePolicy);
1496
1492
  get chunkStoreView(): ChunkStoreView | undefined;
1497
1493
  get lastPresentationTimeCoord(): number | undefined;
1498
- getValueAtWorld(world: vec3): number | null;
1499
- private getValueFromChunk;
1500
- private slicePlane;
1494
+ getValueAtWorld(world: vec3): Promise<number | null>;
1495
+ private readValueFromChunk;
1501
1496
  private getLabelForChunk;
1502
1497
  private createLabel;
1503
- private getDataForLabel;
1498
+ private zSliceIndex;
1499
+ private zTexCoordForChunk;
1504
1500
  private updateLabelChunk;
1505
1501
  private releaseAndRemoveChunks;
1506
1502
  }
@@ -1511,9 +1507,11 @@ type UniformValues = {
1511
1507
  Opacity: number;
1512
1508
  ValueOffset: number;
1513
1509
  ValueScale: number;
1510
+ ZTexCoord: number;
1514
1511
  };
1515
1512
  declare class ImageRenderable extends RenderableObject {
1516
1513
  private channels_;
1514
+ zTexCoord: number;
1517
1515
  constructor(width: number, height: number, texture: Texture, channels?: ChannelProps[]);
1518
1516
  get type(): string;
1519
1517
  setChannelProps(channels: ChannelProps[]): void;
@@ -1532,6 +1530,7 @@ type LabelImageRenderableProps = {
1532
1530
  declare class LabelImageRenderable extends RenderableObject {
1533
1531
  private outlineSelected_;
1534
1532
  private selectedValue_;
1533
+ zTexCoord: number;
1535
1534
  constructor(props: LabelImageRenderableProps);
1536
1535
  get type(): string;
1537
1536
  getUniforms(): {
@@ -1540,6 +1539,7 @@ declare class LabelImageRenderable extends RenderableObject {
1540
1539
  ColorLookupTableSampler: number;
1541
1540
  u_outlineSelected: number;
1542
1541
  u_selectedValue: number;
1542
+ ZTexCoord: number;
1543
1543
  };
1544
1544
  setColorMap(colorMap: LabelColorMap): void;
1545
1545
  setSelectedValue(value: number | null): void;