@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,29 +1,70 @@
1
1
  import { Camera, CameraType } from "./camera";
2
2
  import { Box2 } from "../../math/box2";
3
3
  import { SliceOrientation } from "../../math/axes";
4
- type OrthographicCameraFrame = {
4
+ /**
5
+ * A world-space rectangle for the camera to frame.
6
+ */
7
+ export type OrthographicCameraFrame = {
8
+ /** Left edge of the view frame in world units. */
5
9
  left: number;
10
+ /** Right edge of the view frame in world units. */
6
11
  right: number;
12
+ /** Top edge of the view frame in world units. */
7
13
  top: number;
14
+ /** Bottom edge of the view frame in world units. */
8
15
  bottom: number;
9
16
  };
10
- type OrthographicCameraProps = OrthographicCameraFrame & {
17
+ /**
18
+ * Initialization properties for constructing an orthographic camera.
19
+ */
20
+ export type OrthographicCameraProps = {
21
+ /** Left edge of the view frame in world units. */
22
+ left: number;
23
+ /** Right edge of the view frame in world units. */
24
+ right: number;
25
+ /** Top edge of the view frame in world units. */
26
+ top: number;
27
+ /** Bottom edge of the view frame in world units. */
28
+ bottom: number;
29
+ /** Near clipping plane distance. Defaults to `-1e6`. */
11
30
  near?: number;
31
+ /** Far clipping plane distance. Defaults to `1e6`. */
12
32
  far?: number;
33
+ /** Slice orientation. Defaults to `"XY"`. */
13
34
  orientation?: SliceOrientation;
14
35
  };
15
36
  /**
16
37
  * A camera using an orthographic (parallel) projection.
17
38
  *
18
- * Orthographic projection has no perspective foreshortening, so object size is
19
- * independent of distance from the camera. This is the camera to use for 2D
20
- * image viewing, where it pairs naturally with {@link PanZoomControls}. The
21
- * initial frame is given in world coordinates; zoom and pan are applied as
22
- * scale and translation on top of that frame.
39
+ * Orthographic projection has no perspective foreshortening: objects render at
40
+ * the same size regardless of their distance from the camera, which makes this
41
+ * the camera to use for 2D image viewing. It pairs naturally with
42
+ * {@link PanZoomControls}.
43
+ *
44
+ * The constructor frames a world-space rectangle, typically the physical
45
+ * extent of the image being viewed. Zoom and pan are then applied as scale and
46
+ * translation on top of that frame, and {@link setFrame} resets them. When the
47
+ * viewport's aspect ratio differs from the frame's, the frame is padded rather
48
+ * than stretched, so image pixels always stay square.
23
49
  *
24
- * @see {@link PerspectiveCamera} for 3D scenes with perspective projection.
50
+ * ```ts
51
+ * const camera = new OrthographicCamera({
52
+ * left: 0,
53
+ * right: 1024,
54
+ * top: 0,
55
+ * bottom: 1024
56
+ * });
25
57
  *
26
- * @group Cameras & Controls
58
+ * const idetik = new Idetik({
59
+ * canvas: document.querySelector('canvas')!,
60
+ * viewports: [{
61
+ * camera,
62
+ * layers: [imageLayer],
63
+ * cameraControls: new PanZoomControls(camera),
64
+ * }],
65
+ * });
66
+ * ```
67
+ * @group Cameras
27
68
  */
28
69
  export declare class OrthographicCamera extends Camera {
29
70
  private width_;
@@ -36,25 +77,61 @@ export declare class OrthographicCamera extends Camera {
36
77
  /**
37
78
  * Creates an orthographic camera framing the given world-space rectangle.
38
79
  *
39
- * @param props - The view frame edges in world units, near/far clipping
40
- * plane distances (default `-1e6` and `1e6`), and the slice orientation
41
- * the camera faces (default `"XY"`).
80
+ * @param props - Initialization properties.
42
81
  */
43
82
  constructor(props: OrthographicCameraProps);
83
+ /**
84
+ * The world-space size of the rendered view as `[width, height]`.
85
+ *
86
+ * This is the camera frame padded to match the viewport's aspect ratio, so
87
+ * it reflects what is actually visible rather than the frame that was set.
88
+ */
44
89
  get viewportSize(): [number, number];
90
+ /**
91
+ * Sets the aspect ratio (width / height) of the viewport the camera renders
92
+ * into. Called automatically by the owning viewport when it resizes.
93
+ *
94
+ * @param aspectRatio - The viewport's width divided by its height.
95
+ */
45
96
  setAspectRatio(aspectRatio: number): void;
97
+ /**
98
+ * Reframes the camera to the given world-space rectangle, resetting any
99
+ * accumulated zoom and pan.
100
+ *
101
+ * The frame may be padded horizontally or vertically at render time to
102
+ * match the viewport's aspect ratio (see {@link viewportSize}).
103
+ *
104
+ * @param frame - The view frame edges in world units.
105
+ */
46
106
  setFrame({ left, right, top, bottom }: OrthographicCameraFrame): void;
107
+ /** Identifies the camera type as `OrthographicCamera`. */
47
108
  get type(): CameraType;
109
+ /** The slice orientation the camera faces. */
48
110
  get orientation(): SliceOrientation;
49
111
  /**
50
112
  * Changes the slice orientation the camera faces. The current frame and
51
113
  * zoom carry over numerically to the new plane axes. Call {@link setFrame}
52
114
  * to reframe the view for the new plane.
115
+ *
116
+ * @param orientation - The slice plane for the camera to face.
53
117
  */
54
118
  setOrientation(orientation: SliceOrientation): void;
119
+ /**
120
+ * Zooms the view by the given factor relative to the current zoom level.
121
+ * Factors greater than `1` zoom in and factors between `0` and `1` zoom
122
+ * out.
123
+ *
124
+ * @param factor - The magnification factor to apply.
125
+ */
55
126
  zoom(factor: number): void;
127
+ /**
128
+ * Computes the world-space rectangle currently visible in the viewport,
129
+ * accounting for zoom, pan, and aspect-ratio padding.
130
+ *
131
+ * @returns The visible rectangle on the camera's slice plane.
132
+ */
56
133
  getWorldViewRect(): Box2;
134
+ /** @hidden */
57
135
  protected updateProjectionMatrix(): void;
58
136
  }
59
- export {};
60
137
  //# sourceMappingURL=orthographic_camera.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"orthographic_camera.d.ts","sourceRoot":"","sources":["../../../../../src/objects/cameras/orthographic_camera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAGL,gBAAgB,EAGjB,MAAM,iBAAiB,CAAC;AAQzB,KAAK,uBAAuB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,uBAAuB,GAAG,uBAAuB,GAAG;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,qBAAa,kBAAmB,SAAQ,MAAM;IAE5C,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,oBAAoB,CAAgC;IAC5D,OAAO,CAAC,aAAa,CAAqD;IAC1E,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,SAAS,CAAO;IACxB,OAAO,CAAC,YAAY,CAAmB;IAEvC;;;;;;OAMG;gBACS,KAAK,EAAE,uBAAuB;IAW1C,IAAW,YAAY,qBAEtB;IAEM,cAAc,CAAC,WAAW,EAAE,MAAM;IAKlC,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,uBAAuB;IAYrE,IAAW,IAAI,IAAI,UAAU,CAE5B;IAED,IAAW,WAAW,IAAI,gBAAgB,CAEzC;IAED;;;;OAIG;IACI,cAAc,CAAC,WAAW,EAAE,gBAAgB;IAoB5C,IAAI,CAAC,MAAM,EAAE,MAAM;IAQnB,gBAAgB,IAAI,IAAI;IAgB/B,SAAS,CAAC,sBAAsB;CA8BjC"}
1
+ {"version":3,"file":"orthographic_camera.d.ts","sourceRoot":"","sources":["../../../../../src/objects/cameras/orthographic_camera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAGL,gBAAgB,EAGjB,MAAM,iBAAiB,CAAC;AAQzB;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,GAAG,EAAE,MAAM,CAAC;IACZ,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,GAAG,EAAE,MAAM,CAAC;IACZ,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBAAa,kBAAmB,SAAQ,MAAM;IAE5C,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,oBAAoB,CAAgC;IAC5D,OAAO,CAAC,aAAa,CAAqD;IAC1E,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,SAAS,CAAO;IACxB,OAAO,CAAC,YAAY,CAAmB;IAEvC;;;;OAIG;gBACS,KAAK,EAAE,uBAAuB;IAW1C;;;;;OAKG;IACH,IAAW,YAAY,qBAEtB;IAED;;;;;OAKG;IACI,cAAc,CAAC,WAAW,EAAE,MAAM;IAKzC;;;;;;;;OAQG;IACI,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,uBAAuB;IAYrE,0DAA0D;IAC1D,IAAW,IAAI,IAAI,UAAU,CAE5B;IAED,8CAA8C;IAC9C,IAAW,WAAW,IAAI,gBAAgB,CAEzC;IAED;;;;;;OAMG;IACI,cAAc,CAAC,WAAW,EAAE,gBAAgB;IAoBnD;;;;;;OAMG;IACI,IAAI,CAAC,MAAM,EAAE,MAAM;IAQ1B;;;;;OAKG;IACI,gBAAgB,IAAI,IAAI;IAgB/B,cAAc;IACd,SAAS,CAAC,sBAAsB;CA8BjC"}
@@ -1,22 +1,84 @@
1
1
  import { Camera, CameraType } from "./camera";
2
2
  import { vec3 } from "gl-matrix";
3
- type PerspectiveCameraProps = {
3
+ /**
4
+ * Initialization properties for constructing a perspective camera.
5
+ */
6
+ export type PerspectiveCameraProps = {
7
+ /** Vertical field of view in degrees. Defaults to `60`. */
4
8
  fov?: number;
9
+ /** Aspect ratio (width / height). Defaults to `1.77`. */
5
10
  aspectRatio?: number;
11
+ /** Near clipping plane distance. Defaults to `0.1`. */
6
12
  near?: number;
13
+ /** Far clipping plane distance. Defaults to `10000`. */
7
14
  far?: number;
15
+ /** World-space camera position. Defaults to the origin. */
8
16
  position?: vec3;
9
17
  };
10
- /** @group Cameras & Controls */
18
+ /**
19
+ * A camera using a perspective projection.
20
+ *
21
+ * Perspective projection applies foreshortening: objects appear smaller the
22
+ * farther they are from the camera, which makes this the camera to use for
23
+ * 3D scenes such as volume rendering. It pairs naturally with
24
+ * {@link OrbitControls}.
25
+ *
26
+ * The projection is defined by a vertical field of view, an aspect ratio,
27
+ * and near/far clipping planes. Zooming narrows or widens the field of view
28
+ * rather than moving the camera.
29
+ *
30
+ * ```ts
31
+ * const camera = new PerspectiveCamera({ fov: 45 });
32
+ *
33
+ * const controls = new OrbitControls(camera, {
34
+ * radius: 1200,
35
+ * target: [0, 0, 0],
36
+ * });
37
+ *
38
+ * const idetik = new Idetik({
39
+ * canvas: document.querySelector('canvas')!,
40
+ * viewports: [{ camera, layers: [volumeLayer], cameraControls: controls }],
41
+ * });
42
+ * ```
43
+ *
44
+ * @see {@link OrthographicCamera} for 2D image viewing with parallel
45
+ * projection.
46
+ *
47
+ * @group Cameras
48
+ */
11
49
  export declare class PerspectiveCamera extends Camera {
12
50
  private fov_;
13
51
  private aspectRatio_;
52
+ /**
53
+ * Creates a perspective camera from the given projection settings.
54
+ *
55
+ * @param props - Initialization properties.
56
+ */
14
57
  constructor(props?: PerspectiveCameraProps);
58
+ /**
59
+ * Sets the aspect ratio (width / height) of the viewport the camera
60
+ * renders into. Called automatically by the owning viewport when it
61
+ * resizes.
62
+ *
63
+ * @param aspectRatio - The viewport's width divided by its height.
64
+ */
15
65
  setAspectRatio(aspectRatio: number): void;
66
+ /** Identifies the camera type as `PerspectiveCamera`. */
16
67
  get type(): CameraType;
68
+ /** The vertical field of view in degrees. */
17
69
  get fov(): number;
70
+ /**
71
+ * Zooms the view by the given factor relative to the current zoom level.
72
+ * Factors greater than `1` zoom in and factors between `0` and `1` zoom
73
+ * out.
74
+ *
75
+ * Zooming narrows or widens the field of view rather than moving the
76
+ * camera, and the result is clamped to valid angles.
77
+ *
78
+ * @param factor - The magnification factor to apply.
79
+ */
18
80
  zoom(factor: number): void;
81
+ /** @hidden */
19
82
  protected updateProjectionMatrix(): void;
20
83
  }
21
- export {};
22
84
  //# sourceMappingURL=perspective_camera.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"perspective_camera.d.ts","sourceRoot":"","sources":["../../../../../src/objects/cameras/perspective_camera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAkB,IAAI,EAAE,MAAM,WAAW,CAAC;AAOjD,KAAK,sBAAsB,GAAG;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,IAAI,CAAC;CACjB,CAAC;AAEF,gCAAgC;AAChC,qBAAa,iBAAkB,SAAQ,MAAM;IAC3C,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,YAAY,CAAS;gBAEjB,KAAK,GAAE,sBAA2B;IAyBvC,cAAc,CAAC,WAAW,EAAE,MAAM;IAKzC,IAAW,IAAI,IAAI,UAAU,CAE5B;IAED,IAAW,GAAG,WAEb;IAEM,IAAI,CAAC,MAAM,EAAE,MAAM;IAS1B,SAAS,CAAC,sBAAsB;CASjC"}
1
+ {"version":3,"file":"perspective_camera.d.ts","sourceRoot":"","sources":["../../../../../src/objects/cameras/perspective_camera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAkB,IAAI,EAAE,MAAM,WAAW,CAAC;AAOjD;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,2DAA2D;IAC3D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,IAAI,CAAC;CACjB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,iBAAkB,SAAQ,MAAM;IAC3C,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,YAAY,CAAS;IAE7B;;;;OAIG;gBACS,KAAK,GAAE,sBAA2B;IAyB9C;;;;;;OAMG;IACI,cAAc,CAAC,WAAW,EAAE,MAAM;IAKzC,yDAAyD;IACzD,IAAW,IAAI,IAAI,UAAU,CAE5B;IAED,6CAA6C;IAC7C,IAAW,GAAG,WAEb;IAED;;;;;;;;;OASG;IACI,IAAI,CAAC,MAAM,EAAE,MAAM;IAS1B,cAAc;IACd,SAAS,CAAC,sBAAsB;CASjC"}
@@ -2,10 +2,17 @@ import { RenderableObject } from "../../core/renderable_object";
2
2
  import { Texture } from "../../objects/textures/texture";
3
3
  import { ChannelProps } from "../../core/channel";
4
4
  import { mat4, vec3 } from "gl-matrix";
5
- type ImageRenderableProps = {
5
+ /**
6
+ * Initialization properties for constructing an image renderable.
7
+ */
8
+ export type ImageRenderableProps = {
9
+ /** Width of the image in texels. */
6
10
  width: number;
11
+ /** Height of the image in texels. */
7
12
  height: number;
13
+ /** The scalar image texture to draw. */
8
14
  texture: Texture;
15
+ /** Channel appearance settings. Defaults to `[]`. */
9
16
  channelProps?: ChannelProps[];
10
17
  };
11
18
  type UniformValues = {
@@ -16,14 +23,52 @@ type UniformValues = {
16
23
  u_valueScale: number;
17
24
  u_worldToTexCoord: mat4;
18
25
  };
19
- /** @group Renderable Objects */
26
+ /**
27
+ * A textured plane that draws one 2D slice of scalar image data.
28
+ *
29
+ * Image renderable maps a scalar texture through a single channel's
30
+ * color, contrast limits, and opacity. {@link ImageLayer} constructs and
31
+ * pools one instance per visible chunk, so most applications never create
32
+ * these directly.
33
+ *
34
+ * @group Renderables
35
+ */
20
36
  export declare class ImageRenderable extends RenderableObject {
21
- private channels_;
37
+ /**
38
+ * A matrix mapping world space to the texture's normalized coordinate
39
+ * space. Layers derive it from the chunk's offset, scale, and shape.
40
+ */
22
41
  worldToTexCoord: mat4;
42
+ private channels_;
43
+ /**
44
+ * Creates an image renderable drawing the given texture. The texture's
45
+ * data type selects the matching scalar image shader.
46
+ *
47
+ * @param props - Initialization properties.
48
+ */
23
49
  constructor({ width, height, texture, channelProps, }: ImageRenderableProps);
50
+ /** Identifies the renderable type as `ImageRenderable`. */
24
51
  get type(): string;
52
+ /**
53
+ * Replaces the channel appearance settings and revalidates them
54
+ * against the current texture. Only the first entry affects rendering.
55
+ *
56
+ * @param channels - The new channel settings.
57
+ */
25
58
  setChannelProps(channels: ChannelProps[]): void;
59
+ /**
60
+ * Updates one property of the channel at the given index and
61
+ * revalidates the channel against the current texture.
62
+ *
63
+ * @param channelIndex - The channel to update.
64
+ * @param property - The property name to set.
65
+ * @param value - The new value.
66
+ */
26
67
  setChannelProperty<K extends keyof ChannelProps>(channelIndex: number, property: K, value: Required<ChannelProps>[K]): void;
68
+ /**
69
+ * Returns the sampler, contrast, color, opacity, and world-to-texture
70
+ * uniforms for the scalar image shaders.
71
+ */
27
72
  getUniforms(): UniformValues;
28
73
  }
29
74
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"image_renderable.d.ts","sourceRoot":"","sources":["../../../../../src/objects/renderable/image_renderable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAEL,YAAY,EAGb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGvC,KAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;CAC/B,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,OAAO,EAAE,IAAI,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,IAAI,CAAC;CACzB,CAAC;AAEF,gCAAgC;AAChC,qBAAa,eAAgB,SAAQ,gBAAgB;IACnD,OAAO,CAAC,SAAS,CAAsB;IAEhC,eAAe,EAAE,IAAI,CAAiB;gBAEjC,EACV,KAAK,EACL,MAAM,EACN,OAAO,EACP,YAAiB,GAClB,EAAE,oBAAoB;IASvB,IAAW,IAAI,WAEd;IAEM,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE;IAIxC,kBAAkB,CAAC,CAAC,SAAS,MAAM,YAAY,EACpD,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAUlB,WAAW,IAAI,aAAa;CAkB7C"}
1
+ {"version":3,"file":"image_renderable.d.ts","sourceRoot":"","sources":["../../../../../src/objects/renderable/image_renderable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAEL,YAAY,EAGb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGvC;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,qDAAqD;IACrD,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;CAC/B,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,OAAO,EAAE,IAAI,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,IAAI,CAAC;CACzB,CAAC;AAEF;;;;;;;;;GASG;AACH,qBAAa,eAAgB,SAAQ,gBAAgB;IACnD;;;OAGG;IACI,eAAe,EAAE,IAAI,CAAiB;IAE7C,OAAO,CAAC,SAAS,CAAsB;IAEvC;;;;;OAKG;gBACS,EACV,KAAK,EACL,MAAM,EACN,OAAO,EACP,YAAiB,GAClB,EAAE,oBAAoB;IASvB,2DAA2D;IAC3D,IAAW,IAAI,WAEd;IAED;;;;;OAKG;IACI,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE;IAI/C;;;;;;;OAOG;IACI,kBAAkB,CAAC,CAAC,SAAS,MAAM,YAAY,EACpD,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAUlC;;;OAGG;IACa,WAAW,IAAI,aAAa;CAkB7C"}
@@ -2,30 +2,80 @@ import { RenderableObject } from "../../core/renderable_object";
2
2
  import { mat4 } from "gl-matrix";
3
3
  import { Texture } from "../../objects/textures/texture";
4
4
  import { Color, ColorLike } from "../../math/color";
5
+ /**
6
+ * Color assignments for label values.
7
+ *
8
+ * Values present in `lookupTable` use its color. Any other value takes a
9
+ * color from `cycle` by index. Value `0` renders transparent unless the
10
+ * lookup table assigns it a color.
11
+ */
5
12
  export type LabelColorMapProps = {
13
+ /** Exact colors for specific label values. */
6
14
  lookupTable?: ReadonlyMap<number, ColorLike>;
15
+ /** Colors cycled by value. Defaults to 6 built-ins. */
7
16
  cycle?: ReadonlyArray<ColorLike>;
8
17
  };
18
+ /**
19
+ * A validated color map with every entry resolved to a {@link Color}.
20
+ * Returned by {@link LabelLayer.colorMap}.
21
+ */
9
22
  export type LabelColorMap = {
23
+ /** Exact colors for specific label values. */
10
24
  readonly lookupTable: ReadonlyMap<number, Color>;
25
+ /** Colors cycled by value. */
11
26
  readonly cycle: ReadonlyArray<Color>;
12
27
  };
13
28
  export declare function validateColorMap(props?: LabelColorMapProps): LabelColorMap;
14
- type LabelImageRenderableProps = {
29
+ /**
30
+ * Initialization properties for constructing a label image renderable.
31
+ */
32
+ export type LabelImageRenderableProps = {
33
+ /** Width of the label image in texels. */
15
34
  width: number;
35
+ /** Height of the label image in texels. */
16
36
  height: number;
37
+ /** Scalar integer texture of label values. */
17
38
  imageData: Texture;
39
+ /** Colors to apply to label values. */
18
40
  colorMap: LabelColorMapProps;
41
+ /** Outlines the selected value. Defaults to `false`. */
19
42
  outlineSelected?: boolean;
43
+ /** The selected label value. Defaults to `null`. */
20
44
  selectedValue?: number | null;
21
45
  };
22
- /** @group Renderable Objects */
46
+ /**
47
+ * A textured plane that draws one 2D slice of integer label data.
48
+ *
49
+ * Each label value is colored through a {@link LabelColorMap}. Values in
50
+ * the lookup table use its color, other values take a color from the
51
+ * cycle, and value `0` renders transparent unless the lookup table covers
52
+ * it. The image texture must hold scalar integer data. {@link LabelLayer}
53
+ * constructs and pools one instance per visible chunk, so most
54
+ * applications configure labels through the layer instead.
55
+ *
56
+ * @group Renderables
57
+ */
23
58
  export declare class LabelImageRenderable extends RenderableObject {
59
+ /**
60
+ * A matrix mapping world space to the texture's normalized coordinate
61
+ * space. Layers derive it from the chunk's offset, scale, and shape.
62
+ */
63
+ worldToTexCoord: mat4;
24
64
  private outlineSelected_;
25
65
  private selectedValue_;
26
- worldToTexCoord: mat4;
66
+ /**
67
+ * Creates a label renderable drawing the given label texture. The
68
+ * texture's data type selects the matching label shader.
69
+ *
70
+ * @param props - Initialization properties.
71
+ */
27
72
  constructor(props: LabelImageRenderableProps);
73
+ /** Identifies the renderable type as `LabelImageRenderable`. */
28
74
  get type(): string;
75
+ /**
76
+ * Returns the sampler, color map, and selection uniforms for the label
77
+ * image shaders.
78
+ */
29
79
  getUniforms(): {
30
80
  u_imageSampler: number;
31
81
  u_colorCycleSampler: number;
@@ -34,10 +84,22 @@ export declare class LabelImageRenderable extends RenderableObject {
34
84
  u_selectedValue: number;
35
85
  u_worldToTexCoord: mat4;
36
86
  };
87
+ /**
88
+ * Replaces the label color map. The previous color map textures are
89
+ * marked stale for GPU disposal.
90
+ *
91
+ * @param colorMap - The new color map.
92
+ */
37
93
  setColorMap(colorMap: LabelColorMapProps): void;
94
+ /**
95
+ * Sets the label value drawn as selected or `null` to clear the
96
+ * selection. The selected region is outlined when the renderable was
97
+ * constructed with `outlineSelected`.
98
+ *
99
+ * @param value - The label value to select.
100
+ */
38
101
  setSelectedValue(value: number | null): void;
39
102
  private makeColorCycleTexture;
40
103
  private makeColorLookupTableTexture;
41
104
  }
42
- export {};
43
105
  //# sourceMappingURL=label_image_renderable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"label_image_renderable.d.ts","sourceRoot":"","sources":["../../../../../src/objects/renderable/label_image_renderable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAmB,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AA8BpD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC7C,KAAK,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACjD,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;CACtC,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,KAAK,GAAE,kBAAuB,GAC7B,aAAa,CAKf;AAED,KAAK,yBAAyB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CAAC;AA8BF,gCAAgC;AAChC,qBAAa,oBAAqB,SAAQ,gBAAgB;IACxD,OAAO,CAAC,gBAAgB,CAAU;IAClC,OAAO,CAAC,cAAc,CAAgB;IAE/B,eAAe,EAAE,IAAI,CAAiB;gBAEjC,KAAK,EAAE,yBAAyB;IAa5C,IAAW,IAAI,WAEd;IAEM,WAAW;;;;;;;;IAWX,WAAW,CAAC,QAAQ,EAAE,kBAAkB;IAQxC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI5C,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,2BAA2B;CAgBpC"}
1
+ {"version":3,"file":"label_image_renderable.d.ts","sourceRoot":"","sources":["../../../../../src/objects/renderable/label_image_renderable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAmB,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AA8BpD;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,8CAA8C;IAC9C,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC7C,uDAAuD;IACvD,KAAK,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;CAClC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,8CAA8C;IAC9C,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACjD,8BAA8B;IAC9B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;CACtC,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,KAAK,GAAE,kBAAuB,GAC7B,aAAa,CAKf;AAED;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,SAAS,EAAE,OAAO,CAAC;IACnB,uCAAuC;IACvC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,wDAAwD;IACxD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CAAC;AA8BF;;;;;;;;;;;GAWG;AACH,qBAAa,oBAAqB,SAAQ,gBAAgB;IACxD;;;OAGG;IACI,eAAe,EAAE,IAAI,CAAiB;IAE7C,OAAO,CAAC,gBAAgB,CAAU;IAClC,OAAO,CAAC,cAAc,CAAgB;IAEtC;;;;;OAKG;gBACS,KAAK,EAAE,yBAAyB;IAa5C,gEAAgE;IAChE,IAAW,IAAI,WAEd;IAED;;;OAGG;IACI,WAAW;;;;;;;;IAWlB;;;;;OAKG;IACI,WAAW,CAAC,QAAQ,EAAE,kBAAkB;IAQ/C;;;;;;OAMG;IACI,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI5C,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,2BAA2B;CAgBpC"}
@@ -2,15 +2,60 @@ import { vec3 } from "gl-matrix";
2
2
  import { ColorLike } from "../../math/color";
3
3
  import { RenderableObject } from "../../core/renderable_object";
4
4
  type Marker = "circle" | "square" | "triangle";
5
- type PointProps = {
5
+ /**
6
+ * Initialization properties for a point in {@link PointsRenderable}.
7
+ */
8
+ export type PointProps = {
9
+ /** World-space position of the point. */
6
10
  position: vec3;
11
+ /** Fill color of the marker. */
7
12
  color: ColorLike;
13
+ /** Marker size in pixels. */
8
14
  size: number;
15
+ /** Marker shape. */
9
16
  marker: Marker;
10
17
  };
11
- /** @group Renderable Objects */
18
+ /**
19
+ * A set of point markers drawn as screen-space sprites.
20
+ *
21
+ * Each point has a world-space position, a color, a size in pixels, and a
22
+ * marker shape. All instances share a single marker sprite atlas. The
23
+ * point set is fixed at construction, so build a new instance to change
24
+ * it. Construct these directly inside a custom {@link Layer}.
25
+ *
26
+ * ```ts
27
+ * class Particles extends Layer {
28
+ * public readonly type = "Particles";
29
+ *
30
+ * constructor(positions: vec3[]) {
31
+ * super();
32
+ * this.addObject(
33
+ * new PointsRenderable(
34
+ * positions.map((position) => ({
35
+ * position,
36
+ * color: Color.RED,
37
+ * size: 20,
38
+ * marker: "circle" as const,
39
+ * }))
40
+ * )
41
+ * );
42
+ * this.setState("ready");
43
+ * }
44
+ *
45
+ * public update() {}
46
+ * }
47
+ * ```
48
+ *
49
+ * @group Renderables
50
+ */
12
51
  export declare class PointsRenderable extends RenderableObject {
52
+ /**
53
+ * Creates a renderable drawing one marker per entry.
54
+ *
55
+ * @param points - The points to draw.
56
+ */
13
57
  constructor(points: PointProps[]);
58
+ /** Identifies the renderable type as `PointsRenderable`. */
14
59
  get type(): string;
15
60
  }
16
61
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"points_renderable.d.ts","sourceRoot":"","sources":["../../../../../src/objects/renderable/points_renderable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAS,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAIhE,KAAK,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;AAS/C,KAAK,UAAU,GAAG;IAChB,QAAQ,EAAE,IAAI,CAAC;IACf,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,gCAAgC;AAChC,qBAAa,gBAAiB,SAAQ,gBAAgB;gBACxC,MAAM,EAAE,UAAU,EAAE;IA8ChC,IAAW,IAAI,WAEd;CACF"}
1
+ {"version":3,"file":"points_renderable.d.ts","sourceRoot":"","sources":["../../../../../src/objects/renderable/points_renderable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAS,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAIhE,KAAK,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;AAS/C;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,yCAAyC;IACzC,QAAQ,EAAE,IAAI,CAAC;IACf,gCAAgC;IAChC,KAAK,EAAE,SAAS,CAAC;IACjB,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBAAa,gBAAiB,SAAQ,gBAAgB;IACpD;;;;OAIG;gBACS,MAAM,EAAE,UAAU,EAAE;IA8ChC,4DAA4D;IAC5D,IAAW,IAAI,WAEd;CACF"}
@@ -1,25 +1,49 @@
1
1
  import { RenderableObject } from "../../core/renderable_object";
2
2
  import { ProjectedLineGeometry } from "../../objects/geometry/projected_line_geometry";
3
3
  import { Color, ColorLike } from "../../math/color";
4
- type ProjectedLineRenderableProps = {
4
+ /**
5
+ * Initialization properties for constructing a projected line renderable.
6
+ */
7
+ export type ProjectedLineRenderableProps = {
8
+ /** The line path geometry to draw. */
5
9
  geometry: ProjectedLineGeometry;
10
+ /** The line color. */
6
11
  color: ColorLike;
12
+ /** Line width in pixels. */
7
13
  width: number;
8
14
  };
9
- /** @group Renderable Objects */
15
+ /**
16
+ * A polyline drawn with a constant screen-space width.
17
+ *
18
+ * The line is extruded in the vertex shader so its width stays fixed in
19
+ * pixels at any zoom level. Custom layers can construct it directly for
20
+ * paths and outlines.
21
+ *
22
+ * @group Renderables
23
+ */
10
24
  export declare class ProjectedLineRenderable extends RenderableObject {
11
25
  private color_;
12
26
  private width_;
27
+ /**
28
+ * Creates a projected line renderable for the given path geometry.
29
+ *
30
+ * @param props - Initialization properties.
31
+ */
13
32
  constructor({ geometry, color, width }: ProjectedLineRenderableProps);
33
+ /** Identifies the renderable type as `ProjectedLineRenderable`. */
14
34
  get type(): string;
35
+ /** The line color. Assignable from any {@link ColorLike} value. */
15
36
  get color(): Color;
37
+ /** @param value - The new line color. */
16
38
  set color(value: ColorLike);
39
+ /** The line width in pixels. */
17
40
  get width(): number;
41
+ /** @param value - The new width in pixels. */
18
42
  set width(value: number);
43
+ /** Returns the color and width uniforms for the line shader. */
19
44
  getUniforms(): {
20
45
  u_lineColor: [number, number, number];
21
46
  u_lineWidth: number;
22
47
  };
23
48
  }
24
- export {};
25
49
  //# sourceMappingURL=projected_line_renderable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"projected_line_renderable.d.ts","sourceRoot":"","sources":["../../../../../src/objects/renderable/projected_line_renderable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEpD,KAAK,4BAA4B,GAAG;IAClC,QAAQ,EAAE,qBAAqB,CAAC;IAChC,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,gCAAgC;AAChC,qBAAa,uBAAwB,SAAQ,gBAAgB;IAC3D,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,MAAM,CAAS;gBAEX,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,4BAA4B;IASpE,IAAW,IAAI,WAEd;IAED,IAAW,KAAK,IAAI,KAAK,CAExB;IAED,IAAW,KAAK,CAAC,KAAK,EAAE,SAAS,EAEhC;IAED,IAAW,KAAK,IAIQ,MAAM,CAF7B;IAED,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,EAE7B;IAEe,WAAW;;;;CAM5B"}
1
+ {"version":3,"file":"projected_line_renderable.d.ts","sourceRoot":"","sources":["../../../../../src/objects/renderable/projected_line_renderable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG;IACzC,sCAAsC;IACtC,QAAQ,EAAE,qBAAqB,CAAC;IAChC,sBAAsB;IACtB,KAAK,EAAE,SAAS,CAAC;IACjB,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;;;GAQG;AACH,qBAAa,uBAAwB,SAAQ,gBAAgB;IAC3D,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,MAAM,CAAS;IAEvB;;;;OAIG;gBACS,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,4BAA4B;IASpE,mEAAmE;IACnE,IAAW,IAAI,WAEd;IAED,mEAAmE;IACnE,IAAW,KAAK,IAAI,KAAK,CAExB;IAED,yCAAyC;IACzC,IAAW,KAAK,CAAC,KAAK,EAAE,SAAS,EAEhC;IAED,gCAAgC;IAChC,IAAW,KAAK,IAKQ,MAAM,CAH7B;IAED,8CAA8C;IAC9C,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,EAE7B;IAED,gEAAgE;IAChD,WAAW;;;;CAM5B"}