@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,267 @@
1
+ ---
2
+ id: "g2-scale-sequential"
3
+ title: "G2 顺序比例尺(sequential)"
4
+ description: |
5
+ sequential 比例尺将连续数值映射到颜色渐变,
6
+ 专为颜色通道设计,常配合 palette(内置色板)或自定义颜色插值函数使用。
7
+ 适合热力图、地图着色、连续数值颜色编码场景。
8
+ 与 linear 的区别:sequential 专为颜色输出优化,linear 支持任意数值输出。
9
+ ⚠️ 约束:仅当 encode.color 映射的字段为连续类型(数值型)时使用。
10
+ 分类字段(字符串/枚举)和间断字段(ordinal/band)禁止使用 sequential,
11
+ 否则会产生错误的颜色渐变,应改用 ordinal 比例尺。
12
+
13
+ library: "g2"
14
+ version: "5.x"
15
+ category: "scales"
16
+ tags:
17
+ - "sequential"
18
+ - "顺序比例尺"
19
+ - "颜色渐变"
20
+ - "连续颜色"
21
+ - "palette"
22
+ - "scale"
23
+
24
+ related:
25
+ - "g2-scale-linear"
26
+ - "g2-scale-quantile-quantize"
27
+ - "g2-scale-threshold"
28
+ - "g2-mark-cell-heatmap"
29
+
30
+ use_cases:
31
+ - "热力图颜色渐变(低值→高值)"
32
+ - "地图按数值着色(choropleth)"
33
+ - "散点图气泡颜色按数值渐变"
34
+
35
+ difficulty: "beginner"
36
+ completeness: "full"
37
+ created: "2025-03-24"
38
+ updated: "2025-03-24"
39
+ author: "antv-team"
40
+ source_url: "https://g2.antv.antgroup.com/manual/core/scale/sequential"
41
+ ---
42
+
43
+ ## ⚠️ 使用约束
44
+
45
+ **sequential 仅适用于 `encode.color` 字段为连续类型(数值型)的场景。**
46
+
47
+ | 字段类型 | 示例 | 是否可用 sequential |
48
+ |--------|------|------------------|
49
+ | 连续数值(quantitative) | `temp_max`、`sales`、`score` | ✅ 允许 |
50
+ | 分类(categorical / ordinal) | `city`、`category`、`name` | ❌ 禁止,用 `ordinal` |
51
+ | 间断(band / point) | 离散的坐标轴字段 | ❌ 禁止,用 `ordinal` |
52
+
53
+ 分类或间断字段使用 sequential 会导致所有数据映射到渐变色的两端,颜色区分度极差。
54
+
55
+ ## 最小可运行示例(热力图)
56
+
57
+ ```javascript
58
+ import { Chart } from '@antv/g2';
59
+
60
+ const chart = new Chart({ container: 'container', width: 640, height: 400 });
61
+
62
+ chart.options({
63
+ type: 'cell',
64
+ data: {
65
+ type: 'fetch',
66
+ value: 'https://assets.antv.antgroup.com/g2/seattle-weather.json',
67
+ },
68
+ encode: {
69
+ x: (d) => new Date(d.date).getUTCDate(),
70
+ y: (d) => new Date(d.date).getUTCMonth(),
71
+ color: 'temp_max',
72
+ },
73
+ transform: [{ type: 'group', color: 'max' }],
74
+ scale: {
75
+ color: {
76
+ type: 'sequential',
77
+ palette: 'gnBu', // 内置色板:从浅蓝到深蓝
78
+ },
79
+ },
80
+ style: { inset: 0.5 },
81
+ });
82
+
83
+ chart.render();
84
+ ```
85
+
86
+ ## 合法 palette 完整列表
87
+
88
+ G2 的 `palette` 值通过 d3-scale-chromatic 查找,**只有以下名称合法**(大小写不敏感),不在此列表中的名称(如 `'blueOrange'`、`'redGreen'`、`'heatmap'`)会导致运行时报错 `Unknown palette`。
89
+
90
+ ### 单色系顺序渐变(适合 sequential — 正值数据)
91
+
92
+ | palette 名称 | 效果 |
93
+ |------------|------|
94
+ | `'blues'` | 白→蓝 |
95
+ | `'greens'` | 白→绿 |
96
+ | `'reds'` | 白→红 |
97
+ | `'oranges'` | 白→橙 |
98
+ | `'purples'` | 白→紫 |
99
+ | `'greys'` | 白→灰 |
100
+ | `'orRd'` | 橙→红 |
101
+ | `'buGn'` | 蓝→绿 |
102
+ | `'buPu'` | 蓝→紫 |
103
+ | `'gnBu'` | 绿→蓝 |
104
+ | `'puBu'` | 紫→蓝 |
105
+ | `'puBuGn'` | 紫→蓝→绿 |
106
+ | `'puRd'` | 紫→红 |
107
+ | `'rdPu'` | 红→紫 |
108
+ | `'ylGn'` | 黄→绿 |
109
+ | `'ylGnBu'` | 黄→绿→蓝(sequential 默认值) |
110
+ | `'ylOrBr'` | 黄→橙→棕 |
111
+ | `'ylOrRd'` | 黄→橙→红 |
112
+
113
+ ### 多色感知均匀渐变(适合 sequential — 推荐色盲友好)
114
+
115
+ | palette 名称 | 效果 |
116
+ |------------|------|
117
+ | `'viridis'` | 紫→蓝→绿→黄(感知均匀,色盲友好) |
118
+ | `'plasma'` | 蓝紫→橙黄 |
119
+ | `'magma'` | 黑→紫→橙→白 |
120
+ | `'inferno'` | 黑→紫→红→黄 |
121
+ | `'cividis'` | 蓝→黄(对所有色盲类型友好) |
122
+ | `'turbo'` | 蓝→绿→黄→红(彩虹改进版) |
123
+ | `'rainbow'` | 彩虹(不建议,感知不均匀) |
124
+ | `'sinebow'` | 平滑彩虹 |
125
+ | `'warm'` | 暖色(橙→红→紫) |
126
+ | `'cool'` | 冷色(青→蓝→紫) |
127
+ | `'cubehelixDefault'` | 螺旋渐变(黑→白) |
128
+
129
+ ### 发散色阶(适合 diverging — 正负值对比)
130
+
131
+ | palette 名称 | 效果 |
132
+ |------------|------|
133
+ | `'rdBu'` | 红→白→蓝(最常用) |
134
+ | `'rdYlBu'` | 红→黄→蓝 |
135
+ | `'rdYlGn'` | 红→黄→绿(涨跌热力图) |
136
+ | `'rdGy'` | 红→白→灰 |
137
+ | `'pRGn'` | 紫→白→绿 |
138
+ | `'piYG'` | 粉红→白→黄绿 |
139
+ | `'puOr'` | 紫→白→橙 |
140
+ | `'brBG'` | 棕→白→蓝绿 |
141
+ | `'spectral'` | 红→橙→黄→绿→蓝(多色发散) |
142
+
143
+ ```javascript
144
+ // ✅ 合法示例
145
+ scale: { color: { type: 'sequential', palette: 'blues' } }
146
+ scale: { color: { type: 'sequential', palette: 'viridis' } }
147
+ scale: { color: { type: 'sequential', palette: 'ylOrRd' } }
148
+ scale: { color: { type: 'diverging', palette: 'rdBu' } }
149
+ scale: { color: { type: 'diverging', palette: 'rdYlGn' } }
150
+
151
+ // ❌ 非法示例(不存在,会报 Unknown palette 错误)
152
+ scale: { color: { type: 'sequential', palette: 'blueOrange' } } // ❌ 不存在
153
+ scale: { color: { type: 'sequential', palette: 'redGreen' } } // ❌ 不存在
154
+ scale: { color: { type: 'sequential', palette: 'heatmap' } } // ❌ 不存在
155
+ scale: { color: { type: 'sequential', palette: 'rainbow2' } } // ❌ 不存在
156
+ scale: { color: { type: 'sequential', palette: 'blue-orange' } } // ❌ 不存在
157
+ ```
158
+
159
+ ## 自定义颜色范围
160
+
161
+ ```javascript
162
+ // 使用 range 指定首尾颜色(两端插值)
163
+ chart.options({
164
+ scale: {
165
+ color: {
166
+ type: 'sequential',
167
+ range: ['#ebedf0', '#196127'], // 从浅灰到深绿(GitHub 贡献图风格)
168
+ },
169
+ },
170
+ });
171
+
172
+ // 使用 domain 控制映射范围
173
+ chart.options({
174
+ scale: {
175
+ color: {
176
+ type: 'sequential',
177
+ palette: 'blues',
178
+ domain: [0, 100], // 明确指定数值范围
179
+ },
180
+ },
181
+ });
182
+ ```
183
+
184
+ ## sequential vs 其他颜色比例尺
185
+
186
+ ```javascript
187
+ // sequential:连续颜色渐变(连续数值 → 连续颜色)
188
+ scale: { color: { type: 'sequential', palette: 'blues' } }
189
+
190
+ // quantile:自动分位数分组(连续数值 → 离散颜色,等频分组)
191
+ scale: { color: { type: 'quantile', range: ['#eee', '#aaa', '#666', '#000'] } }
192
+
193
+ // quantize:等距分段(连续数值 → 离散颜色,等距分组)
194
+ scale: { color: { type: 'quantize', domain: [0, 100], range: ['#fee', '#f99', '#f00'] } }
195
+
196
+ // threshold:手动断点分级(连续数值 → 离散颜色,自定义断点)
197
+ scale: { color: { type: 'threshold', domain: [25, 75], range: ['#0f0', '#ff0', '#f00'] } }
198
+ ```
199
+
200
+ ## 常见错误与修正
201
+
202
+ ### 错误:使用不存在的 palette 名称
203
+
204
+ G2 的 palette 值来自 d3-scale-chromatic,不存在的名称会在运行时抛出 `Error: Unknown palette: XxxXxx`,图表无法渲染。
205
+
206
+ ```javascript
207
+ // ❌ 这些名称看起来合理,但 G2 中不存在
208
+ scale: { color: { type: 'sequential', palette: 'blueOrange' } } // ❌ → Error: Unknown palette
209
+ scale: { color: { type: 'sequential', palette: 'blueGreen' } } // ❌ → 应用 'buGn' 或 'gnBu'
210
+ scale: { color: { type: 'sequential', palette: 'redBlue' } } // ❌ → 应用 'rdBu'(发散)
211
+ scale: { color: { type: 'diverging', palette: 'greenRed' } } // ❌ → 应用 'rdYlGn'(注意顺序)
212
+ scale: { color: { type: 'sequential', palette: 'hot' } } // ❌ → 不存在,用 'ylOrRd' 代替
213
+ scale: { color: { type: 'sequential', palette: 'jet' } } // ❌ → 不存在,用 'turbo' 代替
214
+ scale: { color: { type: 'sequential', palette: 'coolwarm' } } // ❌ → 应用 'rdBu'(发散)
215
+
216
+ // ✅ 不确定时,从下列可信名称选择
217
+ // 单色顺序:'blues' | 'greens' | 'reds' | 'oranges' | 'purples' | 'ylOrRd' | 'ylGnBu'
218
+ // 感知均匀:'viridis' | 'plasma' | 'magma' | 'inferno' | 'cividis' | 'turbo'
219
+ // 发散: 'rdBu' | 'rdYlGn' | 'rdYlBu' | 'pRGn' | 'brBG' | 'spectral'
220
+ ```
221
+
222
+ ### 错误:sequential 用于分类数据
223
+ ```javascript
224
+ // ❌ sequential 只适合连续数值,分类数据应用 ordinal
225
+ chart.options({
226
+ encode: { color: 'city' }, // city 是分类字段
227
+ scale: { color: { type: 'sequential' } }, // ❌ 会产生奇怪的渐变
228
+ });
229
+
230
+ // ✅ 分类数据用 ordinal
231
+ chart.options({
232
+ encode: { color: 'city' },
233
+ scale: { color: { type: 'ordinal', range: ['#5B8FF9', '#61DDAA', '#FFD666'] } }, // ✅
234
+ });
235
+ ```
236
+
237
+ ### 错误:未使用 transform 导致数据聚合异常
238
+
239
+ 在使用 `cell` 类型图表时,若原始数据包含多个相同 `(x, y)` 坐标的记录,必须使用 `transform` 对其进行聚合,否则可能导致颜色映射不准确甚至图表渲染失败。
240
+
241
+ ```javascript
242
+ // ❌ 未聚合相同坐标的 temp_max 值
243
+ chart.options({
244
+ type: 'cell',
245
+ data: weatherData,
246
+ encode: {
247
+ x: (d) => new Date(d.date).getUTCDate(),
248
+ y: (d) => new Date(d.date).getUTCMonth(),
249
+ color: 'temp_max',
250
+ },
251
+ scale: { color: { type: 'sequential', palette: 'gnBu' } },
252
+ });
253
+
254
+ // ✅ 使用 group transform 聚合相同坐标的数据
255
+ chart.options({
256
+ type: 'cell',
257
+ data: weatherData,
258
+ encode: {
259
+ x: (d) => new Date(d.date).getUTCDate(),
260
+ y: (d) => new Date(d.date).getUTCMonth(),
261
+ color: 'temp_max',
262
+ },
263
+ transform: [{ type: 'group', color: 'max' }], // 对每个格子取 temp_max 的最大值
264
+ scale: { color: { type: 'sequential', palette: 'gnBu' } },
265
+ });
266
+ ```
267
+ ```
@@ -0,0 +1,133 @@
1
+ ---
2
+ id: "g2-scale-threshold"
3
+ title: "G2 阈值比例尺(threshold)"
4
+ description: |
5
+ 阈值比例尺将连续数值按指定的阈值切分为若干区间,每个区间映射到一个离散输出(如颜色)。
6
+ 常用于热力图、地图分级着色等场景,用几个关键阈值划分数据等级。
7
+ 与 quantize(等分)不同,threshold 支持自定义不均匀的分割点。
8
+
9
+ library: "g2"
10
+ version: "5.x"
11
+ category: "scales"
12
+ tags:
13
+ - "threshold"
14
+ - "阈值"
15
+ - "比例尺"
16
+ - "分级"
17
+ - "choropleth"
18
+ - "热力"
19
+ - "scale"
20
+
21
+ related:
22
+ - "g2-scale-linear"
23
+ - "g2-scale-ordinal"
24
+ - "g2-mark-cell-heatmap"
25
+
26
+ use_cases:
27
+ - "地图分级着色(choropleth map)"
28
+ - "热力图数据分级(低/中/高/极高)"
29
+ - "自定义区间的颜色映射"
30
+
31
+ difficulty: "intermediate"
32
+ completeness: "full"
33
+ created: "2025-03-24"
34
+ updated: "2025-03-24"
35
+ author: "antv-team"
36
+ source_url: "https://g2.antv.antgroup.com/manual/core/scale/threshold"
37
+ ---
38
+
39
+ ## 最小可运行示例(热力图分级着色)
40
+
41
+ ```javascript
42
+ import { Chart } from '@antv/g2';
43
+
44
+ const data = [
45
+ { week: 'Mon', hour: '08:00', count: 5 },
46
+ { week: 'Mon', hour: '09:00', count: 45 },
47
+ { week: 'Mon', hour: '12:00', count: 120 },
48
+ { week: 'Tue', hour: '09:00', count: 85 },
49
+ { week: 'Wed', hour: '12:00', count: 200 },
50
+ // ...
51
+ ];
52
+
53
+ const chart = new Chart({ container: 'container', width: 640, height: 300 });
54
+
55
+ chart.options({
56
+ type: 'cell',
57
+ data,
58
+ encode: {
59
+ x: 'hour',
60
+ y: 'week',
61
+ color: 'count',
62
+ },
63
+ scale: {
64
+ color: {
65
+ type: 'threshold',
66
+ domain: [30, 80, 150], // 3 个阈值,划分为 4 个区间
67
+ range: ['#ebedf0', '#c6e48b', '#7bc96f', '#196127'], // 对应 4 个颜色
68
+ },
69
+ },
70
+ style: { lineWidth: 2, stroke: '#fff' },
71
+ });
72
+
73
+ chart.render();
74
+ ```
75
+
76
+ ## 配置项
77
+
78
+ ```javascript
79
+ scale: {
80
+ color: {
81
+ type: 'threshold',
82
+ domain: [30, 80, 150], // N 个阈值,产生 N+1 个区间
83
+ range: ['#low', '#mid-low', '#mid-high', '#high'], // N+1 个输出值
84
+ },
85
+ }
86
+ ```
87
+
88
+ ## 风险等级着色示例
89
+
90
+ ```javascript
91
+ // 将连续风险分数映射到 4 个风险等级颜色
92
+ chart.options({
93
+ scale: {
94
+ color: {
95
+ type: 'threshold',
96
+ domain: [25, 50, 75], // 低/中/高/极高 分界线
97
+ range: [
98
+ '#52c41a', // 0~25:低风险(绿)
99
+ '#faad14', // 25~50:中风险(黄)
100
+ '#ff7a45', // 50~75:高风险(橙)
101
+ '#ff4d4f', // 75+:极高风险(红)
102
+ ],
103
+ },
104
+ },
105
+ });
106
+ ```
107
+
108
+ ## 常见错误与修正
109
+
110
+ ### 错误:domain 和 range 数量不匹配
111
+ ```javascript
112
+ // ❌ 错误:2 个 domain 阈值产生 3 个区间,但只有 2 个 range 颜色
113
+ chart.options({
114
+ scale: {
115
+ color: {
116
+ type: 'threshold',
117
+ domain: [50, 100], // 2 个阈值 → 3 个区间
118
+ range: ['#green', '#red'], // ❌ 只有 2 个颜色,应该是 3 个
119
+ },
120
+ },
121
+ });
122
+
123
+ // ✅ 正确:domain N 个阈值 → range 需要 N+1 个颜色
124
+ chart.options({
125
+ scale: {
126
+ color: {
127
+ type: 'threshold',
128
+ domain: [50, 100],
129
+ range: ['#52c41a', '#faad14', '#ff4d4f'], // ✅ 3 个颜色
130
+ },
131
+ },
132
+ });
133
+ ```
@@ -0,0 +1,159 @@
1
+ ---
2
+ id: "g2-scale-time"
3
+ title: "G2 Time 时间比例尺"
4
+ description: |
5
+ Time 比例尺将时间数据(Date 对象或时间戳)映射到连续坐标轴,
6
+ 自动处理时间刻度间隔、格式化和排序。当 encode.x 映射 Date 类型数据时自动启用。
7
+
8
+ library: "g2"
9
+ version: "5.x"
10
+ category: "scales"
11
+ tags:
12
+ - "time"
13
+ - "时间比例尺"
14
+ - "时间轴"
15
+ - "Date"
16
+ - "时间序列"
17
+ - "scale"
18
+ - "spec"
19
+
20
+ related:
21
+ - "g2-mark-line-basic"
22
+ - "g2-comp-axis-config"
23
+ - "g2-scale-linear"
24
+
25
+ use_cases:
26
+ - "绘制时间序列折线图、面积图"
27
+ - "控制时间轴的刻度粒度和标签格式"
28
+ - "设置时间轴的显示范围"
29
+
30
+ difficulty: "intermediate"
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/manual/core/scale/time"
36
+ ---
37
+
38
+ ## 自动识别(推荐)
39
+
40
+ 当数据字段为 `Date` 对象时,G2 自动使用 Time Scale,无需显式配置:
41
+
42
+ ```javascript
43
+ import { Chart } from '@antv/g2';
44
+
45
+ const chart = new Chart({ container: 'container', width: 700, height: 400 });
46
+
47
+ chart.options({
48
+ type: 'line',
49
+ data: [
50
+ { date: new Date('2024-01-01'), value: 100 },
51
+ { date: new Date('2024-02-01'), value: 130 },
52
+ { date: new Date('2024-03-01'), value: 110 },
53
+ { date: new Date('2024-04-01'), value: 160 },
54
+ { date: new Date('2024-05-01'), value: 145 },
55
+ ],
56
+ encode: { x: 'date', y: 'value' }, // Date 对象自动用 Time Scale
57
+ });
58
+
59
+ chart.render();
60
+ ```
61
+
62
+ ## 显式配置 Time Scale
63
+
64
+ ```javascript
65
+ chart.options({
66
+ type: 'line',
67
+ data,
68
+ encode: { x: 'date', y: 'value' },
69
+ scale: {
70
+ x: {
71
+ type: 'time', // 显式指定(字符串日期时需要)
72
+ domain: [ // 限制显示范围
73
+ new Date('2024-01-01'),
74
+ new Date('2024-12-31'),
75
+ ],
76
+ nice: true, // 将域扩展到整洁的时间边界
77
+ },
78
+ },
79
+ });
80
+ ```
81
+
82
+ ## 格式化时间轴标签
83
+
84
+ ```javascript
85
+ chart.options({
86
+ type: 'line',
87
+ data,
88
+ encode: { x: 'date', y: 'value' },
89
+ axis: {
90
+ x: {
91
+ // 使用 dayjs 格式字符串
92
+ labelFormatter: 'YYYY-MM', // 年-月:2024-01
93
+ // labelFormatter: 'MM/DD', // 月/日:01/15
94
+ // labelFormatter: 'YYYY年MM月', // 中文格式
95
+ // labelFormatter: (d) => `Q${Math.ceil((d.getMonth()+1)/3)}`, // 自定义
96
+ tickCount: 6,
97
+ },
98
+ },
99
+ });
100
+ ```
101
+
102
+ ## 字符串日期(推荐转为 Date 对象)
103
+
104
+ G2 v5 对 `YYYY-MM-DD` 格式的字符串有一定自动识别能力,但行为依赖内部推断,**不稳定**。
105
+ 推荐在数据预处理阶段统一转为 `Date` 对象,避免歧义:
106
+
107
+ ```javascript
108
+ // ✅ 推荐:预处理时转为 Date 对象
109
+ const rawData = [
110
+ { date: '2024-01-01', value: 100 },
111
+ { date: '2024-02-01', value: 130 },
112
+ ];
113
+ const data = rawData.map(d => ({ ...d, date: new Date(d.date) }));
114
+
115
+ chart.options({
116
+ type: 'line',
117
+ data,
118
+ encode: { x: 'date', y: 'value' },
119
+ // 无需 scale.x.type,G2 自动识别 Date 对象为 Time Scale
120
+ });
121
+ ```
122
+
123
+ **不要**在字符串日期上显式写 `scale: { x: { type: 'time' } }`,这是多余的配置,
124
+ 且在某些场景(如 fold 后数据类型变化)会引发渲染异常。
125
+
126
+ ## 常见错误与修正
127
+
128
+ ### 错误 1:显式声明 type: 'time'(不必要且有风险)
129
+ ```javascript
130
+ // ❌ 不推荐:在字符串日期上显式写 type: 'time'
131
+ chart.options({
132
+ type: 'line',
133
+ data: [{ date: '2024-01-01', value: 100 }],
134
+ encode: { x: 'date', y: 'value' },
135
+ scale: { x: { type: 'time' } }, // ❌ 多余,可能引发异常
136
+ });
137
+
138
+ // ✅ 正确:转为 Date 对象,让 G2 自动处理
139
+ const data = rawData.map(d => ({ ...d, date: new Date(d.date) }));
140
+ chart.options({
141
+ type: 'line',
142
+ data,
143
+ encode: { x: 'date', y: 'value' },
144
+ });
145
+ ```
146
+
147
+ ### 错误 2:数据乱序导致折线错乱
148
+ ```javascript
149
+ // ❌ 错误:数据顺序混乱,折线会连错
150
+ const data = [
151
+ { date: new Date('2024-03-01'), value: 110 },
152
+ { date: new Date('2024-01-01'), value: 100 }, // 时间倒序
153
+ ];
154
+
155
+ // ✅ 正确:按时间排序后再传入
156
+ const data = rawData
157
+ .map(d => ({ ...d, date: new Date(d.date) }))
158
+ .sort((a, b) => a.date - b.date);
159
+ ```