@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.
Files changed (234) hide show
  1. package/dist/controllers/createChartController.d.ts.map +1 -1
  2. package/dist/controllers/createChartController.js +9 -8
  3. package/dist/controllers/createChartController.js.map +1 -1
  4. package/dist/controllers/index.d.ts +1 -0
  5. package/dist/controllers/index.d.ts.map +1 -1
  6. package/dist/controllers/index.js.map +1 -1
  7. package/dist/controllers/types.d.ts +5 -0
  8. package/dist/controllers/types.d.ts.map +1 -1
  9. package/dist/data/binance.d.ts +1 -1
  10. package/dist/data/binance.d.ts.map +1 -1
  11. package/dist/data/binance.js +1 -1
  12. package/dist/data/binance.js.map +1 -1
  13. package/dist/data/timeShareBuffer.d.ts +3 -0
  14. package/dist/data/timeShareBuffer.d.ts.map +1 -1
  15. package/dist/data/timeShareBuffer.js +13 -0
  16. package/dist/data/timeShareBuffer.js.map +1 -1
  17. package/dist/engine/chart.d.ts +9 -9
  18. package/dist/engine/chart.d.ts.map +1 -1
  19. package/dist/engine/chart.js +87 -101
  20. package/dist/engine/chart.js.map +1 -1
  21. package/dist/engine/chartTypes.d.ts +5 -0
  22. package/dist/engine/chartTypes.d.ts.map +1 -1
  23. package/dist/engine/controller/interaction.d.ts +4 -2
  24. package/dist/engine/controller/interaction.d.ts.map +1 -1
  25. package/dist/engine/controller/interaction.js +18 -10
  26. package/dist/engine/controller/interaction.js.map +1 -1
  27. package/dist/engine/data/chartDataManager.d.ts +14 -18
  28. package/dist/engine/data/chartDataManager.d.ts.map +1 -1
  29. package/dist/engine/data/chartDataManager.js +55 -37
  30. package/dist/engine/data/chartDataManager.js.map +1 -1
  31. package/dist/engine/data/incrementalLoadHint.d.ts +2 -4
  32. package/dist/engine/data/incrementalLoadHint.d.ts.map +1 -1
  33. package/dist/engine/data/incrementalLoadHint.js +5 -2
  34. package/dist/engine/data/incrementalLoadHint.js.map +1 -1
  35. package/dist/engine/data/scrollCompensator.d.ts +3 -13
  36. package/dist/engine/data/scrollCompensator.d.ts.map +1 -1
  37. package/dist/engine/data/scrollCompensator.js +13 -14
  38. package/dist/engine/data/scrollCompensator.js.map +1 -1
  39. package/dist/engine/indicators/chartIndicatorManager.d.ts +16 -17
  40. package/dist/engine/indicators/chartIndicatorManager.d.ts.map +1 -1
  41. package/dist/engine/indicators/chartIndicatorManager.js +37 -37
  42. package/dist/engine/indicators/chartIndicatorManager.js.map +1 -1
  43. package/dist/engine/layout/chartPaneLayout.d.ts +11 -7
  44. package/dist/engine/layout/chartPaneLayout.d.ts.map +1 -1
  45. package/dist/engine/layout/chartPaneLayout.js +58 -16
  46. package/dist/engine/layout/chartPaneLayout.js.map +1 -1
  47. package/dist/engine/modes/timeShareMath.d.ts +56 -0
  48. package/dist/engine/modes/timeShareMath.d.ts.map +1 -0
  49. package/dist/engine/modes/timeShareMath.js +90 -0
  50. package/dist/engine/modes/timeShareMath.js.map +1 -0
  51. package/dist/engine/modes/timeShareMode.d.ts +5 -0
  52. package/dist/engine/modes/timeShareMode.d.ts.map +1 -1
  53. package/dist/engine/modes/timeShareMode.js +27 -27
  54. package/dist/engine/modes/timeShareMode.js.map +1 -1
  55. package/dist/engine/paneRenderer.d.ts +2 -0
  56. package/dist/engine/paneRenderer.d.ts.map +1 -1
  57. package/dist/engine/paneRenderer.js +15 -5
  58. package/dist/engine/paneRenderer.js.map +1 -1
  59. package/dist/engine/render/chartRenderer.d.ts +28 -22
  60. package/dist/engine/render/chartRenderer.d.ts.map +1 -1
  61. package/dist/engine/render/chartRenderer.js +143 -85
  62. package/dist/engine/render/chartRenderer.js.map +1 -1
  63. package/dist/engine/render/layers/leftYAxisLayer.d.ts +9 -2
  64. package/dist/engine/render/layers/leftYAxisLayer.d.ts.map +1 -1
  65. package/dist/engine/render/layers/leftYAxisLayer.js +11 -2
  66. package/dist/engine/render/layers/leftYAxisLayer.js.map +1 -1
  67. package/dist/engine/render/layers/mainIndicatorLegendLayer.d.ts +6 -4
  68. package/dist/engine/render/layers/mainIndicatorLegendLayer.d.ts.map +1 -1
  69. package/dist/engine/render/layers/mainIndicatorLegendLayer.js +6 -9
  70. package/dist/engine/render/layers/mainIndicatorLegendLayer.js.map +1 -1
  71. package/dist/engine/render/layers/mainIndicatorLegendLayer.test.d.ts +2 -0
  72. package/dist/engine/render/layers/mainIndicatorLegendLayer.test.d.ts.map +1 -0
  73. package/dist/engine/render/layers/mainIndicatorLegendLayer.test.js +19 -0
  74. package/dist/engine/render/layers/mainIndicatorLegendLayer.test.js.map +1 -0
  75. package/dist/engine/render/layers/yAxisLayer.d.ts +9 -2
  76. package/dist/engine/render/layers/yAxisLayer.d.ts.map +1 -1
  77. package/dist/engine/render/layers/yAxisLayer.js +11 -2
  78. package/dist/engine/render/layers/yAxisLayer.js.map +1 -1
  79. package/dist/engine/renderers/Indicator/mainIndicatorLegend.d.ts +7 -3
  80. package/dist/engine/renderers/Indicator/mainIndicatorLegend.d.ts.map +1 -1
  81. package/dist/engine/renderers/Indicator/mainIndicatorLegend.js +234 -330
  82. package/dist/engine/renderers/Indicator/mainIndicatorLegend.js.map +1 -1
  83. package/dist/engine/renderers/Indicator/mainIndicatorLegendContext.d.ts +73 -0
  84. package/dist/engine/renderers/Indicator/mainIndicatorLegendContext.d.ts.map +1 -0
  85. package/dist/engine/renderers/Indicator/mainIndicatorLegendContext.js +182 -0
  86. package/dist/engine/renderers/Indicator/mainIndicatorLegendContext.js.map +1 -0
  87. package/dist/engine/renderers/leftYAxis.d.ts +15 -2
  88. package/dist/engine/renderers/leftYAxis.d.ts.map +1 -1
  89. package/dist/engine/renderers/leftYAxis.js +56 -16
  90. package/dist/engine/renderers/leftYAxis.js.map +1 -1
  91. package/dist/engine/renderers/timeShare.d.ts.map +1 -1
  92. package/dist/engine/renderers/timeShare.js +20 -9
  93. package/dist/engine/renderers/timeShare.js.map +1 -1
  94. package/dist/engine/renderers/yAxis.d.ts +16 -6
  95. package/dist/engine/renderers/yAxis.d.ts.map +1 -1
  96. package/dist/engine/renderers/yAxis.js +49 -16
  97. package/dist/engine/renderers/yAxis.js.map +1 -1
  98. package/dist/engine/state/viewportState.d.ts +4 -1
  99. package/dist/engine/state/viewportState.d.ts.map +1 -1
  100. package/dist/engine/state/viewportState.js +40 -8
  101. package/dist/engine/state/viewportState.js.map +1 -1
  102. package/dist/engine/subPaneManager.d.ts +5 -3
  103. package/dist/engine/subPaneManager.d.ts.map +1 -1
  104. package/dist/engine/subPaneManager.js +3 -2
  105. package/dist/engine/subPaneManager.js.map +1 -1
  106. package/dist/engine/utils/chartZoomController.d.ts +9 -7
  107. package/dist/engine/utils/chartZoomController.d.ts.map +1 -1
  108. package/dist/engine/utils/chartZoomController.js +13 -12
  109. package/dist/engine/utils/chartZoomController.js.map +1 -1
  110. package/dist/engine/viewport/chartViewportManager.d.ts +5 -16
  111. package/dist/engine/viewport/chartViewportManager.d.ts.map +1 -1
  112. package/dist/engine/viewport/chartViewportManager.js +7 -48
  113. package/dist/engine/viewport/chartViewportManager.js.map +1 -1
  114. package/dist/engine/viewport/viewport.d.ts +14 -0
  115. package/dist/engine/viewport/viewport.d.ts.map +1 -1
  116. package/dist/engine/viewport/viewport.js +10 -0
  117. package/dist/engine/viewport/viewport.js.map +1 -1
  118. package/dist/foundation/config/chartSettings.d.ts +0 -5
  119. package/dist/foundation/config/chartSettings.d.ts.map +1 -1
  120. package/dist/foundation/config/chartSettings.js +14 -0
  121. package/dist/foundation/config/chartSettings.js.map +1 -1
  122. package/dist/foundation/plugin/rendererPluginManager.test.js +15 -0
  123. package/dist/foundation/plugin/rendererPluginManager.test.js.map +1 -1
  124. package/dist/foundation/plugin/types.d.ts +3 -0
  125. package/dist/foundation/plugin/types.d.ts.map +1 -1
  126. package/dist/foundation/plugin/types.js.map +1 -1
  127. package/dist/foundation/reactivity/frameTransaction.d.ts +11 -0
  128. package/dist/foundation/reactivity/frameTransaction.d.ts.map +1 -1
  129. package/dist/foundation/reactivity/frameTransaction.js +17 -2
  130. package/dist/foundation/reactivity/frameTransaction.js.map +1 -1
  131. package/dist/foundation/utils/kLineDraw/axis.d.ts +3 -0
  132. package/dist/foundation/utils/kLineDraw/axis.d.ts.map +1 -1
  133. package/dist/foundation/utils/kLineDraw/axis.js +40 -9
  134. package/dist/foundation/utils/kLineDraw/axis.js.map +1 -1
  135. package/dist/foundation/utils/sessionTimeLabels.d.ts +59 -0
  136. package/dist/foundation/utils/sessionTimeLabels.d.ts.map +1 -0
  137. package/dist/foundation/utils/sessionTimeLabels.js +170 -0
  138. package/dist/foundation/utils/sessionTimeLabels.js.map +1 -0
  139. package/dist/foundation/utils/timeShareAxisLabels.d.ts +27 -0
  140. package/dist/foundation/utils/timeShareAxisLabels.d.ts.map +1 -0
  141. package/dist/foundation/utils/timeShareAxisLabels.js +45 -0
  142. package/dist/foundation/utils/timeShareAxisLabels.js.map +1 -0
  143. package/dist/rendering/render/Renderer.d.ts +58 -74
  144. package/dist/rendering/render/Renderer.d.ts.map +1 -1
  145. package/dist/rendering/render/Renderer.js +8 -18
  146. package/dist/rendering/render/Renderer.js.map +1 -1
  147. package/dist/rendering/render/createWebGPURenderer.d.ts.map +1 -1
  148. package/dist/rendering/render/createWebGPURenderer.js +30 -17
  149. package/dist/rendering/render/createWebGPURenderer.js.map +1 -1
  150. package/dist/rendering/render/createWebGPUSurfaceBackend.js +3 -3
  151. package/dist/rendering/render/createWebGPUSurfaceBackend.js.map +1 -1
  152. package/dist/rendering/render/physicalLine.d.ts +4 -0
  153. package/dist/rendering/render/physicalLine.d.ts.map +1 -0
  154. package/dist/rendering/render/physicalLine.js +37 -0
  155. package/dist/rendering/render/physicalLine.js.map +1 -0
  156. package/dist/rendering/render/physicalRegion.d.ts +14 -0
  157. package/dist/rendering/render/physicalRegion.d.ts.map +1 -0
  158. package/dist/rendering/render/physicalRegion.js +15 -0
  159. package/dist/rendering/render/physicalRegion.js.map +1 -0
  160. package/dist/rendering/scene/createLayerFromPlugin.d.ts.map +1 -1
  161. package/dist/rendering/scene/createLayerFromPlugin.js +8 -3
  162. package/dist/rendering/scene/createLayerFromPlugin.js.map +1 -1
  163. package/dist/rendering/scene/createScene.d.ts.map +1 -1
  164. package/dist/rendering/scene/createScene.js +4 -3
  165. package/dist/rendering/scene/createScene.js.map +1 -1
  166. package/dist/version.d.ts +1 -1
  167. package/dist/version.js +1 -1
  168. package/package.json +1 -1
  169. package/src/__tests__/stateKernel.test.ts +1 -0
  170. package/src/controllers/createChartController.ts +9 -8
  171. package/src/controllers/index.ts +11 -0
  172. package/src/controllers/types.ts +7 -0
  173. package/src/data/__tests__/timeShareBuffer.test.ts +45 -0
  174. package/src/data/binance.ts +1 -1
  175. package/src/data/timeShareBuffer.ts +15 -0
  176. package/src/engine/__tests__/chart.dpr.test.ts +31 -2
  177. package/src/engine/__tests__/paneRenderer.resize.test.ts +52 -54
  178. package/src/engine/__tests__/subPaneManager.test.ts +5 -3
  179. package/src/engine/chart.ts +105 -115
  180. package/src/engine/chartTypes.ts +5 -0
  181. package/src/engine/controller/__tests__/interaction.dpr.test.ts +39 -2
  182. package/src/engine/controller/interaction.ts +18 -10
  183. package/src/engine/data/__tests__/chartDataManager.incrementalLoad.test.ts +37 -17
  184. package/src/engine/data/__tests__/scrollCompensator.geometry.test.ts +87 -75
  185. package/src/engine/data/chartDataManager.ts +64 -59
  186. package/src/engine/data/incrementalLoadHint.ts +8 -7
  187. package/src/engine/data/scrollCompensator.ts +16 -24
  188. package/src/engine/indicators/__tests__/chartIndicatorManager.test.ts +18 -26
  189. package/src/engine/indicators/chartIndicatorManager.ts +62 -62
  190. package/src/engine/layout/chartPaneLayout.ts +73 -21
  191. package/src/engine/modes/__tests__/timeShareMath.test.ts +185 -0
  192. package/src/engine/modes/__tests__/timeShareMode.test.ts +81 -0
  193. package/src/engine/modes/timeShareMath.ts +150 -0
  194. package/src/engine/modes/timeShareMode.ts +35 -28
  195. package/src/engine/paneRenderer.ts +17 -10
  196. package/src/engine/render/chartRenderer.ts +214 -145
  197. package/src/engine/render/layers/leftYAxisLayer.ts +29 -7
  198. package/src/engine/render/layers/mainIndicatorLegendLayer.test.ts +26 -0
  199. package/src/engine/render/layers/mainIndicatorLegendLayer.ts +13 -10
  200. package/src/engine/render/layers/yAxisLayer.ts +29 -7
  201. package/src/engine/renderers/Indicator/mainIndicatorLegend.ts +270 -403
  202. package/src/engine/renderers/Indicator/mainIndicatorLegendContext.ts +290 -0
  203. package/src/engine/renderers/__tests__/mainIndicatorLegend.renderer.test.ts +73 -2
  204. package/src/engine/renderers/__tests__/yAxis.renderer.test.ts +10 -6
  205. package/src/engine/renderers/leftYAxis.ts +60 -18
  206. package/src/engine/renderers/timeShare.ts +25 -9
  207. package/src/engine/renderers/yAxis.ts +57 -22
  208. package/src/engine/state/__tests__/settingsState.test.ts +9 -0
  209. package/src/engine/state/viewportState.ts +44 -8
  210. package/src/engine/subPaneManager.ts +8 -5
  211. package/src/engine/utils/chartZoomController.ts +22 -19
  212. package/src/engine/viewport/__tests__/visibleRange.clamp.test.ts +50 -0
  213. package/src/engine/viewport/chartViewportManager.ts +9 -60
  214. package/src/engine/viewport/viewport.ts +14 -0
  215. package/src/foundation/config/chartSettings.ts +13 -0
  216. package/src/foundation/plugin/rendererPluginManager.test.ts +18 -0
  217. package/src/foundation/plugin/types.ts +3 -0
  218. package/src/foundation/reactivity/frameTransaction.ts +20 -6
  219. package/src/foundation/utils/__tests__/sessionTimeLabels.test.ts +91 -0
  220. package/src/foundation/utils/kLineDraw/axis.ts +50 -9
  221. package/src/foundation/utils/sessionTimeLabels.ts +237 -0
  222. package/src/foundation/utils/timeShareAxisLabels.ts +94 -0
  223. package/src/rendering/render/Renderer.ts +69 -85
  224. package/src/rendering/render/__tests__/physicalLine.test.ts +51 -0
  225. package/src/rendering/render/__tests__/physicalRegion.test.ts +23 -0
  226. package/src/rendering/render/__tests__/webgpuRenderer.test.ts +31 -1
  227. package/src/rendering/render/__tests__/webgpuSurfaceBackend.test.ts +11 -0
  228. package/src/rendering/render/createWebGPURenderer.ts +30 -17
  229. package/src/rendering/render/createWebGPUSurfaceBackend.ts +3 -3
  230. package/src/rendering/render/physicalLine.ts +45 -0
  231. package/src/rendering/render/physicalRegion.ts +32 -0
  232. package/src/rendering/scene/createLayerFromPlugin.ts +8 -3
  233. package/src/rendering/scene/createScene.ts +4 -3
  234. package/src/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"mainIndicatorLegend.js","sourceRoot":"","sources":["../../../../src/engine/renderers/Indicator/mainIndicatorLegend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mainIndicatorLegend.js","sourceRoot":"","sources":["../../../../src/engine/renderers/Indicator/mainIndicatorLegend.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ import type { PluginHost, RenderContext } from '../../../foundation/plugin/index';
2
+ import type { KLineData, TimeShareData } from '../../../foundation/types/price';
3
+ import type { TitleValueItem } from '../../indicators/indicatorMetadata';
4
+ /** 图例渲染模式:canvas 默认绘制;external 仅发布上下文,不画 Canvas 文字 */
5
+ export type LegendRenderMode = 'canvas' | 'external';
6
+ export interface LegendLayout {
7
+ x: number;
8
+ y: number;
9
+ lineHeight: number;
10
+ gap: number;
11
+ paneWidth: number;
12
+ compact: boolean;
13
+ }
14
+ /** 当前 K 线及图例派生的展示字段,保留 KLineData 自定义属性。 */
15
+ export type LegendCurrentBar = Omit<KLineData, 'volume'> & {
16
+ volume: number | null;
17
+ volumeText: string | null;
18
+ color: string;
19
+ };
20
+ export interface LegendTimeshareRow {
21
+ price: number;
22
+ average: number;
23
+ changeAmount: number;
24
+ changePercent: number;
25
+ volume: number;
26
+ volumeText: string;
27
+ amount: number;
28
+ amountText: string;
29
+ changeColor: string;
30
+ }
31
+ export interface LegendIndicatorRow {
32
+ name: string;
33
+ params?: number[];
34
+ values?: TitleValueItem[];
35
+ }
36
+ export interface LegendComparisonRow {
37
+ symbol: string;
38
+ percent: number;
39
+ color: string;
40
+ percentColor: string;
41
+ }
42
+ /**
43
+ * 主图左上角图例完整上下文。
44
+ * Canvas 绘制与 Vue legend slot 共用同一份数据。
45
+ */
46
+ export interface LegendTemplateContext {
47
+ period: string;
48
+ index: number;
49
+ hasCrosshair: boolean;
50
+ layout: LegendLayout;
51
+ colors: {
52
+ textPrimary: string;
53
+ textTertiary: string;
54
+ up: string;
55
+ down: string;
56
+ };
57
+ /** 十字线指向的当前 K 线展示行(含 volumeText / color 与自定义字段) */
58
+ currentBar: LegendCurrentBar | null;
59
+ timeshare: LegendTimeshareRow | null;
60
+ indicators: ReadonlyArray<LegendIndicatorRow>;
61
+ comparisons: ReadonlyArray<LegendComparisonRow>;
62
+ /** 当前索引处的原始 K 线(分时模式下可能无 close) */
63
+ bar: KLineData | TimeShareData | null;
64
+ }
65
+ export interface BuildLegendTemplateContextInput {
66
+ context: RenderContext;
67
+ host: PluginHost | null;
68
+ yPaddingPx: number;
69
+ }
70
+ export declare function formatVolumeShort(v: number): string;
71
+ export declare function formatAmountShort(v: number): string;
72
+ export declare function buildLegendTemplateContext(input: BuildLegendTemplateContextInput): LegendTemplateContext | null;
73
+ //# sourceMappingURL=mainIndicatorLegendContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mainIndicatorLegendContext.d.ts","sourceRoot":"","sources":["../../../../src/engine/renderers/Indicator/mainIndicatorLegendContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAA;AAEjF,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAC/E,OAAO,KAAK,EAAa,cAAc,EAAE,MAAM,oCAAoC,CAAA;AAGnF,sDAAsD;AACtD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,UAAU,CAAA;AAEpD,MAAM,WAAW,YAAY;IAC3B,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,UAAU,EAAE,MAAM,CAAA;IAClB,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,2CAA2C;AAC3C,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG;IACzD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAErB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,MAAM,CAAC,EAAE,cAAc,EAAE,CAAA;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,OAAO,CAAA;IACrB,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE;QACN,WAAW,EAAE,MAAM,CAAA;QACnB,YAAY,EAAE,MAAM,CAAA;QACpB,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IACD,mDAAmD;IACnD,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAA;IACnC,SAAS,EAAE,kBAAkB,GAAG,IAAI,CAAA;IACpC,UAAU,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAA;IAC7C,WAAW,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAA;IAC/C,mCAAmC;IACnC,GAAG,EAAE,SAAS,GAAG,aAAa,GAAG,IAAI,CAAA;CACtC;AAED,MAAM,WAAW,+BAA+B;IAC9C,OAAO,EAAE,aAAa,CAAA;IACtB,IAAI,EAAE,UAAU,GAAG,IAAI,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAInD;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAInD;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,+BAA+B,GACrC,qBAAqB,GAAG,IAAI,CA0F9B"}
@@ -0,0 +1,182 @@
1
+ import { resolveThemeColors } from '../../../foundation/tokens/index';
2
+ export function formatVolumeShort(v) {
3
+ if (v >= 1e8)
4
+ return (v / 1e8).toFixed(2) + '亿';
5
+ if (v >= 1e4)
6
+ return (v / 1e4).toFixed(2) + '万';
7
+ return v.toFixed(2);
8
+ }
9
+ export function formatAmountShort(v) {
10
+ if (v >= 1e8)
11
+ return (v / 1e8).toFixed(2) + '亿';
12
+ if (v >= 1e4)
13
+ return (v / 1e4).toFixed(2) + '万';
14
+ return v.toFixed(2);
15
+ }
16
+ export function buildLegendTemplateContext(input) {
17
+ const { context, host, yPaddingPx } = input;
18
+ const klineData = context.data;
19
+ if (!klineData.length)
20
+ return null;
21
+ const colors = resolveThemeColors(context.theme, context.isAsiaMarket, context.colorPresetSettings);
22
+ const fontSize = 12;
23
+ const lineHeight = fontSize + 6;
24
+ const legendX = 12;
25
+ const gap = 10;
26
+ const legendYOffset = 6;
27
+ const compact = context.paneWidth < 400;
28
+ const range = context.range;
29
+ const crosshairIndex = context.crosshairIndex;
30
+ const hasCrosshair = typeof crosshairIndex === 'number';
31
+ const targetIndex = hasCrosshair ? crosshairIndex : Math.min(range.end - 1, klineData.length - 1);
32
+ const layout = {
33
+ x: legendX,
34
+ y: yPaddingPx / 2 + legendYOffset,
35
+ lineHeight,
36
+ gap,
37
+ paneWidth: context.paneWidth,
38
+ compact,
39
+ };
40
+ let timeshare = null;
41
+ if (context.period === 'timeshare') {
42
+ const tsData = context.data;
43
+ const rawPreClose = context.settings?.preClose;
44
+ const preClose = typeof rawPreClose === 'number' && Number.isFinite(rawPreClose) && rawPreClose !== 0
45
+ ? rawPreClose
46
+ : (tsData[0]?.price ?? 0);
47
+ const item = tsData[targetIndex];
48
+ if (item) {
49
+ const changeAmount = item.price - preClose;
50
+ const changePercent = preClose !== 0 ? (changeAmount / preClose) * 100 : 0;
51
+ timeshare = {
52
+ price: item.price,
53
+ average: item.average,
54
+ changeAmount,
55
+ changePercent,
56
+ volume: item.volume,
57
+ volumeText: formatVolumeShort(item.volume),
58
+ amount: item.amount,
59
+ amountText: formatAmountShort(item.amount),
60
+ changeColor: changeAmount >= 0 ? colors.candleUpBody : colors.candleDownBody,
61
+ };
62
+ }
63
+ }
64
+ let currentBar = null;
65
+ if (hasCrosshair) {
66
+ const k = klineData[targetIndex];
67
+ if (k && typeof k.close === 'number') {
68
+ const isUp = k.close >= k.open;
69
+ currentBar = {
70
+ ...k,
71
+ volume: typeof k.volume === 'number' ? k.volume : null,
72
+ volumeText: typeof k.volume === 'number' ? formatVolumeShort(k.volume) : null,
73
+ color: isUp ? colors.candleUpBody : colors.candleDownBody,
74
+ };
75
+ }
76
+ }
77
+ const indicators = collectIndicatorRows(host, klineData, targetIndex);
78
+ const comparisons = collectComparisonRows(context, klineData, targetIndex, range, colors);
79
+ return {
80
+ period: context.period,
81
+ index: targetIndex,
82
+ hasCrosshair,
83
+ layout,
84
+ colors: {
85
+ textPrimary: colors.text.primary,
86
+ textTertiary: colors.text.tertiary,
87
+ up: colors.candleUpBody,
88
+ down: colors.candleDownBody,
89
+ },
90
+ currentBar,
91
+ timeshare,
92
+ indicators,
93
+ comparisons,
94
+ bar: klineData[targetIndex] ?? null,
95
+ };
96
+ }
97
+ function collectIndicatorRows(host, klineData, targetIndex) {
98
+ if (!host || typeof host.getService !== 'function')
99
+ return [];
100
+ const scheduler = host.getService('indicatorScheduler');
101
+ if (!scheduler)
102
+ return [];
103
+ const rows = [];
104
+ for (const meta of scheduler.getMainIndicators()) {
105
+ if (!meta.getTitleInfo)
106
+ continue;
107
+ if (!scheduler.isMainIndicatorActive(meta.name))
108
+ continue;
109
+ const params = scheduler.getMainIndicatorParams(meta.name) ?? {};
110
+ const titleInfo = meta.getTitleInfo(klineData, targetIndex, params, host, 'main');
111
+ if (!titleInfo)
112
+ continue;
113
+ rows.push({
114
+ name: titleInfo.name,
115
+ params: titleInfo.params,
116
+ values: titleInfo.values,
117
+ });
118
+ }
119
+ return rows;
120
+ }
121
+ function collectComparisonRows(context, klineData, targetIndex, range, colors) {
122
+ const comparisonSymbols = context.comparisonSymbols;
123
+ const comparisonData = context.comparisonData;
124
+ const comparisonColors = context.comparisonColors;
125
+ if (!comparisonSymbols?.length || !comparisonData?.size)
126
+ return [];
127
+ const baseIndex = Math.max(0, range.start);
128
+ const baseItem = klineData[baseIndex];
129
+ if (!baseItem || !Number.isFinite(baseItem.close) || baseItem.close <= 0)
130
+ return [];
131
+ const baseDate = baseItem.date ?? '';
132
+ const rows = [];
133
+ for (const spec of comparisonSymbols) {
134
+ const data = comparisonData.get(spec.symbol);
135
+ if (!data?.length)
136
+ continue;
137
+ const baseline = baseDate
138
+ ? findBaselineByDate(data, baseDate)
139
+ : findBaselineByTimestamp(data, baseItem.timestamp);
140
+ if (!baseline || baseline.close <= 0)
141
+ continue;
142
+ const byDate = new Map();
143
+ for (const item of data) {
144
+ byDate.set(item.date ?? String(item.timestamp), item);
145
+ }
146
+ const mainItem = klineData[targetIndex];
147
+ if (!mainItem)
148
+ continue;
149
+ const key = mainItem.date ?? String(mainItem.timestamp);
150
+ const currentItem = byDate.get(key);
151
+ if (!currentItem || !Number.isFinite(currentItem.close))
152
+ continue;
153
+ const percent = ((currentItem.close - baseline.close) / baseline.close) * 100;
154
+ const color = comparisonColors?.get(spec.symbol) ?? '#f59e0b';
155
+ rows.push({
156
+ symbol: spec.symbol,
157
+ percent,
158
+ color,
159
+ percentColor: percent > 0
160
+ ? colors.candleUpBody
161
+ : percent < 0
162
+ ? colors.candleDownBody
163
+ : colors.text.primary,
164
+ });
165
+ }
166
+ return rows;
167
+ }
168
+ function findBaselineByDate(data, date) {
169
+ for (const item of data) {
170
+ if (item.date && item.date >= date)
171
+ return item;
172
+ }
173
+ return null;
174
+ }
175
+ function findBaselineByTimestamp(data, timestamp) {
176
+ for (const item of data) {
177
+ if (item.timestamp >= timestamp)
178
+ return item;
179
+ }
180
+ return null;
181
+ }
182
+ //# sourceMappingURL=mainIndicatorLegendContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mainIndicatorLegendContext.js","sourceRoot":"","sources":["../../../../src/engine/renderers/Indicator/mainIndicatorLegendContext.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { RendererPlugin } from '../../foundation/plugin/index';
2
- export declare function createLeftYAxisRendererPlugin(options: {
2
+ type LeftYAxisOptions = {
3
3
  axisWidth: number;
4
4
  yPaddingPx: number;
5
5
  getCrosshair?: () => {
@@ -7,5 +7,18 @@ export declare function createLeftYAxisRendererPlugin(options: {
7
7
  price: number;
8
8
  activePaneId: string | null;
9
9
  } | null;
10
- }): RendererPlugin;
10
+ };
11
+ /**
12
+ * 左 Y 轴静态层:刻度,画到 leftAxisCtx(main 级刷新)
13
+ */
14
+ export declare function createLeftYAxisStaticRendererPlugin(options: LeftYAxisOptions): RendererPlugin;
15
+ /**
16
+ * 左 Y 轴动态层:十字线价签,画到 leftAxisOverlayCtx(overlay 级刷新)
17
+ */
18
+ export declare function createLeftYAxisOverlayRendererPlugin(options: LeftYAxisOptions): RendererPlugin;
19
+ /**
20
+ * @deprecated 使用 createLeftYAxisStaticRendererPlugin + createLeftYAxisOverlayRendererPlugin
21
+ */
22
+ export declare function createLeftYAxisRendererPlugin(options: LeftYAxisOptions): RendererPlugin;
23
+ export {};
11
24
  //# sourceMappingURL=leftYAxis.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"leftYAxis.d.ts","sourceRoot":"","sources":["../../../src/engine/renderers/leftYAxis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAiB,MAAM,+BAA+B,CAAA;AAQlF,wBAAgB,6BAA6B,CAAC,OAAO,EAAE;IACrD,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAA;CACtF,GAAG,cAAc,CA6HjB"}
1
+ {"version":3,"file":"leftYAxis.d.ts","sourceRoot":"","sources":["../../../src/engine/renderers/leftYAxis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAiB,MAAM,+BAA+B,CAAA;AAQlF,KAAK,gBAAgB,GAAG;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAA;CACtF,CAAA;AAQD;;GAEG;AACH,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,gBAAgB,GAAG,cAAc,CA2E7F;AAED;;GAEG;AACH,wBAAgB,oCAAoC,CAAC,OAAO,EAAE,gBAAgB,GAAG,cAAc,CAqE9F;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,gBAAgB,GAAG,cAAc,CAEvF"}
@@ -4,37 +4,41 @@ import { drawCrosshairPriceLabel } from '../../foundation/utils/kLineDraw/axis';
4
4
  import { roundToPhysicalPixel } from '../../foundation/utils/pixelAlign';
5
5
  import { getFont, setCanvasFont } from '../../foundation/tokens/fonts';
6
6
  import { priceAtYForScaleType } from '../utils/tickPosition';
7
- export function createLeftYAxisRendererPlugin(options) {
7
+ function shouldShowLeftAxis(period, settings) {
8
+ if (period === 'timeshare')
9
+ return true;
10
+ const leftType = settings?.leftAxisType;
11
+ return Boolean(leftType && leftType !== 'none');
12
+ }
13
+ /**
14
+ * 左 Y 轴静态层:刻度,画到 leftAxisCtx(main 级刷新)
15
+ */
16
+ export function createLeftYAxisStaticRendererPlugin(options) {
8
17
  return {
9
18
  name: 'leftYAxis',
10
- version: '1.0.0',
11
- description: '左侧Y轴价格刻度渲染器',
12
- debugName: '左侧Y',
19
+ version: '2.0.0',
20
+ description: '左侧Y轴价格刻度渲染器(静态)',
21
+ debugName: '左侧Y轴刻度',
13
22
  paneId: GLOBAL_PANE_ID,
14
23
  priority: RENDERER_PRIORITY.SYSTEM_YAXIS,
15
- layer: 'overlay',
16
24
  draw(context) {
17
25
  const { leftAxisCtx, pane, dpr, period } = context;
18
26
  if (!leftAxisCtx)
19
27
  return;
28
+ if (!shouldShowLeftAxis(period, context.settings))
29
+ return;
30
+ if (!pane.capabilities.showPriceAxisTicks)
31
+ return;
32
+ if (!context.yAxisTicks)
33
+ return;
20
34
  const axisWidth = leftAxisCtx.canvas ? leftAxisCtx.canvas.width / dpr : 0;
21
35
  if (axisWidth <= 0)
22
36
  return;
23
- // 分时模式始终显示左轴(线性),不受设置约束
24
- if (period !== 'timeshare') {
25
- const leftType = context.settings?.leftAxisType;
26
- if (!leftType || leftType === 'none')
27
- return;
28
- }
29
37
  const tokenColors = resolveThemeColors(context.theme, context.isAsiaMarket, context.colorPresetSettings);
30
- if (!pane.capabilities.showPriceAxisTicks)
31
- return;
32
38
  const scaleType = period === 'timeshare'
33
39
  ? 'linear'
34
40
  : (context.settings?.leftAxisType ?? 'linear');
35
41
  const paneScaleType = pane.yAxis.getScaleType();
36
- if (!context.yAxisTicks)
37
- return;
38
42
  leftAxisCtx.clearRect(0, 0, axisWidth, pane.height);
39
43
  const font = getFont(12);
40
44
  setCanvasFont(leftAxisCtx, font);
@@ -66,13 +70,43 @@ export function createLeftYAxisRendererPlugin(options) {
66
70
  }
67
71
  leftAxisCtx.fillText(formatTick(displayValue), textX, tick.y);
68
72
  }
73
+ },
74
+ };
75
+ }
76
+ /**
77
+ * 左 Y 轴动态层:十字线价签,画到 leftAxisOverlayCtx(overlay 级刷新)
78
+ */
79
+ export function createLeftYAxisOverlayRendererPlugin(options) {
80
+ return {
81
+ name: 'leftYAxisOverlay',
82
+ version: '2.0.0',
83
+ description: '左侧Y轴动态标签渲染器',
84
+ debugName: '左侧Y轴标签',
85
+ paneId: GLOBAL_PANE_ID,
86
+ priority: RENDERER_PRIORITY.SYSTEM_YAXIS + 1,
87
+ layer: 'overlay',
88
+ draw(context) {
89
+ const { leftAxisOverlayCtx, leftAxisCtx, pane, dpr, period } = context;
90
+ if (!shouldShowLeftAxis(period, context.settings))
91
+ return;
92
+ const targetCtx = leftAxisOverlayCtx ?? leftAxisCtx;
93
+ if (!targetCtx)
94
+ return;
95
+ const axisWidth = targetCtx.canvas ? targetCtx.canvas.width / dpr : 0;
96
+ if (axisWidth <= 0)
97
+ return;
98
+ targetCtx.clearRect(0, 0, axisWidth, pane.height);
69
99
  const crosshair = options.getCrosshair?.();
70
100
  if (!crosshair || crosshair.activePaneId !== pane.id || crosshair.price === null)
71
101
  return;
102
+ const scaleType = period === 'timeshare'
103
+ ? 'linear'
104
+ : (context.settings?.leftAxisType ?? 'linear');
72
105
  const isCrosshairPercent = scaleType === 'percent';
73
106
  const crosshairPrice = isCrosshairPercent
74
107
  ? pane.yAxis.toPercent(crosshair.price)
75
108
  : crosshair.price;
109
+ const crosshairPriceRange = pane.yAxis.getDisplayRange();
76
110
  const crosshairLabelRange = isCrosshairPercent
77
111
  ? (() => {
78
112
  const p = pane.yAxis.getDisplayPercentRange();
@@ -85,7 +119,7 @@ export function createLeftYAxisRendererPlugin(options) {
85
119
  return sign + v.toFixed(2) + '%';
86
120
  }
87
121
  : undefined;
88
- drawCrosshairPriceLabel(leftAxisCtx, {
122
+ drawCrosshairPriceLabel(targetCtx, {
89
123
  x: 0,
90
124
  y: pane.top,
91
125
  width: axisWidth,
@@ -102,4 +136,10 @@ export function createLeftYAxisRendererPlugin(options) {
102
136
  },
103
137
  };
104
138
  }
139
+ /**
140
+ * @deprecated 使用 createLeftYAxisStaticRendererPlugin + createLeftYAxisOverlayRendererPlugin
141
+ */
142
+ export function createLeftYAxisRendererPlugin(options) {
143
+ return createLeftYAxisStaticRendererPlugin(options);
144
+ }
105
145
  //# sourceMappingURL=leftYAxis.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"leftYAxis.js","sourceRoot":"","sources":["../../../src/engine/renderers/leftYAxis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"leftYAxis.js","sourceRoot":"","sources":["../../../src/engine/renderers/leftYAxis.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"timeShare.d.ts","sourceRoot":"","sources":["../../../src/engine/renderers/timeShare.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,sBAAsB,EAEvB,MAAM,+BAA+B,CAAA;AAStC,wBAAgB,6BAA6B,IAAI,sBAAsB,CA6FtE"}
1
+ {"version":3,"file":"timeShare.d.ts","sourceRoot":"","sources":["../../../src/engine/renderers/timeShare.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,sBAAsB,EAEvB,MAAM,+BAA+B,CAAA;AAatC,wBAAgB,6BAA6B,IAAI,sBAAsB,CAyGtE"}
@@ -35,6 +35,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
35
35
  import { RENDERER_PRIORITY } from '../../foundation/plugin/index';
36
36
  import { resolveThemeColors } from '../../foundation/tokens/index';
37
37
  import { Indicator } from '../indicators/indicatorDefinitionRegistry';
38
+ import { computeTimeSharePaneLayout, resolveTimeShareBaseline, } from '../modes/timeShareMath';
38
39
  /** 成交量区域占 pane 高度的比例(底部) */
39
40
  const VOLUME_RATIO = 0.25;
40
41
  export function createTimeShareRendererPlugin() {
@@ -54,20 +55,24 @@ export function createTimeShareRendererPlugin() {
54
55
  if (!tsData.length)
55
56
  return;
56
57
  const colors = resolveThemeColors(context.theme, context.isAsiaMarket, context.colorPresetSettings);
57
- const preClose = settings?.preClose ?? tsData[0]?.price ?? 0;
58
- if (preClose === 0)
58
+ const preClose = resolveTimeShareBaseline({
59
+ preClose: settings?.preClose,
60
+ firstPrice: tsData[0]?.price,
61
+ });
62
+ if (preClose === null)
59
63
  return;
60
64
  const paneHeight = pane.height;
61
- const volumeAreaHeight = Math.round(paneHeight * VOLUME_RATIO * dpr) / dpr;
62
- const priceAreaHeight = paneHeight - volumeAreaHeight;
65
+ const layout = computeTimeSharePaneLayout(paneHeight, VOLUME_RATIO);
66
+ const { volumeAreaHeight, priceAreaHeight } = layout;
63
67
  const { start, end } = range;
64
- const visibleCount = Math.min(end - start, tsData.length - start);
65
68
  const itemCount = Math.min(end, tsData.length) - start;
66
69
  const xPositions = [];
67
70
  const yPrices = [];
68
71
  const yAvgs = [];
69
72
  const volumes = [];
70
73
  let maxVolume = 0;
74
+ // 价格 Y 映射到 price 子区域:pane.yAxis 仍按全高,再线性压到 priceAreaHeight
75
+ const scaleYToPriceArea = (y) => (y / Math.max(paneHeight, 1)) * priceAreaHeight;
71
76
  for (let i = start; i < start + itemCount; i++) {
72
77
  const item = tsData[i];
73
78
  if (!item)
@@ -76,20 +81,26 @@ export function createTimeShareRendererPlugin() {
76
81
  if (x === undefined)
77
82
  continue;
78
83
  xPositions.push(x);
79
- yPrices.push(pane.yAxis.priceToY(item.price));
80
- yAvgs.push(pane.yAxis.priceToY(item.average));
84
+ yPrices.push(scaleYToPriceArea(pane.yAxis.priceToY(item.price)));
85
+ yAvgs.push(scaleYToPriceArea(pane.yAxis.priceToY(item.average)));
81
86
  volumes.push(item.volume ?? 0);
82
- maxVolume = Math.max(maxVolume, item.volume);
87
+ maxVolume = Math.max(maxVolume, item.volume ?? 0);
83
88
  }
84
89
  if (xPositions.length < 2)
85
90
  return;
86
91
  ctx.save();
87
92
  ctx.translate(-scrollLeft, 0);
88
- const preCloseY = pane.yAxis.priceToY(preClose);
93
+ const preCloseY = scaleYToPriceArea(pane.yAxis.priceToY(preClose));
94
+ // 价格区裁剪,避免线/填充画进成交量区(translate 后世界 scrollLeft 映射到 0)
95
+ ctx.save();
96
+ ctx.beginPath();
97
+ ctx.rect(scrollLeft, 0, context.paneWidth, priceAreaHeight);
98
+ ctx.clip();
89
99
  drawPreCloseLine(ctx, xPositions, preCloseY, dpr, colors.timeSharePreClose);
90
100
  drawAreaFill(ctx, xPositions, yPrices, preCloseY, dpr, colors.timeShareAreaUp, colors.timeShareAreaDown);
91
101
  drawSegmentLine(ctx, xPositions, yPrices, dpr, colors.timeSharePriceLine, 2);
92
102
  drawSegmentLine(ctx, xPositions, yAvgs, dpr, colors.timeShareAvgLine, 1.5);
103
+ ctx.restore();
93
104
  drawVolumeBars(ctx, kBarRects, volumes, maxVolume, volumeAreaHeight, paneHeight, preClose, dpr, colors.volumeUp, colors.volumeDown, colors.volumeNeutral, tsData, start);
94
105
  ctx.restore();
95
106
  },