@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":"chartPaneLayout.js","sourceRoot":"","sources":["../../../src/engine/layout/chartPaneLayout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chartPaneLayout.js","sourceRoot":"","sources":["../../../src/engine/layout/chartPaneLayout.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import { type MarketSessionConfig } from '../../foundation/utils/timeShareAxisLabels';
2
+ export type TimeShareBaselineInput = {
3
+ preClose?: number | null;
4
+ firstPrice?: number | null;
5
+ };
6
+ export declare function resolveTimeShareBaseline(input: TimeShareBaselineInput): number | null;
7
+ export type TimeSharePriceRange = {
8
+ minPrice: number;
9
+ maxPrice: number;
10
+ };
11
+ /**
12
+ * 分时 Y 轴价格区间:以 baseline(昨收)为中心,对称覆盖可见最大绝对涨跌幅并加 padding。
13
+ * 全天平盘时仍保留最小 0.5% 边距,避免 range 退化。
14
+ */
15
+ export declare function computeTimeSharePriceRange(prices: ReadonlyArray<number | undefined | null>, baseline: number): TimeSharePriceRange | null;
16
+ /** A 股默认全天 1 分钟槽位数(兼容旧导出) */
17
+ export declare const ASHARE_TIMESHARE_SESSION_SLOTS: number;
18
+ /**
19
+ * 全天交易槽位数:以 marketSession 为 SSOT,不因 arrivedCount 放大。
20
+ * @deprecated 优先用 resolveMarketSessionSlots(config)
21
+ */
22
+ export declare function resolveTimeShareSessionSlots(arrivedCount: number, marketSession?: MarketSessionConfig): number;
23
+ /**
24
+ * 分时 bar 宽度:按全天 sessionSlots 均分 viewWidth,而非按已到达点数。
25
+ * 盘中部分数据时右侧留白;允许亚像素,避免窄屏截断。
26
+ */
27
+ export declare function computeTimeShareBarMetrics(dataLength: number, viewWidth: number, dpr: number, marketSession?: MarketSessionConfig): {
28
+ kWidth: number;
29
+ kGap: number;
30
+ } | null;
31
+ export type TimeShareXLayoutInput = {
32
+ arrivedCount: number;
33
+ sessionSlots: number;
34
+ totalWidth: number;
35
+ dpr: number;
36
+ };
37
+ export type TimeShareXLayout = {
38
+ step: number;
39
+ centers: number[];
40
+ lefts: number[];
41
+ barWidth: number;
42
+ kWidthPx: number;
43
+ };
44
+ /**
45
+ * 分时 X 布局:step = totalWidth / sessionSlots,已到达点按 slot 索引落位,未到时段留白。
46
+ */
47
+ export declare function computeTimeShareXLayout(input: TimeShareXLayoutInput): TimeShareXLayout | null;
48
+ export type TimeSharePaneLayout = {
49
+ priceTop: number;
50
+ priceAreaHeight: number;
51
+ volumeTop: number;
52
+ volumeAreaHeight: number;
53
+ };
54
+ export declare function computeTimeSharePaneLayout(paneHeight: number, volumeRatio: number): TimeSharePaneLayout;
55
+ export { TIMESHARE_MIN_LABEL_SPACING_PX, computeTimeShareTimeLabelIndices, type TimeShareTimeLabelInput, } from '../../foundation/utils/timeShareAxisLabels';
56
+ //# sourceMappingURL=timeShareMath.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeShareMath.d.ts","sourceRoot":"","sources":["../../../src/engine/modes/timeShareMath.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,4CAA4C,CAAA;AAEnD,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B,CAAA;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,sBAAsB,GAAG,MAAM,GAAG,IAAI,CAMrF;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,aAAa,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,EAChD,QAAQ,EAAE,MAAM,GACf,mBAAmB,GAAG,IAAI,CAgB5B;AAED,6BAA6B;AAC7B,eAAO,MAAM,8BAA8B,QAAmD,CAAA;AAE9F;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,MAAM,EACpB,aAAa,GAAE,mBAA2C,GACzD,MAAM,CAGR;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,aAAa,GAAE,mBAA2C,GACzD;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAUzC;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,qBAAqB,GAAG,gBAAgB,GAAG,IAAI,CAkB7F;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,EAAE,MAAM,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,mBAAmB,CAUrB;AAED,OAAO,EACL,8BAA8B,EAC9B,gCAAgC,EAChC,KAAK,uBAAuB,GAC7B,MAAM,4CAA4C,CAAA"}
@@ -0,0 +1,90 @@
1
+ import { ASHARE_MARKET_SESSION, resolveMarketSessionSlots, } from '../../foundation/utils/timeShareAxisLabels';
2
+ export function resolveTimeShareBaseline(input) {
3
+ const candidates = [input.preClose, input.firstPrice];
4
+ for (const v of candidates) {
5
+ if (typeof v === 'number' && Number.isFinite(v) && v !== 0)
6
+ return v;
7
+ }
8
+ return null;
9
+ }
10
+ /**
11
+ * 分时 Y 轴价格区间:以 baseline(昨收)为中心,对称覆盖可见最大绝对涨跌幅并加 padding。
12
+ * 全天平盘时仍保留最小 0.5% 边距,避免 range 退化。
13
+ */
14
+ export function computeTimeSharePriceRange(prices, baseline) {
15
+ if (!Number.isFinite(baseline) || baseline === 0)
16
+ return null;
17
+ let maxAbsPct = 0;
18
+ for (const p of prices) {
19
+ if (typeof p !== 'number' || !Number.isFinite(p))
20
+ continue;
21
+ const pct = Math.abs((p - baseline) / baseline) * 100;
22
+ if (pct > maxAbsPct)
23
+ maxAbsPct = pct;
24
+ }
25
+ const padding = Math.max(maxAbsPct * 0.1, 0.5);
26
+ const displayPct = maxAbsPct + padding;
27
+ return {
28
+ minPrice: baseline * (1 - displayPct / 100),
29
+ maxPrice: baseline * (1 + displayPct / 100),
30
+ };
31
+ }
32
+ /** A 股默认全天 1 分钟槽位数(兼容旧导出) */
33
+ export const ASHARE_TIMESHARE_SESSION_SLOTS = resolveMarketSessionSlots(ASHARE_MARKET_SESSION);
34
+ /**
35
+ * 全天交易槽位数:以 marketSession 为 SSOT,不因 arrivedCount 放大。
36
+ * @deprecated 优先用 resolveMarketSessionSlots(config)
37
+ */
38
+ export function resolveTimeShareSessionSlots(arrivedCount, marketSession = ASHARE_MARKET_SESSION) {
39
+ void arrivedCount;
40
+ return resolveMarketSessionSlots(marketSession);
41
+ }
42
+ /**
43
+ * 分时 bar 宽度:按全天 sessionSlots 均分 viewWidth,而非按已到达点数。
44
+ * 盘中部分数据时右侧留白;允许亚像素,避免窄屏截断。
45
+ */
46
+ export function computeTimeShareBarMetrics(dataLength, viewWidth, dpr, marketSession = ASHARE_MARKET_SESSION) {
47
+ if (dataLength <= 0 || viewWidth <= 0 || !(dpr > 0))
48
+ return null;
49
+ const sessionSlots = resolveMarketSessionSlots(marketSession);
50
+ if (sessionSlots <= 0)
51
+ return null;
52
+ const unit = viewWidth / sessionSlots;
53
+ const preferredGap = 1 / dpr;
54
+ const kGap = Math.min(preferredGap, unit * 0.2);
55
+ const kWidth = Math.max(unit - kGap, unit * 0.01);
56
+ return { kWidth, kGap: unit - kWidth };
57
+ }
58
+ /**
59
+ * 分时 X 布局:step = totalWidth / sessionSlots,已到达点按 slot 索引落位,未到时段留白。
60
+ */
61
+ export function computeTimeShareXLayout(input) {
62
+ const { arrivedCount, sessionSlots, totalWidth, dpr } = input;
63
+ if (arrivedCount <= 0 || sessionSlots <= 0 || totalWidth <= 0 || !(dpr > 0))
64
+ return null;
65
+ const step = totalWidth / sessionSlots;
66
+ const centers = new Array(arrivedCount);
67
+ const lefts = new Array(arrivedCount);
68
+ for (let i = 0; i < arrivedCount; i++) {
69
+ centers[i] = Math.round((i + 0.5) * step * dpr) / dpr;
70
+ lefts[i] = Math.round(i * step * dpr) / dpr;
71
+ }
72
+ const logicalBarWidth = Math.max(step * 0.6, 1 / dpr);
73
+ const barWidthPx = Math.max(1, Math.round(logicalBarWidth * dpr));
74
+ const barWidth = barWidthPx / dpr;
75
+ const kWidthPx = Math.max(1, Math.round(step * dpr));
76
+ return { step, centers, lefts, barWidth, kWidthPx };
77
+ }
78
+ export function computeTimeSharePaneLayout(paneHeight, volumeRatio) {
79
+ const ratio = Math.min(1, Math.max(0, volumeRatio));
80
+ const volumeAreaHeight = paneHeight * ratio;
81
+ const priceAreaHeight = paneHeight - volumeAreaHeight;
82
+ return {
83
+ priceTop: 0,
84
+ priceAreaHeight,
85
+ volumeTop: priceAreaHeight,
86
+ volumeAreaHeight,
87
+ };
88
+ }
89
+ export { TIMESHARE_MIN_LABEL_SPACING_PX, computeTimeShareTimeLabelIndices, } from '../../foundation/utils/timeShareAxisLabels';
90
+ //# sourceMappingURL=timeShareMath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeShareMath.js","sourceRoot":"","sources":["../../../src/engine/modes/timeShareMath.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { ChartDataManager } from '../data/chartDataManager';
2
2
  import type { Pane, VisibleRange } from '../layout/pane';
3
+ import type { MarketSessionConfig } from '../../foundation/utils/timeShareAxisLabels';
3
4
  import type { ChartModeHandler } from './types';
4
5
  export declare class TimeShareMode implements ChartModeHandler {
5
6
  readonly debugName = "TimeShare";
@@ -8,6 +9,10 @@ export declare class TimeShareMode implements ChartModeHandler {
8
9
  readonly allowVerticalScroll = false;
9
10
  readonly allowRightAxisScale = false;
10
11
  readonly useIndicatorScheduler = false;
12
+ /** 市场 session;默认 A 股,可 setMarketSession 切换 */
13
+ private _marketSession;
14
+ get marketSession(): MarketSessionConfig;
15
+ setMarketSession(config: MarketSessionConfig): void;
11
16
  computeContentWidth(_dataLength: number, leftBufferWidth: number, viewWidth: number, _opt: {
12
17
  kWidth: number;
13
18
  kGap: number;
@@ -1 +1 @@
1
- {"version":3,"file":"timeShareMode.d.ts","sourceRoot":"","sources":["../../../src/engine/modes/timeShareMode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAExD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE/C,qBAAa,aAAc,YAAW,gBAAgB;IACpD,QAAQ,CAAC,SAAS,eAAc;IAEhC,QAAQ,CAAC,QAAQ,SAAQ;IACzB,QAAQ,CAAC,SAAS,SAAQ;IAC1B,QAAQ,CAAC,mBAAmB,SAAQ;IACpC,QAAQ,CAAC,mBAAmB,SAAQ;IACpC,QAAQ,CAAC,qBAAqB,SAAQ;IAEtC,mBAAmB,CACjB,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EACtC,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,IAAI;IAIhB,aAAa,CACX,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,GACV;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAc1C,eAAe,CACb,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,YAAY,EACnB,EAAE,EAAE,gBAAgB,EACpB,qBAAqB,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,GAC1D,IAAI;IA4BP,UAAU,CACR,KAAK,EAAE;QACL,mBAAmB,EAAE,CACnB,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,KAC/C,OAAO,CAAA;QACZ,oBAAoB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAA;QAC7C,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;QAC5D,WAAW,EAAE,gBAAgB,CAAA;QAC7B,aAAa,EAAE,MAAM,CAAA;KACtB,EACD,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAC7B,IAAI;IAKP,YAAY,CACV,KAAK,EAAE;QACL,mBAAmB,EAAE,CACnB,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,KAC/C,OAAO,CAAA;QACZ,oBAAoB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAA;QAC7C,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;QAC5D,WAAW,EAAE,gBAAgB,CAAA;KAC9B,EACD,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAC7B,IAAI;CAIR"}
1
+ {"version":3,"file":"timeShareMode.d.ts","sourceRoot":"","sources":["../../../src/engine/modes/timeShareMode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAExD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAA;AAQrF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE/C,qBAAa,aAAc,YAAW,gBAAgB;IACpD,QAAQ,CAAC,SAAS,eAAc;IAEhC,QAAQ,CAAC,QAAQ,SAAQ;IACzB,QAAQ,CAAC,SAAS,SAAQ;IAC1B,QAAQ,CAAC,mBAAmB,SAAQ;IACpC,QAAQ,CAAC,mBAAmB,SAAQ;IACpC,QAAQ,CAAC,qBAAqB,SAAQ;IAEtC,8CAA8C;IAC9C,OAAO,CAAC,cAAc,CAA6C;IAEnE,IAAI,aAAa,IAAI,mBAAmB,CAEvC;IAED,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAInD,mBAAmB,CACjB,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EACtC,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,IAAI;IAIhB,aAAa,CACX,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,GACV;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAI1C,eAAe,CACb,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,YAAY,EACnB,EAAE,EAAE,gBAAgB,EACpB,qBAAqB,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,GAC1D,IAAI;IA0BP,UAAU,CACR,KAAK,EAAE;QACL,mBAAmB,EAAE,CACnB,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,KAC/C,OAAO,CAAA;QACZ,oBAAoB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAA;QAC7C,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;QAC5D,WAAW,EAAE,gBAAgB,CAAA;QAC7B,aAAa,EAAE,MAAM,CAAA;KACtB,EACD,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAC7B,IAAI;IAKP,YAAY,CACV,KAAK,EAAE;QACL,mBAAmB,EAAE,CACnB,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,KAC/C,OAAO,CAAA;QACZ,oBAAoB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAA;QAC7C,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;QAC5D,WAAW,EAAE,gBAAgB,CAAA;KAC9B,EACD,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAC7B,IAAI;CAIR"}
@@ -1,3 +1,5 @@
1
+ import { ASHARE_MARKET_SESSION } from '../../foundation/utils/timeShareAxisLabels';
2
+ import { computeTimeShareBarMetrics, computeTimeSharePriceRange, resolveTimeShareBaseline, } from './timeShareMath';
1
3
  export class TimeShareMode {
2
4
  debugName = 'TimeShare';
3
5
  allowPan = false;
@@ -5,47 +7,45 @@ export class TimeShareMode {
5
7
  allowVerticalScroll = false;
6
8
  allowRightAxisScale = false;
7
9
  useIndicatorScheduler = false;
10
+ /** 市场 session;默认 A 股,可 setMarketSession 切换 */
11
+ _marketSession = ASHARE_MARKET_SESSION;
12
+ get marketSession() {
13
+ return this._marketSession;
14
+ }
15
+ setMarketSession(config) {
16
+ this._marketSession = config;
17
+ }
8
18
  computeContentWidth(_dataLength, leftBufferWidth, viewWidth, _opt, _dpr) {
9
19
  return leftBufferWidth + Math.max(viewWidth, 1);
10
20
  }
11
21
  computeKWidth(dataLength, viewWidth, dpr) {
12
- if (dataLength <= 0 || viewWidth <= 0)
13
- return null;
14
- const kGapPx = 1;
15
- const totalGapPx = (dataLength + 1) * kGapPx;
16
- const availablePx = Math.max(1, viewWidth * dpr - totalGapPx);
17
- const kWidthPx = Math.max(1, Math.floor(availablePx / dataLength));
18
- return {
19
- kWidth: kWidthPx / dpr,
20
- kGap: kGapPx / dpr,
21
- };
22
+ return computeTimeShareBarMetrics(dataLength, viewWidth, dpr, this._marketSession);
22
23
  }
23
24
  updatePaneRange(pane, range, dm, _mergedIndicatorRange) {
24
25
  const tsData = dm.getTimeShareData();
25
- const end = Math.min(range.end, tsData.length);
26
26
  if (tsData.length === 0)
27
27
  return;
28
- const baseline = tsData[0]?.price ?? 0;
29
- if (baseline === 0)
28
+ const end = Math.min(range.end, tsData.length);
29
+ const start = Math.max(0, range.start);
30
+ // 优先昨收;缺失时回退首笔价
31
+ const baseline = resolveTimeShareBaseline({
32
+ preClose: dm.getTimeSharePreClose(),
33
+ firstPrice: tsData[0]?.price,
34
+ });
35
+ if (baseline === null)
30
36
  return;
31
37
  // scaleType 由 kernel.paneScaleTypes 投影(进入 timeshare 时写 percent);此处只设会话 basePrice
32
38
  pane.yAxis.setBasePrice(baseline);
33
- let maxAbsPct = 0;
34
- for (let i = Math.max(0, range.start); i < end; i++) {
39
+ const prices = [];
40
+ for (let i = start; i < end; i++) {
35
41
  const p = tsData[i]?.price;
36
- if (p !== undefined && Number.isFinite(p)) {
37
- const pct = Math.abs((p - baseline) / baseline) * 100;
38
- if (pct > maxAbsPct)
39
- maxAbsPct = pct;
40
- }
42
+ if (p !== undefined)
43
+ prices.push(p);
41
44
  }
42
- if (maxAbsPct <= 0)
45
+ const priceRange = computeTimeSharePriceRange(prices, baseline);
46
+ if (!priceRange)
43
47
  return;
44
- const padding = Math.max(maxAbsPct * 0.1, 0.5);
45
- const displayPct = maxAbsPct + padding;
46
- const minPrice = baseline * (1 - displayPct / 100);
47
- const maxPrice = baseline * (1 + displayPct / 100);
48
- pane.yAxis.setRange({ maxPrice, minPrice });
48
+ pane.yAxis.setRange(priceRange);
49
49
  }
50
50
  onActivate(chart, _prev) {
51
51
  chart.enableMainIndicator('timeShare');
@@ -53,7 +53,7 @@ export class TimeShareMode {
53
53
  }
54
54
  onDeactivate(chart, _next) {
55
55
  chart.disableMainIndicator('timeShare');
56
- chart.setRendererEnabled('candle', true);
56
+ // candle 可见性由 Chart.setActiveMode 按进入前快照恢复,此处不强制 true
57
57
  }
58
58
  }
59
59
  //# sourceMappingURL=timeShareMode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"timeShareMode.js","sourceRoot":"","sources":["../../../src/engine/modes/timeShareMode.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,aAAa;IACf,SAAS,GAAG,WAAW,CAAA;IAEvB,QAAQ,GAAG,KAAK,CAAA;IAChB,SAAS,GAAG,KAAK,CAAA;IACjB,mBAAmB,GAAG,KAAK,CAAA;IAC3B,mBAAmB,GAAG,KAAK,CAAA;IAC3B,qBAAqB,GAAG,KAAK,CAAA;IAEtC,mBAAmB,CACjB,WAAmB,EACnB,eAAuB,EACvB,SAAiB,EACjB,IAAsC,EACtC,IAAY;QAEZ,OAAO,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IACjD,CAAC;IAED,aAAa,CACX,UAAkB,EAClB,SAAiB,EACjB,GAAW;QAEX,IAAI,UAAU,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC;YAAE,OAAO,IAAI,CAAA;QAElD,MAAM,MAAM,GAAG,CAAC,CAAA;QAChB,MAAM,UAAU,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,MAAM,CAAA;QAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,GAAG,GAAG,UAAU,CAAC,CAAA;QAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC,CAAA;QAElE,OAAO;YACL,MAAM,EAAE,QAAQ,GAAG,GAAG;YACtB,IAAI,EAAE,MAAM,GAAG,GAAG;SACnB,CAAA;IACH,CAAC;IAED,eAAe,CACb,IAAU,EACV,KAAmB,EACnB,EAAoB,EACpB,qBAA2D;QAE3D,MAAM,MAAM,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAAA;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;QAC9C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAE/B,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAA;QACtC,IAAI,QAAQ,KAAK,CAAC;YAAE,OAAM;QAE1B,iFAAiF;QACjF,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;QAEjC,IAAI,SAAS,GAAG,CAAC,CAAA;QACjB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACpD,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAA;YAC1B,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAA;gBACrD,IAAI,GAAG,GAAG,SAAS;oBAAE,SAAS,GAAG,GAAG,CAAA;YACtC,CAAC;QACH,CAAC;QACD,IAAI,SAAS,IAAI,CAAC;YAAE,OAAM;QAE1B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,GAAG,EAAE,GAAG,CAAC,CAAA;QAC9C,MAAM,UAAU,GAAG,SAAS,GAAG,OAAO,CAAA;QACtC,MAAM,QAAQ,GAAG,QAAQ,GAAG,CAAC,CAAC,GAAG,UAAU,GAAG,GAAG,CAAC,CAAA;QAClD,MAAM,QAAQ,GAAG,QAAQ,GAAG,CAAC,CAAC,GAAG,UAAU,GAAG,GAAG,CAAC,CAAA;QAClD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC7C,CAAC;IAED,UAAU,CACR,KASC,EACD,KAA8B;QAE9B,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAA;QACtC,KAAK,CAAC,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAC3C,CAAC;IAED,YAAY,CACV,KAQC,EACD,KAA8B;QAE9B,KAAK,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAA;QACvC,KAAK,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAC1C,CAAC;CACF"}
1
+ {"version":3,"file":"timeShareMode.js","sourceRoot":"","sources":["../../../src/engine/modes/timeShareMode.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAA;AAElF,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,iBAAiB,CAAA;AAGxB,MAAM,OAAO,aAAa;IACf,SAAS,GAAG,WAAW,CAAA;IAEvB,QAAQ,GAAG,KAAK,CAAA;IAChB,SAAS,GAAG,KAAK,CAAA;IACjB,mBAAmB,GAAG,KAAK,CAAA;IAC3B,mBAAmB,GAAG,KAAK,CAAA;IAC3B,qBAAqB,GAAG,KAAK,CAAA;IAEtC,8CAA8C;IACtC,cAAc,GAAwB,qBAAqB,CAAA;IAEnE,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAA;IAC5B,CAAC;IAED,gBAAgB,CAAC,MAA2B;QAC1C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAA;IAC9B,CAAC;IAED,mBAAmB,CACjB,WAAmB,EACnB,eAAuB,EACvB,SAAiB,EACjB,IAAsC,EACtC,IAAY;QAEZ,OAAO,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IACjD,CAAC;IAED,aAAa,CACX,UAAkB,EAClB,SAAiB,EACjB,GAAW;QAEX,OAAO,0BAA0B,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;IACpF,CAAC;IAED,eAAe,CACb,IAAU,EACV,KAAmB,EACnB,EAAoB,EACpB,qBAA2D;QAE3D,MAAM,MAAM,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAAA;QACpC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAE/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;QACtC,gBAAgB;QAChB,MAAM,QAAQ,GAAG,wBAAwB,CAAC;YACxC,QAAQ,EAAE,EAAE,CAAC,oBAAoB,EAAE;YACnC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK;SAC7B,CAAC,CAAA;QACF,IAAI,QAAQ,KAAK,IAAI;YAAE,OAAM;QAE7B,iFAAiF;QACjF,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;QAEjC,MAAM,MAAM,GAAa,EAAE,CAAA;QAC3B,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACjC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAA;YAC1B,IAAI,CAAC,KAAK,SAAS;gBAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACrC,CAAC;QACD,MAAM,UAAU,GAAG,0BAA0B,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC/D,IAAI,CAAC,UAAU;YAAE,OAAM;QACvB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;IACjC,CAAC;IAED,UAAU,CACR,KASC,EACD,KAA8B;QAE9B,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAA;QACtC,KAAK,CAAC,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAC3C,CAAC;IAED,YAAY,CACV,KAQC,EACD,KAA8B;QAE9B,KAAK,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAA;QACvC,sDAAsD;IACxD,CAAC;CACF"}
@@ -4,7 +4,9 @@ export type PaneRendererContexts = {
4
4
  mainCtx: CanvasRenderingContext2D | null;
5
5
  overlayCtx: CanvasRenderingContext2D | null;
6
6
  yAxisCtx: CanvasRenderingContext2D | null;
7
+ yAxisOverlayCtx: CanvasRenderingContext2D | null;
7
8
  leftAxisCtx: CanvasRenderingContext2D | null;
9
+ leftAxisOverlayCtx: CanvasRenderingContext2D | null;
8
10
  };
9
11
  export type PaneRendererOptions = {
10
12
  rightAxisWidth: number;
@@ -1 +1 @@
1
- {"version":3,"file":"paneRenderer.d.ts","sourceRoot":"","sources":["../../src/engine/paneRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAEnD,YAAY,EAAE,eAAe,EAAE,CAAA;AAE/B,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAAA;IACxC,UAAU,EAAE,wBAAwB,GAAG,IAAI,CAAA;IAC3C,QAAQ,EAAE,wBAAwB,GAAG,IAAI,CAAA;IACzC,WAAW,EAAE,wBAAwB,GAAG,IAAI,CAAA;CAC7C,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AAOD,qBAAa,YAAY;IACvB,OAAO,CAAC,GAAG,CAAiB;IAC5B,OAAO,CAAC,IAAI,CAA8B;IAC1C,OAAO,CAAC,GAAG,CAAqB;IAChC,OAAO,CAAC,QAAQ,CAAoC;gBAExC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,eAAe,EAAE,IAAI,EAAE,GAAG,EAAE,mBAAmB;IAS9F,oBAAoB;IACpB,OAAO,IAAI,OAAO,eAAe,EAAE,IAAI;IAIvC,gBAAgB;IAChB,MAAM,IAAI,eAAe;IAIzB,WAAW,IAAI,oBAAoB;IAYnC,OAAO,CAAC,MAAM,CAAC,YAAY;IAsB3B;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAqCjD,yBAAyB;IACzB,OAAO;CAGR"}
1
+ {"version":3,"file":"paneRenderer.d.ts","sourceRoot":"","sources":["../../src/engine/paneRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAEnD,YAAY,EAAE,eAAe,EAAE,CAAA;AAE/B,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAAA;IACxC,UAAU,EAAE,wBAAwB,GAAG,IAAI,CAAA;IAC3C,QAAQ,EAAE,wBAAwB,GAAG,IAAI,CAAA;IACzC,eAAe,EAAE,wBAAwB,GAAG,IAAI,CAAA;IAChD,WAAW,EAAE,wBAAwB,GAAG,IAAI,CAAA;IAC5C,kBAAkB,EAAE,wBAAwB,GAAG,IAAI,CAAA;CACpD,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AAOD,qBAAa,YAAY;IACvB,OAAO,CAAC,GAAG,CAAiB;IAC5B,OAAO,CAAC,IAAI,CAA8B;IAC1C,OAAO,CAAC,GAAG,CAAqB;IAChC,OAAO,CAAC,QAAQ,CAAoC;gBAExC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,eAAe,EAAE,IAAI,EAAE,GAAG,EAAE,mBAAmB;IAS9F,oBAAoB;IACpB,OAAO,IAAI,OAAO,eAAe,EAAE,IAAI;IAIvC,gBAAgB;IAChB,MAAM,IAAI,eAAe;IAIzB,WAAW,IAAI,oBAAoB;IAcnC,OAAO,CAAC,MAAM,CAAC,YAAY;IAsB3B;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAwCjD,yBAAyB;IACzB,OAAO;CAGR"}
@@ -1,5 +1,5 @@
1
1
  /* PaneRenderer:负责单个 Pane 的 Canvas 管理与运行时状态持有
2
- 创建并管理 mainCanvas / overlayCanvas / yAxisCanvas
2
+ 创建并管理 main/overlay/yAxis/yAxisOverlay(及可选 left 轴)canvas
3
3
  持有 Pane 实例(布局、Y 轴、价格范围)
4
4
  响应 Chart 的 resize / layout 信号
5
5
  GPU 绘制经 ChartRenderer.sceneRenderer(SharedWebGLSurface),本类不再持有 per-pane surface */
@@ -30,7 +30,9 @@ export class PaneRenderer {
30
30
  mainCtx: this.dom.mainCanvas.getContext('2d'),
31
31
  overlayCtx: this.dom.overlayCanvas.getContext('2d'),
32
32
  yAxisCtx: this.dom.yAxisCanvas.getContext('2d'),
33
+ yAxisOverlayCtx: this.dom.yAxisOverlayCanvas.getContext('2d'),
33
34
  leftAxisCtx: this.dom.leftYAxisCanvas?.getContext('2d') ?? null,
35
+ leftAxisOverlayCtx: this.dom.leftYAxisOverlayCanvas?.getContext('2d') ?? null,
34
36
  };
35
37
  }
36
38
  return this.contexts;
@@ -61,6 +63,7 @@ export class PaneRenderer {
61
63
  const mainCanvas = this.dom.mainCanvas;
62
64
  const overlayCanvas = this.dom.overlayCanvas;
63
65
  const yAxisCanvas = this.dom.yAxisCanvas;
66
+ const yAxisOverlayCanvas = this.dom.yAxisOverlayCanvas;
64
67
  // 先读取 parentClientWidth,避免在写入样式后读取触发强制回流
65
68
  const fallbackYAxisWidth = this.opt.rightAxisWidth + (this.opt.priceLabelWidth || 60);
66
69
  const parentClientWidth = yAxisCanvas.parentElement?.clientWidth ?? 0;
@@ -71,16 +74,23 @@ export class PaneRenderer {
71
74
  PaneRenderer.resizeCanvas(mainCanvas, mainWidth, mainHeight, dpr);
72
75
  // Overlay Canvas - 与 Main Canvas 相同尺寸
73
76
  PaneRenderer.resizeCanvas(overlayCanvas, mainWidth, mainHeight, dpr);
74
- // YAxis Canvas
77
+ // YAxis Canvas + overlay 轴(同尺寸)
75
78
  const yAxisWidth = Math.round(canvasYAxisWidth * dpr);
76
- PaneRenderer.resizeCanvas(yAxisCanvas, yAxisWidth, Math.round(height * dpr), dpr);
77
- // Left YAxis Canvas
79
+ const yAxisHeight = Math.round(height * dpr);
80
+ PaneRenderer.resizeCanvas(yAxisCanvas, yAxisWidth, yAxisHeight, dpr);
81
+ PaneRenderer.resizeCanvas(yAxisOverlayCanvas, yAxisWidth, yAxisHeight, dpr);
82
+ // Left YAxis Canvas + overlay
78
83
  const leftCanvas = this.dom.leftYAxisCanvas;
84
+ const leftOverlayCanvas = this.dom.leftYAxisOverlayCanvas;
79
85
  if (leftCanvas) {
80
86
  const fallbackLeftAxisWidth = this.opt.leftAxisWidth;
81
87
  const leftParentWidth = leftCanvas.parentElement?.clientWidth ?? 0;
82
88
  const canvasLeftAxisWidth = leftParentWidth > 0 ? leftParentWidth : fallbackLeftAxisWidth;
83
- PaneRenderer.resizeCanvas(leftCanvas, Math.round(Math.max(canvasLeftAxisWidth, 0) * dpr), Math.round(height * dpr), dpr);
89
+ const leftW = Math.round(Math.max(canvasLeftAxisWidth, 0) * dpr);
90
+ PaneRenderer.resizeCanvas(leftCanvas, leftW, yAxisHeight, dpr);
91
+ if (leftOverlayCanvas) {
92
+ PaneRenderer.resizeCanvas(leftOverlayCanvas, leftW, yAxisHeight, dpr);
93
+ }
84
94
  }
85
95
  }
86
96
  /** 销毁 PaneRenderer 实例 */
@@ -1 +1 @@
1
- {"version":3,"file":"paneRenderer.js","sourceRoot":"","sources":["../../src/engine/paneRenderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paneRenderer.js","sourceRoot":"","sources":["../../src/engine/paneRenderer.ts"],"names":[],"mappings":"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"}
@@ -12,12 +12,16 @@ import { UpdateLevel } from '../layout/pane';
12
12
  import { MarkerManager, type MarkerManagerDeps } from '../marker/registry';
13
13
  import type { ChartModeHandler } from '../modes/types';
14
14
  import { PaneRenderer } from '../paneRenderer';
15
- import { ChartViewportManager } from '../viewport/chartViewportManager';
16
15
  import type { ReadonlySignal } from '../../foundation/reactivity/signal';
16
+ import type { ViewportStateModule } from '../state/viewportState';
17
+ import type { ZoomStateModule } from '../state/zoomState';
18
+ import type { OptionsStateModule } from '../state/optionsState';
17
19
  type ResolvedChartOptions = Omit<ChartOptions, 'kWidth' | 'kGap'> & {
18
20
  kWidth: number;
19
21
  kGap: number;
20
22
  };
23
+ /** Main 与 Overlay 合并为 All,其余取更全或后者 */
24
+ export declare function mergeUpdateLevel(current: UpdateLevel, next: UpdateLevel): UpdateLevel;
21
25
  export interface RendererDependencies {
22
26
  getDom: () => ChartDom;
23
27
  getOption: () => ResolvedChartOptions;
@@ -26,10 +30,14 @@ export interface RendererDependencies {
26
30
  getSceneRenderer: () => Renderer;
27
31
  getPluginHost: () => PluginHostImpl;
28
32
  getRendererPluginManager: () => RendererPluginManager;
29
- getTheme: () => 'light' | 'dark';
30
- getCurrentZoomLevel: () => number;
31
- getZoomLevelCount: () => number;
32
- getViewportManager: () => ChartViewportManager;
33
+ /** 生效主题 SSOT */
34
+ theme$: ReadonlySignal<'light' | 'dark'>;
35
+ /** zoomLevel / kWidth SSOT */
36
+ zoom: ZoomStateModule;
37
+ /** zoomLevelCount 等 options SSOT */
38
+ options: OptionsStateModule;
39
+ /** scroll / dpr / plot 几何 SSOT */
40
+ viewport: ViewportStateModule;
33
41
  getDataManager: () => ChartDataManager;
34
42
  getIndicatorManager: () => ChartIndicatorManager;
35
43
  getActiveMode: () => ChartModeHandler;
@@ -38,6 +46,8 @@ export interface RendererDependencies {
38
46
  drawings$: DrawingStoreDeps['drawings$'];
39
47
  selectedDrawingId$: DrawingStoreDeps['selectedDrawingId$'];
40
48
  getOverlay?: DrawingStoreDeps['getOverlay'];
49
+ /** 主图图例上下文发布(canvas / external 均触发;draw 内回调) */
50
+ onLegendContext?: (ctx: import('../renderers/Indicator/mainIndicatorLegendContext').LegendTemplateContext | null) => void;
41
51
  }
42
52
  export declare class ChartRenderer {
43
53
  /** 依赖注入容器,ChartRenderer 不直接持有状态,从 deps 接口读取,也便于测试 mock */
@@ -47,10 +57,7 @@ export declare class ChartRenderer {
47
57
  * 绘制阶段不再反向写 kernel 几何(seal 在 render 回调最前、与 paint 同代)。
48
58
  */
49
59
  private readonly frameTx;
50
- /**
51
- * 与 frameTx pending 同步的重绘级别镜像。
52
- * FrameTransaction 对 level 是浅覆盖,Main/Overlay 升格在此完成。
53
- */
60
+ /** 合并多次 scheduleDraw 的 level,合并后写入 frameTx */
54
61
  private pendingLevel;
55
62
  /** 已排队的 rAF 句柄;null 表示当前没有挂起的帧调度 */
56
63
  private raf;
@@ -86,12 +93,11 @@ export declare class ChartRenderer {
86
93
  */
87
94
  scheduleDraw(level?: UpdateLevel): void;
88
95
  /**
89
- * 同步绘制一帧,走与 rAF 相同的 flush 管线(prepare → seal → paint)。
96
+ * 立即同步重绘一帧,不走 rAF
90
97
  *
91
- * 若已有 rAF 挂起:与 pendingLevel 合并后同步 flush(消费合并后的 level)。
92
- * 若正处于帧事务非 idle(render/publish 重入):只写输入并调度下一帧,禁止嵌套 flush。
93
- *
94
- * @param level - 同 scheduleDraw
98
+ * 若已有 rAF 挂起:合并本次 level 后同步 flush,把挂起的也带走。
99
+ * 若正处于帧事务非 idle(paint 重入中):只写输入,调度下一帧,不嵌套 flush。
100
+ * 与 scheduleDraw 的唯一区别:同步还是异步。
95
101
  */
96
102
  draw(level?: UpdateLevel): void;
97
103
  /**
@@ -99,21 +105,21 @@ export declare class ChartRenderer {
99
105
  * 在 paint 之前调用;引用未变时 interaction 侧应跳过 signal 通知。
100
106
  */
101
107
  private sealFrameGeometry;
108
+ /** 将 prepareFrameData 的帧几何按 level 画到 canvas,含所有 pane 的 main/overlay/yAxis 及时间轴 */
102
109
  private drawWithFrame;
103
110
  /**
104
- * 准备一帧的绘制数据:viewport、可见区间、K 线位置。
105
- *
106
- * Overlay 且上次画完没清缓存时,直接复用 cachedDrawFrame,不重复
107
- * 算 viewport 和 bar 位置。非缓存路径会刷新 cachedDrawFrame。
108
- * range 变了会调用 checkVisibleRangeGapWhenIdle,方便空闲时补数据。
109
- * TimeShare 模式按 plotWidth 平分 bar,不走 K 线物理宽度那套。
111
+ * 计算一帧的 viewport、可见区间、K 线位置。
110
112
  *
111
- * @param level - Overlay 可走缓存,Main/All 强制重算
112
- * @returns viewport 或无数据时返回 null,调用方自己清屏或跳过
113
+ * Overlay 时复用 cachedDrawFrame 跳过重算,Main/All 强制刷新缓存。
114
+ * range 变化时调 checkVisibleRangeGapWhenIdle 触发空闲补数据。
115
+ * TimeShare 模式按 plotWidth 平分 bar,覆盖 K 线位置。
113
116
  */
117
+ /** viewWidth 为 0 表示尚未完成首帧尺寸 */
118
+ private peekViewport;
114
119
  private prepareFrameData;
115
120
  private clearAxisCtx;
116
121
  clearAllCanvases(): void;
122
+ /** 遍历所有 pane,逐 pane 清 canvas → 构建 RenderContext → beginFrame → scene.paintPane,所有 pane 结束后 endFrame 统一提交 GPU / 时间轴 */
117
123
  private renderPanes;
118
124
  private renderXAxis;
119
125
  private calcKLinePositions;
@@ -1 +1 @@
1
- {"version":3,"file":"chartRenderer.d.ts","sourceRoot":"","sources":["../../../src/engine/render/chartRenderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chartRenderer.d.ts","sourceRoot":"","sources":["../../../src/engine/render/chartRenderer.ts"],"names":[],"mappings":"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"}