@363045841yyt/klinechart-core 0.9.0-alpha.2 → 0.9.0-alpha.4
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/data/timeShareBuffer.d.ts +3 -0
- package/dist/data/timeShareBuffer.d.ts.map +1 -1
- package/dist/data/timeShareBuffer.js +13 -0
- package/dist/data/timeShareBuffer.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 +87 -101
- 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 +14 -18
- package/dist/engine/data/chartDataManager.d.ts.map +1 -1
- package/dist/engine/data/chartDataManager.js +55 -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/modes/timeShareMath.d.ts +56 -0
- package/dist/engine/modes/timeShareMath.d.ts.map +1 -0
- package/dist/engine/modes/timeShareMath.js +90 -0
- package/dist/engine/modes/timeShareMath.js.map +1 -0
- package/dist/engine/modes/timeShareMode.d.ts +5 -0
- package/dist/engine/modes/timeShareMode.d.ts.map +1 -1
- package/dist/engine/modes/timeShareMode.js +27 -27
- package/dist/engine/modes/timeShareMode.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 +143 -85
- 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 +73 -0
- package/dist/engine/renderers/Indicator/mainIndicatorLegendContext.d.ts.map +1 -0
- package/dist/engine/renderers/Indicator/mainIndicatorLegendContext.js +182 -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/timeShare.d.ts.map +1 -1
- package/dist/engine/renderers/timeShare.js +20 -9
- package/dist/engine/renderers/timeShare.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/config/chartSettings.d.ts +0 -5
- package/dist/foundation/config/chartSettings.d.ts.map +1 -1
- package/dist/foundation/config/chartSettings.js +14 -0
- package/dist/foundation/config/chartSettings.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/foundation/utils/kLineDraw/axis.d.ts +3 -0
- package/dist/foundation/utils/kLineDraw/axis.d.ts.map +1 -1
- package/dist/foundation/utils/kLineDraw/axis.js +40 -9
- package/dist/foundation/utils/kLineDraw/axis.js.map +1 -1
- package/dist/foundation/utils/sessionTimeLabels.d.ts +59 -0
- package/dist/foundation/utils/sessionTimeLabels.d.ts.map +1 -0
- package/dist/foundation/utils/sessionTimeLabels.js +170 -0
- package/dist/foundation/utils/sessionTimeLabels.js.map +1 -0
- package/dist/foundation/utils/timeShareAxisLabels.d.ts +27 -0
- package/dist/foundation/utils/timeShareAxisLabels.d.ts.map +1 -0
- package/dist/foundation/utils/timeShareAxisLabels.js +45 -0
- package/dist/foundation/utils/timeShareAxisLabels.js.map +1 -0
- 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/__tests__/timeShareBuffer.test.ts +45 -0
- package/src/data/binance.ts +1 -1
- package/src/data/timeShareBuffer.ts +15 -0
- package/src/engine/__tests__/chart.dpr.test.ts +31 -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 +105 -115
- 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 +64 -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/modes/__tests__/timeShareMath.test.ts +185 -0
- package/src/engine/modes/__tests__/timeShareMode.test.ts +81 -0
- package/src/engine/modes/timeShareMath.ts +150 -0
- package/src/engine/modes/timeShareMode.ts +35 -28
- package/src/engine/paneRenderer.ts +17 -10
- package/src/engine/render/chartRenderer.ts +214 -145
- 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 +290 -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/timeShare.ts +25 -9
- package/src/engine/renderers/yAxis.ts +57 -22
- package/src/engine/state/__tests__/settingsState.test.ts +9 -0
- 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/config/chartSettings.ts +13 -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/foundation/utils/__tests__/sessionTimeLabels.test.ts +91 -0
- package/src/foundation/utils/kLineDraw/axis.ts +50 -9
- package/src/foundation/utils/sessionTimeLabels.ts +237 -0
- package/src/foundation/utils/timeShareAxisLabels.ts +94 -0
- 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"axis.js","sourceRoot":"","sources":["../../../../src/foundation/utils/kLineDraw/axis.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"axis.js","sourceRoot":"","sources":["../../../../src/foundation/utils/kLineDraw/axis.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 开盘时段:minuteOfDay 为自 0 点起的分钟数(交易所本地墙钟)。
|
|
3
|
+
* sessions[0..n-2] 左闭右开 [open, close);sessions[n-1] 左闭右闭 [open, close]。
|
|
4
|
+
* 只打印闭侧端点:半开段不展示 close。
|
|
5
|
+
*/
|
|
6
|
+
export type OpenTimeRange = {
|
|
7
|
+
open: number;
|
|
8
|
+
close: number;
|
|
9
|
+
};
|
|
10
|
+
/** 市场分时 session 配置(几何 / 标签共用) */
|
|
11
|
+
export type MarketSessionConfig = {
|
|
12
|
+
/** IANA 时区,如 Asia/Shanghai */
|
|
13
|
+
timeZone: string;
|
|
14
|
+
sessions: ReadonlyArray<OpenTimeRange>;
|
|
15
|
+
/** 每个 bar 槽对应的分钟数,默认 1 */
|
|
16
|
+
slotMinutes?: number;
|
|
17
|
+
};
|
|
18
|
+
export type SessionTimeLabel = {
|
|
19
|
+
/** 自 0 点起的分钟数(交易所墙钟) */
|
|
20
|
+
minuteOfDay: number;
|
|
21
|
+
/** 在展开后的槽序列中的索引(0-based) */
|
|
22
|
+
slotIndex: number;
|
|
23
|
+
/** 是否为闭侧端点 */
|
|
24
|
+
isEndpoint: boolean;
|
|
25
|
+
};
|
|
26
|
+
export type SessionTimeLabelOptions = {
|
|
27
|
+
axisWidth: number;
|
|
28
|
+
/** 保留字段,端点-only 模式下不参与密度计算 */
|
|
29
|
+
minLabelSpacingPx?: number;
|
|
30
|
+
};
|
|
31
|
+
/** A 股默认 */
|
|
32
|
+
export declare const ASHARE_OPEN_SESSIONS: readonly OpenTimeRange[];
|
|
33
|
+
export declare const ASHARE_MARKET_SESSION: MarketSessionConfig;
|
|
34
|
+
/** 港股 */
|
|
35
|
+
export declare const HK_MARKET_SESSION: MarketSessionConfig;
|
|
36
|
+
/** 美股(常规盘,无午休) */
|
|
37
|
+
export declare const US_MARKET_SESSION: MarketSessionConfig;
|
|
38
|
+
/**
|
|
39
|
+
* 只输出各区间闭侧端点。
|
|
40
|
+
* - 非末段 [open, close):仅 open
|
|
41
|
+
* - 末段 [open, close]:open 与 close
|
|
42
|
+
* close 标签映射到 close-1 槽(bar 序列为各段 [open, close))。
|
|
43
|
+
*/
|
|
44
|
+
export declare function computeSessionTimeLabels(sessions: ReadonlyArray<OpenTimeRange>, options: SessionTimeLabelOptions): SessionTimeLabel[];
|
|
45
|
+
/** 槽总数(各段 [open, close) 分钟数之和;未除 slotMinutes) */
|
|
46
|
+
export declare function countSessionSlots(sessions: ReadonlyArray<OpenTimeRange>): number;
|
|
47
|
+
/**
|
|
48
|
+
* 全天 bar 槽数 = 分钟总和 / slotMinutes。
|
|
49
|
+
* sessions 为 SSOT,不因 arrivedCount 放大。
|
|
50
|
+
*/
|
|
51
|
+
export declare function resolveMarketSessionSlots(config: MarketSessionConfig, _arrivedCount?: number): number;
|
|
52
|
+
/**
|
|
53
|
+
* 将交易所墙钟 minuteOfDay 转为 UTC 毫秒。
|
|
54
|
+
* baseTimestamp 用于确定「哪一天」(按 timeZone 日历日)。
|
|
55
|
+
*/
|
|
56
|
+
export declare function minuteOfDayToTimestamp(baseTimestamp: number, minuteOfDay: number, timeZone?: string): number;
|
|
57
|
+
/** 槽中心 X */
|
|
58
|
+
export declare function sessionSlotCenterX(slotIndex: number, axisWidth: number, sessionSlots: number, dpr: number): number;
|
|
59
|
+
//# sourceMappingURL=sessionTimeLabels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionTimeLabels.d.ts","sourceRoot":"","sources":["../../../src/foundation/utils/sessionTimeLabels.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,iCAAiC;AACjC,MAAM,MAAM,mBAAmB,GAAG;IAChC,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,aAAa,CAAC,aAAa,CAAC,CAAA;IACtC,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc;IACd,UAAU,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,MAAM,CAAA;IACjB,8BAA8B;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B,CAAA;AAMD,YAAY;AACZ,eAAO,MAAM,oBAAoB,EAAE,SAAS,aAAa,EAGxD,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,mBAInC,CAAA;AAED,SAAS;AACT,eAAO,MAAM,iBAAiB,EAAE,mBAO/B,CAAA;AAED,kBAAkB;AAClB,eAAO,MAAM,iBAAiB,EAAE,mBAI/B,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,aAAa,CAAC,aAAa,CAAC,EACtC,OAAO,EAAE,uBAAuB,GAC/B,gBAAgB,EAAE,CAkCpB;AAED,iDAAiD;AACjD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,aAAa,CAAC,aAAa,CAAC,GAAG,MAAM,CAMhF;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,mBAAmB,EAC3B,aAAa,CAAC,EAAE,MAAM,GACrB,MAAM,CAIR;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,MAAwB,GACjC,MAAM,CAGR;AAED,YAAY;AACZ,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,MAAM,GACV,MAAM,CAIR"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
function hm(h, m) {
|
|
2
|
+
return h * 60 + m;
|
|
3
|
+
}
|
|
4
|
+
/** A 股默认 */
|
|
5
|
+
export const ASHARE_OPEN_SESSIONS = [
|
|
6
|
+
{ open: hm(9, 30), close: hm(11, 30) },
|
|
7
|
+
{ open: hm(13, 0), close: hm(15, 0) },
|
|
8
|
+
];
|
|
9
|
+
export const ASHARE_MARKET_SESSION = {
|
|
10
|
+
timeZone: 'Asia/Shanghai',
|
|
11
|
+
sessions: ASHARE_OPEN_SESSIONS,
|
|
12
|
+
slotMinutes: 1,
|
|
13
|
+
};
|
|
14
|
+
/** 港股 */
|
|
15
|
+
export const HK_MARKET_SESSION = {
|
|
16
|
+
timeZone: 'Asia/Hong_Kong',
|
|
17
|
+
sessions: [
|
|
18
|
+
{ open: hm(9, 30), close: hm(12, 0) },
|
|
19
|
+
{ open: hm(13, 0), close: hm(16, 0) },
|
|
20
|
+
],
|
|
21
|
+
slotMinutes: 1,
|
|
22
|
+
};
|
|
23
|
+
/** 美股(常规盘,无午休) */
|
|
24
|
+
export const US_MARKET_SESSION = {
|
|
25
|
+
timeZone: 'America/New_York',
|
|
26
|
+
sessions: [{ open: hm(9, 30), close: hm(16, 0) }],
|
|
27
|
+
slotMinutes: 1,
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* 只输出各区间闭侧端点。
|
|
31
|
+
* - 非末段 [open, close):仅 open
|
|
32
|
+
* - 末段 [open, close]:open 与 close
|
|
33
|
+
* close 标签映射到 close-1 槽(bar 序列为各段 [open, close))。
|
|
34
|
+
*/
|
|
35
|
+
export function computeSessionTimeLabels(sessions, options) {
|
|
36
|
+
if (!(options.axisWidth > 0) || sessions.length === 0)
|
|
37
|
+
return [];
|
|
38
|
+
const labels = [];
|
|
39
|
+
let slotOffset = 0;
|
|
40
|
+
for (let s = 0; s < sessions.length; s++) {
|
|
41
|
+
const range = sessions[s];
|
|
42
|
+
if (!(range.close > range.open))
|
|
43
|
+
continue;
|
|
44
|
+
const slotCount = range.close - range.open;
|
|
45
|
+
const isLast = s === sessions.length - 1;
|
|
46
|
+
labels.push({
|
|
47
|
+
minuteOfDay: range.open,
|
|
48
|
+
slotIndex: slotOffset,
|
|
49
|
+
isEndpoint: true,
|
|
50
|
+
});
|
|
51
|
+
if (isLast) {
|
|
52
|
+
labels.push({
|
|
53
|
+
minuteOfDay: range.close,
|
|
54
|
+
slotIndex: slotOffset + slotCount - 1,
|
|
55
|
+
isEndpoint: true,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
slotOffset += slotCount;
|
|
59
|
+
}
|
|
60
|
+
const bySlot = new Map();
|
|
61
|
+
for (const label of labels) {
|
|
62
|
+
bySlot.set(label.slotIndex, label);
|
|
63
|
+
}
|
|
64
|
+
return [...bySlot.values()].sort((a, b) => a.slotIndex - b.slotIndex);
|
|
65
|
+
}
|
|
66
|
+
/** 槽总数(各段 [open, close) 分钟数之和;未除 slotMinutes) */
|
|
67
|
+
export function countSessionSlots(sessions) {
|
|
68
|
+
let n = 0;
|
|
69
|
+
for (const r of sessions) {
|
|
70
|
+
if (r.close > r.open)
|
|
71
|
+
n += r.close - r.open;
|
|
72
|
+
}
|
|
73
|
+
return n;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* 全天 bar 槽数 = 分钟总和 / slotMinutes。
|
|
77
|
+
* sessions 为 SSOT,不因 arrivedCount 放大。
|
|
78
|
+
*/
|
|
79
|
+
export function resolveMarketSessionSlots(config, _arrivedCount) {
|
|
80
|
+
const minutes = countSessionSlots(config.sessions);
|
|
81
|
+
const step = config.slotMinutes && config.slotMinutes > 0 ? config.slotMinutes : 1;
|
|
82
|
+
return Math.max(0, Math.floor(minutes / step));
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* 将交易所墙钟 minuteOfDay 转为 UTC 毫秒。
|
|
86
|
+
* baseTimestamp 用于确定「哪一天」(按 timeZone 日历日)。
|
|
87
|
+
*/
|
|
88
|
+
export function minuteOfDayToTimestamp(baseTimestamp, minuteOfDay, timeZone = 'Asia/Shanghai') {
|
|
89
|
+
const { year, month, day } = getCalendarPartsInTimeZone(baseTimestamp, timeZone);
|
|
90
|
+
return zonedWallTimeToUtc(year, month, day, minuteOfDay, timeZone);
|
|
91
|
+
}
|
|
92
|
+
/** 槽中心 X */
|
|
93
|
+
export function sessionSlotCenterX(slotIndex, axisWidth, sessionSlots, dpr) {
|
|
94
|
+
if (!(axisWidth > 0) || !(sessionSlots > 0))
|
|
95
|
+
return 0;
|
|
96
|
+
const step = axisWidth / sessionSlots;
|
|
97
|
+
return Math.round((slotIndex + 0.5) * step * dpr) / dpr;
|
|
98
|
+
}
|
|
99
|
+
// ── 时区工具(无第三方依赖,Intl) ──
|
|
100
|
+
function getCalendarPartsInTimeZone(timestamp, timeZone) {
|
|
101
|
+
const parts = new Intl.DateTimeFormat('en-US', {
|
|
102
|
+
timeZone,
|
|
103
|
+
year: 'numeric',
|
|
104
|
+
month: '2-digit',
|
|
105
|
+
day: '2-digit',
|
|
106
|
+
}).formatToParts(new Date(timestamp));
|
|
107
|
+
let year = 0;
|
|
108
|
+
let month = 1;
|
|
109
|
+
let day = 1;
|
|
110
|
+
for (const p of parts) {
|
|
111
|
+
if (p.type === 'year')
|
|
112
|
+
year = Number(p.value);
|
|
113
|
+
else if (p.type === 'month')
|
|
114
|
+
month = Number(p.value);
|
|
115
|
+
else if (p.type === 'day')
|
|
116
|
+
day = Number(p.value);
|
|
117
|
+
}
|
|
118
|
+
return { year, month, day };
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* 将某时区墙钟 (y-m-d + minuteOfDay) 转为 UTC epoch。
|
|
122
|
+
* 用迭代修正 UTC 猜测,覆盖 DST。
|
|
123
|
+
*/
|
|
124
|
+
function zonedWallTimeToUtc(year, month, day, minuteOfDay, timeZone) {
|
|
125
|
+
const hour = Math.floor(minuteOfDay / 60);
|
|
126
|
+
const minute = minuteOfDay % 60;
|
|
127
|
+
// 初值:当作 UTC 墙钟
|
|
128
|
+
let utc = Date.UTC(year, month - 1, day, hour, minute, 0, 0);
|
|
129
|
+
for (let i = 0; i < 4; i++) {
|
|
130
|
+
const wall = getWallClockInTimeZone(utc, timeZone);
|
|
131
|
+
const desiredMin = hour * 60 + minute;
|
|
132
|
+
const actualMin = wall.hour * 60 + wall.minute;
|
|
133
|
+
const dayDelta = Date.UTC(year, month - 1, day) - Date.UTC(wall.year, wall.month - 1, wall.day);
|
|
134
|
+
const minDelta = desiredMin - actualMin + dayDelta / 60_000;
|
|
135
|
+
if (minDelta === 0)
|
|
136
|
+
break;
|
|
137
|
+
utc += minDelta * 60_000;
|
|
138
|
+
}
|
|
139
|
+
return utc;
|
|
140
|
+
}
|
|
141
|
+
function getWallClockInTimeZone(timestamp, timeZone) {
|
|
142
|
+
const parts = new Intl.DateTimeFormat('en-US', {
|
|
143
|
+
timeZone,
|
|
144
|
+
year: 'numeric',
|
|
145
|
+
month: '2-digit',
|
|
146
|
+
day: '2-digit',
|
|
147
|
+
hour: '2-digit',
|
|
148
|
+
minute: '2-digit',
|
|
149
|
+
hourCycle: 'h23',
|
|
150
|
+
}).formatToParts(new Date(timestamp));
|
|
151
|
+
let year = 0;
|
|
152
|
+
let month = 1;
|
|
153
|
+
let day = 1;
|
|
154
|
+
let hour = 0;
|
|
155
|
+
let minute = 0;
|
|
156
|
+
for (const p of parts) {
|
|
157
|
+
if (p.type === 'year')
|
|
158
|
+
year = Number(p.value);
|
|
159
|
+
else if (p.type === 'month')
|
|
160
|
+
month = Number(p.value);
|
|
161
|
+
else if (p.type === 'day')
|
|
162
|
+
day = Number(p.value);
|
|
163
|
+
else if (p.type === 'hour')
|
|
164
|
+
hour = Number(p.value);
|
|
165
|
+
else if (p.type === 'minute')
|
|
166
|
+
minute = Number(p.value);
|
|
167
|
+
}
|
|
168
|
+
return { year, month, day, hour, minute };
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=sessionTimeLabels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionTimeLabels.js","sourceRoot":"","sources":["../../../src/foundation/utils/sessionTimeLabels.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ASHARE_MARKET_SESSION, ASHARE_OPEN_SESSIONS, computeSessionTimeLabels, countSessionSlots, minuteOfDayToTimestamp, resolveMarketSessionSlots, sessionSlotCenterX, type MarketSessionConfig, type SessionTimeLabel } from './sessionTimeLabels';
|
|
2
|
+
/** A 股默认全天 1 分钟槽位数(兼容旧导出) */
|
|
3
|
+
export declare const ASHARE_TIMESHARE_SESSION_SLOTS: number;
|
|
4
|
+
/** 分时时间标签最小水平间距(逻辑像素) */
|
|
5
|
+
export declare const TIMESHARE_MIN_LABEL_SPACING_PX = 56;
|
|
6
|
+
export type TimeShareTimeLabelInput = {
|
|
7
|
+
axisWidth: number;
|
|
8
|
+
/** 市场 session;默认 A 股 */
|
|
9
|
+
marketSession?: MarketSessionConfig;
|
|
10
|
+
minLabelSpacingPx?: number;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* 分时时间标签索引(委托 computeSessionTimeLabels)。
|
|
14
|
+
* 默认 A 股;传入 marketSession 可换港股/美股等。
|
|
15
|
+
*/
|
|
16
|
+
export declare function computeTimeShareTimeLabelIndices(input: TimeShareTimeLabelInput): number[];
|
|
17
|
+
/** 完整标签(含 minuteOfDay / isEndpoint) */
|
|
18
|
+
export declare function computeTimeShareTimeLabels(input: TimeShareTimeLabelInput): SessionTimeLabel[];
|
|
19
|
+
export declare function timeShareSlotCenterX(slotIndex: number, axisWidth: number, sessionSlots: number, dpr: number): number;
|
|
20
|
+
/**
|
|
21
|
+
* 由开盘日基准时间戳 + slot 索引推算标签时间(按 market session)。
|
|
22
|
+
*/
|
|
23
|
+
export declare function resolveTimeShareSlotTimestamp(baseTimestamp: number, slotIndex: number, marketSession?: MarketSessionConfig): number;
|
|
24
|
+
export { ASHARE_MARKET_SESSION, ASHARE_OPEN_SESSIONS, computeSessionTimeLabels, countSessionSlots, minuteOfDayToTimestamp, resolveMarketSessionSlots, sessionSlotCenterX, };
|
|
25
|
+
export type { MarketSessionConfig, OpenTimeRange, SessionTimeLabel, } from './sessionTimeLabels';
|
|
26
|
+
export { HK_MARKET_SESSION, US_MARKET_SESSION } from './sessionTimeLabels';
|
|
27
|
+
//# sourceMappingURL=timeShareAxisLabels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeShareAxisLabels.d.ts","sourceRoot":"","sources":["../../../src/foundation/utils/timeShareAxisLabels.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,EACjB,sBAAsB,EACtB,yBAAyB,EACzB,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACtB,MAAM,qBAAqB,CAAA;AAE5B,6BAA6B;AAC7B,eAAO,MAAM,8BAA8B,QAAmD,CAAA;AAE9F,yBAAyB;AACzB,eAAO,MAAM,8BAA8B,KAAK,CAAA;AAEhD,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,MAAM,CAAA;IACjB,wBAAwB;IACxB,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,EAAE,CAEzF;AAED,uCAAuC;AACvC,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,uBAAuB,GAAG,gBAAgB,EAAE,CAM7F;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,MAAM,GACV,MAAM,CAER;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,aAAa,GAAE,mBAA2C,GACzD,MAAM,CAmBR;AAED,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,EACjB,sBAAsB,EACtB,yBAAyB,EACzB,kBAAkB,GACnB,CAAA;AACD,YAAY,EACV,mBAAmB,EACnB,aAAa,EACb,gBAAgB,GACjB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { ASHARE_MARKET_SESSION, ASHARE_OPEN_SESSIONS, computeSessionTimeLabels, countSessionSlots, minuteOfDayToTimestamp, resolveMarketSessionSlots, sessionSlotCenterX, } from './sessionTimeLabels';
|
|
2
|
+
/** A 股默认全天 1 分钟槽位数(兼容旧导出) */
|
|
3
|
+
export const ASHARE_TIMESHARE_SESSION_SLOTS = resolveMarketSessionSlots(ASHARE_MARKET_SESSION);
|
|
4
|
+
/** 分时时间标签最小水平间距(逻辑像素) */
|
|
5
|
+
export const TIMESHARE_MIN_LABEL_SPACING_PX = 56;
|
|
6
|
+
/**
|
|
7
|
+
* 分时时间标签索引(委托 computeSessionTimeLabels)。
|
|
8
|
+
* 默认 A 股;传入 marketSession 可换港股/美股等。
|
|
9
|
+
*/
|
|
10
|
+
export function computeTimeShareTimeLabelIndices(input) {
|
|
11
|
+
return computeTimeShareTimeLabels(input).map((l) => l.slotIndex);
|
|
12
|
+
}
|
|
13
|
+
/** 完整标签(含 minuteOfDay / isEndpoint) */
|
|
14
|
+
export function computeTimeShareTimeLabels(input) {
|
|
15
|
+
const market = input.marketSession ?? ASHARE_MARKET_SESSION;
|
|
16
|
+
return computeSessionTimeLabels(market.sessions, {
|
|
17
|
+
axisWidth: input.axisWidth,
|
|
18
|
+
minLabelSpacingPx: input.minLabelSpacingPx ?? TIMESHARE_MIN_LABEL_SPACING_PX,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
export function timeShareSlotCenterX(slotIndex, axisWidth, sessionSlots, dpr) {
|
|
22
|
+
return sessionSlotCenterX(slotIndex, axisWidth, sessionSlots, dpr);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* 由开盘日基准时间戳 + slot 索引推算标签时间(按 market session)。
|
|
26
|
+
*/
|
|
27
|
+
export function resolveTimeShareSlotTimestamp(baseTimestamp, slotIndex, marketSession = ASHARE_MARKET_SESSION) {
|
|
28
|
+
const step = marketSession.slotMinutes && marketSession.slotMinutes > 0 ? marketSession.slotMinutes : 1;
|
|
29
|
+
let remaining = slotIndex * step;
|
|
30
|
+
for (const range of marketSession.sessions) {
|
|
31
|
+
const len = range.close - range.open;
|
|
32
|
+
if (remaining < len) {
|
|
33
|
+
return minuteOfDayToTimestamp(baseTimestamp, range.open + remaining, marketSession.timeZone);
|
|
34
|
+
}
|
|
35
|
+
remaining -= len;
|
|
36
|
+
}
|
|
37
|
+
const last = marketSession.sessions[marketSession.sessions.length - 1];
|
|
38
|
+
if (last) {
|
|
39
|
+
return minuteOfDayToTimestamp(baseTimestamp, last.close, marketSession.timeZone);
|
|
40
|
+
}
|
|
41
|
+
return baseTimestamp;
|
|
42
|
+
}
|
|
43
|
+
export { ASHARE_MARKET_SESSION, ASHARE_OPEN_SESSIONS, computeSessionTimeLabels, countSessionSlots, minuteOfDayToTimestamp, resolveMarketSessionSlots, sessionSlotCenterX, };
|
|
44
|
+
export { HK_MARKET_SESSION, US_MARKET_SESSION } from './sessionTimeLabels';
|
|
45
|
+
//# sourceMappingURL=timeShareAxisLabels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeShareAxisLabels.js","sourceRoot":"","sources":["../../../src/foundation/utils/timeShareAxisLabels.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,EACjB,sBAAsB,EACtB,yBAAyB,EACzB,kBAAkB,GAGnB,MAAM,qBAAqB,CAAA;AAE5B,6BAA6B;AAC7B,MAAM,CAAC,MAAM,8BAA8B,GAAG,yBAAyB,CAAC,qBAAqB,CAAC,CAAA;AAE9F,yBAAyB;AACzB,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAA;AAShD;;;GAGG;AACH,MAAM,UAAU,gCAAgC,CAAC,KAA8B;IAC7E,OAAO,0BAA0B,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;AAClE,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,0BAA0B,CAAC,KAA8B;IACvE,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,IAAI,qBAAqB,CAAA;IAC3D,OAAO,wBAAwB,CAAC,MAAM,CAAC,QAAQ,EAAE;QAC/C,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,IAAI,8BAA8B;KAC7E,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,SAAiB,EACjB,SAAiB,EACjB,YAAoB,EACpB,GAAW;IAEX,OAAO,kBAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,CAAC,CAAA;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAC3C,aAAqB,EACrB,SAAiB,EACjB,gBAAqC,qBAAqB;IAE1D,MAAM,IAAI,GAAG,aAAa,CAAC,WAAW,IAAI,aAAa,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;IACvG,IAAI,SAAS,GAAG,SAAS,GAAG,IAAI,CAAA;IAChC,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAA;QACpC,IAAI,SAAS,GAAG,GAAG,EAAE,CAAC;YACpB,OAAO,sBAAsB,CAC3B,aAAa,EACb,KAAK,CAAC,IAAI,GAAG,SAAS,EACtB,aAAa,CAAC,QAAQ,CACvB,CAAA;QACH,CAAC;QACD,SAAS,IAAI,GAAG,CAAA;IAClB,CAAC;IACD,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACtE,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,sBAAsB,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;IAClF,CAAC;IACD,OAAO,aAAa,CAAA;AACtB,CAAC;AAED,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,EACjB,sBAAsB,EACtB,yBAAyB,EACzB,kBAAkB,GACnB,CAAA;AAMD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA"}
|
|
@@ -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"}
|