@idetik/core 0.35.5 → 0.36.1

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 (31) hide show
  1. package/README.md +63 -119
  2. package/dist/index.d.ts +87 -99
  3. package/dist/index.js +782 -765
  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/layer.d.ts +3 -5
  8. package/dist/types/src/core/layer.d.ts.map +1 -1
  9. package/dist/types/src/core/renderer.d.ts +2 -1
  10. package/dist/types/src/core/renderer.d.ts.map +1 -1
  11. package/dist/types/src/idetik.d.ts +2 -3
  12. package/dist/types/src/idetik.d.ts.map +1 -1
  13. package/dist/types/src/layers/image_layer.d.ts +3 -2
  14. package/dist/types/src/layers/image_layer.d.ts.map +1 -1
  15. package/dist/types/src/layers/label_layer.d.ts +1 -2
  16. package/dist/types/src/layers/label_layer.d.ts.map +1 -1
  17. package/dist/types/src/layers/volume_layer.d.ts +2 -1
  18. package/dist/types/src/layers/volume_layer.d.ts.map +1 -1
  19. package/dist/types/src/objects/cameras/orthographic_camera.d.ts +12 -9
  20. package/dist/types/src/objects/cameras/orthographic_camera.d.ts.map +1 -1
  21. package/dist/types/src/objects/cameras/perspective_camera.d.ts +1 -1
  22. package/dist/types/src/objects/cameras/perspective_camera.d.ts.map +1 -1
  23. package/dist/types/src/objects/renderable/image_renderable.d.ts +7 -1
  24. package/dist/types/src/objects/renderable/image_renderable.d.ts.map +1 -1
  25. package/dist/types/src/objects/renderable/volume_renderable.d.ts +5 -1
  26. package/dist/types/src/objects/renderable/volume_renderable.d.ts.map +1 -1
  27. package/dist/types/src/renderers/webgl_renderer.d.ts +4 -1
  28. package/dist/types/src/renderers/webgl_renderer.d.ts.map +1 -1
  29. package/dist/types/src/renderers/webgl_state.d.ts +4 -0
  30. package/dist/types/src/renderers/webgl_state.d.ts.map +1 -1
  31. package/package.json +1 -1
@@ -28,7 +28,7 @@ export interface LayerProps {
28
28
  */
29
29
  export declare abstract class Layer {
30
30
  abstract readonly type: string;
31
- private objects_;
31
+ private readonly coverageGroups_;
32
32
  private state_;
33
33
  private attached_;
34
34
  private readonly callbacks_;
@@ -43,14 +43,12 @@ export declare abstract class Layer {
43
43
  onDetached(context: IdetikContext): void;
44
44
  protected attach(_context: IdetikContext): void;
45
45
  protected detach(_context: IdetikContext): void;
46
- get objects(): RenderableObject[];
46
+ get coverageGroups(): ReadonlyMap<number | null, readonly RenderableObject[]>;
47
47
  get state(): LayerState;
48
48
  addStateChangeCallback(callback: StateChangeCallback): void;
49
49
  removeStateChangeCallback(callback: StateChangeCallback): void;
50
- hasMultipleLODs(): boolean;
51
50
  protected setState(newState: LayerState): void;
52
- protected addObject(object: RenderableObject): void;
53
- protected removeObject(object: RenderableObject): void;
51
+ protected addObject(object: RenderableObject, coverageGroup?: number | null): void;
54
52
  protected clearObjects(): void;
55
53
  /**
56
54
  * Get uniforms for shader program. Override in derived classes that need custom uniforms.
@@ -1 +1 @@
1
- {"version":3,"file":"layer.d.ts","sourceRoot":"","sources":["../../../../src/core/layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,oBAAoB;AACpB,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC;AAC7D,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,QAAQ,GACR,UAAU,GACV,aAAa,GACb,UAAU,GACV,eAAe,CAAC;AAEpB,KAAK,mBAAmB,GAAG,CACzB,QAAQ,EAAE,UAAU,EACpB,SAAS,CAAC,EAAE,UAAU,KACnB,IAAI,CAAC;AAEV,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;;;;;;;;;;;;;;GAeG;AACH,8BAAsB,KAAK;IACzB,kBAAyB,IAAI,EAAE,MAAM,CAAC;IAEtC,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IAExD,OAAO,CAAC,QAAQ,CAAS;IAClB,SAAS,EAAE,SAAS,CAAC;gBAEhB,EAAE,OAAa,EAAE,SAAkB,EAAE,GAAE,UAAe;IAKlE,IAAW,OAAO,IAIQ,MAAM,CAF/B;IAED,IAAW,OAAO,CAAC,KAAK,EAAE,MAAM,EAQ/B;aAEe,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI;IAE1C,OAAO,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI;IAE9B,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAUxC,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAM/C,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAE/C,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAE/C,IAAW,OAAO,uBAEjB;IAED,IAAW,KAAK,eAEf;IAEM,sBAAsB,CAAC,QAAQ,EAAE,mBAAmB;IAIpD,yBAAyB,CAAC,QAAQ,EAAE,mBAAmB;IAQvD,eAAe,IAAI,OAAO;IAIjC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU;IAMvC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,gBAAgB;IAI5C,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,gBAAgB;IAO/C,SAAS,CAAC,YAAY;IAItB;;;OAGG;IACI,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAG9C"}
1
+ {"version":3,"file":"layer.d.ts","sourceRoot":"","sources":["../../../../src/core/layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,oBAAoB;AACpB,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC;AAC7D,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,QAAQ,GACR,UAAU,GACV,aAAa,GACb,UAAU,GACV,eAAe,CAAC;AAEpB,KAAK,mBAAmB,GAAG,CACzB,QAAQ,EAAE,UAAU,EACpB,SAAS,CAAC,EAAE,UAAU,KACnB,IAAI,CAAC;AAEV,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;;;;;;;;;;;;;;GAeG;AACH,8BAAsB,KAAK;IACzB,kBAAyB,IAAI,EAAE,MAAM,CAAC;IAEtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAG5B;IACJ,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IAExD,OAAO,CAAC,QAAQ,CAAS;IAClB,SAAS,EAAE,SAAS,CAAC;gBAEhB,EAAE,OAAa,EAAE,SAAkB,EAAE,GAAE,UAAe;IAKlE,IAAW,OAAO,IAIQ,MAAM,CAF/B;IAED,IAAW,OAAO,CAAC,KAAK,EAAE,MAAM,EAQ/B;aAEe,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI;IAE1C,OAAO,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI;IAE9B,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAUxC,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAM/C,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAE/C,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAE/C,IAAW,cAAc,IAAI,WAAW,CACtC,MAAM,GAAG,IAAI,EACb,SAAS,gBAAgB,EAAE,CAC5B,CAEA;IAED,IAAW,KAAK,eAEf;IAEM,sBAAsB,CAAC,QAAQ,EAAE,mBAAmB;IAIpD,yBAAyB,CAAC,QAAQ,EAAE,mBAAmB;IAQ9D,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU;IAMvC,SAAS,CAAC,SAAS,CACjB,MAAM,EAAE,gBAAgB,EACxB,aAAa,GAAE,MAAM,GAAG,IAAW;IAUrC,SAAS,CAAC,YAAY;IAItB;;;OAGG;IACI,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAG9C"}
@@ -1,5 +1,6 @@
1
1
  import { Camera } from "../objects/cameras/camera";
2
2
  import { Layer } from "./layer";
3
+ import { RenderableObject } from "./renderable_object";
3
4
  import { Viewport } from "./viewport";
4
5
  import { Texture } from "../objects/textures/texture";
5
6
  export declare abstract class Renderer {
@@ -8,7 +9,7 @@ export declare abstract class Renderer {
8
9
  private height_;
9
10
  protected renderedObjects_: number;
10
11
  protected abstract resize(width: number, height: number): void;
11
- protected abstract renderObject(layer: Layer, objectIndex: number, camera: Camera): void;
12
+ protected abstract renderObject(layer: Layer, object: RenderableObject, camera: Camera): void;
12
13
  protected abstract clear(): void;
13
14
  constructor(canvas: HTMLCanvasElement);
14
15
  beginFrame(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../../src/core/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,8BAAsB,QAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,OAAO,CAAK;IAEpB,SAAS,CAAC,gBAAgB,SAAK;IAC/B,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAC9D,SAAS,CAAC,QAAQ,CAAC,YAAY,CAC7B,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb,IAAI;IACP,SAAS,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI;gBAEpB,MAAM,EAAE,iBAAiB;IAK9B,UAAU,IAAI,IAAI;aAET,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAEzC,UAAU,IAAI,IAAI;IAKzB,OAAO,CAAC,kBAAkB;IAQ1B,SAAS,KAAK,MAAM,sBAEnB;IAED,IAAW,KAAK,WAEf;IAED,IAAW,MAAM,WAEhB;IAED,IAAW,eAAe,WAEzB;IAED,aAAoB,eAAe,IAAI,MAAM,CAAC;IAE9C,aAAoB,eAAe,IAAI,MAAM,CAAC;aAE9B,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;aAErC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CACvD"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../../src/core/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,8BAAsB,QAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,OAAO,CAAK;IAEpB,SAAS,CAAC,gBAAgB,SAAK;IAC/B,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAC9D,SAAS,CAAC,QAAQ,CAAC,YAAY,CAC7B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,MAAM,GACb,IAAI;IACP,SAAS,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI;gBAEpB,MAAM,EAAE,iBAAiB;IAK9B,UAAU,IAAI,IAAI;aAET,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAEzC,UAAU,IAAI,IAAI;IAKzB,OAAO,CAAC,kBAAkB;IAQ1B,SAAS,KAAK,MAAM,sBAEnB;IAED,IAAW,KAAK,WAEf;IAED,IAAW,MAAM,WAEhB;IAED,IAAW,eAAe,WAEzB;IAED,aAAoB,eAAe,IAAI,MAAM,CAAC;IAE9C,aAAoB,eAAe,IAAI,MAAM,CAAC;aAE9B,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;aAErC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CACvD"}
@@ -1,5 +1,4 @@
1
1
  import { ChunkManager } from "./data/chunk_manager";
2
- import { Renderer } from "./core/renderer";
3
2
  import { Viewport, ViewportProps } from "./core/viewport";
4
3
  /** @group Runtime */
5
4
  export type Overlay = {
@@ -65,7 +64,7 @@ export declare class Idetik {
65
64
  *
66
65
  * @example
67
66
  * // Single viewport (element defaults to canvas)
68
- * const camera = new OrthographicCamera(0, 1024, 0, 1024);
67
+ * const camera = new OrthographicCamera({ left: 0, right: 1024, top: 0, bottom: 1024 });
69
68
  * const idetik = new Idetik({
70
69
  * canvas: document.querySelector('canvas')!,
71
70
  * viewports: [{
@@ -97,7 +96,7 @@ export declare class Idetik {
97
96
  *
98
97
  * @throws {Error} If viewports have duplicate IDs or shared elements
99
98
  */
100
- constructor(params: IdetikProps, renderer?: Renderer);
99
+ constructor(params: IdetikProps);
101
100
  get chunkQueueStats(): import("./data/chunk_manager").QueueStats;
102
101
  get memoryStats(): MemoryStats;
103
102
  get renderedObjects(): number;
@@ -1 +1 @@
1
- {"version":3,"file":"idetik.d.ts","sourceRoot":"","sources":["../../../src/idetik.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,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,EAAE,QAAQ,CAAC,EAAE,QAAQ;IA4CpD,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":"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"}
@@ -13,7 +13,7 @@ import { PointPickingResult } from "./point_picking";
13
13
  export type ImageLayerProps = LayerProps & {
14
14
  source: ChunkSource;
15
15
  sliceCoords: SliceCoordinates;
16
- policy: ImageSourcePolicy;
16
+ policy?: ImageSourcePolicy;
17
17
  orientation?: SliceOrientation;
18
18
  channelProps?: ChannelProps[];
19
19
  onPickValue?: (info: PointPickingResult) => void;
@@ -41,6 +41,7 @@ export declare class ImageLayer extends Layer implements ChannelsEnabled {
41
41
  private orientation_;
42
42
  private readonly onPickValue_?;
43
43
  private readonly visibleChunks_;
44
+ private orderedChunks_;
44
45
  private readonly pool_;
45
46
  private readonly initialChannelProps_?;
46
47
  private readonly channelChangeCallbacks_;
@@ -65,7 +66,7 @@ export declare class ImageLayer extends Layer implements ChannelsEnabled {
65
66
  */
66
67
  setOrientation(orientation: SliceOrientation): void;
67
68
  private updateChunks;
68
- hasMultipleLODs(): boolean;
69
+ private rebuildRenderGroups;
69
70
  get lastPresentationTimeCoord(): number | undefined;
70
71
  private isPresentationStale;
71
72
  onEvent(event: EventContext): void;
@@ -1 +1 @@
1
- {"version":3,"file":"image_layer.d.ts","sourceRoot":"","sources":["../../../../src/layers/image_layer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image_layer.d.ts","sourceRoot":"","sources":["../../../../src/layers/image_layer.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ import { PointPickingResult } from "./point_picking";
12
12
  export type LabelLayerProps = LayerProps & {
13
13
  source: ChunkSource;
14
14
  sliceCoords: SliceCoordinates;
15
- policy: ImageSourcePolicy;
15
+ policy?: ImageSourcePolicy;
16
16
  orientation?: SliceOrientation;
17
17
  colorMap?: LabelColorMapProps;
18
18
  onPickValue?: (info: PointPickingResult) => void;
@@ -50,7 +50,6 @@ export declare class LabelLayer extends Layer {
50
50
  */
51
51
  setOrientation(orientation: SliceOrientation): void;
52
52
  private updateChunks;
53
- hasMultipleLODs(): boolean;
54
53
  private isPresentationStale;
55
54
  onEvent(event: EventContext): void;
56
55
  private pickAtRay;
@@ -1 +1 @@
1
- {"version":3,"file":"label_layer.d.ts","sourceRoot":"","sources":["../../../../src/layers/label_layer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"label_layer.d.ts","sourceRoot":"","sources":["../../../../src/layers/label_layer.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import { ChannelProps, ChannelsEnabled } from "../core/channel";
7
7
  export type VolumeLayerProps = {
8
8
  source: ChunkSource;
9
9
  sliceCoords: SliceCoordinates;
10
- policy: ImageSourcePolicy;
10
+ policy?: ImageSourcePolicy;
11
11
  channelProps?: ChannelProps[];
12
12
  };
13
13
  /** @group Layers */
@@ -47,6 +47,7 @@ export declare class VolumeLayer extends Layer implements ChannelsEnabled {
47
47
  private updateVolumeTransform;
48
48
  private releaseAndRemoveVolume;
49
49
  update(viewport?: Viewport): void;
50
+ private rebuildObjects;
50
51
  getUniforms(): Record<string, unknown>;
51
52
  }
52
53
  export declare function poolKeyForChunk(chunk: Chunk): string;
@@ -1 +1 @@
1
- {"version":3,"file":"volume_layer.d.ts","sourceRoot":"","sources":["../../../../src/layers/volume_layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAIhE,OAAO,EACL,YAAY,EACZ,eAAe,EAEhB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;CAC/B,CAAC;AAIF,oBAAoB;AACpB,qBAAa,WAAY,SAAQ,KAAM,YAAW,eAAe;IAC/D,SAAgB,IAAI,iBAAiB;IAErC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;IAChD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA4C;IAC5E,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA4C;IAC7E,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0C;IAChE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAiB;IACvD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAyB;IACjE,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,aAAa,CAAC,CAAiB;IAEvC,OAAO,CAAC,eAAe,CAAiC;IACxD,OAAO,CAAC,6BAA6B,CAAiC;IACtE,OAAO,CAAC,yBAAyB,CAAO;IAGxC,OAAO,CAAC,oBAAoB,CAAS;IAC9B,uBAAuB,UAAS;IAChC,gBAAgB,SAAO;IACvB,iBAAiB,SAAO;IACxB,qBAAqB,SAAQ;IAEpC,IAAW,mBAAmB,IAIQ,OAAO,CAF5C;IAED,IAAW,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAM5C;IAED,IAAW,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,EAUxD;IAEM,eAAe,CAAC,YAAY,EAAE,YAAY,EAAE;IAUnD,IAAW,YAAY,IAAI,YAAY,EAAE,GAAG,SAAS,CAEpD;IAEM,iBAAiB,IAAI,IAAI;IAMzB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAIpD,2BAA2B,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;gBAQlD,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,gBAAgB;IAU3E,OAAO,CAAC,iBAAiB;IAiBzB,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa;IAYvC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa;IASxC,OAAO,CAAC,YAAY;IAiCpB,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,sBAAsB;IAMvB,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ;IAiB1B,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAS9C;AAqBD,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,UAM3C"}
1
+ {"version":3,"file":"volume_layer.d.ts","sourceRoot":"","sources":["../../../../src/layers/volume_layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAEL,iBAAiB,EAClB,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EACL,YAAY,EACZ,eAAe,EAEhB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;CAC/B,CAAC;AAIF,oBAAoB;AACpB,qBAAa,WAAY,SAAQ,KAAM,YAAW,eAAe;IAC/D,SAAgB,IAAI,iBAAiB;IAErC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;IAChD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA4C;IAC5E,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA4C;IAC7E,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0C;IAChE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAiB;IACvD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAyB;IACjE,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,aAAa,CAAC,CAAiB;IAEvC,OAAO,CAAC,eAAe,CAAiC;IACxD,OAAO,CAAC,6BAA6B,CAAiC;IACtE,OAAO,CAAC,yBAAyB,CAAO;IAGxC,OAAO,CAAC,oBAAoB,CAAS;IAC9B,uBAAuB,UAAS;IAChC,gBAAgB,SAAO;IACvB,iBAAiB,SAAO;IACxB,qBAAqB,SAAQ;IAEpC,IAAW,mBAAmB,IAIQ,OAAO,CAF5C;IAED,IAAW,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAM5C;IAED,IAAW,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,EAUxD;IAEM,eAAe,CAAC,YAAY,EAAE,YAAY,EAAE;IAUnD,IAAW,YAAY,IAAI,YAAY,EAAE,GAAG,SAAS,CAEpD;IAEM,iBAAiB,IAAI,IAAI;IAMzB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAIpD,2BAA2B,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;gBAQlD,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,gBAAgB;IAU3E,OAAO,CAAC,iBAAiB;IAiBzB,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa;IAYvC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa;IAUxC,OAAO,CAAC,YAAY;IA+BpB,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,sBAAsB;IAMvB,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ;IAiBjC,OAAO,CAAC,cAAc;IAUf,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAS9C;AAqBD,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,UAM3C"}
@@ -1,7 +1,13 @@
1
1
  import { Camera, CameraType } from "./camera";
2
2
  import { Box2 } from "../../math/box2";
3
3
  import { SliceOrientation } from "../../math/axes";
4
- type OrthographicCameraProps = {
4
+ type OrthographicCameraFrame = {
5
+ left: number;
6
+ right: number;
7
+ top: number;
8
+ bottom: number;
9
+ };
10
+ type OrthographicCameraProps = OrthographicCameraFrame & {
5
11
  near?: number;
6
12
  far?: number;
7
13
  orientation?: SliceOrientation;
@@ -30,17 +36,14 @@ export declare class OrthographicCamera extends Camera {
30
36
  /**
31
37
  * Creates an orthographic camera framing the given world-space rectangle.
32
38
  *
33
- * @param left - Left edge of the view frame, in world units.
34
- * @param right - Right edge of the view frame, in world units.
35
- * @param top - Top edge of the view frame, in world units.
36
- * @param bottom - Bottom edge of the view frame, in world units.
37
- * @param options - Near/far clipping plane distances (default `-1e6` and
38
- * `1e6`) and the slice orientation the camera faces (default `"XY"`).
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"`).
39
42
  */
40
- constructor(left: number, right: number, top: number, bottom: number, options?: OrthographicCameraProps);
43
+ constructor(props: OrthographicCameraProps);
41
44
  get viewportSize(): [number, number];
42
45
  setAspectRatio(aspectRatio: number): void;
43
- setFrame(left: number, right: number, bottom: number, top: number): void;
46
+ setFrame({ left, right, top, bottom }: OrthographicCameraFrame): void;
44
47
  get type(): CameraType;
45
48
  get orientation(): SliceOrientation;
46
49
  /**
@@ -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,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;;;;;;;;;OASG;gBAED,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,uBAA4B;IAYvC,IAAW,YAAY,qBAEtB;IAEM,cAAc,CAAC,WAAW,EAAE,MAAM;IAKlC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAYxE,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,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"}
@@ -11,7 +11,7 @@ type PerspectiveCameraProps = {
11
11
  export declare class PerspectiveCamera extends Camera {
12
12
  private fov_;
13
13
  private aspectRatio_;
14
- constructor(options?: PerspectiveCameraProps);
14
+ constructor(props?: PerspectiveCameraProps);
15
15
  setAspectRatio(aspectRatio: number): void;
16
16
  get type(): CameraType;
17
17
  get fov(): number;
@@ -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,OAAO,GAAE,sBAA2B;IAyBzC,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,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"}
@@ -2,6 +2,12 @@ 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 = {
6
+ width: number;
7
+ height: number;
8
+ texture: Texture;
9
+ channelProps?: ChannelProps[];
10
+ };
5
11
  type UniformValues = {
6
12
  u_color: vec3;
7
13
  u_imageSampler: number;
@@ -14,7 +20,7 @@ type UniformValues = {
14
20
  export declare class ImageRenderable extends RenderableObject {
15
21
  private channels_;
16
22
  worldToTexCoord: mat4;
17
- constructor(width: number, height: number, texture: Texture, channels?: ChannelProps[]);
23
+ constructor({ width, height, texture, channelProps, }: ImageRenderableProps);
18
24
  get type(): string;
19
25
  setChannelProps(channels: ChannelProps[]): void;
20
26
  setChannelProperty<K extends keyof ChannelProps>(channelIndex: number, property: K, value: Required<ChannelProps>[K]): void;
@@ -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,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;gBAG3C,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,QAAQ,GAAE,YAAY,EAAO;IAS/B,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,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;IAQvB,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"}
@@ -2,13 +2,16 @@ import { RenderableObject } from "../../core/renderable_object";
2
2
  import { ChannelProps } from "../../core/channel";
3
3
  import { vec3 } from "gl-matrix";
4
4
  import type { Chunk } from "../../data/chunk";
5
+ type VolumeRenderableProps = {
6
+ channelProps?: ChannelProps[];
7
+ };
5
8
  /** @group Renderable Objects */
6
9
  export declare class VolumeRenderable extends RenderableObject {
7
10
  voxelScale: vec3;
8
11
  private channels_;
9
12
  private loadedChannels_;
10
13
  private readonly channelToTextureIndex_;
11
- constructor();
14
+ constructor({ channelProps }?: VolumeRenderableProps);
12
15
  get type(): string;
13
16
  updateVolumeWithChunk(chunk: Chunk): void;
14
17
  private addChannelTexture;
@@ -23,4 +26,5 @@ export declare class VolumeRenderable extends RenderableObject {
23
26
  setChannelProps(channels: ChannelProps[]): void;
24
27
  setChannelProperty<K extends keyof ChannelProps>(channelIndex: number, property: K, value: Required<ChannelProps>[K]): void;
25
28
  }
29
+ export {};
26
30
  //# sourceMappingURL=volume_renderable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"volume_renderable.d.ts","sourceRoot":"","sources":["../../../../../src/objects/renderable/volume_renderable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,OAAO,EAEL,YAAY,EAGb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,gCAAgC;AAChC,qBAAa,gBAAiB,SAAQ,gBAAgB;IAC7C,UAAU,EAAE,IAAI,CAA4B;IAEnD,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,eAAe,CAA0B;IAEjD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAkC;;IAUzE,IAAW,IAAI,WAEd;IAEM,qBAAqB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAehD,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,oBAAoB;IAIrB,mBAAmB;IAInB,KAAK;IAMI,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IA8DhE;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAc3B,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE;IAOxC,kBAAkB,CAAC,CAAC,SAAS,MAAM,YAAY,EACpD,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;CAYnC"}
1
+ {"version":3,"file":"volume_renderable.d.ts","sourceRoot":"","sources":["../../../../../src/objects/renderable/volume_renderable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,OAAO,EAEL,YAAY,EAGb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,KAAK,qBAAqB,GAAG;IAC3B,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;CAC/B,CAAC;AAEF,gCAAgC;AAChC,qBAAa,gBAAiB,SAAQ,gBAAgB;IAC7C,UAAU,EAAE,IAAI,CAA4B;IAEnD,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,eAAe,CAA0B;IAEjD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAkC;gBAE7D,EAAE,YAAiB,EAAE,GAAE,qBAA0B;IAS7D,IAAW,IAAI,WAEd;IAEM,qBAAqB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAehD,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,oBAAoB;IAIrB,mBAAmB;IAInB,KAAK;IAMI,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IA8DhE;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAc3B,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE;IAOxC,kBAAkB,CAAC,CAAC,SAAS,MAAM,YAAY,EACpD,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;CAYnC"}
@@ -1,5 +1,6 @@
1
1
  import { Renderer } from "../core/renderer";
2
2
  import { Layer } from "../core/layer";
3
+ import { RenderableObject } from "../core/renderable_object";
3
4
  import { Viewport } from "../core/viewport";
4
5
  import { Camera } from "../objects/cameras/camera";
5
6
  import { Texture } from "../objects/textures/texture";
@@ -10,14 +11,16 @@ export declare class WebGLRenderer extends Renderer {
10
11
  private readonly textures_;
11
12
  private readonly state_;
12
13
  private renderedObjectsPerFrame_;
14
+ private stencilRef_;
13
15
  private currentViewportSize_;
14
16
  constructor(canvas: HTMLCanvasElement);
15
17
  get gpuTextureBytes(): number;
16
18
  get gpuTextureCount(): number;
17
19
  render(viewport: Viewport): void;
18
20
  private initStencil;
21
+ private setCoverageStencil;
19
22
  private renderLayer;
20
- protected renderObject(layer: Layer, objectIndex: number, camera: Camera): void;
23
+ protected renderObject(layer: Layer, object: RenderableObject, camera: Camera): void;
21
24
  private drawGeometry;
22
25
  uploadTexture(texture: Texture): void;
23
26
  disposeTexture(texture: Texture): void;
@@ -1 +1 @@
1
- {"version":3,"file":"webgl_renderer.d.ts","sourceRoot":"","sources":["../../../../src/renderers/webgl_renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAQ5C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAKtC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAetD,qBAAa,aAAc,SAAQ,QAAQ;IACzC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAyB;IAC7C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgB;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,wBAAwB,CAAK;IACrC,OAAO,CAAC,oBAAoB,CAA4B;gBAE5C,MAAM,EAAE,iBAAiB;IA4BrC,IAAW,eAAe,WAEzB;IAED,IAAW,eAAe,WAEzB;IAEM,MAAM,CAAC,QAAQ,EAAE,QAAQ;IA+DhC,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,WAAW;IAiBnB,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAgCxE,OAAO,CAAC,YAAY;IAoFJ,aAAa,CAAC,OAAO,EAAE,OAAO;IAI9B,cAAc,CAAC,OAAO,EAAE,OAAO;IAI/C,OAAO,CAAC,cAAc;IAetB,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAQ9C,SAAS,CAAC,KAAK;CAMhB"}
1
+ {"version":3,"file":"webgl_renderer.d.ts","sourceRoot":"","sources":["../../../../src/renderers/webgl_renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAQ5C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG7D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAetD,qBAAa,aAAc,SAAQ,QAAQ;IACzC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAyB;IAC7C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgB;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,wBAAwB,CAAK;IACrC,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,oBAAoB,CAA4B;gBAE5C,MAAM,EAAE,iBAAiB;IA4BrC,IAAW,eAAe,WAEzB;IAED,IAAW,eAAe,WAEzB;IAEM,MAAM,CAAC,QAAQ,EAAE,QAAQ;IAgEhC,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,WAAW;IAenB,SAAS,CAAC,YAAY,CACpB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,MAAM;IAkChB,OAAO,CAAC,YAAY;IAoFJ,aAAa,CAAC,OAAO,EAAE,OAAO;IAI9B,cAAc,CAAC,OAAO,EAAE,OAAO;IAI/C,OAAO,CAAC,cAAc;IAetB,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAQ9C,SAAS,CAAC,KAAK;CAUhB"}
@@ -11,6 +11,9 @@ export declare class WebGLState {
11
11
  private currentViewport_;
12
12
  private currentScissor_;
13
13
  private currentCullingMode_;
14
+ private stencilFunc_;
15
+ private stencilRef_;
16
+ private stencilFuncMask_;
14
17
  constructor(gl: WebGL2RenderingContext);
15
18
  private enable;
16
19
  private disable;
@@ -25,5 +28,6 @@ export declare class WebGLState {
25
28
  setCullFace(enabled: boolean): void;
26
29
  setCullFaceMode(mode: CullingMode): void;
27
30
  setStencilTest(enabled: boolean): void;
31
+ setStencilFunc(func: GLenum, ref: number, mask: number): void;
28
32
  }
29
33
  //# sourceMappingURL=webgl_state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"webgl_state.d.ts","sourceRoot":"","sources":["../../../../src/renderers/webgl_state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,QAAQ,GACR,UAAU,GACV,UAAU,GACV,aAAa,GACb,eAAe,CAAC;AAEpB,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAE7D,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAyB;IAE7C,OAAO,CAAC,oBAAoB,CAA8B;IAC1D,OAAO,CAAC,iBAAiB,CAAwB;IACjD,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,mBAAmB,CAA4B;gBAE3C,EAAE,EAAE,sBAAsB;IAQtC,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,YAAY;IAQb,eAAe,CAAC,OAAO,EAAE,OAAO;IAQhC,WAAW,CAAC,OAAO,EAAE,OAAO;IAQ5B,YAAY,CAAC,IAAI,EAAE,OAAO;IAO1B,eAAe,CAAC,IAAI,EAAE,YAAY;IA6BlC,WAAW,CAAC,GAAG,EAAE,IAAI;IAcrB,cAAc,CAAC,OAAO,EAAE,OAAO;IAS/B,UAAU,CAAC,GAAG,EAAE,IAAI;IAWpB,WAAW,CAAC,OAAO,EAAE,OAAO;IAQ5B,eAAe,CAAC,IAAI,EAAE,WAAW;IAuBjC,cAAc,CAAC,OAAO,EAAE,OAAO;CAOvC"}
1
+ {"version":3,"file":"webgl_state.d.ts","sourceRoot":"","sources":["../../../../src/renderers/webgl_state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,QAAQ,GACR,UAAU,GACV,UAAU,GACV,aAAa,GACb,eAAe,CAAC;AAEpB,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAE7D,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAyB;IAE7C,OAAO,CAAC,oBAAoB,CAA8B;IAC1D,OAAO,CAAC,iBAAiB,CAAwB;IACjD,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,mBAAmB,CAA4B;IACvD,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,gBAAgB,CAAuB;gBAEnC,EAAE,EAAE,sBAAsB;IAQtC,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,YAAY;IAQb,eAAe,CAAC,OAAO,EAAE,OAAO;IAQhC,WAAW,CAAC,OAAO,EAAE,OAAO;IAQ5B,YAAY,CAAC,IAAI,EAAE,OAAO;IAO1B,eAAe,CAAC,IAAI,EAAE,YAAY;IA6BlC,WAAW,CAAC,GAAG,EAAE,IAAI;IAcrB,cAAc,CAAC,OAAO,EAAE,OAAO;IAS/B,UAAU,CAAC,GAAG,EAAE,IAAI;IAWpB,WAAW,CAAC,OAAO,EAAE,OAAO;IAQ5B,eAAe,CAAC,IAAI,EAAE,WAAW;IAuBjC,cAAc,CAAC,OAAO,EAAE,OAAO;IAQ/B,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAY9D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idetik/core",
3
- "version": "0.35.5",
3
+ "version": "0.36.1",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "repository": {