@363045841yyt/klinechart-core 0.8.12 → 0.8.13-alpha.0

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 (1134) hide show
  1. package/README.md +18 -12
  2. package/README.zh-CN.md +18 -12
  3. package/dist/alerts/createAlertController.d.ts.map +1 -1
  4. package/dist/alerts/createAlertController.js +2 -6
  5. package/dist/alerts/createAlertController.js.map +1 -1
  6. package/dist/alerts/index.d.ts +1 -1
  7. package/dist/alerts/index.d.ts.map +1 -1
  8. package/dist/alerts/index.js +1 -1
  9. package/dist/alerts/index.js.map +1 -1
  10. package/dist/alerts/predicates.d.ts.map +1 -1
  11. package/dist/alerts/predicates.js +1 -4
  12. package/dist/alerts/predicates.js.map +1 -1
  13. package/dist/alerts/ruleSchema.d.ts.map +1 -1
  14. package/dist/alerts/ruleSchema.js +1 -1
  15. package/dist/alerts/ruleSchema.js.map +1 -1
  16. package/dist/alerts/types.d.ts.map +1 -1
  17. package/dist/chartTypes/heikinAshi.d.ts.map +1 -1
  18. package/dist/chartTypes/heikinAshi.js.map +1 -1
  19. package/dist/chartTypes/pointAndFigure.d.ts.map +1 -1
  20. package/dist/chartTypes/pointAndFigure.js.map +1 -1
  21. package/dist/chartTypes/rangeBars.d.ts.map +1 -1
  22. package/dist/chartTypes/rangeBars.js.map +1 -1
  23. package/dist/chartTypes/renko.d.ts.map +1 -1
  24. package/dist/chartTypes/renko.js.map +1 -1
  25. package/dist/chartTypes/types.d.ts.map +1 -1
  26. package/dist/components/anchoredVwap/computeAnchoredVwap.d.ts.map +1 -1
  27. package/dist/components/anchoredVwap/computeAnchoredVwap.js.map +1 -1
  28. package/dist/components/anchoredVwap/createAnchoredVwapController.d.ts.map +1 -1
  29. package/dist/components/anchoredVwap/createAnchoredVwapController.js +6 -17
  30. package/dist/components/anchoredVwap/createAnchoredVwapController.js.map +1 -1
  31. package/dist/components/anchoredVwap/index.d.ts.map +1 -1
  32. package/dist/components/anchoredVwap/types.d.ts.map +1 -1
  33. package/dist/components/crosshairSync/createCrosshairSync.d.ts.map +1 -1
  34. package/dist/components/crosshairSync/createCrosshairSync.js.map +1 -1
  35. package/dist/components/crosshairSync/index.d.ts.map +1 -1
  36. package/dist/components/crosshairSync/index.js.map +1 -1
  37. package/dist/components/footprint/aggressor.d.ts.map +1 -1
  38. package/dist/components/footprint/aggressor.js.map +1 -1
  39. package/dist/components/footprint/createFootprintController.d.ts.map +1 -1
  40. package/dist/components/footprint/createFootprintController.js +2 -3
  41. package/dist/components/footprint/createFootprintController.js.map +1 -1
  42. package/dist/components/footprint/index.d.ts +2 -2
  43. package/dist/components/footprint/index.d.ts.map +1 -1
  44. package/dist/components/footprint/index.js +2 -2
  45. package/dist/components/footprint/index.js.map +1 -1
  46. package/dist/components/footprint/perBarStats.d.ts.map +1 -1
  47. package/dist/components/footprint/perBarStats.js.map +1 -1
  48. package/dist/components/footprint/types.d.ts.map +1 -1
  49. package/dist/components/mtfOverlay/alignToBaseIndex.d.ts.map +1 -1
  50. package/dist/components/mtfOverlay/alignToBaseIndex.js.map +1 -1
  51. package/dist/components/mtfOverlay/createMtfController.d.ts.map +1 -1
  52. package/dist/components/mtfOverlay/createMtfController.js.map +1 -1
  53. package/dist/components/mtfOverlay/index.d.ts.map +1 -1
  54. package/dist/components/mtfOverlay/resampleBars.d.ts.map +1 -1
  55. package/dist/components/mtfOverlay/resampleBars.js.map +1 -1
  56. package/dist/components/mtfOverlay/types.d.ts.map +1 -1
  57. package/dist/components/orderBookHeatmap/createHeatmapController.d.ts.map +1 -1
  58. package/dist/components/orderBookHeatmap/createHeatmapController.js +20 -3
  59. package/dist/components/orderBookHeatmap/createHeatmapController.js.map +1 -1
  60. package/dist/components/orderBookHeatmap/createOrderBookState.d.ts.map +1 -1
  61. package/dist/components/orderBookHeatmap/createOrderBookState.js +1 -3
  62. package/dist/components/orderBookHeatmap/createOrderBookState.js.map +1 -1
  63. package/dist/components/orderBookHeatmap/deltaArchive.d.ts.map +1 -1
  64. package/dist/components/orderBookHeatmap/deltaArchive.js.map +1 -1
  65. package/dist/components/orderBookHeatmap/index.d.ts.map +1 -1
  66. package/dist/components/orderBookHeatmap/logColorScale.d.ts.map +1 -1
  67. package/dist/components/orderBookHeatmap/logColorScale.js.map +1 -1
  68. package/dist/components/orderBookHeatmap/snapshotRing.d.ts.map +1 -1
  69. package/dist/components/orderBookHeatmap/snapshotRing.js.map +1 -1
  70. package/dist/components/orderBookHeatmap/types.d.ts +10 -0
  71. package/dist/components/orderBookHeatmap/types.d.ts.map +1 -1
  72. package/dist/components/volumeProfile/binning.d.ts.map +1 -1
  73. package/dist/components/volumeProfile/binning.js.map +1 -1
  74. package/dist/components/volumeProfile/createVolumeProfileController.d.ts.map +1 -1
  75. package/dist/components/volumeProfile/createVolumeProfileController.js.map +1 -1
  76. package/dist/components/volumeProfile/index.d.ts.map +1 -1
  77. package/dist/components/volumeProfile/poc.js.map +1 -1
  78. package/dist/components/volumeProfile/types.d.ts.map +1 -1
  79. package/dist/components/volumeProfile/valueArea.d.ts.map +1 -1
  80. package/dist/components/volumeProfile/valueArea.js.map +1 -1
  81. package/dist/config/chartSettings.d.ts.map +1 -1
  82. package/dist/config/chartSettings.js +56 -11
  83. package/dist/config/chartSettings.js.map +1 -1
  84. package/dist/controllers/createChartController.d.ts.map +1 -1
  85. package/dist/controllers/createChartController.js +33 -14
  86. package/dist/controllers/createChartController.js.map +1 -1
  87. package/dist/controllers/createDrawingController.d.ts.map +1 -1
  88. package/dist/controllers/createDrawingController.js.map +1 -1
  89. package/dist/controllers/createIndicatorSelectorController.d.ts.map +1 -1
  90. package/dist/controllers/createIndicatorSelectorController.js +1 -2
  91. package/dist/controllers/createIndicatorSelectorController.js.map +1 -1
  92. package/dist/controllers/createToolbarController.d.ts.map +1 -1
  93. package/dist/controllers/createToolbarController.js +1 -3
  94. package/dist/controllers/createToolbarController.js.map +1 -1
  95. package/dist/controllers/index.d.ts +7 -5
  96. package/dist/controllers/index.d.ts.map +1 -1
  97. package/dist/controllers/index.js +5 -3
  98. package/dist/controllers/index.js.map +1 -1
  99. package/dist/controllers/types.d.ts +24 -0
  100. package/dist/controllers/types.d.ts.map +1 -1
  101. package/dist/data-fetchers/baostock.d.ts.map +1 -1
  102. package/dist/data-fetchers/baostock.js.map +1 -1
  103. package/dist/data-fetchers/binance.d.ts +33 -0
  104. package/dist/data-fetchers/binance.d.ts.map +1 -0
  105. package/dist/data-fetchers/binance.js +115 -0
  106. package/dist/data-fetchers/binance.js.map +1 -0
  107. package/dist/data-fetchers/dataBuffer.d.ts.map +1 -1
  108. package/dist/data-fetchers/dataBuffer.effects.d.ts.map +1 -1
  109. package/dist/data-fetchers/dataBuffer.effects.js.map +1 -1
  110. package/dist/data-fetchers/dataBuffer.js +8 -5
  111. package/dist/data-fetchers/dataBuffer.js.map +1 -1
  112. package/dist/data-fetchers/depthConnector.d.ts +47 -0
  113. package/dist/data-fetchers/depthConnector.d.ts.map +1 -0
  114. package/dist/data-fetchers/depthConnector.js +88 -0
  115. package/dist/data-fetchers/depthConnector.js.map +1 -0
  116. package/dist/data-fetchers/depthTypes.d.ts +52 -0
  117. package/dist/data-fetchers/depthTypes.d.ts.map +1 -0
  118. package/dist/data-fetchers/depthTypes.js +9 -0
  119. package/dist/data-fetchers/depthTypes.js.map +1 -0
  120. package/dist/data-fetchers/fetcherDefinitionRegistry.d.ts.map +1 -1
  121. package/dist/data-fetchers/fetcherDefinitionRegistry.js.map +1 -1
  122. package/dist/data-fetchers/gotdx.js +13 -3
  123. package/dist/data-fetchers/gotdx.js.map +1 -1
  124. package/dist/data-fetchers/index.d.ts +4 -1
  125. package/dist/data-fetchers/index.d.ts.map +1 -1
  126. package/dist/data-fetchers/index.js +3 -1
  127. package/dist/data-fetchers/index.js.map +1 -1
  128. package/dist/data-fetchers/router.d.ts.map +1 -1
  129. package/dist/data-fetchers/router.js +1 -1
  130. package/dist/data-fetchers/router.js.map +1 -1
  131. package/dist/data-fetchers/timeShareBuffer.d.ts.map +1 -1
  132. package/dist/data-fetchers/timeShareBuffer.js.map +1 -1
  133. package/dist/data-fetchers/tradingview.js.map +1 -1
  134. package/dist/engine/chart.d.ts +6 -2
  135. package/dist/engine/chart.d.ts.map +1 -1
  136. package/dist/engine/chart.js +48 -14
  137. package/dist/engine/chart.js.map +1 -1
  138. package/dist/engine/controller/interaction.d.ts.map +1 -1
  139. package/dist/engine/controller/interaction.js +30 -9
  140. package/dist/engine/controller/interaction.js.map +1 -1
  141. package/dist/engine/controller/markerInteraction.d.ts.map +1 -1
  142. package/dist/engine/controller/markerInteraction.js.map +1 -1
  143. package/dist/engine/data/chartDataManager.d.ts +11 -1
  144. package/dist/engine/data/chartDataManager.d.ts.map +1 -1
  145. package/dist/engine/data/chartDataManager.js +71 -22
  146. package/dist/engine/data/chartDataManager.js.map +1 -1
  147. package/dist/engine/draw/pixelAlign.d.ts.map +1 -1
  148. package/dist/engine/draw/pixelAlign.js.map +1 -1
  149. package/dist/engine/drawing/HitTester.d.ts.map +1 -1
  150. package/dist/engine/drawing/HitTester.js +3 -5
  151. package/dist/engine/drawing/HitTester.js.map +1 -1
  152. package/dist/engine/drawing/PreviewRenderer.d.ts.map +1 -1
  153. package/dist/engine/drawing/PreviewRenderer.js +25 -5
  154. package/dist/engine/drawing/PreviewRenderer.js.map +1 -1
  155. package/dist/engine/drawing/index.d.ts.map +1 -1
  156. package/dist/engine/drawing/index.js +88 -20
  157. package/dist/engine/drawing/index.js.map +1 -1
  158. package/dist/engine/drawing/interaction.d.ts.map +1 -1
  159. package/dist/engine/drawing/interaction.js.map +1 -1
  160. package/dist/engine/drawing/linearRegression.d.ts.map +1 -1
  161. package/dist/engine/drawing/linearRegression.js.map +1 -1
  162. package/dist/engine/drawing/plugin.d.ts.map +1 -1
  163. package/dist/engine/drawing/plugin.js +25 -10
  164. package/dist/engine/drawing/plugin.js.map +1 -1
  165. package/dist/engine/indicators/calculators/_shared.d.ts.map +1 -1
  166. package/dist/engine/indicators/calculators/_shared.js.map +1 -1
  167. package/dist/engine/indicators/calculators/bands.d.ts.map +1 -1
  168. package/dist/engine/indicators/calculators/bands.js +2 -2
  169. package/dist/engine/indicators/calculators/bands.js.map +1 -1
  170. package/dist/engine/indicators/calculators/index.d.ts +3 -3
  171. package/dist/engine/indicators/calculators/index.d.ts.map +1 -1
  172. package/dist/engine/indicators/calculators/index.js +2 -2
  173. package/dist/engine/indicators/calculators/index.js.map +1 -1
  174. package/dist/engine/indicators/calculators/movingAverages.d.ts.map +1 -1
  175. package/dist/engine/indicators/calculators/movingAverages.js.map +1 -1
  176. package/dist/engine/indicators/calculators/oscillators.d.ts.map +1 -1
  177. package/dist/engine/indicators/calculators/oscillators.js +3 -3
  178. package/dist/engine/indicators/calculators/oscillators.js.map +1 -1
  179. package/dist/engine/indicators/calculators/patterns.d.ts.map +1 -1
  180. package/dist/engine/indicators/calculators/patterns.js +3 -2
  181. package/dist/engine/indicators/calculators/patterns.js.map +1 -1
  182. package/dist/engine/indicators/calculators/volatility.d.ts.map +1 -1
  183. package/dist/engine/indicators/calculators/volatility.js +2 -2
  184. package/dist/engine/indicators/calculators/volatility.js.map +1 -1
  185. package/dist/engine/indicators/calculators/volume.d.ts.map +1 -1
  186. package/dist/engine/indicators/calculators/volume.js +1 -1
  187. package/dist/engine/indicators/calculators/volume.js.map +1 -1
  188. package/dist/engine/indicators/chartIndicatorManager.d.ts +7 -1
  189. package/dist/engine/indicators/chartIndicatorManager.d.ts.map +1 -1
  190. package/dist/engine/indicators/chartIndicatorManager.js +44 -11
  191. package/dist/engine/indicators/chartIndicatorManager.js.map +1 -1
  192. package/dist/engine/indicators/indicator.worker.js +1 -1
  193. package/dist/engine/indicators/indicator.worker.js.map +1 -1
  194. package/dist/engine/indicators/indicatorDefinitionRegistry.d.ts.map +1 -1
  195. package/dist/engine/indicators/indicatorDefinitionRegistry.js +16 -10
  196. package/dist/engine/indicators/indicatorDefinitionRegistry.js.map +1 -1
  197. package/dist/engine/indicators/indicatorMetadata.d.ts.map +1 -1
  198. package/dist/engine/indicators/indicatorMetadata.js.map +1 -1
  199. package/dist/engine/indicators/indicatorRegistry.d.ts.map +1 -1
  200. package/dist/engine/indicators/indicatorRegistry.js +6 -3
  201. package/dist/engine/indicators/indicatorRegistry.js.map +1 -1
  202. package/dist/engine/indicators/indicatorRuntime.d.ts.map +1 -1
  203. package/dist/engine/indicators/indicatorRuntime.js +8 -8
  204. package/dist/engine/indicators/indicatorRuntime.js.map +1 -1
  205. package/dist/engine/indicators/registerBuiltins.d.ts.map +1 -1
  206. package/dist/engine/indicators/registerBuiltins.js.map +1 -1
  207. package/dist/engine/indicators/scheduler.d.ts.map +1 -1
  208. package/dist/engine/indicators/scheduler.js +19 -15
  209. package/dist/engine/indicators/scheduler.js.map +1 -1
  210. package/dist/engine/indicators/soa.d.ts.map +1 -1
  211. package/dist/engine/indicators/soa.js +1 -3
  212. package/dist/engine/indicators/soa.js.map +1 -1
  213. package/dist/engine/indicators/state/atrState.d.ts.map +1 -1
  214. package/dist/engine/indicators/state/atrState.js.map +1 -1
  215. package/dist/engine/indicators/state/bollState.d.ts.map +1 -1
  216. package/dist/engine/indicators/state/bollState.js.map +1 -1
  217. package/dist/engine/indicators/state/cciState.d.ts.map +1 -1
  218. package/dist/engine/indicators/state/cciState.js.map +1 -1
  219. package/dist/engine/indicators/state/chaikinVolState.d.ts.map +1 -1
  220. package/dist/engine/indicators/state/chaikinVolState.js.map +1 -1
  221. package/dist/engine/indicators/state/cmfState.d.ts.map +1 -1
  222. package/dist/engine/indicators/state/cmfState.js.map +1 -1
  223. package/dist/engine/indicators/state/demaState.d.ts.map +1 -1
  224. package/dist/engine/indicators/state/demaState.js.map +1 -1
  225. package/dist/engine/indicators/state/donchianState.d.ts.map +1 -1
  226. package/dist/engine/indicators/state/donchianState.js.map +1 -1
  227. package/dist/engine/indicators/state/eneState.d.ts.map +1 -1
  228. package/dist/engine/indicators/state/eneState.js.map +1 -1
  229. package/dist/engine/indicators/state/expmaState.d.ts.map +1 -1
  230. package/dist/engine/indicators/state/expmaState.js.map +1 -1
  231. package/dist/engine/indicators/state/fastkState.d.ts.map +1 -1
  232. package/dist/engine/indicators/state/fastkState.js.map +1 -1
  233. package/dist/engine/indicators/state/fibState.d.ts.map +1 -1
  234. package/dist/engine/indicators/state/fibState.js.map +1 -1
  235. package/dist/engine/indicators/state/hmaState.d.ts.map +1 -1
  236. package/dist/engine/indicators/state/hmaState.js.map +1 -1
  237. package/dist/engine/indicators/state/hvState.d.ts.map +1 -1
  238. package/dist/engine/indicators/state/hvState.js +5 -1
  239. package/dist/engine/indicators/state/hvState.js.map +1 -1
  240. package/dist/engine/indicators/state/ichimokuState.d.ts.map +1 -1
  241. package/dist/engine/indicators/state/ichimokuState.js.map +1 -1
  242. package/dist/engine/indicators/state/kamaState.d.ts.map +1 -1
  243. package/dist/engine/indicators/state/kamaState.js.map +1 -1
  244. package/dist/engine/indicators/state/keltnerState.d.ts.map +1 -1
  245. package/dist/engine/indicators/state/keltnerState.js.map +1 -1
  246. package/dist/engine/indicators/state/kstState.d.ts.map +1 -1
  247. package/dist/engine/indicators/state/kstState.js.map +1 -1
  248. package/dist/engine/indicators/state/maState.d.ts.map +1 -1
  249. package/dist/engine/indicators/state/maState.js.map +1 -1
  250. package/dist/engine/indicators/state/mfiState.d.ts.map +1 -1
  251. package/dist/engine/indicators/state/mfiState.js.map +1 -1
  252. package/dist/engine/indicators/state/momState.d.ts.map +1 -1
  253. package/dist/engine/indicators/state/momState.js.map +1 -1
  254. package/dist/engine/indicators/state/obvState.d.ts.map +1 -1
  255. package/dist/engine/indicators/state/obvState.js.map +1 -1
  256. package/dist/engine/indicators/state/parkinsonState.d.ts.map +1 -1
  257. package/dist/engine/indicators/state/parkinsonState.js +5 -1
  258. package/dist/engine/indicators/state/parkinsonState.js.map +1 -1
  259. package/dist/engine/indicators/state/pivotState.d.ts.map +1 -1
  260. package/dist/engine/indicators/state/pivotState.js.map +1 -1
  261. package/dist/engine/indicators/state/pvtState.d.ts.map +1 -1
  262. package/dist/engine/indicators/state/pvtState.js.map +1 -1
  263. package/dist/engine/indicators/state/rocState.d.ts.map +1 -1
  264. package/dist/engine/indicators/state/rocState.js.map +1 -1
  265. package/dist/engine/indicators/state/rsiState.d.ts.map +1 -1
  266. package/dist/engine/indicators/state/rsiState.js.map +1 -1
  267. package/dist/engine/indicators/state/sarState.d.ts.map +1 -1
  268. package/dist/engine/indicators/state/sarState.js.map +1 -1
  269. package/dist/engine/indicators/state/stochState.d.ts.map +1 -1
  270. package/dist/engine/indicators/state/stochState.js.map +1 -1
  271. package/dist/engine/indicators/state/structureState.d.ts.map +1 -1
  272. package/dist/engine/indicators/state/structureState.js.map +1 -1
  273. package/dist/engine/indicators/state/supertrendState.d.ts.map +1 -1
  274. package/dist/engine/indicators/state/supertrendState.js.map +1 -1
  275. package/dist/engine/indicators/state/temaState.d.ts.map +1 -1
  276. package/dist/engine/indicators/state/temaState.js.map +1 -1
  277. package/dist/engine/indicators/state/trixState.d.ts.map +1 -1
  278. package/dist/engine/indicators/state/trixState.js.map +1 -1
  279. package/dist/engine/indicators/state/vmaState.d.ts.map +1 -1
  280. package/dist/engine/indicators/state/vmaState.js.map +1 -1
  281. package/dist/engine/indicators/state/volumeProfileState.d.ts.map +1 -1
  282. package/dist/engine/indicators/state/volumeProfileState.js.map +1 -1
  283. package/dist/engine/indicators/state/vwapState.d.ts.map +1 -1
  284. package/dist/engine/indicators/state/vwapState.js.map +1 -1
  285. package/dist/engine/indicators/state/wmaState.d.ts.map +1 -1
  286. package/dist/engine/indicators/state/wmaState.js.map +1 -1
  287. package/dist/engine/indicators/state/wmsrState.d.ts.map +1 -1
  288. package/dist/engine/indicators/state/wmsrState.js.map +1 -1
  289. package/dist/engine/indicators/state/zonesState.d.ts.map +1 -1
  290. package/dist/engine/indicators/state/zonesState.js.map +1 -1
  291. package/dist/engine/indicators/stateComposer.d.ts.map +1 -1
  292. package/dist/engine/indicators/stateComposer.js +1 -1
  293. package/dist/engine/indicators/stateComposer.js.map +1 -1
  294. package/dist/engine/indicators/visibleStateComposers.d.ts.map +1 -1
  295. package/dist/engine/indicators/visibleStateComposers.js +9 -11
  296. package/dist/engine/indicators/visibleStateComposers.js.map +1 -1
  297. package/dist/engine/indicators/workerProtocol.d.ts.map +1 -1
  298. package/dist/engine/indicators/workerProtocol.js.map +1 -1
  299. package/dist/engine/layout/chartPaneLayout.d.ts.map +1 -1
  300. package/dist/engine/layout/chartPaneLayout.js +2 -5
  301. package/dist/engine/layout/chartPaneLayout.js.map +1 -1
  302. package/dist/engine/layout/pane.d.ts.map +1 -1
  303. package/dist/engine/layout/pane.js +3 -1
  304. package/dist/engine/layout/pane.js.map +1 -1
  305. package/dist/engine/marker/registry.d.ts.map +1 -1
  306. package/dist/engine/marker/registry.js +8 -6
  307. package/dist/engine/marker/registry.js.map +1 -1
  308. package/dist/engine/modes/kLineMode.d.ts.map +1 -1
  309. package/dist/engine/modes/kLineMode.js +2 -4
  310. package/dist/engine/modes/kLineMode.js.map +1 -1
  311. package/dist/engine/modes/timeShareMode.d.ts.map +1 -1
  312. package/dist/engine/modes/timeShareMode.js.map +1 -1
  313. package/dist/engine/modes/types.d.ts.map +1 -1
  314. package/dist/engine/paneRenderer.d.ts.map +1 -1
  315. package/dist/engine/paneRenderer.js.map +1 -1
  316. package/dist/engine/render/chartRenderer.d.ts +11 -2
  317. package/dist/engine/render/chartRenderer.d.ts.map +1 -1
  318. package/dist/engine/render/chartRenderer.js +204 -96
  319. package/dist/engine/render/chartRenderer.js.map +1 -1
  320. package/dist/engine/render/layers/candleLayer.d.ts +4 -0
  321. package/dist/engine/render/layers/candleLayer.d.ts.map +1 -0
  322. package/dist/engine/render/layers/candleLayer.js +7 -0
  323. package/dist/engine/render/layers/candleLayer.js.map +1 -0
  324. package/dist/engine/render/layers/comparisonLineLayer.d.ts +4 -0
  325. package/dist/engine/render/layers/comparisonLineLayer.d.ts.map +1 -0
  326. package/dist/engine/render/layers/comparisonLineLayer.js +7 -0
  327. package/dist/engine/render/layers/comparisonLineLayer.js.map +1 -0
  328. package/dist/engine/render/layers/crosshairLayer.d.ts +14 -0
  329. package/dist/engine/render/layers/crosshairLayer.d.ts.map +1 -0
  330. package/dist/engine/render/layers/crosshairLayer.js +6 -0
  331. package/dist/engine/render/layers/crosshairLayer.js.map +1 -0
  332. package/dist/engine/render/layers/customMarkersLayer.d.ts +4 -0
  333. package/dist/engine/render/layers/customMarkersLayer.d.ts.map +1 -0
  334. package/dist/engine/render/layers/customMarkersLayer.js +6 -0
  335. package/dist/engine/render/layers/customMarkersLayer.js.map +1 -0
  336. package/dist/engine/render/layers/extremaMarkersLayer.d.ts +4 -0
  337. package/dist/engine/render/layers/extremaMarkersLayer.d.ts.map +1 -0
  338. package/dist/engine/render/layers/extremaMarkersLayer.js +6 -0
  339. package/dist/engine/render/layers/extremaMarkersLayer.js.map +1 -0
  340. package/dist/engine/render/layers/gridLinesLayer.d.ts +4 -0
  341. package/dist/engine/render/layers/gridLinesLayer.d.ts.map +1 -0
  342. package/dist/engine/render/layers/gridLinesLayer.js +6 -0
  343. package/dist/engine/render/layers/gridLinesLayer.js.map +1 -0
  344. package/dist/engine/render/layers/lastPriceLabelLayer.d.ts +4 -0
  345. package/dist/engine/render/layers/lastPriceLabelLayer.d.ts.map +1 -0
  346. package/dist/engine/render/layers/lastPriceLabelLayer.js +6 -0
  347. package/dist/engine/render/layers/lastPriceLabelLayer.js.map +1 -0
  348. package/dist/engine/render/layers/lastPriceLineLayer.d.ts +4 -0
  349. package/dist/engine/render/layers/lastPriceLineLayer.d.ts.map +1 -0
  350. package/dist/engine/render/layers/lastPriceLineLayer.js +7 -0
  351. package/dist/engine/render/layers/lastPriceLineLayer.js.map +1 -0
  352. package/dist/engine/render/layers/leftYAxisLayer.d.ts +12 -0
  353. package/dist/engine/render/layers/leftYAxisLayer.d.ts.map +1 -0
  354. package/dist/engine/render/layers/leftYAxisLayer.js +6 -0
  355. package/dist/engine/render/layers/leftYAxisLayer.js.map +1 -0
  356. package/dist/engine/render/layers/mainIndicatorLegendLayer.d.ts +6 -0
  357. package/dist/engine/render/layers/mainIndicatorLegendLayer.d.ts.map +1 -0
  358. package/dist/engine/render/layers/mainIndicatorLegendLayer.js +13 -0
  359. package/dist/engine/render/layers/mainIndicatorLegendLayer.js.map +1 -0
  360. package/dist/engine/render/layers/yAxisLayer.d.ts +12 -0
  361. package/dist/engine/render/layers/yAxisLayer.d.ts.map +1 -0
  362. package/dist/engine/render/layers/yAxisLayer.js +6 -0
  363. package/dist/engine/render/layers/yAxisLayer.js.map +1 -0
  364. package/dist/engine/renderers/Indicator/atr.js +8 -3
  365. package/dist/engine/renderers/Indicator/atr.js.map +1 -1
  366. package/dist/engine/renderers/Indicator/boll.d.ts.map +1 -1
  367. package/dist/engine/renderers/Indicator/boll.js +27 -6
  368. package/dist/engine/renderers/Indicator/boll.js.map +1 -1
  369. package/dist/engine/renderers/Indicator/cci.js +4 -4
  370. package/dist/engine/renderers/Indicator/cci.js.map +1 -1
  371. package/dist/engine/renderers/Indicator/chaikinVol.js +17 -5
  372. package/dist/engine/renderers/Indicator/chaikinVol.js.map +1 -1
  373. package/dist/engine/renderers/Indicator/cmf.js +13 -3
  374. package/dist/engine/renderers/Indicator/cmf.js.map +1 -1
  375. package/dist/engine/renderers/Indicator/dema.js +16 -4
  376. package/dist/engine/renderers/Indicator/dema.js.map +1 -1
  377. package/dist/engine/renderers/Indicator/donchian.js +26 -7
  378. package/dist/engine/renderers/Indicator/donchian.js.map +1 -1
  379. package/dist/engine/renderers/Indicator/ene.d.ts.map +1 -1
  380. package/dist/engine/renderers/Indicator/ene.js +7 -3
  381. package/dist/engine/renderers/Indicator/ene.js.map +1 -1
  382. package/dist/engine/renderers/Indicator/expma.d.ts.map +1 -1
  383. package/dist/engine/renderers/Indicator/expma.js +8 -5
  384. package/dist/engine/renderers/Indicator/expma.js.map +1 -1
  385. package/dist/engine/renderers/Indicator/fastk.js.map +1 -1
  386. package/dist/engine/renderers/Indicator/fib.js +26 -7
  387. package/dist/engine/renderers/Indicator/fib.js.map +1 -1
  388. package/dist/engine/renderers/Indicator/hma.js +16 -4
  389. package/dist/engine/renderers/Indicator/hma.js.map +1 -1
  390. package/dist/engine/renderers/Indicator/hv.js +18 -4
  391. package/dist/engine/renderers/Indicator/hv.js.map +1 -1
  392. package/dist/engine/renderers/Indicator/ichimoku.js +52 -8
  393. package/dist/engine/renderers/Indicator/ichimoku.js.map +1 -1
  394. package/dist/engine/renderers/Indicator/index.d.ts.map +1 -1
  395. package/dist/engine/renderers/Indicator/index.js.map +1 -1
  396. package/dist/engine/renderers/Indicator/indicatorCatalog.d.ts.map +1 -1
  397. package/dist/engine/renderers/Indicator/indicatorCatalog.js +661 -66
  398. package/dist/engine/renderers/Indicator/indicatorCatalog.js.map +1 -1
  399. package/dist/engine/renderers/Indicator/kama.js +16 -4
  400. package/dist/engine/renderers/Indicator/kama.js.map +1 -1
  401. package/dist/engine/renderers/Indicator/keltner.js +37 -7
  402. package/dist/engine/renderers/Indicator/keltner.js.map +1 -1
  403. package/dist/engine/renderers/Indicator/kst.js +22 -5
  404. package/dist/engine/renderers/Indicator/kst.js.map +1 -1
  405. package/dist/engine/renderers/Indicator/ma.d.ts.map +1 -1
  406. package/dist/engine/renderers/Indicator/ma.js +26 -10
  407. package/dist/engine/renderers/Indicator/ma.js.map +1 -1
  408. package/dist/engine/renderers/Indicator/macd.js +29 -10
  409. package/dist/engine/renderers/Indicator/macd.js.map +1 -1
  410. package/dist/engine/renderers/Indicator/mainIndicatorLegend.d.ts.map +1 -1
  411. package/dist/engine/renderers/Indicator/mainIndicatorLegend.js +3 -2
  412. package/dist/engine/renderers/Indicator/mainIndicatorLegend.js.map +1 -1
  413. package/dist/engine/renderers/Indicator/mfi.js +13 -3
  414. package/dist/engine/renderers/Indicator/mfi.js.map +1 -1
  415. package/dist/engine/renderers/Indicator/mom.js +1 -1
  416. package/dist/engine/renderers/Indicator/mom.js.map +1 -1
  417. package/dist/engine/renderers/Indicator/obv.js +12 -3
  418. package/dist/engine/renderers/Indicator/obv.js.map +1 -1
  419. package/dist/engine/renderers/Indicator/parkinson.js +21 -5
  420. package/dist/engine/renderers/Indicator/parkinson.js.map +1 -1
  421. package/dist/engine/renderers/Indicator/pivot.js +42 -6
  422. package/dist/engine/renderers/Indicator/pivot.js.map +1 -1
  423. package/dist/engine/renderers/Indicator/pvt.js +12 -3
  424. package/dist/engine/renderers/Indicator/pvt.js.map +1 -1
  425. package/dist/engine/renderers/Indicator/roc.js +13 -3
  426. package/dist/engine/renderers/Indicator/roc.js.map +1 -1
  427. package/dist/engine/renderers/Indicator/rsi.js +30 -16
  428. package/dist/engine/renderers/Indicator/rsi.js.map +1 -1
  429. package/dist/engine/renderers/Indicator/sar.js +15 -8
  430. package/dist/engine/renderers/Indicator/sar.js.map +1 -1
  431. package/dist/engine/renderers/Indicator/scale/atr_scale.d.ts.map +1 -1
  432. package/dist/engine/renderers/Indicator/scale/atr_scale.js.map +1 -1
  433. package/dist/engine/renderers/Indicator/scale/cci_scale.d.ts.map +1 -1
  434. package/dist/engine/renderers/Indicator/scale/cci_scale.js.map +1 -1
  435. package/dist/engine/renderers/Indicator/scale/fastk_scale.d.ts.map +1 -1
  436. package/dist/engine/renderers/Indicator/scale/fastk_scale.js.map +1 -1
  437. package/dist/engine/renderers/Indicator/scale/indicator_scale.d.ts.map +1 -1
  438. package/dist/engine/renderers/Indicator/scale/indicator_scale.js +1 -1
  439. package/dist/engine/renderers/Indicator/scale/indicator_scale.js.map +1 -1
  440. package/dist/engine/renderers/Indicator/scale/kst_scale.d.ts.map +1 -1
  441. package/dist/engine/renderers/Indicator/scale/kst_scale.js.map +1 -1
  442. package/dist/engine/renderers/Indicator/scale/macd_scale.d.ts.map +1 -1
  443. package/dist/engine/renderers/Indicator/scale/macd_scale.js.map +1 -1
  444. package/dist/engine/renderers/Indicator/scale/mom_scale.d.ts.map +1 -1
  445. package/dist/engine/renderers/Indicator/scale/mom_scale.js.map +1 -1
  446. package/dist/engine/renderers/Indicator/scale/rsi_scale.d.ts.map +1 -1
  447. package/dist/engine/renderers/Indicator/scale/rsi_scale.js.map +1 -1
  448. package/dist/engine/renderers/Indicator/scale/stoch_scale.d.ts.map +1 -1
  449. package/dist/engine/renderers/Indicator/scale/stoch_scale.js.map +1 -1
  450. package/dist/engine/renderers/Indicator/scale/volume_scale.d.ts.map +1 -1
  451. package/dist/engine/renderers/Indicator/scale/volume_scale.js.map +1 -1
  452. package/dist/engine/renderers/Indicator/scale/wmsr_scale.d.ts.map +1 -1
  453. package/dist/engine/renderers/Indicator/scale/wmsr_scale.js.map +1 -1
  454. package/dist/engine/renderers/Indicator/shared/dashedLines.d.ts.map +1 -1
  455. package/dist/engine/renderers/Indicator/shared/dashedLines.js +2 -2
  456. package/dist/engine/renderers/Indicator/shared/dashedLines.js.map +1 -1
  457. package/dist/engine/renderers/Indicator/shared/titleInfo.d.ts.map +1 -1
  458. package/dist/engine/renderers/Indicator/shared/titleInfo.js +3 -1
  459. package/dist/engine/renderers/Indicator/shared/titleInfo.js.map +1 -1
  460. package/dist/engine/renderers/Indicator/stoch.js +11 -2
  461. package/dist/engine/renderers/Indicator/stoch.js.map +1 -1
  462. package/dist/engine/renderers/Indicator/structure.js +46 -8
  463. package/dist/engine/renderers/Indicator/structure.js.map +1 -1
  464. package/dist/engine/renderers/Indicator/supertrend.js +26 -8
  465. package/dist/engine/renderers/Indicator/supertrend.js.map +1 -1
  466. package/dist/engine/renderers/Indicator/tema.js +16 -4
  467. package/dist/engine/renderers/Indicator/tema.js.map +1 -1
  468. package/dist/engine/renderers/Indicator/trix.js +12 -3
  469. package/dist/engine/renderers/Indicator/trix.js.map +1 -1
  470. package/dist/engine/renderers/Indicator/vma.js +13 -3
  471. package/dist/engine/renderers/Indicator/vma.js.map +1 -1
  472. package/dist/engine/renderers/Indicator/volumeProfile.js +24 -7
  473. package/dist/engine/renderers/Indicator/volumeProfile.js.map +1 -1
  474. package/dist/engine/renderers/Indicator/vwap.js +12 -3
  475. package/dist/engine/renderers/Indicator/vwap.js.map +1 -1
  476. package/dist/engine/renderers/Indicator/wma.js +16 -4
  477. package/dist/engine/renderers/Indicator/wma.js.map +1 -1
  478. package/dist/engine/renderers/Indicator/wmsr.js +3 -3
  479. package/dist/engine/renderers/Indicator/wmsr.js.map +1 -1
  480. package/dist/engine/renderers/Indicator/zones.js +31 -11
  481. package/dist/engine/renderers/Indicator/zones.js.map +1 -1
  482. package/dist/engine/renderers/candle.d.ts.map +1 -1
  483. package/dist/engine/renderers/candle.js +27 -21
  484. package/dist/engine/renderers/candle.js.map +1 -1
  485. package/dist/engine/renderers/comparisonLine.d.ts.map +1 -1
  486. package/dist/engine/renderers/comparisonLine.js +3 -1
  487. package/dist/engine/renderers/comparisonLine.js.map +1 -1
  488. package/dist/engine/renderers/crosshair.d.ts.map +1 -1
  489. package/dist/engine/renderers/crosshair.js.map +1 -1
  490. package/dist/engine/renderers/customMarkers.d.ts.map +1 -1
  491. package/dist/engine/renderers/customMarkers.js +2 -2
  492. package/dist/engine/renderers/customMarkers.js.map +1 -1
  493. package/dist/engine/renderers/extremaMarkers.d.ts.map +1 -1
  494. package/dist/engine/renderers/extremaMarkers.js +6 -2
  495. package/dist/engine/renderers/extremaMarkers.js.map +1 -1
  496. package/dist/engine/renderers/gridLines.d.ts.map +1 -1
  497. package/dist/engine/renderers/gridLines.js.map +1 -1
  498. package/dist/engine/renderers/lastPrice.d.ts.map +1 -1
  499. package/dist/engine/renderers/lastPrice.js +6 -2
  500. package/dist/engine/renderers/lastPrice.js.map +1 -1
  501. package/dist/engine/renderers/leftYAxis.d.ts.map +1 -1
  502. package/dist/engine/renderers/leftYAxis.js +7 -3
  503. package/dist/engine/renderers/leftYAxis.js.map +1 -1
  504. package/dist/engine/renderers/paneTitle.d.ts.map +1 -1
  505. package/dist/engine/renderers/paneTitle.js.map +1 -1
  506. package/dist/engine/renderers/subVolume.js +8 -5
  507. package/dist/engine/renderers/subVolume.js.map +1 -1
  508. package/dist/engine/renderers/timeAxis.d.ts.map +1 -1
  509. package/dist/engine/renderers/timeAxis.js.map +1 -1
  510. package/dist/engine/renderers/timeShare.d.ts.map +1 -1
  511. package/dist/engine/renderers/timeShare.js +2 -5
  512. package/dist/engine/renderers/timeShare.js.map +1 -1
  513. package/dist/engine/renderers/webgl/candleSurface.d.ts.map +1 -1
  514. package/dist/engine/renderers/webgl/candleSurface.js +13 -14
  515. package/dist/engine/renderers/webgl/candleSurface.js.map +1 -1
  516. package/dist/engine/renderers/webgl/sharedWebGLSurface.d.ts +20 -0
  517. package/dist/engine/renderers/webgl/sharedWebGLSurface.d.ts.map +1 -1
  518. package/dist/engine/renderers/webgl/sharedWebGLSurface.js.map +1 -1
  519. package/dist/engine/renderers/yAxis.d.ts.map +1 -1
  520. package/dist/engine/renderers/yAxis.js +1 -1
  521. package/dist/engine/renderers/yAxis.js.map +1 -1
  522. package/dist/engine/scale/logFormula.d.ts.map +1 -1
  523. package/dist/engine/scale/logFormula.js.map +1 -1
  524. package/dist/engine/scale/price.js.map +1 -1
  525. package/dist/engine/scale/priceScale.d.ts.map +1 -1
  526. package/dist/engine/scale/priceScale.js +1 -1
  527. package/dist/engine/scale/priceScale.js.map +1 -1
  528. package/dist/engine/subPaneManager.d.ts +11 -1
  529. package/dist/engine/subPaneManager.d.ts.map +1 -1
  530. package/dist/engine/subPaneManager.js +59 -6
  531. package/dist/engine/subPaneManager.js.map +1 -1
  532. package/dist/engine/theme/fonts.js.map +1 -1
  533. package/dist/engine/utils/chartZoomController.d.ts.map +1 -1
  534. package/dist/engine/utils/chartZoomController.js.map +1 -1
  535. package/dist/engine/utils/klineConfig.js.map +1 -1
  536. package/dist/engine/utils/tickCount.js.map +1 -1
  537. package/dist/engine/utils/tickPosition.d.ts.map +1 -1
  538. package/dist/engine/utils/tickPosition.js.map +1 -1
  539. package/dist/engine/viewport/chartViewportManager.d.ts.map +1 -1
  540. package/dist/engine/viewport/chartViewportManager.js +16 -13
  541. package/dist/engine/viewport/chartViewportManager.js.map +1 -1
  542. package/dist/engine/viewport/viewport.d.ts.map +1 -1
  543. package/dist/engine/viewport/viewport.js.map +1 -1
  544. package/dist/errors-help.d.ts.map +1 -1
  545. package/dist/errors-help.js +1 -0
  546. package/dist/errors-help.js.map +1 -1
  547. package/dist/errors.d.ts +1 -1
  548. package/dist/errors.d.ts.map +1 -1
  549. package/dist/errors.js.map +1 -1
  550. package/dist/index.d.ts +1 -1
  551. package/dist/index.d.ts.map +1 -1
  552. package/dist/index.js +1 -1
  553. package/dist/index.js.map +1 -1
  554. package/dist/indicators/alma.d.ts.map +1 -1
  555. package/dist/indicators/alma.js.map +1 -1
  556. package/dist/indicators/awesomeOscillator.d.ts.map +1 -1
  557. package/dist/indicators/awesomeOscillator.js.map +1 -1
  558. package/dist/indicators/dpo.d.ts.map +1 -1
  559. package/dist/indicators/dpo.js.map +1 -1
  560. package/dist/indicators/fisherTransform.d.ts.map +1 -1
  561. package/dist/indicators/fisherTransform.js.map +1 -1
  562. package/dist/indicators/frama.d.ts.map +1 -1
  563. package/dist/indicators/frama.js.map +1 -1
  564. package/dist/indicators/index.d.ts +4 -4
  565. package/dist/indicators/index.d.ts.map +1 -1
  566. package/dist/indicators/index.js +4 -4
  567. package/dist/indicators/index.js.map +1 -1
  568. package/dist/indicators/lsma.d.ts.map +1 -1
  569. package/dist/indicators/lsma.js.map +1 -1
  570. package/dist/indicators/schaffTrendCycle.d.ts.map +1 -1
  571. package/dist/indicators/schaffTrendCycle.js.map +1 -1
  572. package/dist/indicators/stochRSI.d.ts.map +1 -1
  573. package/dist/indicators/stochRSI.js.map +1 -1
  574. package/dist/indicators/t3.d.ts.map +1 -1
  575. package/dist/indicators/t3.js +1 -4
  576. package/dist/indicators/t3.js.map +1 -1
  577. package/dist/indicators/ultimateOscillator.d.ts.map +1 -1
  578. package/dist/indicators/ultimateOscillator.js.map +1 -1
  579. package/dist/indicators/vidya.d.ts.map +1 -1
  580. package/dist/indicators/vidya.js.map +1 -1
  581. package/dist/indicators/zlema.d.ts.map +1 -1
  582. package/dist/indicators/zlema.js.map +1 -1
  583. package/dist/input/gesture.d.ts.map +1 -1
  584. package/dist/input/gesture.js +2 -6
  585. package/dist/input/gesture.js.map +1 -1
  586. package/dist/input/index.d.ts.map +1 -1
  587. package/dist/input/index.js.map +1 -1
  588. package/dist/input/keyboard.d.ts.map +1 -1
  589. package/dist/input/keyboard.js.map +1 -1
  590. package/dist/mcp/chartBridge.d.ts.map +1 -1
  591. package/dist/mcp/chartBridge.js.map +1 -1
  592. package/dist/plugin/HookSystem.d.ts.map +1 -1
  593. package/dist/plugin/HookSystem.js.map +1 -1
  594. package/dist/plugin/PluginHost.d.ts.map +1 -1
  595. package/dist/plugin/PluginHost.js.map +1 -1
  596. package/dist/plugin/StateStore.js +1 -1
  597. package/dist/plugin/StateStore.js.map +1 -1
  598. package/dist/plugin/rendererPluginManager.d.ts.map +1 -1
  599. package/dist/plugin/rendererPluginManager.js.map +1 -1
  600. package/dist/plugin/types.d.ts.map +1 -1
  601. package/dist/plugin/types.js.map +1 -1
  602. package/dist/reactivity/signal.d.ts.map +1 -1
  603. package/dist/reactivity/signal.js.map +1 -1
  604. package/dist/render/Renderer.d.ts.map +1 -1
  605. package/dist/render/SurfaceBackend.d.ts.map +1 -1
  606. package/dist/render/createWebGLRenderer.d.ts +5 -0
  607. package/dist/render/createWebGLRenderer.d.ts.map +1 -0
  608. package/dist/render/createWebGLRenderer.js +233 -0
  609. package/dist/render/createWebGLRenderer.js.map +1 -0
  610. package/dist/render/createWebGLSurfaceBackend.d.ts +4 -0
  611. package/dist/render/createWebGLSurfaceBackend.d.ts.map +1 -0
  612. package/dist/render/createWebGLSurfaceBackend.js +37 -0
  613. package/dist/render/createWebGLSurfaceBackend.js.map +1 -0
  614. package/dist/render/index.d.ts +5 -6
  615. package/dist/render/index.d.ts.map +1 -1
  616. package/dist/render/index.js +4 -6
  617. package/dist/render/index.js.map +1 -1
  618. package/dist/renderer-tier/detectRendererTier.d.ts.map +1 -1
  619. package/dist/renderer-tier/detectRendererTier.js.map +1 -1
  620. package/dist/renderer-tier/index.d.ts.map +1 -1
  621. package/dist/renderer-tier/index.js.map +1 -1
  622. package/dist/renderer-tier/selectBackend.d.ts.map +1 -1
  623. package/dist/renderer-tier/selectBackend.js +1 -5
  624. package/dist/renderer-tier/selectBackend.js.map +1 -1
  625. package/dist/renderer-tier/types.d.ts.map +1 -1
  626. package/dist/renderer-tier/types.js.map +1 -1
  627. package/dist/replay/createReplayController.d.ts.map +1 -1
  628. package/dist/replay/createReplayController.js +3 -5
  629. package/dist/replay/createReplayController.js.map +1 -1
  630. package/dist/replay/index.d.ts +1 -1
  631. package/dist/replay/index.d.ts.map +1 -1
  632. package/dist/replay/index.js +1 -1
  633. package/dist/replay/index.js.map +1 -1
  634. package/dist/replay/timeline.d.ts.map +1 -1
  635. package/dist/replay/timeline.js.map +1 -1
  636. package/dist/replay/types.d.ts.map +1 -1
  637. package/dist/scale/anchoredZoom.d.ts.map +1 -1
  638. package/dist/scale/anchoredZoom.js.map +1 -1
  639. package/dist/scale/createPriceScale.d.ts.map +1 -1
  640. package/dist/scale/createPriceScale.js.map +1 -1
  641. package/dist/scale/createTimeScale.d.ts.map +1 -1
  642. package/dist/scale/createTimeScale.js.map +1 -1
  643. package/dist/scale/index.d.ts.map +1 -1
  644. package/dist/scale/index.js.map +1 -1
  645. package/dist/scale/originShift.d.ts.map +1 -1
  646. package/dist/scale/originShift.js.map +1 -1
  647. package/dist/scale/types.d.ts.map +1 -1
  648. package/dist/scene/createLayerFromPlugin.d.ts +4 -0
  649. package/dist/scene/createLayerFromPlugin.d.ts.map +1 -0
  650. package/dist/scene/createLayerFromPlugin.js +45 -0
  651. package/dist/scene/createLayerFromPlugin.js.map +1 -0
  652. package/dist/scene/createScene.d.ts.map +1 -1
  653. package/dist/scene/createScene.js +6 -3
  654. package/dist/scene/createScene.js.map +1 -1
  655. package/dist/scene/index.d.ts +4 -3
  656. package/dist/scene/index.d.ts.map +1 -1
  657. package/dist/scene/index.js +2 -1
  658. package/dist/scene/index.js.map +1 -1
  659. package/dist/scene/layerRegistry.d.ts.map +1 -1
  660. package/dist/scene/layerRegistry.js.map +1 -1
  661. package/dist/scene/types.d.ts +8 -3
  662. package/dist/scene/types.d.ts.map +1 -1
  663. package/dist/scheduler/createFrameBudget.d.ts.map +1 -1
  664. package/dist/scheduler/createFrameBudget.js.map +1 -1
  665. package/dist/scheduler/index.d.ts.map +1 -1
  666. package/dist/scheduler/index.js.map +1 -1
  667. package/dist/semantic/controller.d.ts.map +1 -1
  668. package/dist/semantic/controller.js +8 -3
  669. package/dist/semantic/controller.js.map +1 -1
  670. package/dist/semantic/index.d.ts +1 -1
  671. package/dist/semantic/index.d.ts.map +1 -1
  672. package/dist/semantic/index.js +1 -1
  673. package/dist/semantic/index.js.map +1 -1
  674. package/dist/semantic/schema.json +16 -4
  675. package/dist/semantic/validator.d.ts.map +1 -1
  676. package/dist/semantic/validator.js +4 -4
  677. package/dist/semantic/validator.js.map +1 -1
  678. package/dist/tokens/colorPresetSettings.d.ts.map +1 -1
  679. package/dist/tokens/colorPresetSettings.js +3 -1
  680. package/dist/tokens/colorPresetSettings.js.map +1 -1
  681. package/dist/tokens/index.d.ts.map +1 -1
  682. package/dist/tokens/index.js.map +1 -1
  683. package/dist/tokens/mergeTheme.js.map +1 -1
  684. package/dist/tokens/theme-base.d.ts.map +1 -1
  685. package/dist/tokens/theme-base.js.map +1 -1
  686. package/dist/tokens/theme-china.d.ts.map +1 -1
  687. package/dist/tokens/theme-china.js.map +1 -1
  688. package/dist/tokens/theme-dark.js.map +1 -1
  689. package/dist/tokens/theme-light.js.map +1 -1
  690. package/dist/tokens/themeToCssVars.d.ts.map +1 -1
  691. package/dist/tokens/themeToCssVars.js.map +1 -1
  692. package/dist/tokens/types.d.ts.map +1 -1
  693. package/dist/types/price.d.ts.map +1 -1
  694. package/dist/types/price.js +5 -1
  695. package/dist/types/price.js.map +1 -1
  696. package/dist/utils/dateFormat.d.ts.map +1 -1
  697. package/dist/utils/dateFormat.js.map +1 -1
  698. package/dist/utils/kLineDraw/axis.d.ts.map +1 -1
  699. package/dist/utils/kLineDraw/axis.js +3 -3
  700. package/dist/utils/kLineDraw/axis.js.map +1 -1
  701. package/dist/utils/priceToY.d.ts.map +1 -1
  702. package/dist/utils/priceToY.js.map +1 -1
  703. package/dist/utils/volumePrice.d.ts.map +1 -1
  704. package/dist/utils/volumePrice.js +1 -1
  705. package/dist/utils/volumePrice.js.map +1 -1
  706. package/dist/version.d.ts +1 -1
  707. package/dist/version.d.ts.map +1 -1
  708. package/dist/version.js +1 -1
  709. package/dist/version.js.map +1 -1
  710. package/package.json +1 -1
  711. package/src/__bench__/indicators.bench.ts +129 -129
  712. package/src/__bench__/orderBookHeatmap.bench.ts +32 -32
  713. package/src/__bench__/scale.bench.ts +56 -56
  714. package/src/__bench__/signal.bench.ts +23 -23
  715. package/src/__bench__/volumeProfile.bench.ts +35 -35
  716. package/src/__tests__/depthPipeline.test.ts +315 -0
  717. package/src/__tests__/errors-help.test.ts +132 -135
  718. package/src/__tests__/errors.test.ts +140 -144
  719. package/src/__tests__/signal.test.ts +100 -100
  720. package/src/alerts/__tests__/controller.test.ts +173 -173
  721. package/src/alerts/__tests__/predicates.test.ts +287 -287
  722. package/src/alerts/__tests__/ruleSchema.test.ts +145 -148
  723. package/src/alerts/createAlertController.ts +236 -255
  724. package/src/alerts/index.ts +10 -14
  725. package/src/alerts/predicates.ts +152 -158
  726. package/src/alerts/ruleSchema.ts +181 -186
  727. package/src/alerts/types.ts +103 -103
  728. package/src/chartTypes/__tests__/heikinAshi.test.ts +105 -105
  729. package/src/chartTypes/__tests__/pointAndFigure.test.ts +147 -147
  730. package/src/chartTypes/__tests__/rangeBars.test.ts +127 -127
  731. package/src/chartTypes/__tests__/renko.test.ts +144 -138
  732. package/src/chartTypes/heikinAshi.ts +59 -55
  733. package/src/chartTypes/pointAndFigure.ts +171 -165
  734. package/src/chartTypes/rangeBars.ts +213 -213
  735. package/src/chartTypes/renko.ts +199 -193
  736. package/src/chartTypes/types.ts +29 -29
  737. package/src/components/anchoredVwap/__tests__/computeAnchoredVwap.test.ts +261 -268
  738. package/src/components/anchoredVwap/__tests__/controller.test.ts +324 -343
  739. package/src/components/anchoredVwap/computeAnchoredVwap.ts +81 -81
  740. package/src/components/anchoredVwap/createAnchoredVwapController.ts +246 -279
  741. package/src/components/anchoredVwap/index.ts +5 -5
  742. package/src/components/anchoredVwap/types.ts +88 -91
  743. package/src/components/crosshairSync/__tests__/crosshairSync.test.ts +174 -174
  744. package/src/components/crosshairSync/createCrosshairSync.ts +113 -113
  745. package/src/components/crosshairSync/index.ts +3 -3
  746. package/src/components/footprint/__tests__/aggressor.test.ts +110 -106
  747. package/src/components/footprint/__tests__/controller.test.ts +97 -97
  748. package/src/components/footprint/__tests__/perBarStats.test.ts +92 -92
  749. package/src/components/footprint/aggressor.ts +55 -60
  750. package/src/components/footprint/createFootprintController.ts +262 -269
  751. package/src/components/footprint/index.ts +8 -16
  752. package/src/components/footprint/perBarStats.ts +50 -52
  753. package/src/components/footprint/types.ts +92 -92
  754. package/src/components/mtfOverlay/__tests__/alignToBaseIndex.test.ts +70 -70
  755. package/src/components/mtfOverlay/__tests__/controller.test.ts +134 -134
  756. package/src/components/mtfOverlay/__tests__/resampleBars.test.ts +80 -80
  757. package/src/components/mtfOverlay/alignToBaseIndex.ts +55 -55
  758. package/src/components/mtfOverlay/createMtfController.ts +149 -148
  759. package/src/components/mtfOverlay/index.ts +5 -5
  760. package/src/components/mtfOverlay/resampleBars.ts +88 -82
  761. package/src/components/mtfOverlay/types.ts +70 -73
  762. package/src/components/orderBookHeatmap/__tests__/controller.test.ts +337 -204
  763. package/src/components/orderBookHeatmap/__tests__/deltaArchive.test.ts +71 -71
  764. package/src/components/orderBookHeatmap/__tests__/logColorScale.test.ts +56 -56
  765. package/src/components/orderBookHeatmap/__tests__/orderBookState.test.ts +97 -97
  766. package/src/components/orderBookHeatmap/__tests__/snapshotRing.test.ts +39 -39
  767. package/src/components/orderBookHeatmap/computeShader.wgsl.md +3 -3
  768. package/src/components/orderBookHeatmap/createHeatmapController.ts +239 -213
  769. package/src/components/orderBookHeatmap/createOrderBookState.ts +77 -83
  770. package/src/components/orderBookHeatmap/deltaArchive.ts +70 -73
  771. package/src/components/orderBookHeatmap/index.ts +11 -11
  772. package/src/components/orderBookHeatmap/logColorScale.ts +52 -46
  773. package/src/components/orderBookHeatmap/snapshotRing.ts +43 -40
  774. package/src/components/orderBookHeatmap/types.ts +86 -76
  775. package/src/components/volumeProfile/__tests__/binning.test.ts +98 -98
  776. package/src/components/volumeProfile/__tests__/poc.test.ts +21 -21
  777. package/src/components/volumeProfile/__tests__/valueArea.test.ts +140 -140
  778. package/src/components/volumeProfile/binning.ts +67 -67
  779. package/src/components/volumeProfile/createVolumeProfileController.ts +143 -156
  780. package/src/components/volumeProfile/index.ts +6 -6
  781. package/src/components/volumeProfile/poc.ts +13 -13
  782. package/src/components/volumeProfile/types.ts +67 -67
  783. package/src/components/volumeProfile/valueArea.ts +119 -119
  784. package/src/config/chartSettings.ts +60 -14
  785. package/src/controllers/__tests__/drawing.test.ts +164 -170
  786. package/src/controllers/__tests__/indicatorSelector.test.ts +418 -405
  787. package/src/controllers/__tests__/toolbar.test.ts +174 -174
  788. package/src/controllers/createChartController.ts +911 -885
  789. package/src/controllers/createDrawingController.ts +54 -60
  790. package/src/controllers/createIndicatorSelectorController.ts +212 -228
  791. package/src/controllers/createToolbarController.ts +99 -103
  792. package/src/controllers/index.ts +65 -39
  793. package/src/controllers/types.ts +318 -285
  794. package/src/data-fetchers/__tests__/binance.test.ts +297 -0
  795. package/src/data-fetchers/__tests__/dataBuffer.test.ts +409 -412
  796. package/src/data-fetchers/__tests__/depthConnector.test.ts +259 -0
  797. package/src/data-fetchers/__tests__/fetcherRegistry.test.ts +64 -29
  798. package/src/data-fetchers/baostock.ts +4 -1
  799. package/src/data-fetchers/binance.ts +130 -0
  800. package/src/data-fetchers/dataBuffer.effects.ts +8 -11
  801. package/src/data-fetchers/dataBuffer.ts +248 -231
  802. package/src/data-fetchers/dataBufferTypes.ts +1 -1
  803. package/src/data-fetchers/depthConnector.ts +103 -0
  804. package/src/data-fetchers/depthTypes.ts +69 -0
  805. package/src/data-fetchers/fetcherDefinitionRegistry.ts +11 -7
  806. package/src/data-fetchers/gotdx.ts +35 -13
  807. package/src/data-fetchers/index.ts +9 -2
  808. package/src/data-fetchers/router.ts +10 -5
  809. package/src/data-fetchers/timeShareBuffer.ts +5 -2
  810. package/src/data-fetchers/tradingview.ts +4 -1
  811. package/src/data-fetchers/types.ts +1 -1
  812. package/src/engine/__tests__/chart.dpr.test.ts +6 -2
  813. package/src/engine/__tests__/subPaneManager.test.ts +23 -10
  814. package/src/engine/chart.ts +1290 -1213
  815. package/src/engine/controller/interaction.ts +921 -896
  816. package/src/engine/controller/markerInteraction.ts +4 -1
  817. package/src/engine/data/chartDataManager.ts +109 -45
  818. package/src/engine/draw/__tests__/pixelAlign.spec.ts +1 -1
  819. package/src/engine/draw/pixelAlign.ts +170 -166
  820. package/src/engine/drawing/AnchorCollector.ts +1 -1
  821. package/src/engine/drawing/DragHandler.ts +1 -1
  822. package/src/engine/drawing/DrawingState.ts +2 -2
  823. package/src/engine/drawing/HitTester.ts +34 -17
  824. package/src/engine/drawing/PreviewRenderer.ts +46 -19
  825. package/src/engine/drawing/coordinateUtils.ts +5 -5
  826. package/src/engine/drawing/index.ts +107 -28
  827. package/src/engine/drawing/interaction.ts +9 -7
  828. package/src/engine/drawing/linearRegression.ts +3 -1
  829. package/src/engine/drawing/plugin.ts +100 -30
  830. package/src/engine/drawing/toolConfig.ts +1 -1
  831. package/src/engine/indicators/__tests__/__fixtures__/golden/atr.json +104 -36
  832. package/src/engine/indicators/__tests__/__fixtures__/golden/dema.json +11 -12
  833. package/src/engine/indicators/__tests__/__fixtures__/golden/hma.json +39 -12
  834. package/src/engine/indicators/__tests__/__fixtures__/golden/index.ts +28 -28
  835. package/src/engine/indicators/__tests__/__fixtures__/golden/kama.json +39 -12
  836. package/src/engine/indicators/__tests__/__fixtures__/golden/tema.json +11 -12
  837. package/src/engine/indicators/__tests__/__fixtures__/golden/wma.json +73 -38
  838. package/src/engine/indicators/__tests__/__fixtures__/synthetic.ts +36 -29
  839. package/src/engine/indicators/__tests__/_propertyAssertions.ts +55 -54
  840. package/src/engine/indicators/__tests__/atr.test.ts +141 -144
  841. package/src/engine/indicators/__tests__/calculators.test.ts +4 -17
  842. package/src/engine/indicators/__tests__/chartIndicatorManager.test.ts +12 -1
  843. package/src/engine/indicators/__tests__/cmf-mfi.test.ts +77 -77
  844. package/src/engine/indicators/__tests__/dema.test.ts +54 -56
  845. package/src/engine/indicators/__tests__/donchian.test.ts +52 -58
  846. package/src/engine/indicators/__tests__/hma.test.ts +53 -55
  847. package/src/engine/indicators/__tests__/ichimoku.test.ts +91 -91
  848. package/src/engine/indicators/__tests__/indicatorRegistry.test.ts +6 -2
  849. package/src/engine/indicators/__tests__/kama.test.ts +60 -62
  850. package/src/engine/indicators/__tests__/keltner.test.ts +49 -55
  851. package/src/engine/indicators/__tests__/pivot-fib.test.ts +89 -89
  852. package/src/engine/indicators/__tests__/registerBuiltins.test.ts +199 -51
  853. package/src/engine/indicators/__tests__/roc.test.ts +56 -53
  854. package/src/engine/indicators/__tests__/sar.test.ts +70 -70
  855. package/src/engine/indicators/__tests__/scheduler.test.ts +58 -15
  856. package/src/engine/indicators/__tests__/soa.test.ts +27 -7
  857. package/src/engine/indicators/__tests__/stateComposer.test.ts +227 -45
  858. package/src/engine/indicators/__tests__/structure.test.ts +109 -93
  859. package/src/engine/indicators/__tests__/supertrend.test.ts +47 -53
  860. package/src/engine/indicators/__tests__/tema.test.ts +49 -51
  861. package/src/engine/indicators/__tests__/trix.test.ts +56 -56
  862. package/src/engine/indicators/__tests__/volatility.test.ts +88 -94
  863. package/src/engine/indicators/__tests__/volume.test.ts +102 -102
  864. package/src/engine/indicators/__tests__/volumeProfile.test.ts +55 -61
  865. package/src/engine/indicators/__tests__/vwap.test.ts +56 -56
  866. package/src/engine/indicators/__tests__/wma.test.ts +86 -89
  867. package/src/engine/indicators/__tests__/zones.test.ts +88 -79
  868. package/src/engine/indicators/calculators/_shared.ts +41 -35
  869. package/src/engine/indicators/calculators/bands.ts +271 -282
  870. package/src/engine/indicators/calculators/index.ts +26 -3
  871. package/src/engine/indicators/calculators/movingAverages.ts +134 -134
  872. package/src/engine/indicators/calculators/oscillators.ts +302 -306
  873. package/src/engine/indicators/calculators/patterns.ts +233 -225
  874. package/src/engine/indicators/calculators/volatility.ts +119 -119
  875. package/src/engine/indicators/calculators/volume.ts +217 -220
  876. package/src/engine/indicators/calculators.ts +0 -2
  877. package/src/engine/indicators/chartIndicatorManager.ts +576 -484
  878. package/src/engine/indicators/indicator.worker.ts +134 -132
  879. package/src/engine/indicators/indicatorDefinitionRegistry.ts +111 -96
  880. package/src/engine/indicators/indicatorMetadata.ts +183 -175
  881. package/src/engine/indicators/indicatorRegistry.ts +146 -137
  882. package/src/engine/indicators/indicatorRuntime.ts +206 -196
  883. package/src/engine/indicators/registerBuiltins.ts +2 -1
  884. package/src/engine/indicators/scheduler.ts +725 -674
  885. package/src/engine/indicators/soa.ts +29 -19
  886. package/src/engine/indicators/state/atrState.ts +15 -16
  887. package/src/engine/indicators/state/bollState.ts +28 -28
  888. package/src/engine/indicators/state/cciState.ts +15 -16
  889. package/src/engine/indicators/state/chaikinVolState.ts +19 -19
  890. package/src/engine/indicators/state/cmfState.ts +15 -16
  891. package/src/engine/indicators/state/demaState.ts +15 -16
  892. package/src/engine/indicators/state/donchianState.ts +28 -28
  893. package/src/engine/indicators/state/eneState.ts +20 -20
  894. package/src/engine/indicators/state/expmaState.ts +20 -20
  895. package/src/engine/indicators/state/fastkState.ts +15 -16
  896. package/src/engine/indicators/state/fibState.ts +26 -27
  897. package/src/engine/indicators/state/hmaState.ts +15 -16
  898. package/src/engine/indicators/state/hvState.ts +19 -16
  899. package/src/engine/indicators/state/ichimokuState.ts +42 -42
  900. package/src/engine/indicators/state/kamaState.ts +20 -21
  901. package/src/engine/indicators/state/keltnerState.ts +32 -33
  902. package/src/engine/indicators/state/kstState.ts +31 -32
  903. package/src/engine/indicators/state/maState.ts +14 -14
  904. package/src/engine/indicators/state/mfiState.ts +15 -16
  905. package/src/engine/indicators/state/momState.ts +15 -16
  906. package/src/engine/indicators/state/obvState.ts +15 -16
  907. package/src/engine/indicators/state/parkinsonState.ts +19 -15
  908. package/src/engine/indicators/state/pivotState.ts +38 -39
  909. package/src/engine/indicators/state/pvtState.ts +15 -16
  910. package/src/engine/indicators/state/rocState.ts +15 -16
  911. package/src/engine/indicators/state/rsiState.ts +38 -39
  912. package/src/engine/indicators/state/sarState.ts +21 -22
  913. package/src/engine/indicators/state/stochState.ts +15 -16
  914. package/src/engine/indicators/state/structureState.ts +45 -45
  915. package/src/engine/indicators/state/supertrendState.ts +21 -21
  916. package/src/engine/indicators/state/temaState.ts +15 -16
  917. package/src/engine/indicators/state/trixState.ts +22 -23
  918. package/src/engine/indicators/state/vmaState.ts +15 -16
  919. package/src/engine/indicators/state/volumeProfileState.ts +41 -41
  920. package/src/engine/indicators/state/vwapState.ts +15 -16
  921. package/src/engine/indicators/state/wmaState.ts +15 -16
  922. package/src/engine/indicators/state/wmsrState.ts +15 -16
  923. package/src/engine/indicators/state/zonesState.ts +30 -31
  924. package/src/engine/indicators/stateComposer.ts +185 -190
  925. package/src/engine/indicators/visibleStateComposers.ts +785 -748
  926. package/src/engine/indicators/workerProtocol.ts +394 -397
  927. package/src/engine/layout/chartPaneLayout.ts +25 -16
  928. package/src/engine/layout/pane.ts +11 -3
  929. package/src/engine/marker/registry.ts +208 -190
  930. package/src/engine/modes/kLineMode.ts +26 -16
  931. package/src/engine/modes/timeShareMode.ts +26 -14
  932. package/src/engine/modes/types.ts +26 -14
  933. package/src/engine/paneRenderer.ts +130 -125
  934. package/src/engine/render/chartRenderer.ts +291 -118
  935. package/src/engine/render/layers/candleLayer.ts +9 -0
  936. package/src/engine/render/layers/comparisonLineLayer.ts +9 -0
  937. package/src/engine/render/layers/crosshairLayer.ts +18 -0
  938. package/src/engine/render/layers/customMarkersLayer.ts +8 -0
  939. package/src/engine/render/layers/extremaMarkersLayer.ts +8 -0
  940. package/src/engine/render/layers/gridLinesLayer.ts +8 -0
  941. package/src/engine/render/layers/lastPriceLabelLayer.ts +8 -0
  942. package/src/engine/render/layers/lastPriceLineLayer.ts +9 -0
  943. package/src/engine/render/layers/leftYAxisLayer.ts +15 -0
  944. package/src/engine/render/layers/mainIndicatorLegendLayer.ts +18 -0
  945. package/src/engine/render/layers/yAxisLayer.ts +15 -0
  946. package/src/engine/renderers/Indicator/__tests__/createSubIndicatorRenderer.test.ts +4 -1
  947. package/src/engine/renderers/Indicator/atr.ts +197 -188
  948. package/src/engine/renderers/Indicator/boll.ts +364 -309
  949. package/src/engine/renderers/Indicator/cci.ts +223 -219
  950. package/src/engine/renderers/Indicator/chaikinVol.ts +129 -112
  951. package/src/engine/renderers/Indicator/cmf.ts +121 -111
  952. package/src/engine/renderers/Indicator/dema.ts +124 -112
  953. package/src/engine/renderers/Indicator/donchian.ts +162 -132
  954. package/src/engine/renderers/Indicator/ene.ts +286 -264
  955. package/src/engine/renderers/Indicator/expma.ts +237 -220
  956. package/src/engine/renderers/Indicator/fastk.ts +201 -197
  957. package/src/engine/renderers/Indicator/fib.ts +162 -138
  958. package/src/engine/renderers/Indicator/hma.ts +124 -112
  959. package/src/engine/renderers/Indicator/hv.ts +108 -94
  960. package/src/engine/renderers/Indicator/ichimoku.ts +183 -112
  961. package/src/engine/renderers/Indicator/index.ts +10 -10
  962. package/src/engine/renderers/Indicator/indicatorCatalog.ts +685 -78
  963. package/src/engine/renderers/Indicator/kama.ts +124 -112
  964. package/src/engine/renderers/Indicator/keltner.ts +170 -131
  965. package/src/engine/renderers/Indicator/kst.ts +290 -255
  966. package/src/engine/renderers/Indicator/ma.ts +292 -254
  967. package/src/engine/renderers/Indicator/macd.ts +174 -38
  968. package/src/engine/renderers/Indicator/mainIndicatorLegend.ts +30 -8
  969. package/src/engine/renderers/Indicator/mfi.ts +126 -116
  970. package/src/engine/renderers/Indicator/mom.ts +268 -250
  971. package/src/engine/renderers/Indicator/obv.ts +107 -98
  972. package/src/engine/renderers/Indicator/parkinson.ts +110 -94
  973. package/src/engine/renderers/Indicator/pivot.ts +187 -145
  974. package/src/engine/renderers/Indicator/pvt.ts +107 -98
  975. package/src/engine/renderers/Indicator/roc.ts +136 -124
  976. package/src/engine/renderers/Indicator/rsi.ts +395 -346
  977. package/src/engine/renderers/Indicator/sar.ts +121 -106
  978. package/src/engine/renderers/Indicator/scale/atr_scale.ts +13 -13
  979. package/src/engine/renderers/Indicator/scale/cci_scale.ts +13 -13
  980. package/src/engine/renderers/Indicator/scale/fastk_scale.ts +13 -13
  981. package/src/engine/renderers/Indicator/scale/indicator_scale.ts +193 -174
  982. package/src/engine/renderers/Indicator/scale/kst_scale.ts +13 -13
  983. package/src/engine/renderers/Indicator/scale/macd_scale.ts +13 -13
  984. package/src/engine/renderers/Indicator/scale/mom_scale.ts +13 -13
  985. package/src/engine/renderers/Indicator/scale/rsi_scale.ts +13 -13
  986. package/src/engine/renderers/Indicator/scale/stoch_scale.ts +13 -13
  987. package/src/engine/renderers/Indicator/scale/volume_scale.ts +15 -15
  988. package/src/engine/renderers/Indicator/scale/wmsr_scale.ts +13 -13
  989. package/src/engine/renderers/Indicator/shared/dashedLines.ts +16 -7
  990. package/src/engine/renderers/Indicator/shared/titleInfo.ts +3 -1
  991. package/src/engine/renderers/Indicator/shared/webglBand.ts +1 -1
  992. package/src/engine/renderers/Indicator/stoch.ts +263 -246
  993. package/src/engine/renderers/Indicator/structure.ts +165 -120
  994. package/src/engine/renderers/Indicator/supertrend.ts +145 -112
  995. package/src/engine/renderers/Indicator/tema.ts +124 -112
  996. package/src/engine/renderers/Indicator/trix.ts +170 -159
  997. package/src/engine/renderers/Indicator/vma.ts +108 -98
  998. package/src/engine/renderers/Indicator/volumeProfile.ts +150 -126
  999. package/src/engine/renderers/Indicator/vwap.ts +107 -98
  1000. package/src/engine/renderers/Indicator/wma.ts +124 -112
  1001. package/src/engine/renderers/Indicator/wmsr.ts +289 -265
  1002. package/src/engine/renderers/Indicator/zones.ts +139 -109
  1003. package/src/engine/renderers/__tests__/boll.renderer.test.ts +20 -9
  1004. package/src/engine/renderers/__tests__/ene.renderer.test.ts +3 -5
  1005. package/src/engine/renderers/__tests__/expma.renderer.test.ts +1 -1
  1006. package/src/engine/renderers/__tests__/ma.renderer.test.ts +14 -5
  1007. package/src/engine/renderers/__tests__/mainIndicatorLegend.renderer.test.ts +36 -49
  1008. package/src/engine/renderers/__tests__/yAxis.renderer.test.ts +7 -1
  1009. package/src/engine/renderers/candle.ts +556 -437
  1010. package/src/engine/renderers/comparisonLine.ts +96 -91
  1011. package/src/engine/renderers/crosshair.ts +5 -1
  1012. package/src/engine/renderers/customMarkers.ts +144 -118
  1013. package/src/engine/renderers/extremaMarkers.ts +191 -180
  1014. package/src/engine/renderers/gridLines.ts +51 -48
  1015. package/src/engine/renderers/lastPrice.ts +81 -70
  1016. package/src/engine/renderers/leftYAxis.ts +47 -26
  1017. package/src/engine/renderers/paneTitle.ts +140 -124
  1018. package/src/engine/renderers/subVolume.ts +264 -194
  1019. package/src/engine/renderers/timeAxis.ts +70 -48
  1020. package/src/engine/renderers/timeShare.ts +42 -13
  1021. package/src/engine/renderers/webgl/candleSurface.ts +943 -850
  1022. package/src/engine/renderers/webgl/sharedWebGLSurface.ts +146 -122
  1023. package/src/engine/renderers/yAxis.ts +45 -29
  1024. package/src/engine/scale/__tests__/logFormula.spec.ts +141 -141
  1025. package/src/engine/scale/logFormula.ts +40 -40
  1026. package/src/engine/scale/price.ts +21 -22
  1027. package/src/engine/scale/priceScale.ts +269 -269
  1028. package/src/engine/subPaneManager.ts +291 -200
  1029. package/src/engine/theme/fonts.ts +5 -5
  1030. package/src/engine/utils/__tests__/tickPosition.test.ts +43 -43
  1031. package/src/engine/utils/chartZoomController.ts +10 -3
  1032. package/src/engine/utils/klineConfig.ts +22 -22
  1033. package/src/engine/utils/tickCount.ts +2 -2
  1034. package/src/engine/utils/tickPosition.ts +205 -207
  1035. package/src/engine/viewport/chartViewportManager.ts +33 -22
  1036. package/src/engine/viewport/viewport.ts +35 -28
  1037. package/src/errors-help.ts +134 -135
  1038. package/src/errors.ts +65 -62
  1039. package/src/index.ts +5 -9
  1040. package/src/indicators/__tests__/maFamily.test.ts +114 -114
  1041. package/src/indicators/__tests__/oscillators.test.ts +108 -104
  1042. package/src/indicators/alma.ts +36 -33
  1043. package/src/indicators/awesomeOscillator.ts +36 -33
  1044. package/src/indicators/dpo.ts +18 -17
  1045. package/src/indicators/fisherTransform.ts +40 -37
  1046. package/src/indicators/frama.ts +60 -53
  1047. package/src/indicators/index.ts +4 -16
  1048. package/src/indicators/lsma.ts +32 -31
  1049. package/src/indicators/schaffTrendCycle.ts +61 -59
  1050. package/src/indicators/stochRSI.ts +74 -74
  1051. package/src/indicators/t3.ts +55 -56
  1052. package/src/indicators/ultimateOscillator.ts +57 -54
  1053. package/src/indicators/vidya.ts +49 -48
  1054. package/src/indicators/zlema.ts +21 -20
  1055. package/src/input/__tests__/gesture.test.ts +182 -182
  1056. package/src/input/__tests__/keyboard.test.ts +228 -235
  1057. package/src/input/gesture.ts +262 -268
  1058. package/src/input/index.ts +15 -15
  1059. package/src/input/keyboard.ts +235 -237
  1060. package/src/mcp/chartBridge.ts +3 -11
  1061. package/src/plugin/HookSystem.ts +2 -6
  1062. package/src/plugin/PluginHost.ts +26 -6
  1063. package/src/plugin/StateStore.ts +1 -1
  1064. package/src/plugin/rendererPluginManager.ts +4 -8
  1065. package/src/plugin/types.ts +10 -7
  1066. package/src/reactivity/signal.ts +69 -69
  1067. package/src/render/Renderer.ts +57 -57
  1068. package/src/render/SurfaceBackend.ts +51 -51
  1069. package/src/render/__tests__/contract.test.ts +134 -134
  1070. package/src/render/__tests__/webglRenderer.fallback.test.ts +226 -0
  1071. package/src/render/__tests__/webglRenderer.test.ts +363 -0
  1072. package/src/render/__tests__/webglSurfaceBackend.test.ts +125 -0
  1073. package/src/render/createWebGLRenderer.ts +288 -0
  1074. package/src/render/createWebGLSurfaceBackend.ts +43 -0
  1075. package/src/render/index.ts +15 -19
  1076. package/src/renderer-tier/__tests__/detectRendererTier.test.ts +116 -119
  1077. package/src/renderer-tier/__tests__/selectBackend.test.ts +168 -172
  1078. package/src/renderer-tier/detectRendererTier.ts +65 -74
  1079. package/src/renderer-tier/index.ts +15 -15
  1080. package/src/renderer-tier/selectBackend.ts +89 -98
  1081. package/src/renderer-tier/types.ts +11 -11
  1082. package/src/replay/__tests__/controller.test.ts +268 -268
  1083. package/src/replay/__tests__/timeline.test.ts +77 -77
  1084. package/src/replay/createReplayController.ts +224 -232
  1085. package/src/replay/index.ts +7 -11
  1086. package/src/replay/timeline.ts +44 -50
  1087. package/src/replay/types.ts +63 -65
  1088. package/src/scale/__tests__/anchoredZoom.test.ts +121 -110
  1089. package/src/scale/__tests__/originShift.test.ts +80 -80
  1090. package/src/scale/__tests__/priceScale.test.ts +205 -205
  1091. package/src/scale/__tests__/timeScale.test.ts +104 -98
  1092. package/src/scale/anchoredZoom.ts +44 -44
  1093. package/src/scale/createPriceScale.ts +178 -175
  1094. package/src/scale/createTimeScale.ts +130 -124
  1095. package/src/scale/index.ts +3 -3
  1096. package/src/scale/originShift.ts +49 -43
  1097. package/src/scale/types.ts +43 -43
  1098. package/src/scene/__tests__/layerFromPlugin.test.ts +243 -0
  1099. package/src/scene/__tests__/layerRegistry.test.ts +154 -170
  1100. package/src/scene/__tests__/scene.test.ts +341 -345
  1101. package/src/scene/createLayerFromPlugin.ts +47 -0
  1102. package/src/scene/createScene.ts +85 -82
  1103. package/src/scene/index.ts +5 -16
  1104. package/src/scene/layerRegistry.ts +52 -54
  1105. package/src/scene/types.ts +37 -32
  1106. package/src/scheduler/__tests__/createFrameBudget.test.ts +227 -223
  1107. package/src/scheduler/createFrameBudget.ts +224 -224
  1108. package/src/scheduler/index.ts +5 -5
  1109. package/src/semantic/__tests__/controller.test.ts +11 -9
  1110. package/src/semantic/controller.ts +42 -18
  1111. package/src/semantic/drawShape.ts +3 -3
  1112. package/src/semantic/index.ts +7 -1
  1113. package/src/semantic/schema.json +16 -4
  1114. package/src/semantic/validator.ts +22 -8
  1115. package/src/tokens/__tests__/baseline.test.ts +99 -102
  1116. package/src/tokens/__tests__/themeToCssVars.test.ts +117 -128
  1117. package/src/tokens/__tests__/tokens.test.ts +119 -130
  1118. package/src/tokens/colorPresetSettings.ts +103 -99
  1119. package/src/tokens/index.ts +44 -44
  1120. package/src/tokens/mergeTheme.ts +20 -20
  1121. package/src/tokens/theme-base.ts +1 -2
  1122. package/src/tokens/theme-china.ts +70 -70
  1123. package/src/tokens/theme-dark.ts +182 -182
  1124. package/src/tokens/theme-light.ts +186 -186
  1125. package/src/tokens/themeToCssVars.ts +53 -54
  1126. package/src/tokens/types.ts +215 -215
  1127. package/src/types/price.ts +7 -2
  1128. package/src/types/volumePrice.ts +1 -2
  1129. package/src/utils/__tests__/dateFormat.test.ts +137 -142
  1130. package/src/utils/dateFormat.ts +115 -110
  1131. package/src/utils/kLineDraw/axis.ts +486 -453
  1132. package/src/utils/priceToY.ts +21 -21
  1133. package/src/utils/volumePrice.ts +8 -4
  1134. package/src/version.ts +1 -1
@@ -29,16 +29,16 @@ import { binBarToBuckets } from './binning'
29
29
  import { findPOCIndex } from './poc'
30
30
  import { computeValueArea } from './valueArea'
31
31
  import type {
32
- VolumeProfileBar,
33
- VolumeProfileConfig,
34
- VolumeProfileController,
35
- VolumeProfileState,
32
+ VolumeProfileBar,
33
+ VolumeProfileConfig,
34
+ VolumeProfileController,
35
+ VolumeProfileState,
36
36
  } from './types'
37
37
 
38
38
  const DEFAULT_CONFIG: VolumeProfileConfig = {
39
- binCount: 100,
40
- binningMode: 'typical-price',
41
- valueAreaPercent: 0.7,
39
+ binCount: 100,
40
+ binningMode: 'typical-price',
41
+ valueAreaPercent: 0.7,
42
42
  }
43
43
 
44
44
  // Smallest binSize we will use. Prevents a degenerate "all bars same price"
@@ -47,167 +47,154 @@ const DEFAULT_CONFIG: VolumeProfileConfig = {
47
47
  const MIN_BIN_SIZE = 1e-12
48
48
 
49
49
  export interface VolumeProfileControllerInit {
50
- config?: Partial<VolumeProfileConfig>
50
+ config?: Partial<VolumeProfileConfig>
51
51
  }
52
52
 
53
53
  export function createVolumeProfileController(
54
- init?: VolumeProfileControllerInit,
54
+ init?: VolumeProfileControllerInit,
55
55
  ): VolumeProfileController {
56
- // -------------------------------------------------------------------
57
- // Signals
58
- // -------------------------------------------------------------------
59
- const initialConfig: VolumeProfileConfig = {
60
- ...DEFAULT_CONFIG,
61
- ...(init?.config ?? {}),
62
- }
63
- // Defensive clamp: percent in [0, 1], binCount >= 1.
64
- if (initialConfig.valueAreaPercent < 0) initialConfig.valueAreaPercent = 0
65
- if (initialConfig.valueAreaPercent > 1) initialConfig.valueAreaPercent = 1
66
- if (initialConfig.binCount < 1) initialConfig.binCount = 1
67
-
68
- const config: Signal<VolumeProfileConfig> = createSignal(initialConfig)
69
- const state: Signal<VolumeProfileState | null> =
70
- createSignal<VolumeProfileState | null>(null)
71
-
72
- // -------------------------------------------------------------------
73
- // ingest — full recompute
74
- // -------------------------------------------------------------------
75
- function ingest(bars: ReadonlyArray<VolumeProfileBar>): void {
76
- const cfg = config.peek()
77
-
78
- if (bars.length === 0) {
79
- state.set(null)
80
- return
81
- }
82
-
83
- // First pass: range of the data.
84
- let minLow = Infinity
85
- let maxHigh = -Infinity
86
- for (let i = 0; i < bars.length; i++) {
87
- const b = bars[i]
88
- if (b === undefined) continue
89
- if (b.low < minLow) minLow = b.low
90
- if (b.high > maxHigh) maxHigh = b.high
91
- }
92
-
93
- if (!Number.isFinite(minLow) || !Number.isFinite(maxHigh)) {
94
- state.set(null)
95
- return
96
- }
97
-
98
- const range = maxHigh - minLow
99
- // Degenerate range: every bar at the same price. We still want a
100
- // non-zero binSize so the math works; centre a tiny window on the
101
- // price so the single bucket captures everything.
102
- const binSize =
103
- range > MIN_BIN_SIZE ? range / cfg.binCount : MIN_BIN_SIZE
104
- const binMin = minLow
105
-
106
- // Allocate or reuse the buckets. Reuse only if the size matches —
107
- // changing `binCount` via `setConfig` requires a fresh array.
108
- const prev = state.peek()
109
- const buckets =
110
- prev !== null && prev.buckets.length === cfg.binCount
111
- ? prev.buckets
112
- : new Float64Array(cfg.binCount)
113
- // Zero it (whether reused or freshly allocated) — `fill(0)` is cheap
114
- // on typed arrays.
115
- buckets.fill(0)
116
-
117
- // Second pass: drop volume into buckets.
118
- for (let i = 0; i < bars.length; i++) {
119
- const b = bars[i]
120
- if (b === undefined) continue
121
- binBarToBuckets(
122
- b,
123
- buckets,
124
- binMin,
125
- binSize,
126
- cfg.binCount,
127
- cfg.binningMode,
128
- )
129
- }
130
-
131
- // POC + VA.
132
- const pocIdx = findPOCIndex(buckets)
133
- // findPOCIndex returns -1 only on empty arrays — guarded above.
134
- const va = computeValueArea(
135
- buckets,
136
- pocIdx < 0 ? 0 : pocIdx,
137
- cfg.valueAreaPercent,
138
- )
139
-
140
- // Prices: each bucket spans `[binMin + i*binSize, binMin + (i+1)*binSize)`.
141
- // We report POC as the bucket *center*, VAH as the upper bucket's high
142
- // edge, VAL as the lower bucket's low edge — this matches how a
143
- // renderer wants to draw them: POC as a centerline, VAH/VAL as
144
- // envelope edges.
145
- const pocPrice = binMin + (va.pocIndex + 0.5) * binSize
146
- const vahPrice = binMin + (va.vahIndex + 1) * binSize
147
- const valPrice = binMin + va.valIndex * binSize
148
-
149
- const next: VolumeProfileState = {
150
- buckets,
151
- binMin,
152
- binSize,
153
- poc: pocPrice,
154
- vah: vahPrice,
155
- val: valPrice,
156
- totalVolume: va.totalVolume,
157
- vaVolume: va.vaVolume,
158
- }
159
- state.set(next)
56
+ // -------------------------------------------------------------------
57
+ // Signals
58
+ // -------------------------------------------------------------------
59
+ const initialConfig: VolumeProfileConfig = {
60
+ ...DEFAULT_CONFIG,
61
+ ...(init?.config ?? {}),
62
+ }
63
+ // Defensive clamp: percent in [0, 1], binCount >= 1.
64
+ if (initialConfig.valueAreaPercent < 0) initialConfig.valueAreaPercent = 0
65
+ if (initialConfig.valueAreaPercent > 1) initialConfig.valueAreaPercent = 1
66
+ if (initialConfig.binCount < 1) initialConfig.binCount = 1
67
+
68
+ const config: Signal<VolumeProfileConfig> = createSignal(initialConfig)
69
+ const state: Signal<VolumeProfileState | null> = createSignal<VolumeProfileState | null>(null)
70
+
71
+ // -------------------------------------------------------------------
72
+ // ingest — full recompute
73
+ // -------------------------------------------------------------------
74
+ function ingest(bars: ReadonlyArray<VolumeProfileBar>): void {
75
+ const cfg = config.peek()
76
+
77
+ if (bars.length === 0) {
78
+ state.set(null)
79
+ return
160
80
  }
161
81
 
162
- // -------------------------------------------------------------------
163
- // setConfig patch + invalidate
164
- // -------------------------------------------------------------------
165
- function setConfig(next: Partial<VolumeProfileConfig>): void {
166
- const cur = config.peek()
167
- const merged: VolumeProfileConfig = { ...cur, ...next }
168
- // Re-apply the defensive clamps.
169
- if (merged.valueAreaPercent < 0) merged.valueAreaPercent = 0
170
- if (merged.valueAreaPercent > 1) merged.valueAreaPercent = 1
171
- if (merged.binCount < 1) merged.binCount = 1
172
-
173
- // If binCount changed, the existing buckets are stale (different
174
- // resolution) — clear state so callers know to re-ingest. Other
175
- // field changes leave the data untouched until next ingest.
176
- if (merged.binCount !== cur.binCount) {
177
- state.set(null)
178
- }
179
- config.set(merged)
82
+ // First pass: range of the data.
83
+ let minLow = Infinity
84
+ let maxHigh = -Infinity
85
+ for (let i = 0; i < bars.length; i++) {
86
+ const b = bars[i]
87
+ if (b === undefined) continue
88
+ if (b.low < minLow) minLow = b.low
89
+ if (b.high > maxHigh) maxHigh = b.high
180
90
  }
181
91
 
182
- // -------------------------------------------------------------------
183
- // reset — clear state, keep config
184
- // -------------------------------------------------------------------
185
- function reset(): void {
186
- state.set(null)
92
+ if (!Number.isFinite(minLow) || !Number.isFinite(maxHigh)) {
93
+ state.set(null)
94
+ return
187
95
  }
188
96
 
189
- // -------------------------------------------------------------------
190
- // dispose silence mutators (same pattern as IndicatorSelectorController)
191
- // -------------------------------------------------------------------
192
- let disposed = false
193
- function dispose(): void {
194
- if (disposed) return
195
- disposed = true
97
+ const range = maxHigh - minLow
98
+ // Degenerate range: every bar at the same price. We still want a
99
+ // non-zero binSize so the math works; centre a tiny window on the
100
+ // price so the single bucket captures everything.
101
+ const binSize = range > MIN_BIN_SIZE ? range / cfg.binCount : MIN_BIN_SIZE
102
+ const binMin = minLow
103
+
104
+ // Allocate or reuse the buckets. Reuse only if the size matches —
105
+ // changing `binCount` via `setConfig` requires a fresh array.
106
+ const prev = state.peek()
107
+ const buckets =
108
+ prev !== null && prev.buckets.length === cfg.binCount
109
+ ? prev.buckets
110
+ : new Float64Array(cfg.binCount)
111
+ // Zero it (whether reused or freshly allocated) — `fill(0)` is cheap
112
+ // on typed arrays.
113
+ buckets.fill(0)
114
+
115
+ // Second pass: drop volume into buckets.
116
+ for (let i = 0; i < bars.length; i++) {
117
+ const b = bars[i]
118
+ if (b === undefined) continue
119
+ binBarToBuckets(b, buckets, binMin, binSize, cfg.binCount, cfg.binningMode)
196
120
  }
197
121
 
198
- function guard<T extends (...args: never[]) => unknown>(fn: T): T {
199
- return ((...args: Parameters<T>): ReturnType<T> => {
200
- if (disposed) return undefined as ReturnType<T>
201
- return fn(...args) as ReturnType<T>
202
- }) as T
122
+ // POC + VA.
123
+ const pocIdx = findPOCIndex(buckets)
124
+ // findPOCIndex returns -1 only on empty arrays — guarded above.
125
+ const va = computeValueArea(buckets, pocIdx < 0 ? 0 : pocIdx, cfg.valueAreaPercent)
126
+
127
+ // Prices: each bucket spans `[binMin + i*binSize, binMin + (i+1)*binSize)`.
128
+ // We report POC as the bucket *center*, VAH as the upper bucket's high
129
+ // edge, VAL as the lower bucket's low edge — this matches how a
130
+ // renderer wants to draw them: POC as a centerline, VAH/VAL as
131
+ // envelope edges.
132
+ const pocPrice = binMin + (va.pocIndex + 0.5) * binSize
133
+ const vahPrice = binMin + (va.vahIndex + 1) * binSize
134
+ const valPrice = binMin + va.valIndex * binSize
135
+
136
+ const next: VolumeProfileState = {
137
+ buckets,
138
+ binMin,
139
+ binSize,
140
+ poc: pocPrice,
141
+ vah: vahPrice,
142
+ val: valPrice,
143
+ totalVolume: va.totalVolume,
144
+ vaVolume: va.vaVolume,
203
145
  }
204
-
205
- return {
206
- config,
207
- state,
208
- ingest: guard(ingest),
209
- setConfig: guard(setConfig),
210
- reset: guard(reset),
211
- dispose,
146
+ state.set(next)
147
+ }
148
+
149
+ // -------------------------------------------------------------------
150
+ // setConfig — patch + invalidate
151
+ // -------------------------------------------------------------------
152
+ function setConfig(next: Partial<VolumeProfileConfig>): void {
153
+ const cur = config.peek()
154
+ const merged: VolumeProfileConfig = { ...cur, ...next }
155
+ // Re-apply the defensive clamps.
156
+ if (merged.valueAreaPercent < 0) merged.valueAreaPercent = 0
157
+ if (merged.valueAreaPercent > 1) merged.valueAreaPercent = 1
158
+ if (merged.binCount < 1) merged.binCount = 1
159
+
160
+ // If binCount changed, the existing buckets are stale (different
161
+ // resolution) — clear state so callers know to re-ingest. Other
162
+ // field changes leave the data untouched until next ingest.
163
+ if (merged.binCount !== cur.binCount) {
164
+ state.set(null)
212
165
  }
166
+ config.set(merged)
167
+ }
168
+
169
+ // -------------------------------------------------------------------
170
+ // reset — clear state, keep config
171
+ // -------------------------------------------------------------------
172
+ function reset(): void {
173
+ state.set(null)
174
+ }
175
+
176
+ // -------------------------------------------------------------------
177
+ // dispose — silence mutators (same pattern as IndicatorSelectorController)
178
+ // -------------------------------------------------------------------
179
+ let disposed = false
180
+ function dispose(): void {
181
+ if (disposed) return
182
+ disposed = true
183
+ }
184
+
185
+ function guard<T extends (...args: never[]) => unknown>(fn: T): T {
186
+ return ((...args: Parameters<T>): ReturnType<T> => {
187
+ if (disposed) return undefined as ReturnType<T>
188
+ return fn(...args) as ReturnType<T>
189
+ }) as T
190
+ }
191
+
192
+ return {
193
+ config,
194
+ state,
195
+ ingest: guard(ingest),
196
+ setConfig: guard(setConfig),
197
+ reset: guard(reset),
198
+ dispose,
199
+ }
213
200
  }
@@ -1,10 +1,10 @@
1
1
  export type {
2
- BinningMode,
3
- VolumeProfileConfig,
4
- VolumeProfileState,
5
- VolumeProfileBar,
6
- VolumeProfileController,
7
- ValueAreaResult,
2
+ BinningMode,
3
+ VolumeProfileConfig,
4
+ VolumeProfileState,
5
+ VolumeProfileBar,
6
+ VolumeProfileController,
7
+ ValueAreaResult,
8
8
  } from './types'
9
9
  export { binBarToBuckets } from './binning'
10
10
  export { findPOCIndex } from './poc'
@@ -33,21 +33,21 @@
33
33
  * Closes API audit BLOCKER-002 (export * leakage taxonomy).
34
34
  */
35
35
  export function findPOCIndex(buckets: Float64Array): number {
36
- const n = buckets.length
37
- if (n === 0) return -1
36
+ const n = buckets.length
37
+ if (n === 0) return -1
38
38
 
39
- let bestIdx = 0
40
- let bestVol = buckets[0] ?? 0
39
+ let bestIdx = 0
40
+ let bestVol = buckets[0] ?? 0
41
41
 
42
- // Walk buckets[1..]; strictly-greater wins, equal does NOT (keeps the
43
- // earliest index — the documented tie-breaker).
44
- for (let i = 1; i < n; i++) {
45
- const v = buckets[i] ?? 0
46
- if (v > bestVol) {
47
- bestVol = v
48
- bestIdx = i
49
- }
42
+ // Walk buckets[1..]; strictly-greater wins, equal does NOT (keeps the
43
+ // earliest index — the documented tie-breaker).
44
+ for (let i = 1; i < n; i++) {
45
+ const v = buckets[i] ?? 0
46
+ if (v > bestVol) {
47
+ bestVol = v
48
+ bestIdx = i
50
49
  }
50
+ }
51
51
 
52
- return bestIdx
52
+ return bestIdx
53
53
  }
@@ -39,16 +39,16 @@ export type BinningMode = 'typical-price' | 'proportional'
39
39
  * from sensible defaults so callers can pass `{}`.
40
40
  */
41
41
  export interface VolumeProfileConfig {
42
- /** Number of price buckets (histogram resolution). Typical 50–200. */
43
- binCount: number
44
- /** Per-bar binning strategy. See `BinningMode`. */
45
- binningMode: BinningMode
46
- /**
47
- * Fraction of total volume that must be inside the Value Area, in [0, 1].
48
- * CME convention is 0.70. Set 1.0 to use the full range, set to e.g. 0.95
49
- * for institution-style "value extended" envelopes.
50
- */
51
- valueAreaPercent: number
42
+ /** Number of price buckets (histogram resolution). Typical 50–200. */
43
+ binCount: number
44
+ /** Per-bar binning strategy. See `BinningMode`. */
45
+ binningMode: BinningMode
46
+ /**
47
+ * Fraction of total volume that must be inside the Value Area, in [0, 1].
48
+ * CME convention is 0.70. Set 1.0 to use the full range, set to e.g. 0.95
49
+ * for institution-style "value extended" envelopes.
50
+ */
51
+ valueAreaPercent: number
52
52
  }
53
53
 
54
54
  /**
@@ -61,22 +61,22 @@ export interface VolumeProfileConfig {
61
61
  * storage buffer once the WebGPU compute path lands (see `computeShader.wgsl.md`).
62
62
  */
63
63
  export interface VolumeProfileState {
64
- /** Histogram. `buckets[i]` is the total volume in bucket i. */
65
- buckets: Float64Array
66
- /** Low-edge price of bucket 0. */
67
- binMin: number
68
- /** Price width of one bucket. `buckets.length * binSize = total price span`. */
69
- binSize: number
70
- /** Point of Control — center price of the highest-volume bucket. */
71
- poc: number
72
- /** Value Area High — upper edge price of the VAH bucket. */
73
- vah: number
74
- /** Value Area Low — lower edge price of the VAL bucket. */
75
- val: number
76
- /** Sum of every bucket. */
77
- totalVolume: number
78
- /** Volume inside the closed Value Area `[valIndex, vahIndex]`. */
79
- vaVolume: number
64
+ /** Histogram. `buckets[i]` is the total volume in bucket i. */
65
+ buckets: Float64Array
66
+ /** Low-edge price of bucket 0. */
67
+ binMin: number
68
+ /** Price width of one bucket. `buckets.length * binSize = total price span`. */
69
+ binSize: number
70
+ /** Point of Control — center price of the highest-volume bucket. */
71
+ poc: number
72
+ /** Value Area High — upper edge price of the VAH bucket. */
73
+ vah: number
74
+ /** Value Area Low — lower edge price of the VAL bucket. */
75
+ val: number
76
+ /** Sum of every bucket. */
77
+ totalVolume: number
78
+ /** Volume inside the closed Value Area `[valIndex, vahIndex]`. */
79
+ vaVolume: number
80
80
  }
81
81
 
82
82
  /**
@@ -85,10 +85,10 @@ export interface VolumeProfileState {
85
85
  * `timestamp` so callers can stream from any source.
86
86
  */
87
87
  export interface VolumeProfileBar {
88
- high: number
89
- low: number
90
- close: number
91
- volume: number
88
+ high: number
89
+ low: number
90
+ close: number
91
+ volume: number
92
92
  }
93
93
 
94
94
  /**
@@ -97,35 +97,35 @@ export interface VolumeProfileBar {
97
97
  * `dispose`).
98
98
  */
99
99
  export interface VolumeProfileController {
100
- /** Current config; re-emits when `setConfig` is called. */
101
- readonly config: Signal<VolumeProfileConfig>
102
- /** Current state; `null` until the first ingest. */
103
- readonly state: Signal<VolumeProfileState | null>
100
+ /** Current config; re-emits when `setConfig` is called. */
101
+ readonly config: Signal<VolumeProfileConfig>
102
+ /** Current state; `null` until the first ingest. */
103
+ readonly state: Signal<VolumeProfileState | null>
104
104
 
105
- /**
106
- * Recompute the profile from a fresh bar slice. Idempotent: calling this
107
- * twice with the same bars yields the same state (it is NOT cumulative —
108
- * the prior buckets are discarded). Incremental ingestion will land with
109
- * the GPU compute path; see `computeShader.wgsl.md`.
110
- */
111
- ingest(bars: ReadonlyArray<VolumeProfileBar>): void
105
+ /**
106
+ * Recompute the profile from a fresh bar slice. Idempotent: calling this
107
+ * twice with the same bars yields the same state (it is NOT cumulative —
108
+ * the prior buckets are discarded). Incremental ingestion will land with
109
+ * the GPU compute path; see `computeShader.wgsl.md`.
110
+ */
111
+ ingest(bars: ReadonlyArray<VolumeProfileBar>): void
112
112
 
113
- /**
114
- * Patch the config. If `binCount` changes the buckets are re-sized on the
115
- * next `ingest` (state is cleared immediately because the old buckets are
116
- * now meaningless under the new resolution).
117
- */
118
- setConfig(next: Partial<VolumeProfileConfig>): void
113
+ /**
114
+ * Patch the config. If `binCount` changes the buckets are re-sized on the
115
+ * next `ingest` (state is cleared immediately because the old buckets are
116
+ * now meaningless under the new resolution).
117
+ */
118
+ setConfig(next: Partial<VolumeProfileConfig>): void
119
119
 
120
- /** Clear state to null (does not change config). */
121
- reset(): void
120
+ /** Clear state to null (does not change config). */
121
+ reset(): void
122
122
 
123
- /**
124
- * Stop emitting. Subsequent calls to ingest/setConfig/reset are silent
125
- * no-ops; previously-attached subscribers receive no further
126
- * notifications. Idempotent.
127
- */
128
- dispose(): void
123
+ /**
124
+ * Stop emitting. Subsequent calls to ingest/setConfig/reset are silent
125
+ * no-ops; previously-attached subscribers receive no further
126
+ * notifications. Idempotent.
127
+ */
128
+ dispose(): void
129
129
  }
130
130
 
131
131
  /**
@@ -133,16 +133,16 @@ export interface VolumeProfileController {
133
133
  * indices; prices are derived by the controller using `binMin + binSize * i`.
134
134
  */
135
135
  export interface ValueAreaResult {
136
- /** Upper bucket index (inclusive). */
137
- vahIndex: number
138
- /** Lower bucket index (inclusive). */
139
- valIndex: number
140
- /** Argmax bucket index used as the seed. */
141
- pocIndex: number
142
- /** Total of all buckets. */
143
- totalVolume: number
144
- /** Sum of `buckets[i]` for `i in [valIndex, vahIndex]`. */
145
- vaVolume: number
146
- /** `vaVolume / totalVolume`. 0 when `totalVolume` is 0. */
147
- vaPercent: number
136
+ /** Upper bucket index (inclusive). */
137
+ vahIndex: number
138
+ /** Lower bucket index (inclusive). */
139
+ valIndex: number
140
+ /** Argmax bucket index used as the seed. */
141
+ pocIndex: number
142
+ /** Total of all buckets. */
143
+ totalVolume: number
144
+ /** Sum of `buckets[i]` for `i in [valIndex, vahIndex]`. */
145
+ vaVolume: number
146
+ /** `vaVolume / totalVolume`. 0 when `totalVolume` is 0. */
147
+ vaPercent: number
148
148
  }