minerva-design 1.2.0 → 1.4.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 (1226) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +21 -21
  3. package/custom-elements.json +13630 -4757
  4. package/dist/angular/fesm2022/minerva-angular.mjs +6872 -172
  5. package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
  6. package/dist/angular/types/minerva-angular.d.ts +2240 -0
  7. package/dist/charts/canvas.d.cts +10 -2
  8. package/dist/charts/canvas.d.ts +10 -2
  9. package/dist/charts/core.cjs +1 -1
  10. package/dist/charts/core.d.cts +9 -3
  11. package/dist/charts/core.d.ts +9 -3
  12. package/dist/charts/core.js +19 -6
  13. package/dist/charts/engine/axis.cjs +1 -1
  14. package/dist/charts/engine/axis.cjs.map +1 -1
  15. package/dist/charts/engine/axis.js +6 -6
  16. package/dist/charts/engine/axis.js.map +1 -1
  17. package/dist/charts/engine/canvas.cjs +1 -1
  18. package/dist/charts/engine/canvas.cjs.map +1 -1
  19. package/dist/charts/engine/canvas.d.cts +11 -1
  20. package/dist/charts/engine/canvas.d.ts +11 -1
  21. package/dist/charts/engine/canvas.js +161 -99
  22. package/dist/charts/engine/canvas.js.map +1 -1
  23. package/dist/charts/engine/chart.cjs +1 -2
  24. package/dist/charts/engine/chart.cjs.map +1 -1
  25. package/dist/charts/engine/chart.d.cts +1 -1
  26. package/dist/charts/engine/chart.d.ts +1 -1
  27. package/dist/charts/engine/chart.js +390 -349
  28. package/dist/charts/engine/chart.js.map +1 -1
  29. package/dist/charts/engine/color.cjs +1 -1
  30. package/dist/charts/engine/color.cjs.map +1 -1
  31. package/dist/charts/engine/color.d.cts +17 -0
  32. package/dist/charts/engine/color.d.ts +17 -0
  33. package/dist/charts/engine/color.js +27 -3
  34. package/dist/charts/engine/color.js.map +1 -1
  35. package/dist/charts/engine/controller.cjs +2 -2
  36. package/dist/charts/engine/controller.cjs.map +1 -1
  37. package/dist/charts/engine/controller.d.cts +17 -2
  38. package/dist/charts/engine/controller.d.ts +17 -2
  39. package/dist/charts/engine/controller.js +404 -280
  40. package/dist/charts/engine/controller.js.map +1 -1
  41. package/dist/charts/engine/curve.cjs +2 -0
  42. package/dist/charts/engine/curve.cjs.map +1 -0
  43. package/dist/charts/engine/curve.d.cts +15 -0
  44. package/dist/charts/engine/curve.d.ts +15 -0
  45. package/dist/charts/engine/curve.js +56 -0
  46. package/dist/charts/engine/curve.js.map +1 -0
  47. package/dist/charts/engine/data.cjs +1 -1
  48. package/dist/charts/engine/data.cjs.map +1 -1
  49. package/dist/charts/engine/data.d.cts +21 -2
  50. package/dist/charts/engine/data.d.ts +21 -2
  51. package/dist/charts/engine/data.js +117 -43
  52. package/dist/charts/engine/data.js.map +1 -1
  53. package/dist/charts/engine/dom.cjs +1 -1
  54. package/dist/charts/engine/dom.cjs.map +1 -1
  55. package/dist/charts/engine/dom.d.cts +5 -3
  56. package/dist/charts/engine/dom.d.ts +5 -3
  57. package/dist/charts/engine/dom.js +27 -22
  58. package/dist/charts/engine/dom.js.map +1 -1
  59. package/dist/charts/engine/format.cjs +1 -1
  60. package/dist/charts/engine/format.cjs.map +1 -1
  61. package/dist/charts/engine/format.d.cts +21 -6
  62. package/dist/charts/engine/format.d.ts +21 -6
  63. package/dist/charts/engine/format.js +46 -21
  64. package/dist/charts/engine/format.js.map +1 -1
  65. package/dist/charts/engine/items.cjs +1 -1
  66. package/dist/charts/engine/items.cjs.map +1 -1
  67. package/dist/charts/engine/items.js +290 -62
  68. package/dist/charts/engine/items.js.map +1 -1
  69. package/dist/charts/engine/labels.cjs +2 -0
  70. package/dist/charts/engine/labels.cjs.map +1 -0
  71. package/dist/charts/engine/labels.d.cts +13 -0
  72. package/dist/charts/engine/labels.d.ts +13 -0
  73. package/dist/charts/engine/labels.js +74 -0
  74. package/dist/charts/engine/labels.js.map +1 -0
  75. package/dist/charts/engine/layout.cjs +1 -1
  76. package/dist/charts/engine/layout.cjs.map +1 -1
  77. package/dist/charts/engine/layout.d.cts +34 -2
  78. package/dist/charts/engine/layout.d.ts +34 -2
  79. package/dist/charts/engine/layout.js +53 -12
  80. package/dist/charts/engine/layout.js.map +1 -1
  81. package/dist/charts/engine/locale.cjs +2 -0
  82. package/dist/charts/engine/locale.cjs.map +1 -0
  83. package/dist/charts/engine/locale.d.cts +33 -0
  84. package/dist/charts/engine/locale.d.ts +33 -0
  85. package/dist/charts/engine/locale.js +68 -0
  86. package/dist/charts/engine/locale.js.map +1 -0
  87. package/dist/charts/engine/model.cjs +1 -1
  88. package/dist/charts/engine/model.cjs.map +1 -1
  89. package/dist/charts/engine/model.d.cts +68 -3
  90. package/dist/charts/engine/model.d.ts +68 -3
  91. package/dist/charts/engine/model.js +332 -108
  92. package/dist/charts/engine/model.js.map +1 -1
  93. package/dist/charts/engine/orderbook/book.cjs +2 -0
  94. package/dist/charts/engine/orderbook/book.cjs.map +1 -0
  95. package/dist/charts/engine/orderbook/book.d.cts +28 -0
  96. package/dist/charts/engine/orderbook/book.d.ts +28 -0
  97. package/dist/charts/engine/orderbook/book.js +134 -0
  98. package/dist/charts/engine/orderbook/book.js.map +1 -0
  99. package/dist/charts/engine/orderbook/depth.cjs +2 -0
  100. package/dist/charts/engine/orderbook/depth.cjs.map +1 -0
  101. package/dist/charts/engine/orderbook/depth.d.cts +7 -0
  102. package/dist/charts/engine/orderbook/depth.d.ts +7 -0
  103. package/dist/charts/engine/orderbook/depth.js +413 -0
  104. package/dist/charts/engine/orderbook/depth.js.map +1 -0
  105. package/dist/charts/engine/orderbook/format.cjs +2 -0
  106. package/dist/charts/engine/orderbook/format.cjs.map +1 -0
  107. package/dist/charts/engine/orderbook/format.d.cts +48 -0
  108. package/dist/charts/engine/orderbook/format.d.ts +48 -0
  109. package/dist/charts/engine/orderbook/format.js +65 -0
  110. package/dist/charts/engine/orderbook/format.js.map +1 -0
  111. package/dist/charts/engine/orderbook/heatmap.cjs +2 -0
  112. package/dist/charts/engine/orderbook/heatmap.cjs.map +1 -0
  113. package/dist/charts/engine/orderbook/heatmap.d.cts +9 -0
  114. package/dist/charts/engine/orderbook/heatmap.d.ts +9 -0
  115. package/dist/charts/engine/orderbook/heatmap.js +703 -0
  116. package/dist/charts/engine/orderbook/heatmap.js.map +1 -0
  117. package/dist/charts/engine/orderbook/host.cjs +2 -0
  118. package/dist/charts/engine/orderbook/host.cjs.map +1 -0
  119. package/dist/charts/engine/orderbook/host.d.cts +50 -0
  120. package/dist/charts/engine/orderbook/host.d.ts +50 -0
  121. package/dist/charts/engine/orderbook/host.js +161 -0
  122. package/dist/charts/engine/orderbook/host.js.map +1 -0
  123. package/dist/charts/engine/orderbook/index.cjs +1 -0
  124. package/dist/charts/engine/orderbook/index.d.cts +6 -0
  125. package/dist/charts/engine/orderbook/index.d.ts +6 -0
  126. package/dist/charts/engine/orderbook/index.js +6 -0
  127. package/dist/charts/engine/orderbook/ladder.cjs +2 -0
  128. package/dist/charts/engine/orderbook/ladder.cjs.map +1 -0
  129. package/dist/charts/engine/orderbook/ladder.d.cts +6 -0
  130. package/dist/charts/engine/orderbook/ladder.d.ts +6 -0
  131. package/dist/charts/engine/orderbook/ladder.js +341 -0
  132. package/dist/charts/engine/orderbook/ladder.js.map +1 -0
  133. package/dist/charts/engine/orderbook/tape.cjs +2 -0
  134. package/dist/charts/engine/orderbook/tape.cjs.map +1 -0
  135. package/dist/charts/engine/orderbook/tape.d.cts +6 -0
  136. package/dist/charts/engine/orderbook/tape.d.ts +6 -0
  137. package/dist/charts/engine/orderbook/tape.js +450 -0
  138. package/dist/charts/engine/orderbook/tape.js.map +1 -0
  139. package/dist/charts/engine/orderbook/types.d.cts +735 -0
  140. package/dist/charts/engine/orderbook/types.d.ts +735 -0
  141. package/dist/charts/engine/overlay.cjs +1 -1
  142. package/dist/charts/engine/overlay.cjs.map +1 -1
  143. package/dist/charts/engine/overlay.d.cts +18 -0
  144. package/dist/charts/engine/overlay.d.ts +18 -0
  145. package/dist/charts/engine/overlay.js +138 -102
  146. package/dist/charts/engine/overlay.js.map +1 -1
  147. package/dist/charts/engine/presets.cjs +2 -2
  148. package/dist/charts/engine/presets.cjs.map +1 -1
  149. package/dist/charts/engine/presets.d.cts +319 -5
  150. package/dist/charts/engine/presets.d.ts +319 -5
  151. package/dist/charts/engine/presets.js +463 -38
  152. package/dist/charts/engine/presets.js.map +1 -1
  153. package/dist/charts/engine/renderers/canvas2d.cjs +1 -1
  154. package/dist/charts/engine/renderers/canvas2d.cjs.map +1 -1
  155. package/dist/charts/engine/renderers/canvas2d.js +149 -111
  156. package/dist/charts/engine/renderers/canvas2d.js.map +1 -1
  157. package/dist/charts/engine/renderers/detect.cjs +1 -1
  158. package/dist/charts/engine/renderers/detect.cjs.map +1 -1
  159. package/dist/charts/engine/renderers/detect.js +18 -15
  160. package/dist/charts/engine/renderers/detect.js.map +1 -1
  161. package/dist/charts/engine/renderers/gl.cjs +2 -0
  162. package/dist/charts/engine/renderers/gl.cjs.map +1 -0
  163. package/dist/charts/engine/renderers/gl.d.cts +21 -0
  164. package/dist/charts/engine/renderers/gl.d.ts +21 -0
  165. package/dist/charts/engine/renderers/gl.js +56 -0
  166. package/dist/charts/engine/renderers/gl.js.map +1 -0
  167. package/dist/charts/engine/renderers/range.cjs +1 -1
  168. package/dist/charts/engine/renderers/range.cjs.map +1 -1
  169. package/dist/charts/engine/renderers/range.js +4 -4
  170. package/dist/charts/engine/renderers/range.js.map +1 -1
  171. package/dist/charts/engine/renderers/shaders.cjs +180 -20
  172. package/dist/charts/engine/renderers/shaders.cjs.map +1 -1
  173. package/dist/charts/engine/renderers/shaders.d.cts +18 -2
  174. package/dist/charts/engine/renderers/shaders.d.ts +18 -2
  175. package/dist/charts/engine/renderers/shaders.js +176 -20
  176. package/dist/charts/engine/renderers/shaders.js.map +1 -1
  177. package/dist/charts/engine/renderers/types.cjs.map +1 -1
  178. package/dist/charts/engine/renderers/types.d.cts +11 -4
  179. package/dist/charts/engine/renderers/types.d.ts +11 -4
  180. package/dist/charts/engine/renderers/types.js.map +1 -1
  181. package/dist/charts/engine/renderers/webgl.cjs +2 -0
  182. package/dist/charts/engine/renderers/webgl.cjs.map +1 -0
  183. package/dist/charts/engine/renderers/webgl.d.cts +4 -0
  184. package/dist/charts/engine/renderers/webgl.d.ts +4 -0
  185. package/dist/charts/engine/renderers/webgl.js +133 -0
  186. package/dist/charts/engine/renderers/webgl.js.map +1 -0
  187. package/dist/charts/engine/renderers/webgl2.cjs +1 -1
  188. package/dist/charts/engine/renderers/webgl2.cjs.map +1 -1
  189. package/dist/charts/engine/renderers/webgl2.d.cts +0 -1
  190. package/dist/charts/engine/renderers/webgl2.d.ts +0 -1
  191. package/dist/charts/engine/renderers/webgl2.js +62 -90
  192. package/dist/charts/engine/renderers/webgl2.js.map +1 -1
  193. package/dist/charts/engine/renderers/webgpu.cjs +1 -1
  194. package/dist/charts/engine/renderers/webgpu.cjs.map +1 -1
  195. package/dist/charts/engine/renderers/webgpu.js +18 -15
  196. package/dist/charts/engine/renderers/webgpu.js.map +1 -1
  197. package/dist/charts/engine/scale.cjs +1 -1
  198. package/dist/charts/engine/scale.cjs.map +1 -1
  199. package/dist/charts/engine/scale.js +1 -1
  200. package/dist/charts/engine/scale.js.map +1 -1
  201. package/dist/charts/engine/scene.cjs +1 -1
  202. package/dist/charts/engine/scene.cjs.map +1 -1
  203. package/dist/charts/engine/scene.d.cts +32 -9
  204. package/dist/charts/engine/scene.d.ts +32 -9
  205. package/dist/charts/engine/scene.js +363 -122
  206. package/dist/charts/engine/scene.js.map +1 -1
  207. package/dist/charts/engine/shapes/bullet.cjs +2 -0
  208. package/dist/charts/engine/shapes/bullet.cjs.map +1 -0
  209. package/dist/charts/engine/shapes/bullet.d.cts +6 -0
  210. package/dist/charts/engine/shapes/bullet.d.ts +6 -0
  211. package/dist/charts/engine/shapes/bullet.js +255 -0
  212. package/dist/charts/engine/shapes/bullet.js.map +1 -0
  213. package/dist/charts/engine/shapes/calendar.cjs +2 -0
  214. package/dist/charts/engine/shapes/calendar.cjs.map +1 -0
  215. package/dist/charts/engine/shapes/calendar.d.cts +38 -0
  216. package/dist/charts/engine/shapes/calendar.d.ts +38 -0
  217. package/dist/charts/engine/shapes/calendar.js +369 -0
  218. package/dist/charts/engine/shapes/calendar.js.map +1 -0
  219. package/dist/charts/engine/shapes/canvas.cjs +2 -0
  220. package/dist/charts/engine/shapes/canvas.cjs.map +1 -0
  221. package/dist/charts/engine/shapes/canvas.d.cts +65 -0
  222. package/dist/charts/engine/shapes/canvas.d.ts +65 -0
  223. package/dist/charts/engine/shapes/canvas.js +168 -0
  224. package/dist/charts/engine/shapes/canvas.js.map +1 -0
  225. package/dist/charts/engine/shapes/chart.cjs +2 -0
  226. package/dist/charts/engine/shapes/chart.cjs.map +1 -0
  227. package/dist/charts/engine/shapes/chart.d.cts +7 -0
  228. package/dist/charts/engine/shapes/chart.d.ts +7 -0
  229. package/dist/charts/engine/shapes/chart.js +292 -0
  230. package/dist/charts/engine/shapes/chart.js.map +1 -0
  231. package/dist/charts/engine/shapes/draw.cjs +2 -0
  232. package/dist/charts/engine/shapes/draw.cjs.map +1 -0
  233. package/dist/charts/engine/shapes/draw.d.cts +22 -0
  234. package/dist/charts/engine/shapes/draw.d.ts +22 -0
  235. package/dist/charts/engine/shapes/draw.js +165 -0
  236. package/dist/charts/engine/shapes/draw.js.map +1 -0
  237. package/dist/charts/engine/shapes/funnel.cjs +2 -0
  238. package/dist/charts/engine/shapes/funnel.cjs.map +1 -0
  239. package/dist/charts/engine/shapes/funnel.d.cts +6 -0
  240. package/dist/charts/engine/shapes/funnel.d.ts +6 -0
  241. package/dist/charts/engine/shapes/funnel.js +149 -0
  242. package/dist/charts/engine/shapes/funnel.js.map +1 -0
  243. package/dist/charts/engine/shapes/gauge.cjs +2 -0
  244. package/dist/charts/engine/shapes/gauge.cjs.map +1 -0
  245. package/dist/charts/engine/shapes/gauge.d.cts +7 -0
  246. package/dist/charts/engine/shapes/gauge.d.ts +7 -0
  247. package/dist/charts/engine/shapes/gauge.js +210 -0
  248. package/dist/charts/engine/shapes/gauge.js.map +1 -0
  249. package/dist/charts/engine/shapes/hit.cjs +2 -0
  250. package/dist/charts/engine/shapes/hit.cjs.map +1 -0
  251. package/dist/charts/engine/shapes/hit.d.cts +30 -0
  252. package/dist/charts/engine/shapes/hit.d.ts +30 -0
  253. package/dist/charts/engine/shapes/hit.js +145 -0
  254. package/dist/charts/engine/shapes/hit.js.map +1 -0
  255. package/dist/charts/engine/shapes/index.d.cts +12 -0
  256. package/dist/charts/engine/shapes/index.d.ts +12 -0
  257. package/dist/charts/engine/shapes/labels.cjs +2 -0
  258. package/dist/charts/engine/shapes/labels.cjs.map +1 -0
  259. package/dist/charts/engine/shapes/labels.d.cts +14 -0
  260. package/dist/charts/engine/shapes/labels.d.ts +14 -0
  261. package/dist/charts/engine/shapes/labels.js +146 -0
  262. package/dist/charts/engine/shapes/labels.js.map +1 -0
  263. package/dist/charts/engine/shapes/layout.cjs +3 -0
  264. package/dist/charts/engine/shapes/layout.cjs.map +1 -0
  265. package/dist/charts/engine/shapes/layout.d.cts +93 -0
  266. package/dist/charts/engine/shapes/layout.d.ts +93 -0
  267. package/dist/charts/engine/shapes/layout.js +353 -0
  268. package/dist/charts/engine/shapes/layout.js.map +1 -0
  269. package/dist/charts/engine/shapes/pie.cjs +2 -0
  270. package/dist/charts/engine/shapes/pie.cjs.map +1 -0
  271. package/dist/charts/engine/shapes/pie.d.cts +20 -0
  272. package/dist/charts/engine/shapes/pie.d.ts +20 -0
  273. package/dist/charts/engine/shapes/pie.js +302 -0
  274. package/dist/charts/engine/shapes/pie.js.map +1 -0
  275. package/dist/charts/engine/shapes/radar.cjs +2 -0
  276. package/dist/charts/engine/shapes/radar.cjs.map +1 -0
  277. package/dist/charts/engine/shapes/radar.d.cts +8 -0
  278. package/dist/charts/engine/shapes/radar.d.ts +8 -0
  279. package/dist/charts/engine/shapes/radar.js +198 -0
  280. package/dist/charts/engine/shapes/radar.js.map +1 -0
  281. package/dist/charts/engine/shapes/radialBar.cjs +2 -0
  282. package/dist/charts/engine/shapes/radialBar.cjs.map +1 -0
  283. package/dist/charts/engine/shapes/radialBar.d.cts +8 -0
  284. package/dist/charts/engine/shapes/radialBar.d.ts +8 -0
  285. package/dist/charts/engine/shapes/radialBar.js +155 -0
  286. package/dist/charts/engine/shapes/radialBar.js.map +1 -0
  287. package/dist/charts/engine/shapes/runtime.cjs +2 -0
  288. package/dist/charts/engine/shapes/runtime.cjs.map +1 -0
  289. package/dist/charts/engine/shapes/runtime.d.cts +36 -0
  290. package/dist/charts/engine/shapes/runtime.d.ts +36 -0
  291. package/dist/charts/engine/shapes/runtime.js +107 -0
  292. package/dist/charts/engine/shapes/runtime.js.map +1 -0
  293. package/dist/charts/engine/shapes/sankey.cjs +2 -0
  294. package/dist/charts/engine/shapes/sankey.cjs.map +1 -0
  295. package/dist/charts/engine/shapes/sankey.d.cts +29 -0
  296. package/dist/charts/engine/shapes/sankey.d.ts +29 -0
  297. package/dist/charts/engine/shapes/sankey.js +372 -0
  298. package/dist/charts/engine/shapes/sankey.js.map +1 -0
  299. package/dist/charts/engine/shapes/scene.cjs +2 -0
  300. package/dist/charts/engine/shapes/scene.cjs.map +1 -0
  301. package/dist/charts/engine/shapes/scene.d.cts +311 -0
  302. package/dist/charts/engine/shapes/scene.d.ts +311 -0
  303. package/dist/charts/engine/shapes/scene.js +125 -0
  304. package/dist/charts/engine/shapes/scene.js.map +1 -0
  305. package/dist/charts/engine/shapes/sunburst.cjs +2 -0
  306. package/dist/charts/engine/shapes/sunburst.cjs.map +1 -0
  307. package/dist/charts/engine/shapes/sunburst.d.cts +6 -0
  308. package/dist/charts/engine/shapes/sunburst.d.ts +6 -0
  309. package/dist/charts/engine/shapes/sunburst.js +261 -0
  310. package/dist/charts/engine/shapes/sunburst.js.map +1 -0
  311. package/dist/charts/engine/shapes/treemap.cjs +2 -0
  312. package/dist/charts/engine/shapes/treemap.cjs.map +1 -0
  313. package/dist/charts/engine/shapes/treemap.d.cts +14 -0
  314. package/dist/charts/engine/shapes/treemap.d.ts +14 -0
  315. package/dist/charts/engine/shapes/treemap.js +213 -0
  316. package/dist/charts/engine/shapes/treemap.js.map +1 -0
  317. package/dist/charts/engine/shapes/types.d.cts +719 -0
  318. package/dist/charts/engine/shapes/types.d.ts +719 -0
  319. package/dist/charts/engine/signature.cjs +2 -0
  320. package/dist/charts/engine/signature.cjs.map +1 -0
  321. package/dist/charts/engine/signature.d.cts +9 -0
  322. package/dist/charts/engine/signature.d.ts +9 -0
  323. package/dist/charts/engine/signature.js +13 -0
  324. package/dist/charts/engine/signature.js.map +1 -0
  325. package/dist/charts/engine/theme.cjs +1 -1
  326. package/dist/charts/engine/theme.cjs.map +1 -1
  327. package/dist/charts/engine/theme.d.cts +10 -1
  328. package/dist/charts/engine/theme.d.ts +10 -1
  329. package/dist/charts/engine/theme.js +40 -16
  330. package/dist/charts/engine/theme.js.map +1 -1
  331. package/dist/charts/engine/three-d/canvas2d.cjs +2 -0
  332. package/dist/charts/engine/three-d/canvas2d.cjs.map +1 -0
  333. package/dist/charts/engine/three-d/canvas2d.d.cts +4 -0
  334. package/dist/charts/engine/three-d/canvas2d.d.ts +4 -0
  335. package/dist/charts/engine/three-d/canvas2d.js +104 -0
  336. package/dist/charts/engine/three-d/canvas2d.js.map +1 -0
  337. package/dist/charts/engine/three-d/chart.cjs +2 -0
  338. package/dist/charts/engine/three-d/chart.cjs.map +1 -0
  339. package/dist/charts/engine/three-d/chart.d.cts +15 -0
  340. package/dist/charts/engine/three-d/chart.d.ts +15 -0
  341. package/dist/charts/engine/three-d/chart.js +621 -0
  342. package/dist/charts/engine/three-d/chart.js.map +1 -0
  343. package/dist/charts/engine/three-d/colormap.cjs +2 -0
  344. package/dist/charts/engine/three-d/colormap.cjs.map +1 -0
  345. package/dist/charts/engine/three-d/colormap.d.cts +16 -0
  346. package/dist/charts/engine/three-d/colormap.d.ts +16 -0
  347. package/dist/charts/engine/three-d/colormap.js +166 -0
  348. package/dist/charts/engine/three-d/colormap.js.map +1 -0
  349. package/dist/charts/engine/three-d/contours.cjs +2 -0
  350. package/dist/charts/engine/three-d/contours.cjs.map +1 -0
  351. package/dist/charts/engine/three-d/contours.d.cts +7 -0
  352. package/dist/charts/engine/three-d/contours.d.ts +7 -0
  353. package/dist/charts/engine/three-d/contours.js +47 -0
  354. package/dist/charts/engine/three-d/contours.js.map +1 -0
  355. package/dist/charts/engine/three-d/detect.cjs +2 -0
  356. package/dist/charts/engine/three-d/detect.cjs.map +1 -0
  357. package/dist/charts/engine/three-d/detect.d.cts +11 -0
  358. package/dist/charts/engine/three-d/detect.d.ts +11 -0
  359. package/dist/charts/engine/three-d/detect.js +35 -0
  360. package/dist/charts/engine/three-d/detect.js.map +1 -0
  361. package/dist/charts/engine/three-d/dom.cjs +2 -0
  362. package/dist/charts/engine/three-d/dom.cjs.map +1 -0
  363. package/dist/charts/engine/three-d/dom.d.cts +21 -0
  364. package/dist/charts/engine/three-d/dom.d.ts +21 -0
  365. package/dist/charts/engine/three-d/dom.js +98 -0
  366. package/dist/charts/engine/three-d/dom.js.map +1 -0
  367. package/dist/charts/engine/three-d/geometry.cjs +2 -0
  368. package/dist/charts/engine/three-d/geometry.cjs.map +1 -0
  369. package/dist/charts/engine/three-d/geometry.d.cts +76 -0
  370. package/dist/charts/engine/three-d/geometry.d.ts +76 -0
  371. package/dist/charts/engine/three-d/geometry.js +529 -0
  372. package/dist/charts/engine/three-d/geometry.js.map +1 -0
  373. package/dist/charts/engine/three-d/hover.cjs +2 -0
  374. package/dist/charts/engine/three-d/hover.cjs.map +1 -0
  375. package/dist/charts/engine/three-d/hover.d.cts +25 -0
  376. package/dist/charts/engine/three-d/hover.d.ts +25 -0
  377. package/dist/charts/engine/three-d/hover.js +131 -0
  378. package/dist/charts/engine/three-d/hover.js.map +1 -0
  379. package/dist/charts/engine/three-d/index.cjs +1 -0
  380. package/dist/charts/engine/three-d/index.d.cts +2 -0
  381. package/dist/charts/engine/three-d/index.d.ts +2 -0
  382. package/dist/charts/engine/three-d/index.js +2 -0
  383. package/dist/charts/engine/three-d/labels.cjs +2 -0
  384. package/dist/charts/engine/three-d/labels.cjs.map +1 -0
  385. package/dist/charts/engine/three-d/labels.d.cts +23 -0
  386. package/dist/charts/engine/three-d/labels.d.ts +23 -0
  387. package/dist/charts/engine/three-d/labels.js +136 -0
  388. package/dist/charts/engine/three-d/labels.js.map +1 -0
  389. package/dist/charts/engine/three-d/math.cjs +2 -0
  390. package/dist/charts/engine/three-d/math.cjs.map +1 -0
  391. package/dist/charts/engine/three-d/math.d.cts +84 -0
  392. package/dist/charts/engine/three-d/math.d.ts +84 -0
  393. package/dist/charts/engine/three-d/math.js +150 -0
  394. package/dist/charts/engine/three-d/math.js.map +1 -0
  395. package/dist/charts/engine/three-d/model.cjs +2 -0
  396. package/dist/charts/engine/three-d/model.cjs.map +1 -0
  397. package/dist/charts/engine/three-d/model.d.cts +130 -0
  398. package/dist/charts/engine/three-d/model.d.ts +130 -0
  399. package/dist/charts/engine/three-d/model.js +277 -0
  400. package/dist/charts/engine/three-d/model.js.map +1 -0
  401. package/dist/charts/engine/three-d/overlay.cjs +2 -0
  402. package/dist/charts/engine/three-d/overlay.cjs.map +1 -0
  403. package/dist/charts/engine/three-d/overlay.d.cts +72 -0
  404. package/dist/charts/engine/three-d/overlay.d.ts +72 -0
  405. package/dist/charts/engine/three-d/overlay.js +197 -0
  406. package/dist/charts/engine/three-d/overlay.js.map +1 -0
  407. package/dist/charts/engine/three-d/pick.cjs +2 -0
  408. package/dist/charts/engine/three-d/pick.cjs.map +1 -0
  409. package/dist/charts/engine/three-d/pick.d.cts +52 -0
  410. package/dist/charts/engine/three-d/pick.d.ts +52 -0
  411. package/dist/charts/engine/three-d/pick.js +220 -0
  412. package/dist/charts/engine/three-d/pick.js.map +1 -0
  413. package/dist/charts/engine/three-d/render-types.cjs +2 -0
  414. package/dist/charts/engine/three-d/render-types.cjs.map +1 -0
  415. package/dist/charts/engine/three-d/render-types.d.cts +82 -0
  416. package/dist/charts/engine/three-d/render-types.d.ts +82 -0
  417. package/dist/charts/engine/three-d/render-types.js +13 -0
  418. package/dist/charts/engine/three-d/render-types.js.map +1 -0
  419. package/dist/charts/engine/three-d/shaders.cjs +276 -0
  420. package/dist/charts/engine/three-d/shaders.cjs.map +1 -0
  421. package/dist/charts/engine/three-d/shaders.d.cts +26 -0
  422. package/dist/charts/engine/three-d/shaders.d.ts +26 -0
  423. package/dist/charts/engine/three-d/shaders.js +191 -0
  424. package/dist/charts/engine/three-d/shaders.js.map +1 -0
  425. package/dist/charts/engine/three-d/sort.cjs +2 -0
  426. package/dist/charts/engine/three-d/sort.cjs.map +1 -0
  427. package/dist/charts/engine/three-d/sort.d.cts +18 -0
  428. package/dist/charts/engine/three-d/sort.d.ts +18 -0
  429. package/dist/charts/engine/three-d/sort.js +71 -0
  430. package/dist/charts/engine/three-d/sort.js.map +1 -0
  431. package/dist/charts/engine/three-d/types.d.cts +588 -0
  432. package/dist/charts/engine/three-d/types.d.ts +588 -0
  433. package/dist/charts/engine/three-d/webgl.cjs +2 -0
  434. package/dist/charts/engine/three-d/webgl.cjs.map +1 -0
  435. package/dist/charts/engine/three-d/webgl.d.cts +10 -0
  436. package/dist/charts/engine/three-d/webgl.d.ts +10 -0
  437. package/dist/charts/engine/three-d/webgl.js +130 -0
  438. package/dist/charts/engine/three-d/webgl.js.map +1 -0
  439. package/dist/charts/engine/three-d/webgpu.cjs +2 -0
  440. package/dist/charts/engine/three-d/webgpu.cjs.map +1 -0
  441. package/dist/charts/engine/three-d/webgpu.d.cts +5 -0
  442. package/dist/charts/engine/three-d/webgpu.d.ts +5 -0
  443. package/dist/charts/engine/three-d/webgpu.js +249 -0
  444. package/dist/charts/engine/three-d/webgpu.js.map +1 -0
  445. package/dist/charts/engine/time.cjs +1 -1
  446. package/dist/charts/engine/time.cjs.map +1 -1
  447. package/dist/charts/engine/time.d.cts +13 -4
  448. package/dist/charts/engine/time.d.ts +13 -4
  449. package/dist/charts/engine/time.js +156 -91
  450. package/dist/charts/engine/time.js.map +1 -1
  451. package/dist/charts/engine/trading/chart.cjs +2 -0
  452. package/dist/charts/engine/trading/chart.cjs.map +1 -0
  453. package/dist/charts/engine/trading/chart.d.cts +3 -0
  454. package/dist/charts/engine/trading/chart.d.ts +3 -0
  455. package/dist/charts/engine/trading/chart.js +1507 -0
  456. package/dist/charts/engine/trading/chart.js.map +1 -0
  457. package/dist/charts/engine/trading/drawings.cjs +2 -0
  458. package/dist/charts/engine/trading/drawings.cjs.map +1 -0
  459. package/dist/charts/engine/trading/drawings.d.cts +57 -0
  460. package/dist/charts/engine/trading/drawings.d.ts +57 -0
  461. package/dist/charts/engine/trading/drawings.js +160 -0
  462. package/dist/charts/engine/trading/drawings.js.map +1 -0
  463. package/dist/charts/engine/trading/format.cjs +2 -0
  464. package/dist/charts/engine/trading/format.cjs.map +1 -0
  465. package/dist/charts/engine/trading/format.d.cts +60 -0
  466. package/dist/charts/engine/trading/format.d.ts +60 -0
  467. package/dist/charts/engine/trading/format.js +131 -0
  468. package/dist/charts/engine/trading/format.js.map +1 -0
  469. package/dist/charts/engine/trading/geometry.cjs +2 -0
  470. package/dist/charts/engine/trading/geometry.cjs.map +1 -0
  471. package/dist/charts/engine/trading/geometry.d.cts +55 -0
  472. package/dist/charts/engine/trading/geometry.d.ts +55 -0
  473. package/dist/charts/engine/trading/geometry.js +131 -0
  474. package/dist/charts/engine/trading/geometry.js.map +1 -0
  475. package/dist/charts/engine/trading/index.cjs +1 -0
  476. package/dist/charts/engine/trading/index.d.cts +3 -0
  477. package/dist/charts/engine/trading/index.d.ts +3 -0
  478. package/dist/charts/engine/trading/index.js +3 -0
  479. package/dist/charts/engine/trading/indicators.cjs +2 -0
  480. package/dist/charts/engine/trading/indicators.cjs.map +1 -0
  481. package/dist/charts/engine/trading/indicators.d.cts +105 -0
  482. package/dist/charts/engine/trading/indicators.d.ts +105 -0
  483. package/dist/charts/engine/trading/indicators.js +268 -0
  484. package/dist/charts/engine/trading/indicators.js.map +1 -0
  485. package/dist/charts/engine/trading/labels.cjs +2 -0
  486. package/dist/charts/engine/trading/labels.cjs.map +1 -0
  487. package/dist/charts/engine/trading/labels.d.cts +7 -0
  488. package/dist/charts/engine/trading/labels.d.ts +7 -0
  489. package/dist/charts/engine/trading/labels.js +91 -0
  490. package/dist/charts/engine/trading/labels.js.map +1 -0
  491. package/dist/charts/engine/trading/scale.cjs +2 -0
  492. package/dist/charts/engine/trading/scale.cjs.map +1 -0
  493. package/dist/charts/engine/trading/scale.d.cts +46 -0
  494. package/dist/charts/engine/trading/scale.d.ts +46 -0
  495. package/dist/charts/engine/trading/scale.js +100 -0
  496. package/dist/charts/engine/trading/scale.js.map +1 -0
  497. package/dist/charts/engine/trading/store.cjs +2 -0
  498. package/dist/charts/engine/trading/store.cjs.map +1 -0
  499. package/dist/charts/engine/trading/store.d.cts +62 -0
  500. package/dist/charts/engine/trading/store.d.ts +62 -0
  501. package/dist/charts/engine/trading/store.js +129 -0
  502. package/dist/charts/engine/trading/store.js.map +1 -0
  503. package/dist/charts/engine/trading/studies.cjs +2 -0
  504. package/dist/charts/engine/trading/studies.cjs.map +1 -0
  505. package/dist/charts/engine/trading/studies.d.cts +52 -0
  506. package/dist/charts/engine/trading/studies.d.ts +52 -0
  507. package/dist/charts/engine/trading/studies.js +254 -0
  508. package/dist/charts/engine/trading/studies.js.map +1 -0
  509. package/dist/charts/engine/trading/types.d.cts +656 -0
  510. package/dist/charts/engine/trading/types.d.ts +656 -0
  511. package/dist/charts/engine/types.d.cts +227 -15
  512. package/dist/charts/engine/types.d.ts +227 -15
  513. package/dist/charts/index.cjs +1 -1
  514. package/dist/charts/index.d.cts +7 -2
  515. package/dist/charts/index.d.ts +7 -2
  516. package/dist/charts/index.js +22 -8
  517. package/dist/charts/react/Chart.cjs +1 -1
  518. package/dist/charts/react/Chart.cjs.map +1 -1
  519. package/dist/charts/react/Chart.d.cts +11 -4
  520. package/dist/charts/react/Chart.d.ts +11 -4
  521. package/dist/charts/react/Chart.js +70 -47
  522. package/dist/charts/react/Chart.js.map +1 -1
  523. package/dist/charts/react/charts.cjs +1 -1
  524. package/dist/charts/react/charts.cjs.map +1 -1
  525. package/dist/charts/react/charts.d.cts +48 -2
  526. package/dist/charts/react/charts.d.ts +48 -2
  527. package/dist/charts/react/charts.js +371 -76
  528. package/dist/charts/react/charts.js.map +1 -1
  529. package/dist/charts/react/orderbook.cjs +2 -0
  530. package/dist/charts/react/orderbook.cjs.map +1 -0
  531. package/dist/charts/react/orderbook.d.cts +142 -0
  532. package/dist/charts/react/orderbook.d.ts +142 -0
  533. package/dist/charts/react/orderbook.js +182 -0
  534. package/dist/charts/react/orderbook.js.map +1 -0
  535. package/dist/charts/react/shapes.cjs +2 -0
  536. package/dist/charts/react/shapes.cjs.map +1 -0
  537. package/dist/charts/react/shapes.d.cts +537 -0
  538. package/dist/charts/react/shapes.d.ts +537 -0
  539. package/dist/charts/react/shapes.js +429 -0
  540. package/dist/charts/react/shapes.js.map +1 -0
  541. package/dist/charts/react/three-d.cjs +2 -0
  542. package/dist/charts/react/three-d.cjs.map +1 -0
  543. package/dist/charts/react/three-d.d.cts +151 -0
  544. package/dist/charts/react/three-d.d.ts +151 -0
  545. package/dist/charts/react/three-d.js +154 -0
  546. package/dist/charts/react/three-d.js.map +1 -0
  547. package/dist/charts/react/trading.cjs +2 -0
  548. package/dist/charts/react/trading.cjs.map +1 -0
  549. package/dist/charts/react/trading.d.cts +93 -0
  550. package/dist/charts/react/trading.d.ts +93 -0
  551. package/dist/charts/react/trading.js +95 -0
  552. package/dist/charts/react/trading.js.map +1 -0
  553. package/dist/charts/react/types.d.cts +200 -7
  554. package/dist/charts/react/types.d.ts +200 -7
  555. package/dist/core/contracts.cjs +1 -1
  556. package/dist/core/contracts.cjs.map +1 -1
  557. package/dist/core/contracts.js +1 -1
  558. package/dist/core/contracts.js.map +1 -1
  559. package/dist/native/charts/src/canvas.cjs +1 -1
  560. package/dist/native/charts/src/canvas.js +9 -3
  561. package/dist/native/charts/src/engine/axis.cjs +1 -1
  562. package/dist/native/charts/src/engine/axis.cjs.map +1 -1
  563. package/dist/native/charts/src/engine/axis.js +6 -6
  564. package/dist/native/charts/src/engine/axis.js.map +1 -1
  565. package/dist/native/charts/src/engine/color.cjs +1 -1
  566. package/dist/native/charts/src/engine/color.cjs.map +1 -1
  567. package/dist/native/charts/src/engine/color.js +12 -3
  568. package/dist/native/charts/src/engine/color.js.map +1 -1
  569. package/dist/native/charts/src/engine/controller.cjs +2 -2
  570. package/dist/native/charts/src/engine/controller.cjs.map +1 -1
  571. package/dist/native/charts/src/engine/controller.js +418 -294
  572. package/dist/native/charts/src/engine/controller.js.map +1 -1
  573. package/dist/native/charts/src/engine/curve.cjs +2 -0
  574. package/dist/native/charts/src/engine/curve.cjs.map +1 -0
  575. package/dist/native/charts/src/engine/curve.js +56 -0
  576. package/dist/native/charts/src/engine/curve.js.map +1 -0
  577. package/dist/native/charts/src/engine/data.cjs +1 -1
  578. package/dist/native/charts/src/engine/data.cjs.map +1 -1
  579. package/dist/native/charts/src/engine/data.js +117 -43
  580. package/dist/native/charts/src/engine/data.js.map +1 -1
  581. package/dist/native/charts/src/engine/format.cjs +1 -1
  582. package/dist/native/charts/src/engine/format.cjs.map +1 -1
  583. package/dist/native/charts/src/engine/format.js +46 -21
  584. package/dist/native/charts/src/engine/format.js.map +1 -1
  585. package/dist/native/charts/src/engine/labels.cjs +2 -0
  586. package/dist/native/charts/src/engine/labels.cjs.map +1 -0
  587. package/dist/native/charts/src/engine/labels.js +74 -0
  588. package/dist/native/charts/src/engine/labels.js.map +1 -0
  589. package/dist/native/charts/src/engine/layout.cjs +1 -1
  590. package/dist/native/charts/src/engine/layout.cjs.map +1 -1
  591. package/dist/native/charts/src/engine/layout.js +53 -12
  592. package/dist/native/charts/src/engine/layout.js.map +1 -1
  593. package/dist/native/charts/src/engine/locale.cjs +2 -0
  594. package/dist/native/charts/src/engine/locale.cjs.map +1 -0
  595. package/dist/native/charts/src/engine/locale.js +60 -0
  596. package/dist/native/charts/src/engine/locale.js.map +1 -0
  597. package/dist/native/charts/src/engine/model.cjs +1 -1
  598. package/dist/native/charts/src/engine/model.cjs.map +1 -1
  599. package/dist/native/charts/src/engine/model.js +335 -111
  600. package/dist/native/charts/src/engine/model.js.map +1 -1
  601. package/dist/native/charts/src/engine/overlay.cjs +1 -1
  602. package/dist/native/charts/src/engine/overlay.cjs.map +1 -1
  603. package/dist/native/charts/src/engine/overlay.js +54 -31
  604. package/dist/native/charts/src/engine/overlay.js.map +1 -1
  605. package/dist/native/charts/src/engine/presets.cjs +2 -2
  606. package/dist/native/charts/src/engine/presets.cjs.map +1 -1
  607. package/dist/native/charts/src/engine/presets.js +456 -34
  608. package/dist/native/charts/src/engine/presets.js.map +1 -1
  609. package/dist/native/charts/src/engine/scale.cjs +1 -1
  610. package/dist/native/charts/src/engine/scale.cjs.map +1 -1
  611. package/dist/native/charts/src/engine/scale.js +1 -1
  612. package/dist/native/charts/src/engine/scale.js.map +1 -1
  613. package/dist/native/charts/src/engine/scene.cjs +1 -1
  614. package/dist/native/charts/src/engine/scene.cjs.map +1 -1
  615. package/dist/native/charts/src/engine/scene.js +369 -128
  616. package/dist/native/charts/src/engine/scene.js.map +1 -1
  617. package/dist/native/charts/src/engine/shapes/bullet.cjs +2 -0
  618. package/dist/native/charts/src/engine/shapes/bullet.cjs.map +1 -0
  619. package/dist/native/charts/src/engine/shapes/bullet.js +255 -0
  620. package/dist/native/charts/src/engine/shapes/bullet.js.map +1 -0
  621. package/dist/native/charts/src/engine/shapes/calendar.cjs +2 -0
  622. package/dist/native/charts/src/engine/shapes/calendar.cjs.map +1 -0
  623. package/dist/native/charts/src/engine/shapes/calendar.js +364 -0
  624. package/dist/native/charts/src/engine/shapes/calendar.js.map +1 -0
  625. package/dist/native/charts/src/engine/shapes/canvas.cjs +2 -0
  626. package/dist/native/charts/src/engine/shapes/canvas.cjs.map +1 -0
  627. package/dist/native/charts/src/engine/shapes/canvas.js +168 -0
  628. package/dist/native/charts/src/engine/shapes/canvas.js.map +1 -0
  629. package/dist/native/charts/src/engine/shapes/draw.cjs +2 -0
  630. package/dist/native/charts/src/engine/shapes/draw.cjs.map +1 -0
  631. package/dist/native/charts/src/engine/shapes/draw.js +165 -0
  632. package/dist/native/charts/src/engine/shapes/draw.js.map +1 -0
  633. package/dist/native/charts/src/engine/shapes/funnel.cjs +2 -0
  634. package/dist/native/charts/src/engine/shapes/funnel.cjs.map +1 -0
  635. package/dist/native/charts/src/engine/shapes/funnel.js +149 -0
  636. package/dist/native/charts/src/engine/shapes/funnel.js.map +1 -0
  637. package/dist/native/charts/src/engine/shapes/gauge.cjs +2 -0
  638. package/dist/native/charts/src/engine/shapes/gauge.cjs.map +1 -0
  639. package/dist/native/charts/src/engine/shapes/gauge.js +210 -0
  640. package/dist/native/charts/src/engine/shapes/gauge.js.map +1 -0
  641. package/dist/native/charts/src/engine/shapes/hit.cjs +2 -0
  642. package/dist/native/charts/src/engine/shapes/hit.cjs.map +1 -0
  643. package/dist/native/charts/src/engine/shapes/hit.js +106 -0
  644. package/dist/native/charts/src/engine/shapes/hit.js.map +1 -0
  645. package/dist/native/charts/src/engine/shapes/labels.cjs +2 -0
  646. package/dist/native/charts/src/engine/shapes/labels.cjs.map +1 -0
  647. package/dist/native/charts/src/engine/shapes/labels.js +146 -0
  648. package/dist/native/charts/src/engine/shapes/labels.js.map +1 -0
  649. package/dist/native/charts/src/engine/shapes/layout.cjs +3 -0
  650. package/dist/native/charts/src/engine/shapes/layout.cjs.map +1 -0
  651. package/dist/native/charts/src/engine/shapes/layout.js +331 -0
  652. package/dist/native/charts/src/engine/shapes/layout.js.map +1 -0
  653. package/dist/native/charts/src/engine/shapes/pie.cjs +2 -0
  654. package/dist/native/charts/src/engine/shapes/pie.cjs.map +1 -0
  655. package/dist/native/charts/src/engine/shapes/pie.js +302 -0
  656. package/dist/native/charts/src/engine/shapes/pie.js.map +1 -0
  657. package/dist/native/charts/src/engine/shapes/radar.cjs +2 -0
  658. package/dist/native/charts/src/engine/shapes/radar.cjs.map +1 -0
  659. package/dist/native/charts/src/engine/shapes/radar.js +198 -0
  660. package/dist/native/charts/src/engine/shapes/radar.js.map +1 -0
  661. package/dist/native/charts/src/engine/shapes/radialBar.cjs +2 -0
  662. package/dist/native/charts/src/engine/shapes/radialBar.cjs.map +1 -0
  663. package/dist/native/charts/src/engine/shapes/radialBar.js +155 -0
  664. package/dist/native/charts/src/engine/shapes/radialBar.js.map +1 -0
  665. package/dist/native/charts/src/engine/shapes/runtime.cjs +2 -0
  666. package/dist/native/charts/src/engine/shapes/runtime.cjs.map +1 -0
  667. package/dist/native/charts/src/engine/shapes/runtime.js +107 -0
  668. package/dist/native/charts/src/engine/shapes/runtime.js.map +1 -0
  669. package/dist/native/charts/src/engine/shapes/sankey.cjs +2 -0
  670. package/dist/native/charts/src/engine/shapes/sankey.cjs.map +1 -0
  671. package/dist/native/charts/src/engine/shapes/sankey.js +372 -0
  672. package/dist/native/charts/src/engine/shapes/sankey.js.map +1 -0
  673. package/dist/native/charts/src/engine/shapes/scene.cjs +2 -0
  674. package/dist/native/charts/src/engine/shapes/scene.cjs.map +1 -0
  675. package/dist/native/charts/src/engine/shapes/scene.js +125 -0
  676. package/dist/native/charts/src/engine/shapes/scene.js.map +1 -0
  677. package/dist/native/charts/src/engine/shapes/sunburst.cjs +2 -0
  678. package/dist/native/charts/src/engine/shapes/sunburst.cjs.map +1 -0
  679. package/dist/native/charts/src/engine/shapes/sunburst.js +261 -0
  680. package/dist/native/charts/src/engine/shapes/sunburst.js.map +1 -0
  681. package/dist/native/charts/src/engine/shapes/treemap.cjs +2 -0
  682. package/dist/native/charts/src/engine/shapes/treemap.cjs.map +1 -0
  683. package/dist/native/charts/src/engine/shapes/treemap.js +213 -0
  684. package/dist/native/charts/src/engine/shapes/treemap.js.map +1 -0
  685. package/dist/native/charts/src/engine/theme.cjs.map +1 -1
  686. package/dist/native/charts/src/engine/theme.js.map +1 -1
  687. package/dist/native/charts/src/engine/time.cjs +1 -1
  688. package/dist/native/charts/src/engine/time.cjs.map +1 -1
  689. package/dist/native/charts/src/engine/time.js +156 -91
  690. package/dist/native/charts/src/engine/time.js.map +1 -1
  691. package/dist/native/components/Chart/ChartBase.cjs +1 -1
  692. package/dist/native/components/Chart/ChartBase.cjs.map +1 -1
  693. package/dist/native/components/Chart/ChartBase.d.cts +1 -1
  694. package/dist/native/components/Chart/ChartBase.d.ts +1 -1
  695. package/dist/native/components/Chart/ChartBase.js +110 -107
  696. package/dist/native/components/Chart/ChartBase.js.map +1 -1
  697. package/dist/native/components/Chart/charts.cjs +1 -1
  698. package/dist/native/components/Chart/charts.cjs.map +1 -1
  699. package/dist/native/components/Chart/charts.d.cts +6 -1
  700. package/dist/native/components/Chart/charts.d.ts +6 -1
  701. package/dist/native/components/Chart/charts.js +53 -29
  702. package/dist/native/components/Chart/charts.js.map +1 -1
  703. package/dist/native/components/Chart/index.cjs +1 -1
  704. package/dist/native/components/Chart/index.d.cts +1 -1
  705. package/dist/native/components/Chart/index.d.ts +1 -1
  706. package/dist/native/components/Chart/index.js +2 -2
  707. package/dist/native/components/Chart/scene.cjs +1 -1
  708. package/dist/native/components/Chart/scene.cjs.map +1 -1
  709. package/dist/native/components/Chart/scene.js +244 -215
  710. package/dist/native/components/Chart/scene.js.map +1 -1
  711. package/dist/native/components/Chart/types.d.cts +26 -3
  712. package/dist/native/components/Chart/types.d.ts +26 -3
  713. package/dist/native/components/Charts/charts.cjs +2 -0
  714. package/dist/native/components/Charts/charts.cjs.map +1 -0
  715. package/dist/native/components/Charts/charts.d.cts +41 -0
  716. package/dist/native/components/Charts/charts.d.ts +41 -0
  717. package/dist/native/components/Charts/charts.js +338 -0
  718. package/dist/native/components/Charts/charts.js.map +1 -0
  719. package/dist/native/components/Charts/index.cjs +1 -0
  720. package/dist/native/components/Charts/index.d.cts +2 -0
  721. package/dist/native/components/Charts/index.d.ts +2 -0
  722. package/dist/native/components/Charts/index.js +2 -0
  723. package/dist/native/components/Charts/types.d.cts +144 -0
  724. package/dist/native/components/Charts/types.d.ts +144 -0
  725. package/dist/native/components/ShapeChart/ShapeChartBase.cjs +2 -0
  726. package/dist/native/components/ShapeChart/ShapeChartBase.cjs.map +1 -0
  727. package/dist/native/components/ShapeChart/ShapeChartBase.d.cts +24 -0
  728. package/dist/native/components/ShapeChart/ShapeChartBase.d.ts +24 -0
  729. package/dist/native/components/ShapeChart/ShapeChartBase.js +271 -0
  730. package/dist/native/components/ShapeChart/ShapeChartBase.js.map +1 -0
  731. package/dist/native/components/ShapeChart/charts.cjs +2 -0
  732. package/dist/native/components/ShapeChart/charts.cjs.map +1 -0
  733. package/dist/native/components/ShapeChart/charts.d.cts +38 -0
  734. package/dist/native/components/ShapeChart/charts.d.ts +38 -0
  735. package/dist/native/components/ShapeChart/charts.js +387 -0
  736. package/dist/native/components/ShapeChart/charts.js.map +1 -0
  737. package/dist/native/components/ShapeChart/draw.cjs +2 -0
  738. package/dist/native/components/ShapeChart/draw.cjs.map +1 -0
  739. package/dist/native/components/ShapeChart/draw.d.cts +4 -0
  740. package/dist/native/components/ShapeChart/draw.d.ts +4 -0
  741. package/dist/native/components/ShapeChart/draw.js +104 -0
  742. package/dist/native/components/ShapeChart/draw.js.map +1 -0
  743. package/dist/native/components/ShapeChart/geometry.cjs +2 -0
  744. package/dist/native/components/ShapeChart/geometry.cjs.map +1 -0
  745. package/dist/native/components/ShapeChart/geometry.d.cts +71 -0
  746. package/dist/native/components/ShapeChart/geometry.d.ts +71 -0
  747. package/dist/native/components/ShapeChart/geometry.js +602 -0
  748. package/dist/native/components/ShapeChart/geometry.js.map +1 -0
  749. package/dist/native/components/ShapeChart/index.cjs +1 -0
  750. package/dist/native/components/ShapeChart/index.d.cts +2 -0
  751. package/dist/native/components/ShapeChart/index.d.ts +2 -0
  752. package/dist/native/components/ShapeChart/index.js +2 -0
  753. package/dist/native/components/ShapeChart/recorder.cjs +2 -0
  754. package/dist/native/components/ShapeChart/recorder.cjs.map +1 -0
  755. package/dist/native/components/ShapeChart/recorder.d.cts +106 -0
  756. package/dist/native/components/ShapeChart/recorder.d.ts +106 -0
  757. package/dist/native/components/ShapeChart/recorder.js +574 -0
  758. package/dist/native/components/ShapeChart/recorder.js.map +1 -0
  759. package/dist/native/components/ShapeChart/types.d.cts +509 -0
  760. package/dist/native/components/ShapeChart/types.d.ts +509 -0
  761. package/dist/native/index.cjs +1 -1
  762. package/dist/native/index.d.cts +2 -0
  763. package/dist/native/index.d.ts +2 -0
  764. package/dist/native/index.js +14 -10
  765. package/dist/native/manifest.d.cts +6 -4
  766. package/dist/native/manifest.d.ts +6 -4
  767. package/dist/native/source/components/Chart/ChartBase.tsx +8 -1
  768. package/dist/native/source/components/Chart/charts.tsx +42 -6
  769. package/dist/native/source/components/Chart/index.ts +1 -0
  770. package/dist/native/source/components/Chart/scene.tsx +204 -100
  771. package/dist/native/source/components/Chart/types.ts +31 -1
  772. package/dist/native/source/components/Charts/charts.tsx +493 -0
  773. package/dist/native/source/components/Charts/index.ts +14 -0
  774. package/dist/native/source/components/Charts/types.ts +207 -0
  775. package/dist/native/source/components/ShapeChart/ShapeChartBase.tsx +484 -0
  776. package/dist/native/source/components/ShapeChart/charts.tsx +605 -0
  777. package/dist/native/source/components/ShapeChart/draw.tsx +170 -0
  778. package/dist/native/source/components/ShapeChart/geometry.ts +1185 -0
  779. package/dist/native/source/components/ShapeChart/index.ts +15 -0
  780. package/dist/native/source/components/ShapeChart/recorder.ts +830 -0
  781. package/dist/native/source/components/ShapeChart/types.ts +564 -0
  782. package/dist/native/source/index.ts +2 -0
  783. package/dist/native/source/manifest.ts +30 -4
  784. package/dist/taro/charts.d.ts +209 -4
  785. package/dist/taro/index.d.ts +1 -0
  786. package/dist/taro/index.js +8032 -1891
  787. package/dist/taro/manifest.d.ts +1 -0
  788. package/dist/taro/shape-charts.d.ts +537 -0
  789. package/dist/uni/AreaChart.vue +68 -0
  790. package/dist/uni/AreaChart.vue.d.ts +120 -0
  791. package/dist/uni/Badge.vue.d.ts +1 -1
  792. package/dist/uni/BoxPlotChart.vue +66 -0
  793. package/dist/uni/BoxPlotChart.vue.d.ts +102 -0
  794. package/dist/uni/BubbleChart.vue +68 -0
  795. package/dist/uni/BubbleChart.vue.d.ts +106 -0
  796. package/dist/uni/BulletChart.vue +86 -0
  797. package/dist/uni/BulletChart.vue.d.ts +110 -0
  798. package/dist/uni/CalendarHeatmap.vue +92 -0
  799. package/dist/uni/CalendarHeatmap.vue.d.ts +129 -0
  800. package/dist/uni/CandlestickChart.vue +66 -0
  801. package/dist/uni/CandlestickChart.vue.d.ts +100 -0
  802. package/dist/uni/DonutChart.vue +72 -0
  803. package/dist/uni/DonutChart.vue.d.ts +114 -0
  804. package/dist/uni/FunnelChart.vue +67 -0
  805. package/dist/uni/FunnelChart.vue.d.ts +104 -0
  806. package/dist/uni/GanttChart.vue +67 -0
  807. package/dist/uni/GanttChart.vue.d.ts +123 -0
  808. package/dist/uni/GaugeChart.vue +77 -0
  809. package/dist/uni/GaugeChart.vue.d.ts +123 -0
  810. package/dist/uni/HeatmapChart.vue +66 -0
  811. package/dist/uni/HeatmapChart.vue.d.ts +114 -0
  812. package/dist/uni/HistogramChart.vue +66 -0
  813. package/dist/uni/HistogramChart.vue.d.ts +121 -0
  814. package/dist/uni/HorizontalBarChart.vue +68 -0
  815. package/dist/uni/HorizontalBarChart.vue.d.ts +127 -0
  816. package/dist/uni/Input.vue.d.ts +1 -1
  817. package/dist/uni/MixedChart.vue +68 -0
  818. package/dist/uni/MixedChart.vue.d.ts +106 -0
  819. package/dist/uni/NumberInput.vue.d.ts +1 -1
  820. package/dist/uni/PieChart.vue +72 -0
  821. package/dist/uni/PieChart.vue.d.ts +114 -0
  822. package/dist/uni/RadarChart.vue +67 -0
  823. package/dist/uni/RadarChart.vue.d.ts +110 -0
  824. package/dist/uni/RadialBarChart.vue +90 -0
  825. package/dist/uni/RadialBarChart.vue.d.ts +132 -0
  826. package/dist/uni/RangeAreaChart.vue +68 -0
  827. package/dist/uni/RangeAreaChart.vue.d.ts +102 -0
  828. package/dist/uni/ResponsiveGrid.vue.d.ts +1 -1
  829. package/dist/uni/SankeyChart.vue +88 -0
  830. package/dist/uni/SankeyChart.vue.d.ts +121 -0
  831. package/dist/uni/ShapeChart.vue +73 -0
  832. package/dist/uni/ShapeChart.vue.d.ts +54 -0
  833. package/dist/uni/Sparkline.vue +58 -0
  834. package/dist/uni/Sparkline.vue.d.ts +77 -0
  835. package/dist/uni/SunburstChart.vue +90 -0
  836. package/dist/uni/SunburstChart.vue.d.ts +114 -0
  837. package/dist/uni/Textarea.vue.d.ts +1 -1
  838. package/dist/uni/TimePicker.vue.d.ts +1 -1
  839. package/dist/uni/TreemapChart.vue +65 -0
  840. package/dist/uni/TreemapChart.vue.d.ts +100 -0
  841. package/dist/uni/WaterfallChart.vue +66 -0
  842. package/dist/uni/WaterfallChart.vue.d.ts +125 -0
  843. package/dist/uni/chart-types.d.ts +216 -2
  844. package/dist/uni/chart-types.js +174 -0
  845. package/dist/uni/charts-canvas.js +10 -3
  846. package/dist/uni/index.d.ts +26 -1
  847. package/dist/uni/index.js +26 -1
  848. package/dist/uni/manifest.d.ts +272 -0
  849. package/dist/uni/manifest.js +387 -0
  850. package/dist/uni/named-chart-options.d.ts +88 -0
  851. package/dist/uni/named-chart-options.js +156 -0
  852. package/dist/uni/shape-chart-canvas.d.ts +51 -0
  853. package/dist/uni/shape-chart-canvas.js +342 -0
  854. package/dist/uni/shape-chart-types.d.ts +381 -0
  855. package/dist/uni/shape-chart-types.js +261 -0
  856. package/dist/vue/components/Chart/AreaChart.vue.d.ts +124 -0
  857. package/dist/vue/components/Chart/AreaChart.vue.js +7 -0
  858. package/dist/vue/components/Chart/AreaChart.vue.js.map +1 -0
  859. package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js +49 -0
  860. package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  861. package/dist/vue/components/Chart/Bar3DChart.vue.d.ts +132 -0
  862. package/dist/vue/components/Chart/Bar3DChart.vue.js +7 -0
  863. package/dist/vue/components/Chart/Bar3DChart.vue.js.map +1 -0
  864. package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js +55 -0
  865. package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  866. package/dist/vue/components/Chart/BarChart.vue.d.ts +123 -0
  867. package/dist/vue/components/Chart/BarChart.vue.js +7 -0
  868. package/dist/vue/components/Chart/BarChart.vue.js.map +1 -0
  869. package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js +53 -0
  870. package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  871. package/dist/vue/components/Chart/BoxPlotChart.vue.d.ts +112 -0
  872. package/dist/vue/components/Chart/BoxPlotChart.vue.js +7 -0
  873. package/dist/vue/components/Chart/BoxPlotChart.vue.js.map +1 -0
  874. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js +57 -0
  875. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  876. package/dist/vue/components/Chart/BubbleChart.vue.d.ts +106 -0
  877. package/dist/vue/components/Chart/BubbleChart.vue.js +7 -0
  878. package/dist/vue/components/Chart/BubbleChart.vue.js.map +1 -0
  879. package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js +52 -0
  880. package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  881. package/dist/vue/components/Chart/BulletChart.vue.d.ts +117 -0
  882. package/dist/vue/components/Chart/BulletChart.vue.js +7 -0
  883. package/dist/vue/components/Chart/BulletChart.vue.js.map +1 -0
  884. package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js +64 -0
  885. package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  886. package/dist/vue/components/Chart/CalendarHeatmap.vue.d.ts +144 -0
  887. package/dist/vue/components/Chart/CalendarHeatmap.vue.js +7 -0
  888. package/dist/vue/components/Chart/CalendarHeatmap.vue.js.map +1 -0
  889. package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js +77 -0
  890. package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
  891. package/dist/vue/components/Chart/CandlestickChart.vue.d.ts +94 -0
  892. package/dist/vue/components/Chart/CandlestickChart.vue.js +7 -0
  893. package/dist/vue/components/Chart/CandlestickChart.vue.js.map +1 -0
  894. package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js +44 -0
  895. package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  896. package/dist/vue/components/Chart/Chart.vue.d.ts +103 -0
  897. package/dist/vue/components/Chart/Chart.vue.js +7 -0
  898. package/dist/vue/components/Chart/Chart.vue.js.map +1 -0
  899. package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js +47 -0
  900. package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  901. package/dist/vue/components/Chart/DepthChart.vue.d.ts +139 -0
  902. package/dist/vue/components/Chart/DepthChart.vue.js +7 -0
  903. package/dist/vue/components/Chart/DepthChart.vue.js.map +1 -0
  904. package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js +42 -0
  905. package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  906. package/dist/vue/components/Chart/DonutChart.vue.d.ts +104 -0
  907. package/dist/vue/components/Chart/DonutChart.vue.js +7 -0
  908. package/dist/vue/components/Chart/DonutChart.vue.js.map +1 -0
  909. package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js +53 -0
  910. package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  911. package/dist/vue/components/Chart/FunnelChart.vue.d.ts +105 -0
  912. package/dist/vue/components/Chart/FunnelChart.vue.js +7 -0
  913. package/dist/vue/components/Chart/FunnelChart.vue.js.map +1 -0
  914. package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js +58 -0
  915. package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  916. package/dist/vue/components/Chart/GanttChart.vue.d.ts +132 -0
  917. package/dist/vue/components/Chart/GanttChart.vue.js +7 -0
  918. package/dist/vue/components/Chart/GanttChart.vue.js.map +1 -0
  919. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js +98 -0
  920. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  921. package/dist/vue/components/Chart/GaugeChart.vue.d.ts +132 -0
  922. package/dist/vue/components/Chart/GaugeChart.vue.js +7 -0
  923. package/dist/vue/components/Chart/GaugeChart.vue.js.map +1 -0
  924. package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js +71 -0
  925. package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  926. package/dist/vue/components/Chart/HeatmapChart.vue.d.ts +125 -0
  927. package/dist/vue/components/Chart/HeatmapChart.vue.js +7 -0
  928. package/dist/vue/components/Chart/HeatmapChart.vue.js.map +1 -0
  929. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js +65 -0
  930. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  931. package/dist/vue/components/Chart/HistogramChart.vue.d.ts +132 -0
  932. package/dist/vue/components/Chart/HistogramChart.vue.js +7 -0
  933. package/dist/vue/components/Chart/HistogramChart.vue.js.map +1 -0
  934. package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js +66 -0
  935. package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  936. package/dist/vue/components/Chart/HorizontalBarChart.vue.d.ts +121 -0
  937. package/dist/vue/components/Chart/HorizontalBarChart.vue.js +7 -0
  938. package/dist/vue/components/Chart/HorizontalBarChart.vue.js.map +1 -0
  939. package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js +55 -0
  940. package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  941. package/dist/vue/components/Chart/Line3DChart.vue.d.ts +121 -0
  942. package/dist/vue/components/Chart/Line3DChart.vue.js +7 -0
  943. package/dist/vue/components/Chart/Line3DChart.vue.js.map +1 -0
  944. package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
  945. package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  946. package/dist/vue/components/Chart/LineChart.vue.d.ts +125 -0
  947. package/dist/vue/components/Chart/LineChart.vue.js +7 -0
  948. package/dist/vue/components/Chart/LineChart.vue.js.map +1 -0
  949. package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js +50 -0
  950. package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  951. package/dist/vue/components/Chart/MixedChart.vue.d.ts +103 -0
  952. package/dist/vue/components/Chart/MixedChart.vue.js +7 -0
  953. package/dist/vue/components/Chart/MixedChart.vue.js.map +1 -0
  954. package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js +47 -0
  955. package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  956. package/dist/vue/components/Chart/OrderBook.vue.d.ts +125 -0
  957. package/dist/vue/components/Chart/OrderBook.vue.js +7 -0
  958. package/dist/vue/components/Chart/OrderBook.vue.js.map +1 -0
  959. package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js +38 -0
  960. package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js.map +1 -0
  961. package/dist/vue/components/Chart/OrderBookHeatmap.vue.d.ts +128 -0
  962. package/dist/vue/components/Chart/OrderBookHeatmap.vue.js +7 -0
  963. package/dist/vue/components/Chart/OrderBookHeatmap.vue.js.map +1 -0
  964. package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js +46 -0
  965. package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
  966. package/dist/vue/components/Chart/PieChart.vue.d.ts +104 -0
  967. package/dist/vue/components/Chart/PieChart.vue.js +7 -0
  968. package/dist/vue/components/Chart/PieChart.vue.js.map +1 -0
  969. package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js +53 -0
  970. package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  971. package/dist/vue/components/Chart/QuadrantChart.vue.d.ts +186 -0
  972. package/dist/vue/components/Chart/QuadrantChart.vue.js +7 -0
  973. package/dist/vue/components/Chart/QuadrantChart.vue.js.map +1 -0
  974. package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js +107 -0
  975. package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  976. package/dist/vue/components/Chart/RadarChart.vue.d.ts +111 -0
  977. package/dist/vue/components/Chart/RadarChart.vue.js +7 -0
  978. package/dist/vue/components/Chart/RadarChart.vue.js.map +1 -0
  979. package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js +61 -0
  980. package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  981. package/dist/vue/components/Chart/RadialBarChart.vue.d.ts +147 -0
  982. package/dist/vue/components/Chart/RadialBarChart.vue.js +7 -0
  983. package/dist/vue/components/Chart/RadialBarChart.vue.js.map +1 -0
  984. package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js +78 -0
  985. package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  986. package/dist/vue/components/Chart/RangeAreaChart.vue.d.ts +106 -0
  987. package/dist/vue/components/Chart/RangeAreaChart.vue.js +7 -0
  988. package/dist/vue/components/Chart/RangeAreaChart.vue.js.map +1 -0
  989. package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js +51 -0
  990. package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  991. package/dist/vue/components/Chart/SankeyChart.vue.d.ts +132 -0
  992. package/dist/vue/components/Chart/SankeyChart.vue.js +7 -0
  993. package/dist/vue/components/Chart/SankeyChart.vue.js.map +1 -0
  994. package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js +71 -0
  995. package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  996. package/dist/vue/components/Chart/Scatter3DChart.vue.d.ts +121 -0
  997. package/dist/vue/components/Chart/Scatter3DChart.vue.js +7 -0
  998. package/dist/vue/components/Chart/Scatter3DChart.vue.js.map +1 -0
  999. package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
  1000. package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1001. package/dist/vue/components/Chart/ScatterChart.vue.d.ts +94 -0
  1002. package/dist/vue/components/Chart/ScatterChart.vue.js +7 -0
  1003. package/dist/vue/components/Chart/ScatterChart.vue.js.map +1 -0
  1004. package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js +44 -0
  1005. package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1006. package/dist/vue/components/Chart/ShapeChart.vue.d.ts +39 -0
  1007. package/dist/vue/components/Chart/ShapeChart.vue.js +7 -0
  1008. package/dist/vue/components/Chart/ShapeChart.vue.js.map +1 -0
  1009. package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js +43 -0
  1010. package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1011. package/dist/vue/components/Chart/Sparkline.vue.d.ts +90 -0
  1012. package/dist/vue/components/Chart/Sparkline.vue.js +7 -0
  1013. package/dist/vue/components/Chart/Sparkline.vue.js.map +1 -0
  1014. package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js +66 -0
  1015. package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1016. package/dist/vue/components/Chart/SunburstChart.vue.d.ts +123 -0
  1017. package/dist/vue/components/Chart/SunburstChart.vue.js +7 -0
  1018. package/dist/vue/components/Chart/SunburstChart.vue.js.map +1 -0
  1019. package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js +68 -0
  1020. package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1021. package/dist/vue/components/Chart/Surface3DChart.vue.d.ts +143 -0
  1022. package/dist/vue/components/Chart/Surface3DChart.vue.js +7 -0
  1023. package/dist/vue/components/Chart/Surface3DChart.vue.js.map +1 -0
  1024. package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js +60 -0
  1025. package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1026. package/dist/vue/components/Chart/TimeAndSales.vue.d.ts +114 -0
  1027. package/dist/vue/components/Chart/TimeAndSales.vue.js +7 -0
  1028. package/dist/vue/components/Chart/TimeAndSales.vue.js.map +1 -0
  1029. package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js +46 -0
  1030. package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1031. package/dist/vue/components/Chart/TradingChart.vue.d.ts +160 -0
  1032. package/dist/vue/components/Chart/TradingChart.vue.js +7 -0
  1033. package/dist/vue/components/Chart/TradingChart.vue.js.map +1 -0
  1034. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js +70 -0
  1035. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1036. package/dist/vue/components/Chart/TreemapChart.vue.d.ts +97 -0
  1037. package/dist/vue/components/Chart/TreemapChart.vue.js +7 -0
  1038. package/dist/vue/components/Chart/TreemapChart.vue.js.map +1 -0
  1039. package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js +54 -0
  1040. package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1041. package/dist/vue/components/Chart/WaterfallChart.vue.d.ts +132 -0
  1042. package/dist/vue/components/Chart/WaterfallChart.vue.js +7 -0
  1043. package/dist/vue/components/Chart/WaterfallChart.vue.js.map +1 -0
  1044. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js +68 -0
  1045. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1046. package/dist/vue/components/Chart/cartesian.d.ts +47 -0
  1047. package/dist/vue/components/Chart/cartesian.js +56 -0
  1048. package/dist/vue/components/Chart/cartesian.js.map +1 -0
  1049. package/dist/vue/components/Chart/engine.d.ts +35 -0
  1050. package/dist/vue/components/Chart/engine.js +35 -0
  1051. package/dist/vue/components/Chart/engine.js.map +1 -0
  1052. package/dist/vue/components/Chart/index.d.ts +41 -0
  1053. package/dist/vue/components/Chart/index.js +40 -0
  1054. package/dist/vue/components/Chart/orderbook.d.ts +359 -0
  1055. package/dist/vue/components/Chart/orderbook.js +126 -0
  1056. package/dist/vue/components/Chart/orderbook.js.map +1 -0
  1057. package/dist/vue/components/Chart/props.d.ts +188 -0
  1058. package/dist/vue/components/Chart/props.js +92 -0
  1059. package/dist/vue/components/Chart/props.js.map +1 -0
  1060. package/dist/vue/components/Chart/shape.d.ts +41 -0
  1061. package/dist/vue/components/Chart/shape.js +42 -0
  1062. package/dist/vue/components/Chart/shape.js.map +1 -0
  1063. package/dist/vue/components/Chart/three-d.d.ts +106 -0
  1064. package/dist/vue/components/Chart/three-d.js +88 -0
  1065. package/dist/vue/components/Chart/three-d.js.map +1 -0
  1066. package/dist/vue/components/Chart/trading.d.ts +105 -0
  1067. package/dist/vue/components/Chart/trading.js +55 -0
  1068. package/dist/vue/components/Chart/trading.js.map +1 -0
  1069. package/dist/vue/components/Chart/types.d.ts +137 -0
  1070. package/dist/vue/global.d.ts +38 -0
  1071. package/dist/vue/groups/charts.d.ts +1 -0
  1072. package/dist/vue/groups/charts.js +87 -0
  1073. package/dist/vue/groups/charts.js.map +1 -0
  1074. package/dist/vue/index.d.ts +1 -0
  1075. package/dist/vue/index.js +63 -23
  1076. package/dist/vue/plugin.js +12 -10
  1077. package/dist/vue/plugin.js.map +1 -1
  1078. package/dist/weapp/area-chart/index.js +1 -0
  1079. package/dist/weapp/area-chart/index.json +1 -0
  1080. package/dist/weapp/area-chart/index.wxml +1 -0
  1081. package/dist/weapp/area-chart/index.wxss +1 -0
  1082. package/dist/weapp/box-plot-chart/index.js +1 -0
  1083. package/dist/weapp/box-plot-chart/index.json +1 -0
  1084. package/dist/weapp/box-plot-chart/index.wxml +1 -0
  1085. package/dist/weapp/box-plot-chart/index.wxss +1 -0
  1086. package/dist/weapp/bubble-chart/index.js +1 -0
  1087. package/dist/weapp/bubble-chart/index.json +1 -0
  1088. package/dist/weapp/bubble-chart/index.wxml +1 -0
  1089. package/dist/weapp/bubble-chart/index.wxss +1 -0
  1090. package/dist/weapp/bullet-chart/index.js +1 -0
  1091. package/dist/weapp/bullet-chart/index.json +1 -0
  1092. package/dist/weapp/bullet-chart/index.wxml +1 -0
  1093. package/dist/weapp/bullet-chart/index.wxss +1 -0
  1094. package/dist/weapp/calendar-heatmap/index.js +1 -0
  1095. package/dist/weapp/calendar-heatmap/index.json +1 -0
  1096. package/dist/weapp/calendar-heatmap/index.wxml +1 -0
  1097. package/dist/weapp/calendar-heatmap/index.wxss +1 -0
  1098. package/dist/weapp/candlestick-chart/index.js +1 -0
  1099. package/dist/weapp/candlestick-chart/index.json +1 -0
  1100. package/dist/weapp/candlestick-chart/index.wxml +1 -0
  1101. package/dist/weapp/candlestick-chart/index.wxss +1 -0
  1102. package/dist/weapp/charts/canvas.js +11436 -0
  1103. package/dist/weapp/charts/core.d.ts +2 -0
  1104. package/dist/weapp/charts/core.js +41 -0
  1105. package/dist/weapp/controls.js +1428 -3732
  1106. package/dist/weapp/donut-chart/index.js +1 -0
  1107. package/dist/weapp/donut-chart/index.json +1 -0
  1108. package/dist/weapp/donut-chart/index.wxml +1 -0
  1109. package/dist/weapp/donut-chart/index.wxss +1 -0
  1110. package/dist/weapp/funnel-chart/index.js +1 -0
  1111. package/dist/weapp/funnel-chart/index.json +1 -0
  1112. package/dist/weapp/funnel-chart/index.wxml +1 -0
  1113. package/dist/weapp/funnel-chart/index.wxss +1 -0
  1114. package/dist/weapp/gantt-chart/index.js +1 -0
  1115. package/dist/weapp/gantt-chart/index.json +1 -0
  1116. package/dist/weapp/gantt-chart/index.wxml +1 -0
  1117. package/dist/weapp/gantt-chart/index.wxss +1 -0
  1118. package/dist/weapp/gauge-chart/index.js +1 -0
  1119. package/dist/weapp/gauge-chart/index.json +1 -0
  1120. package/dist/weapp/gauge-chart/index.wxml +1 -0
  1121. package/dist/weapp/gauge-chart/index.wxss +1 -0
  1122. package/dist/weapp/heatmap-chart/index.js +1 -0
  1123. package/dist/weapp/heatmap-chart/index.json +1 -0
  1124. package/dist/weapp/heatmap-chart/index.wxml +1 -0
  1125. package/dist/weapp/heatmap-chart/index.wxss +1 -0
  1126. package/dist/weapp/histogram-chart/index.js +1 -0
  1127. package/dist/weapp/histogram-chart/index.json +1 -0
  1128. package/dist/weapp/histogram-chart/index.wxml +1 -0
  1129. package/dist/weapp/histogram-chart/index.wxss +1 -0
  1130. package/dist/weapp/horizontal-bar-chart/index.js +1 -0
  1131. package/dist/weapp/horizontal-bar-chart/index.json +1 -0
  1132. package/dist/weapp/horizontal-bar-chart/index.wxml +1 -0
  1133. package/dist/weapp/horizontal-bar-chart/index.wxss +1 -0
  1134. package/dist/weapp/mixed-chart/index.js +1 -0
  1135. package/dist/weapp/mixed-chart/index.json +1 -0
  1136. package/dist/weapp/mixed-chart/index.wxml +1 -0
  1137. package/dist/weapp/mixed-chart/index.wxss +1 -0
  1138. package/dist/weapp/pie-chart/index.js +1 -0
  1139. package/dist/weapp/pie-chart/index.json +1 -0
  1140. package/dist/weapp/pie-chart/index.wxml +1 -0
  1141. package/dist/weapp/pie-chart/index.wxss +1 -0
  1142. package/dist/weapp/radar-chart/index.js +1 -0
  1143. package/dist/weapp/radar-chart/index.json +1 -0
  1144. package/dist/weapp/radar-chart/index.wxml +1 -0
  1145. package/dist/weapp/radar-chart/index.wxss +1 -0
  1146. package/dist/weapp/radial-bar-chart/index.js +1 -0
  1147. package/dist/weapp/radial-bar-chart/index.json +1 -0
  1148. package/dist/weapp/radial-bar-chart/index.wxml +1 -0
  1149. package/dist/weapp/radial-bar-chart/index.wxss +1 -0
  1150. package/dist/weapp/range-area-chart/index.js +1 -0
  1151. package/dist/weapp/range-area-chart/index.json +1 -0
  1152. package/dist/weapp/range-area-chart/index.wxml +1 -0
  1153. package/dist/weapp/range-area-chart/index.wxss +1 -0
  1154. package/dist/weapp/sankey-chart/index.js +1 -0
  1155. package/dist/weapp/sankey-chart/index.json +1 -0
  1156. package/dist/weapp/sankey-chart/index.wxml +1 -0
  1157. package/dist/weapp/sankey-chart/index.wxss +1 -0
  1158. package/dist/weapp/shape-chart/index.js +1 -0
  1159. package/dist/weapp/shape-chart/index.json +1 -0
  1160. package/dist/weapp/shape-chart/index.wxml +1 -0
  1161. package/dist/weapp/shape-chart/index.wxss +1 -0
  1162. package/dist/weapp/sparkline/index.js +1 -0
  1163. package/dist/weapp/sparkline/index.json +1 -0
  1164. package/dist/weapp/sparkline/index.wxml +1 -0
  1165. package/dist/weapp/sparkline/index.wxss +1 -0
  1166. package/dist/weapp/sunburst-chart/index.js +1 -0
  1167. package/dist/weapp/sunburst-chart/index.json +1 -0
  1168. package/dist/weapp/sunburst-chart/index.wxml +1 -0
  1169. package/dist/weapp/sunburst-chart/index.wxss +1 -0
  1170. package/dist/weapp/treemap-chart/index.js +1 -0
  1171. package/dist/weapp/treemap-chart/index.json +1 -0
  1172. package/dist/weapp/treemap-chart/index.wxml +1 -0
  1173. package/dist/weapp/treemap-chart/index.wxss +1 -0
  1174. package/dist/weapp/types.d.ts +466 -0
  1175. package/dist/weapp/waterfall-chart/index.js +1 -0
  1176. package/dist/weapp/waterfall-chart/index.json +1 -0
  1177. package/dist/weapp/waterfall-chart/index.wxml +1 -0
  1178. package/dist/weapp/waterfall-chart/index.wxss +1 -0
  1179. package/dist/web-components/components/chart/chart.d.ts +58 -0
  1180. package/dist/web-components/components/chart/chart.js +55 -0
  1181. package/dist/web-components/components/chart/chart.js.map +1 -0
  1182. package/dist/web-components/components/chart/charts.d.ts +252 -0
  1183. package/dist/web-components/components/chart/charts.js +201 -0
  1184. package/dist/web-components/components/chart/charts.js.map +1 -0
  1185. package/dist/web-components/components/chart/engine-element.d.ts +53 -0
  1186. package/dist/web-components/components/chart/engine-element.js +77 -0
  1187. package/dist/web-components/components/chart/engine-element.js.map +1 -0
  1188. package/dist/web-components/components/chart/extended.d.ts +224 -0
  1189. package/dist/web-components/components/chart/extended.js +183 -0
  1190. package/dist/web-components/components/chart/extended.js.map +1 -0
  1191. package/dist/web-components/components/chart/series.d.ts +7 -0
  1192. package/dist/web-components/components/chart/series.js +14 -0
  1193. package/dist/web-components/components/chart/series.js.map +1 -0
  1194. package/dist/web-components/components/chart/shape-chart.d.ts +199 -0
  1195. package/dist/web-components/components/chart/shape-chart.js +161 -0
  1196. package/dist/web-components/components/chart/shape-chart.js.map +1 -0
  1197. package/dist/web-components/components/chart/shapes-extended.d.ts +162 -0
  1198. package/dist/web-components/components/chart/shapes-extended.js +156 -0
  1199. package/dist/web-components/components/chart/shapes-extended.js.map +1 -0
  1200. package/dist/web-components/components/chart-3d/chart-3d.d.ts +111 -0
  1201. package/dist/web-components/components/chart-3d/chart-3d.js +97 -0
  1202. package/dist/web-components/components/chart-3d/chart-3d.js.map +1 -0
  1203. package/dist/web-components/components/order-book/order-book.d.ts +165 -0
  1204. package/dist/web-components/components/order-book/order-book.js +174 -0
  1205. package/dist/web-components/components/order-book/order-book.js.map +1 -0
  1206. package/dist/web-components/components/trading-chart/trading-chart.d.ts +96 -0
  1207. package/dist/web-components/components/trading-chart/trading-chart.js +96 -0
  1208. package/dist/web-components/components/trading-chart/trading-chart.js.map +1 -0
  1209. package/dist/web-components/elements/chart-3d.d.ts +2 -0
  1210. package/dist/web-components/elements/chart-3d.js +13 -0
  1211. package/dist/web-components/elements/chart-3d.js.map +1 -0
  1212. package/dist/web-components/elements/chart.d.ts +7 -0
  1213. package/dist/web-components/elements/chart.js +43 -0
  1214. package/dist/web-components/elements/chart.js.map +1 -0
  1215. package/dist/web-components/elements/order-book.d.ts +2 -0
  1216. package/dist/web-components/elements/order-book.js +13 -0
  1217. package/dist/web-components/elements/order-book.js.map +1 -0
  1218. package/dist/web-components/elements/trading-chart.d.ts +2 -0
  1219. package/dist/web-components/elements/trading-chart.js +8 -0
  1220. package/dist/web-components/elements/trading-chart.js.map +1 -0
  1221. package/dist/web-components/html-custom-data.json +1192 -29
  1222. package/dist/web-components/types/react.d.ts +435 -0
  1223. package/dist/web-components/types/solid.d.ts +321 -0
  1224. package/dist/web-components/types/svelte.d.ts +321 -0
  1225. package/dist/web-components/types/vue.d.ts +359 -0
  1226. package/package.json +113 -1
@@ -38,21 +38,21 @@ struct Out {
38
38
  @builtin(position) pos: vec4f,
39
39
  @location(0) t: f32,
40
40
  };
41
- @vertex fn vs(@builtin(vertex_index) vi: u32, @location(0) a: vec2f, @location(1) b: vec2f) -> Out {
41
+ @vertex fn vs(@builtin(vertex_index) vi: u32, @location(0) a: vec3f, @location(1) b: vec3f) -> Out {
42
42
  var out: Out;
43
- if (gap(a) || gap(b)) {
43
+ if (gap(a.xy) || gap(b.xy) || abs(a.z) > 1e37 || abs(b.z) > 1e37) {
44
44
  out.pos = HIDDEN;
45
45
  return out;
46
46
  }
47
47
  let c = corner(vi);
48
48
  let p = select(a, b, c.y > 0.5);
49
- let y = select(u.params.x, p.y, c.x > 0.5);
49
+ let y = select(p.z, p.y, c.x > 0.5);
50
50
  out.pos = vec4f(toClip(vec2f(p.x, y)), 0.0, 1.0);
51
51
  out.t = c.x;
52
52
  return out;
53
53
  }
54
54
  @fragment fn fs(v: Out) -> @location(0) vec4f {
55
- let a = u.color.a * u.params.y * (0.3 + 0.7 * v.t);
55
+ let a = u.color.a * u.params.y * (0.25 + 0.75 * v.t * v.t);
56
56
  return vec4f(u.color.rgb * a, a);
57
57
  }
58
58
  `, r = `${e}
@@ -60,33 +60,42 @@ struct Out {
60
60
  @builtin(position) pos: vec4f,
61
61
  @location(0) local: vec2f,
62
62
  @location(1) @interpolate(flat) hs: vec2f,
63
+ @location(2) @interpolate(flat) color: vec4f,
63
64
  };
64
- @vertex fn vs(@builtin(vertex_index) vi: u32, @location(0) inst: vec3f) -> Out {
65
+ @vertex fn vs(@builtin(vertex_index) vi: u32, @location(0) inst: vec3f, @location(1) color: vec4f) -> Out {
65
66
  var out: Out;
66
67
  if (gap(inst.xy) || abs(inst.z) > 1e37) {
67
68
  out.pos = HIDDEN;
68
69
  return out;
69
70
  }
70
- let hw = max(abs(u.params.x * u.xform.x) * 0.5 * u.viewport.x, 0.5);
71
+ let dpr = u.viewport.z;
72
+ let rawHw = abs(u.params.x * u.xform.x) * 0.5 * u.viewport.x;
71
73
  let p0 = toPx(inst.xy);
72
74
  let y1 = toPx(vec2f(inst.x, inst.z)).y;
73
75
  let lo = min(p0.y, y1);
74
76
  let hi = max(p0.y, y1);
75
- let hsz = vec2f(hw, (hi - lo) * 0.5);
77
+ // the gap between cells fades out on small cells (dense heatmaps stay
78
+ // solid); without a gap, cells overlap by a pixel so no seam shows
79
+ let fade = clamp((min(rawHw, (hi - lo) * 0.5) - 3.0 * dpr) / (2.0 * dpr), 0.0, 1.0);
80
+ let inset = u.params.z * dpr * fade - select(0.0, 0.5 * (1.0 - fade), u.params.z > 0.0);
81
+ let minHalf = u.params.w * dpr;
82
+ let hw = max(max(rawHw - inset, 0.5), minHalf);
83
+ let hsz = vec2f(hw, max((hi - lo) * 0.5 - inset, minHalf));
76
84
  let center = vec2f(p0.x, (lo + hi) * 0.5);
77
85
  let ext = hsz + vec2f(1.0);
78
86
  let c = corner(vi) * 2.0 - 1.0;
79
87
  out.pos = pxToClip(center + c * ext);
80
88
  out.local = c * ext;
81
89
  out.hs = hsz;
90
+ out.color = color;
82
91
  return out;
83
92
  }
84
93
  @fragment fn fs(v: Out) -> @location(0) vec4f {
85
94
  let r = min(u.params.y * u.viewport.z, min(v.hs.x, v.hs.y));
86
95
  let q = abs(v.local) - v.hs + vec2f(r);
87
96
  let d = length(max(q, vec2f(0.0))) + min(max(q.x, q.y), 0.0) - r;
88
- let a = clamp(0.5 - d, 0.0, 1.0) * u.color.a;
89
- return vec4f(u.color.rgb * a, a);
97
+ let a = clamp(0.5 - d, 0.0, 1.0) * v.color.a;
98
+ return vec4f(v.color.rgb * a, a);
90
99
  }
91
100
  `, i = `${e}
92
101
  struct Out {
@@ -160,15 +169,15 @@ void main() {
160
169
  }`
161
170
  }, c = {
162
171
  vertex: `${o}
163
- in vec2 a_a;
164
- in vec2 a_b;
172
+ in vec3 a_a;
173
+ in vec3 a_b;
165
174
  out float v_t;
166
175
  void main() {
167
176
  v_t = 0.0;
168
- if (gap(a_a) || gap(a_b)) { gl_Position = HIDDEN; return; }
177
+ if (gap(a_a.xy) || gap(a_b.xy) || abs(a_a.z) > 1e37 || abs(a_b.z) > 1e37) { gl_Position = HIDDEN; return; }
169
178
  vec2 c = corner();
170
- vec2 p = c.y > 0.5 ? a_b : a_a;
171
- float y = c.x > 0.5 ? p.y : u_params.x;
179
+ vec3 p = c.y > 0.5 ? a_b : a_a;
180
+ float y = c.x > 0.5 ? p.y : p.z;
172
181
  gl_Position = vec4(toClip(vec2(p.x, y)), 0.0, 1.0);
173
182
  v_t = c.x;
174
183
  }`,
@@ -176,24 +185,32 @@ void main() {
176
185
  in float v_t;
177
186
  out vec4 outColor;
178
187
  void main() {
179
- float a = u_color.a * u_params.y * (0.3 + 0.7 * v_t);
188
+ float a = u_color.a * u_params.y * (0.25 + 0.75 * v_t * v_t);
180
189
  outColor = vec4(u_color.rgb * a, a);
181
190
  }`
182
191
  }, l = {
183
192
  vertex: `${o}
184
193
  in vec3 a_inst;
194
+ in vec4 a_color;
185
195
  out vec2 v_local;
186
196
  flat out vec2 v_half;
197
+ flat out vec4 v_color;
187
198
  void main() {
188
199
  v_local = vec2(0.0);
189
200
  v_half = vec2(0.0);
201
+ v_color = a_color;
190
202
  if (gap(a_inst.xy) || abs(a_inst.z) > 1e37) { gl_Position = HIDDEN; return; }
191
- float hw = max(abs(u_params.x * u_xform.x) * 0.5 * u_viewport.x, 0.5);
203
+ float dpr = u_viewport.z;
204
+ float rawHw = abs(u_params.x * u_xform.x) * 0.5 * u_viewport.x;
192
205
  vec2 p0 = toPx(a_inst.xy);
193
206
  float y1 = toPx(vec2(a_inst.x, a_inst.z)).y;
194
207
  float lo = min(p0.y, y1);
195
208
  float hi = max(p0.y, y1);
196
- vec2 hsz = vec2(hw, (hi - lo) * 0.5);
209
+ float fade = clamp((min(rawHw, (hi - lo) * 0.5) - 3.0 * dpr) / (2.0 * dpr), 0.0, 1.0);
210
+ float inset = u_params.z * dpr * fade - (u_params.z > 0.0 ? 0.5 * (1.0 - fade) : 0.0);
211
+ float minHalf = u_params.w * dpr;
212
+ float hw = max(max(rawHw - inset, 0.5), minHalf);
213
+ vec2 hsz = vec2(hw, max((hi - lo) * 0.5 - inset, minHalf));
197
214
  vec2 center = vec2(p0.x, (lo + hi) * 0.5);
198
215
  vec2 ext = hsz + vec2(1.0);
199
216
  vec2 c = corner() * 2.0 - 1.0;
@@ -204,13 +221,14 @@ void main() {
204
221
  fragment: `${a}
205
222
  in vec2 v_local;
206
223
  flat in vec2 v_half;
224
+ flat in vec4 v_color;
207
225
  out vec4 outColor;
208
226
  void main() {
209
227
  float r = min(u_params.y * u_viewport.z, min(v_half.x, v_half.y));
210
228
  vec2 q = abs(v_local) - v_half + vec2(r);
211
229
  float d = length(max(q, vec2(0.0))) + min(max(q.x, q.y), 0.0) - r;
212
- float a = clamp(0.5 - d, 0.0, 1.0) * u_color.a;
213
- outColor = vec4(u_color.rgb * a, a);
230
+ float a = clamp(0.5 - d, 0.0, 1.0) * v_color.a;
231
+ outColor = vec4(v_color.rgb * a, a);
214
232
  }`
215
233
  }, u = {
216
234
  vertex: `${o}
@@ -244,8 +262,146 @@ void main() {
244
262
  float a = v_color.a * (inner * u_params.x + (cover - inner));
245
263
  outColor = vec4(v_color.rgb * a, a);
246
264
  }`
265
+ }, d = "precision highp float;\nuniform vec4 u_xform;\nuniform vec4 u_viewport;\nuniform vec4 u_color;\nuniform vec4 u_params;\nattribute vec2 a_corner;\nbool gap(vec2 p) { return abs(p.x) > 1e37 || abs(p.y) > 1e37; }\nvec2 toClip(vec2 p) { return vec2(p.x * u_xform.x + u_xform.y, p.y * u_xform.z + u_xform.w); }\nvec2 toPx(vec2 p) { return (toClip(p) * 0.5 + 0.5) * u_viewport.xy; }\nvec4 pxToClip(vec2 p) { return vec4(p / u_viewport.xy * 2.0 - 1.0, 0.0, 1.0); }\nconst vec4 HIDDEN = vec4(2.0, 2.0, 2.0, 1.0);\n", f = "#ifdef GL_FRAGMENT_PRECISION_HIGH\nprecision highp float;\n#else\nprecision mediump float;\n#endif\n", p = {
266
+ vertex: `${d}
267
+ attribute vec2 a_a;
268
+ attribute vec2 a_b;
269
+ varying vec2 v_local;
270
+ varying float v_len;
271
+ varying float v_hw;
272
+ varying vec4 v_color;
273
+ void main() {
274
+ v_local = vec2(0.0);
275
+ v_len = 0.0;
276
+ v_hw = u_params.x;
277
+ v_color = u_color;
278
+ if (gap(a_a) || gap(a_b)) { gl_Position = HIDDEN; return; }
279
+ vec2 pa = toPx(a_a);
280
+ vec2 pb = toPx(a_b);
281
+ vec2 d = pb - pa;
282
+ float len = length(d);
283
+ vec2 dir = len > 1e-6 ? d / len : vec2(1.0, 0.0);
284
+ vec2 nrm = vec2(-dir.y, dir.x);
285
+ float hw = u_params.x + 1.0;
286
+ float along = mix(-hw, len + hw, a_corner.x);
287
+ float across = mix(-hw, hw, a_corner.y);
288
+ gl_Position = pxToClip(pa + dir * along + nrm * across);
289
+ v_local = vec2(along, across);
290
+ v_len = len;
291
+ }`,
292
+ fragment: `${f}
293
+ varying vec2 v_local;
294
+ varying float v_len;
295
+ varying float v_hw;
296
+ varying vec4 v_color;
297
+ void main() {
298
+ float x = clamp(v_local.x, 0.0, v_len);
299
+ float dist = length(vec2(v_local.x - x, v_local.y));
300
+ float a = clamp(v_hw - dist + 0.5, 0.0, 1.0) * v_color.a;
301
+ gl_FragColor = vec4(v_color.rgb * a, a);
302
+ }`
303
+ }, m = {
304
+ vertex: `${d}
305
+ attribute vec3 a_a;
306
+ attribute vec3 a_b;
307
+ varying float v_t;
308
+ varying vec4 v_color;
309
+ void main() {
310
+ v_t = 0.0;
311
+ v_color = vec4(u_color.rgb, u_color.a * u_params.y);
312
+ if (gap(a_a.xy) || gap(a_b.xy) || abs(a_a.z) > 1e37 || abs(a_b.z) > 1e37) { gl_Position = HIDDEN; return; }
313
+ vec3 p = a_corner.y > 0.5 ? a_b : a_a;
314
+ float y = a_corner.x > 0.5 ? p.y : p.z;
315
+ gl_Position = vec4(toClip(vec2(p.x, y)), 0.0, 1.0);
316
+ v_t = a_corner.x;
317
+ }`,
318
+ fragment: `${f}
319
+ varying float v_t;
320
+ varying vec4 v_color;
321
+ void main() {
322
+ float a = v_color.a * (0.25 + 0.75 * v_t * v_t);
323
+ gl_FragColor = vec4(v_color.rgb * a, a);
324
+ }`
325
+ }, h = {
326
+ vertex: `${d}
327
+ attribute vec3 a_inst;
328
+ attribute vec4 a_color;
329
+ varying vec2 v_local;
330
+ varying vec2 v_half;
331
+ varying float v_radius;
332
+ varying vec4 v_color;
333
+ void main() {
334
+ v_local = vec2(0.0);
335
+ v_half = vec2(0.0);
336
+ v_radius = u_params.y * u_viewport.z;
337
+ v_color = a_color;
338
+ if (gap(a_inst.xy) || abs(a_inst.z) > 1e37) { gl_Position = HIDDEN; return; }
339
+ float dpr = u_viewport.z;
340
+ float rawHw = abs(u_params.x * u_xform.x) * 0.5 * u_viewport.x;
341
+ vec2 p0 = toPx(a_inst.xy);
342
+ float y1 = toPx(vec2(a_inst.x, a_inst.z)).y;
343
+ float lo = min(p0.y, y1);
344
+ float hi = max(p0.y, y1);
345
+ float fade = clamp((min(rawHw, (hi - lo) * 0.5) - 3.0 * dpr) / (2.0 * dpr), 0.0, 1.0);
346
+ float inset = u_params.z * dpr * fade - (u_params.z > 0.0 ? 0.5 * (1.0 - fade) : 0.0);
347
+ float minHalf = u_params.w * dpr;
348
+ float hw = max(max(rawHw - inset, 0.5), minHalf);
349
+ vec2 hsz = vec2(hw, max((hi - lo) * 0.5 - inset, minHalf));
350
+ vec2 center = vec2(p0.x, (lo + hi) * 0.5);
351
+ vec2 ext = hsz + vec2(1.0);
352
+ vec2 c = a_corner * 2.0 - 1.0;
353
+ gl_Position = pxToClip(center + c * ext);
354
+ v_local = c * ext;
355
+ v_half = hsz;
356
+ }`,
357
+ fragment: `${f}
358
+ varying vec2 v_local;
359
+ varying vec2 v_half;
360
+ varying float v_radius;
361
+ varying vec4 v_color;
362
+ void main() {
363
+ float r = min(v_radius, min(v_half.x, v_half.y));
364
+ vec2 q = abs(v_local) - v_half + vec2(r);
365
+ float d = length(max(q, vec2(0.0))) + min(max(q.x, q.y), 0.0) - r;
366
+ float a = clamp(0.5 - d, 0.0, 1.0) * v_color.a;
367
+ gl_FragColor = vec4(v_color.rgb * a, a);
368
+ }`
369
+ }, g = {
370
+ vertex: `${d}
371
+ attribute vec2 a_pos;
372
+ attribute float a_size;
373
+ attribute vec4 a_color;
374
+ varying vec2 v_local;
375
+ varying float v_r;
376
+ varying vec2 v_style;
377
+ varying vec4 v_color;
378
+ void main() {
379
+ v_local = vec2(0.0);
380
+ v_r = 0.0;
381
+ v_style = vec2(u_params.x, u_params.y * u_viewport.z);
382
+ v_color = a_color;
383
+ if (gap(a_pos) || !(a_size > 0.0)) { gl_Position = HIDDEN; return; }
384
+ float r = a_size * 0.5 * u_viewport.z;
385
+ float ext = r + 1.0;
386
+ vec2 c = a_corner * 2.0 - 1.0;
387
+ gl_Position = pxToClip(toPx(a_pos) + c * ext);
388
+ v_local = c * ext;
389
+ v_r = r;
390
+ }`,
391
+ fragment: `${f}
392
+ varying vec2 v_local;
393
+ varying float v_r;
394
+ varying vec2 v_style;
395
+ varying vec4 v_color;
396
+ void main() {
397
+ float d = length(v_local) - v_r;
398
+ float cover = clamp(0.5 - d, 0.0, 1.0);
399
+ float inner = clamp(0.5 - (d + v_style.y), 0.0, 1.0);
400
+ float a = v_color.a * (inner * v_style.x + (cover - inner));
401
+ gl_FragColor = vec4(v_color.rgb * a, a);
402
+ }`
247
403
  };
248
404
  //#endregion
249
- export { c as GLSL_AREA, l as GLSL_BAR, s as GLSL_LINE, u as GLSL_SCATTER, n as WGSL_AREA, r as WGSL_BAR, t as WGSL_LINE, i as WGSL_SCATTER };
405
+ export { m as GLSL1_AREA, h as GLSL1_BAR, p as GLSL1_LINE, g as GLSL1_SCATTER, c as GLSL_AREA, l as GLSL_BAR, s as GLSL_LINE, u as GLSL_SCATTER, n as WGSL_AREA, r as WGSL_BAR, t as WGSL_LINE, i as WGSL_SCATTER };
250
406
 
251
407
  //# sourceMappingURL=shaders.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shaders.js","names":["WGSL_COMMON","WGSL_LINE","WGSL_AREA","WGSL_BAR","WGSL_SCATTER","GLSL_HEADER","GLSL_VERTEX_COMMON","GLSL_LINE","GLSL_AREA","GLSL_BAR","GLSL_SCATTER"],"sources":["../../../../../charts/src/engine/renderers/shaders.ts"],"sourcesContent":["// WGSL (WebGPU) and GLSL ES 3.0 (WebGL2) programs. Every primitive is an\n// instanced 4-vertex triangle strip; anti-aliasing comes from signed\n// distance functions in pixel space (no MSAA needed).\n//\n// Uniforms (both backends):\n// xform = (xScale, xOffset, yScale, yOffset) relative data -> clip\n// viewport = (width px, height px, dpr, 0)\n// color = straight RGBA of the series\n// params = line: (half width px) | area: (baseline, opacity)\n// bar: (half width in x units, radius px) | scatter: (opacity, stroke px)\n// Output colors are premultiplied.\n\nconst WGSL_COMMON = /* wgsl */ `\nstruct U {\n xform: vec4f,\n viewport: vec4f,\n color: vec4f,\n params: vec4f,\n};\n@group(0) @binding(0) var<uniform> u: U;\n\nfn gap(p: vec2f) -> bool {\n return abs(p.x) > 1e37 || abs(p.y) > 1e37;\n}\nfn toClip(p: vec2f) -> vec2f {\n return vec2f(p.x * u.xform.x + u.xform.y, p.y * u.xform.z + u.xform.w);\n}\nfn toPx(p: vec2f) -> vec2f {\n return (toClip(p) * 0.5 + 0.5) * u.viewport.xy;\n}\nfn pxToClip(p: vec2f) -> vec4f {\n return vec4f(p / u.viewport.xy * 2.0 - 1.0, 0.0, 1.0);\n}\nfn corner(vi: u32) -> vec2f {\n return vec2f(f32(vi & 1u), f32(vi >> 1u));\n}\nconst HIDDEN = vec4f(2.0, 2.0, 2.0, 1.0);\n`;\n\nexport const WGSL_LINE = /* wgsl */ `${WGSL_COMMON}\nstruct Out {\n @builtin(position) pos: vec4f,\n @location(0) local: vec2f,\n @location(1) len: f32,\n};\n@vertex fn vs(@builtin(vertex_index) vi: u32, @location(0) a: vec2f, @location(1) b: vec2f) -> Out {\n var out: Out;\n if (gap(a) || gap(b)) {\n out.pos = HIDDEN;\n return out;\n }\n let pa = toPx(a);\n let pb = toPx(b);\n let d = pb - pa;\n let len = length(d);\n var dir = vec2f(1.0, 0.0);\n if (len > 1e-6) { dir = d / len; }\n let nrm = vec2f(-dir.y, dir.x);\n let hw = u.params.x + 1.0;\n let c = corner(vi);\n let along = mix(-hw, len + hw, c.x);\n let across = mix(-hw, hw, c.y);\n out.pos = pxToClip(pa + dir * along + nrm * across);\n out.local = vec2f(along, across);\n out.len = len;\n return out;\n}\n@fragment fn fs(v: Out) -> @location(0) vec4f {\n let x = clamp(v.local.x, 0.0, v.len);\n let dist = length(vec2f(v.local.x - x, v.local.y));\n let a = clamp(u.params.x - dist + 0.5, 0.0, 1.0) * u.color.a;\n return vec4f(u.color.rgb * a, a);\n}\n`;\n\nexport const WGSL_AREA = /* wgsl */ `${WGSL_COMMON}\nstruct Out {\n @builtin(position) pos: vec4f,\n @location(0) t: f32,\n};\n@vertex fn vs(@builtin(vertex_index) vi: u32, @location(0) a: vec2f, @location(1) b: vec2f) -> Out {\n var out: Out;\n if (gap(a) || gap(b)) {\n out.pos = HIDDEN;\n return out;\n }\n let c = corner(vi);\n let p = select(a, b, c.y > 0.5);\n let y = select(u.params.x, p.y, c.x > 0.5);\n out.pos = vec4f(toClip(vec2f(p.x, y)), 0.0, 1.0);\n out.t = c.x;\n return out;\n}\n@fragment fn fs(v: Out) -> @location(0) vec4f {\n let a = u.color.a * u.params.y * (0.3 + 0.7 * v.t);\n return vec4f(u.color.rgb * a, a);\n}\n`;\n\nexport const WGSL_BAR = /* wgsl */ `${WGSL_COMMON}\nstruct Out {\n @builtin(position) pos: vec4f,\n @location(0) local: vec2f,\n @location(1) @interpolate(flat) hs: vec2f,\n};\n@vertex fn vs(@builtin(vertex_index) vi: u32, @location(0) inst: vec3f) -> Out {\n var out: Out;\n if (gap(inst.xy) || abs(inst.z) > 1e37) {\n out.pos = HIDDEN;\n return out;\n }\n let hw = max(abs(u.params.x * u.xform.x) * 0.5 * u.viewport.x, 0.5);\n let p0 = toPx(inst.xy);\n let y1 = toPx(vec2f(inst.x, inst.z)).y;\n let lo = min(p0.y, y1);\n let hi = max(p0.y, y1);\n let hsz = vec2f(hw, (hi - lo) * 0.5);\n let center = vec2f(p0.x, (lo + hi) * 0.5);\n let ext = hsz + vec2f(1.0);\n let c = corner(vi) * 2.0 - 1.0;\n out.pos = pxToClip(center + c * ext);\n out.local = c * ext;\n out.hs = hsz;\n return out;\n}\n@fragment fn fs(v: Out) -> @location(0) vec4f {\n let r = min(u.params.y * u.viewport.z, min(v.hs.x, v.hs.y));\n let q = abs(v.local) - v.hs + vec2f(r);\n let d = length(max(q, vec2f(0.0))) + min(max(q.x, q.y), 0.0) - r;\n let a = clamp(0.5 - d, 0.0, 1.0) * u.color.a;\n return vec4f(u.color.rgb * a, a);\n}\n`;\n\nexport const WGSL_SCATTER = /* wgsl */ `${WGSL_COMMON}\nstruct Out {\n @builtin(position) pos: vec4f,\n @location(0) local: vec2f,\n @location(1) @interpolate(flat) r: f32,\n @location(2) @interpolate(flat) color: vec4f,\n};\n@vertex fn vs(@builtin(vertex_index) vi: u32, @location(0) p: vec2f, @location(1) size: f32, @location(2) color: vec4f) -> Out {\n var out: Out;\n if (gap(p) || !(size > 0.0)) {\n out.pos = HIDDEN;\n return out;\n }\n let r = size * 0.5 * u.viewport.z;\n let ext = r + 1.0;\n let c = corner(vi) * 2.0 - 1.0;\n out.pos = pxToClip(toPx(p) + c * ext);\n out.local = c * ext;\n out.r = r;\n out.color = color;\n return out;\n}\n@fragment fn fs(v: Out) -> @location(0) vec4f {\n let d = length(v.local) - v.r;\n let cover = clamp(0.5 - d, 0.0, 1.0);\n let inner = clamp(0.5 - (d + u.params.y * u.viewport.z), 0.0, 1.0);\n let a = v.color.a * (inner * u.params.x + (cover - inner));\n return vec4f(v.color.rgb * a, a);\n}\n`;\n\nconst GLSL_HEADER = /* glsl */ `#version 300 es\nprecision highp float;\nuniform vec4 u_xform;\nuniform vec4 u_viewport;\nuniform vec4 u_color;\nuniform vec4 u_params;\n`;\n\nconst GLSL_VERTEX_COMMON = /* glsl */ `${GLSL_HEADER}\nbool gap(vec2 p) { return abs(p.x) > 1e37 || abs(p.y) > 1e37; }\nvec2 toClip(vec2 p) { return vec2(p.x * u_xform.x + u_xform.y, p.y * u_xform.z + u_xform.w); }\nvec2 toPx(vec2 p) { return (toClip(p) * 0.5 + 0.5) * u_viewport.xy; }\nvec4 pxToClip(vec2 p) { return vec4(p / u_viewport.xy * 2.0 - 1.0, 0.0, 1.0); }\nvec2 corner() { return vec2(float(gl_VertexID & 1), float(gl_VertexID >> 1)); }\nconst vec4 HIDDEN = vec4(2.0, 2.0, 2.0, 1.0);\n`;\n\nexport const GLSL_LINE = {\n vertex: /* glsl */ `${GLSL_VERTEX_COMMON}\nin vec2 a_a;\nin vec2 a_b;\nout vec2 v_local;\nout float v_len;\nvoid main() {\n v_local = vec2(0.0);\n v_len = 0.0;\n if (gap(a_a) || gap(a_b)) { gl_Position = HIDDEN; return; }\n vec2 pa = toPx(a_a);\n vec2 pb = toPx(a_b);\n vec2 d = pb - pa;\n float len = length(d);\n vec2 dir = len > 1e-6 ? d / len : vec2(1.0, 0.0);\n vec2 nrm = vec2(-dir.y, dir.x);\n float hw = u_params.x + 1.0;\n vec2 c = corner();\n float along = mix(-hw, len + hw, c.x);\n float across = mix(-hw, hw, c.y);\n gl_Position = pxToClip(pa + dir * along + nrm * across);\n v_local = vec2(along, across);\n v_len = len;\n}`,\n fragment: /* glsl */ `${GLSL_HEADER}\nin vec2 v_local;\nin float v_len;\nout vec4 outColor;\nvoid main() {\n float x = clamp(v_local.x, 0.0, v_len);\n float dist = length(vec2(v_local.x - x, v_local.y));\n float a = clamp(u_params.x - dist + 0.5, 0.0, 1.0) * u_color.a;\n outColor = vec4(u_color.rgb * a, a);\n}`,\n};\n\nexport const GLSL_AREA = {\n vertex: /* glsl */ `${GLSL_VERTEX_COMMON}\nin vec2 a_a;\nin vec2 a_b;\nout float v_t;\nvoid main() {\n v_t = 0.0;\n if (gap(a_a) || gap(a_b)) { gl_Position = HIDDEN; return; }\n vec2 c = corner();\n vec2 p = c.y > 0.5 ? a_b : a_a;\n float y = c.x > 0.5 ? p.y : u_params.x;\n gl_Position = vec4(toClip(vec2(p.x, y)), 0.0, 1.0);\n v_t = c.x;\n}`,\n fragment: /* glsl */ `${GLSL_HEADER}\nin float v_t;\nout vec4 outColor;\nvoid main() {\n float a = u_color.a * u_params.y * (0.3 + 0.7 * v_t);\n outColor = vec4(u_color.rgb * a, a);\n}`,\n};\n\nexport const GLSL_BAR = {\n vertex: /* glsl */ `${GLSL_VERTEX_COMMON}\nin vec3 a_inst;\nout vec2 v_local;\nflat out vec2 v_half;\nvoid main() {\n v_local = vec2(0.0);\n v_half = vec2(0.0);\n if (gap(a_inst.xy) || abs(a_inst.z) > 1e37) { gl_Position = HIDDEN; return; }\n float hw = max(abs(u_params.x * u_xform.x) * 0.5 * u_viewport.x, 0.5);\n vec2 p0 = toPx(a_inst.xy);\n float y1 = toPx(vec2(a_inst.x, a_inst.z)).y;\n float lo = min(p0.y, y1);\n float hi = max(p0.y, y1);\n vec2 hsz = vec2(hw, (hi - lo) * 0.5);\n vec2 center = vec2(p0.x, (lo + hi) * 0.5);\n vec2 ext = hsz + vec2(1.0);\n vec2 c = corner() * 2.0 - 1.0;\n gl_Position = pxToClip(center + c * ext);\n v_local = c * ext;\n v_half = hsz;\n}`,\n fragment: /* glsl */ `${GLSL_HEADER}\nin vec2 v_local;\nflat in vec2 v_half;\nout vec4 outColor;\nvoid main() {\n float r = min(u_params.y * u_viewport.z, min(v_half.x, v_half.y));\n vec2 q = abs(v_local) - v_half + vec2(r);\n float d = length(max(q, vec2(0.0))) + min(max(q.x, q.y), 0.0) - r;\n float a = clamp(0.5 - d, 0.0, 1.0) * u_color.a;\n outColor = vec4(u_color.rgb * a, a);\n}`,\n};\n\nexport const GLSL_SCATTER = {\n vertex: /* glsl */ `${GLSL_VERTEX_COMMON}\nin vec2 a_pos;\nin float a_size;\nin vec4 a_color;\nout vec2 v_local;\nflat out float v_r;\nflat out vec4 v_color;\nvoid main() {\n v_local = vec2(0.0);\n v_r = 0.0;\n v_color = a_color;\n if (gap(a_pos) || !(a_size > 0.0)) { gl_Position = HIDDEN; return; }\n float r = a_size * 0.5 * u_viewport.z;\n float ext = r + 1.0;\n vec2 c = corner() * 2.0 - 1.0;\n gl_Position = pxToClip(toPx(a_pos) + c * ext);\n v_local = c * ext;\n v_r = r;\n}`,\n fragment: /* glsl */ `${GLSL_HEADER}\nin vec2 v_local;\nflat in float v_r;\nflat in vec4 v_color;\nout vec4 outColor;\nvoid main() {\n float d = length(v_local) - v_r;\n float cover = clamp(0.5 - d, 0.0, 1.0);\n float inner = clamp(0.5 - (d + u_params.y * u_viewport.z), 0.0, 1.0);\n float a = v_color.a * (inner * u_params.x + (cover - inner));\n outColor = vec4(v_color.rgb * a, a);\n}`,\n};\n"],"mappings":";AAYA,IAAMA,IAAyB,mnBA2BlBC,IAAuB,GAAGD,EAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCtCE,IAAuB,GAAGF,EAAY;;;;;;;;;;;;;;;;;;;;;;GAwBtCG,IAAsB,GAAGH,EAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCrCI,IAA0B,GAAGJ,EAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BhDK,IAAyB,6IAQzBC,IAAgC,GAAGD,EAAY;;;;;;;GASxCE,IAAY;CACvB,QAAmB,GAAGD,EAAmB;;;;;;;;;;;;;;;;;;;;;;;CAuBzC,UAAqB,GAAGD,EAAY;;;;;;;;;;AAUtC,GAEaG,IAAY;CACvB,QAAmB,GAAGF,EAAmB;;;;;;;;;;;;;CAazC,UAAqB,GAAGD,EAAY;;;;;;;AAOtC,GAEaI,IAAW;CACtB,QAAmB,GAAGH,EAAmB;;;;;;;;;;;;;;;;;;;;;CAqBzC,UAAqB,GAAGD,EAAY;;;;;;;;;;;AAWtC,GAEaK,IAAe;CAC1B,QAAmB,GAAGJ,EAAmB;;;;;;;;;;;;;;;;;;;CAmBzC,UAAqB,GAAGD,EAAY;;;;;;;;;;;;AAYtC"}
1
+ {"version":3,"file":"shaders.js","names":["WGSL_COMMON","WGSL_LINE","WGSL_AREA","WGSL_BAR","WGSL_SCATTER","GLSL_HEADER","GLSL_VERTEX_COMMON","GLSL_LINE","GLSL_AREA","GLSL_BAR","GLSL_SCATTER","GLSL1_VERTEX_COMMON","GLSL1_FRAGMENT_COMMON","GLSL1_LINE","GLSL1_AREA","GLSL1_BAR","GLSL1_SCATTER"],"sources":["../../../../../charts/src/engine/renderers/shaders.ts"],"sourcesContent":["// WGSL (WebGPU), GLSL ES 3.0 (WebGL2) and GLSL ES 1.0 (WebGL) programs.\n// Every primitive is an instanced 4-vertex triangle strip; anti-aliasing\n// comes from signed distance functions in pixel space (no MSAA needed).\n//\n// Uniforms (all backends):\n// xform = (xScale, xOffset, yScale, yOffset) relative data -> clip\n// viewport = (width px, height px, dpr, 0)\n// color = straight RGBA of the series\n// params = line: (half width px) | area: (_, opacity)\n// bar: (half width in x units, radius px, inset px, min half px)\n// scatter: (opacity, stroke px)\n// Bars and scatter dots carry their own color (unorm8x4 per instance).\n// Output colors are premultiplied.\n\nconst WGSL_COMMON = /* wgsl */ `\nstruct U {\n xform: vec4f,\n viewport: vec4f,\n color: vec4f,\n params: vec4f,\n};\n@group(0) @binding(0) var<uniform> u: U;\n\nfn gap(p: vec2f) -> bool {\n return abs(p.x) > 1e37 || abs(p.y) > 1e37;\n}\nfn toClip(p: vec2f) -> vec2f {\n return vec2f(p.x * u.xform.x + u.xform.y, p.y * u.xform.z + u.xform.w);\n}\nfn toPx(p: vec2f) -> vec2f {\n return (toClip(p) * 0.5 + 0.5) * u.viewport.xy;\n}\nfn pxToClip(p: vec2f) -> vec4f {\n return vec4f(p / u.viewport.xy * 2.0 - 1.0, 0.0, 1.0);\n}\nfn corner(vi: u32) -> vec2f {\n return vec2f(f32(vi & 1u), f32(vi >> 1u));\n}\nconst HIDDEN = vec4f(2.0, 2.0, 2.0, 1.0);\n`;\n\nexport const WGSL_LINE = /* wgsl */ `${WGSL_COMMON}\nstruct Out {\n @builtin(position) pos: vec4f,\n @location(0) local: vec2f,\n @location(1) len: f32,\n};\n@vertex fn vs(@builtin(vertex_index) vi: u32, @location(0) a: vec2f, @location(1) b: vec2f) -> Out {\n var out: Out;\n if (gap(a) || gap(b)) {\n out.pos = HIDDEN;\n return out;\n }\n let pa = toPx(a);\n let pb = toPx(b);\n let d = pb - pa;\n let len = length(d);\n var dir = vec2f(1.0, 0.0);\n if (len > 1e-6) { dir = d / len; }\n let nrm = vec2f(-dir.y, dir.x);\n let hw = u.params.x + 1.0;\n let c = corner(vi);\n let along = mix(-hw, len + hw, c.x);\n let across = mix(-hw, hw, c.y);\n out.pos = pxToClip(pa + dir * along + nrm * across);\n out.local = vec2f(along, across);\n out.len = len;\n return out;\n}\n@fragment fn fs(v: Out) -> @location(0) vec4f {\n let x = clamp(v.local.x, 0.0, v.len);\n let dist = length(vec2f(v.local.x - x, v.local.y));\n let a = clamp(u.params.x - dist + 0.5, 0.0, 1.0) * u.color.a;\n return vec4f(u.color.rgb * a, a);\n}\n`;\n\nexport const WGSL_AREA = /* wgsl */ `${WGSL_COMMON}\nstruct Out {\n @builtin(position) pos: vec4f,\n @location(0) t: f32,\n};\n@vertex fn vs(@builtin(vertex_index) vi: u32, @location(0) a: vec3f, @location(1) b: vec3f) -> Out {\n var out: Out;\n if (gap(a.xy) || gap(b.xy) || abs(a.z) > 1e37 || abs(b.z) > 1e37) {\n out.pos = HIDDEN;\n return out;\n }\n let c = corner(vi);\n let p = select(a, b, c.y > 0.5);\n let y = select(p.z, p.y, c.x > 0.5);\n out.pos = vec4f(toClip(vec2f(p.x, y)), 0.0, 1.0);\n out.t = c.x;\n return out;\n}\n@fragment fn fs(v: Out) -> @location(0) vec4f {\n let a = u.color.a * u.params.y * (0.25 + 0.75 * v.t * v.t);\n return vec4f(u.color.rgb * a, a);\n}\n`;\n\nexport const WGSL_BAR = /* wgsl */ `${WGSL_COMMON}\nstruct Out {\n @builtin(position) pos: vec4f,\n @location(0) local: vec2f,\n @location(1) @interpolate(flat) hs: vec2f,\n @location(2) @interpolate(flat) color: vec4f,\n};\n@vertex fn vs(@builtin(vertex_index) vi: u32, @location(0) inst: vec3f, @location(1) color: vec4f) -> Out {\n var out: Out;\n if (gap(inst.xy) || abs(inst.z) > 1e37) {\n out.pos = HIDDEN;\n return out;\n }\n let dpr = u.viewport.z;\n let rawHw = abs(u.params.x * u.xform.x) * 0.5 * u.viewport.x;\n let p0 = toPx(inst.xy);\n let y1 = toPx(vec2f(inst.x, inst.z)).y;\n let lo = min(p0.y, y1);\n let hi = max(p0.y, y1);\n // the gap between cells fades out on small cells (dense heatmaps stay\n // solid); without a gap, cells overlap by a pixel so no seam shows\n let fade = clamp((min(rawHw, (hi - lo) * 0.5) - 3.0 * dpr) / (2.0 * dpr), 0.0, 1.0);\n let inset = u.params.z * dpr * fade - select(0.0, 0.5 * (1.0 - fade), u.params.z > 0.0);\n let minHalf = u.params.w * dpr;\n let hw = max(max(rawHw - inset, 0.5), minHalf);\n let hsz = vec2f(hw, max((hi - lo) * 0.5 - inset, minHalf));\n let center = vec2f(p0.x, (lo + hi) * 0.5);\n let ext = hsz + vec2f(1.0);\n let c = corner(vi) * 2.0 - 1.0;\n out.pos = pxToClip(center + c * ext);\n out.local = c * ext;\n out.hs = hsz;\n out.color = color;\n return out;\n}\n@fragment fn fs(v: Out) -> @location(0) vec4f {\n let r = min(u.params.y * u.viewport.z, min(v.hs.x, v.hs.y));\n let q = abs(v.local) - v.hs + vec2f(r);\n let d = length(max(q, vec2f(0.0))) + min(max(q.x, q.y), 0.0) - r;\n let a = clamp(0.5 - d, 0.0, 1.0) * v.color.a;\n return vec4f(v.color.rgb * a, a);\n}\n`;\n\nexport const WGSL_SCATTER = /* wgsl */ `${WGSL_COMMON}\nstruct Out {\n @builtin(position) pos: vec4f,\n @location(0) local: vec2f,\n @location(1) @interpolate(flat) r: f32,\n @location(2) @interpolate(flat) color: vec4f,\n};\n@vertex fn vs(@builtin(vertex_index) vi: u32, @location(0) p: vec2f, @location(1) size: f32, @location(2) color: vec4f) -> Out {\n var out: Out;\n if (gap(p) || !(size > 0.0)) {\n out.pos = HIDDEN;\n return out;\n }\n let r = size * 0.5 * u.viewport.z;\n let ext = r + 1.0;\n let c = corner(vi) * 2.0 - 1.0;\n out.pos = pxToClip(toPx(p) + c * ext);\n out.local = c * ext;\n out.r = r;\n out.color = color;\n return out;\n}\n@fragment fn fs(v: Out) -> @location(0) vec4f {\n let d = length(v.local) - v.r;\n let cover = clamp(0.5 - d, 0.0, 1.0);\n let inner = clamp(0.5 - (d + u.params.y * u.viewport.z), 0.0, 1.0);\n let a = v.color.a * (inner * u.params.x + (cover - inner));\n return vec4f(v.color.rgb * a, a);\n}\n`;\n\nconst GLSL_HEADER = /* glsl */ `#version 300 es\nprecision highp float;\nuniform vec4 u_xform;\nuniform vec4 u_viewport;\nuniform vec4 u_color;\nuniform vec4 u_params;\n`;\n\nconst GLSL_VERTEX_COMMON = /* glsl */ `${GLSL_HEADER}\nbool gap(vec2 p) { return abs(p.x) > 1e37 || abs(p.y) > 1e37; }\nvec2 toClip(vec2 p) { return vec2(p.x * u_xform.x + u_xform.y, p.y * u_xform.z + u_xform.w); }\nvec2 toPx(vec2 p) { return (toClip(p) * 0.5 + 0.5) * u_viewport.xy; }\nvec4 pxToClip(vec2 p) { return vec4(p / u_viewport.xy * 2.0 - 1.0, 0.0, 1.0); }\nvec2 corner() { return vec2(float(gl_VertexID & 1), float(gl_VertexID >> 1)); }\nconst vec4 HIDDEN = vec4(2.0, 2.0, 2.0, 1.0);\n`;\n\nexport const GLSL_LINE = {\n vertex: /* glsl */ `${GLSL_VERTEX_COMMON}\nin vec2 a_a;\nin vec2 a_b;\nout vec2 v_local;\nout float v_len;\nvoid main() {\n v_local = vec2(0.0);\n v_len = 0.0;\n if (gap(a_a) || gap(a_b)) { gl_Position = HIDDEN; return; }\n vec2 pa = toPx(a_a);\n vec2 pb = toPx(a_b);\n vec2 d = pb - pa;\n float len = length(d);\n vec2 dir = len > 1e-6 ? d / len : vec2(1.0, 0.0);\n vec2 nrm = vec2(-dir.y, dir.x);\n float hw = u_params.x + 1.0;\n vec2 c = corner();\n float along = mix(-hw, len + hw, c.x);\n float across = mix(-hw, hw, c.y);\n gl_Position = pxToClip(pa + dir * along + nrm * across);\n v_local = vec2(along, across);\n v_len = len;\n}`,\n fragment: /* glsl */ `${GLSL_HEADER}\nin vec2 v_local;\nin float v_len;\nout vec4 outColor;\nvoid main() {\n float x = clamp(v_local.x, 0.0, v_len);\n float dist = length(vec2(v_local.x - x, v_local.y));\n float a = clamp(u_params.x - dist + 0.5, 0.0, 1.0) * u_color.a;\n outColor = vec4(u_color.rgb * a, a);\n}`,\n};\n\nexport const GLSL_AREA = {\n vertex: /* glsl */ `${GLSL_VERTEX_COMMON}\nin vec3 a_a;\nin vec3 a_b;\nout float v_t;\nvoid main() {\n v_t = 0.0;\n if (gap(a_a.xy) || gap(a_b.xy) || abs(a_a.z) > 1e37 || abs(a_b.z) > 1e37) { gl_Position = HIDDEN; return; }\n vec2 c = corner();\n vec3 p = c.y > 0.5 ? a_b : a_a;\n float y = c.x > 0.5 ? p.y : p.z;\n gl_Position = vec4(toClip(vec2(p.x, y)), 0.0, 1.0);\n v_t = c.x;\n}`,\n fragment: /* glsl */ `${GLSL_HEADER}\nin float v_t;\nout vec4 outColor;\nvoid main() {\n float a = u_color.a * u_params.y * (0.25 + 0.75 * v_t * v_t);\n outColor = vec4(u_color.rgb * a, a);\n}`,\n};\n\nexport const GLSL_BAR = {\n vertex: /* glsl */ `${GLSL_VERTEX_COMMON}\nin vec3 a_inst;\nin vec4 a_color;\nout vec2 v_local;\nflat out vec2 v_half;\nflat out vec4 v_color;\nvoid main() {\n v_local = vec2(0.0);\n v_half = vec2(0.0);\n v_color = a_color;\n if (gap(a_inst.xy) || abs(a_inst.z) > 1e37) { gl_Position = HIDDEN; return; }\n float dpr = u_viewport.z;\n float rawHw = abs(u_params.x * u_xform.x) * 0.5 * u_viewport.x;\n vec2 p0 = toPx(a_inst.xy);\n float y1 = toPx(vec2(a_inst.x, a_inst.z)).y;\n float lo = min(p0.y, y1);\n float hi = max(p0.y, y1);\n float fade = clamp((min(rawHw, (hi - lo) * 0.5) - 3.0 * dpr) / (2.0 * dpr), 0.0, 1.0);\n float inset = u_params.z * dpr * fade - (u_params.z > 0.0 ? 0.5 * (1.0 - fade) : 0.0);\n float minHalf = u_params.w * dpr;\n float hw = max(max(rawHw - inset, 0.5), minHalf);\n vec2 hsz = vec2(hw, max((hi - lo) * 0.5 - inset, minHalf));\n vec2 center = vec2(p0.x, (lo + hi) * 0.5);\n vec2 ext = hsz + vec2(1.0);\n vec2 c = corner() * 2.0 - 1.0;\n gl_Position = pxToClip(center + c * ext);\n v_local = c * ext;\n v_half = hsz;\n}`,\n fragment: /* glsl */ `${GLSL_HEADER}\nin vec2 v_local;\nflat in vec2 v_half;\nflat in vec4 v_color;\nout vec4 outColor;\nvoid main() {\n float r = min(u_params.y * u_viewport.z, min(v_half.x, v_half.y));\n vec2 q = abs(v_local) - v_half + vec2(r);\n float d = length(max(q, vec2(0.0))) + min(max(q.x, q.y), 0.0) - r;\n float a = clamp(0.5 - d, 0.0, 1.0) * v_color.a;\n outColor = vec4(v_color.rgb * a, a);\n}`,\n};\n\nexport const GLSL_SCATTER = {\n vertex: /* glsl */ `${GLSL_VERTEX_COMMON}\nin vec2 a_pos;\nin float a_size;\nin vec4 a_color;\nout vec2 v_local;\nflat out float v_r;\nflat out vec4 v_color;\nvoid main() {\n v_local = vec2(0.0);\n v_r = 0.0;\n v_color = a_color;\n if (gap(a_pos) || !(a_size > 0.0)) { gl_Position = HIDDEN; return; }\n float r = a_size * 0.5 * u_viewport.z;\n float ext = r + 1.0;\n vec2 c = corner() * 2.0 - 1.0;\n gl_Position = pxToClip(toPx(a_pos) + c * ext);\n v_local = c * ext;\n v_r = r;\n}`,\n fragment: /* glsl */ `${GLSL_HEADER}\nin vec2 v_local;\nflat in float v_r;\nflat in vec4 v_color;\nout vec4 outColor;\nvoid main() {\n float d = length(v_local) - v_r;\n float cover = clamp(0.5 - d, 0.0, 1.0);\n float inner = clamp(0.5 - (d + u_params.y * u_viewport.z), 0.0, 1.0);\n float a = v_color.a * (inner * u_params.x + (cover - inner));\n outColor = vec4(v_color.rgb * a, a);\n}`,\n};\n\n// GLSL ES 1.0 (WebGL): no gl_VertexID (the corner comes from a per-vertex\n// attribute, location 0), no flat varyings (every vertex of an instance\n// writes the same value, so interpolation keeps it) and the fragment shaders\n// read no uniform: a uniform shared by both stages must have the same\n// precision, and highp is optional in WebGL fragment shaders.\n\nconst GLSL1_VERTEX_COMMON = /* glsl */ `precision highp float;\nuniform vec4 u_xform;\nuniform vec4 u_viewport;\nuniform vec4 u_color;\nuniform vec4 u_params;\nattribute vec2 a_corner;\nbool gap(vec2 p) { return abs(p.x) > 1e37 || abs(p.y) > 1e37; }\nvec2 toClip(vec2 p) { return vec2(p.x * u_xform.x + u_xform.y, p.y * u_xform.z + u_xform.w); }\nvec2 toPx(vec2 p) { return (toClip(p) * 0.5 + 0.5) * u_viewport.xy; }\nvec4 pxToClip(vec2 p) { return vec4(p / u_viewport.xy * 2.0 - 1.0, 0.0, 1.0); }\nconst vec4 HIDDEN = vec4(2.0, 2.0, 2.0, 1.0);\n`;\n\nconst GLSL1_FRAGMENT_COMMON = /* glsl */ `#ifdef GL_FRAGMENT_PRECISION_HIGH\nprecision highp float;\n#else\nprecision mediump float;\n#endif\n`;\n\nexport const GLSL1_LINE = {\n vertex: /* glsl */ `${GLSL1_VERTEX_COMMON}\nattribute vec2 a_a;\nattribute vec2 a_b;\nvarying vec2 v_local;\nvarying float v_len;\nvarying float v_hw;\nvarying vec4 v_color;\nvoid main() {\n v_local = vec2(0.0);\n v_len = 0.0;\n v_hw = u_params.x;\n v_color = u_color;\n if (gap(a_a) || gap(a_b)) { gl_Position = HIDDEN; return; }\n vec2 pa = toPx(a_a);\n vec2 pb = toPx(a_b);\n vec2 d = pb - pa;\n float len = length(d);\n vec2 dir = len > 1e-6 ? d / len : vec2(1.0, 0.0);\n vec2 nrm = vec2(-dir.y, dir.x);\n float hw = u_params.x + 1.0;\n float along = mix(-hw, len + hw, a_corner.x);\n float across = mix(-hw, hw, a_corner.y);\n gl_Position = pxToClip(pa + dir * along + nrm * across);\n v_local = vec2(along, across);\n v_len = len;\n}`,\n fragment: /* glsl */ `${GLSL1_FRAGMENT_COMMON}\nvarying vec2 v_local;\nvarying float v_len;\nvarying float v_hw;\nvarying vec4 v_color;\nvoid main() {\n float x = clamp(v_local.x, 0.0, v_len);\n float dist = length(vec2(v_local.x - x, v_local.y));\n float a = clamp(v_hw - dist + 0.5, 0.0, 1.0) * v_color.a;\n gl_FragColor = vec4(v_color.rgb * a, a);\n}`,\n};\n\nexport const GLSL1_AREA = {\n vertex: /* glsl */ `${GLSL1_VERTEX_COMMON}\nattribute vec3 a_a;\nattribute vec3 a_b;\nvarying float v_t;\nvarying vec4 v_color;\nvoid main() {\n v_t = 0.0;\n v_color = vec4(u_color.rgb, u_color.a * u_params.y);\n if (gap(a_a.xy) || gap(a_b.xy) || abs(a_a.z) > 1e37 || abs(a_b.z) > 1e37) { gl_Position = HIDDEN; return; }\n vec3 p = a_corner.y > 0.5 ? a_b : a_a;\n float y = a_corner.x > 0.5 ? p.y : p.z;\n gl_Position = vec4(toClip(vec2(p.x, y)), 0.0, 1.0);\n v_t = a_corner.x;\n}`,\n fragment: /* glsl */ `${GLSL1_FRAGMENT_COMMON}\nvarying float v_t;\nvarying vec4 v_color;\nvoid main() {\n float a = v_color.a * (0.25 + 0.75 * v_t * v_t);\n gl_FragColor = vec4(v_color.rgb * a, a);\n}`,\n};\n\nexport const GLSL1_BAR = {\n vertex: /* glsl */ `${GLSL1_VERTEX_COMMON}\nattribute vec3 a_inst;\nattribute vec4 a_color;\nvarying vec2 v_local;\nvarying vec2 v_half;\nvarying float v_radius;\nvarying vec4 v_color;\nvoid main() {\n v_local = vec2(0.0);\n v_half = vec2(0.0);\n v_radius = u_params.y * u_viewport.z;\n v_color = a_color;\n if (gap(a_inst.xy) || abs(a_inst.z) > 1e37) { gl_Position = HIDDEN; return; }\n float dpr = u_viewport.z;\n float rawHw = abs(u_params.x * u_xform.x) * 0.5 * u_viewport.x;\n vec2 p0 = toPx(a_inst.xy);\n float y1 = toPx(vec2(a_inst.x, a_inst.z)).y;\n float lo = min(p0.y, y1);\n float hi = max(p0.y, y1);\n float fade = clamp((min(rawHw, (hi - lo) * 0.5) - 3.0 * dpr) / (2.0 * dpr), 0.0, 1.0);\n float inset = u_params.z * dpr * fade - (u_params.z > 0.0 ? 0.5 * (1.0 - fade) : 0.0);\n float minHalf = u_params.w * dpr;\n float hw = max(max(rawHw - inset, 0.5), minHalf);\n vec2 hsz = vec2(hw, max((hi - lo) * 0.5 - inset, minHalf));\n vec2 center = vec2(p0.x, (lo + hi) * 0.5);\n vec2 ext = hsz + vec2(1.0);\n vec2 c = a_corner * 2.0 - 1.0;\n gl_Position = pxToClip(center + c * ext);\n v_local = c * ext;\n v_half = hsz;\n}`,\n fragment: /* glsl */ `${GLSL1_FRAGMENT_COMMON}\nvarying vec2 v_local;\nvarying vec2 v_half;\nvarying float v_radius;\nvarying vec4 v_color;\nvoid main() {\n float r = min(v_radius, min(v_half.x, v_half.y));\n vec2 q = abs(v_local) - v_half + vec2(r);\n float d = length(max(q, vec2(0.0))) + min(max(q.x, q.y), 0.0) - r;\n float a = clamp(0.5 - d, 0.0, 1.0) * v_color.a;\n gl_FragColor = vec4(v_color.rgb * a, a);\n}`,\n};\n\nexport const GLSL1_SCATTER = {\n vertex: /* glsl */ `${GLSL1_VERTEX_COMMON}\nattribute vec2 a_pos;\nattribute float a_size;\nattribute vec4 a_color;\nvarying vec2 v_local;\nvarying float v_r;\nvarying vec2 v_style;\nvarying vec4 v_color;\nvoid main() {\n v_local = vec2(0.0);\n v_r = 0.0;\n v_style = vec2(u_params.x, u_params.y * u_viewport.z);\n v_color = a_color;\n if (gap(a_pos) || !(a_size > 0.0)) { gl_Position = HIDDEN; return; }\n float r = a_size * 0.5 * u_viewport.z;\n float ext = r + 1.0;\n vec2 c = a_corner * 2.0 - 1.0;\n gl_Position = pxToClip(toPx(a_pos) + c * ext);\n v_local = c * ext;\n v_r = r;\n}`,\n fragment: /* glsl */ `${GLSL1_FRAGMENT_COMMON}\nvarying vec2 v_local;\nvarying float v_r;\nvarying vec2 v_style;\nvarying vec4 v_color;\nvoid main() {\n float d = length(v_local) - v_r;\n float cover = clamp(0.5 - d, 0.0, 1.0);\n float inner = clamp(0.5 - (d + v_style.y), 0.0, 1.0);\n float a = v_color.a * (inner * v_style.x + (cover - inner));\n gl_FragColor = vec4(v_color.rgb * a, a);\n}`,\n};\n"],"mappings":";AAcA,IAAMA,IAAyB,mnBA2BlBC,IAAuB,GAAGD,EAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCtCE,IAAuB,GAAGF,EAAY;;;;;;;;;;;;;;;;;;;;;;GAwBtCG,IAAsB,GAAGH,EAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CrCI,IAA0B,GAAGJ,EAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BhDK,IAAyB,6IAQzBC,IAAgC,GAAGD,EAAY;;;;;;;GASxCE,IAAY;CACvB,QAAmB,GAAGD,EAAmB;;;;;;;;;;;;;;;;;;;;;;;CAuBzC,UAAqB,GAAGD,EAAY;;;;;;;;;;AAUtC,GAEaG,IAAY;CACvB,QAAmB,GAAGF,EAAmB;;;;;;;;;;;;;CAazC,UAAqB,GAAGD,EAAY;;;;;;;AAOtC,GAEaI,IAAW;CACtB,QAAmB,GAAGH,EAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BzC,UAAqB,GAAGD,EAAY;;;;;;;;;;;;AAYtC,GAEaK,IAAe;CAC1B,QAAmB,GAAGJ,EAAmB;;;;;;;;;;;;;;;;;;;CAmBzC,UAAqB,GAAGD,EAAY;;;;;;;;;;;;AAYtC,GAQMM,IAAiC,8fAajCC,IAAmC,wGAO5BC,IAAa;CACxB,QAAmB,GAAGF,EAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;CA0B1C,UAAqB,GAAGC,EAAsB;;;;;;;;;;;AAWhD,GAEaE,IAAa;CACxB,QAAmB,GAAGH,EAAoB;;;;;;;;;;;;;;CAc1C,UAAqB,GAAGC,EAAsB;;;;;;;AAOhD,GAEaG,IAAY;CACvB,QAAmB,GAAGJ,EAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B1C,UAAqB,GAAGC,EAAsB;;;;;;;;;;;;AAYhD,GAEaI,IAAgB;CAC3B,QAAmB,GAAGL,EAAoB;;;;;;;;;;;;;;;;;;;;;CAqB1C,UAAqB,GAAGC,EAAsB;;;;;;;;;;;;AAYhD"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.cjs","names":["GAP"],"sources":["../../../../../charts/src/engine/renderers/types.ts"],"sourcesContent":["// Contract between the chart and its data-layer backends.\n\nimport type { Rgba } from \"../color\";\nimport type { ChartRendererKind } from \"../types\";\n\n/**\n * Data -> clip-space transform. Positions are uploaded relative to an\n * origin (float32 keeps its precision for timestamps), so\n * `clip = relative * scale + offset`.\n */\nexport interface RenderTransform {\n xScale: number;\n xOffset: number;\n yScale: number;\n yOffset: number;\n}\n\nexport interface RenderFrame {\n transform: RenderTransform;\n /** Size of the drawing buffer in device pixels */\n width: number;\n height: number;\n /** Device pixel ratio */\n dpr: number;\n}\n\n/** Missing values are written as this sentinel (NaN is unreliable in shaders) */\nexport const GAP = 3e38;\n\ninterface RenderItemBase {\n /** Identifies the GPU resources of the item */\n key: string;\n /** Changes when the buffers must be uploaded again */\n version: number;\n /** Straight RGBA */\n color: Rgba;\n}\n\nexport interface LineItem extends RenderItemBase {\n kind: \"line\";\n /** Interleaved relative x, y */\n points: Float32Array;\n count: number;\n /** CSS pixels */\n width: number;\n sorted: boolean;\n}\n\nexport interface AreaItem extends RenderItemBase {\n kind: \"area\";\n points: Float32Array;\n count: number;\n /** Relative y of the baseline */\n baseline: number;\n opacity: number;\n sorted: boolean;\n}\n\nexport interface BarItem extends RenderItemBase {\n kind: \"bar\";\n /** Interleaved relative x (center), y0, y1 */\n instances: Float32Array;\n count: number;\n /** Half of the bar width, in relative x units */\n halfWidth: number;\n /** Corner radius in CSS pixels */\n radius: number;\n /** Instances are sorted by x */\n sorted: boolean;\n}\n\nexport interface ScatterItem extends RenderItemBase {\n kind: \"scatter\";\n /** Per point: x f32, y f32, diameter (CSS px) f32, color unorm8x4 */\n instances: ArrayBuffer;\n count: number;\n opacity: number;\n /** Outline width in CSS pixels */\n stroke: number;\n}\n\nexport type RenderItem = LineItem | AreaItem | BarItem | ScatterItem;\n\nexport interface ChartRenderer {\n readonly kind: ChartRendererKind;\n readonly canvas: HTMLCanvasElement;\n /** Drawing buffer size in device pixels */\n resize(width: number, height: number): void;\n render(items: readonly RenderItem[], frame: RenderFrame): void;\n destroy(): void;\n}\n\n/** Called when the backend is lost (GPU reset, too many contexts, ...) */\nexport type RendererLostHandler = () => void;\n\nexport const SCATTER_STRIDE = 16;\n"],"mappings":"AA2BA,IAAaA,EAAM"}
1
+ {"version":3,"file":"types.cjs","names":["GAP"],"sources":["../../../../../charts/src/engine/renderers/types.ts"],"sourcesContent":["// Contract between the chart and its data-layer backends.\n\nimport type { Rgba } from \"../color\";\nimport type { ChartRendererKind } from \"../types\";\n\n/**\n * Data -> clip-space transform. Positions are uploaded relative to an\n * origin (float32 keeps its precision for timestamps), so\n * `clip = relative * scale + offset`.\n */\nexport interface RenderTransform {\n xScale: number;\n xOffset: number;\n yScale: number;\n yOffset: number;\n}\n\nexport interface RenderFrame {\n transform: RenderTransform;\n /** Size of the drawing buffer in device pixels */\n width: number;\n height: number;\n /** Device pixel ratio */\n dpr: number;\n}\n\n/** Missing values are written as this sentinel (NaN is unreliable in shaders) */\nexport const GAP = 3e38;\n\ninterface RenderItemBase {\n /** Identifies the GPU resources of the item */\n key: string;\n /** Changes when the buffers must be uploaded again */\n version: number;\n /** Straight RGBA */\n color: Rgba;\n}\n\nexport interface LineItem extends RenderItemBase {\n kind: \"line\";\n /** Interleaved relative x, y */\n points: Float32Array;\n count: number;\n /** CSS pixels */\n width: number;\n sorted: boolean;\n}\n\nexport interface AreaItem extends RenderItemBase {\n kind: \"area\";\n /** Interleaved relative x, y (top) and y of the bottom edge (baseline or stack below) */\n points: Float32Array;\n count: number;\n opacity: number;\n sorted: boolean;\n}\n\nexport interface BarItem extends RenderItemBase {\n kind: \"bar\";\n /** Per bar: relative x (center) f32, y0 f32, y1 f32, color unorm8x4 */\n instances: ArrayBuffer;\n count: number;\n /** Half of the bar width, in relative x units */\n halfWidth: number;\n /** Corner radius in CSS pixels */\n radius: number;\n /** Space removed on every side, in CSS pixels (heatmap cells) */\n inset: number;\n /** Smallest half width / half height, in CSS pixels (wicks, flat candles) */\n minHalf: number;\n /** Instances are sorted by x */\n sorted: boolean;\n}\n\nexport interface ScatterItem extends RenderItemBase {\n kind: \"scatter\";\n /** Per point: x f32, y f32, diameter (CSS px) f32, color unorm8x4 */\n instances: ArrayBuffer;\n count: number;\n opacity: number;\n /** Outline width in CSS pixels */\n stroke: number;\n}\n\nexport type RenderItem = LineItem | AreaItem | BarItem | ScatterItem;\n\nexport interface ChartRenderer {\n readonly kind: ChartRendererKind;\n readonly canvas: HTMLCanvasElement;\n /** Drawing buffer size in device pixels */\n resize(width: number, height: number): void;\n render(items: readonly RenderItem[], frame: RenderFrame): void;\n destroy(): void;\n}\n\n/** Called when the backend is lost (GPU reset, too many contexts, ...) */\nexport type RendererLostHandler = () => void;\n\nexport const SCATTER_STRIDE = 16;\n/** Bytes per bar instance */\nexport const BAR_STRIDE = 16;\n/** Floats per area point */\nexport const AREA_STRIDE = 3;\n"],"mappings":"AA2BA,IAAaA,EAAM"}
@@ -40,22 +40,25 @@ export interface LineItem extends RenderItemBase {
40
40
  }
41
41
  export interface AreaItem extends RenderItemBase {
42
42
  kind: "area";
43
+ /** Interleaved relative x, y (top) and y of the bottom edge (baseline or stack below) */
43
44
  points: Float32Array;
44
45
  count: number;
45
- /** Relative y of the baseline */
46
- baseline: number;
47
46
  opacity: number;
48
47
  sorted: boolean;
49
48
  }
50
49
  export interface BarItem extends RenderItemBase {
51
50
  kind: "bar";
52
- /** Interleaved relative x (center), y0, y1 */
53
- instances: Float32Array;
51
+ /** Per bar: relative x (center) f32, y0 f32, y1 f32, color unorm8x4 */
52
+ instances: ArrayBuffer;
54
53
  count: number;
55
54
  /** Half of the bar width, in relative x units */
56
55
  halfWidth: number;
57
56
  /** Corner radius in CSS pixels */
58
57
  radius: number;
58
+ /** Space removed on every side, in CSS pixels (heatmap cells) */
59
+ inset: number;
60
+ /** Smallest half width / half height, in CSS pixels (wicks, flat candles) */
61
+ minHalf: number;
59
62
  /** Instances are sorted by x */
60
63
  sorted: boolean;
61
64
  }
@@ -80,4 +83,8 @@ export interface ChartRenderer {
80
83
  /** Called when the backend is lost (GPU reset, too many contexts, ...) */
81
84
  export type RendererLostHandler = () => void;
82
85
  export declare const SCATTER_STRIDE = 16;
86
+ /** Bytes per bar instance */
87
+ export declare const BAR_STRIDE = 16;
88
+ /** Floats per area point */
89
+ export declare const AREA_STRIDE = 3;
83
90
  export {};
@@ -40,22 +40,25 @@ export interface LineItem extends RenderItemBase {
40
40
  }
41
41
  export interface AreaItem extends RenderItemBase {
42
42
  kind: "area";
43
+ /** Interleaved relative x, y (top) and y of the bottom edge (baseline or stack below) */
43
44
  points: Float32Array;
44
45
  count: number;
45
- /** Relative y of the baseline */
46
- baseline: number;
47
46
  opacity: number;
48
47
  sorted: boolean;
49
48
  }
50
49
  export interface BarItem extends RenderItemBase {
51
50
  kind: "bar";
52
- /** Interleaved relative x (center), y0, y1 */
53
- instances: Float32Array;
51
+ /** Per bar: relative x (center) f32, y0 f32, y1 f32, color unorm8x4 */
52
+ instances: ArrayBuffer;
54
53
  count: number;
55
54
  /** Half of the bar width, in relative x units */
56
55
  halfWidth: number;
57
56
  /** Corner radius in CSS pixels */
58
57
  radius: number;
58
+ /** Space removed on every side, in CSS pixels (heatmap cells) */
59
+ inset: number;
60
+ /** Smallest half width / half height, in CSS pixels (wicks, flat candles) */
61
+ minHalf: number;
59
62
  /** Instances are sorted by x */
60
63
  sorted: boolean;
61
64
  }
@@ -80,4 +83,8 @@ export interface ChartRenderer {
80
83
  /** Called when the backend is lost (GPU reset, too many contexts, ...) */
81
84
  export type RendererLostHandler = () => void;
82
85
  export declare const SCATTER_STRIDE = 16;
86
+ /** Bytes per bar instance */
87
+ export declare const BAR_STRIDE = 16;
88
+ /** Floats per area point */
89
+ export declare const AREA_STRIDE = 3;
83
90
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["GAP"],"sources":["../../../../../charts/src/engine/renderers/types.ts"],"sourcesContent":["// Contract between the chart and its data-layer backends.\n\nimport type { Rgba } from \"../color\";\nimport type { ChartRendererKind } from \"../types\";\n\n/**\n * Data -> clip-space transform. Positions are uploaded relative to an\n * origin (float32 keeps its precision for timestamps), so\n * `clip = relative * scale + offset`.\n */\nexport interface RenderTransform {\n xScale: number;\n xOffset: number;\n yScale: number;\n yOffset: number;\n}\n\nexport interface RenderFrame {\n transform: RenderTransform;\n /** Size of the drawing buffer in device pixels */\n width: number;\n height: number;\n /** Device pixel ratio */\n dpr: number;\n}\n\n/** Missing values are written as this sentinel (NaN is unreliable in shaders) */\nexport const GAP = 3e38;\n\ninterface RenderItemBase {\n /** Identifies the GPU resources of the item */\n key: string;\n /** Changes when the buffers must be uploaded again */\n version: number;\n /** Straight RGBA */\n color: Rgba;\n}\n\nexport interface LineItem extends RenderItemBase {\n kind: \"line\";\n /** Interleaved relative x, y */\n points: Float32Array;\n count: number;\n /** CSS pixels */\n width: number;\n sorted: boolean;\n}\n\nexport interface AreaItem extends RenderItemBase {\n kind: \"area\";\n points: Float32Array;\n count: number;\n /** Relative y of the baseline */\n baseline: number;\n opacity: number;\n sorted: boolean;\n}\n\nexport interface BarItem extends RenderItemBase {\n kind: \"bar\";\n /** Interleaved relative x (center), y0, y1 */\n instances: Float32Array;\n count: number;\n /** Half of the bar width, in relative x units */\n halfWidth: number;\n /** Corner radius in CSS pixels */\n radius: number;\n /** Instances are sorted by x */\n sorted: boolean;\n}\n\nexport interface ScatterItem extends RenderItemBase {\n kind: \"scatter\";\n /** Per point: x f32, y f32, diameter (CSS px) f32, color unorm8x4 */\n instances: ArrayBuffer;\n count: number;\n opacity: number;\n /** Outline width in CSS pixels */\n stroke: number;\n}\n\nexport type RenderItem = LineItem | AreaItem | BarItem | ScatterItem;\n\nexport interface ChartRenderer {\n readonly kind: ChartRendererKind;\n readonly canvas: HTMLCanvasElement;\n /** Drawing buffer size in device pixels */\n resize(width: number, height: number): void;\n render(items: readonly RenderItem[], frame: RenderFrame): void;\n destroy(): void;\n}\n\n/** Called when the backend is lost (GPU reset, too many contexts, ...) */\nexport type RendererLostHandler = () => void;\n\nexport const SCATTER_STRIDE = 16;\n"],"mappings":";AA2BA,IAAaA,IAAM"}
1
+ {"version":3,"file":"types.js","names":["GAP"],"sources":["../../../../../charts/src/engine/renderers/types.ts"],"sourcesContent":["// Contract between the chart and its data-layer backends.\n\nimport type { Rgba } from \"../color\";\nimport type { ChartRendererKind } from \"../types\";\n\n/**\n * Data -> clip-space transform. Positions are uploaded relative to an\n * origin (float32 keeps its precision for timestamps), so\n * `clip = relative * scale + offset`.\n */\nexport interface RenderTransform {\n xScale: number;\n xOffset: number;\n yScale: number;\n yOffset: number;\n}\n\nexport interface RenderFrame {\n transform: RenderTransform;\n /** Size of the drawing buffer in device pixels */\n width: number;\n height: number;\n /** Device pixel ratio */\n dpr: number;\n}\n\n/** Missing values are written as this sentinel (NaN is unreliable in shaders) */\nexport const GAP = 3e38;\n\ninterface RenderItemBase {\n /** Identifies the GPU resources of the item */\n key: string;\n /** Changes when the buffers must be uploaded again */\n version: number;\n /** Straight RGBA */\n color: Rgba;\n}\n\nexport interface LineItem extends RenderItemBase {\n kind: \"line\";\n /** Interleaved relative x, y */\n points: Float32Array;\n count: number;\n /** CSS pixels */\n width: number;\n sorted: boolean;\n}\n\nexport interface AreaItem extends RenderItemBase {\n kind: \"area\";\n /** Interleaved relative x, y (top) and y of the bottom edge (baseline or stack below) */\n points: Float32Array;\n count: number;\n opacity: number;\n sorted: boolean;\n}\n\nexport interface BarItem extends RenderItemBase {\n kind: \"bar\";\n /** Per bar: relative x (center) f32, y0 f32, y1 f32, color unorm8x4 */\n instances: ArrayBuffer;\n count: number;\n /** Half of the bar width, in relative x units */\n halfWidth: number;\n /** Corner radius in CSS pixels */\n radius: number;\n /** Space removed on every side, in CSS pixels (heatmap cells) */\n inset: number;\n /** Smallest half width / half height, in CSS pixels (wicks, flat candles) */\n minHalf: number;\n /** Instances are sorted by x */\n sorted: boolean;\n}\n\nexport interface ScatterItem extends RenderItemBase {\n kind: \"scatter\";\n /** Per point: x f32, y f32, diameter (CSS px) f32, color unorm8x4 */\n instances: ArrayBuffer;\n count: number;\n opacity: number;\n /** Outline width in CSS pixels */\n stroke: number;\n}\n\nexport type RenderItem = LineItem | AreaItem | BarItem | ScatterItem;\n\nexport interface ChartRenderer {\n readonly kind: ChartRendererKind;\n readonly canvas: HTMLCanvasElement;\n /** Drawing buffer size in device pixels */\n resize(width: number, height: number): void;\n render(items: readonly RenderItem[], frame: RenderFrame): void;\n destroy(): void;\n}\n\n/** Called when the backend is lost (GPU reset, too many contexts, ...) */\nexport type RendererLostHandler = () => void;\n\nexport const SCATTER_STRIDE = 16;\n/** Bytes per bar instance */\nexport const BAR_STRIDE = 16;\n/** Floats per area point */\nexport const AREA_STRIDE = 3;\n"],"mappings":";AA2BA,IAAaA,IAAM"}
@@ -0,0 +1,2 @@
1
+ const e=require("./gl.cjs"),t=require("./range.cjs"),n=require("./shaders.cjs");var r={line:[`a_corner`,`a_a`,`a_b`],area:[`a_corner`,`a_a`,`a_b`],bar:[`a_corner`,`a_inst`,`a_color`],scatter:[`a_corner`,`a_pos`,`a_size`,`a_color`]},i=4,a=new Float32Array([0,0,1,0,0,1,1,1]),o=(o,s,c=!1)=>{let l=o.getContext(`webgl`,e.glContextAttributes(c));if(!l)return null;let u=()=>l.getExtension(`WEBGL_lose_context`)?.loseContext(),d=l.getExtension(`ANGLE_instanced_arrays`);if(!d||c&&e.isSoftwareRenderer(l))return u(),null;let f=e.compileProgram(l,n.GLSL1_LINE,r.line),p=e.compileProgram(l,n.GLSL1_AREA,r.area),m=e.compileProgram(l,n.GLSL1_BAR,r.bar),h=e.compileProgram(l,n.GLSL1_SCATTER,r.scatter),g=l.createBuffer();if(!f||!p||!m||!h||!g)return u(),null;let _={line:f,area:p,bar:m,scatter:h};l.bindBuffer(l.ARRAY_BUFFER,g),l.bufferData(l.ARRAY_BUFFER,a,l.STATIC_DRAW);let v=!1,y=e=>{e.preventDefault(),v=!0,s()};o.addEventListener(`webglcontextlost`,y);let b=new Map,x=(e,t,n,r,i)=>{l.enableVertexAttribArray(e),l.vertexAttribPointer(e,t,n,n===l.UNSIGNED_BYTE,r,i),d.vertexAttribDivisorANGLE(e,1)},S=(e,t,n)=>{let a=l.FLOAT;switch(l.bindBuffer(l.ARRAY_BUFFER,g),l.enableVertexAttribArray(0),l.vertexAttribPointer(0,2,a,!1,0,0),d.vertexAttribDivisorANGLE(0,0),l.bindBuffer(l.ARRAY_BUFFER,t),e.kind){case`line`:x(1,2,a,8,n*8),x(2,2,a,8,n*8+8);break;case`area`:x(1,3,a,12,n*12),x(2,3,a,12,(n+1)*12);break;case`bar`:x(1,3,a,16,n*16),x(2,4,l.UNSIGNED_BYTE,16,n*16+12);break;default:{let e=n*16;x(1,2,a,16,e),x(2,1,a,16,e+8),x(3,4,l.UNSIGNED_BYTE,16,e+12);break}}for(let t=r[e.kind].length;t<i;t++)l.disableVertexAttribArray(t),d.vertexAttribDivisorANGLE(t,0)},C=e=>{let t=b.get(e.key);if(t&&t.version===e.version&&t.kind===e.kind)return t;t&&l.deleteBuffer(t.buffer);let n=l.createBuffer();if(!n)return null;switch(l.bindBuffer(l.ARRAY_BUFFER,n),e.kind){case`line`:l.bufferData(l.ARRAY_BUFFER,e.points.subarray(0,e.count*2),l.STATIC_DRAW);break;case`area`:l.bufferData(l.ARRAY_BUFFER,e.points.subarray(0,e.count*3),l.STATIC_DRAW);break;default:l.bufferData(l.ARRAY_BUFFER,e.instances,l.STATIC_DRAW)}let r={version:e.version,kind:e.kind,buffer:n};return b.set(e.key,r),r};return{kind:`webgl`,canvas:o,resize(e,t){o.width=Math.max(1,e),o.height=Math.max(1,t)},render(n,r){if(v||l.isContextLost())return;l.viewport(0,0,o.width,o.height),l.clearColor(0,0,0,0),l.clear(l.COLOR_BUFFER_BIT),l.enable(l.BLEND),l.blendFunc(l.ONE,l.ONE_MINUS_SRC_ALPHA);let i=r.transform,a=new Set;for(let o of n){a.add(o.key);let[n,s]=t.instanceRange(o,r);if(s<=0)continue;let c=C(o);if(!c)continue;let u=_[o.kind];l.useProgram(u.program),l.uniform4f(u.xform,i.xScale,i.xOffset,i.yScale,i.yOffset),l.uniform4f(u.viewport,r.width,r.height,r.dpr,0),l.uniform4f(u.color,o.color[0],o.color[1],o.color[2],o.color[3]);let[f,p,m,h]=e.itemParams(o,r);l.uniform4f(u.params,f,p,m,h),S(o,c.buffer,n),d.drawArraysInstancedANGLE(l.TRIANGLE_STRIP,0,4,s)}for(let[e,t]of b)a.has(e)||(l.deleteBuffer(t.buffer),b.delete(e))},destroy(){if(o.removeEventListener(`webglcontextlost`,y),!l.isContextLost()){for(let e of b.values())l.deleteBuffer(e.buffer);for(let e of Object.values(_))l.deleteProgram(e.program);l.deleteBuffer(g)}b.clear(),u()}}};exports.createWebGlRenderer=o;
2
+ //# sourceMappingURL=webgl.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webgl.cjs","names":["glContextAttributes","isSoftwareRenderer","compileProgram","GLSL1_LINE","GLSL1_AREA","GLSL1_BAR","GLSL1_SCATTER","instanceRange","itemParams","require_gl","require_range","require_shaders","ATTRIBUTES","MAX_LOCATIONS","CORNERS","createWebGlRenderer","gl","canvas","requireHardware","loseContext","instancing","line","area","bar","scatter","corners","programs","lost","handleLost","event","onLost","resources","instanced","location","size","type","stride","offset","bindAttributes","F","buffer","item","first","i","upload","existing","res","width","height","t","frame","seen","items","instances","program","p0","p1","p2","p3","key","p"],"sources":["../../../../../charts/src/engine/renderers/webgl.ts"],"sourcesContent":["// WebGL (1) backend: the WebGL2 primitives in GLSL ES 1.0 for browsers and\n// GPUs without WebGL2. Instancing comes from ANGLE_instanced_arrays (exposed\n// virtually everywhere); without it the chain moves on to Canvas2D. Vertex\n// array objects are optional in WebGL 1, so the attributes are bound for\n// every draw (a handful of calls per series).\n\nimport {\n compileProgram,\n glContextAttributes,\n isSoftwareRenderer,\n itemParams,\n} from \"./gl\";\nimport { instanceRange } from \"./range\";\nimport { GLSL1_AREA, GLSL1_BAR, GLSL1_LINE, GLSL1_SCATTER } from \"./shaders\";\nimport {\n AREA_STRIDE,\n BAR_STRIDE,\n SCATTER_STRIDE,\n type ChartRenderer,\n type RenderItem,\n type RendererLostHandler,\n} from \"./types\";\n\ninterface ItemResources {\n version: number;\n kind: RenderItem[\"kind\"];\n buffer: WebGLBuffer;\n}\n\n/** Location 0 is the per-vertex corner, the others are per instance */\nconst ATTRIBUTES: Record<RenderItem[\"kind\"], string[]> = {\n line: [\"a_corner\", \"a_a\", \"a_b\"],\n area: [\"a_corner\", \"a_a\", \"a_b\"],\n bar: [\"a_corner\", \"a_inst\", \"a_color\"],\n scatter: [\"a_corner\", \"a_pos\", \"a_size\", \"a_color\"],\n};\n\nconst MAX_LOCATIONS = 4;\n\n/** Corners of the triangle strip, as gl_VertexID gives them in WebGL2: (vi & 1, vi >> 1) */\nconst CORNERS = new Float32Array([0, 0, 1, 0, 0, 1, 1, 1]);\n\nexport const createWebGlRenderer = (\n canvas: HTMLCanvasElement,\n onLost: RendererLostHandler,\n /** Refuses software rendering (SwiftShader, blocklisted GPUs): Canvas2D with decimation is faster there */\n requireHardware = false,\n): ChartRenderer | null => {\n const gl = canvas.getContext(\n \"webgl\",\n glContextAttributes(requireHardware),\n ) as WebGLRenderingContext | null;\n if (!gl) return null;\n const loseContext = () =>\n gl.getExtension(\"WEBGL_lose_context\")?.loseContext();\n const instancing = gl.getExtension(\"ANGLE_instanced_arrays\");\n if (!instancing || (requireHardware && isSoftwareRenderer(gl))) {\n loseContext();\n return null;\n }\n\n const line = compileProgram(gl, GLSL1_LINE, ATTRIBUTES.line);\n const area = compileProgram(gl, GLSL1_AREA, ATTRIBUTES.area);\n const bar = compileProgram(gl, GLSL1_BAR, ATTRIBUTES.bar);\n const scatter = compileProgram(gl, GLSL1_SCATTER, ATTRIBUTES.scatter);\n const corners = gl.createBuffer();\n if (!line || !area || !bar || !scatter || !corners) {\n loseContext();\n return null;\n }\n const programs = { line, area, bar, scatter };\n gl.bindBuffer(gl.ARRAY_BUFFER, corners);\n gl.bufferData(gl.ARRAY_BUFFER, CORNERS, gl.STATIC_DRAW);\n\n let lost = false;\n const handleLost = (event: Event) => {\n event.preventDefault();\n lost = true;\n onLost();\n };\n canvas.addEventListener(\"webglcontextlost\", handleLost);\n\n const resources = new Map<string, ItemResources>();\n\n /** Float or normalized unorm8x4 attribute advancing once per instance */\n const instanced = (\n location: number,\n size: number,\n type: number,\n stride: number,\n offset: number,\n ) => {\n gl.enableVertexAttribArray(location);\n gl.vertexAttribPointer(\n location,\n size,\n type,\n type === gl.UNSIGNED_BYTE,\n stride,\n offset,\n );\n instancing.vertexAttribDivisorANGLE(location, 1);\n };\n\n /** Binds the corner and the instance attributes starting at instance `first` */\n const bindAttributes = (\n item: RenderItem,\n buffer: WebGLBuffer,\n first: number,\n ) => {\n const F = gl.FLOAT;\n gl.bindBuffer(gl.ARRAY_BUFFER, corners);\n gl.enableVertexAttribArray(0);\n gl.vertexAttribPointer(0, 2, F, false, 0, 0);\n instancing.vertexAttribDivisorANGLE(0, 0);\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n switch (item.kind) {\n case \"line\":\n instanced(1, 2, F, 8, first * 8);\n instanced(2, 2, F, 8, first * 8 + 8);\n break;\n case \"area\": {\n const stride = AREA_STRIDE * 4;\n instanced(1, 3, F, stride, first * stride);\n instanced(2, 3, F, stride, (first + 1) * stride);\n break;\n }\n case \"bar\":\n instanced(1, 3, F, BAR_STRIDE, first * BAR_STRIDE);\n instanced(2, 4, gl.UNSIGNED_BYTE, BAR_STRIDE, first * BAR_STRIDE + 12);\n break;\n default: {\n const offset = first * SCATTER_STRIDE;\n instanced(1, 2, F, SCATTER_STRIDE, offset);\n instanced(2, 1, F, SCATTER_STRIDE, offset + 8);\n instanced(3, 4, gl.UNSIGNED_BYTE, SCATTER_STRIDE, offset + 12);\n break;\n }\n }\n // attribute state is global without vertex array objects\n for (let i = ATTRIBUTES[item.kind].length; i < MAX_LOCATIONS; i++) {\n gl.disableVertexAttribArray(i);\n instancing.vertexAttribDivisorANGLE(i, 0);\n }\n };\n\n const upload = (item: RenderItem): ItemResources | null => {\n const existing = resources.get(item.key);\n if (\n existing &&\n existing.version === item.version &&\n existing.kind === item.kind\n ) {\n return existing;\n }\n if (existing) gl.deleteBuffer(existing.buffer);\n const buffer = gl.createBuffer();\n if (!buffer) return null;\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n switch (item.kind) {\n case \"line\":\n gl.bufferData(\n gl.ARRAY_BUFFER,\n item.points.subarray(0, item.count * 2),\n gl.STATIC_DRAW,\n );\n break;\n case \"area\":\n gl.bufferData(\n gl.ARRAY_BUFFER,\n item.points.subarray(0, item.count * AREA_STRIDE),\n gl.STATIC_DRAW,\n );\n break;\n default:\n gl.bufferData(gl.ARRAY_BUFFER, item.instances, gl.STATIC_DRAW);\n break;\n }\n const res = { version: item.version, kind: item.kind, buffer };\n resources.set(item.key, res);\n return res;\n };\n\n return {\n kind: \"webgl\",\n canvas,\n resize(width, height) {\n canvas.width = Math.max(1, width);\n canvas.height = Math.max(1, height);\n },\n render(items, frame) {\n if (lost || gl.isContextLost()) return;\n gl.viewport(0, 0, canvas.width, canvas.height);\n gl.clearColor(0, 0, 0, 0);\n gl.clear(gl.COLOR_BUFFER_BIT);\n gl.enable(gl.BLEND);\n gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n const t = frame.transform;\n const seen = new Set<string>();\n for (const item of items) {\n seen.add(item.key);\n const [first, instances] = instanceRange(item, frame);\n if (instances <= 0) continue;\n const res = upload(item);\n if (!res) continue;\n const program = programs[item.kind];\n gl.useProgram(program.program);\n gl.uniform4f(program.xform, t.xScale, t.xOffset, t.yScale, t.yOffset);\n gl.uniform4f(program.viewport, frame.width, frame.height, frame.dpr, 0);\n gl.uniform4f(\n program.color,\n item.color[0],\n item.color[1],\n item.color[2],\n item.color[3],\n );\n const [p0, p1, p2, p3] = itemParams(item, frame);\n gl.uniform4f(program.params, p0, p1, p2, p3);\n bindAttributes(item, res.buffer, first);\n instancing.drawArraysInstancedANGLE(gl.TRIANGLE_STRIP, 0, 4, instances);\n }\n for (const [key, res] of resources) {\n if (!seen.has(key)) {\n gl.deleteBuffer(res.buffer);\n resources.delete(key);\n }\n }\n },\n destroy() {\n canvas.removeEventListener(\"webglcontextlost\", handleLost);\n if (!gl.isContextLost()) {\n for (const res of resources.values()) gl.deleteBuffer(res.buffer);\n for (const p of Object.values(programs)) gl.deleteProgram(p.program);\n gl.deleteBuffer(corners);\n }\n resources.clear();\n loseContext();\n },\n };\n};\n"],"mappings":"gFA8BA,IAAMY,EAAmD,CACvD,KAAM,CAAC,WAAY,MAAO,KAAK,EAC/B,KAAM,CAAC,WAAY,MAAO,KAAK,EAC/B,IAAK,CAAC,WAAY,SAAU,SAAS,EACrC,QAAS,CAAC,WAAY,QAAS,SAAU,SAAS,CACpD,EAEMC,EAAgB,EAGhBC,EAAU,IAAI,aAAa,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAAC,EAE5CC,GACX,EACA,EAEA,EAAkB,KACO,CACzB,IAAMC,EAAKC,EAAO,WAChB,QACAjB,EAAAA,oBAAoBkB,CAAe,CACrC,EACA,GAAI,CAACF,EAAI,OAAO,KAChB,IAAMG,MACJH,EAAG,aAAa,oBAAoB,CAAC,EAAE,YAAY,EAC/CI,EAAaJ,EAAG,aAAa,wBAAwB,EAC3D,GAAI,CAACI,GAAeF,GAAmBjB,EAAAA,mBAAmBe,CAAE,EAE1D,OADAG,EAAY,EACL,KAGT,IAAME,EAAOnB,EAAAA,eAAec,EAAIb,EAAAA,WAAYS,EAAW,IAAI,EACrDU,EAAOpB,EAAAA,eAAec,EAAIZ,EAAAA,WAAYQ,EAAW,IAAI,EACrDW,EAAMrB,EAAAA,eAAec,EAAIX,EAAAA,UAAWO,EAAW,GAAG,EAClDY,EAAUtB,EAAAA,eAAec,EAAIV,EAAAA,cAAeM,EAAW,OAAO,EAC9Da,EAAUT,EAAG,aAAa,EAChC,GAAI,CAACK,GAAQ,CAACC,GAAQ,CAACC,GAAO,CAACC,GAAW,CAACC,EAEzC,OADAN,EAAY,EACL,KAET,IAAMO,EAAW,CAAE,OAAM,OAAM,MAAK,SAAQ,EAC5CV,EAAG,WAAWA,EAAG,aAAcS,CAAO,EACtCT,EAAG,WAAWA,EAAG,aAAcF,EAASE,EAAG,WAAW,EAEtD,IAAIW,EAAO,GACLC,EAAc,GAAiB,CACnCC,EAAM,eAAe,EACrB,EAAO,GACPC,EAAO,CACT,EACAb,EAAO,iBAAiB,mBAAoBW,CAAU,EAEtD,IAAMG,EAAY,IAAI,IAGhBC,GACJ,EACA,EACA,EACA,EACA,IACG,CACHhB,EAAG,wBAAwBiB,CAAQ,EACnCjB,EAAG,oBACDiB,EACAC,EACAC,EACAA,IAASnB,EAAG,cACZoB,EACAC,CACF,EACAjB,EAAW,yBAAyBa,EAAU,CAAC,CACjD,EAGMK,GACJ,EACA,EACA,IACG,CACH,IAAMC,EAAIvB,EAAG,MAMb,OALAA,EAAG,WAAWA,EAAG,aAAcS,CAAO,EACtCT,EAAG,wBAAwB,CAAC,EAC5BA,EAAG,oBAAoB,EAAG,EAAGuB,EAAG,GAAO,EAAG,CAAC,EAC3CnB,EAAW,yBAAyB,EAAG,CAAC,EACxCJ,EAAG,WAAWA,EAAG,aAAcwB,CAAM,EAC7BC,EAAK,KAAb,CACE,IAAK,OACHT,EAAU,EAAG,EAAGO,EAAG,EAAGG,EAAQ,CAAC,EAC/BV,EAAU,EAAG,EAAGO,EAAG,EAAGG,EAAQ,EAAI,CAAC,EACnC,MACF,IAAK,OAEHV,EAAU,EAAG,EAAGO,EAAG,GAAQG,EAAQ,EAAM,EACzCV,EAAU,EAAG,EAAGO,EAAG,IAASG,EAAQ,GAAK,EAAM,EAC/C,MAEF,IAAK,MACHV,EAAU,EAAG,EAAGO,EAAA,GAAeG,EAAA,EAAkB,EACjDV,EAAU,EAAG,EAAGhB,EAAG,cAAA,GAA2B0B,EAAA,GAAqB,EAAE,EACrE,MACF,QAAS,CACP,IAAML,EAASK,EAAA,GACfV,EAAU,EAAG,EAAGO,EAAA,GAAmBF,CAAM,EACzCL,EAAU,EAAG,EAAGO,EAAA,GAAmBF,EAAS,CAAC,EAC7CL,EAAU,EAAG,EAAGhB,EAAG,cAAA,GAA+BqB,EAAS,EAAE,EAC7D,KACF,CACF,CAEA,IAAK,IAAIM,EAAI/B,EAAW6B,EAAK,KAAK,CAAC,OAAQE,EAAI9B,EAAe,IAC5DG,EAAG,yBAAyB2B,CAAC,EAC7BvB,EAAW,yBAAyBuB,EAAG,CAAC,CAE5C,EAEMC,EAAU,GAA2C,CACzD,IAAMC,EAAWd,EAAU,IAAIU,EAAK,GAAG,EACvC,GACEI,GACAA,EAAS,UAAYJ,EAAK,SAC1BI,EAAS,OAASJ,EAAK,KAEvB,OAAOI,EAELA,GAAU7B,EAAG,aAAa6B,EAAS,MAAM,EAC7C,IAAML,EAASxB,EAAG,aAAa,EAC/B,GAAI,CAACwB,EAAQ,OAAO,KAEpB,OADAxB,EAAG,WAAWA,EAAG,aAAcwB,CAAM,EAC7BC,EAAK,KAAb,CACE,IAAK,OACHzB,EAAG,WACDA,EAAG,aACHyB,EAAK,OAAO,SAAS,EAAGA,EAAK,MAAQ,CAAC,EACtCzB,EAAG,WACL,EACA,MACF,IAAK,OACHA,EAAG,WACDA,EAAG,aACHyB,EAAK,OAAO,SAAS,EAAGA,EAAK,MAAA,CAAmB,EAChDzB,EAAG,WACL,EACA,MACF,QACEA,EAAG,WAAWA,EAAG,aAAcyB,EAAK,UAAWzB,EAAG,WAAW,CAEjE,CACA,IAAM8B,EAAM,CAAE,QAASL,EAAK,QAAS,KAAMA,EAAK,KAAM,QAAO,EAE7D,OADAV,EAAU,IAAIU,EAAK,IAAKK,CAAG,EACpBA,CACT,EAEA,MAAO,CACL,KAAM,QACN,SACA,OAAO,EAAO,EAAQ,CACpB,EAAO,MAAQ,KAAK,IAAI,EAAGC,CAAK,EAChC,EAAO,OAAS,KAAK,IAAI,EAAGC,CAAM,CACpC,EACA,OAAO,EAAO,EAAO,CACnB,GAAIrB,GAAQX,EAAG,cAAc,EAAG,OAChCA,EAAG,SAAS,EAAG,EAAGC,EAAO,MAAOA,EAAO,MAAM,EAC7CD,EAAG,WAAW,EAAG,EAAG,EAAG,CAAC,EACxBA,EAAG,MAAMA,EAAG,gBAAgB,EAC5BA,EAAG,OAAOA,EAAG,KAAK,EAClBA,EAAG,UAAUA,EAAG,IAAKA,EAAG,mBAAmB,EAC3C,IAAMiC,EAAIC,EAAM,UACVC,EAAO,IAAI,IACjB,IAAK,IAAMV,KAAQW,EAAO,CACxBD,EAAK,IAAIV,EAAK,GAAG,EACjB,GAAM,CAACC,EAAOW,GAAa9C,EAAAA,cAAckC,EAAMS,CAAK,EACpD,GAAIG,GAAa,EAAG,SACpB,IAAMP,EAAMF,EAAOH,CAAI,EACvB,GAAI,CAACK,EAAK,SACV,IAAMQ,EAAU5B,EAASe,EAAK,MAC9BzB,EAAG,WAAWsC,EAAQ,OAAO,EAC7BtC,EAAG,UAAUsC,EAAQ,MAAOL,EAAE,OAAQA,EAAE,QAASA,EAAE,OAAQA,EAAE,OAAO,EACpEjC,EAAG,UAAUsC,EAAQ,SAAUJ,EAAM,MAAOA,EAAM,OAAQA,EAAM,IAAK,CAAC,EACtElC,EAAG,UACDsC,EAAQ,MACRb,EAAK,MAAM,GACXA,EAAK,MAAM,GACXA,EAAK,MAAM,GACXA,EAAK,MAAM,EACb,EACA,GAAM,CAACc,EAAIC,EAAIC,EAAIC,GAAMlD,EAAAA,WAAWiC,EAAMS,CAAK,EAC/ClC,EAAG,UAAUsC,EAAQ,OAAQC,EAAIC,EAAIC,EAAIC,CAAE,EAC3CpB,EAAeG,EAAMK,EAAI,OAAQJ,CAAK,EACtCtB,EAAW,yBAAyBJ,EAAG,eAAgB,EAAG,EAAGqC,CAAS,CACxE,CACA,IAAK,GAAM,CAACM,EAAKb,KAAQf,EAClBoB,EAAK,IAAIQ,CAAG,IACf3C,EAAG,aAAa8B,EAAI,MAAM,EAC1Bf,EAAU,OAAO4B,CAAG,EAG1B,EACA,SAAU,CAER,GADA1C,EAAO,oBAAoB,mBAAoBW,CAAU,EACrD,CAACZ,EAAG,cAAc,EAAG,CACvB,IAAK,IAAM8B,KAAOf,EAAU,OAAO,EAAGf,EAAG,aAAa8B,EAAI,MAAM,EAChE,IAAK,IAAMc,KAAK,OAAO,OAAOlC,CAAQ,EAAGV,EAAG,cAAc4C,EAAE,OAAO,EACnE5C,EAAG,aAAaS,CAAO,CACzB,CACAM,EAAU,MAAM,EAChBZ,EAAY,CACd,CACF,CACF"}
@@ -0,0 +1,4 @@
1
+ import { ChartRenderer, RendererLostHandler } from './types.cjs';
2
+ export declare const createWebGlRenderer: (canvas: HTMLCanvasElement, onLost: RendererLostHandler,
3
+ /** Refuses software rendering (SwiftShader, blocklisted GPUs): Canvas2D with decimation is faster there */
4
+ requireHardware?: boolean) => ChartRenderer | null;
@@ -0,0 +1,4 @@
1
+ import { ChartRenderer, RendererLostHandler } from './types.js';
2
+ export declare const createWebGlRenderer: (canvas: HTMLCanvasElement, onLost: RendererLostHandler,
3
+ /** Refuses software rendering (SwiftShader, blocklisted GPUs): Canvas2D with decimation is faster there */
4
+ requireHardware?: boolean) => ChartRenderer | null;