@idetik/core 0.40.0 → 0.40.2

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 (71) hide show
  1. package/dist/assets/worker_kernel-CBlE4MBI.js.map +1 -1
  2. package/dist/index.d.ts +1717 -381
  3. package/dist/index.js +981 -193
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.umd.cjs +32 -32
  6. package/dist/index.umd.cjs.map +1 -1
  7. package/dist/types/src/core/channel.d.ts +7 -1
  8. package/dist/types/src/core/channel.d.ts.map +1 -1
  9. package/dist/types/src/core/image_source_policy.d.ts +4 -4
  10. package/dist/types/src/core/image_source_policy.d.ts.map +1 -1
  11. package/dist/types/src/core/layer.d.ts +136 -21
  12. package/dist/types/src/core/layer.d.ts.map +1 -1
  13. package/dist/types/src/core/renderable_object.d.ts +108 -3
  14. package/dist/types/src/core/renderable_object.d.ts.map +1 -1
  15. package/dist/types/src/core/viewport.d.ts +82 -2
  16. package/dist/types/src/core/viewport.d.ts.map +1 -1
  17. package/dist/types/src/data/chunk.d.ts +37 -2
  18. package/dist/types/src/data/chunk.d.ts.map +1 -1
  19. package/dist/types/src/data/chunk_manager.d.ts +5 -0
  20. package/dist/types/src/data/chunk_manager.d.ts.map +1 -1
  21. package/dist/types/src/data/ome_zarr/image_source.d.ts +56 -13
  22. package/dist/types/src/data/ome_zarr/image_source.d.ts.map +1 -1
  23. package/dist/types/src/data/ome_zarr/metadata_loaders.d.ts +4 -4
  24. package/dist/types/src/data/ome_zarr/metadata_loaders.d.ts.map +1 -1
  25. package/dist/types/src/idetik.d.ts +129 -59
  26. package/dist/types/src/idetik.d.ts.map +1 -1
  27. package/dist/types/src/index.d.ts +29 -8
  28. package/dist/types/src/index.d.ts.map +1 -1
  29. package/dist/types/src/layers/axes_layer.d.ts +30 -5
  30. package/dist/types/src/layers/axes_layer.d.ts.map +1 -1
  31. package/dist/types/src/layers/image_layer.d.ts +106 -12
  32. package/dist/types/src/layers/image_layer.d.ts.map +1 -1
  33. package/dist/types/src/layers/label_layer.d.ts +106 -5
  34. package/dist/types/src/layers/label_layer.d.ts.map +1 -1
  35. package/dist/types/src/layers/point_picking.d.ts +7 -2
  36. package/dist/types/src/layers/point_picking.d.ts.map +1 -1
  37. package/dist/types/src/layers/volume_layer.d.ts +87 -5
  38. package/dist/types/src/layers/volume_layer.d.ts.map +1 -1
  39. package/dist/types/src/math/axes.d.ts +3 -0
  40. package/dist/types/src/math/axes.d.ts.map +1 -1
  41. package/dist/types/src/math/box2.d.ts +34 -4
  42. package/dist/types/src/math/box2.d.ts.map +1 -1
  43. package/dist/types/src/math/box3.d.ts +38 -4
  44. package/dist/types/src/math/box3.d.ts.map +1 -1
  45. package/dist/types/src/math/color.d.ts +49 -2
  46. package/dist/types/src/math/color.d.ts.map +1 -1
  47. package/dist/types/src/math/frustum.d.ts +28 -0
  48. package/dist/types/src/math/frustum.d.ts.map +1 -1
  49. package/dist/types/src/math/transforms.d.ts +57 -0
  50. package/dist/types/src/math/transforms.d.ts.map +1 -1
  51. package/dist/types/src/objects/cameras/camera.d.ts +55 -0
  52. package/dist/types/src/objects/cameras/camera.d.ts.map +1 -1
  53. package/dist/types/src/objects/cameras/controls.d.ts +88 -1
  54. package/dist/types/src/objects/cameras/controls.d.ts.map +1 -1
  55. package/dist/types/src/objects/cameras/orbit_controls.d.ts +56 -1
  56. package/dist/types/src/objects/cameras/orbit_controls.d.ts.map +1 -1
  57. package/dist/types/src/objects/cameras/orthographic_camera.d.ts +90 -13
  58. package/dist/types/src/objects/cameras/orthographic_camera.d.ts.map +1 -1
  59. package/dist/types/src/objects/cameras/perspective_camera.d.ts +65 -3
  60. package/dist/types/src/objects/cameras/perspective_camera.d.ts.map +1 -1
  61. package/dist/types/src/objects/renderable/image_renderable.d.ts +48 -3
  62. package/dist/types/src/objects/renderable/image_renderable.d.ts.map +1 -1
  63. package/dist/types/src/objects/renderable/label_image_renderable.d.ts +66 -4
  64. package/dist/types/src/objects/renderable/label_image_renderable.d.ts.map +1 -1
  65. package/dist/types/src/objects/renderable/points_renderable.d.ts +47 -2
  66. package/dist/types/src/objects/renderable/points_renderable.d.ts.map +1 -1
  67. package/dist/types/src/objects/renderable/projected_line_renderable.d.ts +27 -3
  68. package/dist/types/src/objects/renderable/projected_line_renderable.d.ts.map +1 -1
  69. package/dist/types/src/objects/renderable/volume_renderable.d.ts +63 -3
  70. package/dist/types/src/objects/renderable/volume_renderable.d.ts.map +1 -1
  71. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"chunk_manager.d.ts","sourceRoot":"","sources":["../../../../src/data/chunk_manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,WAAW,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,OAAO,EAAuB,MAAM,6BAA6B,CAAC;AAG3E,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAKF,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoD;IAC5E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IAEpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAA6B;IAC7D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAA6B;IAC9D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAe;IACpD,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAS;IAEjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;gBAG5C,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,EAC1C,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,EAC3C,mBAAmB,GAAE,MAAM,MAAgB,EAC3C,gBAAgB,GAAE,MAAiB,EACnC,qBAAqB,GAAE,MAAwC,EAC/D,sBAAsB,GAAE,MAA2C;IAUrE,IAAW,gBAAgB,IAAI,MAAM,CAEpC;IAED,IAAW,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAExC;IAED,IAAW,UAAU,IAAI,UAAU,CAKlC;IAED,IAAW,WAAW;;;MAErB;IAEM,OAAO,CACZ,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,iBAAiB,EACzB,IAAI,CAAC,EAAE,SAAS,GACf,cAAc;IASV,MAAM;IA8Bb,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,mBAAmB;IAoC3B,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,gBAAgB;IAuBxB,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,kBAAkB;IA2B1B,OAAO,CAAC,mBAAmB;CAQ5B"}
1
+ {"version":3,"file":"chunk_manager.d.ts","sourceRoot":"","sources":["../../../../src/data/chunk_manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,WAAW,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,OAAO,EAAuB,MAAM,6BAA6B,CAAC;AAG3E;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAKF,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoD;IAC5E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IAEpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAA6B;IAC7D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAA6B;IAC9D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAe;IACpD,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAS;IAEjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;gBAG5C,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,EAC1C,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,EAC3C,mBAAmB,GAAE,MAAM,MAAgB,EAC3C,gBAAgB,GAAE,MAAiB,EACnC,qBAAqB,GAAE,MAAwC,EAC/D,sBAAsB,GAAE,MAA2C;IAUrE,IAAW,gBAAgB,IAAI,MAAM,CAEpC;IAED,IAAW,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAExC;IAED,IAAW,UAAU,IAAI,UAAU,CAKlC;IAED,IAAW,WAAW;;;MAErB;IAEM,OAAO,CACZ,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,iBAAiB,EACzB,IAAI,CAAC,EAAE,SAAS,GACf,cAAc;IASV,MAAM;IA8Bb,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,mBAAmB;IAoC3B,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,gBAAgB;IAuBxB,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,kBAAkB;IA2B1B,OAAO,CAAC,mBAAmB;CAQ5B"}
@@ -2,46 +2,89 @@ import { Location, Readable } from "zarrita";
2
2
  import { OmeZarrImageLoader } from "./image_loader";
3
3
  import { Version as OmeZarrVersion } from "./metadata_loaders";
4
4
  import { SourceDimensionMap } from "../chunk";
5
- type HttpOmeZarrImageSourceProps = {
5
+ /**
6
+ * Input to {@link OmeZarrImageSource.fromHttp}.
7
+ */
8
+ export type HttpOmeZarrImageSourceProps = {
9
+ /** URL of the OME-Zarr root group. */
6
10
  url: string;
11
+ /** OME-Zarr version. Detected from metadata when omitted. */
7
12
  version?: OmeZarrVersion;
8
13
  };
9
- type FileSystemOmeZarrImageSourceProps = {
14
+ /**
15
+ * Input to {@link OmeZarrImageSource.fromFileSystem}.
16
+ */
17
+ export type FileSystemOmeZarrImageSourceProps = {
18
+ /** Directory handle with read permission. */
10
19
  directory: FileSystemDirectoryHandle;
20
+ /** OME-Zarr version. Detected from metadata when omitted. */
11
21
  version?: OmeZarrVersion;
22
+ /** Image path within the directory. Defaults to the root. */
12
23
  path?: `/${string}`;
13
24
  };
14
25
  /**
15
- * Opens an OME-Zarr multiscale image Zarr group from either a URL or local directory.
26
+ * A multiscale image opened from an OME-Zarr store.
27
+ *
28
+ * Instances are created with {@link fromHttp} or {@link fromFileSystem}
29
+ * rather than the constructor. Both factories read the store's metadata up
30
+ * front so the returned source already knows its axes, resolution levels,
31
+ * and channel count. OME-Zarr versions `0.4` and `0.5` are supported and
32
+ * the version is detected from metadata when not given.
33
+ *
34
+ * A source is handed to a layer which streams chunks from it on demand.
35
+ *
36
+ * ```ts
37
+ * const source = await OmeZarrImageSource.fromHttp({
38
+ * url: "https://example.com/image.ome.zarr",
39
+ * });
40
+ *
41
+ * const layer = new ImageLayer({
42
+ * source,
43
+ * sliceCoords: { t: 0, z: 0, c: [0] },
44
+ * });
45
+ * ```
16
46
  *
17
47
  * @group Data Loading
18
48
  */
19
49
  export declare class OmeZarrImageSource {
50
+ /** The zarr store location the image was opened from. */
20
51
  readonly location: Location<Readable>;
52
+ /** The OME-Zarr version passed at creation if any. */
21
53
  readonly version?: OmeZarrVersion;
22
54
  private readonly loader_;
23
55
  private constructor();
24
56
  private static openLoader;
57
+ /**
58
+ * Returns per-axis dimension metadata for the image.
59
+ *
60
+ * Each axis entry lists one record per level of detail with its size,
61
+ * chunk size, scale, and translation. Use these to convert between
62
+ * array indices and world coordinates, pick slice coordinates, and
63
+ * frame cameras around the image extent.
64
+ */
25
65
  getDimensions(): SourceDimensionMap;
66
+ /**
67
+ * Returns the number of channels in the image.
68
+ */
26
69
  getChannelCount(): number;
70
+ /** The chunk loader that streams this image's data. */
27
71
  get loader(): OmeZarrImageLoader;
28
72
  /**
29
- * Creates and opens an OmeZarrImageSource from an HTTP(S) URL.
73
+ * Opens an OME-Zarr image over HTTP(S).
30
74
  *
31
- * @param props.url URL of the Zarr root
32
- * @param props.version OME-Zarr version
75
+ * @param props - The store url and optional version.
33
76
  */
34
77
  static fromHttp(props: HttpOmeZarrImageSourceProps): Promise<OmeZarrImageSource>;
35
78
  /**
36
- * Creates and opens an OmeZarrImageSource from a local filesystem directory.
79
+ * Opens an OME-Zarr image from a local directory.
80
+ *
81
+ * Uses the File System Access API so it only works in Chromium-based
82
+ * browsers. Pass the handle returned by `window.showDirectoryPicker()`.
83
+ * The optional path lets an application ask once for root permission
84
+ * and open many images.
37
85
  *
38
- * @param directory return value of `window.showDirectoryPicker()` which gives the browser
39
- * permission to access a directory (only works in Chrome/Edge)
40
- * @param version OME-Zarr version
41
- * @param path path to image, beginning with "/". This argument allows the application to only
42
- * ask the user once for permission to the root directory
86
+ * @param props - The directory handle, optional version, and path.
43
87
  */
44
88
  static fromFileSystem(props: FileSystemOmeZarrImageSourceProps): Promise<OmeZarrImageSource>;
45
89
  }
46
- export {};
47
90
  //# sourceMappingURL=image_source.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"image_source.d.ts","sourceRoot":"","sources":["../../../../../src/data/ome_zarr/image_source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAc,MAAM,SAAS,CAAC;AAOzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAGL,OAAO,IAAI,cAAc,EAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAQ9C,KAAK,2BAA2B,GAAG;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B,CAAC;AAEF,KAAK,iCAAiC,GAAG;IACvC,SAAS,EAAE,yBAAyB,CAAC;IACrC,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,IAAI,CAAC,EAAE,IAAI,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF;;;;GAIG;AACH,qBAAa,kBAAkB;IAC7B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;IAElC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAE7C,OAAO;mBAMc,UAAU;IAqCxB,aAAa,IAAI,kBAAkB;IAInC,eAAe,IAAI,MAAM;IAIhC,IAAW,MAAM,IAAI,kBAAkB,CAEtC;IAED;;;;;OAKG;WACiB,QAAQ,CAC1B,KAAK,EAAE,2BAA2B,GACjC,OAAO,CAAC,kBAAkB,CAAC;IAM9B;;;;;;;;OAQG;WACiB,cAAc,CAChC,KAAK,EAAE,iCAAiC,GACvC,OAAO,CAAC,kBAAkB,CAAC;CAQ/B"}
1
+ {"version":3,"file":"image_source.d.ts","sourceRoot":"","sources":["../../../../../src/data/ome_zarr/image_source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAc,MAAM,SAAS,CAAC;AAOzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAGL,OAAO,IAAI,cAAc,EAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAQ9C;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACxC,sCAAsC;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,6DAA6D;IAC7D,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iCAAiC,GAAG;IAC9C,6CAA6C;IAC7C,SAAS,EAAE,yBAAyB,CAAC;IACrC,6DAA6D;IAC7D,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,IAAI,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,kBAAkB;IAC7B,yDAAyD;IACzD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACtC,sDAAsD;IACtD,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;IAElC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAE7C,OAAO;mBAMc,UAAU;IAqC/B;;;;;;;OAOG;IACI,aAAa,IAAI,kBAAkB;IAI1C;;OAEG;IACI,eAAe,IAAI,MAAM;IAIhC,uDAAuD;IACvD,IAAW,MAAM,IAAI,kBAAkB,CAEtC;IAED;;;;OAIG;WACiB,QAAQ,CAC1B,KAAK,EAAE,2BAA2B,GACjC,OAAO,CAAC,kBAAkB,CAAC;IAM9B;;;;;;;;;OASG;WACiB,cAAc,CAChC,KAAK,EAAE,iCAAiC,GACvC,OAAO,CAAC,kBAAkB,CAAC;CAQ/B"}
@@ -9,15 +9,15 @@ type AdaptedOme<T> = T & {
9
9
  originalVersion: Version;
10
10
  };
11
11
  export declare function omeZarrToZarrVersion(omeVersion: Version | undefined): ZarrVersion | undefined;
12
- /** @group Data Loading */
12
+ /** @hidden */
13
13
  export declare function loadOmeZarrPlate(url: string, version?: Version): Promise<AdaptedOme<Plate["ome"]>>;
14
- /** @group Data Loading */
14
+ /** @hidden */
15
15
  export declare function loadOmeZarrWell(url: string, path: string, version?: Version): Promise<AdaptedOme<Well["ome"]>>;
16
16
  export type OmeroMetadata = NonNullable<Image["ome"]["omero"]>;
17
17
  export type OmeroChannel = OmeroMetadata["channels"][number];
18
- /** @group Data Loading */
18
+ /** @hidden */
19
19
  export declare function loadOmeroChannels(source: OmeZarrImageSource): Promise<OmeroChannel[]>;
20
- /** @group Data Loading */
20
+ /** @hidden */
21
21
  export declare function loadOmeroDefaults(source: OmeZarrImageSource): Promise<OmeroMetadata["rdefs"]>;
22
22
  export declare function parseOmeZarrImage(attrs: Record<string, unknown>): AdaptedOme<Image["ome"]>;
23
23
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"metadata_loaders.d.ts","sourceRoot":"","sources":["../../../../../src/data/ome_zarr/metadata_loaders.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAa,MAAM,cAAc,CAAC;AAEjE,QAAA,MAAM,QAAQ,yBAA0B,CAAC;AAEzC,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhD,KAAK,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG;IACvB,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAqBF,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,OAAO,GAAG,SAAS,GAC9B,WAAW,GAAG,SAAS,CAQzB;AAQD,0BAA0B;AAC1B,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAYnC;AA4DD,0BAA0B;AAC1B,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAalC;AAED,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/D,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,0BAA0B;AAC1B,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,YAAY,EAAE,CAAC,CAKzB;AAED,0BAA0B;AAC1B,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAKjC;AA4BD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAM1B"}
1
+ {"version":3,"file":"metadata_loaders.d.ts","sourceRoot":"","sources":["../../../../../src/data/ome_zarr/metadata_loaders.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAa,MAAM,cAAc,CAAC;AAEjE,QAAA,MAAM,QAAQ,yBAA0B,CAAC;AAEzC,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhD,KAAK,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG;IACvB,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAqBF,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,OAAO,GAAG,SAAS,GAC9B,WAAW,GAAG,SAAS,CAQzB;AAQD,cAAc;AACd,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAYnC;AA4DD,cAAc;AACd,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAalC;AAED,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/D,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,cAAc;AACd,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,YAAY,EAAE,CAAC,CAKzB;AAED,cAAc;AACd,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAKjC;AA4BD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAM1B"}
@@ -1,118 +1,188 @@
1
1
  import { ChunkManager } from "./data/chunk_manager";
2
2
  import { Viewport, ViewportProps } from "./core/viewport";
3
- /** @group Runtime */
3
+ /**
4
+ * An object updated once per frame after all viewports have rendered.
5
+ *
6
+ * Overlays drive HUD elements that live outside the canvas such as scale
7
+ * bars, time indicators, or memory readouts.
8
+ *
9
+ * ```ts
10
+ * const chunkReadout: Overlay = {
11
+ * update(idetik) {
12
+ * div.textContent = `${idetik.memoryStats.cpuChunkCount} chunks`;
13
+ * },
14
+ * };
15
+ *
16
+ * idetik.addOverlay(chunkReadout);
17
+ * ```
18
+ */
4
19
  export type Overlay = {
5
- update(idetik: Idetik): void;
20
+ /** Called once per rendered frame. */
21
+ update: (idetik: Idetik) => void;
6
22
  };
7
- /** @inline */
8
- type IdetikProps = {
23
+ /**
24
+ * Initialization properties for constructing an Idetik instance.
25
+ */
26
+ export type IdetikProps = {
27
+ /** The canvas element to render into. */
9
28
  canvas: HTMLCanvasElement;
29
+ /** Viewport definitions to create at startup. */
10
30
  viewports?: ViewportProps[];
31
+ /** Overlays to run each frame. */
11
32
  overlays?: Overlay[];
33
+ /** Shows an FPS meter. Defaults to `false`. */
12
34
  showStats?: boolean;
35
+ /** Memory budget for chunk data. Defaults to `2048`. */
13
36
  memoryLimitMB?: number;
37
+ /** Max in-flight chunk requests. Defaults to `8`. */
14
38
  maxConcurrentRequests?: number;
39
+ /** Max GPU texture uploads per frame. Defaults to `4`. */
15
40
  maxGpuUploadsPerUpdate?: number;
16
41
  };
17
42
  export type IdetikContext = {
18
43
  chunkManager: ChunkManager;
19
44
  };
20
- /** @group Runtime */
45
+ /**
46
+ * A snapshot of the runtime's memory usage.
47
+ */
21
48
  export type MemoryStats = {
49
+ /** Bytes of chunk data held in CPU memory. */
22
50
  cpuChunkBytes: number;
51
+ /** Number of chunks held in CPU memory. */
23
52
  cpuChunkCount: number;
53
+ /** Bytes of texture data resident on the GPU. */
24
54
  gpuTextureBytes: number;
55
+ /** Number of textures resident on the GPU. */
25
56
  gpuTextureCount: number;
57
+ /** Used JS heap in bytes. */
26
58
  jsHeapUsedBytes?: number;
59
+ /** JS heap size limit in bytes. */
27
60
  jsHeapLimitBytes?: number;
28
61
  };
29
62
  /**
30
- * The top-level entry point for an Idetik visualization.
63
+ * The entry point of an Idetik application.
64
+ *
65
+ * An Idetik instance owns the renderer and the chunk manager and drives the
66
+ * render loop for the viewports it is given. Each viewport pairs a camera
67
+ * and its controls with a stack of layers and draws into a region of the
68
+ * shared canvas. Layers in all viewports stream chunks through the same
69
+ * manager under a single memory budget.
70
+ *
71
+ * ```ts
72
+ * const source = await OmeZarrImageSource.fromHttp({ url });
31
73
  *
32
- * An `Idetik` instance owns the renderer, the shared chunk manager, and one or
33
- * more viewports. Each viewport pairs a camera, its controls, and a stack of
34
- * layers and draws into a region of the canvas. Call {@link Idetik.start} to
35
- * begin the render loop and {@link Idetik.stop} to halt it.
74
+ * const layer = new ImageLayer({
75
+ * source,
76
+ * sliceCoords: { t: 0, z: 0, c: [0] },
77
+ * });
78
+ *
79
+ * const camera = new OrthographicCamera({
80
+ * left: 0,
81
+ * right: 1024,
82
+ * top: 0,
83
+ * bottom: 1024,
84
+ * });
85
+ *
86
+ * const idetik = new Idetik({
87
+ * canvas: document.querySelector('canvas')!,
88
+ * viewports: [{
89
+ * camera,
90
+ * layers: [layer],
91
+ * cameraControls: new PanZoomControls(camera),
92
+ * }],
93
+ * });
94
+ *
95
+ * idetik.start();
96
+ * ```
36
97
  *
37
98
  * @see {@link Layer} for the data layers rendered within a viewport.
38
99
  *
39
- * @group Runtime
100
+ * @group Core
40
101
  */
41
102
  export declare class Idetik {
103
+ /** The canvas element the renderer draws into. */
104
+ readonly canvas: HTMLCanvasElement;
105
+ /** The registered overlays that update once per frame in order. */
106
+ readonly overlays: Overlay[];
42
107
  private readonly chunkManager_;
43
108
  private readonly context_;
44
109
  private readonly renderer_;
45
110
  private readonly viewports_;
46
- readonly canvas: HTMLCanvasElement;
47
- readonly overlays: Overlay[];
48
111
  private readonly stats_?;
49
112
  private readonly sizeObserver_;
50
113
  private lastAnimationId_?;
51
114
  private lastTimestamp_;
52
115
  /**
53
- * Creates a new Idetik visualization runtime instance.
54
- *
55
- * @param params - Configuration parameters for the Idetik instance
56
- * @param params.canvas - HTMLCanvasElement to render to
57
- * @param params.viewports - Optional array of viewport configurations.
58
- * Each viewport renders with its own camera, layers, and controls.
59
- * The `element` property is optional and defaults to the canvas if not provided.
60
- * Elements must be unique across viewports.
61
- * The `id` property is optional but useful for referencing specific viewports later.
62
- * @param params.overlays - Optional array of overlay objects that update each frame (e.g., for HUD elements)
63
- * @param params.showStats - Optional flag to display performance statistics
64
- *
65
- * @example
66
- * // Single viewport (element defaults to canvas)
67
- * const camera = new OrthographicCamera({ left: 0, right: 1024, top: 0, bottom: 1024 });
68
- * const idetik = new Idetik({
69
- * canvas: document.querySelector('canvas')!,
70
- * viewports: [{
71
- * camera: camera,
72
- * layers: [imageLayer],
73
- * cameraControls: new PanZoomControls(camera)
74
- * }]
75
- * });
116
+ * Creates an Idetik runtime for the given canvas.
76
117
  *
77
- * @example
78
- * // Multiple viewports - one defaults to canvas, others use separate elements
79
- * const idetik = new Idetik({
80
- * canvas: document.querySelector('canvas')!,
81
- * viewports: [
82
- * {
83
- * id: 'main',
84
- * // element omitted - defaults to canvas
85
- * camera: camera1,
86
- * layers: [layer1]
87
- * },
88
- * {
89
- * id: 'minimap',
90
- * element: document.querySelector('#minimap')!,
91
- * camera: camera2,
92
- * layers: [layer2]
93
- * }
94
- * ]
95
- * });
96
- *
97
- * @throws {Error} If viewports have duplicate IDs or shared elements
118
+ * @param params - Initialization properties.
98
119
  */
99
120
  constructor(params: IdetikProps);
100
- get chunkQueueStats(): import("./data/chunk_manager").QueueStats;
121
+ /** Counts of queued and in-flight chunk requests. */
122
+ get chunkQueueStats(): import(".").QueueStats;
123
+ /** A snapshot of current CPU/GPU/JS heap memory usage. */
101
124
  get memoryStats(): MemoryStats;
125
+ /** The number of objects drawn in the last rendered frame. */
102
126
  get renderedObjects(): number;
127
+ /** The width of the rendering surface in pixels. */
103
128
  get width(): number;
129
+ /** The height of the rendering surface in pixels. */
104
130
  get height(): number;
131
+ /** The viewports in render order. */
105
132
  get viewports(): readonly Viewport[];
133
+ /** Whether the render loop is running. */
106
134
  get running(): boolean;
135
+ /**
136
+ * Finds a viewport by its id.
137
+ *
138
+ * @param id - The id given in the viewport's definition.
139
+ * @returns The matching viewport or `undefined` if none matches.
140
+ */
107
141
  getViewport(id: string): Viewport | undefined;
142
+ /**
143
+ * Adds a viewport at runtime.
144
+ *
145
+ * @param props - The viewport definition. The `element` defaults to the
146
+ * canvas and must be unique across viewports.
147
+ * @returns The created viewport.
148
+ */
108
149
  addViewport(props: ViewportProps): Viewport;
150
+ /**
151
+ * Removes a previously added viewport.
152
+ *
153
+ * @param viewport - The viewport to remove.
154
+ * @returns `true` if the viewport was found and removed.
155
+ */
109
156
  removeViewport(viewport: Viewport): boolean;
157
+ /**
158
+ * Registers an overlay that updates once per frame.
159
+ *
160
+ * @param overlay - The overlay to add.
161
+ */
110
162
  addOverlay(overlay: Overlay): void;
163
+ /**
164
+ * Removes a previously added overlay.
165
+ *
166
+ * @param overlay - The overlay to remove.
167
+ * @returns `true` if the overlay was found and removed.
168
+ */
111
169
  removeOverlay(overlay: Overlay): boolean;
170
+ /**
171
+ * Sets the memory budget for chunk data at runtime.
172
+ *
173
+ * @param memoryLimitMB - The new budget in megabytes.
174
+ */
112
175
  setMemoryLimitMB(memoryLimitMB: number): void;
176
+ /**
177
+ * Starts the render loop and connects input handlers.
178
+ *
179
+ * @returns The instance, for chaining.
180
+ */
113
181
  start(): this;
114
182
  private animate;
183
+ /**
184
+ * Stops the render loop and disconnects input handlers.
185
+ */
115
186
  stop(): void;
116
187
  }
117
- export {};
118
188
  //# sourceMappingURL=idetik.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"idetik.d.ts","sourceRoot":"","sources":["../../../src/idetik.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAGL,QAAQ,EACR,aAAa,EACd,MAAM,iBAAiB,CAAC;AAKzB,qBAAqB;AACrB,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,cAAc;AACd,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,YAAY,EAAE,YAAY,CAAC;CAC5B,CAAC;AAIF,qBAAqB;AACrB,MAAM,MAAM,WAAW,GAAG;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,SAAgB,MAAM,EAAE,iBAAiB,CAAC;IAC1C,SAAgB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAGlC,OAAO,CAAC,cAAc,CAA0B;IAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8CG;gBACS,MAAM,EAAE,WAAW;IA4C/B,IAAW,eAAe,8CAEzB;IAED,IAAW,WAAW,IAAI,WAAW,CAcpC;IAED,IAAW,eAAe,WAEzB;IAED,IAAW,KAAK,WAEf;IAED,IAAW,MAAM,WAEhB;IAED,IAAW,SAAS,IAAI,SAAS,QAAQ,EAAE,CAE1C;IAED,IAAW,OAAO,IAAI,OAAO,CAE5B;IAEM,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAI7C,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,QAAQ;IAiB3C,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;IAuB3C,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAWxC,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAI7C,KAAK;IAkBZ,OAAO,CAAC,OAAO;IA0BR,IAAI;CAcZ"}
1
+ {"version":3,"file":"idetik.d.ts","sourceRoot":"","sources":["../../../src/idetik.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,54 @@
1
1
  export { Idetik } from "./idetik";
2
+ export { Viewport } from "./core/viewport";
3
+ export type { ViewportProps } from "./core/viewport";
2
4
  export { OmeZarrImageSource } from "./data/ome_zarr/image_source";
5
+ export type { FileSystemOmeZarrImageSourceProps, HttpOmeZarrImageSourceProps, } from "./data/ome_zarr/image_source";
6
+ export type { SourceDimension, SourceDimensionLod, SourceDimensionMap, } from "./data/chunk";
3
7
  export { loadOmeroChannels, loadOmeroDefaults, loadOmeZarrPlate, loadOmeZarrWell, } from "./data/ome_zarr/metadata_loaders";
4
8
  export { Layer } from "./core/layer";
9
+ export type { BlendMode, LayerProps, StateChangeCallback } from "./core/layer";
10
+ export type { PointPickingResult } from "./layers/point_picking";
5
11
  export { AxesLayer } from "./layers/axes_layer";
12
+ export type { AxesLayerProps } from "./layers/axes_layer";
6
13
  export { ImageLayer } from "./layers/image_layer";
14
+ export type { ImageLayerProps } from "./layers/image_layer";
7
15
  export { VolumeLayer } from "./layers/volume_layer";
16
+ export type { VolumeLayerProps } from "./layers/volume_layer";
8
17
  export { LabelLayer } from "./layers/label_layer";
18
+ export type { LabelLayerProps } from "./layers/label_layer";
19
+ export type { LabelColorMap, LabelColorMapProps, } from "./objects/renderable/label_image_renderable";
20
+ export { RenderableObject } from "./core/renderable_object";
9
21
  export { ImageRenderable } from "./objects/renderable/image_renderable";
22
+ export type { ImageRenderableProps } from "./objects/renderable/image_renderable";
10
23
  export { LabelImageRenderable } from "./objects/renderable/label_image_renderable";
24
+ export type { LabelImageRenderableProps } from "./objects/renderable/label_image_renderable";
11
25
  export { PointsRenderable } from "./objects/renderable/points_renderable";
26
+ export type { PointProps } from "./objects/renderable/points_renderable";
12
27
  export { ProjectedLineRenderable } from "./objects/renderable/projected_line_renderable";
28
+ export type { ProjectedLineRenderableProps } from "./objects/renderable/projected_line_renderable";
13
29
  export { VolumeRenderable } from "./objects/renderable/volume_renderable";
30
+ export type { VolumeRenderableProps } from "./objects/renderable/volume_renderable";
31
+ export { Camera } from "./objects/cameras/camera";
32
+ export type { CameraType } from "./objects/cameras/camera";
14
33
  export { OrbitControls } from "./objects/cameras/orbit_controls";
34
+ export type { OrbitControlsProps } from "./objects/cameras/orbit_controls";
15
35
  export { OrthographicCamera } from "./objects/cameras/orthographic_camera";
36
+ export type { OrthographicCameraFrame, OrthographicCameraProps, } from "./objects/cameras/orthographic_camera";
16
37
  export { PanZoomControls } from "./objects/cameras/controls";
38
+ export type { CameraControls } from "./objects/cameras/controls";
17
39
  export { PerspectiveCamera } from "./objects/cameras/perspective_camera";
40
+ export type { PerspectiveCameraProps } from "./objects/cameras/perspective_camera";
18
41
  export { createExplorationPolicy, createImageSourcePolicy, createNoPrefetchPolicy, createPlaybackPolicy, } from "./core/image_source_policy";
19
- import type { Image } from "./data/ome_zarr/0.4/image";
20
42
  export type { ChannelProps } from "./core/channel";
21
- /**
22
- * Parsed OME-Zarr (OME-NGFF 0.4) image metadata.
23
- *
24
- * @group Data Loading
25
- */
26
- export type OmeZarrImage = Image;
27
43
  export type { LayerState } from "./core/layer";
28
- export type { MemoryStats, Overlay } from "./idetik";
44
+ export type { IdetikProps, MemoryStats, Overlay } from "./idetik";
45
+ export type { QueueStats } from "./data/chunk_manager";
29
46
  export type { SliceCoordinates } from "./data/chunk";
30
47
  export type { SliceOrientation } from "./math/axes";
31
48
  export { Color } from "./math/color";
32
49
  export type { ColorLike } from "./math/color";
50
+ export { Box2 } from "./math/box2";
51
+ export { Box3 } from "./math/box3";
52
+ export { Frustum } from "./math/frustum";
53
+ export { TrsTransform } from "./math/transforms";
33
54
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,GAChB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAE1E,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAEvD,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC;AACjC,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACrD,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,36 @@
1
1
  import { Layer } from "../core/layer";
2
- /** @group Layers */
2
+ /**
3
+ * Initialization properties for constructing an axes layer.
4
+ */
5
+ export type AxesLayerProps = {
6
+ /** Axis length in world units. */
7
+ length: number;
8
+ /** Line width in pixels. */
9
+ width: number;
10
+ };
11
+ /**
12
+ * A layer that draws the world coordinate axes as colored lines.
13
+ *
14
+ * Three lines start at the world origin: `x` in red, `y` in green, and
15
+ * `z` in blue, each with the given length and width. The layer is static
16
+ * and ready as soon as it is constructed.
17
+ *
18
+ * ```ts
19
+ * viewport.addLayer(new AxesLayer({ length: 100, width: 2 }));
20
+ * ```
21
+ *
22
+ * @group Layers
23
+ */
3
24
  export declare class AxesLayer extends Layer {
25
+ /** Identifies the layer type as `AxesLayer`. */
4
26
  readonly type = "AxesLayer";
5
- constructor(params: {
6
- length: number;
7
- width: number;
8
- });
27
+ /**
28
+ * Creates an axes layer with the given dimensions.
29
+ *
30
+ * @param props - Initialization properties.
31
+ */
32
+ constructor(props: AxesLayerProps);
33
+ /** Performs no per-frame work. The axes are built at construction. */
9
34
  update(): void;
10
35
  }
11
36
  //# sourceMappingURL=axes_layer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"axes_layer.d.ts","sourceRoot":"","sources":["../../../../src/layers/axes_layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAItC,oBAAoB;AACpB,qBAAa,SAAU,SAAQ,KAAK;IAClC,SAAgB,IAAI,eAAe;gBAEvB,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IA2B9C,MAAM;CACd"}
1
+ {"version":3,"file":"axes_layer.d.ts","sourceRoot":"","sources":["../../../../src/layers/axes_layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAItC;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,qBAAa,SAAU,SAAQ,KAAK;IAClC,gDAAgD;IAChD,SAAgB,IAAI,eAAe;IAEnC;;;;OAIG;gBACS,KAAK,EAAE,cAAc;IA2BjC,sEAAsE;IAC/D,MAAM;CACd"}