@loom-framework/core 0.1.0-alpha.9 → 0.1.0-alpha.90

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 (447) 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/app-skill/SKILL.md +27 -0
  184. package/builtin-skills/app-skill/references/data-semantics.md +44 -0
  185. package/builtin-skills/app-skill/references/models.md +31 -0
  186. package/builtin-skills/chart-visualization/SKILL.md +101 -0
  187. package/builtin-skills/loom/SKILL.md +168 -0
  188. package/builtin-skills/loom/references/README.md +128 -0
  189. package/builtin-skills/loom/references/dashboard.md +196 -0
  190. package/builtin-skills/loom/references/data-model.md +78 -0
  191. package/dist/adapter-base.d.ts +29 -0
  192. package/dist/adapter-base.d.ts.map +1 -0
  193. package/dist/adapter-base.js +62 -0
  194. package/dist/adapter-base.js.map +1 -0
  195. package/dist/adapter-factory.d.ts +8 -0
  196. package/dist/adapter-factory.d.ts.map +1 -0
  197. package/dist/adapter-factory.js +25 -0
  198. package/dist/adapter-factory.js.map +1 -0
  199. package/dist/adapter-filesystem.d.ts +6 -11
  200. package/dist/adapter-filesystem.d.ts.map +1 -1
  201. package/dist/adapter-filesystem.js +56 -41
  202. package/dist/adapter-filesystem.js.map +1 -1
  203. package/dist/adapter-sqlite.d.ts +6 -23
  204. package/dist/adapter-sqlite.d.ts.map +1 -1
  205. package/dist/adapter-sqlite.js +65 -50
  206. package/dist/adapter-sqlite.js.map +1 -1
  207. package/dist/backend/ai/button-resolver.d.ts +18 -0
  208. package/dist/backend/ai/button-resolver.d.ts.map +1 -0
  209. package/dist/backend/ai/button-resolver.js +58 -0
  210. package/dist/backend/ai/button-resolver.js.map +1 -0
  211. package/dist/backend/ai/engine.d.ts +52 -0
  212. package/dist/backend/ai/engine.d.ts.map +1 -0
  213. package/dist/backend/ai/engine.js +186 -0
  214. package/dist/backend/ai/engine.js.map +1 -0
  215. package/dist/backend/ai/index.d.ts +11 -0
  216. package/dist/backend/ai/index.d.ts.map +1 -0
  217. package/dist/backend/ai/index.js +8 -0
  218. package/dist/backend/ai/index.js.map +1 -0
  219. package/dist/backend/ai/output-parser.d.ts +29 -0
  220. package/dist/backend/ai/output-parser.d.ts.map +1 -0
  221. package/dist/backend/ai/output-parser.js +247 -0
  222. package/dist/backend/ai/output-parser.js.map +1 -0
  223. package/dist/backend/ai/session-manager.d.ts +103 -0
  224. package/dist/backend/ai/session-manager.d.ts.map +1 -0
  225. package/dist/backend/ai/session-manager.js +298 -0
  226. package/dist/backend/ai/session-manager.js.map +1 -0
  227. package/dist/backend/index.d.ts +61 -0
  228. package/dist/backend/index.d.ts.map +1 -0
  229. package/dist/backend/index.js +161 -0
  230. package/dist/backend/index.js.map +1 -0
  231. package/dist/backend/observe/index.d.ts +6 -0
  232. package/dist/backend/observe/index.d.ts.map +1 -0
  233. package/dist/backend/observe/index.js +5 -0
  234. package/dist/backend/observe/index.js.map +1 -0
  235. package/dist/backend/observe/logger.d.ts +28 -0
  236. package/dist/backend/observe/logger.d.ts.map +1 -0
  237. package/dist/backend/observe/logger.js +80 -0
  238. package/dist/backend/observe/logger.js.map +1 -0
  239. package/dist/backend/observe/types.d.ts +26 -0
  240. package/dist/backend/observe/types.d.ts.map +1 -0
  241. package/dist/backend/observe/types.js +7 -0
  242. package/dist/backend/observe/types.js.map +1 -0
  243. package/dist/backend/routes/chat.d.ts +31 -0
  244. package/dist/backend/routes/chat.d.ts.map +1 -0
  245. package/dist/backend/routes/chat.js +426 -0
  246. package/dist/backend/routes/chat.js.map +1 -0
  247. package/dist/backend/routes/data.d.ts +13 -0
  248. package/dist/backend/routes/data.d.ts.map +1 -0
  249. package/dist/backend/routes/data.js +134 -0
  250. package/dist/backend/routes/data.js.map +1 -0
  251. package/dist/backend/routes/health.d.ts +7 -0
  252. package/dist/backend/routes/health.d.ts.map +1 -0
  253. package/dist/backend/routes/health.js +15 -0
  254. package/dist/backend/routes/health.js.map +1 -0
  255. package/dist/backend/routes/index.d.ts +11 -0
  256. package/dist/backend/routes/index.d.ts.map +1 -0
  257. package/dist/backend/routes/index.js +9 -0
  258. package/dist/backend/routes/index.js.map +1 -0
  259. package/dist/backend/routes/skills.d.ts +16 -0
  260. package/dist/backend/routes/skills.d.ts.map +1 -0
  261. package/dist/backend/routes/skills.js +590 -0
  262. package/dist/backend/routes/skills.js.map +1 -0
  263. package/dist/backend/routes/upload.d.ts +24 -0
  264. package/dist/backend/routes/upload.d.ts.map +1 -0
  265. package/dist/backend/routes/upload.js +67 -0
  266. package/dist/backend/routes/upload.js.map +1 -0
  267. package/dist/bin.d.ts +8 -0
  268. package/dist/bin.d.ts.map +1 -0
  269. package/dist/bin.js +12 -0
  270. package/dist/bin.js.map +1 -0
  271. package/dist/capability-generator.d.ts +21 -6
  272. package/dist/capability-generator.d.ts.map +1 -1
  273. package/dist/capability-generator.js +88 -261
  274. package/dist/capability-generator.js.map +1 -1
  275. package/dist/cli/commands/build.d.ts +11 -0
  276. package/dist/cli/commands/build.d.ts.map +1 -0
  277. package/dist/cli/commands/build.js +170 -0
  278. package/dist/cli/commands/build.js.map +1 -0
  279. package/dist/cli/commands/data.d.ts +12 -0
  280. package/dist/cli/commands/data.d.ts.map +1 -0
  281. package/dist/cli/commands/data.js +158 -0
  282. package/dist/cli/commands/data.js.map +1 -0
  283. package/dist/cli/commands/dev.d.ts +9 -0
  284. package/dist/cli/commands/dev.d.ts.map +1 -0
  285. package/dist/cli/commands/dev.js +114 -0
  286. package/dist/cli/commands/dev.js.map +1 -0
  287. package/dist/cli/commands/generate-capabilities.d.ts +8 -0
  288. package/dist/cli/commands/generate-capabilities.d.ts.map +1 -0
  289. package/dist/cli/commands/generate-capabilities.js +40 -0
  290. package/dist/cli/commands/generate-capabilities.js.map +1 -0
  291. package/dist/cli/commands/generate-cli-command.d.ts +8 -0
  292. package/dist/cli/commands/generate-cli-command.d.ts.map +1 -0
  293. package/dist/cli/commands/generate-cli-command.js +64 -0
  294. package/dist/cli/commands/generate-cli-command.js.map +1 -0
  295. package/dist/cli/commands/generate-dashboard.d.ts +9 -0
  296. package/dist/cli/commands/generate-dashboard.d.ts.map +1 -0
  297. package/dist/cli/commands/generate-dashboard.js +466 -0
  298. package/dist/cli/commands/generate-dashboard.js.map +1 -0
  299. package/dist/cli/commands/generate-page.d.ts +9 -0
  300. package/dist/cli/commands/generate-page.d.ts.map +1 -0
  301. package/dist/cli/commands/generate-page.js +356 -0
  302. package/dist/cli/commands/generate-page.js.map +1 -0
  303. package/dist/cli/commands/generate-skill.d.ts +8 -0
  304. package/dist/cli/commands/generate-skill.d.ts.map +1 -0
  305. package/dist/cli/commands/generate-skill.js +75 -0
  306. package/dist/cli/commands/generate-skill.js.map +1 -0
  307. package/dist/cli/commands/generate.d.ts +6 -0
  308. package/dist/cli/commands/generate.d.ts.map +1 -0
  309. package/dist/cli/commands/generate.js +19 -0
  310. package/dist/cli/commands/generate.js.map +1 -0
  311. package/dist/cli/commands/init.d.ts +8 -0
  312. package/dist/cli/commands/init.d.ts.map +1 -0
  313. package/dist/cli/commands/init.js +301 -0
  314. package/dist/cli/commands/init.js.map +1 -0
  315. package/dist/cli/commands/observe.d.ts +9 -0
  316. package/dist/cli/commands/observe.d.ts.map +1 -0
  317. package/dist/cli/commands/observe.js +142 -0
  318. package/dist/cli/commands/observe.js.map +1 -0
  319. package/dist/cli/commands/skill.d.ts +9 -0
  320. package/dist/cli/commands/skill.d.ts.map +1 -0
  321. package/dist/cli/commands/skill.js +186 -0
  322. package/dist/cli/commands/skill.js.map +1 -0
  323. package/dist/cli/generators/capability-generator.d.ts +35 -0
  324. package/dist/cli/generators/capability-generator.d.ts.map +1 -0
  325. package/dist/cli/generators/capability-generator.js +115 -0
  326. package/dist/cli/generators/capability-generator.js.map +1 -0
  327. package/dist/cli/helpers/app-tsx-wiring.d.ts +19 -0
  328. package/dist/cli/helpers/app-tsx-wiring.d.ts.map +1 -0
  329. package/dist/cli/helpers/app-tsx-wiring.js +143 -0
  330. package/dist/cli/helpers/app-tsx-wiring.js.map +1 -0
  331. package/dist/cli/helpers/column-template.d.ts +18 -0
  332. package/dist/cli/helpers/column-template.d.ts.map +1 -0
  333. package/dist/cli/helpers/column-template.js +151 -0
  334. package/dist/cli/helpers/column-template.js.map +1 -0
  335. package/dist/cli/helpers/duration.d.ts +5 -0
  336. package/dist/cli/helpers/duration.d.ts.map +1 -0
  337. package/dist/cli/helpers/duration.js +19 -0
  338. package/dist/cli/helpers/duration.js.map +1 -0
  339. package/dist/cli/helpers/field-template.d.ts +14 -0
  340. package/dist/cli/helpers/field-template.d.ts.map +1 -0
  341. package/dist/cli/helpers/field-template.js +101 -0
  342. package/dist/cli/helpers/field-template.js.map +1 -0
  343. package/dist/cli/helpers/naming.d.ts +12 -0
  344. package/dist/cli/helpers/naming.d.ts.map +1 -0
  345. package/dist/cli/helpers/naming.js +25 -0
  346. package/dist/cli/helpers/naming.js.map +1 -0
  347. package/dist/cli/index.d.ts +9 -0
  348. package/dist/cli/index.d.ts.map +1 -0
  349. package/dist/cli/index.js +33 -0
  350. package/dist/cli/index.js.map +1 -0
  351. package/dist/cli/templates/backend-entry.d.ts +5 -0
  352. package/dist/cli/templates/backend-entry.d.ts.map +1 -0
  353. package/dist/cli/templates/backend-entry.js +17 -0
  354. package/dist/cli/templates/backend-entry.js.map +1 -0
  355. package/dist/cli/templates/frontend-entry.d.ts +11 -0
  356. package/dist/cli/templates/frontend-entry.d.ts.map +1 -0
  357. package/dist/cli/templates/frontend-entry.js +77 -0
  358. package/dist/cli/templates/frontend-entry.js.map +1 -0
  359. package/dist/cli/templates/gitignore.d.ts +5 -0
  360. package/dist/cli/templates/gitignore.d.ts.map +1 -0
  361. package/dist/cli/templates/gitignore.js +13 -0
  362. package/dist/cli/templates/gitignore.js.map +1 -0
  363. package/dist/cli/templates/index.d.ts +12 -0
  364. package/dist/cli/templates/index.d.ts.map +1 -0
  365. package/dist/cli/templates/index.js +12 -0
  366. package/dist/cli/templates/index.js.map +1 -0
  367. package/dist/cli/templates/loom-config.d.ts +10 -0
  368. package/dist/cli/templates/loom-config.d.ts.map +1 -0
  369. package/dist/cli/templates/loom-config.js +31 -0
  370. package/dist/cli/templates/loom-config.js.map +1 -0
  371. package/dist/cli/templates/package-json.d.ts +9 -0
  372. package/dist/cli/templates/package-json.d.ts.map +1 -0
  373. package/dist/cli/templates/package-json.js +40 -0
  374. package/dist/cli/templates/package-json.js.map +1 -0
  375. package/dist/cli/templates/readme.d.ts +9 -0
  376. package/dist/cli/templates/readme.d.ts.map +1 -0
  377. package/dist/cli/templates/readme.js +47 -0
  378. package/dist/cli/templates/readme.js.map +1 -0
  379. package/dist/cli/templates/tsconfig.d.ts +6 -0
  380. package/dist/cli/templates/tsconfig.d.ts.map +1 -0
  381. package/dist/cli/templates/tsconfig.js +41 -0
  382. package/dist/cli/templates/tsconfig.js.map +1 -0
  383. package/dist/cli/templates/vite-config.d.ts +5 -0
  384. package/dist/cli/templates/vite-config.d.ts.map +1 -0
  385. package/dist/cli/templates/vite-config.js +24 -0
  386. package/dist/cli/templates/vite-config.js.map +1 -0
  387. package/dist/cli/utils.d.ts +10 -0
  388. package/dist/cli/utils.d.ts.map +1 -0
  389. package/dist/cli/utils.js +31 -0
  390. package/dist/cli/utils.js.map +1 -0
  391. package/dist/commands.d.ts +1 -5
  392. package/dist/commands.d.ts.map +1 -1
  393. package/dist/commands.js +0 -11
  394. package/dist/commands.js.map +1 -1
  395. package/dist/config.d.ts +21 -52
  396. package/dist/config.d.ts.map +1 -1
  397. package/dist/config.js +8 -9
  398. package/dist/config.js.map +1 -1
  399. package/dist/dashboard-config.d.ts +117 -0
  400. package/dist/dashboard-config.d.ts.map +1 -0
  401. package/dist/dashboard-config.js +59 -0
  402. package/dist/dashboard-config.js.map +1 -0
  403. package/dist/index.d.ts +9 -4
  404. package/dist/index.d.ts.map +1 -1
  405. package/dist/index.js +8 -2
  406. package/dist/index.js.map +1 -1
  407. package/dist/server-bin.d.ts +12 -0
  408. package/dist/server-bin.d.ts.map +1 -0
  409. package/dist/server-bin.js +43 -0
  410. package/dist/server-bin.js.map +1 -0
  411. package/dist/types/adapter.d.ts +28 -0
  412. package/dist/types/adapter.d.ts.map +1 -0
  413. package/dist/types/adapter.js +5 -0
  414. package/dist/types/adapter.js.map +1 -0
  415. package/dist/types/ai.d.ts +52 -0
  416. package/dist/types/ai.d.ts.map +1 -0
  417. package/dist/types/ai.js +5 -0
  418. package/dist/types/ai.js.map +1 -0
  419. package/dist/types/chat.d.ts +46 -0
  420. package/dist/types/chat.d.ts.map +1 -0
  421. package/dist/types/chat.js +5 -0
  422. package/dist/types/chat.js.map +1 -0
  423. package/dist/types/command.d.ts +25 -0
  424. package/dist/types/command.d.ts.map +1 -0
  425. package/dist/types/command.js +5 -0
  426. package/dist/types/command.js.map +1 -0
  427. package/dist/types/config.d.ts +30 -0
  428. package/dist/types/config.d.ts.map +1 -0
  429. package/dist/types/config.js +5 -0
  430. package/dist/types/config.js.map +1 -0
  431. package/dist/types/dashboard.d.ts +42 -0
  432. package/dist/types/dashboard.d.ts.map +1 -0
  433. package/dist/types/dashboard.js +5 -0
  434. package/dist/types/dashboard.js.map +1 -0
  435. package/dist/types/index.d.ts +14 -0
  436. package/dist/types/index.d.ts.map +1 -0
  437. package/dist/types/index.js +8 -0
  438. package/dist/types/index.js.map +1 -0
  439. package/dist/types/model.d.ts +59 -0
  440. package/dist/types/model.d.ts.map +1 -0
  441. package/dist/types/model.js +5 -0
  442. package/dist/types/model.js.map +1 -0
  443. package/dist/types.d.ts +4 -199
  444. package/dist/types.d.ts.map +1 -1
  445. package/dist/types.js +4 -3
  446. package/dist/types.js.map +1 -1
  447. package/package.json +18 -3
@@ -0,0 +1,257 @@
1
+ ---
2
+ id: "g2-mark-spiral"
3
+ title: "G2 螺旋图(spiral)"
4
+ description: |
5
+ 螺旋图使用 helix 坐标系(coordinate.type: 'helix')将时间序列数据绘制成螺旋形状,
6
+ 从中心向外延伸。适合展示大量时间序列数据的周期性规律和变化趋势(通常 100+ 数据点)。
7
+
8
+ library: "g2"
9
+ version: "5.x"
10
+ category: "marks"
11
+ tags:
12
+ - "螺旋图"
13
+ - "spiral"
14
+ - "helix"
15
+ - "时间序列"
16
+ - "周期性"
17
+ - "大数据量"
18
+
19
+ related:
20
+ - "g2-mark-line-basic"
21
+ - "g2-mark-interval-basic"
22
+
23
+ use_cases:
24
+ - "大量时间序列数据的趋势展示(100+ 数据点)"
25
+ - "周期性数据规律识别(如年度季节性)"
26
+ - "基因表达时间序列"
27
+
28
+ anti_patterns:
29
+ - "少量数据(< 30 条)不适合,改用折线图"
30
+ - "需要精确数值对比不适合,螺旋非线性坐标难以精确读值"
31
+ - "animate.enter 不能使用 growInX/growInY,会导致螺旋渲染残缺,必须用 fadeIn"
32
+
33
+ difficulty: "intermediate"
34
+ completeness: "full"
35
+ created: "2025-04-01"
36
+ updated: "2025-04-01"
37
+ author: "antv-team"
38
+ source_url: "https://g2.antv.antgroup.com/examples/general/spiral"
39
+ ---
40
+
41
+ ## 核心概念
42
+
43
+ **螺旋图 = interval/line mark + `coordinate: { type: 'helix', startAngle, endAngle }`**
44
+
45
+ - `coordinate.type: 'helix'`:阿基米德螺旋坐标系
46
+ - `startAngle`:螺旋起始角(弧度),`Math.PI / 2` ≈ 从顶部开始
47
+ - `endAngle`:螺旋结束角,值越大螺旋圈数越多
48
+ - **数据量要求**:通常需要 100 条以上才能形成完整螺旋
49
+
50
+ **角度与圈数关系**:`圈数 = (endAngle - startAngle) / (2 * Math.PI)`
51
+
52
+ ## 最小可运行示例
53
+
54
+ ```javascript
55
+ import { Chart } from '@antv/g2';
56
+
57
+ const chart = new Chart({
58
+ container: 'container',
59
+ autoFit: true,
60
+ height: 500,
61
+ });
62
+
63
+ chart.options({
64
+ type: 'interval',
65
+ data: {
66
+ value: [
67
+ { time: '2025.07.11', value: 35 },
68
+ { time: '2025.07.12', value: 30 },
69
+ { time: '2025.07.13', value: 55 },
70
+ // ... 更多数据(100+ 条)
71
+ ],
72
+ },
73
+ encode: { x: 'time', y: 'value', color: 'value' },
74
+ scale: {
75
+ color: { type: 'linear', range: ['#ffffff', '#1890FF'] },
76
+ },
77
+ coordinate: {
78
+ type: 'helix',
79
+ startAngle: Math.PI / 2, // 从顶部开始
80
+ endAngle: Math.PI / 2 + 6 * Math.PI, // 转3圈(每圈 2π)
81
+ },
82
+ animate: { enter: { type: 'fadeIn' } },
83
+ tooltip: { title: 'time' },
84
+ });
85
+
86
+ chart.render();
87
+ ```
88
+
89
+ ## 常用角度配置
90
+
91
+ ```javascript
92
+ // 标准螺旋(约6圈,适合一年每周数据)
93
+ coordinate: {
94
+ type: 'helix',
95
+ startAngle: 1.5707963267948966, // Math.PI / 2
96
+ endAngle: 39.269908169872416, // Math.PI / 2 + 12 * Math.PI(6圈)
97
+ }
98
+
99
+ // 少圈数(约3圈,适合季度数据)
100
+ coordinate: {
101
+ type: 'helix',
102
+ startAngle: Math.PI / 2,
103
+ endAngle: Math.PI / 2 + 6 * Math.PI,
104
+ }
105
+
106
+ // 带内半径(圆环螺旋)
107
+ coordinate: {
108
+ type: 'helix',
109
+ startAngle: 0.2 * Math.PI,
110
+ endAngle: 6.5 * Math.PI,
111
+ innerRadius: 0.1,
112
+ }
113
+ ```
114
+
115
+ ## 按类别分组螺旋图
116
+
117
+ ```javascript
118
+ chart.options({
119
+ type: 'interval',
120
+ data: {
121
+ type: 'fetch',
122
+ value: 'url-to-data.json',
123
+ },
124
+ encode: {
125
+ x: 'time',
126
+ y: 'group', // 用 Y 轴区分类别
127
+ color: 'value', // 用颜色映射数值
128
+ },
129
+ scale: {
130
+ color: {
131
+ type: 'linear',
132
+ range: ['#fff', '#ec4839'],
133
+ },
134
+ },
135
+ coordinate: {
136
+ type: 'helix',
137
+ startAngle: 0.2 * Math.PI,
138
+ endAngle: 6.5 * Math.PI,
139
+ innerRadius: 0.1,
140
+ },
141
+ tooltip: {
142
+ title: 'time',
143
+ items: [
144
+ { field: 'group', name: '组别' },
145
+ { field: 'value', name: '数值' },
146
+ ],
147
+ },
148
+ });
149
+ ```
150
+
151
+ ## 常见错误与修正
152
+
153
+ ### 错误 1:数据量太少
154
+
155
+ ```javascript
156
+ // ❌ 问题:5 条数据无法形成螺旋,效果极差
157
+ chart.options({
158
+ type: 'interval',
159
+ data: {
160
+ value: [
161
+ { time: '2025-01', value: 35 },
162
+ { time: '2025-02', value: 50 },
163
+ { time: '2025-03', value: 45 },
164
+ { time: '2025-04', value: 60 },
165
+ { time: '2025-05', value: 40 },
166
+ ],
167
+ },
168
+ coordinate: { type: 'helix', startAngle: Math.PI / 2, endAngle: 40 },
169
+ });
170
+
171
+ // ✅ 改用折线图处理少量数据
172
+ chart.options({
173
+ type: 'line',
174
+ data,
175
+ encode: { x: 'time', y: 'value' },
176
+ });
177
+ ```
178
+
179
+ ### 错误 2:coordinate 类型名错误
180
+
181
+ ```javascript
182
+ // ❌ 错误:没有 'spiral' 类型,应该是 'helix'
183
+ coordinate: { type: 'spiral' } // ❌ 不存在
184
+
185
+ // ✅ 正确:使用 helix
186
+ coordinate: { type: 'helix', startAngle: Math.PI / 2, endAngle: 40 } // ✅
187
+ ```
188
+
189
+ ### 错误 3:角度单位混淆
190
+
191
+ ```javascript
192
+ // ❌ 错误:使用角度(度数)而非弧度
193
+ coordinate: {
194
+ type: 'helix',
195
+ startAngle: 90, // ❌ 90° 不是弧度,应该是 Math.PI / 2
196
+ endAngle: 2250, // ❌ 应该是弧度值
197
+ }
198
+
199
+ // ✅ 正确:使用弧度
200
+ coordinate: {
201
+ type: 'helix',
202
+ startAngle: Math.PI / 2, // ✅ 90° = π/2 弧度
203
+ endAngle: Math.PI / 2 + 12 * Math.PI, // ✅ 6圈
204
+ }
205
+ ```
206
+
207
+ ### 错误 4:data 格式错误(行内数据需要 value 包裹)
208
+
209
+ ```javascript
210
+ // ❌ 错误:行内数组数据需要放在 data.value 中
211
+ chart.options({
212
+ data: [{ time: '2025.01', value: 35 }, ...], // ❌ 直接数组
213
+ coordinate: { type: 'helix', ... },
214
+ });
215
+
216
+ // ✅ 正确:行内数据用 { value: [...] } 包裹
217
+ chart.options({
218
+ {
219
+ value: [{ time: '2025.01', value: 35 }, ...], // ✅
220
+ },
221
+ coordinate: { type: 'helix', ... },
222
+ });
223
+ ```
224
+
225
+ ### 错误 5:animate.enter 使用 growInY/growInX 导致螺旋渲染残缺
226
+
227
+ `growInX/Y` 通过沿直角坐标轴方向裁剪(clipPath)实现动画。helix 坐标系已将坐标重映射到螺旋路径,不存在"底部基线",裁剪矩形会横穿螺旋,导致部分螺旋区域被切掉,动画结束后图表仍显示不完整。
228
+
229
+ ```javascript
230
+ // ❌ 错误:growInY 在 helix 坐标系下裁剪矩形横穿螺旋 → 图表渲染残缺
231
+ chart.options({
232
+ type: 'interval',
233
+ coordinate: { type: 'helix', startAngle: 0, endAngle: Math.PI * 6 },
234
+ animate: {
235
+ enter: { type: 'growInY', duration: 2000 }, // ❌ 螺旋被截断
236
+ },
237
+ });
238
+
239
+ // ✅ 正确:helix 坐标系必须用 fadeIn(或不设置动画)
240
+ chart.options({
241
+ type: 'interval',
242
+ coordinate: { type: 'helix', startAngle: 0, endAngle: Math.PI * 6 },
243
+ animate: {
244
+ enter: { type: 'fadeIn', duration: 1000 }, // ✅
245
+ },
246
+ });
247
+ ```
248
+
249
+ ## 与折线图的选择
250
+
251
+ | 场景 | 推荐图表 |
252
+ |------|---------|
253
+ | 数据量 < 50 条 | 折线图 |
254
+ | 数据量 100+ 条,观察趋势 | 螺旋图或折线图 |
255
+ | 需要发现周期性规律 | **螺旋图**(当每圈周期对齐时效果最佳)|
256
+ | 需要精确读取数值 | 折线图 |
257
+ | 大屏展示视觉效果 | **螺旋图** |
@@ -0,0 +1,327 @@
1
+ ---
2
+ id: "g2-mark-sunburst"
3
+ title: "G2 Sunburst Chart Mark"
4
+ description: |
5
+ 旭日图 Mark。使用 sunburst 标记展示多层级层次化数据,通过同心圆形式展示层级关系。
6
+ 适用于组织架构、文件系统、预算分配等场景。
7
+
8
+ library: "g2"
9
+ version: "5.x"
10
+ category: "marks"
11
+ tags:
12
+ - "旭日图"
13
+ - "sunburst"
14
+ - "层次结构"
15
+ - "多层级"
16
+
17
+ related:
18
+ - "g2-mark-treemap"
19
+ - "g2-mark-arc-pie"
20
+
21
+ use_cases:
22
+ - "组织架构展示"
23
+ - "文件系统分析"
24
+ - "预算分配"
25
+
26
+ anti_patterns:
27
+ - "层级过深(>4层)应使用矩形树图"
28
+ - "类别过多不适合"
29
+
30
+ difficulty: "intermediate"
31
+ completeness: "full"
32
+ created: "2025-03-26"
33
+ updated: "2025-03-26"
34
+ author: "antv-team"
35
+ source_url: "https://g2.antv.antgroup.com/manual/core/mark/sunburst"
36
+ ---
37
+
38
+ ## 核心概念
39
+
40
+ 旭日图通过同心圆展示多层级数据:
41
+ - 每个层级用一个环表示
42
+ - 环的内外半径表示层级深度
43
+ - 角度大小表示数值大小
44
+
45
+ **需要引入扩展:**
46
+ ```javascript
47
+ import { plotlib } from '@antv/g2-extension-plot';
48
+ import { Runtime, corelib, extend } from '@antv/g2';
49
+
50
+ const Chart = extend(Runtime, { ...corelib(), ...plotlib() });
51
+ ```
52
+
53
+ ## 最小可运行示例
54
+
55
+ ```javascript
56
+ import { plotlib } from '@antv/g2-extension-plot';
57
+ import { Runtime, corelib, extend } from '@antv/g2';
58
+
59
+ const Chart = extend(Runtime, { ...corelib(), ...plotlib() });
60
+
61
+ const chart = new Chart({
62
+ container: 'container',
63
+ theme: 'classic',
64
+ autoFit: true,
65
+ });
66
+
67
+ chart.options({
68
+ type: 'sunburst',
69
+ data: {
70
+ type: 'fetch',
71
+ value: 'https://gw.alipayobjects.com/os/antvdemo/assets/data/sunburst.json',
72
+ },
73
+ encode: {
74
+ value: 'sum',
75
+ },
76
+ });
77
+
78
+ chart.render();
79
+ ```
80
+
81
+ ## 数据配置形式说明
82
+
83
+ **为什么 sunburst 使用 ` { value: data }` 或 ` { type: 'fetch', value: 'url' }` 而不是 `data`?**
84
+
85
+ 层次数据是**对象**(包含 name/children),不是数组,必须使用完整形式:
86
+
87
+ ```javascript
88
+ // ❌ 错误:层次数据不是数组,不能用简写
89
+ chart.options({
90
+ type: 'sunburst',
91
+ data: hierarchyData, // ❌ 不工作
92
+ });
93
+
94
+ // ✅ 正确:层次数据必须用完整形式
95
+ chart.options({
96
+ type: 'sunburst',
97
+ data: { value: hierarchyData }, // ✅ 内联数据
98
+ });
99
+
100
+ // ✅ 正确:远程数据
101
+ chart.options({
102
+ type: 'sunburst',
103
+ data: { type: 'fetch', value: 'https://example.com/data.json' },
104
+ });
105
+ ```
106
+
107
+ **简写形式仅适用于数组数据**(满足三个条件:内联、是数组、无 transform)。
108
+
109
+ ---
110
+
111
+ ## 常用变体
112
+
113
+ ### 带标签
114
+
115
+ ```javascript
116
+ chart.options({
117
+ type: 'sunburst',
118
+ data: { value: hierarchyData },
119
+ encode: { value: 'sum' },
120
+ labels: [
121
+ {
122
+ text: 'name',
123
+ transform: [{ type: 'overflowHide' }],
124
+ },
125
+ ],
126
+ });
127
+ ```
128
+
129
+ ### 自定义颜色
130
+
131
+ ```javascript
132
+ chart.options({
133
+ type: 'sunburst',
134
+ data: { value: hierarchyData },
135
+ encode: {
136
+ value: 'sum',
137
+ },
138
+ });
139
+ ```
140
+
141
+ ### 带下钻交互
142
+
143
+ ```javascript
144
+ chart.options({
145
+ type: 'sunburst',
146
+ data: { value: hierarchyData },
147
+ encode: { value: 'sum' },
148
+ interaction: {
149
+ drillDown: {
150
+ breadCrumb: {
151
+ rootText: '起始',
152
+ },
153
+ },
154
+ },
155
+ });
156
+ ```
157
+
158
+ ## 完整类型参考
159
+
160
+ ```typescript
161
+ interface SunburstOptions {
162
+ type: 'sunburst';
163
+ { value: HierarchyData } | { type: 'fetch'; value: string };
164
+ encode: {
165
+ value: string; // 数值字段(字符串可用,有专项处理)
166
+ color?: (d: HierarchyNode) => unknown; // ⚠️ 颜色必须用回调,不能用字符串
167
+ };
168
+ labels?: Array<{
169
+ text: string;
170
+ transform?: Array<{ type: string }>;
171
+ }>;
172
+ interaction?: {
173
+ drillDown?: {
174
+ breadCrumb?: {
175
+ rootText?: string;
176
+ };
177
+ };
178
+ };
179
+ }
180
+ ```
181
+
182
+ ## 旭日图 vs 矩形树图
183
+
184
+ | 特性 | 旭日图 | 矩形树图 |
185
+ |------|--------|----------|
186
+ | 布局 | 圆形 | 矩形 |
187
+ | 空间利用 | 较低 | 较高 |
188
+ | 层级展示 | 同心圆 | 嵌套矩形 |
189
+ | 适用层级 | ≤4 层 | 更深层级 |
190
+
191
+ ## 常见错误与修正
192
+
193
+ ### 错误 1:未引入扩展
194
+
195
+ ```javascript
196
+ // ❌ 问题:sunburst 需要扩展库
197
+ import { Chart } from '@antv/g2';
198
+
199
+ // ✅ 正确:引入 plotlib 扩展
200
+ import { plotlib } from '@antv/g2-extension-plot';
201
+ import { Runtime, corelib, extend } from '@antv/g2';
202
+ const Chart = extend(Runtime, { ...corelib(), ...plotlib() });
203
+ ```
204
+
205
+ ### 错误 2:层级过深
206
+
207
+ ```javascript
208
+ // ⚠️ 注意:层级超过 4 层时,外层扇形过小
209
+ // 建议使用矩形树图替代
210
+ ```
211
+
212
+ ### 错误 3:数据格式错误
213
+
214
+ ```javascript
215
+ // ❌ 问题:层次数据不能用简写形式
216
+ chart.options({
217
+ type: 'sunburst',
218
+ [{ name: 'A', value: 100 }], // ❌ 数组格式,不是层次结构
219
+ });
220
+
221
+ // ✅ 正确:使用完整形式 + 层级嵌套结构
222
+ chart.options({
223
+ type: 'sunburst',
224
+ {
225
+ value: {
226
+ name: 'Root',
227
+ children: [
228
+ { name: 'A', value: 100 },
229
+ { name: 'B', children: [...] }
230
+ ]
231
+ }
232
+ },
233
+ encode: { value: 'sum' },
234
+ });
235
+ ```
236
+
237
+ ---
238
+
239
+ ## 节点数据访问规则(重要!)
240
+
241
+ 层次结构图中,回调函数接收到的参数 `d` **不是原始数据对象**,而是 G2 用 d3-hierarchy 包装后的层次节点,**原始数据在 `d.data` 中**。
242
+
243
+ ### 为什么 `encode.color: 'label'` 不起作用?
244
+
245
+ **根本原因**:当 encode 是字符串时,G2 内部做的是 `datum[fieldName]`,直接访问层次节点属性。层次节点上没有 `label` 属性,返回 `undefined`,导致所有扇形显示相同颜色。
246
+
247
+ ```
248
+ d['label'] → undefined ❌(层次节点没有 label 属性)
249
+ d.data['label'] → 'A类' ✅(原始数据在 d.data 上)
250
+ ```
251
+
252
+ **特例**:`encode.value: 'sum'` 字符串可以工作,因为 G2 对层次 mark 的 `value` 通道做了**专项处理**。其他通道(`color`、`shape` 等)无此特殊处理,必须用回调。
253
+
254
+ ### 回调参数 d 的结构
255
+
256
+ ```javascript
257
+ // d 是 d3-hierarchy 节点,结构如下:
258
+ {
259
+ value: 100, // 节点数值(d3 计算的子树总和)
260
+ depth: 2, // 层级深度(0 = 根节点)
261
+ height: 0, // 子树高度(叶子节点为 0)
262
+ { // ← 原始数据在这里!
263
+ name: '前端',
264
+ sum: 120,
265
+ label: 'A类',
266
+ // ... 其它自定义字段
267
+ },
268
+ path: ['root', '技术', '前端'],
269
+ }
270
+ ```
271
+
272
+ ### encode 中访问字段
273
+
274
+ ```javascript
275
+ // ❌ 错误:字符串字段名对 color 通道不起作用
276
+ encode: {
277
+ value: 'sum', // ✅ value 通道有专项处理
278
+ color: 'label', // ❌ d['label'] = undefined → 所有扇形颜色相同
279
+ }
280
+
281
+ // ✅ 正确:color 必须用回调函数
282
+ encode: {
283
+ value: 'sum',
284
+ color: (d) => d.data?.label, // ✅
285
+ }
286
+ ```
287
+
288
+ ### 常用着色策略
289
+
290
+ ```javascript
291
+ // 按第二层父节点着色(推荐,同门类同色)
292
+ color: (d) => d.path?.[1] || d.data?.name
293
+
294
+ // 按层级深度着色
295
+ color: (d) => d.depth
296
+
297
+ // 按自定义字段着色
298
+ color: (d) => d.data?.label
299
+ color: (d) => d.data?.category
300
+
301
+ // 按数值着色(连续色板)
302
+ color: (d) => d.value
303
+ ```
304
+
305
+ ### 错误 4:encode.color 使用字符串字段名导致所有扇形颜色相同
306
+
307
+ ```javascript
308
+ // ❌ 错误:color: 'label' 等价于 d['label'],层次节点上没有此属性 → undefined
309
+ chart.options({
310
+ type: 'sunburst',
311
+ data: { value: data },
312
+ encode: {
313
+ value: 'sum',
314
+ color: 'label', // ❌ → 所有扇形相同颜色
315
+ },
316
+ });
317
+
318
+ // ✅ 正确:color 必须用回调,通过 d.data 访问原始字段
319
+ chart.options({
320
+ type: 'sunburst',
321
+ data: { value: data },
322
+ encode: {
323
+ value: 'sum',
324
+ color: (d) => d.path?.[1] || d.data?.name, // ✅ 按父节点着色
325
+ },
326
+ });
327
+ ```