@idetik/core 0.20.2 → 0.21.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-Der8Z2GI.js.map +1 -0
  2. package/dist/index.d.ts +38 -63
  3. package/dist/index.js +13284 -5911
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.umd.cjs +2830 -2336
  6. package/dist/index.umd.cjs.map +1 -1
  7. package/dist/types/src/core/layer.d.ts +3 -3
  8. package/dist/types/src/core/layer.d.ts.map +1 -1
  9. package/dist/types/src/core/renderer.d.ts +1 -0
  10. package/dist/types/src/core/renderer.d.ts.map +1 -1
  11. package/dist/types/src/data/ome_zarr/0.4/image.d.ts +4 -4
  12. package/dist/types/src/data/ome_zarr/0.4/plate.d.ts +4 -4
  13. package/dist/types/src/data/ome_zarr/0.5/image.d.ts +4 -4
  14. package/dist/types/src/data/ome_zarr/image_source.d.ts +0 -15
  15. package/dist/types/src/data/ome_zarr/image_source.d.ts.map +1 -1
  16. package/dist/types/src/data/zarr/open.d.ts +1 -4
  17. package/dist/types/src/data/zarr/open.d.ts.map +1 -1
  18. package/dist/types/src/idetik.d.ts +5 -1
  19. package/dist/types/src/idetik.d.ts.map +1 -1
  20. package/dist/types/src/objects/textures/texture.d.ts +2 -0
  21. package/dist/types/src/objects/textures/texture.d.ts.map +1 -1
  22. package/dist/types/src/renderers/webgpu/webgpu_bindings.d.ts +13 -0
  23. package/dist/types/src/renderers/webgpu/webgpu_bindings.d.ts.map +1 -0
  24. package/dist/types/src/renderers/webgpu/webgpu_dynamic_buffer.d.ts +17 -0
  25. package/dist/types/src/renderers/webgpu/webgpu_dynamic_buffer.d.ts.map +1 -0
  26. package/dist/types/src/renderers/webgpu/webgpu_geometry_buffers.d.ts +17 -0
  27. package/dist/types/src/renderers/webgpu/webgpu_geometry_buffers.d.ts.map +1 -0
  28. package/dist/types/src/renderers/webgpu/webgpu_pipelines.d.ts +42 -0
  29. package/dist/types/src/renderers/webgpu/webgpu_pipelines.d.ts.map +1 -0
  30. package/dist/types/src/renderers/webgpu/webgpu_renderer.d.ts +41 -0
  31. package/dist/types/src/renderers/webgpu/webgpu_renderer.d.ts.map +1 -0
  32. package/dist/types/src/renderers/webgpu/webgpu_texture_pool.d.ts +12 -0
  33. package/dist/types/src/renderers/webgpu/webgpu_texture_pool.d.ts.map +1 -0
  34. package/dist/types/src/utilities/logger.d.ts +1 -1
  35. package/dist/types/src/utilities/logger.d.ts.map +1 -1
  36. package/package.json +5 -3
  37. package/dist/assets/worker_kernel-CO2aYqZv.js.map +0 -1
  38. package/dist/types/src/data/zarr/s3_fetch_store.d.ts +0 -60
  39. package/dist/types/src/data/zarr/s3_fetch_store.d.ts.map +0 -1
package/dist/index.d.ts CHANGED
@@ -377,12 +377,12 @@ declare class EventDispatcher {
377
377
  }
378
378
 
379
379
  type LayerState = "initialized" | "loading" | "ready";
380
- type blendMode = "normal" | "additive" | "subtractive" | "multiply" | "premultiplied";
380
+ type BlendMode = "none" | "normal" | "additive" | "subtractive" | "multiply" | "premultiplied";
381
381
  type StateChangeCallback = (newState: LayerState, prevState?: LayerState) => void;
382
382
  interface LayerOptions {
383
383
  transparent?: boolean;
384
384
  opacity?: number;
385
- blendMode?: blendMode;
385
+ blendMode?: BlendMode;
386
386
  }
387
387
  type RenderContext = {
388
388
  viewport: Viewport;
@@ -394,7 +394,7 @@ declare abstract class Layer {
394
394
  private readonly callbacks_;
395
395
  transparent: boolean;
396
396
  private opacity_;
397
- blendMode: blendMode;
397
+ blendMode: BlendMode;
398
398
  constructor({ transparent, opacity, blendMode, }?: LayerOptions);
399
399
  get opacity(): number;
400
400
  set opacity(value: number);
@@ -567,6 +567,28 @@ declare class ChunkManager {
567
567
  update(): void;
568
568
  }
569
569
 
570
+ declare abstract class Renderer {
571
+ private readonly canvas_;
572
+ private width_;
573
+ private height_;
574
+ private backgroundColor_;
575
+ protected renderedObjects_: number;
576
+ protected abstract resize(width: number, height: number): void;
577
+ protected abstract renderObject(layer: Layer, objectIndex: number, camera: Camera): void;
578
+ protected abstract clear(): void;
579
+ constructor(canvas: HTMLCanvasElement);
580
+ beginFrame(): void;
581
+ abstract render(viewport: Viewport): void;
582
+ updateSize(): void;
583
+ private updateRendererSize;
584
+ protected get canvas(): HTMLCanvasElement;
585
+ get width(): number;
586
+ get height(): number;
587
+ get backgroundColor(): Color;
588
+ get renderedObjects(): number;
589
+ set backgroundColor(color: ColorLike);
590
+ }
591
+
570
592
  type Overlay = {
571
593
  update(idetik: Idetik): void;
572
594
  };
@@ -637,7 +659,10 @@ declare class Idetik {
637
659
  *
638
660
  * @throws {Error} If viewports have duplicate IDs or shared elements
639
661
  */
640
- constructor(params: IdetikParams);
662
+ static create(params: IdetikParams & {
663
+ renderer?: "webgl" | "webgpu-experimental";
664
+ }): Promise<Idetik>;
665
+ constructor(params: IdetikParams, renderer?: Renderer);
641
666
  get chunkQueueStats(): QueueStats;
642
667
  get renderedObjects(): number;
643
668
  get width(): number;
@@ -652,27 +677,6 @@ declare class Idetik {
652
677
  stop(): void;
653
678
  }
654
679
 
655
- declare abstract class Renderer {
656
- private readonly canvas_;
657
- private width_;
658
- private height_;
659
- private backgroundColor_;
660
- protected renderedObjects_: number;
661
- protected abstract resize(width: number, height: number): void;
662
- protected abstract renderObject(layer: Layer, objectIndex: number, camera: Camera): void;
663
- protected abstract clear(): void;
664
- constructor(canvas: HTMLCanvasElement);
665
- abstract render(viewport: Viewport): void;
666
- updateSize(): void;
667
- private updateRendererSize;
668
- protected get canvas(): HTMLCanvasElement;
669
- get width(): number;
670
- get height(): number;
671
- get backgroundColor(): Color;
672
- get renderedObjects(): number;
673
- set backgroundColor(color: ColorLike);
674
- }
675
-
676
680
  declare class WebGLRenderer extends Renderer {
677
681
  private readonly gl_;
678
682
  private readonly programs_;
@@ -1079,6 +1083,7 @@ declare const Image$1: z.ZodObject<{
1079
1083
  /**The version of the OME-Zarr Metadata*/
1080
1084
  version: z.ZodLiteral<"0.5">;
1081
1085
  }, "strip", z.ZodTypeAny, {
1086
+ version: "0.5";
1082
1087
  multiscales: {
1083
1088
  datasets: {
1084
1089
  path: string;
@@ -1088,7 +1093,6 @@ declare const Image$1: z.ZodObject<{
1088
1093
  name?: string | undefined;
1089
1094
  coordinateTransformations?: any[] | undefined;
1090
1095
  }[];
1091
- version: "0.5";
1092
1096
  omero?: {
1093
1097
  channels: {
1094
1098
  color?: string | undefined;
@@ -1110,6 +1114,7 @@ declare const Image$1: z.ZodObject<{
1110
1114
  } | undefined;
1111
1115
  } | undefined;
1112
1116
  }, {
1117
+ version: "0.5";
1113
1118
  multiscales: {
1114
1119
  datasets: {
1115
1120
  path: string;
@@ -1119,7 +1124,6 @@ declare const Image$1: z.ZodObject<{
1119
1124
  name?: string | undefined;
1120
1125
  coordinateTransformations?: any[] | undefined;
1121
1126
  }[];
1122
- version: "0.5";
1123
1127
  omero?: {
1124
1128
  channels: {
1125
1129
  color?: string | undefined;
@@ -1143,6 +1147,7 @@ declare const Image$1: z.ZodObject<{
1143
1147
  }>;
1144
1148
  }, "strip", z.ZodTypeAny, {
1145
1149
  ome: {
1150
+ version: "0.5";
1146
1151
  multiscales: {
1147
1152
  datasets: {
1148
1153
  path: string;
@@ -1152,7 +1157,6 @@ declare const Image$1: z.ZodObject<{
1152
1157
  name?: string | undefined;
1153
1158
  coordinateTransformations?: any[] | undefined;
1154
1159
  }[];
1155
- version: "0.5";
1156
1160
  omero?: {
1157
1161
  channels: {
1158
1162
  color?: string | undefined;
@@ -1176,6 +1180,7 @@ declare const Image$1: z.ZodObject<{
1176
1180
  };
1177
1181
  }, {
1178
1182
  ome: {
1183
+ version: "0.5";
1179
1184
  multiscales: {
1180
1185
  datasets: {
1181
1186
  path: string;
@@ -1185,7 +1190,6 @@ declare const Image$1: z.ZodObject<{
1185
1190
  name?: string | undefined;
1186
1191
  coordinateTransformations?: any[] | undefined;
1187
1192
  }[];
1188
- version: "0.5";
1189
1193
  omero?: {
1190
1194
  channels: {
1191
1195
  color?: string | undefined;
@@ -1210,19 +1214,6 @@ declare const Image$1: z.ZodObject<{
1210
1214
  }>;
1211
1215
  type Image$1 = z.infer<typeof Image$1>;
1212
1216
 
1213
- type AwsCredentials = {
1214
- accessKeyId: string;
1215
- secretAccessKey: string;
1216
- sessionToken?: string;
1217
- };
1218
- type S3FetchStoreProps = {
1219
- url: string;
1220
- region?: string;
1221
- credentials?: AwsCredentials;
1222
- overrides?: RequestInit;
1223
- useSuffixRequest?: boolean;
1224
- };
1225
-
1226
1217
  type Version$1 = "v2" | "v3";
1227
1218
  type ZarrArrayParams = {
1228
1219
  arrayPath: string;
@@ -1230,9 +1221,7 @@ type ZarrArrayParams = {
1230
1221
  } & ({
1231
1222
  type: "fetch";
1232
1223
  url: string;
1233
- } | ({
1234
- type: "s3";
1235
- } & S3FetchStoreProps) | {
1224
+ } | {
1236
1225
  type: "filesystem";
1237
1226
  directoryHandle: FileSystemDirectoryHandle;
1238
1227
  path: string;
@@ -1568,9 +1557,6 @@ type HttpOmeZarrImageSourceProps = {
1568
1557
  url: string;
1569
1558
  version?: Version;
1570
1559
  };
1571
- type S3OmeZarrImageSourceProps = S3FetchStoreProps & {
1572
- version?: Version;
1573
- };
1574
1560
  type FileSystemOmeZarrImageSourceProps = {
1575
1561
  directory: FileSystemDirectoryHandle;
1576
1562
  version?: Version;
@@ -1589,17 +1575,6 @@ declare class OmeZarrImageSource {
1589
1575
  * @param version OME-Zarr version
1590
1576
  */
1591
1577
  static fromHttp(props: HttpOmeZarrImageSourceProps): OmeZarrImageSource;
1592
- /**
1593
- * Creates an OmeZarrImageSource from an S3 HTTP(S) URL.
1594
- *
1595
- * @param url URL of Zarr root
1596
- * @param version OME-Zarr version
1597
- * @param credentials AWS credentials for S3 authentication (will generate signatures per-request)
1598
- * @param region AWS region for S3 bucket (e.g., 'us-east-1')
1599
- * @param overrides RequestInit overrides to customize fetch behavior (e.g., custom headers for S3 authentication)
1600
- * @param useSuffixRequest Whether to use suffix requests for range queries
1601
- */
1602
- static fromS3(props: S3OmeZarrImageSourceProps): OmeZarrImageSource;
1603
1578
  /**
1604
1579
  * Creates an OmeZarrImageSource from a local filesystem directory.
1605
1580
  *
@@ -1653,18 +1628,18 @@ declare const Image: z.ZodObject<{
1653
1628
  coordinateTransformations: any[];
1654
1629
  }[];
1655
1630
  axes: any[];
1631
+ version?: "0.4" | undefined;
1656
1632
  name?: string | undefined;
1657
1633
  coordinateTransformations?: any[] | undefined;
1658
- version?: "0.4" | undefined;
1659
1634
  }, {
1660
1635
  datasets: {
1661
1636
  path: string;
1662
1637
  coordinateTransformations: any[];
1663
1638
  }[];
1664
1639
  axes: any[];
1640
+ version?: "0.4" | undefined;
1665
1641
  name?: string | undefined;
1666
1642
  coordinateTransformations?: any[] | undefined;
1667
- version?: "0.4" | undefined;
1668
1643
  }>, "many">;
1669
1644
  omero: z.ZodOptional<z.ZodObject<{
1670
1645
  channels: z.ZodArray<z.ZodObject<{
@@ -1773,9 +1748,9 @@ declare const Image: z.ZodObject<{
1773
1748
  coordinateTransformations: any[];
1774
1749
  }[];
1775
1750
  axes: any[];
1751
+ version?: "0.4" | undefined;
1776
1752
  name?: string | undefined;
1777
1753
  coordinateTransformations?: any[] | undefined;
1778
- version?: "0.4" | undefined;
1779
1754
  }[];
1780
1755
  omero?: {
1781
1756
  channels: {
@@ -1804,9 +1779,9 @@ declare const Image: z.ZodObject<{
1804
1779
  coordinateTransformations: any[];
1805
1780
  }[];
1806
1781
  axes: any[];
1782
+ version?: "0.4" | undefined;
1807
1783
  name?: string | undefined;
1808
1784
  coordinateTransformations?: any[] | undefined;
1809
- version?: "0.4" | undefined;
1810
1785
  }[];
1811
1786
  omero?: {
1812
1787
  channels: {