@loom-framework/core 0.1.0-alpha.84 → 0.1.0-alpha.85

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 (302) hide show
  1. package/builtin-skills/antd/SKILL.md +266 -0
  2. package/builtin-skills/antv-g2-chart/SKILL.md +1067 -0
  3. package/builtin-skills/antv-g2-chart/references/animations/g2-animation-intro.md +176 -0
  4. package/builtin-skills/antv-g2-chart/references/animations/g2-animation-keyframe.md +149 -0
  5. package/builtin-skills/antv-g2-chart/references/animations/g2-animation-types.md +253 -0
  6. package/builtin-skills/antv-g2-chart/references/components/g2-comp-annotation.md +237 -0
  7. package/builtin-skills/antv-g2-chart/references/components/g2-comp-axis-config.md +648 -0
  8. package/builtin-skills/antv-g2-chart/references/components/g2-comp-axis-radar.md +219 -0
  9. package/builtin-skills/antv-g2-chart/references/components/g2-comp-label-config.md +174 -0
  10. package/builtin-skills/antv-g2-chart/references/components/g2-comp-legend-category.md +278 -0
  11. package/builtin-skills/antv-g2-chart/references/components/g2-comp-legend-config.md +363 -0
  12. package/builtin-skills/antv-g2-chart/references/components/g2-comp-legend-continuous.md +264 -0
  13. package/builtin-skills/antv-g2-chart/references/components/g2-comp-scrollbar.md +276 -0
  14. package/builtin-skills/antv-g2-chart/references/components/g2-comp-slider.md +333 -0
  15. package/builtin-skills/antv-g2-chart/references/components/g2-comp-title.md +149 -0
  16. package/builtin-skills/antv-g2-chart/references/components/g2-comp-tooltip-config.md +358 -0
  17. package/builtin-skills/antv-g2-chart/references/compositions/g2-comp-facet-circle.md +97 -0
  18. package/builtin-skills/antv-g2-chart/references/compositions/g2-comp-facet-rect.md +241 -0
  19. package/builtin-skills/antv-g2-chart/references/compositions/g2-comp-geo-map.md +210 -0
  20. package/builtin-skills/antv-g2-chart/references/compositions/g2-comp-geoview.md +143 -0
  21. package/builtin-skills/antv-g2-chart/references/compositions/g2-comp-repeat-matrix.md +171 -0
  22. package/builtin-skills/antv-g2-chart/references/compositions/g2-comp-space-flex.md +142 -0
  23. package/builtin-skills/antv-g2-chart/references/compositions/g2-comp-space-layer.md +149 -0
  24. package/builtin-skills/antv-g2-chart/references/compositions/g2-comp-timing-keyframe.md +91 -0
  25. package/builtin-skills/antv-g2-chart/references/compositions/g2-comp-view.md +309 -0
  26. package/builtin-skills/antv-g2-chart/references/concepts/g2-concept-chart-selection.md +235 -0
  27. package/builtin-skills/antv-g2-chart/references/concepts/g2-concept-color-theory.md +287 -0
  28. package/builtin-skills/antv-g2-chart/references/concepts/g2-concept-visual-channels.md +180 -0
  29. package/builtin-skills/antv-g2-chart/references/coordinates/g2-coord-cartesian.md +131 -0
  30. package/builtin-skills/antv-g2-chart/references/coordinates/g2-coord-fisheye.md +131 -0
  31. package/builtin-skills/antv-g2-chart/references/coordinates/g2-coord-helix.md +141 -0
  32. package/builtin-skills/antv-g2-chart/references/coordinates/g2-coord-parallel.md +129 -0
  33. package/builtin-skills/antv-g2-chart/references/coordinates/g2-coord-polar.md +143 -0
  34. package/builtin-skills/antv-g2-chart/references/coordinates/g2-coord-radial.md +214 -0
  35. package/builtin-skills/antv-g2-chart/references/coordinates/g2-coord-theta.md +171 -0
  36. package/builtin-skills/antv-g2-chart/references/coordinates/g2-coord-transpose.md +195 -0
  37. package/builtin-skills/antv-g2-chart/references/core/g2-core-chart-init.md +266 -0
  38. package/builtin-skills/antv-g2-chart/references/core/g2-core-encode-channel.md +197 -0
  39. package/builtin-skills/antv-g2-chart/references/core/g2-core-view-composition.md +224 -0
  40. package/builtin-skills/antv-g2-chart/references/data/g2-data-ema.md +190 -0
  41. package/builtin-skills/antv-g2-chart/references/data/g2-data-fetch.md +167 -0
  42. package/builtin-skills/antv-g2-chart/references/data/g2-data-filter.md +212 -0
  43. package/builtin-skills/antv-g2-chart/references/data/g2-data-fold.md +260 -0
  44. package/builtin-skills/antv-g2-chart/references/data/g2-data-format-tabular.md +280 -0
  45. package/builtin-skills/antv-g2-chart/references/data/g2-data-kde.md +426 -0
  46. package/builtin-skills/antv-g2-chart/references/data/g2-data-log.md +140 -0
  47. package/builtin-skills/antv-g2-chart/references/data/g2-data-slice.md +147 -0
  48. package/builtin-skills/antv-g2-chart/references/data/g2-data-sort.md +251 -0
  49. package/builtin-skills/antv-g2-chart/references/data/g2-data-sortby.md +183 -0
  50. package/builtin-skills/antv-g2-chart/references/data/g2-data-transform-patterns.md +394 -0
  51. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-adaptive-filter.md +118 -0
  52. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-brush-axis.md +112 -0
  53. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-brush-filter.md +122 -0
  54. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-brush-x-y-highlight.md +127 -0
  55. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-brush-xy.md +118 -0
  56. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-brush.md +184 -0
  57. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-brushx-filter.md +170 -0
  58. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-brushx-highlight.md +186 -0
  59. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-brushy-filter.md +170 -0
  60. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-brushy-highlight.md +185 -0
  61. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-chart-index.md +127 -0
  62. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-drilldown.md +149 -0
  63. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-element-highlight-by.md +125 -0
  64. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-element-highlight.md +235 -0
  65. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-element-hover-scale.md +109 -0
  66. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-element-point-move.md +152 -0
  67. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-element-select-by.md +133 -0
  68. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-element-select.md +249 -0
  69. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-fisheye.md +117 -0
  70. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-legend-filter.md +130 -0
  71. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-legend-highlight.md +130 -0
  72. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-poptip.md +105 -0
  73. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-scrollbar-filter.md +144 -0
  74. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-slider-filter.md +231 -0
  75. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-slider-wheel.md +138 -0
  76. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-tooltip.md +192 -0
  77. package/builtin-skills/antv-g2-chart/references/interactions/g2-interaction-treemap-drilldown.md +152 -0
  78. package/builtin-skills/antv-g2-chart/references/label-transform/g2-label-transform-contrast-reverse.md +170 -0
  79. package/builtin-skills/antv-g2-chart/references/label-transform/g2-label-transform-exceed-adjust.md +146 -0
  80. package/builtin-skills/antv-g2-chart/references/label-transform/g2-label-transform-overflow-hide.md +185 -0
  81. package/builtin-skills/antv-g2-chart/references/label-transform/g2-label-transform-overflow-stroke.md +147 -0
  82. package/builtin-skills/antv-g2-chart/references/label-transform/g2-label-transform-overlap-dodge-y.md +225 -0
  83. package/builtin-skills/antv-g2-chart/references/label-transform/g2-label-transform-overlap-hide.md +213 -0
  84. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-arc-diagram.md +196 -0
  85. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-arc-donut.md +148 -0
  86. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-arc-pie.md +212 -0
  87. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-area-basic.md +168 -0
  88. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-area-stacked.md +150 -0
  89. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-beeswarm.md +134 -0
  90. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-bi-directional-bar.md +297 -0
  91. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-box-boxplot.md +163 -0
  92. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-boxplot.md +340 -0
  93. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-bullet.md +203 -0
  94. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-cell-heatmap.md +370 -0
  95. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-chord.md +341 -0
  96. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-connector.md +126 -0
  97. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-contourline.md +243 -0
  98. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-density.md +457 -0
  99. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-distribution-curve.md +298 -0
  100. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-funnel.md +329 -0
  101. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-gantt.md +208 -0
  102. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-gauge.md +247 -0
  103. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-heatmap.md +130 -0
  104. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-histogram.md +186 -0
  105. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-image.md +129 -0
  106. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-interval-basic.md +528 -0
  107. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-interval-grouped.md +161 -0
  108. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-interval-normalized.md +147 -0
  109. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-interval-stacked.md +183 -0
  110. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-k-chart.md +237 -0
  111. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-line-basic.md +353 -0
  112. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-line-multi.md +156 -0
  113. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-linex-liney.md +176 -0
  114. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-link.md +134 -0
  115. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-liquid.md +125 -0
  116. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-mosaic.md +257 -0
  117. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-pack.md +424 -0
  118. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-parallel.md +195 -0
  119. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-partition.md +275 -0
  120. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-path.md +135 -0
  121. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-point-bubble.md +138 -0
  122. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-point-scatter.md +177 -0
  123. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-polygon.md +130 -0
  124. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-radar.md +231 -0
  125. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-radial-bar.md +226 -0
  126. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-range-rangey.md +253 -0
  127. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-rangex.md +293 -0
  128. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-rect.md +115 -0
  129. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-regression-curve.md +276 -0
  130. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-rose.md +182 -0
  131. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-sankey.md +217 -0
  132. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-shape.md +160 -0
  133. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-spiral.md +257 -0
  134. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-sunburst.md +327 -0
  135. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-text.md +309 -0
  136. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-tree.md +235 -0
  137. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-treemap.md +426 -0
  138. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-vector.md +108 -0
  139. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-venn.md +204 -0
  140. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-violin.md +307 -0
  141. package/builtin-skills/antv-g2-chart/references/marks/g2-mark-wordcloud.md +155 -0
  142. package/builtin-skills/antv-g2-chart/references/palette/g2-palette-category10.md +196 -0
  143. package/builtin-skills/antv-g2-chart/references/palette/g2-palette-category20.md +238 -0
  144. package/builtin-skills/antv-g2-chart/references/patterns/g2-pattern-performance.md +181 -0
  145. package/builtin-skills/antv-g2-chart/references/patterns/g2-pattern-responsive.md +232 -0
  146. package/builtin-skills/antv-g2-chart/references/patterns/g2-pattern-v4-to-v5.md +223 -0
  147. package/builtin-skills/antv-g2-chart/references/scales/g2-scale-band.md +127 -0
  148. package/builtin-skills/antv-g2-chart/references/scales/g2-scale-linear.md +259 -0
  149. package/builtin-skills/antv-g2-chart/references/scales/g2-scale-log.md +226 -0
  150. package/builtin-skills/antv-g2-chart/references/scales/g2-scale-ordinal.md +135 -0
  151. package/builtin-skills/antv-g2-chart/references/scales/g2-scale-point.md +242 -0
  152. package/builtin-skills/antv-g2-chart/references/scales/g2-scale-pow-sqrt.md +124 -0
  153. package/builtin-skills/antv-g2-chart/references/scales/g2-scale-quantile-quantize.md +119 -0
  154. package/builtin-skills/antv-g2-chart/references/scales/g2-scale-sequential.md +267 -0
  155. package/builtin-skills/antv-g2-chart/references/scales/g2-scale-threshold.md +133 -0
  156. package/builtin-skills/antv-g2-chart/references/scales/g2-scale-time.md +159 -0
  157. package/builtin-skills/antv-g2-chart/references/themes/g2-theme-builtin.md +192 -0
  158. package/builtin-skills/antv-g2-chart/references/themes/g2-theme-custom.md +183 -0
  159. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-bin.md +153 -0
  160. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-binx.md +133 -0
  161. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-diffy.md +130 -0
  162. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-dodgex.md +90 -0
  163. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-flexx.md +115 -0
  164. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-group.md +233 -0
  165. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-groupcolor.md +182 -0
  166. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-groupx.md +265 -0
  167. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-groupy.md +167 -0
  168. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-jitter.md +149 -0
  169. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-jitterx.md +177 -0
  170. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-jittery.md +177 -0
  171. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-normalizey.md +83 -0
  172. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-pack.md +164 -0
  173. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-sample.md +143 -0
  174. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-select.md +147 -0
  175. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-selectx.md +179 -0
  176. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-selecty.md +179 -0
  177. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-sort-color.md +115 -0
  178. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-sortx.md +285 -0
  179. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-sorty.md +117 -0
  180. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-stack-enter.md +158 -0
  181. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-stacky.md +218 -0
  182. package/builtin-skills/antv-g2-chart/references/transforms/g2-transform-symmetryy.md +122 -0
  183. package/builtin-skills/chart-visualization/SKILL.md +101 -0
  184. package/{templates/loom-skill → builtin-skills/loom}/SKILL.md +20 -9
  185. package/{templates/loom-skill → builtin-skills/loom}/references/README.md +3 -3
  186. package/dist/capability-generator.d.ts +1 -1
  187. package/dist/capability-generator.js +3 -3
  188. package/dist/capability-generator.js.map +1 -1
  189. package/dist/cli/commands/generate-page.d.ts.map +1 -1
  190. package/dist/cli/commands/generate-page.js +1 -163
  191. package/dist/cli/commands/generate-page.js.map +1 -1
  192. package/dist/cli/commands/init.d.ts.map +1 -1
  193. package/dist/cli/commands/init.js +57 -294
  194. package/dist/cli/commands/init.js.map +1 -1
  195. package/dist/cli/generators/capability-generator.d.ts +35 -0
  196. package/dist/cli/generators/capability-generator.d.ts.map +1 -0
  197. package/dist/cli/generators/capability-generator.js +115 -0
  198. package/dist/cli/generators/capability-generator.js.map +1 -0
  199. package/dist/cli/helpers/column-template.d.ts +18 -0
  200. package/dist/cli/helpers/column-template.d.ts.map +1 -0
  201. package/dist/cli/helpers/column-template.js +151 -0
  202. package/dist/cli/helpers/column-template.js.map +1 -0
  203. package/dist/cli/helpers/field-template.d.ts +4 -0
  204. package/dist/cli/helpers/field-template.d.ts.map +1 -1
  205. package/dist/cli/helpers/field-template.js +4 -3
  206. package/dist/cli/helpers/field-template.js.map +1 -1
  207. package/dist/cli/templates/backend-entry.d.ts +5 -0
  208. package/dist/cli/templates/backend-entry.d.ts.map +1 -0
  209. package/dist/cli/templates/backend-entry.js +17 -0
  210. package/dist/cli/templates/backend-entry.js.map +1 -0
  211. package/dist/cli/templates/frontend-entry.d.ts +11 -0
  212. package/dist/cli/templates/frontend-entry.d.ts.map +1 -0
  213. package/dist/cli/templates/frontend-entry.js +77 -0
  214. package/dist/cli/templates/frontend-entry.js.map +1 -0
  215. package/dist/cli/templates/gitignore.d.ts +5 -0
  216. package/dist/cli/templates/gitignore.d.ts.map +1 -0
  217. package/dist/cli/templates/gitignore.js +13 -0
  218. package/dist/cli/templates/gitignore.js.map +1 -0
  219. package/dist/cli/templates/index.d.ts +12 -0
  220. package/dist/cli/templates/index.d.ts.map +1 -0
  221. package/dist/cli/templates/index.js +12 -0
  222. package/dist/cli/templates/index.js.map +1 -0
  223. package/dist/cli/templates/loom-config.d.ts +10 -0
  224. package/dist/cli/templates/loom-config.d.ts.map +1 -0
  225. package/dist/cli/templates/loom-config.js +31 -0
  226. package/dist/cli/templates/loom-config.js.map +1 -0
  227. package/dist/cli/templates/package-json.d.ts +9 -0
  228. package/dist/cli/templates/package-json.d.ts.map +1 -0
  229. package/dist/cli/templates/package-json.js +39 -0
  230. package/dist/cli/templates/package-json.js.map +1 -0
  231. package/dist/cli/templates/readme.d.ts +9 -0
  232. package/dist/cli/templates/readme.d.ts.map +1 -0
  233. package/dist/cli/templates/readme.js +47 -0
  234. package/dist/cli/templates/readme.js.map +1 -0
  235. package/dist/cli/templates/tsconfig.d.ts +6 -0
  236. package/dist/cli/templates/tsconfig.d.ts.map +1 -0
  237. package/dist/cli/templates/tsconfig.js +41 -0
  238. package/dist/cli/templates/tsconfig.js.map +1 -0
  239. package/dist/cli/templates/vite-config.d.ts +5 -0
  240. package/dist/cli/templates/vite-config.d.ts.map +1 -0
  241. package/dist/cli/templates/vite-config.js +24 -0
  242. package/dist/cli/templates/vite-config.js.map +1 -0
  243. package/dist/commands.d.ts +1 -5
  244. package/dist/commands.d.ts.map +1 -1
  245. package/dist/commands.js +0 -11
  246. package/dist/commands.js.map +1 -1
  247. package/dist/config.d.ts +15 -122
  248. package/dist/config.d.ts.map +1 -1
  249. package/dist/config.js +2 -52
  250. package/dist/config.js.map +1 -1
  251. package/dist/dashboard-config.d.ts +117 -0
  252. package/dist/dashboard-config.d.ts.map +1 -0
  253. package/dist/dashboard-config.js +59 -0
  254. package/dist/dashboard-config.js.map +1 -0
  255. package/dist/index.d.ts +2 -2
  256. package/dist/index.d.ts.map +1 -1
  257. package/dist/index.js +1 -1
  258. package/dist/index.js.map +1 -1
  259. package/dist/server-bin.js +30 -62
  260. package/dist/server-bin.js.map +1 -1
  261. package/dist/types/adapter.d.ts +28 -0
  262. package/dist/types/adapter.d.ts.map +1 -0
  263. package/dist/types/adapter.js +5 -0
  264. package/dist/types/adapter.js.map +1 -0
  265. package/dist/types/ai.d.ts +52 -0
  266. package/dist/types/ai.d.ts.map +1 -0
  267. package/dist/types/ai.js +5 -0
  268. package/dist/types/ai.js.map +1 -0
  269. package/dist/types/chat.d.ts +46 -0
  270. package/dist/types/chat.d.ts.map +1 -0
  271. package/dist/types/chat.js +5 -0
  272. package/dist/types/chat.js.map +1 -0
  273. package/dist/types/command.d.ts +25 -0
  274. package/dist/types/command.d.ts.map +1 -0
  275. package/dist/types/command.js +5 -0
  276. package/dist/types/command.js.map +1 -0
  277. package/dist/types/config.d.ts +30 -0
  278. package/dist/types/config.d.ts.map +1 -0
  279. package/dist/types/config.js +5 -0
  280. package/dist/types/config.js.map +1 -0
  281. package/dist/types/dashboard.d.ts +42 -0
  282. package/dist/types/dashboard.d.ts.map +1 -0
  283. package/dist/types/dashboard.js +5 -0
  284. package/dist/types/dashboard.js.map +1 -0
  285. package/dist/types/index.d.ts +14 -0
  286. package/dist/types/index.d.ts.map +1 -0
  287. package/dist/types/index.js +8 -0
  288. package/dist/types/index.js.map +1 -0
  289. package/dist/types/model.d.ts +59 -0
  290. package/dist/types/model.d.ts.map +1 -0
  291. package/dist/types/model.js +5 -0
  292. package/dist/types/model.js.map +1 -0
  293. package/dist/types.d.ts +4 -250
  294. package/dist/types.d.ts.map +1 -1
  295. package/dist/types.js +4 -3
  296. package/dist/types.js.map +1 -1
  297. package/package.json +2 -2
  298. /package/{templates → builtin-skills}/app-skill/SKILL.md +0 -0
  299. /package/{templates → builtin-skills}/app-skill/references/data-semantics.md +0 -0
  300. /package/{templates → builtin-skills}/app-skill/references/models.md +0 -0
  301. /package/{templates/loom-skill → builtin-skills/loom}/references/dashboard.md +0 -0
  302. /package/{templates/loom-skill → builtin-skills/loom}/references/data-model.md +0 -0
@@ -0,0 +1,148 @@
1
+ ---
2
+ id: "g2-mark-arc-donut"
3
+ title: "G2 环形图(Donut Chart)"
4
+ description: |
5
+ 在饼图基础上通过设置 coordinate.innerRadius 创建环形图(甜甜圈图),
6
+ 中间空白区域可放置汇总数字或说明文字,在保留占比展示的同时减少视觉重量。
7
+
8
+ library: "g2"
9
+ version: "5.x"
10
+ category: "marks"
11
+ subcategory: "arc"
12
+ tags:
13
+ - "环形图"
14
+ - "甜甜圈"
15
+ - "donut"
16
+ - "innerRadius"
17
+ - "占比"
18
+ - "饼图变体"
19
+ - "spec"
20
+
21
+ related:
22
+ - "g2-mark-arc-pie"
23
+ - "g2-transform-stacky"
24
+
25
+ use_cases:
26
+ - "展示各类别占比,中心区域显示汇总数据"
27
+ - "比饼图更现代的占比展示方式"
28
+ - "KPI 卡片中的占比环"
29
+
30
+ difficulty: "beginner"
31
+ completeness: "full"
32
+ created: "2024-01-01"
33
+ updated: "2025-03-01"
34
+ author: "antv-team"
35
+ source_url: "https://g2.antv.antgroup.com/examples/general/donut"
36
+ ---
37
+
38
+ ## 最小可运行示例
39
+
40
+ ```javascript
41
+ import { Chart } from '@antv/g2';
42
+
43
+ const chart = new Chart({
44
+ container: 'container',
45
+ width: 480,
46
+ height: 480,
47
+ });
48
+
49
+ chart.options({
50
+ type: 'interval',
51
+ data: [
52
+ { type: '分类一', value: 27 },
53
+ { type: '分类二', value: 25 },
54
+ { type: '分类三', value: 18 },
55
+ { type: '分类四', value: 15 },
56
+ { type: '其他', value: 15 },
57
+ ],
58
+ encode: { y: 'value', color: 'type' },
59
+ transform: [{ type: 'stackY' }],
60
+ coordinate: {
61
+ type: 'theta',
62
+ outerRadius: 0.8,
63
+ innerRadius: 0.5, // 关键:设置内径产生空心效果
64
+ },
65
+ });
66
+
67
+ chart.render();
68
+ ```
69
+
70
+ ## 带中心文字的环形图
71
+
72
+ ```javascript
73
+ import { Chart } from '@antv/g2';
74
+
75
+ const data = [
76
+ { type: '已完成', value: 75 },
77
+ { type: '未完成', value: 25 },
78
+ ];
79
+ const total = data.reduce((s, d) => s + d.value, 0);
80
+
81
+ const chart = new Chart({ container: 'container', width: 400, height: 400 });
82
+
83
+ chart.options({
84
+ type: 'view',
85
+ children: [
86
+ {
87
+ type: 'interval',
88
+ data,
89
+ encode: { y: 'value', color: 'type' },
90
+ transform: [{ type: 'stackY' }],
91
+ coordinate: { type: 'theta', outerRadius: 0.85, innerRadius: 0.6 },
92
+ scale: {
93
+ color: { range: ['#1890ff', '#f0f0f0'] },
94
+ },
95
+ legend: false,
96
+ },
97
+ {
98
+ // 中心文字用 text mark 在极坐标中心绘制
99
+ type: 'text',
100
+ [{ value: data[0].value }],
101
+ encode: { text: (d) => `${d.value}%` },
102
+ style: {
103
+ x: '50%', y: '50%',
104
+ textAlign: 'center',
105
+ fontSize: 32,
106
+ fontWeight: 'bold',
107
+ fill: '#1890ff',
108
+ },
109
+ },
110
+ ],
111
+ });
112
+
113
+ chart.render();
114
+ ```
115
+
116
+ ## 带外部标签的环形图
117
+
118
+ ```javascript
119
+ chart.options({
120
+ type: 'interval',
121
+ data,
122
+ encode: { y: 'value', color: 'type' },
123
+ transform: [{ type: 'stackY' }],
124
+ coordinate: { type: 'theta', outerRadius: 0.8, innerRadius: 0.5 },
125
+ labels: [
126
+ {
127
+ text: (d) => `${d.type}: ${d.value}`,
128
+ position: 'outside',
129
+ connector: true,
130
+ },
131
+ ],
132
+ });
133
+ ```
134
+
135
+ ## 常见错误与修正
136
+
137
+ ### 错误:innerRadius 大于 outerRadius
138
+ ```javascript
139
+ // ❌ 错误:内径大于外径,圆环消失
140
+ chart.options({
141
+ coordinate: { type: 'theta', outerRadius: 0.5, innerRadius: 0.8 },
142
+ });
143
+
144
+ // ✅ 正确:innerRadius < outerRadius,推荐比例 0.5-0.7
145
+ chart.options({
146
+ coordinate: { type: 'theta', outerRadius: 0.8, innerRadius: 0.5 },
147
+ });
148
+ ```
@@ -0,0 +1,212 @@
1
+ ---
2
+ id: "g2-mark-arc-pie"
3
+ title: "G2 饼图(Interval + theta 坐标系)"
4
+ description: |
5
+ 使用 Interval Mark 配合 theta 坐标系和 stackY 变换创建饼图,
6
+ 展示各部分在整体中的占比关系。本文采用 Spec 模式(chart.options({}))。
7
+
8
+ library: "g2"
9
+ version: "5.x"
10
+ category: "marks"
11
+ subcategory: "arc"
12
+ tags:
13
+ - "饼图"
14
+ - "pie chart"
15
+ - "占比"
16
+ - "比例"
17
+ - "theta坐标系"
18
+ - "stackY"
19
+ - "spec"
20
+
21
+ related:
22
+ - "g2-mark-arc-donut"
23
+ - "g2-core-chart-init"
24
+ - "g2-transform-stacky"
25
+ - "g2-interaction-tooltip"
26
+
27
+ use_cases:
28
+ - "展示各类别占总量的比例"
29
+ - "显示市场份额分布"
30
+ - "可视化资源分配比例"
31
+
32
+ anti_patterns:
33
+ - "类别超过 6-7 个时饼图难以阅读,改用柱状图"
34
+ - "需要精确比较数值时不适用(人眼对角度判断不准确)"
35
+ - "有零值或负值时饼图无意义"
36
+
37
+ difficulty: "beginner"
38
+ completeness: "full"
39
+ created: "2024-01-01"
40
+ updated: "2025-03-01"
41
+ author: "antv-team"
42
+ source_url: "https://g2.antv.antgroup.com/examples/general/pie"
43
+ ---
44
+
45
+ ## 核心概念
46
+
47
+ G2 v5 饼图的 Spec 结构:
48
+ - `coordinate: { type: 'theta' }` — 将直角坐标转换为圆形角度坐标
49
+ - `transform: [{ type: 'stackY' }]` — 将各分类数值累积为角度区间(**必须**)
50
+ - `encode.y` — 映射数值字段(角度大小)
51
+ - `encode.color` — 映射分类字段(扇区颜色)
52
+
53
+ ## 最小可运行示例
54
+
55
+ ```javascript
56
+ import { Chart } from '@antv/g2';
57
+
58
+ const chart = new Chart({
59
+ container: 'container',
60
+ width: 640,
61
+ height: 480,
62
+ });
63
+
64
+ chart.options({
65
+ type: 'interval',
66
+ data: [
67
+ { type: '分类一', value: 27 },
68
+ { type: '分类二', value: 25 },
69
+ { type: '分类三', value: 18 },
70
+ { type: '分类四', value: 15 },
71
+ { type: '分类五', value: 10 },
72
+ { type: '其他', value: 5 },
73
+ ],
74
+ encode: {
75
+ y: 'value', // 映射数值字段(决定扇区角度大小)
76
+ color: 'type', // 映射分类字段(决定扇区颜色)
77
+ },
78
+ transform: [{ type: 'stackY' }], // 必须:将 y 值转换为角度区间
79
+ coordinate: { type: 'theta', outerRadius: 0.8 },
80
+ legend: {
81
+ color: { position: 'bottom', layout: { justifyContent: 'center' } },
82
+ },
83
+ labels: [
84
+ {
85
+ text: (d) => `${d.type}\n${d.value}`,
86
+ position: 'outside',
87
+ connector: true,
88
+ },
89
+ ],
90
+ });
91
+
92
+ chart.render();
93
+ ```
94
+
95
+ ## 带百分比标签的饼图
96
+
97
+ ```javascript
98
+ import { Chart } from '@antv/g2';
99
+
100
+ const data = [
101
+ { type: '分类一', value: 27 },
102
+ { type: '分类二', value: 25 },
103
+ { type: '分类三', value: 18 },
104
+ { type: '分类四', value: 15 },
105
+ { type: '其他', value: 15 },
106
+ ];
107
+ const total = data.reduce((sum, d) => sum + d.value, 0);
108
+
109
+ const chart = new Chart({ container: 'container', width: 600, height: 480 });
110
+
111
+ chart.options({
112
+ type: 'interval',
113
+ data,
114
+ encode: { y: 'value', color: 'type' },
115
+ transform: [{ type: 'stackY' }],
116
+ coordinate: { type: 'theta', outerRadius: 0.8 },
117
+ labels: [
118
+ {
119
+ text: (d) => `${((d.value / total) * 100).toFixed(1)}%`,
120
+ position: 'inside',
121
+ style: { fill: 'white', fontSize: 12, fontWeight: 'bold' },
122
+ },
123
+ ],
124
+ });
125
+
126
+ chart.render();
127
+ ```
128
+
129
+ ## 环形图(Donut)
130
+
131
+ ```javascript
132
+ chart.options({
133
+ type: 'interval',
134
+ data,
135
+ encode: { y: 'value', color: 'type' },
136
+ transform: [{ type: 'stackY' }],
137
+ coordinate: {
138
+ type: 'theta',
139
+ outerRadius: 0.8,
140
+ innerRadius: 0.5, // 设置内径即为环形图
141
+ },
142
+ });
143
+ ```
144
+
145
+ ## 玫瑰图(极坐标柱状图)
146
+
147
+ ```javascript
148
+ // 极坐标下每个扇区角度相同,半径由数值决定
149
+ chart.options({
150
+ type: 'interval',
151
+ data,
152
+ encode: { x: 'type', y: 'value', color: 'type' },
153
+ coordinate: { type: 'polar' }, // 注意:玫瑰图用 polar,不用 theta
154
+ });
155
+ ```
156
+
157
+ ## 常见错误与修正
158
+
159
+ ### 错误 1:忘记 transform stackY
160
+ ```javascript
161
+ // ❌ 错误:没有 stackY,所有扇形从 0 开始角度,完全重叠
162
+ chart.options({
163
+ type: 'interval',
164
+ data,
165
+ encode: { y: 'value', color: 'type' },
166
+ coordinate: { type: 'theta' },
167
+ // 缺少 transform!
168
+ });
169
+
170
+ // ✅ 正确:必须声明 stackY
171
+ chart.options({
172
+ type: 'interval',
173
+ data,
174
+ encode: { y: 'value', color: 'type' },
175
+ transform: [{ type: 'stackY' }], // 必须!
176
+ coordinate: { type: 'theta' },
177
+ });
178
+ ```
179
+
180
+ ### 错误 2:饼图误用 x 通道
181
+ ```javascript
182
+ // ❌ 错误:theta 坐标系中 x 通道无效,不要在饼图中 encode.x
183
+ chart.options({
184
+ type: 'interval',
185
+ encode: { x: 'type', y: 'value' }, // x 在 theta 下没有意义
186
+ coordinate: { type: 'theta' },
187
+ });
188
+
189
+ // ✅ 正确:饼图只需 encode.y(数值)和 encode.color(分类)
190
+ chart.options({
191
+ type: 'interval',
192
+ encode: { y: 'value', color: 'type' },
193
+ transform: [{ type: 'stackY' }],
194
+ coordinate: { type: 'theta' },
195
+ });
196
+ ```
197
+
198
+ ### 错误 3:G2 v4 饼图写法
199
+ ```javascript
200
+ // ❌ 错误(G2 v4 写法)
201
+ chart.coord('theta', { radius: 0.75 });
202
+ chart.interval().position('value').color('type');
203
+
204
+ // ✅ 正确(G2 v5 Spec 写法)
205
+ chart.options({
206
+ type: 'interval',
207
+ data,
208
+ encode: { y: 'value', color: 'type' },
209
+ transform: [{ type: 'stackY' }],
210
+ coordinate: { type: 'theta', outerRadius: 0.8 },
211
+ });
212
+ ```
@@ -0,0 +1,168 @@
1
+ ---
2
+ id: "g2-mark-area-basic"
3
+ title: "G2 基础面积图(Area Mark)"
4
+ description: |
5
+ 使用 Area Mark 创建面积图,在折线图的基础上填充线下方区域,
6
+ 强调数据的量级和趋势。本文采用 Spec 模式,涵盖单系列、渐变填充等用法。
7
+
8
+ library: "g2"
9
+ version: "5.x"
10
+ category: "marks"
11
+ subcategory: "area"
12
+ tags:
13
+ - "面积图"
14
+ - "Area"
15
+ - "area chart"
16
+ - "趋势"
17
+ - "量级"
18
+ - "填充"
19
+ - "spec"
20
+
21
+ related:
22
+ - "g2-mark-line-basic"
23
+ - "g2-mark-area-stacked"
24
+ - "g2-core-encode-channel"
25
+
26
+ use_cases:
27
+ - "展示数值随时间的变化趋势,同时强调量级"
28
+ - "叠加折线时作为背景填充"
29
+ - "对比多个系列的总量分布"
30
+
31
+ anti_patterns:
32
+ - "多系列面积图(无堆叠)时各系列互相遮挡,改用堆叠面积图或折线图"
33
+
34
+ difficulty: "beginner"
35
+ completeness: "full"
36
+ created: "2024-01-01"
37
+ updated: "2025-03-01"
38
+ author: "antv-team"
39
+ source_url: "https://g2.antv.antgroup.com/examples/area/basic"
40
+ ---
41
+
42
+ ## 最小可运行示例
43
+
44
+ ```javascript
45
+ import { Chart } from '@antv/g2';
46
+
47
+ const chart = new Chart({
48
+ container: 'container',
49
+ width: 640,
50
+ height: 480,
51
+ });
52
+
53
+ chart.options({
54
+ type: 'area',
55
+ data: [
56
+ { month: 'Jan', value: 33 },
57
+ { month: 'Feb', value: 78 },
58
+ { month: 'Mar', value: 56 },
59
+ { month: 'Apr', value: 91 },
60
+ { month: 'May', value: 67 },
61
+ { month: 'Jun', value: 45 },
62
+ ],
63
+ encode: { x: 'month', y: 'value' },
64
+ });
65
+
66
+ chart.render();
67
+ ```
68
+
69
+ ## 渐变填充面积图
70
+
71
+ ```javascript
72
+ chart.options({
73
+ type: 'area',
74
+ data,
75
+ encode: { x: 'month', y: 'value' },
76
+ style: {
77
+ fill: 'linear-gradient(180deg, #1890ff 0%, rgba(24,144,255,0.1) 100%)',
78
+ fillOpacity: 0.8,
79
+ },
80
+ });
81
+ ```
82
+
83
+ ## 面积图 + 折线(叠加)
84
+
85
+ ```javascript
86
+ // 面积提供背景量感,折线提供精确走势
87
+ chart.options({
88
+ type: 'view',
89
+ data,
90
+ children: [
91
+ {
92
+ type: 'area',
93
+ encode: { x: 'month', y: 'value' },
94
+ style: { fillOpacity: 0.2, fill: '#1890ff' },
95
+ },
96
+ {
97
+ type: 'line',
98
+ encode: { x: 'month', y: 'value' },
99
+ style: { stroke: '#1890ff', lineWidth: 2 },
100
+ },
101
+ {
102
+ type: 'point',
103
+ encode: { x: 'month', y: 'value', shape: 'circle' },
104
+ style: { fill: '#1890ff', r: 4 },
105
+ },
106
+ ],
107
+ });
108
+ ```
109
+
110
+ ## 平滑曲线面积图
111
+
112
+ ```javascript
113
+ chart.options({
114
+ type: 'area',
115
+ data,
116
+ encode: {
117
+ x: 'month',
118
+ y: 'value',
119
+ shape: 'smooth', // 平滑插值
120
+ },
121
+ style: { fillOpacity: 0.6 },
122
+ });
123
+ ```
124
+
125
+ ## 时间序列面积图
126
+
127
+ ```javascript
128
+ chart.options({
129
+ type: 'area',
130
+ data: [
131
+ { date: new Date('2024-01'), value: 100 },
132
+ { date: new Date('2024-02'), value: 130 },
133
+ { date: new Date('2024-03'), value: 90 },
134
+ { date: new Date('2024-04'), value: 160 },
135
+ { date: new Date('2024-05'), value: 145 },
136
+ ],
137
+ encode: { x: 'date', y: 'value' },
138
+ axis: {
139
+ x: { labelFormatter: 'YYYY-MM' },
140
+ },
141
+ });
142
+ ```
143
+
144
+ ## 常见错误与修正
145
+
146
+ ### 错误:多系列面积图不加 stackY 导致互相遮挡
147
+ ```javascript
148
+ // ❌ 问题:多系列面积相互覆盖,后面的系列遮挡前面的
149
+ chart.options({
150
+ type: 'area',
151
+ data: multiSeriesData,
152
+ encode: { x: 'month', y: 'value', color: 'type' },
153
+ // 没有 stackY,各系列从 y=0 开始叠加,互相遮盖
154
+ });
155
+
156
+ // ✅ 方案 1:堆叠面积图(见 g2-mark-area-stacked)
157
+ chart.options({
158
+ type: 'area',
159
+ encode: { x: 'month', y: 'value', color: 'type' },
160
+ transform: [{ type: 'stackY' }],
161
+ });
162
+
163
+ // ✅ 方案 2:改用折线图对比多系列
164
+ chart.options({
165
+ type: 'line',
166
+ encode: { x: 'month', y: 'value', color: 'type' },
167
+ });
168
+ ```
@@ -0,0 +1,150 @@
1
+ ---
2
+ id: "g2-mark-area-stacked"
3
+ title: "G2 堆叠面积图"
4
+ description: |
5
+ 使用 Area Mark 配合 stackY Transform 创建堆叠面积图,
6
+ 同时展示各系列的变化趋势和总量的积累效果,各系列的面积从上一个系列顶端开始填充。
7
+
8
+ library: "g2"
9
+ version: "5.x"
10
+ category: "marks"
11
+ subcategory: "area"
12
+ tags:
13
+ - "堆叠面积图"
14
+ - "stacked area"
15
+ - "stackY"
16
+ - "多系列"
17
+ - "趋势"
18
+ - "总量"
19
+ - "spec"
20
+
21
+ related:
22
+ - "g2-mark-area-basic"
23
+ - "g2-transform-stacky"
24
+ - "g2-mark-interval-stacked"
25
+
26
+ use_cases:
27
+ - "展示多个系列的总量随时间的变化"
28
+ - "同时关注各系列趋势和总体规模"
29
+ - "流量来源、收入构成等场景"
30
+
31
+ anti_patterns:
32
+ - "系列超过 5 个时颜色难以区分"
33
+ - "需要精确对比单个系列的变化时(基准线不统一),改用折线图"
34
+
35
+ difficulty: "beginner"
36
+ completeness: "full"
37
+ created: "2024-01-01"
38
+ updated: "2025-03-01"
39
+ author: "antv-team"
40
+ source_url: "https://g2.antv.antgroup.com/examples/area/stacked"
41
+ ---
42
+
43
+ ## 最小可运行示例
44
+
45
+ ```javascript
46
+ import { Chart } from '@antv/g2';
47
+
48
+ const chart = new Chart({
49
+ container: 'container',
50
+ width: 640,
51
+ height: 480,
52
+ });
53
+
54
+ chart.options({
55
+ type: 'area',
56
+ data: [
57
+ { month: 'Jan', type: 'A', value: 100 },
58
+ { month: 'Jan', type: 'B', value: 200 },
59
+ { month: 'Jan', type: 'C', value: 150 },
60
+ { month: 'Feb', type: 'A', value: 120 },
61
+ { month: 'Feb', type: 'B', value: 180 },
62
+ { month: 'Feb', type: 'C', value: 160 },
63
+ { month: 'Mar', type: 'A', value: 90 },
64
+ { month: 'Mar', type: 'B', value: 220 },
65
+ { month: 'Mar', type: 'C', value: 130 },
66
+ ],
67
+ encode: { x: 'month', y: 'value', color: 'type' },
68
+ transform: [{ type: 'stackY' }],
69
+ });
70
+
71
+ chart.render();
72
+ ```
73
+
74
+ ## 平滑堆叠面积图
75
+
76
+ ```javascript
77
+ chart.options({
78
+ type: 'area',
79
+ data,
80
+ encode: {
81
+ x: 'month',
82
+ y: 'value',
83
+ color: 'type',
84
+ shape: 'smooth',
85
+ },
86
+ transform: [{ type: 'stackY' }],
87
+ style: { fillOpacity: 0.85 },
88
+ });
89
+ ```
90
+
91
+ ## 堆叠面积 + 折线描边
92
+
93
+ ```javascript
94
+ chart.options({
95
+ type: 'view',
96
+ data,
97
+ children: [
98
+ {
99
+ type: 'area',
100
+ encode: { x: 'month', y: 'value', color: 'type' },
101
+ transform: [{ type: 'stackY' }],
102
+ style: { fillOpacity: 0.7 },
103
+ },
104
+ {
105
+ type: 'line',
106
+ encode: { x: 'month', y: 'value', color: 'type', series: 'type' },
107
+ transform: [{ type: 'stackY' }],
108
+ style: { lineWidth: 1.5 },
109
+ },
110
+ ],
111
+ });
112
+ ```
113
+
114
+ ## 百分比堆叠面积图
115
+
116
+ ```javascript
117
+ chart.options({
118
+ type: 'area',
119
+ data,
120
+ encode: { x: 'month', y: 'value', color: 'type' },
121
+ transform: [
122
+ { type: 'stackY' },
123
+ { type: 'normalizeY' },
124
+ ],
125
+ axis: {
126
+ y: { labelFormatter: (v) => `${(v * 100).toFixed(0)}%` },
127
+ },
128
+ });
129
+ ```
130
+
131
+ ## 常见错误与修正
132
+
133
+ ### 错误:忘记 stackY 导致系列互相遮挡
134
+ ```javascript
135
+ // ❌ 错误:各系列面积都从 y=0 起,相互覆盖
136
+ chart.options({
137
+ type: 'area',
138
+ data,
139
+ encode: { x: 'month', y: 'value', color: 'type' },
140
+ // 没有 transform!
141
+ });
142
+
143
+ // ✅ 正确
144
+ chart.options({
145
+ type: 'area',
146
+ data,
147
+ encode: { x: 'month', y: 'value', color: 'type' },
148
+ transform: [{ type: 'stackY' }],
149
+ });
150
+ ```