chartgpu 0.2.3 → 0.2.5
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.
- package/README.md +106 -176
- package/dist/ChartGPU.d.ts +23 -6
- package/dist/ChartGPU.d.ts.map +1 -1
- package/dist/config/OptionResolver.d.ts.map +1 -1
- package/dist/config/types.d.ts +26 -1
- package/dist/config/types.d.ts.map +1 -1
- package/dist/core/GPUContext.d.ts +2 -2
- package/dist/core/GPUContext.d.ts.map +1 -1
- package/dist/core/createRenderCoordinator.d.ts +3 -2
- package/dist/core/createRenderCoordinator.d.ts.map +1 -1
- package/dist/core/renderCoordinator/data/computeVisibleSlice.d.ts +10 -12
- package/dist/core/renderCoordinator/data/computeVisibleSlice.d.ts.map +1 -1
- package/dist/core/renderCoordinator/render/renderAnnotationLabels.d.ts +1 -1
- package/dist/core/renderCoordinator/render/renderAnnotationLabels.d.ts.map +1 -1
- package/dist/core/renderCoordinator/render/renderAxisLabels.d.ts +1 -1
- package/dist/core/renderCoordinator/render/renderAxisLabels.d.ts.map +1 -1
- package/dist/core/renderCoordinator/render/renderSeries.d.ts.map +1 -1
- package/dist/core/renderCoordinator/utils/axisUtils.d.ts +1 -1
- package/dist/core/renderCoordinator/utils/boundsComputation.d.ts.map +1 -1
- package/dist/data/cartesianData.d.ts +72 -0
- package/dist/data/cartesianData.d.ts.map +1 -0
- package/dist/data/createDataStore.d.ts +4 -12
- package/dist/data/createDataStore.d.ts.map +1 -1
- package/dist/data/sampleSeries.d.ts +19 -2
- package/dist/data/sampleSeries.d.ts.map +1 -1
- package/dist/index.cjs +1270 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5181 -5155
- package/dist/index.js.map +1 -1
- package/dist/interaction/createAnnotationAuthoring.d.ts.map +1 -1
- package/dist/interaction/createAnnotationDragHandler.d.ts.map +1 -1
- package/dist/interaction/createAnnotationHitTester.d.ts.map +1 -1
- package/dist/interaction/createChartSync.d.ts +17 -2
- package/dist/interaction/createChartSync.d.ts.map +1 -1
- package/dist/interaction/findNearestPoint.d.ts.map +1 -1
- package/dist/interaction/findPointsAtX.d.ts.map +1 -1
- package/dist/renderers/createAreaRenderer.d.ts +2 -1
- package/dist/renderers/createAreaRenderer.d.ts.map +1 -1
- package/dist/renderers/createBarRenderer.d.ts.map +1 -1
- package/dist/renderers/createHighlightRenderer.d.ts +1 -1
- package/dist/renderers/createHighlightRenderer.d.ts.map +1 -1
- package/dist/renderers/createLineRenderer.d.ts.map +1 -1
- package/dist/renderers/createScatterRenderer.d.ts +2 -1
- package/dist/renderers/createScatterRenderer.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -8,18 +8,17 @@
|
|
|
8
8
|
* - Binary search slicing for O(log n) performance on sorted data
|
|
9
9
|
* - WeakMap caching of monotonicity checks to avoid O(n) scans
|
|
10
10
|
* - Separate implementations for cartesian (x-based) and OHLC (timestamp-based) data
|
|
11
|
-
* - Support for
|
|
11
|
+
* - Support for DataPoint[], XYArraysData, and InterleavedXYData formats
|
|
12
12
|
*/
|
|
13
|
-
import type {
|
|
14
|
-
type TuplePoint = DataPointTuple;
|
|
15
|
-
export declare function isTuplePoint(p: DataPoint): p is TuplePoint;
|
|
16
|
-
export declare function isTupleDataArray(data: ReadonlyArray<DataPoint>): data is ReadonlyArray<TuplePoint>;
|
|
13
|
+
import type { CartesianSeriesData, OHLCDataPoint, OHLCDataPointTuple } from '../../../config/types';
|
|
17
14
|
export declare function isTupleOHLCDataPoint(p: OHLCDataPoint): p is OHLCDataPointTuple;
|
|
18
15
|
/**
|
|
19
16
|
* Checks if cartesian data is monotonic non-decreasing by X coordinate with all finite values.
|
|
20
17
|
* Results are cached in a WeakMap to avoid repeated O(n) scans.
|
|
18
|
+
*
|
|
19
|
+
* Supports all CartesianSeriesData formats: DataPoint[], XYArraysData, InterleavedXYData.
|
|
21
20
|
*/
|
|
22
|
-
export declare function isMonotonicNonDecreasingFiniteX(data:
|
|
21
|
+
export declare function isMonotonicNonDecreasingFiniteX(data: CartesianSeriesData): boolean;
|
|
23
22
|
/**
|
|
24
23
|
* Checks if OHLC data is monotonic non-decreasing by timestamp with all finite values.
|
|
25
24
|
* Results are cached in a WeakMap to avoid repeated O(n) scans.
|
|
@@ -31,24 +30,24 @@ export declare function isMonotonicNonDecreasingFiniteTimestamp(data: ReadonlyAr
|
|
|
31
30
|
* Uses binary search (O(log n)) when data is monotonic by X;
|
|
32
31
|
* otherwise falls back to linear filtering (O(n)).
|
|
33
32
|
*
|
|
34
|
-
* @param data - Cartesian data
|
|
33
|
+
* @param data - Cartesian data in any supported format
|
|
35
34
|
* @param xMin - Minimum X value (inclusive)
|
|
36
35
|
* @param xMax - Maximum X value (inclusive)
|
|
37
|
-
* @returns Sliced data
|
|
36
|
+
* @returns Sliced data in the same format as input
|
|
38
37
|
*/
|
|
39
|
-
export declare function sliceVisibleRangeByX(data:
|
|
38
|
+
export declare function sliceVisibleRangeByX(data: CartesianSeriesData, xMin: number, xMax: number): CartesianSeriesData;
|
|
40
39
|
/**
|
|
41
40
|
* Finds the index range of visible points in cartesian data.
|
|
42
41
|
*
|
|
43
42
|
* Returns { start, end } indices suitable for slicing or iteration.
|
|
44
43
|
* Only works correctly when data is monotonic; returns full range otherwise.
|
|
45
44
|
*
|
|
46
|
-
* @param data - Cartesian data
|
|
45
|
+
* @param data - Cartesian data in any supported format
|
|
47
46
|
* @param xMin - Minimum X value (inclusive)
|
|
48
47
|
* @param xMax - Maximum X value (inclusive)
|
|
49
48
|
* @returns Index range { start, end } for visible data
|
|
50
49
|
*/
|
|
51
|
-
export declare function findVisibleRangeIndicesByX(data:
|
|
50
|
+
export declare function findVisibleRangeIndicesByX(data: CartesianSeriesData, xMin: number, xMax: number): {
|
|
52
51
|
readonly start: number;
|
|
53
52
|
readonly end: number;
|
|
54
53
|
};
|
|
@@ -64,5 +63,4 @@ export declare function findVisibleRangeIndicesByX(data: ReadonlyArray<DataPoint
|
|
|
64
63
|
* @returns Sliced data array containing only points within [xMin, xMax]
|
|
65
64
|
*/
|
|
66
65
|
export declare function sliceVisibleRangeByOHLC(data: ReadonlyArray<OHLCDataPoint>, xMin: number, xMax: number): ReadonlyArray<OHLCDataPoint>;
|
|
67
|
-
export {};
|
|
68
66
|
//# sourceMappingURL=computeVisibleSlice.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computeVisibleSlice.d.ts","sourceRoot":"","sources":["../../../../src/core/renderCoordinator/data/computeVisibleSlice.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"computeVisibleSlice.d.ts","sourceRoot":"","sources":["../../../../src/core/renderCoordinator/data/computeVisibleSlice.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,mBAAmB,EAEnB,aAAa,EACb,kBAAkB,EAInB,MAAM,uBAAuB,CAAC;AAK/B,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,aAAa,GAAG,CAAC,IAAI,kBAAkB,CAE9E;AAOD;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CA2BlF;AAED;;;GAGG;AACH,wBAAgB,uCAAuC,CAAC,IAAI,EAAE,aAAa,CAAC,aAAa,CAAC,GAAG,OAAO,CAqBnG;AAgLD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,mBAAmB,EACzB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,mBAAmB,CA2BrB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,mBAAmB,EACzB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAkBlD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,aAAa,CAAC,aAAa,CAAC,EAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,aAAa,CAAC,aAAa,CAAC,CA8B9B"}
|
|
@@ -20,7 +20,7 @@ export interface AnnotationLabelRenderContext {
|
|
|
20
20
|
plotTopCss: number;
|
|
21
21
|
plotWidthCss: number;
|
|
22
22
|
plotHeightCss: number;
|
|
23
|
-
canvas: HTMLCanvasElement
|
|
23
|
+
canvas: HTMLCanvasElement;
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
26
|
* Renders annotation labels to the text overlay.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderAnnotationLabels.d.ts","sourceRoot":"","sources":["../../../../src/core/renderCoordinator/render/renderAnnotationLabels.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAqB,MAAM,uCAAuC,CAAC;AAK5F,MAAM,WAAW,4BAA4B;IAC3C,cAAc,EAAE,uBAAuB,CAAC;IACxC,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;IACpB,4BAA4B,EAAE,MAAM,CAAC;IACrC,6BAA6B,EAAE,MAAM,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"renderAnnotationLabels.d.ts","sourceRoot":"","sources":["../../../../src/core/renderCoordinator/render/renderAnnotationLabels.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAqB,MAAM,uCAAuC,CAAC;AAK5F,MAAM,WAAW,4BAA4B;IAC3C,cAAc,EAAE,uBAAuB,CAAC;IACxC,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;IACpB,4BAA4B,EAAE,MAAM,CAAC;IACrC,6BAA6B,EAAE,MAAM,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAyED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,iBAAiB,EAAE,WAAW,GAAG,IAAI,EACrC,gBAAgB,EAAE,WAAW,GAAG,IAAI,EACpC,OAAO,EAAE,4BAA4B,GACpC,IAAI,CAuMN"}
|
|
@@ -12,7 +12,7 @@ import type { LinearScale } from '../../../utils/scales';
|
|
|
12
12
|
import type { TextOverlay } from '../../../components/createTextOverlay';
|
|
13
13
|
export interface AxisLabelRenderContext {
|
|
14
14
|
gpuContext: {
|
|
15
|
-
canvas: HTMLCanvasElement |
|
|
15
|
+
canvas: HTMLCanvasElement | null;
|
|
16
16
|
};
|
|
17
17
|
currentOptions: ResolvedChartGPUOptions;
|
|
18
18
|
xScale: LinearScale;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderAxisLabels.d.ts","sourceRoot":"","sources":["../../../../src/core/renderCoordinator/render/renderAxisLabels.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAqB,MAAM,uCAAuC,CAAC;AAW5F,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE;QACV,MAAM,EAAE,iBAAiB,GAAG,
|
|
1
|
+
{"version":3,"file":"renderAxisLabels.d.ts","sourceRoot":"","sources":["../../../../src/core/renderCoordinator/render/renderAxisLabels.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAqB,MAAM,uCAAuC,CAAC;AAW5F,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE;QACV,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC;KAClC,CAAC;IACF,cAAc,EAAE,uBAAuB,CAAC;IACxC,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,YAAY,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,eAAe,EAAE,MAAM,CAAC;CACzB;AAiBD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,gBAAgB,EAAE,WAAW,GAAG,IAAI,EACpC,gBAAgB,EAAE,WAAW,GAAG,IAAI,EACpC,OAAO,EAAE,sBAAsB,GAC9B,IAAI,CA6HN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderSeries.d.ts","sourceRoot":"","sources":["../../../../src/core/renderCoordinator/render/renderSeries.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,uBAAuB,EAAqD,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"renderSeries.d.ts","sourceRoot":"","sources":["../../../../src/core/renderCoordinator/render/renderSeries.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ import type { GridArea } from '../../../renderers/createGridRenderer';
|
|
|
16
16
|
* GridArea uses:
|
|
17
17
|
* - Margins (left, right, top, bottom) in CSS pixels
|
|
18
18
|
* - Canvas dimensions (canvasWidth, canvasHeight) in DEVICE pixels
|
|
19
|
-
* - devicePixelRatio for CSS-to-device conversion
|
|
19
|
+
* - devicePixelRatio for CSS-to-device conversion
|
|
20
20
|
*
|
|
21
21
|
* @param gpuContext - GPU context with canvas and device pixel ratio
|
|
22
22
|
* @param options - Resolved chart options with grid margins
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boundsComputation.d.ts","sourceRoot":"","sources":["../../../../src/core/renderCoordinator/utils/boundsComputation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"boundsComputation.d.ts","sourceRoot":"","sources":["../../../../src/core/renderCoordinator/utils/boundsComputation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAI9E;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE1F;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,GAAI,MAAM,aAAa,CAAC,SAAS,CAAC,KAAG,MAAM,GAAG,IAwBlF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,GAAI,QAAQ,MAAM,GAAG,IAAI,EAAE,QAAQ,aAAa,CAAC,SAAS,CAAC,KAAG,MAAM,GAAG,IA8B7G,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B,GAAI,QAAQ,MAAM,GAAG,IAAI,EAAE,QAAQ,aAAa,CAAC,aAAa,CAAC,KAAG,MAAM,GAAG,IA8BrH,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,uBAAuB,CAAC,QAAQ,CAAC,EACzC,0BAA0B,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,KAC5D,MAuGF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAC1B,cAAc,MAAM,EACpB,cAAc,MAAM,KACnB;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAkB9C,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal cartesian data abstraction for CartesianSeriesData.
|
|
3
|
+
*
|
|
4
|
+
* Provides high-performance, allocation-minimizing primitives to support all three cartesian formats:
|
|
5
|
+
* - ReadonlyArray<DataPoint> (tuple or object)
|
|
6
|
+
* - XYArraysData (separate x/y/size arrays)
|
|
7
|
+
* - InterleavedXYData (typed array view with [x0,y0,x1,y1,...] layout)
|
|
8
|
+
*
|
|
9
|
+
* DO NOT export from public entrypoint (src/index.ts). This is internal-only.
|
|
10
|
+
*
|
|
11
|
+
* @module cartesianData
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
import type { CartesianSeriesData } from '../config/types';
|
|
15
|
+
/**
|
|
16
|
+
* Bounds type for min/max x and y values.
|
|
17
|
+
*/
|
|
18
|
+
export type Bounds = Readonly<{
|
|
19
|
+
xMin: number;
|
|
20
|
+
xMax: number;
|
|
21
|
+
yMin: number;
|
|
22
|
+
yMax: number;
|
|
23
|
+
}>;
|
|
24
|
+
/**
|
|
25
|
+
* Returns the number of points in the CartesianSeriesData.
|
|
26
|
+
*/
|
|
27
|
+
export declare function getPointCount(data: CartesianSeriesData): number;
|
|
28
|
+
/**
|
|
29
|
+
* Returns the x-coordinate of the point at index i.
|
|
30
|
+
* Returns NaN if the point is undefined, null, or non-object (for DataPoint[] format).
|
|
31
|
+
* This allows callers using `Number.isFinite()` to naturally skip missing points.
|
|
32
|
+
*/
|
|
33
|
+
export declare function getX(data: CartesianSeriesData, i: number): number;
|
|
34
|
+
/**
|
|
35
|
+
* Returns the y-coordinate of the point at index i.
|
|
36
|
+
* Returns NaN if the point is undefined, null, or non-object (for DataPoint[] format).
|
|
37
|
+
* This allows callers using `Number.isFinite()` to naturally skip missing points.
|
|
38
|
+
*/
|
|
39
|
+
export declare function getY(data: CartesianSeriesData, i: number): number;
|
|
40
|
+
/**
|
|
41
|
+
* Returns the size value of the point at index i, or undefined if not available.
|
|
42
|
+
* Returns undefined if the point is undefined, null, or non-object (for DataPoint[] format).
|
|
43
|
+
* Note: InterleavedXYData does NOT support interleaved size (use XYArraysData.size if needed).
|
|
44
|
+
*/
|
|
45
|
+
export declare function getSize(data: CartesianSeriesData, i: number): number | undefined;
|
|
46
|
+
/**
|
|
47
|
+
* Packs XY coordinates from CartesianSeriesData into a Float32Array in interleaved layout.
|
|
48
|
+
*
|
|
49
|
+
* Writes `pointCount` points starting at `srcPointOffset` in the source data
|
|
50
|
+
* into `out` starting at `outFloatOffset` (measured in float32 elements, not bytes).
|
|
51
|
+
*
|
|
52
|
+
* Each point writes 2 floats: [x - xOffset, y].
|
|
53
|
+
* Size dimension is NOT packed (use getSize() separately if needed).
|
|
54
|
+
*
|
|
55
|
+
* @param out - Target Float32Array to write into
|
|
56
|
+
* @param outFloatOffset - Starting offset in `out` (in float32 elements)
|
|
57
|
+
* @param src - Source CartesianSeriesData
|
|
58
|
+
* @param srcPointOffset - Starting point index in source
|
|
59
|
+
* @param pointCount - Number of points to pack
|
|
60
|
+
* @param xOffset - Value to subtract from x coordinates (for Float32 precision preservation)
|
|
61
|
+
*/
|
|
62
|
+
export declare function packXYInto(out: Float32Array, outFloatOffset: number, src: CartesianSeriesData, srcPointOffset: number, pointCount: number, xOffset: number): void;
|
|
63
|
+
/**
|
|
64
|
+
* Computes xMin/xMax/yMin/yMax bounds from CartesianSeriesData.
|
|
65
|
+
* Skips non-finite x or y values. Returns null if no finite points found.
|
|
66
|
+
* Ensures xMin !== xMax and yMin !== yMax for scale derivation (expands max by +1 if needed).
|
|
67
|
+
*
|
|
68
|
+
* @param data - CartesianSeriesData in any supported format
|
|
69
|
+
* @returns Bounds object or null if no finite points
|
|
70
|
+
*/
|
|
71
|
+
export declare function computeRawBoundsFromCartesianData(data: CartesianSeriesData): Bounds | null;
|
|
72
|
+
//# sourceMappingURL=cartesianData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cartesianData.d.ts","sourceRoot":"","sources":["../../src/data/cartesianData.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAA8C,MAAM,iBAAiB,CAAC;AAEvG;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAqD1F;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAmB/D;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,mBAAmB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAoBjE;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,mBAAmB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAoBjE;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,mBAAmB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAiBhF;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,YAAY,EACjB,cAAc,EAAE,MAAM,EACtB,GAAG,EAAE,mBAAmB,EACxB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GACd,IAAI,CA6DN;AAED;;;;;;;GAOG;AACH,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,GAAG,IAAI,CAkE1F"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { CartesianSeriesData } from '../config/types';
|
|
2
2
|
export interface DataStore {
|
|
3
|
-
setSeries(index: number, data:
|
|
3
|
+
setSeries(index: number, data: CartesianSeriesData, options?: Readonly<{
|
|
4
4
|
xOffset?: number;
|
|
5
5
|
}>): void;
|
|
6
6
|
/**
|
|
@@ -8,11 +8,11 @@ export interface DataStore {
|
|
|
8
8
|
*
|
|
9
9
|
* - Reuses the same geometric growth policy as `setSeries`.
|
|
10
10
|
* - When no reallocation is needed, writes only the appended byte range via `queue.writeBuffer(...)`.
|
|
11
|
-
* - Maintains `pointCount`
|
|
11
|
+
* - Maintains `pointCount` for render path queries.
|
|
12
12
|
*
|
|
13
13
|
* Throws if the series has not been set yet.
|
|
14
14
|
*/
|
|
15
|
-
appendSeries(index: number, newPoints:
|
|
15
|
+
appendSeries(index: number, newPoints: CartesianSeriesData): void;
|
|
16
16
|
removeSeries(index: number): void;
|
|
17
17
|
getSeriesBuffer(index: number): GPUBuffer;
|
|
18
18
|
/**
|
|
@@ -21,14 +21,6 @@ export interface DataStore {
|
|
|
21
21
|
* Throws if the series has not been set yet.
|
|
22
22
|
*/
|
|
23
23
|
getSeriesPointCount(index: number): number;
|
|
24
|
-
/**
|
|
25
|
-
* Returns the last CPU-side data set for the given series index.
|
|
26
|
-
*
|
|
27
|
-
* This is intended for internal metadata/hit-testing paths that need the same
|
|
28
|
-
* input array that was packed into the GPU buffer (without re-threading it
|
|
29
|
-
* through other state). Throws if the series has not been set yet.
|
|
30
|
-
*/
|
|
31
|
-
getSeriesData(index: number): ReadonlyArray<DataPoint>;
|
|
32
24
|
dispose(): void;
|
|
33
25
|
}
|
|
34
26
|
export declare function createDataStore(device: GPUDevice): DataStore;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createDataStore.d.ts","sourceRoot":"","sources":["../../src/data/createDataStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"createDataStore.d.ts","sourceRoot":"","sources":["../../src/data/createDataStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAG3D,MAAM,WAAW,SAAS;IACxB,SAAS,CACP,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,mBAAmB,EACzB,OAAO,CAAC,EAAE,QAAQ,CAAC;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GACvC,IAAI,CAAC;IACR;;;;;;;;OAQG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAClE,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C;;;;OAIG;IACH,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3C,OAAO,IAAI,IAAI,CAAC;CACjB;AAyDD,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CA2O5D"}
|
|
@@ -1,3 +1,20 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
1
|
+
import type { CartesianSeriesData, SeriesSampling } from '../config/types';
|
|
2
|
+
/**
|
|
3
|
+
* Samples CartesianSeriesData using the specified sampling strategy.
|
|
4
|
+
*
|
|
5
|
+
* Returns the ORIGINAL data reference when:
|
|
6
|
+
* - `sampling === 'none'`
|
|
7
|
+
* - `samplingThreshold` is invalid/non-positive
|
|
8
|
+
* - Point count <= threshold
|
|
9
|
+
*
|
|
10
|
+
* When sampling occurs:
|
|
11
|
+
* - For `lttb`:
|
|
12
|
+
* - Float32Array interleaved → returns sampled Float32Array
|
|
13
|
+
* - Other interleaved typed array → packs to Float32Array, returns sampled Float32Array
|
|
14
|
+
* - DataPoint[] → returns sampled DataPoint[]
|
|
15
|
+
* - XYArraysData → packs to Float32Array, returns sampled Float32Array
|
|
16
|
+
* - For `average`/`max`/`min`:
|
|
17
|
+
* - Returns DataPointTuple[] for all input formats
|
|
18
|
+
*/
|
|
19
|
+
export declare function sampleSeriesDataPoints(data: CartesianSeriesData, sampling: SeriesSampling, samplingThreshold: number): CartesianSeriesData;
|
|
3
20
|
//# sourceMappingURL=sampleSeries.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sampleSeries.d.ts","sourceRoot":"","sources":["../../src/data/sampleSeries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"sampleSeries.d.ts","sourceRoot":"","sources":["../../src/data/sampleSeries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAkB,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAoM3F;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,mBAAmB,EACzB,QAAQ,EAAE,cAAc,EACxB,iBAAiB,EAAE,MAAM,GACxB,mBAAmB,CA8CrB"}
|