@idetik/core 0.25.0 → 0.27.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 (31) hide show
  1. package/dist/assets/worker_kernel-CBlE4MBI.js.map +1 -1
  2. package/dist/index.d.ts +24 -20
  3. package/dist/index.js +1692 -1631
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.umd.cjs +72 -61
  6. package/dist/index.umd.cjs.map +1 -1
  7. package/dist/types/src/core/layer.d.ts +5 -2
  8. package/dist/types/src/core/layer.d.ts.map +1 -1
  9. package/dist/types/src/layers/image_layer.d.ts +6 -8
  10. package/dist/types/src/layers/image_layer.d.ts.map +1 -1
  11. package/dist/types/src/layers/label_layer.d.ts +6 -8
  12. package/dist/types/src/layers/label_layer.d.ts.map +1 -1
  13. package/dist/types/src/layers/point_picking.d.ts +1 -1
  14. package/dist/types/src/layers/point_picking.d.ts.map +1 -1
  15. package/dist/types/src/layers/volume_layer.d.ts +2 -2
  16. package/dist/types/src/layers/volume_layer.d.ts.map +1 -1
  17. package/dist/types/src/objects/renderable/image_renderable.d.ts +2 -0
  18. package/dist/types/src/objects/renderable/image_renderable.d.ts.map +1 -1
  19. package/dist/types/src/objects/renderable/label_image_renderable.d.ts +2 -0
  20. package/dist/types/src/objects/renderable/label_image_renderable.d.ts.map +1 -1
  21. package/dist/types/src/objects/textures/texture.d.ts +1 -0
  22. package/dist/types/src/objects/textures/texture.d.ts.map +1 -1
  23. package/dist/types/src/renderers/webgl_renderer.d.ts.map +1 -1
  24. package/dist/types/src/renderers/webgl_textures.d.ts +3 -0
  25. package/dist/types/src/renderers/webgl_textures.d.ts.map +1 -1
  26. package/dist/types/src/renderers/webgpu/webgpu_renderer.d.ts.map +1 -1
  27. package/dist/types/src/renderers/webgpu/webgpu_texture_pool.d.ts +1 -0
  28. package/dist/types/src/renderers/webgpu/webgpu_texture_pool.d.ts.map +1 -1
  29. package/dist/types/src/utilities/logger.d.ts +1 -1
  30. package/dist/types/src/utilities/logger.d.ts.map +1 -1
  31. 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;
@@ -385,6 +386,7 @@ declare abstract class Layer {
385
386
  abstract readonly type: string;
386
387
  private objects_;
387
388
  private state_;
389
+ private attached_;
388
390
  private readonly callbacks_;
389
391
  private opacity_;
390
392
  blendMode: BlendMode;
@@ -393,8 +395,10 @@ declare abstract class Layer {
393
395
  set opacity(value: number);
394
396
  abstract update(context?: RenderContext): void;
395
397
  onEvent(_: EventContext): void;
396
- onAttached(_context: IdetikContext): void;
397
- onDetached(_context: IdetikContext): void;
398
+ onAttached(context: IdetikContext): void;
399
+ onDetached(context: IdetikContext): void;
400
+ protected attach(_context: IdetikContext): void;
401
+ protected detach(_context: IdetikContext): void;
398
402
  get objects(): RenderableObject[];
399
403
  get state(): LayerState;
400
404
  addStateChangeCallback(callback: StateChangeCallback): void;
@@ -1358,35 +1362,33 @@ declare class ImageLayer extends Layer implements ChannelsEnabled {
1358
1362
  private channelProps_?;
1359
1363
  private chunkStoreView_?;
1360
1364
  private pointerDownPos_;
1361
- private zPrevPointWorld_?;
1362
1365
  private debugMode_;
1363
1366
  private static readonly STALE_PRESENTATION_MS_;
1364
1367
  private lastPresentationTimeStamp_?;
1365
1368
  private lastPresentationTimeCoord_?;
1366
1369
  private readonly wireframeColors_;
1367
1370
  constructor({ source, sliceCoords, policy, channelProps, onPickValue, ...layerOptions }: ImageLayerProps);
1368
- onAttached(context: IdetikContext): void;
1369
- onDetached(_context: IdetikContext): void;
1371
+ protected attach(context: IdetikContext): void;
1372
+ protected detach(_context: IdetikContext): void;
1370
1373
  update(context?: RenderContext): void;
1371
1374
  private updateChunks;
1372
1375
  hasMultipleLODs(): boolean;
1373
1376
  get lastPresentationTimeCoord(): number | undefined;
1374
1377
  private isPresentationStale;
1375
- private resliceIfZChanged;
1376
1378
  onEvent(event: EventContext): void;
1377
1379
  get chunkStoreView(): ChunkStoreView | undefined;
1378
1380
  get sliceCoords(): SliceCoordinates;
1379
1381
  get source(): ChunkSource;
1380
1382
  get imageSourcePolicy(): Readonly<ImageSourcePolicy>;
1381
1383
  set imageSourcePolicy(newPolicy: ImageSourcePolicy);
1382
- private slicePlane;
1383
1384
  private getImageForChunk;
1384
1385
  private getChannelPropsForChunk;
1385
1386
  private createImage;
1386
- private getDataForImage;
1387
+ private zSliceIndex;
1388
+ private zTexCoordForChunk;
1387
1389
  private updateImageChunk;
1388
- getValueAtWorld(world: vec3): number | null;
1389
- private getValueFromChunk;
1390
+ getValueAtWorld(world: vec3): Promise<number | null>;
1391
+ private readValueFromChunk;
1390
1392
  get debugMode(): boolean;
1391
1393
  set debugMode(debug: boolean);
1392
1394
  get channelProps(): ChannelProps[] | undefined;
@@ -1433,8 +1435,8 @@ declare class VolumeLayer extends Layer implements ChannelsEnabled {
1433
1435
  removeChannelChangeCallback(callback: () => void): void;
1434
1436
  constructor({ source, sliceCoords, policy, channelProps }: VolumeLayerProps);
1435
1437
  private getOrCreateVolume;
1436
- onAttached(context: IdetikContext): void;
1437
- onDetached(_context: IdetikContext): void;
1438
+ protected attach(context: IdetikContext): void;
1439
+ protected detach(_context: IdetikContext): void;
1438
1440
  private updateChunks;
1439
1441
  private updateVolumeTransform;
1440
1442
  private releaseAndRemoveVolume;
@@ -1473,17 +1475,15 @@ declare class LabelLayer extends Layer {
1473
1475
  private policy_;
1474
1476
  private chunkStoreView_?;
1475
1477
  private pointerDownPos_;
1476
- private zPrevPointWorld_?;
1477
1478
  private static readonly STALE_PRESENTATION_MS_;
1478
1479
  private lastPresentationTimeStamp_?;
1479
1480
  private lastPresentationTimeCoord_?;
1480
1481
  constructor({ source, sliceCoords, policy, colorMap, onPickValue, outlineSelected, ...layerOptions }: LabelLayerProps);
1481
- onAttached(context: IdetikContext): void;
1482
- onDetached(_context: IdetikContext): void;
1482
+ protected attach(context: IdetikContext): void;
1483
+ protected detach(_context: IdetikContext): void;
1483
1484
  update(context?: RenderContext): void;
1484
1485
  private updateChunks;
1485
1486
  private isPresentationStale;
1486
- private resliceIfZChanged;
1487
1487
  onEvent(event: EventContext): void;
1488
1488
  get colorMap(): LabelColorMap;
1489
1489
  setColorMap(colorMap: LabelColorMapProps): void;
@@ -1494,12 +1494,12 @@ declare class LabelLayer extends Layer {
1494
1494
  set imageSourcePolicy(newPolicy: ImageSourcePolicy);
1495
1495
  get chunkStoreView(): ChunkStoreView | undefined;
1496
1496
  get lastPresentationTimeCoord(): number | undefined;
1497
- getValueAtWorld(world: vec3): number | null;
1498
- private getValueFromChunk;
1499
- private slicePlane;
1497
+ getValueAtWorld(world: vec3): Promise<number | null>;
1498
+ private readValueFromChunk;
1500
1499
  private getLabelForChunk;
1501
1500
  private createLabel;
1502
- private getDataForLabel;
1501
+ private zSliceIndex;
1502
+ private zTexCoordForChunk;
1503
1503
  private updateLabelChunk;
1504
1504
  private releaseAndRemoveChunks;
1505
1505
  }
@@ -1510,9 +1510,11 @@ type UniformValues = {
1510
1510
  Opacity: number;
1511
1511
  ValueOffset: number;
1512
1512
  ValueScale: number;
1513
+ ZTexCoord: number;
1513
1514
  };
1514
1515
  declare class ImageRenderable extends RenderableObject {
1515
1516
  private channels_;
1517
+ zTexCoord: number;
1516
1518
  constructor(width: number, height: number, texture: Texture, channels?: ChannelProps[]);
1517
1519
  get type(): string;
1518
1520
  setChannelProps(channels: ChannelProps[]): void;
@@ -1531,6 +1533,7 @@ type LabelImageRenderableProps = {
1531
1533
  declare class LabelImageRenderable extends RenderableObject {
1532
1534
  private outlineSelected_;
1533
1535
  private selectedValue_;
1536
+ zTexCoord: number;
1534
1537
  constructor(props: LabelImageRenderableProps);
1535
1538
  get type(): string;
1536
1539
  getUniforms(): {
@@ -1539,6 +1542,7 @@ declare class LabelImageRenderable extends RenderableObject {
1539
1542
  ColorLookupTableSampler: number;
1540
1543
  u_outlineSelected: number;
1541
1544
  u_selectedValue: number;
1545
+ ZTexCoord: number;
1542
1546
  };
1543
1547
  setColorMap(colorMap: LabelColorMap): void;
1544
1548
  setSelectedValue(value: number | null): void;