@dtour/scatter 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,17 +1,19 @@
1
1
  export type PointPipeline = {
2
2
  /** Additive blend pipeline — accumulates light on dark background. */
3
3
  additivePipeline: GPURenderPipeline;
4
- /** Normal (premultiplied-over) blend pipeline — preserves label colors. */
4
+ /** Normal (premultiplied-over) pipeline — standard alpha compositing for per-point colors. */
5
5
  normalPipeline: GPURenderPipeline;
6
6
  /** Subtractive (reverse-subtract) blend pipeline — subtracts from light background. */
7
7
  subtractivePipeline: GPURenderPipeline;
8
8
  bindGroupLayout: GPUBindGroupLayout;
9
9
  uniformBuffer: GPUBuffer;
10
10
  cameraBuffer: GPUBuffer;
11
- /** Small 4-byte default buffer used when no per-point colors are loaded. */
12
- defaultColorBuffer: GPUBuffer;
11
+ /** Small 4-byte default buffer used when no colormap LUT is loaded. */
12
+ defaultColorLutBuffer: GPUBuffer;
13
13
  /** Small 4-byte default buffer used when no selection mask is set. */
14
14
  defaultSelectionBuffer: GPUBuffer;
15
+ /** Small 4-byte default buffer used when no categorical indices are bound. */
16
+ defaultCatIndicesBuffer: GPUBuffer;
15
17
  };
16
18
  /** Resolved style with concrete numeric values, ready for GPU upload. */
17
19
  export type PointStyle = {
@@ -25,8 +27,21 @@ export type RawPointStyle = {
25
27
  opacity: number | 'auto';
26
28
  color: [number, number, number];
27
29
  };
30
+ /** Color mode: 0 = uniform color, 1 = continuous, 2 = categorical, 3 = 2D colormap. */
31
+ export type ColorMode = 0 | 1 | 2 | 3;
32
+ /** Color mapping state for the shader LUT approach. */
33
+ export type ColorState = {
34
+ mode: ColorMode;
35
+ columnOffset: number;
36
+ min: number;
37
+ range: number;
38
+ numStops: number;
39
+ columnOffsetV: number;
40
+ minV: number;
41
+ rangeV: number;
42
+ mapIndex: number;
43
+ };
28
44
  export type StyleFlags = {
29
- usePerPointColor: boolean;
30
45
  useSelectionMask: boolean;
31
46
  };
32
47
  export type CameraState = {
@@ -39,18 +54,22 @@ export type CameraState = {
39
54
  insetOffsetY: number;
40
55
  /** Zoom multiplier — scales content to fit visible area below toolbar. */
41
56
  insetZoom: number;
57
+ /** Whether 3D camera rotation is active. */
58
+ use3d: boolean;
59
+ /** 3×3 rotation matrix (column-major, 9 floats). null = identity. */
60
+ rotation: Float32Array | null;
42
61
  };
43
- export declare const createPointPipeline: (device: GPUDevice, canvasFormat: GPUTextureFormat) => PointPipeline;
44
- export declare const writeUniforms: (device: GPUDevice, uniformBuffer: GPUBuffer, style: PointStyle, flags?: StyleFlags, useSubtractive?: boolean) => void;
62
+ export declare const createPointPipeline: (device: GPUDevice, hdrFormat?: GPUTextureFormat) => PointPipeline;
63
+ export declare const writeUniforms: (device: GPUDevice, uniformBuffer: GPUBuffer, style: PointStyle, flags?: StyleFlags, colorState?: ColorState, useSubtractive?: boolean, numPoints?: number, numDims?: number, biasX?: number, biasY?: number, maxPoints?: number, biasZ?: number) => void;
45
64
  export declare const writeCamera: (device: GPUDevice, cameraBuffer: GPUBuffer, camera: CameraState) => void;
46
- export declare const createPointBindGroup: (device: GPUDevice, layout: GPUBindGroupLayout, uniformBuffer: GPUBuffer, projectedBuffer: GPUBuffer, cameraBuffer: GPUBuffer, colorBuffer: GPUBuffer, selectionBuffer: GPUBuffer) => GPUBindGroup;
65
+ export declare const createPointBindGroup: (device: GPUDevice, layout: GPUBindGroupLayout, uniformBuffer: GPUBuffer, dataBuffer: GPUBuffer, cameraBuffer: GPUBuffer, colorLutBuffer: GPUBuffer, selectionBuffer: GPUBuffer, adjBasisBuffer: GPUBuffer, catIndicesBuffer: GPUBuffer) => GPUBindGroup;
47
66
  export type TonemapPipeline = {
48
67
  pipeline: GPURenderPipeline;
49
68
  bindGroupLayout: GPUBindGroupLayout;
50
- /** Shared 16-byte uniform buffer: [mode(f32), pad, pad, pad]. */
69
+ /** 4-byte uniform buffer: [mode]. */
51
70
  paramsBuffer: GPUBuffer;
52
71
  };
53
- /** Tonemap mode: 0 = exponential (additive), 1 = clamp (over/subtractive). */
72
+ /** Tonemap mode: 0 = exponential (additive), 1 = clamp (normal / subtractive). */
54
73
  export declare const writeTonemapParams: (device: GPUDevice, paramsBuffer: GPUBuffer, mode: number) => void;
55
74
  export declare const createTonemapPipeline: (device: GPUDevice, canvasFormat: GPUTextureFormat) => TonemapPipeline;
56
75
  export declare const createTonemapBindGroup: (device: GPUDevice, layout: GPUBindGroupLayout, hdrTextureView: GPUTextureView, paramsBuffer: GPUBuffer) => GPUBindGroup;
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/gpu/pipeline.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,aAAa,GAAG;IAC1B,sEAAsE;IACtE,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,2EAA2E;IAC3E,cAAc,EAAE,iBAAiB,CAAC;IAClC,uFAAuF;IACvF,mBAAmB,EAAE,iBAAiB,CAAC;IACvC,eAAe,EAAE,kBAAkB,CAAC;IACpC,aAAa,EAAE,SAAS,CAAC;IACzB,YAAY,EAAE,SAAS,CAAC;IACxB,4EAA4E;IAC5E,kBAAkB,EAAE,SAAS,CAAC;IAC9B,sEAAsE;IACtE,sBAAsB,EAAE,SAAS,CAAC;CACnC,CAAC;AAuBF,yEAAyE;AACzE,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC,CAAC;AAEF,oFAAoF;AACpF,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,mEAAmE;IACnE,YAAY,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAuBF,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,SAAS,EACjB,cAAc,gBAAgB,KAC7B,aAyJF,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,QAAQ,SAAS,EACjB,eAAe,SAAS,EACxB,OAAO,UAAU,EACjB,QAAO,UAA0B,EACjC,wBAAsB,KACrB,IAYF,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,QAAQ,SAAS,EACjB,cAAc,SAAS,EACvB,QAAQ,WAAW,KAClB,IAUF,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,SAAS,EACjB,QAAQ,kBAAkB,EAC1B,eAAe,SAAS,EACxB,iBAAiB,SAAS,EAC1B,cAAc,SAAS,EACvB,aAAa,SAAS,EACtB,iBAAiB,SAAS,KACzB,YAWC,CAAC;AAIL,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,eAAe,EAAE,kBAAkB,CAAC;IACpC,iEAAiE;IACjE,YAAY,EAAE,SAAS,CAAC;CACzB,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,SAAS,EACjB,cAAc,SAAS,EACvB,MAAM,MAAM,KACX,IAIF,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,QAAQ,SAAS,EACjB,cAAc,gBAAgB,KAC7B,eAyCF,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,QAAQ,SAAS,EACjB,QAAQ,kBAAkB,EAC1B,gBAAgB,cAAc,EAC9B,cAAc,SAAS,KACtB,YAQC,CAAC"}
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/gpu/pipeline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ export declare const RESIDUAL_PC_MAX_DIMS = 64;
2
+ export type ResidualPcPipeline = {
3
+ partialPipeline: GPUComputePipeline;
4
+ finalPipeline: GPUComputePipeline;
5
+ bindGroupLayout: GPUBindGroupLayout;
6
+ paramsBuffer: GPUBuffer;
7
+ };
8
+ export declare const createResidualPcPipeline: (device: GPUDevice) => ResidualPcPipeline;
9
+ /**
10
+ * Compute the first PC of the residual complement on the GPU.
11
+ *
12
+ * The GPU reduces N points to a p×p covariance matrix (two passes).
13
+ * Power iteration (15 steps) runs on the CPU — p is always small (≤64).
14
+ *
15
+ * @param basis p×2 column-major Float32Array already written to basisBuffer
16
+ * @returns p-element unit vector orthogonal to both basis columns
17
+ */
18
+ export declare const computeResidualPCGpu: (device: GPUDevice, pipeline: ResidualPcPipeline, dataBuffer: GPUBuffer, normParamsBuffer: GPUBuffer, basisBuffer: GPUBuffer, basis: Float32Array, numPoints: number, numDims: number) => Promise<Float32Array>;
19
+ //# sourceMappingURL=residual-pc-pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"residual-pc-pipeline.d.ts","sourceRoot":"","sources":["../../src/gpu/residual-pc-pipeline.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAKvC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,eAAe,EAAE,kBAAkB,CAAC;IACpC,aAAa,EAAE,kBAAkB,CAAC;IAClC,eAAe,EAAE,kBAAkB,CAAC;IACpC,YAAY,EAAE,SAAS,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,QAAQ,SAAS,KAAG,kBAoC5D,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,SAAS,EACjB,UAAU,kBAAkB,EAC5B,YAAY,SAAS,EACrB,kBAAkB,SAAS,EAC3B,aAAa,SAAS,EACtB,OAAO,YAAY,EACnB,WAAW,MAAM,EACjB,SAAS,MAAM,KACd,OAAO,CAAC,YAAY,CAsEtB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,10 @@
1
1
  export { createScatter } from './gpu/client.ts';
2
2
  export type { ScatterOptions, ScatterInstance, ScatterStatus } from './gpu/client.ts';
3
+ export { createScatterWebGL } from './webgl/client.ts';
3
4
  export type { Metadata } from './data/types.ts';
4
5
  export { computeArcLengths, interpolateAtPosition } from './tour/arc-length.ts';
5
6
  export { OKABE_ITO, GLASBEY_DARK, GLASBEY_LIGHT, VIRIDIS_25, MAGMA_25 } from './data/palettes.ts';
7
+ export { COLORMAP_2D_NAMES, COLORMAP_2D_INDEX, packColormap2DLut } from './data/colormaps2d.ts';
8
+ export type { Colormap2DName } from './data/colormaps2d.ts';
6
9
  export { bitPackIndices } from './selection.ts';
7
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACtF,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAChG,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"jacobi.d.ts","sourceRoot":"","sources":["../../src/pca/jacobi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW,GACtB,QAAQ,YAAY,EACpB,GAAG,MAAM,KACR;IAAE,WAAW,EAAE,YAAY,CAAC;IAAC,YAAY,EAAE,YAAY,EAAE,CAAA;CA+E3D,CAAC"}
1
+ {"version":3,"file":"jacobi.d.ts","sourceRoot":"","sources":["../../src/pca/jacobi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW,GACtB,QAAQ,YAAY,EACpB,GAAG,MAAM,KACR;IAAE,WAAW,EAAE,YAAY,CAAC;IAAC,YAAY,EAAE,YAAY,EAAE,CAAA;CA8E3D,CAAC"}
@@ -9,12 +9,15 @@ export type CanvasView = {
9
9
  export declare const configureCanvas: (canvas: OffscreenCanvas, device: GPUDevice) => CanvasView;
10
10
  /**
11
11
  * Encode a render pass for numPoints instanced quads into a texture view.
12
- * The target is typically an HDR (rgba32float) texture for later tone mapping.
13
- * Returns a GPUCommandBuffer — caller batches with compute commands before submitting.
12
+ * The target is typically an HDR float texture for later tone mapping.
13
+ *
14
+ * Large point counts are split into multiple draw calls using firstInstance
15
+ * offsets so that @builtin(instance_index) covers [0, numPoints) across all
16
+ * draws — storage buffer indexing and decimation hashing are unaffected.
14
17
  */
15
- export declare const renderPoints: (device: GPUDevice, target: GPUTextureView, pipeline: GPURenderPipeline, bindGroup: GPUBindGroup, numPoints: number, clearColor?: [number, number, number]) => GPUCommandBuffer;
18
+ export declare const renderPoints: (encoder: GPUCommandEncoder, target: GPUTextureView, pipeline: GPURenderPipeline, bindGroup: GPUBindGroup, numPoints: number, clearColor?: [number, number, number]) => void;
16
19
  /**
17
20
  * Encode a fullscreen tone-map pass that reads an HDR texture and writes to a canvas.
18
21
  */
19
- export declare const tonemapToCanvas: (device: GPUDevice, view: CanvasView, tonemapPipeline: GPURenderPipeline, tonemapBindGroup: GPUBindGroup) => GPUCommandBuffer;
22
+ export declare const tonemapToCanvas: (encoder: GPUCommandEncoder, view: CanvasView, tonemapPipeline: GPURenderPipeline, tonemapBindGroup: GPUBindGroup) => void;
20
23
  //# sourceMappingURL=renderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,MAAM,EAAE,gBAAgB,CAAC;CAC1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,eAAe,EAAE,QAAQ,SAAS,KAAG,UAU5E,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,GACvB,QAAQ,SAAS,EACjB,QAAQ,cAAc,EACtB,UAAU,iBAAiB,EAC3B,WAAW,YAAY,EACvB,WAAW,MAAM,EACjB,aAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAa,KAC/C,gBAqBF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAC1B,QAAQ,SAAS,EACjB,MAAM,UAAU,EAChB,iBAAiB,iBAAiB,EAClC,kBAAkB,YAAY,KAC7B,gBAiBF,CAAC"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,MAAM,EAAE,gBAAgB,CAAC;CAC1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,eAAe,EAAE,QAAQ,SAAS,KAAG,UAU5E,CAAC;AAQF;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,GACvB,SAAS,iBAAiB,EAC1B,QAAQ,cAAc,EACtB,UAAU,iBAAiB,EAC3B,WAAW,YAAY,EACvB,WAAW,MAAM,EACjB,aAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAa,KAC/C,IAqBF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAC1B,SAAS,iBAAiB,EAC1B,MAAM,UAAU,EAChB,iBAAiB,iBAAiB,EAClC,kBAAkB,YAAY,KAC7B,IAeF,CAAC"}