@363045841yyt/klinechart-core 0.9.0-alpha.2 → 0.9.0-alpha.3
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/dist/controllers/createChartController.d.ts.map +1 -1
- package/dist/controllers/createChartController.js +9 -8
- package/dist/controllers/createChartController.js.map +1 -1
- package/dist/controllers/index.d.ts +1 -0
- package/dist/controllers/index.d.ts.map +1 -1
- package/dist/controllers/index.js.map +1 -1
- package/dist/controllers/types.d.ts +5 -0
- package/dist/controllers/types.d.ts.map +1 -1
- package/dist/data/binance.d.ts +1 -1
- package/dist/data/binance.d.ts.map +1 -1
- package/dist/data/binance.js +1 -1
- package/dist/data/binance.js.map +1 -1
- package/dist/engine/chart.d.ts +9 -9
- package/dist/engine/chart.d.ts.map +1 -1
- package/dist/engine/chart.js +69 -96
- package/dist/engine/chart.js.map +1 -1
- package/dist/engine/chartTypes.d.ts +5 -0
- package/dist/engine/chartTypes.d.ts.map +1 -1
- package/dist/engine/controller/interaction.d.ts +4 -2
- package/dist/engine/controller/interaction.d.ts.map +1 -1
- package/dist/engine/controller/interaction.js +18 -10
- package/dist/engine/controller/interaction.js.map +1 -1
- package/dist/engine/data/chartDataManager.d.ts +12 -18
- package/dist/engine/data/chartDataManager.d.ts.map +1 -1
- package/dist/engine/data/chartDataManager.js +46 -37
- package/dist/engine/data/chartDataManager.js.map +1 -1
- package/dist/engine/data/incrementalLoadHint.d.ts +2 -4
- package/dist/engine/data/incrementalLoadHint.d.ts.map +1 -1
- package/dist/engine/data/incrementalLoadHint.js +5 -2
- package/dist/engine/data/incrementalLoadHint.js.map +1 -1
- package/dist/engine/data/scrollCompensator.d.ts +3 -13
- package/dist/engine/data/scrollCompensator.d.ts.map +1 -1
- package/dist/engine/data/scrollCompensator.js +13 -14
- package/dist/engine/data/scrollCompensator.js.map +1 -1
- package/dist/engine/indicators/chartIndicatorManager.d.ts +16 -17
- package/dist/engine/indicators/chartIndicatorManager.d.ts.map +1 -1
- package/dist/engine/indicators/chartIndicatorManager.js +37 -37
- package/dist/engine/indicators/chartIndicatorManager.js.map +1 -1
- package/dist/engine/layout/chartPaneLayout.d.ts +11 -7
- package/dist/engine/layout/chartPaneLayout.d.ts.map +1 -1
- package/dist/engine/layout/chartPaneLayout.js +58 -16
- package/dist/engine/layout/chartPaneLayout.js.map +1 -1
- package/dist/engine/paneRenderer.d.ts +2 -0
- package/dist/engine/paneRenderer.d.ts.map +1 -1
- package/dist/engine/paneRenderer.js +15 -5
- package/dist/engine/paneRenderer.js.map +1 -1
- package/dist/engine/render/chartRenderer.d.ts +28 -22
- package/dist/engine/render/chartRenderer.d.ts.map +1 -1
- package/dist/engine/render/chartRenderer.js +117 -69
- package/dist/engine/render/chartRenderer.js.map +1 -1
- package/dist/engine/render/layers/leftYAxisLayer.d.ts +9 -2
- package/dist/engine/render/layers/leftYAxisLayer.d.ts.map +1 -1
- package/dist/engine/render/layers/leftYAxisLayer.js +11 -2
- package/dist/engine/render/layers/leftYAxisLayer.js.map +1 -1
- package/dist/engine/render/layers/mainIndicatorLegendLayer.d.ts +6 -4
- package/dist/engine/render/layers/mainIndicatorLegendLayer.d.ts.map +1 -1
- package/dist/engine/render/layers/mainIndicatorLegendLayer.js +6 -9
- package/dist/engine/render/layers/mainIndicatorLegendLayer.js.map +1 -1
- package/dist/engine/render/layers/mainIndicatorLegendLayer.test.d.ts +2 -0
- package/dist/engine/render/layers/mainIndicatorLegendLayer.test.d.ts.map +1 -0
- package/dist/engine/render/layers/mainIndicatorLegendLayer.test.js +19 -0
- package/dist/engine/render/layers/mainIndicatorLegendLayer.test.js.map +1 -0
- package/dist/engine/render/layers/yAxisLayer.d.ts +9 -2
- package/dist/engine/render/layers/yAxisLayer.d.ts.map +1 -1
- package/dist/engine/render/layers/yAxisLayer.js +11 -2
- package/dist/engine/render/layers/yAxisLayer.js.map +1 -1
- package/dist/engine/renderers/Indicator/mainIndicatorLegend.d.ts +7 -3
- package/dist/engine/renderers/Indicator/mainIndicatorLegend.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/mainIndicatorLegend.js +234 -330
- package/dist/engine/renderers/Indicator/mainIndicatorLegend.js.map +1 -1
- package/dist/engine/renderers/Indicator/mainIndicatorLegendContext.d.ts +72 -0
- package/dist/engine/renderers/Indicator/mainIndicatorLegendContext.d.ts.map +1 -0
- package/dist/engine/renderers/Indicator/mainIndicatorLegendContext.js +177 -0
- package/dist/engine/renderers/Indicator/mainIndicatorLegendContext.js.map +1 -0
- package/dist/engine/renderers/leftYAxis.d.ts +15 -2
- package/dist/engine/renderers/leftYAxis.d.ts.map +1 -1
- package/dist/engine/renderers/leftYAxis.js +56 -16
- package/dist/engine/renderers/leftYAxis.js.map +1 -1
- package/dist/engine/renderers/yAxis.d.ts +16 -6
- package/dist/engine/renderers/yAxis.d.ts.map +1 -1
- package/dist/engine/renderers/yAxis.js +49 -16
- package/dist/engine/renderers/yAxis.js.map +1 -1
- package/dist/engine/state/viewportState.d.ts +4 -1
- package/dist/engine/state/viewportState.d.ts.map +1 -1
- package/dist/engine/state/viewportState.js +40 -8
- package/dist/engine/state/viewportState.js.map +1 -1
- package/dist/engine/subPaneManager.d.ts +5 -3
- package/dist/engine/subPaneManager.d.ts.map +1 -1
- package/dist/engine/subPaneManager.js +3 -2
- package/dist/engine/subPaneManager.js.map +1 -1
- package/dist/engine/utils/chartZoomController.d.ts +9 -7
- package/dist/engine/utils/chartZoomController.d.ts.map +1 -1
- package/dist/engine/utils/chartZoomController.js +13 -12
- package/dist/engine/utils/chartZoomController.js.map +1 -1
- package/dist/engine/viewport/chartViewportManager.d.ts +5 -16
- package/dist/engine/viewport/chartViewportManager.d.ts.map +1 -1
- package/dist/engine/viewport/chartViewportManager.js +7 -48
- package/dist/engine/viewport/chartViewportManager.js.map +1 -1
- package/dist/engine/viewport/viewport.d.ts +14 -0
- package/dist/engine/viewport/viewport.d.ts.map +1 -1
- package/dist/engine/viewport/viewport.js +10 -0
- package/dist/engine/viewport/viewport.js.map +1 -1
- package/dist/foundation/plugin/rendererPluginManager.test.js +15 -0
- package/dist/foundation/plugin/rendererPluginManager.test.js.map +1 -1
- package/dist/foundation/plugin/types.d.ts +3 -0
- package/dist/foundation/plugin/types.d.ts.map +1 -1
- package/dist/foundation/plugin/types.js.map +1 -1
- package/dist/foundation/reactivity/frameTransaction.d.ts +11 -0
- package/dist/foundation/reactivity/frameTransaction.d.ts.map +1 -1
- package/dist/foundation/reactivity/frameTransaction.js +17 -2
- package/dist/foundation/reactivity/frameTransaction.js.map +1 -1
- package/dist/rendering/render/Renderer.d.ts +58 -74
- package/dist/rendering/render/Renderer.d.ts.map +1 -1
- package/dist/rendering/render/Renderer.js +8 -18
- package/dist/rendering/render/Renderer.js.map +1 -1
- package/dist/rendering/render/createWebGPURenderer.d.ts.map +1 -1
- package/dist/rendering/render/createWebGPURenderer.js +30 -17
- package/dist/rendering/render/createWebGPURenderer.js.map +1 -1
- package/dist/rendering/render/createWebGPUSurfaceBackend.js +3 -3
- package/dist/rendering/render/createWebGPUSurfaceBackend.js.map +1 -1
- package/dist/rendering/render/physicalLine.d.ts +4 -0
- package/dist/rendering/render/physicalLine.d.ts.map +1 -0
- package/dist/rendering/render/physicalLine.js +37 -0
- package/dist/rendering/render/physicalLine.js.map +1 -0
- package/dist/rendering/render/physicalRegion.d.ts +14 -0
- package/dist/rendering/render/physicalRegion.d.ts.map +1 -0
- package/dist/rendering/render/physicalRegion.js +15 -0
- package/dist/rendering/render/physicalRegion.js.map +1 -0
- package/dist/rendering/scene/createLayerFromPlugin.d.ts.map +1 -1
- package/dist/rendering/scene/createLayerFromPlugin.js +8 -3
- package/dist/rendering/scene/createLayerFromPlugin.js.map +1 -1
- package/dist/rendering/scene/createScene.d.ts.map +1 -1
- package/dist/rendering/scene/createScene.js +4 -3
- package/dist/rendering/scene/createScene.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/src/__tests__/stateKernel.test.ts +1 -0
- package/src/controllers/createChartController.ts +9 -8
- package/src/controllers/index.ts +11 -0
- package/src/controllers/types.ts +7 -0
- package/src/data/binance.ts +1 -1
- package/src/engine/__tests__/chart.dpr.test.ts +3 -2
- package/src/engine/__tests__/paneRenderer.resize.test.ts +52 -54
- package/src/engine/__tests__/subPaneManager.test.ts +5 -3
- package/src/engine/chart.ts +76 -109
- package/src/engine/chartTypes.ts +5 -0
- package/src/engine/controller/__tests__/interaction.dpr.test.ts +39 -2
- package/src/engine/controller/interaction.ts +18 -10
- package/src/engine/data/__tests__/chartDataManager.incrementalLoad.test.ts +37 -17
- package/src/engine/data/__tests__/scrollCompensator.geometry.test.ts +87 -75
- package/src/engine/data/chartDataManager.ts +54 -59
- package/src/engine/data/incrementalLoadHint.ts +8 -7
- package/src/engine/data/scrollCompensator.ts +16 -24
- package/src/engine/indicators/__tests__/chartIndicatorManager.test.ts +18 -26
- package/src/engine/indicators/chartIndicatorManager.ts +62 -62
- package/src/engine/layout/chartPaneLayout.ts +73 -21
- package/src/engine/paneRenderer.ts +17 -10
- package/src/engine/render/chartRenderer.ts +187 -129
- package/src/engine/render/layers/leftYAxisLayer.ts +29 -7
- package/src/engine/render/layers/mainIndicatorLegendLayer.test.ts +26 -0
- package/src/engine/render/layers/mainIndicatorLegendLayer.ts +13 -10
- package/src/engine/render/layers/yAxisLayer.ts +29 -7
- package/src/engine/renderers/Indicator/mainIndicatorLegend.ts +270 -403
- package/src/engine/renderers/Indicator/mainIndicatorLegendContext.ts +282 -0
- package/src/engine/renderers/__tests__/mainIndicatorLegend.renderer.test.ts +73 -2
- package/src/engine/renderers/__tests__/yAxis.renderer.test.ts +10 -6
- package/src/engine/renderers/leftYAxis.ts +60 -18
- package/src/engine/renderers/yAxis.ts +57 -22
- package/src/engine/state/viewportState.ts +44 -8
- package/src/engine/subPaneManager.ts +8 -5
- package/src/engine/utils/chartZoomController.ts +22 -19
- package/src/engine/viewport/__tests__/visibleRange.clamp.test.ts +50 -0
- package/src/engine/viewport/chartViewportManager.ts +9 -60
- package/src/engine/viewport/viewport.ts +14 -0
- package/src/foundation/plugin/rendererPluginManager.test.ts +18 -0
- package/src/foundation/plugin/types.ts +3 -0
- package/src/foundation/reactivity/frameTransaction.ts +20 -6
- package/src/rendering/render/Renderer.ts +69 -85
- package/src/rendering/render/__tests__/physicalLine.test.ts +51 -0
- package/src/rendering/render/__tests__/physicalRegion.test.ts +23 -0
- package/src/rendering/render/__tests__/webgpuRenderer.test.ts +31 -1
- package/src/rendering/render/__tests__/webgpuSurfaceBackend.test.ts +11 -0
- package/src/rendering/render/createWebGPURenderer.ts +30 -17
- package/src/rendering/render/createWebGPUSurfaceBackend.ts +3 -3
- package/src/rendering/render/physicalLine.ts +45 -0
- package/src/rendering/render/physicalRegion.ts +32 -0
- package/src/rendering/scene/createLayerFromPlugin.ts +8 -3
- package/src/rendering/scene/createScene.ts +4 -3
- package/src/version.ts +1 -1
|
@@ -1,49 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Viewport DOM 适配层:只挂 ResizeObserver 与 scroll,读写一律走 kernel。
|
|
3
|
+
*/
|
|
1
4
|
export class ChartViewportManager {
|
|
2
5
|
deps;
|
|
3
6
|
kernel;
|
|
4
7
|
resizeObserver;
|
|
5
8
|
onScroll;
|
|
6
|
-
get viewportSignal() {
|
|
7
|
-
return this.kernel.viewport.readonly.viewportState;
|
|
8
|
-
}
|
|
9
9
|
constructor(deps, kernel) {
|
|
10
10
|
this.deps = deps;
|
|
11
11
|
this.kernel = kernel;
|
|
12
12
|
}
|
|
13
|
-
getCachedScrollLeft() {
|
|
14
|
-
return this.kernel.viewport.readonly.scrollLeft.peek();
|
|
15
|
-
}
|
|
16
|
-
getLogicalScrollLeft() {
|
|
17
|
-
return this.kernel.viewport.readonly.scrollLeftLogical.peek();
|
|
18
|
-
}
|
|
19
|
-
getViewport() {
|
|
20
|
-
if (this.kernel.viewport.readonly.viewWidth.peek() === 0)
|
|
21
|
-
return null;
|
|
22
|
-
return this.kernel.viewport.readonly.viewport.peek();
|
|
23
|
-
}
|
|
24
|
-
getEffectiveDpr() {
|
|
25
|
-
return this.kernel.viewport.readonly.dpr.peek();
|
|
26
|
-
}
|
|
27
|
-
getObservedSize() {
|
|
28
|
-
return {
|
|
29
|
-
width: this.kernel.viewport.readonly.viewWidth.peek(),
|
|
30
|
-
height: this.kernel.viewport.readonly.viewHeight.peek(),
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
setScrollLeft(v) {
|
|
34
|
-
this.kernel.viewport.actions.scrollTo(v);
|
|
35
|
-
}
|
|
36
13
|
init() {
|
|
37
|
-
if (typeof ResizeObserver === 'undefined')
|
|
38
|
-
return;
|
|
39
14
|
const target = this.deps.getDom().container;
|
|
40
15
|
if (!target)
|
|
41
16
|
return;
|
|
17
|
+
// 首帧尺寸写入 kernel,不依赖 ResizeObserver 是否可用
|
|
42
18
|
this.kernel.initViewport();
|
|
43
|
-
this.onScroll = (
|
|
19
|
+
this.onScroll = () => {
|
|
44
20
|
this.kernel.viewport.actions.syncFromDomScroll();
|
|
45
21
|
};
|
|
46
22
|
target.addEventListener('scroll', this.onScroll, { passive: true });
|
|
23
|
+
if (typeof ResizeObserver === 'undefined')
|
|
24
|
+
return;
|
|
47
25
|
this.resizeObserver = new ResizeObserver((entries) => {
|
|
48
26
|
const entry = entries[0];
|
|
49
27
|
if (!entry)
|
|
@@ -91,24 +69,5 @@ export class ChartViewportManager {
|
|
|
91
69
|
this.onScroll = undefined;
|
|
92
70
|
}
|
|
93
71
|
}
|
|
94
|
-
computeViewport() {
|
|
95
|
-
const container = this.deps.getDom().container;
|
|
96
|
-
if (!container)
|
|
97
|
-
return null;
|
|
98
|
-
const viewWidth = this.kernel.viewport.readonly.viewWidth.peek();
|
|
99
|
-
const viewHeight = this.kernel.viewport.readonly.viewHeight.peek();
|
|
100
|
-
if (viewWidth === 0 || viewHeight === 0) {
|
|
101
|
-
const fallbackW = Math.max(1, Math.round(container.clientWidth));
|
|
102
|
-
const fallbackH = Math.max(1, Math.round(container.clientHeight));
|
|
103
|
-
if (fallbackW > 0 && fallbackH > 0) {
|
|
104
|
-
this.kernel.viewport.actions.resize(fallbackW, fallbackH, this.kernel.viewport.readonly.preciseDpr.peek());
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
return this.kernel.viewport.readonly.viewport.peek();
|
|
108
|
-
}
|
|
109
|
-
/** @deprecated No-op — viewportState is now computed(). */
|
|
110
|
-
updateViewportSignal() {
|
|
111
|
-
// no-op
|
|
112
|
-
}
|
|
113
72
|
}
|
|
114
73
|
//# sourceMappingURL=chartViewportManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chartViewportManager.js","sourceRoot":"","sources":["../../../src/engine/viewport/chartViewportManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"chartViewportManager.js","sourceRoot":"","sources":["../../../src/engine/viewport/chartViewportManager.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,MAAM,OAAO,oBAAoB;IACvB,IAAI,CAAsB;IAC1B,MAAM,CAAkB;IACxB,cAAc,CAAiB;IAC/B,QAAQ,CAAqB;IAErC,YAAY,IAA0B,EAAE,MAAwB;QAC9D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED,IAAI;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,CAAA;QAC3C,IAAI,CAAC,MAAM;YAAE,OAAM;QAEnB,wCAAwC;QACxC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAA;QAE1B,IAAI,CAAC,QAAQ,GAAG,GAAG,EAAE;YACnB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAA;QAClD,CAAC,CAAA;QACD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAEnE,IAAI,OAAO,cAAc,KAAK,WAAW;YAAE,OAAM;QAEjD,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,CAAC,OAAO,EAAE,EAAE;YACnD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YACxB,IAAI,CAAC,KAAK;gBAAE,OAAM;YAElB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;YAChE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;YAClE,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;YAE/D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAA;YACjE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAA;YAEnE,IAAI,UAAU,GAAG,CAAC,CAAA;YAClB,MAAM,SAAS,GAAG,KAAK,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC,CAAA;YACtD,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAA;YACzC,IAAI,SAAS,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;gBACnD,MAAM,GAAG,GAAG,SAAS,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;gBACrD,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,CAAA;YACxC,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;YAEpE,MAAM,YAAY,GAAG,QAAQ,KAAK,SAAS,CAAA;YAC3C,MAAM,aAAa,GAAG,SAAS,KAAK,UAAU,CAAA;YAC9C,MAAM,UAAU,GAAG,UAAU,KAAK,OAAO,CAAA;YACzC,IAAK,MAAM,CAAC,IAAY,CAAC,GAAG,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;gBACpD,OAAO,CAAC,GAAG,CACT,2BAA2B;oBACzB,QAAQ,SAAS,IAAI,UAAU,OAAO,QAAQ,IAAI,SAAS,GAAG;oBAC9D,OAAO,OAAO,OAAO,UAAU,GAAG;oBAClC,YAAY,YAAY,IAAI,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,YAAY,IAAI,CAAC,aAAa,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CACjJ,CAAA;YACH,CAAC;YACD,IAAI,YAAY,IAAI,aAAa,IAAI,UAAU,EAAE,CAAC;gBAChD,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAA;YAC/B,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC;YACH,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE;gBAClC,GAAG,EAAE,0BAAsD;aAC5D,CAAC,CAAA;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACrC,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,CAAA;QACjC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAA;QAE/B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC1E,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAA;QAC3B,CAAC;IACH,CAAC;CACF"}
|
|
@@ -17,6 +17,20 @@ export declare function getVisibleRange(scrollLeft: number, viewWidth: number, k
|
|
|
17
17
|
start: number;
|
|
18
18
|
end: number;
|
|
19
19
|
};
|
|
20
|
+
/**
|
|
21
|
+
* 将 raw visible range 钳制为可索引区间。
|
|
22
|
+
*
|
|
23
|
+
* @remarks getVisibleRange 左右各扩 1 根时 start 可能为 -1;
|
|
24
|
+
* 绘制 / hit-test / 数据下标必须用 clamp 后的 start>=0。
|
|
25
|
+
* 增量加载检测仍读 raw(start 小于 0 表示已滚到左缘扩窗)。
|
|
26
|
+
*/
|
|
27
|
+
export declare function clampVisibleRange(range: {
|
|
28
|
+
start: number;
|
|
29
|
+
end: number;
|
|
30
|
+
}): {
|
|
31
|
+
start: number;
|
|
32
|
+
end: number;
|
|
33
|
+
};
|
|
20
34
|
/**
|
|
21
35
|
* 计算指定索引区间内的价格范围(max/min)。
|
|
22
36
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewport.d.ts","sourceRoot":"","sources":["../../../src/engine/viewport/viewport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAGhD;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,GAAG,GAAE,MAAU,GACd;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAgBhC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,SAAS,EAAE,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,UAAU,CAgBZ"}
|
|
1
|
+
{"version":3,"file":"viewport.d.ts","sourceRoot":"","sources":["../../../src/engine/viewport/viewport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAGhD;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,GAAG,GAAE,MAAU,GACd;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAgBhC;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACZ,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAEjC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,SAAS,EAAE,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,UAAU,CAgBZ"}
|
|
@@ -23,6 +23,16 @@ export function getVisibleRange(scrollLeft, viewWidth, kWidth, kGap, totalDataCo
|
|
|
23
23
|
const end = Math.min(totalDataCount, Math.ceil((scrollLeftPx + viewWidthPx - startXPx) / unitPx) + 1);
|
|
24
24
|
return { start, end };
|
|
25
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* 将 raw visible range 钳制为可索引区间。
|
|
28
|
+
*
|
|
29
|
+
* @remarks getVisibleRange 左右各扩 1 根时 start 可能为 -1;
|
|
30
|
+
* 绘制 / hit-test / 数据下标必须用 clamp 后的 start>=0。
|
|
31
|
+
* 增量加载检测仍读 raw(start 小于 0 表示已滚到左缘扩窗)。
|
|
32
|
+
*/
|
|
33
|
+
export function clampVisibleRange(range) {
|
|
34
|
+
return { start: Math.max(0, range.start), end: range.end };
|
|
35
|
+
}
|
|
26
36
|
/**
|
|
27
37
|
* 计算指定索引区间内的价格范围(max/min)。
|
|
28
38
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewport.js","sourceRoot":"","sources":["../../../src/engine/viewport/viewport.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAE7D;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAC7B,UAAkB,EAClB,SAAiB,EACjB,MAAc,EACd,IAAY,EACZ,cAAsB,EACtB,MAAc,CAAC;IAEf,0CAA0C;IAC1C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,sBAAsB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IAEtE,mCAAmC;IACnC,MAAM,YAAY,GAAG,UAAU,GAAG,GAAG,CAAA;IACrC,MAAM,WAAW,GAAG,SAAS,GAAG,GAAG,CAAA;IAEnC,qBAAqB;IACrB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IAChE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAClB,cAAc,EACd,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAChE,CAAA;IAED,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;AACvB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAiB,EACjB,UAAkB,EAClB,QAAgB;IAEhB,IAAI,QAAQ,GAAG,CAAC,QAAQ,CAAA;IACxB,IAAI,QAAQ,GAAG,QAAQ,CAAA;IAEvB,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9D,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,IAAI,CAAC,CAAC;YAAE,SAAQ;QAChB,IAAI,CAAC,CAAC,IAAI,GAAG,QAAQ;YAAE,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAA;QACxC,IAAI,CAAC,CAAC,GAAG,GAAG,QAAQ;YAAE,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAA;IACxC,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7D,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAA;IACvC,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAA;AAC/B,CAAC"}
|
|
1
|
+
{"version":3,"file":"viewport.js","sourceRoot":"","sources":["../../../src/engine/viewport/viewport.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAE7D;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAC7B,UAAkB,EAClB,SAAiB,EACjB,MAAc,EACd,IAAY,EACZ,cAAsB,EACtB,MAAc,CAAC;IAEf,0CAA0C;IAC1C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,sBAAsB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IAEtE,mCAAmC;IACnC,MAAM,YAAY,GAAG,UAAU,GAAG,GAAG,CAAA;IACrC,MAAM,WAAW,GAAG,SAAS,GAAG,GAAG,CAAA;IAEnC,qBAAqB;IACrB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IAChE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAClB,cAAc,EACd,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAChE,CAAA;IAED,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;AACvB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAGjC;IACC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAA;AAC5D,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAiB,EACjB,UAAkB,EAClB,QAAgB;IAEhB,IAAI,QAAQ,GAAG,CAAC,QAAQ,CAAA;IACxB,IAAI,QAAQ,GAAG,QAAQ,CAAA;IAEvB,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9D,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,IAAI,CAAC,CAAC;YAAE,SAAQ;QAChB,IAAI,CAAC,CAAC,IAAI,GAAG,QAAQ;YAAE,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAA;QACxC,IAAI,CAAC,CAAC,GAAG,GAAG,QAAQ;YAAE,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAA;IACxC,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7D,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAA;IACvC,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAA;AAC/B,CAAC"}
|
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
import { describe, expect, it, vi } from 'vitest';
|
|
2
2
|
import { RendererPluginManager } from './rendererPluginManager';
|
|
3
|
+
describe('RendererPluginManager lifecycle', () => {
|
|
4
|
+
it('installs a renderer plugin exactly once', () => {
|
|
5
|
+
const manager = new RendererPluginManager();
|
|
6
|
+
const onInstall = vi.fn();
|
|
7
|
+
manager.setPluginHost({});
|
|
8
|
+
manager.register({
|
|
9
|
+
name: 'test',
|
|
10
|
+
paneId: 'main',
|
|
11
|
+
priority: 0,
|
|
12
|
+
draw: vi.fn(),
|
|
13
|
+
onInstall,
|
|
14
|
+
});
|
|
15
|
+
expect(onInstall).toHaveBeenCalledTimes(1);
|
|
16
|
+
});
|
|
17
|
+
});
|
|
3
18
|
describe('RendererPluginManager transaction', () => {
|
|
4
19
|
it('coalesces renderer invalidations into one callback', () => {
|
|
5
20
|
const manager = new RendererPluginManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rendererPluginManager.test.js","sourceRoot":"","sources":["../../../src/foundation/plugin/rendererPluginManager.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAEjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IACjD,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,OAAO,GAAG,IAAI,qBAAqB,EAAE,CAAA;QAC3C,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,EAAE,CAAA;QAC1B,OAAO,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAA;QACzC,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;YACb,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;SACnB,CAAA;QAED,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE;YACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YACxB,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YACtC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;QACnD,CAAC,CAAC,CAAA;QAEF,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,OAAO,GAAG,IAAI,qBAAqB,EAAE,CAAA;QAC3C,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,EAAE,CAAA;QAC1B,OAAO,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAA;QAEzC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE;YACvB,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE;gBACvB,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YAChF,CAAC,CAAC,CAAA;YACF,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAA;QAC3C,CAAC,CAAC,CAAA;QAEF,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"rendererPluginManager.test.js","sourceRoot":"","sources":["../../../src/foundation/plugin/rendererPluginManager.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAEjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC/C,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,OAAO,GAAG,IAAI,qBAAqB,EAAE,CAAA;QAC3C,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAA;QACzB,OAAO,CAAC,aAAa,CAAC,EAAW,CAAC,CAAA;QAElC,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;YACb,SAAS;SACV,CAAC,CAAA;QAEF,MAAM,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IACjD,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,OAAO,GAAG,IAAI,qBAAqB,EAAE,CAAA;QAC3C,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,EAAE,CAAA;QAC1B,OAAO,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAA;QACzC,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;YACb,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;SACnB,CAAA;QAED,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE;YACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YACxB,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YACtC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;QACnD,CAAC,CAAC,CAAA;QAEF,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,OAAO,GAAG,IAAI,qBAAqB,EAAE,CAAA;QAC3C,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,EAAE,CAAA;QAC1B,OAAO,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAA;QAEzC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE;YACvB,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE;gBACvB,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YAChF,CAAC,CAAC,CAAA;YACF,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAA;QAC3C,CAAC,CAAC,CAAA;QAEF,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -250,7 +250,10 @@ export interface RenderContext {
|
|
|
250
250
|
/** 十字线指向的 K 线索引(无十字线时为 null) */
|
|
251
251
|
crosshairIndex?: number | null;
|
|
252
252
|
yAxisCtx?: CanvasRenderingContext2D;
|
|
253
|
+
/** 轴区动态层(最新价标签、十字线价签) */
|
|
254
|
+
yAxisOverlayCtx?: CanvasRenderingContext2D;
|
|
253
255
|
leftAxisCtx?: CanvasRenderingContext2D;
|
|
256
|
+
leftAxisOverlayCtx?: CanvasRenderingContext2D;
|
|
254
257
|
xAxisCtx?: CanvasRenderingContext2D;
|
|
255
258
|
borderCtx?: CanvasRenderingContext2D;
|
|
256
259
|
/** 覆盖层 Canvas 上下文(用于十字线、Tooltip 等动态内容) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/foundation/plugin/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/foundation/plugin/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/foundation/plugin/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,eAAe;AACf,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,wCAAyB,CAAA;IACzB,sCAAuB,CAAA;IACvB,8BAAe,CAAA;AACjB,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AA8JD;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,IAQ5B;IACC,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,YAAY,EAAE,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE;QACtC,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE;YACL,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC/C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;YAC/C,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;YACrD,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;YACjD,eAAe,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC;YACrE,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC7C,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC7C,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;YACjD,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC;YACjD,sBAAsB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE;SAClE;QACD,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAA;AACH,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/foundation/plugin/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,eAAe;AACf,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,wCAAyB,CAAA;IACzB,sCAAuB,CAAA;IACvB,8BAAe,CAAA;AACjB,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AA8JD;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,IAQ5B;IACC,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,YAAY,EAAE,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE;QACtC,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE;YACL,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC/C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;YAC/C,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;YACrD,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;YACjD,eAAe,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC;YACrE,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC7C,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC7C,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;YACjD,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC;YACjD,sBAAsB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE;SAClE;QACD,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAA;AACH,CAAC;AAoQD,6BAA6B;AAC7B,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC,CAAA;AAEnD,cAAc;AACd,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,gBAAgB,EAAE,CAAC,EAAE,EAAE,qCAAqC;IAC5D,YAAY,EAAE,CAAC,EAAE,EAAE,UAAU;IAC7B,YAAY,EAAE,CAAC,EAAE,EAAE,UAAU;IAC7B,UAAU,EAAE,CAAC,EAAE,MAAM;IACrB,IAAI,EAAE,EAAE,EAAE,MAAM;IAChB;;;OAGG;IACH,SAAS,EAAE,EAAE;IACb,IAAI,EAAE,EAAE,EAAE,SAAS;IACnB;;;OAGG;IACH,eAAe,EAAE,EAAE;IACnB,OAAO,EAAE,EAAE,EAAE,WAAW;IACxB,UAAU,EAAE,GAAG,EAAE,WAAW;IAC5B,aAAa,EAAE,GAAG,EAAE,UAAU;IAC9B,gBAAgB,EAAE,GAAG,EAAE,WAAW;CAC1B,CAAA"}
|
|
@@ -10,6 +10,17 @@
|
|
|
10
10
|
* 一帧固定走 capture → derive → seal → render → publish → complete。
|
|
11
11
|
* render 或 publish 期间的 writeInput 一律进入下一代 pending。
|
|
12
12
|
* 非 idle 时调用 flush 不会嵌套发布,仅保留 dirty 供外层完成后调度。
|
|
13
|
+
*
|
|
14
|
+
* @remarks 适用范围
|
|
15
|
+
* 这是一个半通用的 rAF 合帧器(semi-general frame coalescer),
|
|
16
|
+
* 专为 ChartRenderer 的绘制管线设计,并非全场景通用的高频处理方案。
|
|
17
|
+
*
|
|
18
|
+
* @Todo 如需在其他场景(WebSocket 消息合并、键盘事件批处理)复用,需补充:
|
|
19
|
+
* - 深层合并 / 自定义 merge 策略(目前 mergeInput 仅浅合并)
|
|
20
|
+
* - 快照深层不可变保证(目前 sealSnapshotRoot 只冻根对象)
|
|
21
|
+
* - 超时/失帧策略(目前纯乐观逐帧)
|
|
22
|
+
* - 背压与优先级集成(FrameBudget 在 scheduler 层但未在此集成)
|
|
23
|
+
* - 非 Record 输入类型支持(目前 TInput 约束为 Record)
|
|
13
24
|
*/
|
|
14
25
|
import { type ReadonlySignal } from './signal';
|
|
15
26
|
/** 帧事务所处阶段;用于隔离重入写入 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frameTransaction.d.ts","sourceRoot":"","sources":["../../../src/foundation/reactivity/frameTransaction.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"frameTransaction.d.ts","sourceRoot":"","sources":["../../../src/foundation/reactivity/frameTransaction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,UAAU,CAAA;AAE5D,uBAAuB;AACvB,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,YAAY,CAAA;AAkBnG,MAAM,WAAW,uBAAuB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS;IACxF,sDAAsD;IACtD,YAAY,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,KAAK,SAAS,CAAA;IAClE;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,IAAI,CAAA;IAChD;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,IAAI,KAAK,OAAO,CAAA;CACxC;AAED,MAAM,WAAW,gBAAgB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS;IACjF,6BAA6B;IAC7B,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;IACxD,6BAA6B;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,qBAAqB;IACrB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;IAC1B;;;OAGG;IACH,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;IACxC;;;;OAIG;IACH,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAA;IAC5B;;OAEG;IACH,aAAa,IAAI,IAAI,CAAA;IACrB;;;OAGG;IACH,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;CAC7E;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,EACtF,OAAO,EAAE,uBAAuB,CAAC,MAAM,EAAE,SAAS,CAAC,GAClD,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAqJrC"}
|
|
@@ -10,6 +10,17 @@
|
|
|
10
10
|
* 一帧固定走 capture → derive → seal → render → publish → complete。
|
|
11
11
|
* render 或 publish 期间的 writeInput 一律进入下一代 pending。
|
|
12
12
|
* 非 idle 时调用 flush 不会嵌套发布,仅保留 dirty 供外层完成后调度。
|
|
13
|
+
*
|
|
14
|
+
* @remarks 适用范围
|
|
15
|
+
* 这是一个半通用的 rAF 合帧器(semi-general frame coalescer),
|
|
16
|
+
* 专为 ChartRenderer 的绘制管线设计,并非全场景通用的高频处理方案。
|
|
17
|
+
*
|
|
18
|
+
* @Todo 如需在其他场景(WebSocket 消息合并、键盘事件批处理)复用,需补充:
|
|
19
|
+
* - 深层合并 / 自定义 merge 策略(目前 mergeInput 仅浅合并)
|
|
20
|
+
* - 快照深层不可变保证(目前 sealSnapshotRoot 只冻根对象)
|
|
21
|
+
* - 超时/失帧策略(目前纯乐观逐帧)
|
|
22
|
+
* - 背压与优先级集成(FrameBudget 在 scheduler 层但未在此集成)
|
|
23
|
+
* - 非 Record 输入类型支持(目前 TInput 约束为 Record)
|
|
13
24
|
*/
|
|
14
25
|
import { createSignal } from './signal';
|
|
15
26
|
/**
|
|
@@ -78,20 +89,23 @@ export function createFrameTransaction(options) {
|
|
|
78
89
|
dirty = true;
|
|
79
90
|
}
|
|
80
91
|
let sealedInput;
|
|
92
|
+
// 封存输入,后续写入只能进下一代
|
|
81
93
|
phase = 'capturing';
|
|
82
94
|
try {
|
|
83
95
|
sealedInput = pending;
|
|
84
96
|
dirty = false;
|
|
85
|
-
// 本帧 capture 之后的新写入进入 nextPending,不得污染 sealedInput
|
|
86
97
|
pending = { ...sealedInput };
|
|
98
|
+
// 从封存输入纯推导不可变快照
|
|
87
99
|
phase = 'deriving';
|
|
88
100
|
const nextGeneration = generation + 1;
|
|
89
101
|
const snapshot = derive(sealedInput, nextGeneration);
|
|
102
|
+
// 冻结快照根对象
|
|
90
103
|
phase = 'sealing';
|
|
91
104
|
sealSnapshotRoot(snapshot);
|
|
105
|
+
// 用本帧快照绘制
|
|
92
106
|
phase = 'rendering';
|
|
93
107
|
render?.(snapshot);
|
|
94
|
-
//
|
|
108
|
+
// 先推进代际再发布,保证订阅者读到一致代际
|
|
95
109
|
phase = 'publishing';
|
|
96
110
|
generation = nextGeneration;
|
|
97
111
|
published.set(snapshot);
|
|
@@ -120,6 +134,7 @@ export function createFrameTransaction(options) {
|
|
|
120
134
|
}
|
|
121
135
|
}
|
|
122
136
|
function scheduleFlush() {
|
|
137
|
+
// 已有 raf 帧,
|
|
123
138
|
if (scheduleQueued)
|
|
124
139
|
return;
|
|
125
140
|
if (!dirty && nextPending === null)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frameTransaction.js","sourceRoot":"","sources":["../../../src/foundation/reactivity/frameTransaction.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"frameTransaction.js","sourceRoot":"","sources":["../../../src/foundation/reactivity/frameTransaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,61 +1,85 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* scene layers (candles, volume, indicators, drawings) call into.
|
|
2
|
+
* 渲染器接口 — Scene 各层(蜡烛、指标、drawing 等)通过它画图。
|
|
4
3
|
*
|
|
5
|
-
* WebGL
|
|
6
|
-
* will implement the same surface. Call sites only use sceneRenderer
|
|
7
|
-
* (fail-closed boolean → Canvas2D), never dual-path surfaces.
|
|
4
|
+
* WebGL 和 WebGPU 实现同一套接口。调用方只走 sceneRenderer(返回 false 时 fail-closed 降级 Canvas2D),不走双路径。
|
|
8
5
|
*
|
|
9
|
-
*
|
|
10
|
-
* -
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* -
|
|
15
|
-
* - `dispatchCompute` exists only because WebGPU has compute shaders;
|
|
16
|
-
* the WebGL implementation throws on call so callers can feature-detect
|
|
17
|
-
* via `caps.compute`. Volume Profile binning, M4 downsampling, footprint
|
|
18
|
-
* aggregation will use it on the WebGPU path.
|
|
19
|
-
* - `setUniforms` is intentionally schemaless on the interface — the
|
|
20
|
-
* uniform layout is owned by each shader/program. Callers pass a
|
|
21
|
-
* structured object that the backend translates into uniform writes.
|
|
6
|
+
* 设计说明:
|
|
7
|
+
* - drawInstances 是主力:一份 unit geometry 配 instance buffer 渲染 N 份。
|
|
8
|
+
* 蜡烛、成交量柱、footprint 格子、heatmap 磁贴都归约为 instanced 图元。
|
|
9
|
+
* - drawLines 画 MA-style 折线、drawing、坐标轴。
|
|
10
|
+
* - dispatchCompute 只有 WebGPU 有;WebGL 实现会抛异常,调用方先查 caps.compute。
|
|
11
|
+
* - uniform 布局由各 shader/pipeline 自行定义,接口不做 schema 约束。
|
|
22
12
|
*/
|
|
23
13
|
import type { SurfaceBackend, SurfaceRegion } from './SurfaceBackend';
|
|
24
|
-
/**
|
|
14
|
+
/** 后端上报的能力位,调用方据此分支 */
|
|
25
15
|
export type RendererCapabilities = {
|
|
26
|
-
/** WebGPU compute
|
|
16
|
+
/** WebGPU compute shader 是否可用;WebGL 返回 false */
|
|
27
17
|
compute: boolean;
|
|
28
|
-
/**
|
|
18
|
+
/** storage buffer 是否可用 */
|
|
29
19
|
storageBuffer: boolean;
|
|
30
|
-
/**
|
|
20
|
+
/** 单次 drawInstances 上限(引擎强加) */
|
|
31
21
|
maxInstances: number;
|
|
32
|
-
/**
|
|
22
|
+
/** 名称,如 "webgl2" 或 "webgpu" */
|
|
33
23
|
name: string;
|
|
34
24
|
};
|
|
35
|
-
/**
|
|
25
|
+
/**
|
|
26
|
+
* 各后端(WebGL/WebGPU/Canvas2D)都实现的绘制接口。
|
|
27
|
+
* 后端持有 GPU 资源,调用方通过不透明 handle 操作。
|
|
28
|
+
*/
|
|
29
|
+
export interface Renderer {
|
|
30
|
+
/** 底层 surface,用于 region 绑定和最终合成 */
|
|
31
|
+
readonly surface: SurfaceBackend;
|
|
32
|
+
/** 能力位标志 */
|
|
33
|
+
readonly caps: RendererCapabilities;
|
|
34
|
+
createBuffer(usage: BufferUsage, sizeBytes: number): BufferHandle;
|
|
35
|
+
writeBuffer(handle: BufferHandle, data: ArrayBufferView, offsetBytes?: number): void;
|
|
36
|
+
destroyBuffer(handle: BufferHandle): void;
|
|
37
|
+
/** 编译 shader pipeline。descriptor 格式后端自定,适配层通常提供工厂函数(如 createCandlePipeline) */
|
|
38
|
+
createPipeline(descriptor: unknown): PipelineHandle;
|
|
39
|
+
destroyPipeline(handle: PipelineHandle): void;
|
|
40
|
+
/** WebGPU only — WebGL 会抛异常 */
|
|
41
|
+
createComputePipeline(descriptor: unknown): ComputePipelineHandle;
|
|
42
|
+
destroyComputePipeline(handle: ComputePipelineHandle): void;
|
|
43
|
+
beginFrame(region: SurfaceRegion): void;
|
|
44
|
+
/**
|
|
45
|
+
* 返回 true 表示本批已成功提交 GPU(或 instanceCount<=0 无需绘制)。
|
|
46
|
+
* 返回 false 表示未画上(无 surface / pipeline 不匹配 / 资源缺失)——调用方应 fail-closed 走 2D。
|
|
47
|
+
*/
|
|
48
|
+
drawInstances(params: DrawInstancesParams): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* 返回 true 表示本批折线/填充已成功提交 GPU。
|
|
51
|
+
* 返回 false 表示未画上——调用方应 fail-closed 走 2D。
|
|
52
|
+
*/
|
|
53
|
+
drawLines(params: DrawLinesParams): boolean;
|
|
54
|
+
/** WebGPU only — WebGL 会抛异常,调用方先查 caps */
|
|
55
|
+
dispatchCompute(params: DispatchComputeParams): void;
|
|
56
|
+
endFrame(): void;
|
|
57
|
+
dispose(): void;
|
|
58
|
+
}
|
|
59
|
+
/** 不透明 buffer handle,后端持有 GPU 资源 */
|
|
36
60
|
export type BufferHandle = {
|
|
37
61
|
readonly __brand: 'BufferHandle';
|
|
38
62
|
};
|
|
39
|
-
/**
|
|
63
|
+
/** 不透明 pipeline handle */
|
|
40
64
|
export type PipelineHandle = {
|
|
41
65
|
readonly __brand: 'PipelineHandle';
|
|
42
66
|
};
|
|
43
|
-
/**
|
|
67
|
+
/** WebGPU compute pipeline handle */
|
|
44
68
|
export type ComputePipelineHandle = {
|
|
45
69
|
readonly __brand: 'ComputePipelineHandle';
|
|
46
70
|
};
|
|
47
71
|
export type BufferUsage = 'vertex' | 'instance' | 'index' | 'uniform' | 'storage';
|
|
48
72
|
export type DrawInstancesParams = {
|
|
49
73
|
pipeline: PipelineHandle;
|
|
50
|
-
/**
|
|
74
|
+
/** 所有 instance 共享的 unit geometry(如一个矩形) */
|
|
51
75
|
vertices: BufferHandle;
|
|
52
|
-
/**
|
|
76
|
+
/** 每个 instance 的属性 buffer(如一行 K 线数据) */
|
|
53
77
|
instances: BufferHandle;
|
|
54
|
-
/**
|
|
78
|
+
/** 绘制多少个 instance */
|
|
55
79
|
instanceCount: number;
|
|
56
|
-
/**
|
|
80
|
+
/** 每个 instance 的顶点数(quad 用 4,triangle 用 6) */
|
|
57
81
|
vertexCount: number;
|
|
58
|
-
/**
|
|
82
|
+
/** uniform 块,后端自行解译 */
|
|
59
83
|
uniforms?: Record<string, unknown>;
|
|
60
84
|
};
|
|
61
85
|
export type DrawLineStrip = {
|
|
@@ -74,7 +98,7 @@ export type DrawLinesParams = {
|
|
|
74
98
|
*/
|
|
75
99
|
vertices?: BufferHandle;
|
|
76
100
|
vertexCount?: number;
|
|
77
|
-
/**
|
|
101
|
+
/** strip 连续折线 / list 独立线段 */
|
|
78
102
|
topology?: 'strip' | 'list';
|
|
79
103
|
/** 多色折线批量(推荐 MA 等多周期) */
|
|
80
104
|
strips?: ReadonlyArray<DrawLineStrip>;
|
|
@@ -82,50 +106,10 @@ export type DrawLinesParams = {
|
|
|
82
106
|
};
|
|
83
107
|
export type DispatchComputeParams = {
|
|
84
108
|
pipeline: ComputePipelineHandle;
|
|
85
|
-
/**
|
|
109
|
+
/** 各轴 workgroup 数 */
|
|
86
110
|
workgroups: [number, number?, number?];
|
|
87
|
-
/**
|
|
111
|
+
/** 输入/输出 buffer 绑定,key 为 binding index */
|
|
88
112
|
bindings: Record<number, BufferHandle>;
|
|
89
113
|
uniforms?: Record<string, unknown>;
|
|
90
114
|
};
|
|
91
|
-
/**
|
|
92
|
-
* The drawing-primitives interface every backend implements.
|
|
93
|
-
*
|
|
94
|
-
* Backends own the GPU resources; callers receive opaque handles
|
|
95
|
-
* (`BufferHandle`, `PipelineHandle`) and pass them back for draws.
|
|
96
|
-
*/
|
|
97
|
-
export interface Renderer {
|
|
98
|
-
/** Underlying surface (for region binding and final composite). */
|
|
99
|
-
readonly surface: SurfaceBackend;
|
|
100
|
-
/** Reported feature flags — caller branches on `caps.compute` etc. */
|
|
101
|
-
readonly caps: RendererCapabilities;
|
|
102
|
-
createBuffer(usage: BufferUsage, sizeBytes: number): BufferHandle;
|
|
103
|
-
writeBuffer(handle: BufferHandle, data: ArrayBufferView, offsetBytes?: number): void;
|
|
104
|
-
destroyBuffer(handle: BufferHandle): void;
|
|
105
|
-
/**
|
|
106
|
-
* Compile a shader pipeline. The exact pipeline descriptor is backend-specific;
|
|
107
|
-
* adapters typically expose factory helpers (e.g. `createCandlePipeline`) that
|
|
108
|
-
* internally call this with the right vertex/fragment sources.
|
|
109
|
-
*/
|
|
110
|
-
createPipeline(descriptor: unknown): PipelineHandle;
|
|
111
|
-
destroyPipeline(handle: PipelineHandle): void;
|
|
112
|
-
/** WebGPU only — WebGL implementations MUST throw with a clear message. */
|
|
113
|
-
createComputePipeline(descriptor: unknown): ComputePipelineHandle;
|
|
114
|
-
destroyComputePipeline(handle: ComputePipelineHandle): void;
|
|
115
|
-
beginFrame(region: SurfaceRegion): void;
|
|
116
|
-
/**
|
|
117
|
-
* 返回 true 表示本批已成功提交 GPU(或 instanceCount<=0 无需绘制)。
|
|
118
|
-
* 返回 false 表示未画上(无 surface / pipeline 不匹配 / 资源缺失)——调用方应 fail-closed 走 2D。
|
|
119
|
-
*/
|
|
120
|
-
drawInstances(params: DrawInstancesParams): boolean;
|
|
121
|
-
/**
|
|
122
|
-
* 返回 true 表示本批折线/填充已成功提交 GPU。
|
|
123
|
-
* 返回 false 表示未画上——调用方应 fail-closed 走 2D。
|
|
124
|
-
*/
|
|
125
|
-
drawLines(params: DrawLinesParams): boolean;
|
|
126
|
-
/** WebGPU only — WebGL implementations MUST throw. Caller checks caps first. */
|
|
127
|
-
dispatchCompute(params: DispatchComputeParams): void;
|
|
128
|
-
endFrame(): void;
|
|
129
|
-
dispose(): void;
|
|
130
|
-
}
|
|
131
115
|
//# sourceMappingURL=Renderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Renderer.d.ts","sourceRoot":"","sources":["../../../src/rendering/render/Renderer.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Renderer.d.ts","sourceRoot":"","sources":["../../../src/rendering/render/Renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* scene layers (candles, volume, indicators, drawings) call into.
|
|
2
|
+
* 渲染器接口 — Scene 各层(蜡烛、指标、drawing 等)通过它画图。
|
|
4
3
|
*
|
|
5
|
-
* WebGL
|
|
6
|
-
* will implement the same surface. Call sites only use sceneRenderer
|
|
7
|
-
* (fail-closed boolean → Canvas2D), never dual-path surfaces.
|
|
4
|
+
* WebGL 和 WebGPU 实现同一套接口。调用方只走 sceneRenderer(返回 false 时 fail-closed 降级 Canvas2D),不走双路径。
|
|
8
5
|
*
|
|
9
|
-
*
|
|
10
|
-
* -
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* -
|
|
15
|
-
* - `dispatchCompute` exists only because WebGPU has compute shaders;
|
|
16
|
-
* the WebGL implementation throws on call so callers can feature-detect
|
|
17
|
-
* via `caps.compute`. Volume Profile binning, M4 downsampling, footprint
|
|
18
|
-
* aggregation will use it on the WebGPU path.
|
|
19
|
-
* - `setUniforms` is intentionally schemaless on the interface — the
|
|
20
|
-
* uniform layout is owned by each shader/program. Callers pass a
|
|
21
|
-
* structured object that the backend translates into uniform writes.
|
|
6
|
+
* 设计说明:
|
|
7
|
+
* - drawInstances 是主力:一份 unit geometry 配 instance buffer 渲染 N 份。
|
|
8
|
+
* 蜡烛、成交量柱、footprint 格子、heatmap 磁贴都归约为 instanced 图元。
|
|
9
|
+
* - drawLines 画 MA-style 折线、drawing、坐标轴。
|
|
10
|
+
* - dispatchCompute 只有 WebGPU 有;WebGL 实现会抛异常,调用方先查 caps.compute。
|
|
11
|
+
* - uniform 布局由各 shader/pipeline 自行定义,接口不做 schema 约束。
|
|
22
12
|
*/
|
|
23
13
|
export {};
|
|
24
14
|
//# sourceMappingURL=Renderer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../../../src/rendering/render/Renderer.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../../../src/rendering/render/Renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createWebGPURenderer.d.ts","sourceRoot":"","sources":["../../../src/rendering/render/createWebGPURenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EASV,QAAQ,EACT,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"createWebGPURenderer.d.ts","sourceRoot":"","sources":["../../../src/rendering/render/createWebGPURenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EASV,QAAQ,EACT,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAgBnD,MAAM,MAAM,2BAA2B,GAAG;IACxC,GAAG,CAAC,EAAE,GAAG,CAAA;IACT,MAAM,CAAC,EAAE,iBAAiB,CAAA;IAC1B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAA;IAChD,yCAAyC;IACzC,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAA;CAChD,CAAA;AA2KD,wBAAsB,oBAAoB,CACxC,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC,QAAQ,CAAC,CAkenB"}
|