@chartgpu/chartgpu 0.2.5 β 0.2.6
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 +1 -0
- package/dist/ChartGPU.d.ts +38 -1
- package/dist/ChartGPU.d.ts.map +1 -1
- package/dist/core/GPUContext.d.ts +22 -0
- package/dist/core/GPUContext.d.ts.map +1 -1
- package/dist/core/createRenderCoordinator.d.ts +2 -5
- package/dist/core/createRenderCoordinator.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4632 -4581
- package/dist/index.js.map +1 -1
- package/dist/interaction/createChartSync.d.ts.map +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -91,6 +91,7 @@ See [Annotations Documentation](https://github.com/chartgpu/chartgpu/blob/main/d
|
|
|
91
91
|
- π Streaming updates via `appendData(...)` with typed-array support (`XYArraysData`, `InterleavedXYData`, `DataPoint[]`) β see [`examples/cartesian-data-formats/`](examples/cartesian-data-formats/)
|
|
92
92
|
- π X-axis zoom (inside gestures + optional slider UI)
|
|
93
93
|
- ποΈ Theme presets (`'dark' | 'light'`) and custom theme support
|
|
94
|
+
- π Shared GPUDevice support for multi-chart dashboards (efficient GPU resource management) β see [`docs/api/chart.md#shared-gpudevice`](docs/api/chart.md#shared-gpudevice)
|
|
94
95
|
|
|
95
96
|
|
|
96
97
|
### Candlestick Charts
|
package/dist/ChartGPU.d.ts
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
import type { CartesianSeriesData, ChartGPUOptions, OHLCDataPoint } from './config/types';
|
|
2
2
|
import type { PerformanceMetrics, PerformanceCapabilities } from './config/types';
|
|
3
|
+
/**
|
|
4
|
+
* Source kind for zoom range changes.
|
|
5
|
+
*
|
|
6
|
+
* Used to distinguish zoom change sources:
|
|
7
|
+
* - `'user'`: Direct user interaction (pan, pinch, wheel, slider)
|
|
8
|
+
* - `'auto-scroll'`: Automatic zoom adjustment from streaming data with auto-scroll enabled
|
|
9
|
+
* - `'api'`: Programmatic zoom via `setZoomRange(..., source)` calls
|
|
10
|
+
*/
|
|
11
|
+
export type ZoomChangeSourceKind = 'user' | 'auto-scroll' | 'api';
|
|
3
12
|
/**
|
|
4
13
|
* Hit-test match for a chart element.
|
|
5
14
|
*/
|
|
@@ -45,9 +54,11 @@ export interface ChartGPUInstance {
|
|
|
45
54
|
dispose(): void;
|
|
46
55
|
on(eventName: 'crosshairMove', callback: ChartGPUCrosshairMoveCallback): void;
|
|
47
56
|
on(eventName: 'zoomRangeChange', callback: ChartGPUZoomRangeChangeCallback): void;
|
|
57
|
+
on(eventName: 'deviceLost', callback: ChartGPUDeviceLostCallback): void;
|
|
48
58
|
on(eventName: ChartGPUEventName, callback: ChartGPUEventCallback): void;
|
|
49
59
|
off(eventName: 'crosshairMove', callback: ChartGPUCrosshairMoveCallback): void;
|
|
50
60
|
off(eventName: 'zoomRangeChange', callback: ChartGPUZoomRangeChangeCallback): void;
|
|
61
|
+
off(eventName: 'deviceLost', callback: ChartGPUDeviceLostCallback): void;
|
|
51
62
|
off(eventName: ChartGPUEventName, callback: ChartGPUEventCallback): void;
|
|
52
63
|
/**
|
|
53
64
|
* Gets the current βinteraction xβ in domain units (or `null` when inactive).
|
|
@@ -119,7 +130,7 @@ export interface ChartGPUInstance {
|
|
|
119
130
|
hitTest(e: PointerEvent | MouseEvent): ChartGPUHitTestResult;
|
|
120
131
|
}
|
|
121
132
|
export type ChartGPU = ChartGPUInstance;
|
|
122
|
-
export type ChartGPUEventName = 'click' | 'mouseover' | 'mouseout' | 'crosshairMove' | 'zoomRangeChange';
|
|
133
|
+
export type ChartGPUEventName = 'click' | 'mouseover' | 'mouseout' | 'crosshairMove' | 'zoomRangeChange' | 'deviceLost';
|
|
123
134
|
export type ChartGPUEventPayload = Readonly<{
|
|
124
135
|
readonly seriesIndex: number | null;
|
|
125
136
|
readonly dataIndex: number | null;
|
|
@@ -127,6 +138,10 @@ export type ChartGPUEventPayload = Readonly<{
|
|
|
127
138
|
readonly seriesName: string | null;
|
|
128
139
|
readonly event: PointerEvent;
|
|
129
140
|
}>;
|
|
141
|
+
export type ChartGPUDeviceLostPayload = Readonly<{
|
|
142
|
+
readonly reason: GPUDeviceLostReason;
|
|
143
|
+
readonly message: string;
|
|
144
|
+
}>;
|
|
130
145
|
export type ChartGPUCrosshairMovePayload = Readonly<{
|
|
131
146
|
readonly x: number | null;
|
|
132
147
|
readonly source?: unknown;
|
|
@@ -135,11 +150,33 @@ export type ChartGPUZoomRangeChangePayload = Readonly<{
|
|
|
135
150
|
readonly start: number;
|
|
136
151
|
readonly end: number;
|
|
137
152
|
readonly source?: unknown;
|
|
153
|
+
readonly sourceKind?: ZoomChangeSourceKind;
|
|
138
154
|
}>;
|
|
139
155
|
export type ChartGPUEventCallback = (payload: ChartGPUEventPayload) => void;
|
|
140
156
|
export type ChartGPUCrosshairMoveCallback = (payload: ChartGPUCrosshairMovePayload) => void;
|
|
141
157
|
export type ChartGPUZoomRangeChangeCallback = (payload: ChartGPUZoomRangeChangePayload) => void;
|
|
158
|
+
export type ChartGPUDeviceLostCallback = (payload: ChartGPUDeviceLostPayload) => void;
|
|
159
|
+
/**
|
|
160
|
+
* Context for creating a ChartGPU instance with shared WebGPU device and adapter.
|
|
161
|
+
* Use this to share a single GPU device across multiple chart instances for improved resource efficiency.
|
|
162
|
+
*/
|
|
163
|
+
export type ChartGPUCreateContext = Readonly<{
|
|
164
|
+
readonly device: GPUDevice;
|
|
165
|
+
readonly adapter: GPUAdapter;
|
|
166
|
+
}>;
|
|
167
|
+
/**
|
|
168
|
+
* Creates a ChartGPU instance with default WebGPU initialization.
|
|
169
|
+
*/
|
|
142
170
|
export declare function createChartGPU(container: HTMLElement, options: ChartGPUOptions): Promise<ChartGPUInstance>;
|
|
171
|
+
/**
|
|
172
|
+
* Creates a ChartGPU instance with a shared WebGPU device and adapter.
|
|
173
|
+
* Use this overload to share a single GPU device across multiple chart instances.
|
|
174
|
+
*
|
|
175
|
+
* @param container - HTML container element for the chart
|
|
176
|
+
* @param options - Chart configuration options
|
|
177
|
+
* @param context - Shared GPU context with device and adapter
|
|
178
|
+
*/
|
|
179
|
+
export declare function createChartGPU(container: HTMLElement, options: ChartGPUOptions, context: ChartGPUCreateContext): Promise<ChartGPUInstance>;
|
|
143
180
|
export declare const ChartGPU: {
|
|
144
181
|
create: typeof createChartGPU;
|
|
145
182
|
};
|
package/dist/ChartGPU.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartGPU.d.ts","sourceRoot":"","sources":["../src/ChartGPU.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ChartGPU.d.ts","sourceRoot":"","sources":["../src/ChartGPU.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,18 @@ export interface GPUContextOptions {
|
|
|
16
16
|
readonly alphaMode?: 'opaque' | 'premultiplied';
|
|
17
17
|
/** GPU power preference for adapter selection. */
|
|
18
18
|
readonly powerPreference?: 'low-power' | 'high-performance';
|
|
19
|
+
/**
|
|
20
|
+
* Optional WebGPU adapter. When both device and adapter are provided, initialization skips
|
|
21
|
+
* requestAdapter/requestDevice and uses these objects (shared device mode). The caller owns
|
|
22
|
+
* the device lifecycle; destroyGPUContext will not call device.destroy().
|
|
23
|
+
*/
|
|
24
|
+
readonly adapter?: GPUAdapter;
|
|
25
|
+
/**
|
|
26
|
+
* Optional WebGPU device. When both device and adapter are provided, initialization skips
|
|
27
|
+
* requestAdapter/requestDevice and uses these objects (shared device mode). The caller owns
|
|
28
|
+
* the device lifecycle; destroyGPUContext will not call device.destroy().
|
|
29
|
+
*/
|
|
30
|
+
readonly device?: GPUDevice;
|
|
19
31
|
}
|
|
20
32
|
/**
|
|
21
33
|
* Represents the state of a GPU context.
|
|
@@ -90,6 +102,16 @@ export declare function getCanvasTexture(context: GPUContextState): GPUTexture;
|
|
|
90
102
|
export declare function clearScreen(context: GPUContextState, r: number, g: number, b: number, a: number): void;
|
|
91
103
|
/**
|
|
92
104
|
* Destroys the WebGPU device and cleans up resources.
|
|
105
|
+
*
|
|
106
|
+
* AC-3 (CGPU-SHARED-DEVICE): Dispose semantics
|
|
107
|
+
* - **Always** unconfigures the canvas context (releases textures from getCurrentTexture)
|
|
108
|
+
* - **Conditionally** calls device.destroy():
|
|
109
|
+
* - Owned devices (created internally): destroyed
|
|
110
|
+
* - Shared devices (injected via options): NOT destroyed (caller owns lifecycle)
|
|
111
|
+
*
|
|
112
|
+
* AC-7 (CGPU-SHARED-DEVICE): Backwards compatibility
|
|
113
|
+
* - Missing ownership metadata is treated as "owned" (preserves legacy behavior)
|
|
114
|
+
*
|
|
93
115
|
* Returns a new state object with reset values.
|
|
94
116
|
* After calling this, the context must be reinitialized before use.
|
|
95
117
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GPUContext.d.ts","sourceRoot":"","sources":["../../src/core/GPUContext.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,4CAA4C;AAC5C,MAAM,MAAM,eAAe,GAAG,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"GPUContext.d.ts","sourceRoot":"","sources":["../../src/core/GPUContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import type { ResolvedChartGPUOptions } from '../config/OptionResolver';
|
|
|
2
2
|
import type { OHLCDataPoint } from '../config/types';
|
|
3
3
|
import { GPUContext } from './GPUContext';
|
|
4
4
|
import type { CartesianSeriesData } from '../config/types';
|
|
5
|
+
import type { ZoomChangeSourceKind } from '../ChartGPU';
|
|
5
6
|
export interface GPUContextLike {
|
|
6
7
|
readonly device: GPUDevice | null;
|
|
7
8
|
readonly canvas: HTMLCanvasElement | null;
|
|
@@ -59,7 +60,7 @@ export interface RenderCoordinator {
|
|
|
59
60
|
onZoomRangeChange(cb: (range: Readonly<{
|
|
60
61
|
start: number;
|
|
61
62
|
end: number;
|
|
62
|
-
}
|
|
63
|
+
}>, sourceKind?: ZoomChangeSourceKind) => void): () => void;
|
|
63
64
|
render(): void;
|
|
64
65
|
dispose(): void;
|
|
65
66
|
}
|
|
@@ -69,10 +70,6 @@ export type RenderCoordinatorCallbacks = Readonly<{
|
|
|
69
70
|
* interaction state changes (e.g. crosshair on pointer move).
|
|
70
71
|
*/
|
|
71
72
|
readonly onRequestRender?: () => void;
|
|
72
|
-
/**
|
|
73
|
-
* Called when GPU device is lost.
|
|
74
|
-
*/
|
|
75
|
-
readonly onDeviceLost?: (reason: string) => void;
|
|
76
73
|
}>;
|
|
77
74
|
export declare function createRenderCoordinator(gpuContext: GPUContext, options: ResolvedChartGPUOptions, callbacks?: RenderCoordinatorCallbacks): RenderCoordinator;
|
|
78
75
|
//# sourceMappingURL=createRenderCoordinator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createRenderCoordinator.d.ts","sourceRoot":"","sources":["../../src/core/createRenderCoordinator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,uBAAuB,EAExB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAKV,aAAa,EAGd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAiD,MAAM,cAAc,CAAC;AAgBzF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"createRenderCoordinator.d.ts","sourceRoot":"","sources":["../../src/core/createRenderCoordinator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,uBAAuB,EAExB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAKV,aAAa,EAGd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAiD,MAAM,cAAc,CAAC;AAgBzF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAoD3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAChD,QAAQ,CAAC,eAAe,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAClD,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAmCD,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,eAAe,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC3D;;;;;OAKG;IACH,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,mBAAmB,GAAG,aAAa,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IACrG;;;;;OAKG;IACH,eAAe,IAAI,MAAM,GAAG,IAAI,CAAC;IACjC;;;;OAIG;IACH,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1D;;;;OAIG;IACH,oBAAoB,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IACzF;;OAEG;IACH,YAAY,IAAI,QAAQ,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC;IAChE;;;;OAIG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,UAAU,CAAC,EAAE,oBAAoB,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAChI,MAAM,IAAI,IAAI,CAAC;IACf,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,MAAM,0BAA0B,GAAG,QAAQ,CAAC;IAChD;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CACvC,CAAC,CAAC;AAq4BH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,uBAAuB,EAChC,SAAS,CAAC,EAAE,0BAA0B,GACrC,iBAAiB,CAqpFnB"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export declare const ChartGPU: {
|
|
|
7
7
|
};
|
|
8
8
|
export { createChartGPU as createChart } from './ChartGPU';
|
|
9
9
|
export type { ChartGPUInstance } from './ChartGPU';
|
|
10
|
-
export type { ChartGPUEventName, ChartGPUEventPayload, ChartGPUCrosshairMovePayload, ChartGPUEventCallback, ChartGPUCrosshairMoveCallback, ChartGPUZoomRangeChangePayload, ChartGPUZoomRangeChangeCallback, ChartGPUHitTestMatch, ChartGPUHitTestResult, } from './ChartGPU';
|
|
10
|
+
export type { ChartGPUEventName, ChartGPUEventPayload, ChartGPUCrosshairMovePayload, ChartGPUEventCallback, ChartGPUCrosshairMoveCallback, ChartGPUZoomRangeChangePayload, ChartGPUZoomRangeChangeCallback, ChartGPUDeviceLostPayload, ChartGPUDeviceLostCallback, ChartGPUCreateContext, ChartGPUHitTestMatch, ChartGPUHitTestResult, ZoomChangeSourceKind, } from './ChartGPU';
|
|
11
11
|
export type { AnnotationConfig, AnnotationConfigBase, AnnotationLabel, AnnotationLabelAnchor, AnnotationLabelBackground, AnnotationLabelPadding, AnnotationLayer, AnnotationLineX, AnnotationLineY, AnnotationPoint, AnnotationPointMarker, AnnotationPosition, AnnotationStyle, AnnotationText, AreaStyleConfig, AnimationConfig, AxisConfig, AxisType, BarItemStyleConfig, CandlestickItemStyleConfig, CandlestickSeriesConfig, CandlestickStyle, ChartGPUOptions, DataZoomConfig, DataPoint, GridConfig, LegendConfig, LegendPosition, LineStyleConfig, AreaSeriesConfig, LineSeriesConfig, BarSeriesConfig, PerformanceMetrics, OHLCDataPoint, PieCenter, PieDataItem, PieItemStyleConfig, PieRadius, PieSeriesConfig, ScatterSeriesConfig, ScatterSymbol, ScatterPointTuple, SeriesConfig, SeriesSampling, SeriesType, TooltipConfig, TooltipParams, } from './config/types';
|
|
12
12
|
export { candlestickDefaults, defaultOptions } from './config/defaults';
|
|
13
13
|
export { OptionResolver, resolveOptions } from './config/OptionResolver';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,OAAO,UAAU,CAAC;AAM/B,eAAO,MAAM,QAAQ;;CAAoB,CAAC;AAE1C,OAAO,EAAE,cAAc,IAAI,WAAW,EAAE,MAAM,YAAY,CAAC;AAC3D,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,YAAY,EACV,iBAAiB,EACjB,oBAAoB,EACpB,4BAA4B,EAC5B,qBAAqB,EACrB,6BAA6B,EAC7B,8BAA8B,EAC9B,+BAA+B,EAC/B,oBAAoB,EACpB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|