@idetik/core 0.27.2 → 0.28.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 (38) hide show
  1. package/dist/assets/worker_kernel-CBlE4MBI.js.map +1 -1
  2. package/dist/index.d.ts +25 -15
  3. package/dist/index.js +1596 -1622
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.umd.cjs +170 -170
  6. package/dist/index.umd.cjs.map +1 -1
  7. package/dist/types/src/core/renderable_object.d.ts +2 -0
  8. package/dist/types/src/core/renderable_object.d.ts.map +1 -1
  9. package/dist/types/src/data/chunk.d.ts +2 -1
  10. package/dist/types/src/data/chunk.d.ts.map +1 -1
  11. package/dist/types/src/data/chunk_manager.d.ts +8 -2
  12. package/dist/types/src/data/chunk_manager.d.ts.map +1 -1
  13. package/dist/types/src/data/chunk_memory.d.ts.map +1 -1
  14. package/dist/types/src/data/chunk_queue.d.ts +1 -0
  15. package/dist/types/src/data/chunk_queue.d.ts.map +1 -1
  16. package/dist/types/src/data/chunk_store.d.ts.map +1 -1
  17. package/dist/types/src/data/chunk_store_view.d.ts.map +1 -1
  18. package/dist/types/src/idetik.d.ts.map +1 -1
  19. package/dist/types/src/layers/image_layer.d.ts.map +1 -1
  20. package/dist/types/src/layers/label_layer.d.ts.map +1 -1
  21. package/dist/types/src/layers/volume_layer.d.ts.map +1 -1
  22. package/dist/types/src/objects/renderable/image_renderable.d.ts +5 -5
  23. package/dist/types/src/objects/renderable/image_renderable.d.ts.map +1 -1
  24. package/dist/types/src/objects/renderable/label_image_renderable.d.ts +4 -4
  25. package/dist/types/src/objects/renderable/label_image_renderable.d.ts.map +1 -1
  26. package/dist/types/src/objects/renderable/projected_line.d.ts +2 -2
  27. package/dist/types/src/objects/renderable/volume_renderable.d.ts +2 -1
  28. package/dist/types/src/objects/renderable/volume_renderable.d.ts.map +1 -1
  29. package/dist/types/src/objects/textures/texture.d.ts +4 -2
  30. package/dist/types/src/objects/textures/texture.d.ts.map +1 -1
  31. package/dist/types/src/objects/textures/texture_2d.d.ts +0 -6
  32. package/dist/types/src/objects/textures/texture_2d.d.ts.map +1 -1
  33. package/dist/types/src/objects/textures/texture_2d_array.d.ts +0 -6
  34. package/dist/types/src/objects/textures/texture_2d_array.d.ts.map +1 -1
  35. package/dist/types/src/objects/textures/texture_3d.d.ts +0 -4
  36. package/dist/types/src/objects/textures/texture_3d.d.ts.map +1 -1
  37. package/dist/types/src/renderers/webgl_textures.d.ts.map +1 -1
  38. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -27,10 +27,12 @@ declare abstract class Texture extends Node {
27
27
  wrapT: TextureWrapMode;
28
28
  needsUpdate: boolean;
29
29
  readTexel?: (x: number, y: number, z: number) => Promise<number>;
30
+ protected data_: DataTextureTypedArray | null;
31
+ get data(): DataTextureTypedArray | null;
32
+ set data(data: DataTextureTypedArray);
33
+ releaseCpuData(): void;
30
34
  abstract get width(): number;
31
35
  abstract get height(): number;
32
- abstract get data(): TexImageSource | ArrayBufferView | null;
33
- abstract set data(data: DataTextureTypedArray);
34
36
  get type(): string;
35
37
  }
36
38
 
@@ -45,6 +47,7 @@ type ChunkViewState = {
45
47
  };
46
48
  type Chunk = {
47
49
  data?: ChunkData;
50
+ texture?: Texture;
48
51
  state: "unloaded" | "queued" | "loading" | "loaded";
49
52
  lod: number;
50
53
  shape: {
@@ -243,10 +246,12 @@ type QueueStats = {
243
246
  pending: number;
244
247
  running: number;
245
248
  };
246
-
247
249
  declare class ChunkManager {
248
250
  private readonly stores_;
249
251
  private readonly queue_;
252
+ private readonly uploadTexture_?;
253
+ private readonly disposeTexture_?;
254
+ constructor(uploadTexture?: (texture: Texture) => void, disposeTexture?: (texture: Texture) => void);
250
255
  get queueStats(): QueueStats;
251
256
  get memoryStats(): {
252
257
  cpuChunkBytes: number;
@@ -254,6 +259,8 @@ declare class ChunkManager {
254
259
  };
255
260
  addView(source: ChunkSource, policy: ImageSourcePolicy): ChunkStoreView;
256
261
  update(): void;
262
+ private uploadLoadedChunks;
263
+ private disposeChunkTexture;
257
264
  }
258
265
 
259
266
  declare class Box3 {
@@ -367,6 +374,8 @@ declare abstract class RenderableObject extends Node {
367
374
  private programName_;
368
375
  private cullFaceMode_;
369
376
  setTexture(index: number, texture: Texture): void;
377
+ protected clearTextures(): void;
378
+ protected markStaleTexture(texture: Texture | undefined): void;
370
379
  popStaleTextures(): Texture[];
371
380
  get geometry(): Geometry;
372
381
  get wireframeGeometry(): WireframeGeometry;
@@ -1512,12 +1521,12 @@ declare class LabelLayer extends Layer {
1512
1521
  }
1513
1522
 
1514
1523
  type UniformValues = {
1515
- Color: vec3;
1516
- ImageSampler: number;
1524
+ u_color: vec3;
1525
+ u_imageSampler: number;
1517
1526
  Opacity: number;
1518
- ValueOffset: number;
1519
- ValueScale: number;
1520
- ZTexCoord: number;
1527
+ u_valueOffset: number;
1528
+ u_valueScale: number;
1529
+ u_zTexCoord: number;
1521
1530
  };
1522
1531
  declare class ImageRenderable extends RenderableObject {
1523
1532
  private channels_;
@@ -1544,12 +1553,12 @@ declare class LabelImageRenderable extends RenderableObject {
1544
1553
  constructor(props: LabelImageRenderableProps);
1545
1554
  get type(): string;
1546
1555
  getUniforms(): {
1547
- ImageSampler: number;
1548
- ColorCycleSampler: number;
1549
- ColorLookupTableSampler: number;
1556
+ u_imageSampler: number;
1557
+ u_colorCycleSampler: number;
1558
+ u_colorLookupTableSampler: number;
1550
1559
  u_outlineSelected: number;
1551
1560
  u_selectedValue: number;
1552
- ZTexCoord: number;
1561
+ u_zTexCoord: number;
1553
1562
  };
1554
1563
  setColorMap(colorMap: LabelColorMap): void;
1555
1564
  setSelectedValue(value: number | null): void;
@@ -1590,22 +1599,23 @@ declare class ProjectedLine extends RenderableObject {
1590
1599
  get width(): number;
1591
1600
  set width(value: number);
1592
1601
  getUniforms(): {
1593
- LineColor: [number, number, number];
1594
- LineWidth: number;
1602
+ u_lineColor: [number, number, number];
1603
+ u_lineWidth: number;
1595
1604
  };
1596
1605
  }
1597
1606
 
1598
1607
  declare class VolumeRenderable extends RenderableObject {
1599
1608
  voxelScale: vec3;
1600
1609
  private channels_;
1601
- private channelToTextureIndex_;
1602
1610
  private loadedChannels_;
1611
+ private readonly channelToTextureIndex_;
1603
1612
  constructor();
1604
1613
  get type(): string;
1605
1614
  updateVolumeWithChunk(chunk: Chunk): void;
1606
1615
  private addChannelTexture;
1607
1616
  private updateChannelTexture;
1608
1617
  clearLoadedChannels(): void;
1618
+ reset(): void;
1609
1619
  getUniforms(): Record<string, number[] | number>;
1610
1620
  /**
1611
1621
  * Get an available texture for a channel. If desiredChannelIndex is provided, it will try to return the texture for that channel index. If that texture is not available, or no desiredChannelIndex is passed, return the first available channel texture. This is used to determine which texture to use when updating channel properties, since channel properties can be updated even if the channel's texture hasn't been loaded yet. If no textures are available, it returns null, which signals that default contrast limits should be used when validating the channel properties.