@363045841yyt/klinechart-core 0.9.0-alpha.0 → 0.9.0-alpha.2

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 (372) hide show
  1. package/dist/controllers/createChartController.d.ts.map +1 -1
  2. package/dist/controllers/createChartController.js +31 -13
  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 +12 -0
  8. package/dist/controllers/types.d.ts.map +1 -1
  9. package/dist/engine/chart.d.ts +29 -11
  10. package/dist/engine/chart.d.ts.map +1 -1
  11. package/dist/engine/chart.js +147 -25
  12. package/dist/engine/chart.js.map +1 -1
  13. package/dist/engine/controller/interaction.d.ts +29 -4
  14. package/dist/engine/controller/interaction.d.ts.map +1 -1
  15. package/dist/engine/controller/interaction.js +78 -31
  16. package/dist/engine/controller/interaction.js.map +1 -1
  17. package/dist/engine/data/incrementalLoadHint.d.ts.map +1 -1
  18. package/dist/engine/data/incrementalLoadHint.js +5 -1
  19. package/dist/engine/data/incrementalLoadHint.js.map +1 -1
  20. package/dist/engine/drawing/DrawingState.d.ts +19 -34
  21. package/dist/engine/drawing/DrawingState.d.ts.map +1 -1
  22. package/dist/engine/drawing/DrawingState.js +110 -92
  23. package/dist/engine/drawing/DrawingState.js.map +1 -1
  24. package/dist/engine/drawing/index.d.ts +4 -1
  25. package/dist/engine/drawing/index.d.ts.map +1 -1
  26. package/dist/engine/drawing/index.js +9 -4
  27. package/dist/engine/drawing/index.js.map +1 -1
  28. package/dist/engine/drawing/interaction.d.ts +9 -29
  29. package/dist/engine/drawing/interaction.d.ts.map +1 -1
  30. package/dist/engine/drawing/interaction.js +23 -40
  31. package/dist/engine/drawing/interaction.js.map +1 -1
  32. package/dist/engine/indicators/chartIndicatorManager.d.ts.map +1 -1
  33. package/dist/engine/indicators/chartIndicatorManager.js +4 -12
  34. package/dist/engine/indicators/chartIndicatorManager.js.map +1 -1
  35. package/dist/engine/layout/chartPaneLayout.d.ts +0 -2
  36. package/dist/engine/layout/chartPaneLayout.d.ts.map +1 -1
  37. package/dist/engine/layout/chartPaneLayout.js +5 -9
  38. package/dist/engine/layout/chartPaneLayout.js.map +1 -1
  39. package/dist/engine/layout/pane.d.ts +0 -39
  40. package/dist/engine/layout/pane.d.ts.map +1 -1
  41. package/dist/engine/layout/pane.js +0 -9
  42. package/dist/engine/layout/pane.js.map +1 -1
  43. package/dist/engine/paneRenderer.d.ts +1 -10
  44. package/dist/engine/paneRenderer.d.ts.map +1 -1
  45. package/dist/engine/paneRenderer.js +2 -19
  46. package/dist/engine/paneRenderer.js.map +1 -1
  47. package/dist/engine/render/chartRenderer.d.ts +49 -8
  48. package/dist/engine/render/chartRenderer.d.ts.map +1 -1
  49. package/dist/engine/render/chartRenderer.js +143 -72
  50. package/dist/engine/render/chartRenderer.js.map +1 -1
  51. package/dist/engine/renderers/Indicator/atr.js +3 -13
  52. package/dist/engine/renderers/Indicator/atr.js.map +1 -1
  53. package/dist/engine/renderers/Indicator/boll.d.ts.map +1 -1
  54. package/dist/engine/renderers/Indicator/boll.js +12 -24
  55. package/dist/engine/renderers/Indicator/boll.js.map +1 -1
  56. package/dist/engine/renderers/Indicator/cci.js +6 -13
  57. package/dist/engine/renderers/Indicator/cci.js.map +1 -1
  58. package/dist/engine/renderers/Indicator/chaikinVol.js +3 -11
  59. package/dist/engine/renderers/Indicator/chaikinVol.js.map +1 -1
  60. package/dist/engine/renderers/Indicator/cmf.js +3 -11
  61. package/dist/engine/renderers/Indicator/cmf.js.map +1 -1
  62. package/dist/engine/renderers/Indicator/dema.js +3 -11
  63. package/dist/engine/renderers/Indicator/dema.js.map +1 -1
  64. package/dist/engine/renderers/Indicator/donchian.js +3 -11
  65. package/dist/engine/renderers/Indicator/donchian.js.map +1 -1
  66. package/dist/engine/renderers/Indicator/ene.d.ts.map +1 -1
  67. package/dist/engine/renderers/Indicator/ene.js +12 -24
  68. package/dist/engine/renderers/Indicator/ene.js.map +1 -1
  69. package/dist/engine/renderers/Indicator/expma.d.ts.map +1 -1
  70. package/dist/engine/renderers/Indicator/expma.js +5 -11
  71. package/dist/engine/renderers/Indicator/expma.js.map +1 -1
  72. package/dist/engine/renderers/Indicator/fastk.js +6 -13
  73. package/dist/engine/renderers/Indicator/fastk.js.map +1 -1
  74. package/dist/engine/renderers/Indicator/fib.js +3 -11
  75. package/dist/engine/renderers/Indicator/fib.js.map +1 -1
  76. package/dist/engine/renderers/Indicator/hma.js +3 -11
  77. package/dist/engine/renderers/Indicator/hma.js.map +1 -1
  78. package/dist/engine/renderers/Indicator/hv.js +3 -11
  79. package/dist/engine/renderers/Indicator/hv.js.map +1 -1
  80. package/dist/engine/renderers/Indicator/ichimoku.js +24 -18
  81. package/dist/engine/renderers/Indicator/ichimoku.js.map +1 -1
  82. package/dist/engine/renderers/Indicator/kama.js +3 -11
  83. package/dist/engine/renderers/Indicator/kama.js.map +1 -1
  84. package/dist/engine/renderers/Indicator/keltner.js +3 -11
  85. package/dist/engine/renderers/Indicator/keltner.js.map +1 -1
  86. package/dist/engine/renderers/Indicator/kst.js +9 -17
  87. package/dist/engine/renderers/Indicator/kst.js.map +1 -1
  88. package/dist/engine/renderers/Indicator/ma.d.ts.map +1 -1
  89. package/dist/engine/renderers/Indicator/ma.js +10 -21
  90. package/dist/engine/renderers/Indicator/ma.js.map +1 -1
  91. package/dist/engine/renderers/Indicator/macd.js +14 -44
  92. package/dist/engine/renderers/Indicator/macd.js.map +1 -1
  93. package/dist/engine/renderers/Indicator/mfi.js +3 -11
  94. package/dist/engine/renderers/Indicator/mfi.js.map +1 -1
  95. package/dist/engine/renderers/Indicator/mom.js +6 -13
  96. package/dist/engine/renderers/Indicator/mom.js.map +1 -1
  97. package/dist/engine/renderers/Indicator/obv.js +3 -11
  98. package/dist/engine/renderers/Indicator/obv.js.map +1 -1
  99. package/dist/engine/renderers/Indicator/parkinson.js +3 -11
  100. package/dist/engine/renderers/Indicator/parkinson.js.map +1 -1
  101. package/dist/engine/renderers/Indicator/pvt.js +3 -11
  102. package/dist/engine/renderers/Indicator/pvt.js.map +1 -1
  103. package/dist/engine/renderers/Indicator/roc.js +3 -11
  104. package/dist/engine/renderers/Indicator/roc.js.map +1 -1
  105. package/dist/engine/renderers/Indicator/rsi.js +12 -20
  106. package/dist/engine/renderers/Indicator/rsi.js.map +1 -1
  107. package/dist/engine/renderers/Indicator/shared/webglBand.d.ts +0 -2
  108. package/dist/engine/renderers/Indicator/shared/webglBand.d.ts.map +1 -1
  109. package/dist/engine/renderers/Indicator/shared/webglBand.js +0 -6
  110. package/dist/engine/renderers/Indicator/shared/webglBand.js.map +1 -1
  111. package/dist/engine/renderers/Indicator/stoch.js +9 -17
  112. package/dist/engine/renderers/Indicator/stoch.js.map +1 -1
  113. package/dist/engine/renderers/Indicator/tema.js +3 -11
  114. package/dist/engine/renderers/Indicator/tema.js.map +1 -1
  115. package/dist/engine/renderers/Indicator/trix.js +3 -11
  116. package/dist/engine/renderers/Indicator/trix.js.map +1 -1
  117. package/dist/engine/renderers/Indicator/vma.js +3 -11
  118. package/dist/engine/renderers/Indicator/vma.js.map +1 -1
  119. package/dist/engine/renderers/Indicator/vwap.js +3 -11
  120. package/dist/engine/renderers/Indicator/vwap.js.map +1 -1
  121. package/dist/engine/renderers/Indicator/wma.js +3 -11
  122. package/dist/engine/renderers/Indicator/wma.js.map +1 -1
  123. package/dist/engine/renderers/Indicator/wmsr.js +6 -13
  124. package/dist/engine/renderers/Indicator/wmsr.js.map +1 -1
  125. package/dist/engine/renderers/candle.d.ts.map +1 -1
  126. package/dist/engine/renderers/candle.js +21 -28
  127. package/dist/engine/renderers/candle.js.map +1 -1
  128. package/dist/engine/renderers/candleViaRenderer.d.ts +19 -0
  129. package/dist/engine/renderers/candleViaRenderer.d.ts.map +1 -0
  130. package/dist/engine/renderers/candleViaRenderer.js +15 -0
  131. package/dist/engine/renderers/candleViaRenderer.js.map +1 -0
  132. package/dist/engine/renderers/linesViaRenderer.d.ts +55 -0
  133. package/dist/engine/renderers/linesViaRenderer.d.ts.map +1 -0
  134. package/dist/engine/renderers/linesViaRenderer.js +169 -0
  135. package/dist/engine/renderers/linesViaRenderer.js.map +1 -0
  136. package/dist/engine/renderers/rectsViaRenderer.d.ts +18 -0
  137. package/dist/engine/renderers/rectsViaRenderer.d.ts.map +1 -0
  138. package/dist/engine/renderers/rectsViaRenderer.js +63 -0
  139. package/dist/engine/renderers/rectsViaRenderer.js.map +1 -0
  140. package/dist/engine/renderers/subVolume.js +7 -26
  141. package/dist/engine/renderers/subVolume.js.map +1 -1
  142. package/dist/engine/renderers/timeAxis.js +1 -1
  143. package/dist/engine/renderers/timeAxis.js.map +1 -1
  144. package/dist/engine/state/chartStateKernel.d.ts +11 -2
  145. package/dist/engine/state/chartStateKernel.d.ts.map +1 -1
  146. package/dist/engine/state/chartStateKernel.js +28 -12
  147. package/dist/engine/state/chartStateKernel.js.map +1 -1
  148. package/dist/engine/state/index.d.ts +1 -1
  149. package/dist/engine/state/index.d.ts.map +1 -1
  150. package/dist/engine/state/index.js +1 -1
  151. package/dist/engine/state/index.js.map +1 -1
  152. package/dist/engine/state/interactionState.d.ts +15 -7
  153. package/dist/engine/state/interactionState.d.ts.map +1 -1
  154. package/dist/engine/state/interactionState.js +55 -60
  155. package/dist/engine/state/interactionState.js.map +1 -1
  156. package/dist/engine/state/rendererState.d.ts +14 -0
  157. package/dist/engine/state/rendererState.d.ts.map +1 -0
  158. package/dist/engine/state/rendererState.js +25 -0
  159. package/dist/engine/state/rendererState.js.map +1 -0
  160. package/dist/engine/state/themeState.d.ts +11 -4
  161. package/dist/engine/state/themeState.d.ts.map +1 -1
  162. package/dist/engine/state/themeState.js +13 -5
  163. package/dist/engine/state/themeState.js.map +1 -1
  164. package/dist/engine/state/viewportState.d.ts.map +1 -1
  165. package/dist/engine/state/viewportState.js +7 -3
  166. package/dist/engine/state/viewportState.js.map +1 -1
  167. package/dist/engine/subPaneManager.d.ts.map +1 -1
  168. package/dist/engine/subPaneManager.js +2 -10
  169. package/dist/engine/subPaneManager.js.map +1 -1
  170. package/dist/foundation/config/chartSettings.d.ts +16 -4
  171. package/dist/foundation/config/chartSettings.d.ts.map +1 -1
  172. package/dist/foundation/config/chartSettings.js +21 -6
  173. package/dist/foundation/config/chartSettings.js.map +1 -1
  174. package/dist/foundation/plugin/index.d.ts +0 -1
  175. package/dist/foundation/plugin/index.d.ts.map +1 -1
  176. package/dist/foundation/plugin/rendererPluginManager.d.ts +1 -22
  177. package/dist/foundation/plugin/rendererPluginManager.d.ts.map +1 -1
  178. package/dist/foundation/plugin/rendererPluginManager.js +0 -84
  179. package/dist/foundation/plugin/rendererPluginManager.js.map +1 -1
  180. package/dist/foundation/plugin/types.d.ts +11 -17
  181. package/dist/foundation/plugin/types.d.ts.map +1 -1
  182. package/dist/foundation/plugin/types.js.map +1 -1
  183. package/dist/foundation/reactivity/frameTransaction.d.ts +71 -0
  184. package/dist/foundation/reactivity/frameTransaction.d.ts.map +1 -0
  185. package/dist/foundation/reactivity/frameTransaction.js +170 -0
  186. package/dist/foundation/reactivity/frameTransaction.js.map +1 -0
  187. package/dist/foundation/reactivity/index.d.ts +4 -2
  188. package/dist/foundation/reactivity/index.d.ts.map +1 -1
  189. package/dist/foundation/reactivity/index.js +2 -1
  190. package/dist/foundation/reactivity/index.js.map +1 -1
  191. package/dist/foundation/reactivity/signal.d.ts +20 -0
  192. package/dist/foundation/reactivity/signal.d.ts.map +1 -1
  193. package/dist/foundation/reactivity/signal.js +27 -0
  194. package/dist/foundation/reactivity/signal.js.map +1 -1
  195. package/dist/foundation/tokens/theme-dark.d.ts.map +1 -1
  196. package/dist/foundation/tokens/theme-dark.js +2 -1
  197. package/dist/foundation/tokens/theme-dark.js.map +1 -1
  198. package/dist/foundation/tokens/theme-light.d.ts.map +1 -1
  199. package/dist/foundation/tokens/theme-light.js +2 -1
  200. package/dist/foundation/tokens/theme-light.js.map +1 -1
  201. package/dist/rendering/render/Renderer.d.ts +29 -14
  202. package/dist/rendering/render/Renderer.d.ts.map +1 -1
  203. package/dist/rendering/render/Renderer.js +3 -10
  204. package/dist/rendering/render/Renderer.js.map +1 -1
  205. package/dist/rendering/render/SurfaceBackend.d.ts +5 -7
  206. package/dist/rendering/render/SurfaceBackend.d.ts.map +1 -1
  207. package/dist/rendering/render/SurfaceBackend.js +5 -7
  208. package/dist/rendering/render/SurfaceBackend.js.map +1 -1
  209. package/dist/rendering/render/createCanvas2DRenderer.d.ts +3 -0
  210. package/dist/rendering/render/createCanvas2DRenderer.d.ts.map +1 -0
  211. package/dist/rendering/render/createCanvas2DRenderer.js +74 -0
  212. package/dist/rendering/render/createCanvas2DRenderer.js.map +1 -0
  213. package/dist/rendering/render/createDefaultRendererHost.d.ts +4 -0
  214. package/dist/rendering/render/createDefaultRendererHost.d.ts.map +1 -0
  215. package/dist/rendering/render/createDefaultRendererHost.js +54 -0
  216. package/dist/rendering/render/createDefaultRendererHost.js.map +1 -0
  217. package/dist/rendering/render/createWebGLRenderer.d.ts.map +1 -1
  218. package/dist/rendering/render/createWebGLRenderer.js +42 -80
  219. package/dist/rendering/render/createWebGLRenderer.js.map +1 -1
  220. package/dist/rendering/render/createWebGPURenderer.d.ts +11 -0
  221. package/dist/rendering/render/createWebGPURenderer.d.ts.map +1 -0
  222. package/dist/rendering/render/createWebGPURenderer.js +619 -0
  223. package/dist/rendering/render/createWebGPURenderer.js.map +1 -0
  224. package/dist/rendering/render/createWebGPUSurfaceBackend.d.ts +15 -0
  225. package/dist/rendering/render/createWebGPUSurfaceBackend.d.ts.map +1 -0
  226. package/dist/rendering/render/createWebGPUSurfaceBackend.js +92 -0
  227. package/dist/rendering/render/createWebGPUSurfaceBackend.js.map +1 -0
  228. package/dist/rendering/render/frameMetrics.d.ts +19 -0
  229. package/dist/rendering/render/frameMetrics.d.ts.map +1 -0
  230. package/dist/rendering/render/frameMetrics.js +43 -0
  231. package/dist/rendering/render/frameMetrics.js.map +1 -0
  232. package/dist/rendering/render/index.d.ts +10 -0
  233. package/dist/rendering/render/index.d.ts.map +1 -1
  234. package/dist/rendering/render/index.js +6 -0
  235. package/dist/rendering/render/index.js.map +1 -1
  236. package/dist/rendering/render/rendererHost.d.ts +34 -0
  237. package/dist/rendering/render/rendererHost.d.ts.map +1 -0
  238. package/dist/rendering/render/rendererHost.js +144 -0
  239. package/dist/rendering/render/rendererHost.js.map +1 -0
  240. package/dist/rendering/render/webgpuResourceTable.d.ts +25 -0
  241. package/dist/rendering/render/webgpuResourceTable.d.ts.map +1 -0
  242. package/dist/rendering/render/webgpuResourceTable.js +54 -0
  243. package/dist/rendering/render/webgpuResourceTable.js.map +1 -0
  244. package/dist/rendering/scene/createLayerFromPlugin.d.ts.map +1 -1
  245. package/dist/rendering/scene/createLayerFromPlugin.js +10 -2
  246. package/dist/rendering/scene/createLayerFromPlugin.js.map +1 -1
  247. package/dist/rendering/scene/layerRegistry.d.ts +3 -5
  248. package/dist/rendering/scene/layerRegistry.d.ts.map +1 -1
  249. package/dist/rendering/scene/layerRegistry.js +1 -1
  250. package/dist/rendering/scene/layerRegistry.js.map +1 -1
  251. package/dist/rendering/scene/retainedScene.d.ts +60 -0
  252. package/dist/rendering/scene/retainedScene.d.ts.map +1 -0
  253. package/dist/rendering/scene/retainedScene.js +42 -0
  254. package/dist/rendering/scene/retainedScene.js.map +1 -0
  255. package/dist/version.d.ts +1 -1
  256. package/dist/version.js +1 -1
  257. package/package.json +2 -1
  258. package/src/__tests__/signal.test.ts +47 -1
  259. package/src/controllers/__tests__/createChartController.theme.test.ts +102 -0
  260. package/src/controllers/createChartController.ts +36 -12
  261. package/src/controllers/index.ts +5 -0
  262. package/src/controllers/types.ts +14 -0
  263. package/src/engine/__tests__/chart.dpr.test.ts +64 -0
  264. package/src/engine/__tests__/paneRenderer.resize.test.ts +0 -7
  265. package/src/engine/__tests__/renderSinglePath.test.ts +121 -0
  266. package/src/engine/chart.ts +172 -25
  267. package/src/engine/controller/__tests__/interaction.dpr.test.ts +45 -41
  268. package/src/engine/controller/interaction.ts +81 -30
  269. package/src/engine/data/__tests__/chartDataManager.incrementalLoad.test.ts +1 -0
  270. package/src/engine/data/incrementalLoadHint.ts +6 -1
  271. package/src/engine/drawing/DrawingState.ts +107 -89
  272. package/src/engine/drawing/__tests__/drawingState.workCopy.test.ts +95 -36
  273. package/src/engine/drawing/__tests__/drawingStore.projection.test.ts +22 -0
  274. package/src/engine/drawing/index.ts +12 -4
  275. package/src/engine/drawing/interaction.ts +25 -40
  276. package/src/engine/indicators/chartIndicatorManager.ts +6 -16
  277. package/src/engine/layout/chartPaneLayout.ts +6 -11
  278. package/src/engine/layout/pane.ts +0 -44
  279. package/src/engine/paneRenderer.ts +3 -34
  280. package/src/engine/render/chartRenderer.ts +181 -81
  281. package/src/engine/renderers/Indicator/atr.ts +5 -17
  282. package/src/engine/renderers/Indicator/boll.ts +15 -26
  283. package/src/engine/renderers/Indicator/cci.ts +7 -17
  284. package/src/engine/renderers/Indicator/chaikinVol.ts +3 -15
  285. package/src/engine/renderers/Indicator/cmf.ts +3 -15
  286. package/src/engine/renderers/Indicator/dema.ts +3 -15
  287. package/src/engine/renderers/Indicator/donchian.ts +3 -12
  288. package/src/engine/renderers/Indicator/ene.ts +15 -25
  289. package/src/engine/renderers/Indicator/expma.ts +4 -13
  290. package/src/engine/renderers/Indicator/fastk.ts +7 -17
  291. package/src/engine/renderers/Indicator/fib.ts +3 -12
  292. package/src/engine/renderers/Indicator/hma.ts +3 -15
  293. package/src/engine/renderers/Indicator/hv.ts +3 -15
  294. package/src/engine/renderers/Indicator/ichimoku.ts +21 -24
  295. package/src/engine/renderers/Indicator/kama.ts +3 -15
  296. package/src/engine/renderers/Indicator/keltner.ts +3 -12
  297. package/src/engine/renderers/Indicator/kst.ts +9 -20
  298. package/src/engine/renderers/Indicator/ma.ts +9 -21
  299. package/src/engine/renderers/Indicator/macd.ts +27 -102
  300. package/src/engine/renderers/Indicator/mfi.ts +3 -15
  301. package/src/engine/renderers/Indicator/mom.ts +7 -17
  302. package/src/engine/renderers/Indicator/obv.ts +3 -15
  303. package/src/engine/renderers/Indicator/parkinson.ts +3 -15
  304. package/src/engine/renderers/Indicator/pvt.ts +3 -15
  305. package/src/engine/renderers/Indicator/roc.ts +3 -15
  306. package/src/engine/renderers/Indicator/rsi.ts +12 -23
  307. package/src/engine/renderers/Indicator/shared/webglBand.ts +0 -13
  308. package/src/engine/renderers/Indicator/stoch.ts +9 -20
  309. package/src/engine/renderers/Indicator/tema.ts +3 -15
  310. package/src/engine/renderers/Indicator/trix.ts +3 -12
  311. package/src/engine/renderers/Indicator/vma.ts +3 -15
  312. package/src/engine/renderers/Indicator/vwap.ts +3 -15
  313. package/src/engine/renderers/Indicator/wma.ts +3 -15
  314. package/src/engine/renderers/Indicator/wmsr.ts +7 -17
  315. package/src/engine/renderers/__tests__/candle.sceneRenderer.test.ts +208 -0
  316. package/src/engine/renderers/__tests__/candleViaRenderer.test.ts +100 -0
  317. package/src/engine/renderers/__tests__/linesViaRenderer.test.ts +263 -0
  318. package/src/engine/renderers/__tests__/rectsViaRenderer.test.ts +87 -0
  319. package/src/engine/renderers/candle.ts +26 -69
  320. package/src/engine/renderers/candleViaRenderer.ts +38 -0
  321. package/src/engine/renderers/linesViaRenderer.ts +226 -0
  322. package/src/engine/renderers/rectsViaRenderer.ts +83 -0
  323. package/src/engine/renderers/subVolume.ts +9 -61
  324. package/src/engine/renderers/timeAxis.ts +1 -1
  325. package/src/engine/state/__tests__/effectiveTheme.test.ts +49 -0
  326. package/src/engine/state/__tests__/rendererState.test.ts +36 -0
  327. package/src/engine/state/__tests__/settingsState.test.ts +1 -1
  328. package/src/engine/state/chartStateKernel.ts +38 -17
  329. package/src/engine/state/index.ts +6 -1
  330. package/src/engine/state/interactionState.ts +73 -102
  331. package/src/engine/state/rendererState.ts +32 -0
  332. package/src/engine/state/themeState.ts +15 -8
  333. package/src/engine/state/viewportState.ts +6 -3
  334. package/src/engine/subPaneManager.ts +2 -16
  335. package/src/foundation/config/__tests__/chartSettings.test.ts +25 -0
  336. package/src/foundation/config/chartSettings.ts +24 -7
  337. package/src/foundation/plugin/index.ts +0 -1
  338. package/src/foundation/plugin/rendererPluginManager.ts +0 -99
  339. package/src/foundation/plugin/types.ts +11 -18
  340. package/src/foundation/reactivity/__tests__/frameTransaction.test.ts +306 -0
  341. package/src/foundation/reactivity/frameTransaction.ts +239 -0
  342. package/src/foundation/reactivity/index.ts +8 -0
  343. package/src/foundation/reactivity/signal.ts +39 -0
  344. package/src/foundation/tokens/__tests__/__snapshots__/baseline.test.ts.snap +2 -2
  345. package/src/foundation/tokens/theme-dark.ts +2 -1
  346. package/src/foundation/tokens/theme-light.ts +2 -1
  347. package/src/rendering/render/Renderer.ts +27 -14
  348. package/src/rendering/render/SurfaceBackend.ts +5 -7
  349. package/src/rendering/render/__tests__/canvas2DRenderer.test.ts +34 -0
  350. package/src/rendering/render/__tests__/contract.test.ts +2 -2
  351. package/src/rendering/render/__tests__/frameMetrics.test.ts +24 -0
  352. package/src/rendering/render/__tests__/rendererHost.test.ts +157 -0
  353. package/src/rendering/render/__tests__/webglRenderer.fallback.test.ts +14 -74
  354. package/src/rendering/render/__tests__/webglRenderer.test.ts +64 -6
  355. package/src/rendering/render/__tests__/webgpuRenderer.test.ts +370 -0
  356. package/src/rendering/render/__tests__/webgpuResourceTable.test.ts +62 -0
  357. package/src/rendering/render/__tests__/webgpuSurfaceBackend.test.ts +120 -0
  358. package/src/rendering/render/createCanvas2DRenderer.ts +83 -0
  359. package/src/rendering/render/createDefaultRendererHost.ts +74 -0
  360. package/src/rendering/render/createWebGLRenderer.ts +41 -87
  361. package/src/rendering/render/createWebGPURenderer.ts +677 -0
  362. package/src/rendering/render/createWebGPUSurfaceBackend.ts +106 -0
  363. package/src/rendering/render/frameMetrics.ts +54 -0
  364. package/src/rendering/render/index.ts +30 -0
  365. package/src/rendering/render/rendererHost.ts +210 -0
  366. package/src/rendering/render/webgpuResourceTable.ts +87 -0
  367. package/src/rendering/scene/__tests__/layerFromPlugin.test.ts +29 -2
  368. package/src/rendering/scene/__tests__/retainedScene.test.ts +59 -0
  369. package/src/rendering/scene/createLayerFromPlugin.ts +9 -2
  370. package/src/rendering/scene/layerRegistry.ts +4 -6
  371. package/src/rendering/scene/retainedScene.ts +101 -0
  372. package/src/version.ts +1 -1
@@ -1,135 +1,153 @@
1
1
  const PREVIEW_ID = '__preview__';
2
2
  /**
3
- * 交互会话层 CRUD。本地 drawings 数组是工作副本;
4
- * 持久业务 SSOT 是 kernel.drawing,经 DrawingChartAdapter.setDrawings 同步。
5
- * 禁止直接写 DrawingStore。
6
- *
7
- * 所有变更操作会自动同步到 DrawingChartAdapter(触发渲染)。
8
- * 不处理事件、不处理命中检测、不处理拖拽逻辑,只维护数据一致性。
3
+ * 交互会话层:只持预览与拖拽覆盖,不持完整图元列表。
4
+ * 已确认图元唯一 SSOT 是 kernel.drawing,经 adapter 读写。
9
5
  */
10
6
  export class DrawingState {
11
7
  adapter;
12
- drawings = [];
13
- selectedDrawingId = null;
8
+ preview = null;
9
+ dragOverride = null;
14
10
  constructor(adapter) {
15
11
  this.adapter = adapter;
16
12
  }
17
13
  // ---- Read ----
18
- /** 返回全部图元(含预览) */
14
+ /** kernel 已确认图元(不含预览) */
15
+ committed() {
16
+ return this.adapter.getFullDrawings().filter((d) => d.id !== PREVIEW_ID);
17
+ }
18
+ /** 渲染用:拖拽覆盖 + 预览(顺序:override 先,preview 后) */
19
+ getPaintOverlay() {
20
+ const out = [];
21
+ if (this.dragOverride)
22
+ out.push(this.dragOverride);
23
+ if (this.preview)
24
+ out.push(this.preview);
25
+ return out;
26
+ }
27
+ /** 已确认 ⊕ 会话覆盖(UI / getDrawings) */
19
28
  getAll() {
20
- return this.drawings;
29
+ return mergePaint(this.committed(), this.getPaintOverlay());
21
30
  }
22
- /** 返回非预览图元(用于命中检测) */
31
+ /** 命中检测用:已确认 + 拖拽覆盖,不含预览 */
23
32
  getNonPreview() {
24
- return this.drawings.filter((d) => d.id !== PREVIEW_ID);
33
+ return mergePaint(this.committed(), this.dragOverride ? [this.dragOverride] : []);
25
34
  }
26
- /** 按 ID 查找图元 */
27
35
  getById(id) {
28
- return this.drawings.find((d) => d.id === id);
36
+ if (this.dragOverride?.id === id)
37
+ return this.dragOverride;
38
+ if (this.preview?.id === id)
39
+ return this.preview;
40
+ return this.committed().find((d) => d.id === id);
29
41
  }
30
- /** 是否有预览图元 */
31
42
  hasPreview() {
32
- return this.drawings.some((d) => d.id === PREVIEW_ID);
43
+ return this.preview !== null;
33
44
  }
34
- /** 返回当前选中图元 */
35
45
  getSelected() {
36
- if (!this.selectedDrawingId)
46
+ const id = this.getSelectedId();
47
+ if (!id)
37
48
  return null;
38
- return this.drawings.find((d) => d.id === this.selectedDrawingId) ?? null;
49
+ return this.getById(id) ?? null;
39
50
  }
40
- /** 返回当前选中图元的 ID */
41
51
  getSelectedId() {
42
- return this.selectedDrawingId;
43
- }
44
- // ---- Write ----
45
- // 所有 write 方法都会调用 adapter.setDrawings() 触发渲染
46
- /**
47
- * 工作副本必须可变:kernel deepFreezeSnapshot 会冻结数组与元素。
48
- * 浅 slice 仍会让 anchors/style 不可写,故做一层 plain 深拷贝。
49
- */
50
- adoptWorkCopy(drawings) {
51
- return drawings.map((d) => ({
52
- ...d,
53
- anchors: d.anchors.map((a) => ({ ...a })),
54
- params: { ...d.params },
55
- style: { ...d.style },
56
- }));
57
- }
58
- /** 整体替换图元列表;选中 id 不在列表时同步清本地与 kernel */
52
+ return this.adapter.getSelectedDrawingId();
53
+ }
54
+ // ---- Session (no kernel write) ----
55
+ setPreview(preview) {
56
+ this.preview = preview;
57
+ this.adapter.requestDraw?.();
58
+ }
59
+ removePreview() {
60
+ if (!this.preview)
61
+ return;
62
+ this.preview = null;
63
+ this.adapter.requestDraw?.();
64
+ }
65
+ setDragOverride(drawing) {
66
+ this.dragOverride = drawing;
67
+ this.adapter.requestDraw?.();
68
+ }
69
+ clearDragOverride() {
70
+ if (!this.dragOverride)
71
+ return;
72
+ this.dragOverride = null;
73
+ }
74
+ /** pointerup:把拖拽结果写入 kernel,清会话覆盖 */
75
+ commitDrag() {
76
+ if (!this.dragOverride)
77
+ return;
78
+ const next = mergePaint(this.committed(), [this.dragOverride]);
79
+ this.dragOverride = null;
80
+ this.adapter.setDrawings(next);
81
+ }
82
+ // ---- Committed writes (kernel) ----
59
83
  setDrawings(drawings) {
60
- this.drawings = this.adoptWorkCopy(drawings);
61
- if (this.selectedDrawingId && !this.drawings.some((d) => d.id === this.selectedDrawingId)) {
62
- this.selectedDrawingId = null;
63
- this.adapter.setSelectedDrawingId(null);
64
- }
65
- this.adapter.setDrawings(this.drawings);
84
+ this.preview = null;
85
+ this.dragOverride = null;
86
+ const committed = drawings.filter((d) => d.id !== PREVIEW_ID);
87
+ this.clearSelectionIfMissing(committed);
88
+ this.adapter.setDrawings(committed);
66
89
  }
67
- /** 替换图元列表,若选中项被移除则自动清除选中(含 kernel) */
68
90
  replaceDrawings(drawings) {
69
- this.drawings = this.adoptWorkCopy(drawings);
70
- if (this.selectedDrawingId && !this.drawings.some((d) => d.id === this.selectedDrawingId)) {
71
- this.selectedDrawingId = null;
72
- this.adapter.setSelectedDrawingId(null);
73
- }
74
- this.adapter.setDrawings(this.drawings);
91
+ this.setDrawings(drawings);
75
92
  }
76
- /** 添加或更新单个图元(id 相同则替换) */
77
93
  addOrUpdate(drawing) {
78
- const idx = this.drawings.findIndex((d) => d.id === drawing.id);
79
- if (idx >= 0) {
80
- const next = this.drawings.slice();
81
- next[idx] = drawing;
82
- this.drawings = next;
83
- }
84
- else {
85
- this.drawings = [...this.drawings, drawing];
94
+ if (drawing.id === PREVIEW_ID) {
95
+ this.setPreview(drawing);
96
+ return;
86
97
  }
87
- this.adapter.setDrawings(this.drawings);
98
+ const next = mergePaint(this.committed(), [drawing]);
99
+ this.adapter.setDrawings(next);
88
100
  }
89
- /** 删除图元,若为选中项则清除选中 */
90
101
  removeDrawing(drawingId) {
91
- this.drawings = this.drawings.filter((d) => d.id !== drawingId);
92
- if (this.selectedDrawingId === drawingId) {
93
- this.selectedDrawingId = null;
94
- }
95
- this.adapter.setDrawings(this.drawings);
102
+ if (this.dragOverride?.id === drawingId)
103
+ this.dragOverride = null;
104
+ if (this.preview?.id === drawingId)
105
+ this.preview = null;
106
+ const next = this.committed().filter((d) => d.id !== drawingId);
107
+ this.clearSelectionIfMissing(next);
108
+ this.adapter.setDrawings(next);
96
109
  }
97
- /** 更新图元样式(合并到已有样式) */
98
110
  updateDrawingStyle(drawingId, style) {
99
- this.drawings = this.drawings.map((d) => d.id === drawingId ? { ...d, style: { ...d.style, ...style } } : d);
100
- this.adapter.setDrawings(this.drawings);
101
- }
102
- /**
103
- * 设置选中图元。
104
- * 仅在选中 ID 确实变化时才触发 adapter 同步。
105
- * 不触发 onDrawingSelected 回调 —— 由调用方(controller)管理。
106
- */
111
+ const next = this.committed().map((d) => d.id === drawingId ? { ...d, style: { ...d.style, ...style } } : d);
112
+ if (this.dragOverride?.id === drawingId) {
113
+ this.dragOverride = { ...this.dragOverride, style: { ...this.dragOverride.style, ...style } };
114
+ }
115
+ this.adapter.setDrawings(next);
116
+ }
107
117
  setSelected(drawing) {
108
118
  const newId = drawing?.id ?? null;
109
- if (this.selectedDrawingId === newId)
119
+ if (this.adapter.getSelectedDrawingId() === newId)
110
120
  return;
111
- this.selectedDrawingId = newId;
112
121
  this.adapter.setSelectedDrawingId(newId);
113
122
  }
114
- /** 删除预览图元(__preview__) */
115
- removePreview() {
116
- if (!this.hasPreview())
117
- return;
118
- this.drawings = this.drawings.filter((d) => d.id !== PREVIEW_ID);
119
- this.adapter.setDrawings(this.drawings);
120
- }
121
- /** 设置预览图元(替换已有的 __preview__) */
122
- setPreview(preview) {
123
- this.drawings = [...this.drawings.filter((d) => d.id !== PREVIEW_ID), preview];
124
- this.adapter.setDrawings(this.drawings);
125
- }
126
- /** 清空所有图元并清除选中 */
127
123
  clear() {
128
- this.drawings = [];
129
- this.selectedDrawingId = null;
124
+ this.preview = null;
125
+ this.dragOverride = null;
130
126
  this.adapter.setDrawings([]);
131
127
  this.adapter.setSelectedDrawingId(null);
132
128
  }
129
+ clearSelectionIfMissing(list) {
130
+ const selected = this.adapter.getSelectedDrawingId();
131
+ if (selected && !list.some((d) => d.id === selected)) {
132
+ this.adapter.setSelectedDrawingId(null);
133
+ }
134
+ }
135
+ }
136
+ /** 以 id 合并;overlay 覆盖同 id;__preview__ 追加在末尾 */
137
+ export function mergePaint(committed, overlay) {
138
+ const byId = new Map();
139
+ for (const d of committed) {
140
+ if (d.id !== PREVIEW_ID)
141
+ byId.set(d.id, d);
142
+ }
143
+ const previews = [];
144
+ for (const o of overlay) {
145
+ if (o.id === PREVIEW_ID)
146
+ previews.push(o);
147
+ else
148
+ byId.set(o.id, o);
149
+ }
150
+ return [...byId.values(), ...previews];
133
151
  }
134
152
  export { PREVIEW_ID };
135
153
  //# sourceMappingURL=DrawingState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DrawingState.js","sourceRoot":"","sources":["../../../src/engine/drawing/DrawingState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DrawingState.js","sourceRoot":"","sources":["../../../src/engine/drawing/DrawingState.ts"],"names":[],"mappings":"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"}
@@ -4,14 +4,17 @@ import type { ReadonlySignal } from '../../foundation/reactivity/signal';
4
4
  export interface DrawingStoreDeps {
5
5
  drawings$: ReadonlySignal<ReadonlyArray<DrawingObject>>;
6
6
  selectedDrawingId$: ReadonlySignal<string | null>;
7
+ /** 会话层覆盖(拖拽/预览);缺省为空 */
8
+ getOverlay?: () => ReadonlyArray<DrawingObject>;
7
9
  }
8
10
  /**
9
- * 绘图投影器 —— 业务态在 kernel.drawing;此类只读 signal 供渲染插件使用。
11
+ * 绘图投影器 —— kernel 业务 SSOT ⊕ 会话 overlay,供渲染插件读取。
10
12
  */
11
13
  export declare class DrawingStore {
12
14
  private readonly deps;
13
15
  constructor(deps: DrawingStoreDeps);
14
16
  getSelectedId(): string | null;
17
+ private paintList;
15
18
  getAll(): DrawingObject[];
16
19
  getVisibleByPane(paneId: string): DrawingObject[];
17
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/engine/drawing/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/engine/drawing/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
+ import { mergePaint } from './DrawingState';
1
2
  /**
2
- * 绘图投影器 —— 业务态在 kernel.drawing;此类只读 signal 供渲染插件使用。
3
+ * 绘图投影器 —— kernel 业务 SSOT ⊕ 会话 overlay,供渲染插件读取。
3
4
  */
4
5
  export class DrawingStore {
5
6
  deps;
@@ -9,12 +10,16 @@ export class DrawingStore {
9
10
  getSelectedId() {
10
11
  return this.deps.selectedDrawingId$.peek();
11
12
  }
13
+ paintList() {
14
+ const committed = this.deps.drawings$.peek();
15
+ const overlay = this.deps.getOverlay?.() ?? [];
16
+ return mergePaint(committed, overlay);
17
+ }
12
18
  getAll() {
13
- return [...this.deps.drawings$.peek()];
19
+ return this.paintList();
14
20
  }
15
21
  getVisibleByPane(paneId) {
16
- return this.deps.drawings$
17
- .peek()
22
+ return this.paintList()
18
23
  .filter((drawing) => drawing.visible && drawing.paneId === paneId)
19
24
  .slice()
20
25
  .sort((a, b) => (a.zIndex ?? 0) - (b.zIndex ?? 0));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/engine/drawing/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/engine/drawing/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { DrawingChartAdapter } from '../../controllers/types';
2
2
  import type { DrawingObject, DrawingStyle } from '../../foundation/plugin/index';
3
+ import { PREVIEW_ID } from './DrawingState';
3
4
  import type { DrawingToolId } from './toolConfig';
4
5
  export type { DrawingToolId } from './toolConfig';
5
6
  export type { DrawingAnchorInput } from './coordinateUtils';
@@ -9,16 +10,9 @@ export interface DrawingInteractionCallbacks {
9
10
  onDrawingSelected?: (drawing: DrawingObject | null) => void;
10
11
  }
11
12
  /**
12
- * 绘图交互控制器 v2 精简事件路由,组合子模块。
13
+ * 绘图交互控制器 —— 精简事件路由,组合子模块。
13
14
  *
14
- * ┌─────────────────────────────────────┐
15
- * │ DrawingInteractionController │
16
- * │ ├─ DrawingState (图元 CRUD) │
17
- * │ ├─ AnchorCollector (锚点累积) │
18
- * │ ├─ PreviewRenderer (预览构建) │
19
- * │ ├─ HitTester (命中检测) │
20
- * │ └─ DragHandler (拖拽管理) │
21
- * └─────────────────────────────────────┘
15
+ * 已确认图元只写 kernel;预览与拖拽覆盖只在 DrawingState 会话层。
22
16
  */
23
17
  export declare class DrawingInteractionController {
24
18
  private adapter;
@@ -29,54 +23,40 @@ export declare class DrawingInteractionController {
29
23
  private hitTester;
30
24
  private dragHandler;
31
25
  constructor(adapter: DrawingChartAdapter);
32
- /** 注册回调(创建/选中/工具切换事件通知) */
26
+ /** 渲染合成用:拖拽覆盖 + 预览 */
27
+ getPaintOverlay(): DrawingObject[];
33
28
  setCallbacks(callbacks: DrawingInteractionCallbacks): void;
34
- /** 返回当前激活的绘图工具 ID(读 kernel SSOT) */
35
29
  getActiveTool(): DrawingToolId;
36
30
  /**
37
31
  * 会话副作用:清锚点/预览/拖拽/选中。仅 Chart 在写完 kernel 后调用。
38
32
  */
39
33
  applyToolSession(toolId: DrawingToolId): void;
40
- /**
41
- * 切换绘图工具 —— 经 adapter 写 kernel(Chart 单写路径)。
42
- */
43
34
  setTool(toolId: DrawingToolId): void;
44
- /** 返回所有图元(含预览) */
45
35
  getDrawings(): DrawingObject[];
46
- /** 整体替换图元列表 */
47
36
  setDrawings(drawings: DrawingObject[]): void;
48
- /** 清空锚点累积、预览、拖拽状态及所有图元 */
49
37
  clear(): void;
50
- /** 更新指定图元的样式(合并) */
51
38
  updateDrawingStyle(drawingId: string, style: Partial<DrawingStyle>): void;
52
- /** 删除指定图元 */
53
39
  removeDrawing(drawingId: string): void;
54
- /** 返回当前选中的图元 */
55
40
  getSelectedDrawing(): DrawingObject | null;
56
41
  /**
57
- * 指针移动事件入口。
58
- * 拖拽中 → 委托 DragHandler 更新锚点;绘图模式 → 构建预览图元。
42
+ * 指针移动:拖拽只写会话覆盖;绘图模式只写预览。均不写 kernel。
59
43
  * @returns true 表示事件已消费,需要重绘
60
44
  */
61
45
  onPointerMove(e: PointerEvent, container: HTMLElement): boolean;
62
46
  /**
63
- * 指针按下事件入口。
64
- * 光标模式 → 命中检测 + 选中 + 拖拽开始;绘图模式 → 创建或累积锚点。
47
+ * 指针按下:光标模式命中+选中+开拖;绘图模式创建或累积锚点。
65
48
  * @returns true 表示事件已消费
66
49
  */
67
50
  onPointerDown(e: PointerEvent, container: HTMLElement): boolean;
68
51
  /**
69
- * 指针抬起事件入口。结束拖拽。
52
+ * 指针抬起:拖拽结果一次 commit 到 kernel。
70
53
  * @returns true 表示事件已消费
71
54
  */
72
55
  onPointerUp(_e: PointerEvent, _container: HTMLElement): boolean;
73
- /** 光标模式下指针按下:命中检测 → 选中 → 开始拖拽 */
74
56
  private handleCursorDown;
75
- /** 设置选中图元并通知回调 */
76
57
  private setSelected;
77
- /** 单锚点工具:点击即创建图元,完成后切回光标模式 */
78
58
  private createSingleAnchorDrawing;
79
- /** 多锚点工具(2-3 锚点):锚点累积满后创建图元,完成后切回光标模式 */
80
59
  private createMultiAnchorDrawing;
81
60
  }
61
+ export { PREVIEW_ID };
82
62
  //# sourceMappingURL=interaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../../src/engine/drawing/interaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAClE,OAAO,KAAK,EAAE,aAAa,EAAe,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAS7F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAIjD,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACjD,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAE3D,MAAM,WAAW,2BAA2B;IAC1C,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAA;IACnD,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAA;IAC9C,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,KAAK,IAAI,CAAA;CAC5D;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,4BAA4B;IACvC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,SAAS,CAAkC;IAEnD,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,SAAS,CAAW;IAC5B,OAAO,CAAC,WAAW,CAAa;gBAEpB,OAAO,EAAE,mBAAmB;IAWxC,2BAA2B;IAC3B,YAAY,CAAC,SAAS,EAAE,2BAA2B;IAMnD,oCAAoC;IACpC,aAAa,IAAI,aAAa;IAI9B;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAQ7C;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,aAAa;IAM7B,kBAAkB;IAClB,WAAW,IAAI,aAAa,EAAE;IAI9B,eAAe;IACf,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE;IAIrC,0BAA0B;IAC1B,KAAK;IAOL,oBAAoB;IACpB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI;IAIzE,aAAa;IACb,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAMtC,gBAAgB;IAChB,kBAAkB,IAAI,aAAa,GAAG,IAAI;IAM1C;;;;OAIG;IACH,aAAa,CAAC,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,GAAG,OAAO;IAwC/D;;;;OAIG;IACH,aAAa,CAAC,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,GAAG,OAAO;IA+B/D;;;OAGG;IACH,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,GAAG,OAAO;IAQ/D,iCAAiC;IACjC,OAAO,CAAC,gBAAgB;IA2BxB,kBAAkB;IAClB,OAAO,CAAC,WAAW;IAKnB,8BAA8B;IAC9B,OAAO,CAAC,yBAAyB;IA6BjC,yCAAyC;IACzC,OAAO,CAAC,wBAAwB;CA6CjC"}
1
+ {"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../../src/engine/drawing/interaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAIhF,OAAO,EAAgB,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAKzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAIjD,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACjD,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAE3D,MAAM,WAAW,2BAA2B;IAC1C,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAA;IACnD,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAA;IAC9C,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,KAAK,IAAI,CAAA;CAC5D;AAED;;;;GAIG;AACH,qBAAa,4BAA4B;IACvC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,SAAS,CAAkC;IAEnD,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,SAAS,CAAW;IAC5B,OAAO,CAAC,WAAW,CAAa;gBAEpB,OAAO,EAAE,mBAAmB;IASxC,sBAAsB;IACtB,eAAe,IAAI,aAAa,EAAE;IAMlC,YAAY,CAAC,SAAS,EAAE,2BAA2B;IAMnD,aAAa,IAAI,aAAa;IAI9B;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAW7C,OAAO,CAAC,MAAM,EAAE,aAAa;IAM7B,WAAW,IAAI,aAAa,EAAE;IAI9B,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE;IAIrC,KAAK;IAUL,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI;IAIzE,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAMtC,kBAAkB,IAAI,aAAa,GAAG,IAAI;IAM1C;;;OAGG;IACH,aAAa,CAAC,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,GAAG,OAAO;IAuC/D;;;OAGG;IACH,aAAa,CAAC,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,GAAG,OAAO;IA2B/D;;;OAGG;IACH,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,GAAG,OAAO;IAS/D,OAAO,CAAC,gBAAgB;IA2BxB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,yBAAyB;IA6BjC,OAAO,CAAC,wBAAwB;CA6CjC;AAED,OAAO,EAAE,UAAU,EAAE,CAAA"}