@idetik/core 0.27.3 → 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 (33) hide show
  1. package/dist/assets/worker_kernel-CBlE4MBI.js.map +1 -1
  2. package/dist/index.d.ts +14 -4
  3. package/dist/index.js +1378 -1404
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.umd.cjs +36 -36
  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/objects/renderable/label_image_renderable.d.ts.map +1 -1
  22. package/dist/types/src/objects/renderable/volume_renderable.d.ts +2 -1
  23. package/dist/types/src/objects/renderable/volume_renderable.d.ts.map +1 -1
  24. package/dist/types/src/objects/textures/texture.d.ts +4 -2
  25. package/dist/types/src/objects/textures/texture.d.ts.map +1 -1
  26. package/dist/types/src/objects/textures/texture_2d.d.ts +0 -6
  27. package/dist/types/src/objects/textures/texture_2d.d.ts.map +1 -1
  28. package/dist/types/src/objects/textures/texture_2d_array.d.ts +0 -6
  29. package/dist/types/src/objects/textures/texture_2d_array.d.ts.map +1 -1
  30. package/dist/types/src/objects/textures/texture_3d.d.ts +0 -4
  31. package/dist/types/src/objects/textures/texture_3d.d.ts.map +1 -1
  32. package/dist/types/src/renderers/webgl_textures.d.ts.map +1 -1
  33. 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;
@@ -1598,14 +1607,15 @@ declare class ProjectedLine extends RenderableObject {
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.