@ggts-sh/spec 0.43.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (679) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +75 -0
  3. package/dist/artifact.d.ts +11 -0
  4. package/dist/artifact.d.ts.map +1 -0
  5. package/dist/artifact.js +71 -0
  6. package/dist/artifact.js.map +1 -0
  7. package/dist/builder-core.d.ts +100 -0
  8. package/dist/builder-core.d.ts.map +1 -0
  9. package/dist/builder-core.js +176 -0
  10. package/dist/builder-core.js.map +1 -0
  11. package/dist/builder-data.d.ts +36 -0
  12. package/dist/builder-data.d.ts.map +1 -0
  13. package/dist/builder-data.js +123 -0
  14. package/dist/builder-data.js.map +1 -0
  15. package/dist/builder-geoms.d.ts +128 -0
  16. package/dist/builder-geoms.d.ts.map +1 -0
  17. package/dist/builder-geoms.js +221 -0
  18. package/dist/builder-geoms.js.map +1 -0
  19. package/dist/builder-options.d.ts +323 -0
  20. package/dist/builder-options.d.ts.map +1 -0
  21. package/dist/builder-options.js +2 -0
  22. package/dist/builder-options.js.map +1 -0
  23. package/dist/builder-scales.d.ts +160 -0
  24. package/dist/builder-scales.d.ts.map +1 -0
  25. package/dist/builder-scales.js +322 -0
  26. package/dist/builder-scales.js.map +1 -0
  27. package/dist/builder.d.ts +242 -0
  28. package/dist/builder.d.ts.map +1 -0
  29. package/dist/builder.js +42 -0
  30. package/dist/builder.js.map +1 -0
  31. package/dist/capabilities-data.d.ts +72 -0
  32. package/dist/capabilities-data.d.ts.map +1 -0
  33. package/dist/capabilities-data.js +337 -0
  34. package/dist/capabilities-data.js.map +1 -0
  35. package/dist/capabilities-helpers.d.ts +31 -0
  36. package/dist/capabilities-helpers.d.ts.map +1 -0
  37. package/dist/capabilities-helpers.js +41 -0
  38. package/dist/capabilities-helpers.js.map +1 -0
  39. package/dist/capabilities.d.ts +22 -0
  40. package/dist/capabilities.d.ts.map +1 -0
  41. package/dist/capabilities.js +154 -0
  42. package/dist/capabilities.js.map +1 -0
  43. package/dist/coord-helpers.d.ts +102 -0
  44. package/dist/coord-helpers.d.ts.map +1 -0
  45. package/dist/coord-helpers.js +90 -0
  46. package/dist/coord-helpers.js.map +1 -0
  47. package/dist/coord-reference-build.d.ts +50 -0
  48. package/dist/coord-reference-build.d.ts.map +1 -0
  49. package/dist/coord-reference-build.js +211 -0
  50. package/dist/coord-reference-build.js.map +1 -0
  51. package/dist/coord-reference.d.ts +52 -0
  52. package/dist/coord-reference.d.ts.map +1 -0
  53. package/dist/coord-reference.js +27 -0
  54. package/dist/coord-reference.js.map +1 -0
  55. package/dist/error-catalog.d.ts +258 -0
  56. package/dist/error-catalog.d.ts.map +1 -0
  57. package/dist/error-catalog.js +235 -0
  58. package/dist/error-catalog.js.map +1 -0
  59. package/dist/error-prose-shared.d.ts +100 -0
  60. package/dist/error-prose-shared.d.ts.map +1 -0
  61. package/dist/error-prose-shared.js +95 -0
  62. package/dist/error-prose-shared.js.map +1 -0
  63. package/dist/errors.d.ts +39 -0
  64. package/dist/errors.d.ts.map +1 -0
  65. package/dist/errors.js +52 -0
  66. package/dist/errors.js.map +1 -0
  67. package/dist/generated/coord-reference-data.d.ts +189 -0
  68. package/dist/generated/coord-reference-data.d.ts.map +1 -0
  69. package/dist/generated/coord-reference-data.js +212 -0
  70. package/dist/generated/coord-reference-data.js.map +1 -0
  71. package/dist/generated/geom-param-keys.d.ts +58 -0
  72. package/dist/generated/geom-param-keys.d.ts.map +1 -0
  73. package/dist/generated/geom-param-keys.js +223 -0
  74. package/dist/generated/geom-param-keys.js.map +1 -0
  75. package/dist/generated/geom-reference-data.d.ts +2377 -0
  76. package/dist/generated/geom-reference-data.d.ts.map +1 -0
  77. package/dist/generated/geom-reference-data.js +2790 -0
  78. package/dist/generated/geom-reference-data.js.map +1 -0
  79. package/dist/generated/guide-reference-data.d.ts +219 -0
  80. package/dist/generated/guide-reference-data.d.ts.map +1 -0
  81. package/dist/generated/guide-reference-data.js +253 -0
  82. package/dist/generated/guide-reference-data.js.map +1 -0
  83. package/dist/generated/plot-spec-validator.d.ts +2 -0
  84. package/dist/generated/plot-spec-validator.d.ts.map +1 -0
  85. package/dist/generated/plot-spec-validator.js +6274 -0
  86. package/dist/generated/plot-spec-validator.js.map +1 -0
  87. package/dist/generated/position-reference-data.d.ts +82 -0
  88. package/dist/generated/position-reference-data.d.ts.map +1 -0
  89. package/dist/generated/position-reference-data.js +181 -0
  90. package/dist/generated/position-reference-data.js.map +1 -0
  91. package/dist/generated/scale-reference-data.d.ts +8366 -0
  92. package/dist/generated/scale-reference-data.d.ts.map +1 -0
  93. package/dist/generated/scale-reference-data.js +9821 -0
  94. package/dist/generated/scale-reference-data.js.map +1 -0
  95. package/dist/generated/stat-reference-data.d.ts +241 -0
  96. package/dist/generated/stat-reference-data.d.ts.map +1 -0
  97. package/dist/generated/stat-reference-data.js +311 -0
  98. package/dist/generated/stat-reference-data.js.map +1 -0
  99. package/dist/geom-params-build.d.ts +3 -0
  100. package/dist/geom-params-build.d.ts.map +1 -0
  101. package/dist/geom-params-build.js +80 -0
  102. package/dist/geom-params-build.js.map +1 -0
  103. package/dist/geom-params.d.ts +13 -0
  104. package/dist/geom-params.d.ts.map +1 -0
  105. package/dist/geom-params.js +7 -0
  106. package/dist/geom-params.js.map +1 -0
  107. package/dist/geom-reference-build.d.ts +29 -0
  108. package/dist/geom-reference-build.d.ts.map +1 -0
  109. package/dist/geom-reference-build.js +221 -0
  110. package/dist/geom-reference-build.js.map +1 -0
  111. package/dist/geom-reference.d.ts +52 -0
  112. package/dist/geom-reference.d.ts.map +1 -0
  113. package/dist/geom-reference.js +72 -0
  114. package/dist/geom-reference.js.map +1 -0
  115. package/dist/guide-helpers.d.ts +20 -0
  116. package/dist/guide-helpers.d.ts.map +1 -0
  117. package/dist/guide-helpers.js +25 -0
  118. package/dist/guide-helpers.js.map +1 -0
  119. package/dist/guide-reference-build.d.ts +42 -0
  120. package/dist/guide-reference-build.d.ts.map +1 -0
  121. package/dist/guide-reference-build.js +180 -0
  122. package/dist/guide-reference-build.js.map +1 -0
  123. package/dist/guide-reference.d.ts +48 -0
  124. package/dist/guide-reference.d.ts.map +1 -0
  125. package/dist/guide-reference.js +32 -0
  126. package/dist/guide-reference.js.map +1 -0
  127. package/dist/hue-grey-palettes.d.ts +15 -0
  128. package/dist/hue-grey-palettes.d.ts.map +1 -0
  129. package/dist/hue-grey-palettes.js +77 -0
  130. package/dist/hue-grey-palettes.js.map +1 -0
  131. package/dist/index.d.ts +364 -0
  132. package/dist/index.d.ts.map +1 -0
  133. package/dist/index.js +225 -0
  134. package/dist/index.js.map +1 -0
  135. package/dist/lint-catalog.d.ts +47 -0
  136. package/dist/lint-catalog.d.ts.map +1 -0
  137. package/dist/lint-catalog.js +39 -0
  138. package/dist/lint-catalog.js.map +1 -0
  139. package/dist/lint-layer-rules.d.ts +18 -0
  140. package/dist/lint-layer-rules.d.ts.map +1 -0
  141. package/dist/lint-layer-rules.js +145 -0
  142. package/dist/lint-layer-rules.js.map +1 -0
  143. package/dist/lint-scale-rules.d.ts +8 -0
  144. package/dist/lint-scale-rules.d.ts.map +1 -0
  145. package/dist/lint-scale-rules.js +254 -0
  146. package/dist/lint-scale-rules.js.map +1 -0
  147. package/dist/lint.d.ts +62 -0
  148. package/dist/lint.d.ts.map +1 -0
  149. package/dist/lint.js +57 -0
  150. package/dist/lint.js.map +1 -0
  151. package/dist/normalize-coord.d.ts +8 -0
  152. package/dist/normalize-coord.d.ts.map +1 -0
  153. package/dist/normalize-coord.js +123 -0
  154. package/dist/normalize-coord.js.map +1 -0
  155. package/dist/normalize-input-layers-marks.d.ts +208 -0
  156. package/dist/normalize-input-layers-marks.d.ts.map +1 -0
  157. package/dist/normalize-input-layers-marks.js +2 -0
  158. package/dist/normalize-input-layers-marks.js.map +1 -0
  159. package/dist/normalize-input-layers-special.d.ts +131 -0
  160. package/dist/normalize-input-layers-special.d.ts.map +1 -0
  161. package/dist/normalize-input-layers-special.js +2 -0
  162. package/dist/normalize-input-layers-special.js.map +1 -0
  163. package/dist/normalize-input.d.ts +81 -0
  164. package/dist/normalize-input.d.ts.map +1 -0
  165. package/dist/normalize-input.js +2 -0
  166. package/dist/normalize-input.js.map +1 -0
  167. package/dist/normalize-paint.d.ts +8 -0
  168. package/dist/normalize-paint.d.ts.map +1 -0
  169. package/dist/normalize-paint.js +83 -0
  170. package/dist/normalize-paint.js.map +1 -0
  171. package/dist/normalize-scales.d.ts +7 -0
  172. package/dist/normalize-scales.d.ts.map +1 -0
  173. package/dist/normalize-scales.js +90 -0
  174. package/dist/normalize-scales.js.map +1 -0
  175. package/dist/normalize.d.ts +46 -0
  176. package/dist/normalize.d.ts.map +1 -0
  177. package/dist/normalize.js +279 -0
  178. package/dist/normalize.js.map +1 -0
  179. package/dist/paint-helpers.d.ts +45 -0
  180. package/dist/paint-helpers.d.ts.map +1 -0
  181. package/dist/paint-helpers.js +48 -0
  182. package/dist/paint-helpers.js.map +1 -0
  183. package/dist/pipeline-error-catalog.d.ts +319 -0
  184. package/dist/pipeline-error-catalog.d.ts.map +1 -0
  185. package/dist/pipeline-error-catalog.js +260 -0
  186. package/dist/pipeline-error-catalog.js.map +1 -0
  187. package/dist/portability-check.d.ts +35 -0
  188. package/dist/portability-check.d.ts.map +1 -0
  189. package/dist/portability-check.js +121 -0
  190. package/dist/portability-check.js.map +1 -0
  191. package/dist/portability-lossy.d.ts +19 -0
  192. package/dist/portability-lossy.d.ts.map +1 -0
  193. package/dist/portability-lossy.js +65 -0
  194. package/dist/portability-lossy.js.map +1 -0
  195. package/dist/portability.d.ts +23 -0
  196. package/dist/portability.d.ts.map +1 -0
  197. package/dist/portability.js +23 -0
  198. package/dist/portability.js.map +1 -0
  199. package/dist/portable-builder.d.ts +215 -0
  200. package/dist/portable-builder.d.ts.map +1 -0
  201. package/dist/portable-builder.js +27 -0
  202. package/dist/portable-builder.js.map +1 -0
  203. package/dist/portable-entry.d.ts +16 -0
  204. package/dist/portable-entry.d.ts.map +1 -0
  205. package/dist/portable-entry.js +14 -0
  206. package/dist/portable-entry.js.map +1 -0
  207. package/dist/position-reference-build.d.ts +29 -0
  208. package/dist/position-reference-build.d.ts.map +1 -0
  209. package/dist/position-reference-build.js +115 -0
  210. package/dist/position-reference-build.js.map +1 -0
  211. package/dist/position-reference.d.ts +34 -0
  212. package/dist/position-reference.d.ts.map +1 -0
  213. package/dist/position-reference.js +19 -0
  214. package/dist/position-reference.js.map +1 -0
  215. package/dist/runtime.d.ts +139 -0
  216. package/dist/runtime.d.ts.map +1 -0
  217. package/dist/runtime.js +2 -0
  218. package/dist/runtime.js.map +1 -0
  219. package/dist/scale-color-helpers.d.ts +121 -0
  220. package/dist/scale-color-helpers.d.ts.map +1 -0
  221. package/dist/scale-color-helpers.js +188 -0
  222. package/dist/scale-color-helpers.js.map +1 -0
  223. package/dist/scale-color-hue-grey.d.ts +52 -0
  224. package/dist/scale-color-hue-grey.d.ts.map +1 -0
  225. package/dist/scale-color-hue-grey.js +60 -0
  226. package/dist/scale-color-hue-grey.js.map +1 -0
  227. package/dist/scale-color-stops.d.ts +85 -0
  228. package/dist/scale-color-stops.d.ts.map +1 -0
  229. package/dist/scale-color-stops.js +87 -0
  230. package/dist/scale-color-stops.js.map +1 -0
  231. package/dist/scale-color-viridis.d.ts +52 -0
  232. package/dist/scale-color-viridis.d.ts.map +1 -0
  233. package/dist/scale-color-viridis.js +68 -0
  234. package/dist/scale-color-viridis.js.map +1 -0
  235. package/dist/scale-helpers.d.ts +20 -0
  236. package/dist/scale-helpers.d.ts.map +1 -0
  237. package/dist/scale-helpers.js +20 -0
  238. package/dist/scale-helpers.js.map +1 -0
  239. package/dist/scale-multi-helpers.d.ts +61 -0
  240. package/dist/scale-multi-helpers.d.ts.map +1 -0
  241. package/dist/scale-multi-helpers.js +147 -0
  242. package/dist/scale-multi-helpers.js.map +1 -0
  243. package/dist/scale-position-helpers.d.ts +81 -0
  244. package/dist/scale-position-helpers.d.ts.map +1 -0
  245. package/dist/scale-position-helpers.js +133 -0
  246. package/dist/scale-position-helpers.js.map +1 -0
  247. package/dist/scale-reference-build.d.ts +50 -0
  248. package/dist/scale-reference-build.d.ts.map +1 -0
  249. package/dist/scale-reference-build.js +147 -0
  250. package/dist/scale-reference-build.js.map +1 -0
  251. package/dist/scale-reference-classify-color.d.ts +11 -0
  252. package/dist/scale-reference-classify-color.d.ts.map +1 -0
  253. package/dist/scale-reference-classify-color.js +292 -0
  254. package/dist/scale-reference-classify-color.js.map +1 -0
  255. package/dist/scale-reference-classify-position.d.ts +10 -0
  256. package/dist/scale-reference-classify-position.d.ts.map +1 -0
  257. package/dist/scale-reference-classify-position.js +137 -0
  258. package/dist/scale-reference-classify-position.js.map +1 -0
  259. package/dist/scale-reference-classify-style.d.ts +10 -0
  260. package/dist/scale-reference-classify-style.d.ts.map +1 -0
  261. package/dist/scale-reference-classify-style.js +194 -0
  262. package/dist/scale-reference-classify-style.js.map +1 -0
  263. package/dist/scale-reference-classify-support.d.ts +37 -0
  264. package/dist/scale-reference-classify-support.d.ts.map +1 -0
  265. package/dist/scale-reference-classify-support.js +206 -0
  266. package/dist/scale-reference-classify-support.js.map +1 -0
  267. package/dist/scale-reference.d.ts +80 -0
  268. package/dist/scale-reference.d.ts.map +1 -0
  269. package/dist/scale-reference.js +85 -0
  270. package/dist/scale-reference.js.map +1 -0
  271. package/dist/scale-style-helpers.d.ts +158 -0
  272. package/dist/scale-style-helpers.d.ts.map +1 -0
  273. package/dist/scale-style-helpers.js +197 -0
  274. package/dist/scale-style-helpers.js.map +1 -0
  275. package/dist/schema-catalog.d.ts +62 -0
  276. package/dist/schema-catalog.d.ts.map +1 -0
  277. package/dist/schema-catalog.js +208 -0
  278. package/dist/schema-catalog.js.map +1 -0
  279. package/dist/schema-declarations.d.ts +1585 -0
  280. package/dist/schema-declarations.d.ts.map +1 -0
  281. package/dist/schema-declarations.js +51 -0
  282. package/dist/schema-declarations.js.map +1 -0
  283. package/dist/schema-decls-data.d.ts +58 -0
  284. package/dist/schema-decls-data.d.ts.map +1 -0
  285. package/dist/schema-decls-data.js +151 -0
  286. package/dist/schema-decls-data.js.map +1 -0
  287. package/dist/schema-decls-guides-theme.d.ts +166 -0
  288. package/dist/schema-decls-guides-theme.d.ts.map +1 -0
  289. package/dist/schema-decls-guides-theme.js +251 -0
  290. package/dist/schema-decls-guides-theme.js.map +1 -0
  291. package/dist/schema-decls-layers-col-boxplot.d.ts +118 -0
  292. package/dist/schema-decls-layers-col-boxplot.d.ts.map +1 -0
  293. package/dist/schema-decls-layers-col-boxplot.js +239 -0
  294. package/dist/schema-decls-layers-col-boxplot.js.map +1 -0
  295. package/dist/schema-decls-layers-count-pointrange.d.ts +89 -0
  296. package/dist/schema-decls-layers-count-pointrange.d.ts.map +1 -0
  297. package/dist/schema-decls-layers-count-pointrange.js +190 -0
  298. package/dist/schema-decls-layers-count-pointrange.js.map +1 -0
  299. package/dist/schema-decls-layers-crossbar-jitter.d.ts +129 -0
  300. package/dist/schema-decls-layers-crossbar-jitter.d.ts.map +1 -0
  301. package/dist/schema-decls-layers-crossbar-jitter.js +255 -0
  302. package/dist/schema-decls-layers-crossbar-jitter.js.map +1 -0
  303. package/dist/schema-decls-layers-point-path.d.ts +49 -0
  304. package/dist/schema-decls-layers-point-path.d.ts.map +1 -0
  305. package/dist/schema-decls-layers-point-path.js +156 -0
  306. package/dist/schema-decls-layers-point-path.js.map +1 -0
  307. package/dist/schema-decls-layers-sf-blank.d.ts +89 -0
  308. package/dist/schema-decls-layers-sf-blank.d.ts.map +1 -0
  309. package/dist/schema-decls-layers-sf-blank.js +254 -0
  310. package/dist/schema-decls-layers-sf-blank.js.map +1 -0
  311. package/dist/schema-decls-layers-text-map.d.ts +80 -0
  312. package/dist/schema-decls-layers-text-map.d.ts.map +1 -0
  313. package/dist/schema-decls-layers-text-map.js +151 -0
  314. package/dist/schema-decls-layers-text-map.js.map +1 -0
  315. package/dist/schema-decls-paint.d.ts +39 -0
  316. package/dist/schema-decls-paint.d.ts.map +1 -0
  317. package/dist/schema-decls-paint.js +95 -0
  318. package/dist/schema-decls-paint.js.map +1 -0
  319. package/dist/schema-decls-params-area-abline.d.ts +85 -0
  320. package/dist/schema-decls-params-area-abline.d.ts.map +1 -0
  321. package/dist/schema-decls-params-area-abline.js +259 -0
  322. package/dist/schema-decls-params-area-abline.js.map +1 -0
  323. package/dist/schema-decls-params-col-contour.d.ts +61 -0
  324. package/dist/schema-decls-params-col-contour.d.ts.map +1 -0
  325. package/dist/schema-decls-params-col-contour.js +202 -0
  326. package/dist/schema-decls-params-col-contour.js.map +1 -0
  327. package/dist/schema-decls-params-curve-label.d.ts +64 -0
  328. package/dist/schema-decls-params-curve-label.d.ts.map +1 -0
  329. package/dist/schema-decls-params-curve-label.js +204 -0
  330. package/dist/schema-decls-params-curve-label.js.map +1 -0
  331. package/dist/schema-decls-params-errorbar-position.d.ts +83 -0
  332. package/dist/schema-decls-params-errorbar-position.d.ts.map +1 -0
  333. package/dist/schema-decls-params-errorbar-position.js +264 -0
  334. package/dist/schema-decls-params-errorbar-position.js.map +1 -0
  335. package/dist/schema-decls-params-point-path.d.ts +61 -0
  336. package/dist/schema-decls-params-point-path.d.ts.map +1 -0
  337. package/dist/schema-decls-params-point-path.js +240 -0
  338. package/dist/schema-decls-params-point-path.js.map +1 -0
  339. package/dist/schema-decls-params-violin-summary.d.ts +78 -0
  340. package/dist/schema-decls-params-violin-summary.d.ts.map +1 -0
  341. package/dist/schema-decls-params-violin-summary.js +272 -0
  342. package/dist/schema-decls-params-violin-summary.js.map +1 -0
  343. package/dist/schema-decls-plot.d.ts +80 -0
  344. package/dist/schema-decls-plot.d.ts.map +1 -0
  345. package/dist/schema-decls-plot.js +222 -0
  346. package/dist/schema-decls-plot.js.map +1 -0
  347. package/dist/schema-decls-scales-guides.d.ts +291 -0
  348. package/dist/schema-decls-scales-guides.d.ts.map +1 -0
  349. package/dist/schema-decls-scales-guides.js +189 -0
  350. package/dist/schema-decls-scales-guides.js.map +1 -0
  351. package/dist/schema-decls-scales.d.ts +124 -0
  352. package/dist/schema-decls-scales.d.ts.map +1 -0
  353. package/dist/schema-decls-scales.js +279 -0
  354. package/dist/schema-decls-scales.js.map +1 -0
  355. package/dist/schema-imports.d.ts +1679 -0
  356. package/dist/schema-imports.d.ts.map +1 -0
  357. package/dist/schema-imports.js +104 -0
  358. package/dist/schema-imports.js.map +1 -0
  359. package/dist/schema-name-schemas.d.ts +18 -0
  360. package/dist/schema-name-schemas.d.ts.map +1 -0
  361. package/dist/schema-name-schemas.js +13 -0
  362. package/dist/schema-name-schemas.js.map +1 -0
  363. package/dist/schema-names.d.ts +53 -0
  364. package/dist/schema-names.d.ts.map +1 -0
  365. package/dist/schema-names.js +229 -0
  366. package/dist/schema-names.js.map +1 -0
  367. package/dist/schema-types.d.ts +336 -0
  368. package/dist/schema-types.d.ts.map +1 -0
  369. package/dist/schema-types.js +10 -0
  370. package/dist/schema-types.js.map +1 -0
  371. package/dist/schema.d.ts +38 -0
  372. package/dist/schema.d.ts.map +1 -0
  373. package/dist/schema.js +34 -0
  374. package/dist/schema.js.map +1 -0
  375. package/dist/stat-reference-build.d.ts +24 -0
  376. package/dist/stat-reference-build.d.ts.map +1 -0
  377. package/dist/stat-reference-build.js +86 -0
  378. package/dist/stat-reference-build.js.map +1 -0
  379. package/dist/stat-reference.d.ts +33 -0
  380. package/dist/stat-reference.d.ts.map +1 -0
  381. package/dist/stat-reference.js +19 -0
  382. package/dist/stat-reference.js.map +1 -0
  383. package/dist/structural-gate.d.ts +15 -0
  384. package/dist/structural-gate.d.ts.map +1 -0
  385. package/dist/structural-gate.js +34 -0
  386. package/dist/structural-gate.js.map +1 -0
  387. package/dist/temporal-column.d.ts +33 -0
  388. package/dist/temporal-column.d.ts.map +1 -0
  389. package/dist/temporal-column.js +247 -0
  390. package/dist/temporal-column.js.map +1 -0
  391. package/dist/temporal-guides.d.ts +11 -0
  392. package/dist/temporal-guides.d.ts.map +1 -0
  393. package/dist/temporal-guides.js +11 -0
  394. package/dist/temporal-guides.js.map +1 -0
  395. package/dist/temporal-interval-schema.d.ts +9 -0
  396. package/dist/temporal-interval-schema.d.ts.map +1 -0
  397. package/dist/temporal-interval-schema.js +25 -0
  398. package/dist/temporal-interval-schema.js.map +1 -0
  399. package/dist/temporal-interval.d.ts +29 -0
  400. package/dist/temporal-interval.d.ts.map +1 -0
  401. package/dist/temporal-interval.js +122 -0
  402. package/dist/temporal-interval.js.map +1 -0
  403. package/dist/temporal-parse-core.d.ts +96 -0
  404. package/dist/temporal-parse-core.d.ts.map +1 -0
  405. package/dist/temporal-parse-core.js +235 -0
  406. package/dist/temporal-parse-core.js.map +1 -0
  407. package/dist/temporal-parse-format.d.ts +13 -0
  408. package/dist/temporal-parse-format.d.ts.map +1 -0
  409. package/dist/temporal-parse-format.js +180 -0
  410. package/dist/temporal-parse-format.js.map +1 -0
  411. package/dist/temporal-parse-schema.d.ts +11 -0
  412. package/dist/temporal-parse-schema.d.ts.map +1 -0
  413. package/dist/temporal-parse-schema.js +23 -0
  414. package/dist/temporal-parse-schema.js.map +1 -0
  415. package/dist/temporal-parse.d.ts +18 -0
  416. package/dist/temporal-parse.d.ts.map +1 -0
  417. package/dist/temporal-parse.js +183 -0
  418. package/dist/temporal-parse.js.map +1 -0
  419. package/dist/temporal-polyfill.d.ts +3 -0
  420. package/dist/temporal-polyfill.d.ts.map +1 -0
  421. package/dist/temporal-polyfill.js +25 -0
  422. package/dist/temporal-polyfill.js.map +1 -0
  423. package/dist/temporal-ticks.d.ts +20 -0
  424. package/dist/temporal-ticks.d.ts.map +1 -0
  425. package/dist/temporal-ticks.js +246 -0
  426. package/dist/temporal-ticks.js.map +1 -0
  427. package/dist/temporal.d.ts +109 -0
  428. package/dist/temporal.d.ts.map +1 -0
  429. package/dist/temporal.js +73 -0
  430. package/dist/temporal.js.map +1 -0
  431. package/dist/validate-data-checks-color-temporal.d.ts +58 -0
  432. package/dist/validate-data-checks-color-temporal.d.ts.map +1 -0
  433. package/dist/validate-data-checks-color-temporal.js +168 -0
  434. package/dist/validate-data-checks-color-temporal.js.map +1 -0
  435. package/dist/validate-data-checks-color.d.ts +28 -0
  436. package/dist/validate-data-checks-color.d.ts.map +1 -0
  437. package/dist/validate-data-checks-color.js +296 -0
  438. package/dist/validate-data-checks-color.js.map +1 -0
  439. package/dist/validate-data-checks-layer.d.ts +37 -0
  440. package/dist/validate-data-checks-layer.d.ts.map +1 -0
  441. package/dist/validate-data-checks-layer.js +343 -0
  442. package/dist/validate-data-checks-layer.js.map +1 -0
  443. package/dist/validate-data-checks-position.d.ts +45 -0
  444. package/dist/validate-data-checks-position.d.ts.map +1 -0
  445. package/dist/validate-data-checks-position.js +204 -0
  446. package/dist/validate-data-checks-position.js.map +1 -0
  447. package/dist/validate-data-checks-style-finite.d.ts +24 -0
  448. package/dist/validate-data-checks-style-finite.d.ts.map +1 -0
  449. package/dist/validate-data-checks-style-finite.js +40 -0
  450. package/dist/validate-data-checks-style-finite.js.map +1 -0
  451. package/dist/validate-data-checks-style-numeric.d.ts +26 -0
  452. package/dist/validate-data-checks-style-numeric.d.ts.map +1 -0
  453. package/dist/validate-data-checks-style-numeric.js +327 -0
  454. package/dist/validate-data-checks-style-numeric.js.map +1 -0
  455. package/dist/validate-data-checks-style.d.ts +14 -0
  456. package/dist/validate-data-checks-style.d.ts.map +1 -0
  457. package/dist/validate-data-checks-style.js +14 -0
  458. package/dist/validate-data-checks-style.js.map +1 -0
  459. package/dist/validate-data-checks-temporal.d.ts +57 -0
  460. package/dist/validate-data-checks-temporal.d.ts.map +1 -0
  461. package/dist/validate-data-checks-temporal.js +83 -0
  462. package/dist/validate-data-checks-temporal.js.map +1 -0
  463. package/dist/validate-data-checks.d.ts +31 -0
  464. package/dist/validate-data-checks.d.ts.map +1 -0
  465. package/dist/validate-data-checks.js +110 -0
  466. package/dist/validate-data-checks.js.map +1 -0
  467. package/dist/validate-data-evidence.d.ts +69 -0
  468. package/dist/validate-data-evidence.d.ts.map +1 -0
  469. package/dist/validate-data-evidence.js +329 -0
  470. package/dist/validate-data-evidence.js.map +1 -0
  471. package/dist/validate-data.d.ts +73 -0
  472. package/dist/validate-data.d.ts.map +1 -0
  473. package/dist/validate-data.js +30 -0
  474. package/dist/validate-data.js.map +1 -0
  475. package/dist/validate-map-errors.d.ts +32 -0
  476. package/dist/validate-map-errors.d.ts.map +1 -0
  477. package/dist/validate-map-errors.js +76 -0
  478. package/dist/validate-map-errors.js.map +1 -0
  479. package/dist/validate-map-forms.d.ts +43 -0
  480. package/dist/validate-map-forms.d.ts.map +1 -0
  481. package/dist/validate-map-forms.js +125 -0
  482. package/dist/validate-map-forms.js.map +1 -0
  483. package/dist/validate-map-path-keywords.d.ts +11 -0
  484. package/dist/validate-map-path-keywords.d.ts.map +1 -0
  485. package/dist/validate-map-path-keywords.js +95 -0
  486. package/dist/validate-map-path-keywords.js.map +1 -0
  487. package/dist/validate-map-path-unions.d.ts +27 -0
  488. package/dist/validate-map-path-unions.d.ts.map +1 -0
  489. package/dist/validate-map-path-unions.js +200 -0
  490. package/dist/validate-map-path-unions.js.map +1 -0
  491. package/dist/validate-schema-shape.d.ts +69 -0
  492. package/dist/validate-schema-shape.d.ts.map +1 -0
  493. package/dist/validate-schema-shape.js +156 -0
  494. package/dist/validate-schema-shape.js.map +1 -0
  495. package/dist/validate-schema-walk.d.ts +34 -0
  496. package/dist/validate-schema-walk.d.ts.map +1 -0
  497. package/dist/validate-schema-walk.js +216 -0
  498. package/dist/validate-schema-walk.js.map +1 -0
  499. package/dist/validate-structure-facet.d.ts +8 -0
  500. package/dist/validate-structure-facet.d.ts.map +1 -0
  501. package/dist/validate-structure-facet.js +67 -0
  502. package/dist/validate-structure-facet.js.map +1 -0
  503. package/dist/validate-structure-layer-computed-y.d.ts +14 -0
  504. package/dist/validate-structure-layer-computed-y.d.ts.map +1 -0
  505. package/dist/validate-structure-layer-computed-y.js +70 -0
  506. package/dist/validate-structure-layer-computed-y.js.map +1 -0
  507. package/dist/validate-structure-layer-ribbon.d.ts +8 -0
  508. package/dist/validate-structure-layer-ribbon.d.ts.map +1 -0
  509. package/dist/validate-structure-layer-ribbon.js +36 -0
  510. package/dist/validate-structure-layer-ribbon.js.map +1 -0
  511. package/dist/validate-structure-layer-rule.d.ts +14 -0
  512. package/dist/validate-structure-layer-rule.d.ts.map +1 -0
  513. package/dist/validate-structure-layer-rule.js +90 -0
  514. package/dist/validate-structure-layer-rule.js.map +1 -0
  515. package/dist/validate-structure-layer-shared.d.ts +12 -0
  516. package/dist/validate-structure-layer-shared.d.ts.map +1 -0
  517. package/dist/validate-structure-layer-shared.js +17 -0
  518. package/dist/validate-structure-layer-shared.js.map +1 -0
  519. package/dist/validate-structure-layers.d.ts +12 -0
  520. package/dist/validate-structure-layers.d.ts.map +1 -0
  521. package/dist/validate-structure-layers.js +292 -0
  522. package/dist/validate-structure-layers.js.map +1 -0
  523. package/dist/validate-structure-paint.d.ts +12 -0
  524. package/dist/validate-structure-paint.d.ts.map +1 -0
  525. package/dist/validate-structure-paint.js +87 -0
  526. package/dist/validate-structure-paint.js.map +1 -0
  527. package/dist/validate-structure-scales.d.ts +10 -0
  528. package/dist/validate-structure-scales.d.ts.map +1 -0
  529. package/dist/validate-structure-scales.js +242 -0
  530. package/dist/validate-structure-scales.js.map +1 -0
  531. package/dist/validate-structure-style-bins.d.ts +17 -0
  532. package/dist/validate-structure-style-bins.d.ts.map +1 -0
  533. package/dist/validate-structure-style-bins.js +150 -0
  534. package/dist/validate-structure-style-bins.js.map +1 -0
  535. package/dist/validate-structure.d.ts +16 -0
  536. package/dist/validate-structure.d.ts.map +1 -0
  537. package/dist/validate-structure.js +16 -0
  538. package/dist/validate-structure.js.map +1 -0
  539. package/dist/validate.d.ts +24 -0
  540. package/dist/validate.d.ts.map +1 -0
  541. package/dist/validate.js +178 -0
  542. package/dist/validate.js.map +1 -0
  543. package/package.json +59 -0
  544. package/schema/v0.json +9618 -0
  545. package/src/artifact.ts +81 -0
  546. package/src/builder-core.ts +276 -0
  547. package/src/builder-data.ts +156 -0
  548. package/src/builder-geoms.ts +290 -0
  549. package/src/builder-options.ts +428 -0
  550. package/src/builder-scales.ts +443 -0
  551. package/src/builder.ts +125 -0
  552. package/src/capabilities-data.ts +336 -0
  553. package/src/capabilities-helpers.ts +54 -0
  554. package/src/capabilities.ts +159 -0
  555. package/src/coord-helpers.ts +177 -0
  556. package/src/coord-reference-build.ts +283 -0
  557. package/src/coord-reference.ts +75 -0
  558. package/src/error-catalog.ts +253 -0
  559. package/src/error-prose-shared.ts +106 -0
  560. package/src/errors.ts +87 -0
  561. package/src/generated/coord-reference-data.ts +235 -0
  562. package/src/generated/geom-param-keys.ts +222 -0
  563. package/src/generated/geom-reference-data.ts +3024 -0
  564. package/src/generated/guide-reference-data.ts +284 -0
  565. package/src/generated/plot-spec-validator.ts +7335 -0
  566. package/src/generated/position-reference-data.ts +191 -0
  567. package/src/generated/scale-reference-data.ts +10665 -0
  568. package/src/generated/stat-reference-data.ts +339 -0
  569. package/src/geom-params-build.ts +92 -0
  570. package/src/geom-params.ts +14 -0
  571. package/src/geom-reference-build.ts +292 -0
  572. package/src/geom-reference.ts +127 -0
  573. package/src/guide-helpers.ts +44 -0
  574. package/src/guide-reference-build.ts +249 -0
  575. package/src/guide-reference.ts +76 -0
  576. package/src/hue-grey-palettes.ts +82 -0
  577. package/src/index.ts +400 -0
  578. package/src/lint-catalog.ts +57 -0
  579. package/src/lint-layer-rules.ts +175 -0
  580. package/src/lint-scale-rules.ts +285 -0
  581. package/src/lint.ts +126 -0
  582. package/src/normalize-coord.ts +126 -0
  583. package/src/normalize-input-layers-marks.ts +276 -0
  584. package/src/normalize-input-layers-special.ts +252 -0
  585. package/src/normalize-input.ts +154 -0
  586. package/src/normalize-paint.ts +98 -0
  587. package/src/normalize-scales.ts +108 -0
  588. package/src/normalize.ts +403 -0
  589. package/src/paint-helpers.ts +98 -0
  590. package/src/pipeline-error-catalog.ts +278 -0
  591. package/src/portability-check.ts +155 -0
  592. package/src/portability-lossy.ts +81 -0
  593. package/src/portability.ts +31 -0
  594. package/src/portable-builder.ts +35 -0
  595. package/src/portable-entry.ts +37 -0
  596. package/src/position-reference-build.ts +164 -0
  597. package/src/position-reference.ts +41 -0
  598. package/src/runtime.ts +198 -0
  599. package/src/scale-color-helpers.ts +263 -0
  600. package/src/scale-color-hue-grey.ts +95 -0
  601. package/src/scale-color-stops.ts +177 -0
  602. package/src/scale-color-viridis.ts +99 -0
  603. package/src/scale-helpers.ts +264 -0
  604. package/src/scale-multi-helpers.ts +220 -0
  605. package/src/scale-position-helpers.ts +231 -0
  606. package/src/scale-reference-build.ts +222 -0
  607. package/src/scale-reference-classify-color.ts +334 -0
  608. package/src/scale-reference-classify-position.ts +164 -0
  609. package/src/scale-reference-classify-style.ts +229 -0
  610. package/src/scale-reference-classify-support.ts +298 -0
  611. package/src/scale-reference.ts +165 -0
  612. package/src/scale-style-helpers.ts +316 -0
  613. package/src/schema-catalog.ts +222 -0
  614. package/src/schema-declarations.ts +51 -0
  615. package/src/schema-decls-data.ts +272 -0
  616. package/src/schema-decls-guides-theme.ts +395 -0
  617. package/src/schema-decls-layers-col-boxplot.ts +410 -0
  618. package/src/schema-decls-layers-count-pointrange.ts +321 -0
  619. package/src/schema-decls-layers-crossbar-jitter.ts +443 -0
  620. package/src/schema-decls-layers-point-path.ts +246 -0
  621. package/src/schema-decls-layers-sf-blank.ts +408 -0
  622. package/src/schema-decls-layers-text-map.ts +259 -0
  623. package/src/schema-decls-paint.ts +124 -0
  624. package/src/schema-decls-params-area-abline.ts +440 -0
  625. package/src/schema-decls-params-col-contour.ts +333 -0
  626. package/src/schema-decls-params-curve-label.ts +343 -0
  627. package/src/schema-decls-params-errorbar-position.ts +446 -0
  628. package/src/schema-decls-params-point-path.ts +394 -0
  629. package/src/schema-decls-params-violin-summary.ts +447 -0
  630. package/src/schema-decls-plot.ts +385 -0
  631. package/src/schema-decls-scales-guides.ts +233 -0
  632. package/src/schema-decls-scales.ts +432 -0
  633. package/src/schema-imports.ts +116 -0
  634. package/src/schema-name-schemas.ts +37 -0
  635. package/src/schema-names.ts +243 -0
  636. package/src/schema-types.ts +400 -0
  637. package/src/schema.ts +287 -0
  638. package/src/stat-reference-build.ts +145 -0
  639. package/src/stat-reference.ts +38 -0
  640. package/src/structural-gate.ts +42 -0
  641. package/src/temporal-column.ts +323 -0
  642. package/src/temporal-guides.ts +32 -0
  643. package/src/temporal-interval-schema.ts +40 -0
  644. package/src/temporal-interval.ts +151 -0
  645. package/src/temporal-parse-core.ts +331 -0
  646. package/src/temporal-parse-format.ts +222 -0
  647. package/src/temporal-parse-schema.ts +38 -0
  648. package/src/temporal-parse.ts +259 -0
  649. package/src/temporal-polyfill.ts +27 -0
  650. package/src/temporal-ticks.ts +312 -0
  651. package/src/temporal.ts +112 -0
  652. package/src/validate-data-checks-color-temporal.ts +261 -0
  653. package/src/validate-data-checks-color.ts +395 -0
  654. package/src/validate-data-checks-layer.ts +492 -0
  655. package/src/validate-data-checks-position.ts +275 -0
  656. package/src/validate-data-checks-style-finite.ts +55 -0
  657. package/src/validate-data-checks-style-numeric.ts +455 -0
  658. package/src/validate-data-checks-style.ts +13 -0
  659. package/src/validate-data-checks-temporal.ts +129 -0
  660. package/src/validate-data-checks.ts +157 -0
  661. package/src/validate-data-evidence.ts +419 -0
  662. package/src/validate-data.ts +114 -0
  663. package/src/validate-map-errors.ts +126 -0
  664. package/src/validate-map-forms.ts +148 -0
  665. package/src/validate-map-path-keywords.ts +129 -0
  666. package/src/validate-map-path-unions.ts +281 -0
  667. package/src/validate-schema-shape.ts +232 -0
  668. package/src/validate-schema-walk.ts +219 -0
  669. package/src/validate-structure-facet.ts +76 -0
  670. package/src/validate-structure-layer-computed-y.ts +94 -0
  671. package/src/validate-structure-layer-ribbon.ts +61 -0
  672. package/src/validate-structure-layer-rule.ts +98 -0
  673. package/src/validate-structure-layer-shared.ts +29 -0
  674. package/src/validate-structure-layers.ts +395 -0
  675. package/src/validate-structure-paint.ts +101 -0
  676. package/src/validate-structure-scales.ts +278 -0
  677. package/src/validate-structure-style-bins.ts +167 -0
  678. package/src/validate-structure.ts +16 -0
  679. package/src/validate.ts +212 -0
@@ -0,0 +1,443 @@
1
+ /**
2
+ * AUTO-GENERATED by scripts/gen-builder-scales.ts — do not edit by hand.
3
+ * Regenerate: bun run builder:scales:gen
4
+ *
5
+ * Fluent builder scale sugar methods (thin wrappers over scale-helpers).
6
+ * Source of truth: builderScaleHelperNames() from SCALE_CAPABILITIES.
7
+ * Core builder: builder-core.ts. Public GGBuilder: builder.ts.
8
+ */
9
+ import type { GGBuilder } from "./builder.js";
10
+ import {
11
+ scaleAlphaBinned,
12
+ scaleAlphaContinuous,
13
+ scaleAlphaDate,
14
+ scaleAlphaDatetime,
15
+ scaleAlphaDiscrete,
16
+ scaleAlphaIdentity,
17
+ scaleAlphaManual,
18
+ scaleAlphaOrdinal,
19
+ scaleColorBinned,
20
+ scaleColorBrewer,
21
+ scaleColorContinuous,
22
+ scaleColorDate,
23
+ scaleColorDatetime,
24
+ scaleColorDiscrete,
25
+ scaleColorDistiller,
26
+ scaleColorFermenter,
27
+ scaleColorGradient,
28
+ scaleColorGradient2,
29
+ scaleColorGradientn,
30
+ scaleColorGrey,
31
+ scaleColorHue,
32
+ scaleColorIdentity,
33
+ scaleColorLog10,
34
+ scaleColorManual,
35
+ scaleColorOrdinal,
36
+ scaleColorSqrt,
37
+ scaleColorSteps,
38
+ scaleColorSteps2,
39
+ scaleColorStepsn,
40
+ scaleColorViridisB,
41
+ scaleColorViridisC,
42
+ scaleColorViridisD,
43
+ scaleFillBinned,
44
+ scaleFillBrewer,
45
+ scaleFillContinuous,
46
+ scaleFillDate,
47
+ scaleFillDatetime,
48
+ scaleFillDiscrete,
49
+ scaleFillDistiller,
50
+ scaleFillFermenter,
51
+ scaleFillGradient,
52
+ scaleFillGradient2,
53
+ scaleFillGradientn,
54
+ scaleFillGrey,
55
+ scaleFillHue,
56
+ scaleFillIdentity,
57
+ scaleFillLog10,
58
+ scaleFillManual,
59
+ scaleFillOrdinal,
60
+ scaleFillSqrt,
61
+ scaleFillSteps,
62
+ scaleFillSteps2,
63
+ scaleFillStepsn,
64
+ scaleFillViridisB,
65
+ scaleFillViridisC,
66
+ scaleFillViridisD,
67
+ scaleLinetypeBinned,
68
+ scaleLinetypeDiscrete,
69
+ scaleLinetypeIdentity,
70
+ scaleLinetypeManual,
71
+ scaleLinewidthBinned,
72
+ scaleLinewidthContinuous,
73
+ scaleLinewidthDate,
74
+ scaleLinewidthDatetime,
75
+ scaleLinewidthDiscrete,
76
+ scaleLinewidthIdentity,
77
+ scaleLinewidthManual,
78
+ scaleLinewidthOrdinal,
79
+ scaleRadius,
80
+ scaleShapeBinned,
81
+ scaleShapeDiscrete,
82
+ scaleShapeIdentity,
83
+ scaleShapeManual,
84
+ scaleShapeOrdinal,
85
+ scaleSizeArea,
86
+ scaleSizeBinned,
87
+ scaleSizeBinnedArea,
88
+ scaleSizeContinuous,
89
+ scaleSizeDate,
90
+ scaleSizeDatetime,
91
+ scaleSizeDiscrete,
92
+ scaleSizeIdentity,
93
+ scaleSizeManual,
94
+ scaleSizeOrdinal,
95
+ scaleXBinned,
96
+ scaleXContinuous,
97
+ scaleXDate,
98
+ scaleXDatetime,
99
+ scaleXDiscrete,
100
+ scaleXLog10,
101
+ scaleXMonthDay,
102
+ scaleXReverse,
103
+ scaleXSqrt,
104
+ scaleXTime,
105
+ scaleYBinned,
106
+ scaleYContinuous,
107
+ scaleYDate,
108
+ scaleYDatetime,
109
+ scaleYDiscrete,
110
+ scaleYLog10,
111
+ scaleYMonthDay,
112
+ scaleYReverse,
113
+ scaleYSqrt,
114
+ scaleYTime,
115
+ } from "./scale-helpers.js";
116
+ import type { Scales } from "./schema.js";
117
+
118
+ /** Host must expose scales() returning the public fluent builder type. */
119
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- mixin host constructor
120
+ type ScaleHostConstructor = new (...args: any[]) => {
121
+ scales(scales: Scales): GGBuilder;
122
+ };
123
+
124
+ /**
125
+ * Mixin that adds scaleX/Y/Color/Fill/style sugar methods.
126
+ * Every method is annotated to return GGBuilder so fluent chains keep full typing.
127
+ */
128
+ export function WithBuilderScales<TBase extends ScaleHostConstructor>(Base: TBase) {
129
+ return class extends Base {
130
+ scaleAlphaBinned(...args: Parameters<typeof scaleAlphaBinned>): GGBuilder {
131
+ return this.scales(scaleAlphaBinned(...args));
132
+ }
133
+ scaleAlphaContinuous(...args: Parameters<typeof scaleAlphaContinuous>): GGBuilder {
134
+ return this.scales(scaleAlphaContinuous(...args));
135
+ }
136
+ scaleAlphaDate(...args: Parameters<typeof scaleAlphaDate>): GGBuilder {
137
+ return this.scales(scaleAlphaDate(...args));
138
+ }
139
+ scaleAlphaDatetime(...args: Parameters<typeof scaleAlphaDatetime>): GGBuilder {
140
+ return this.scales(scaleAlphaDatetime(...args));
141
+ }
142
+ scaleAlphaDiscrete(...args: Parameters<typeof scaleAlphaDiscrete>): GGBuilder {
143
+ return this.scales(scaleAlphaDiscrete(...args));
144
+ }
145
+ scaleAlphaIdentity(...args: Parameters<typeof scaleAlphaIdentity>): GGBuilder {
146
+ return this.scales(scaleAlphaIdentity(...args));
147
+ }
148
+ scaleAlphaManual(...args: Parameters<typeof scaleAlphaManual>): GGBuilder {
149
+ return this.scales(scaleAlphaManual(...args));
150
+ }
151
+ scaleAlphaOrdinal(...args: Parameters<typeof scaleAlphaOrdinal>): GGBuilder {
152
+ return this.scales(scaleAlphaOrdinal(...args));
153
+ }
154
+ scaleColorBinned(...args: Parameters<typeof scaleColorBinned>): GGBuilder {
155
+ return this.scales(scaleColorBinned(...args));
156
+ }
157
+ scaleColorBrewer(...args: Parameters<typeof scaleColorBrewer>): GGBuilder {
158
+ return this.scales(scaleColorBrewer(...args));
159
+ }
160
+ scaleColorContinuous(...args: Parameters<typeof scaleColorContinuous>): GGBuilder {
161
+ return this.scales(scaleColorContinuous(...args));
162
+ }
163
+ scaleColorDate(...args: Parameters<typeof scaleColorDate>): GGBuilder {
164
+ return this.scales(scaleColorDate(...args));
165
+ }
166
+ scaleColorDatetime(...args: Parameters<typeof scaleColorDatetime>): GGBuilder {
167
+ return this.scales(scaleColorDatetime(...args));
168
+ }
169
+ scaleColorDiscrete(...args: Parameters<typeof scaleColorDiscrete>): GGBuilder {
170
+ return this.scales(scaleColorDiscrete(...args));
171
+ }
172
+ scaleColorDistiller(...args: Parameters<typeof scaleColorDistiller>): GGBuilder {
173
+ return this.scales(scaleColorDistiller(...args));
174
+ }
175
+ scaleColorFermenter(...args: Parameters<typeof scaleColorFermenter>): GGBuilder {
176
+ return this.scales(scaleColorFermenter(...args));
177
+ }
178
+ scaleColorGradient(...args: Parameters<typeof scaleColorGradient>): GGBuilder {
179
+ return this.scales(scaleColorGradient(...args));
180
+ }
181
+ scaleColorGradient2(...args: Parameters<typeof scaleColorGradient2>): GGBuilder {
182
+ return this.scales(scaleColorGradient2(...args));
183
+ }
184
+ scaleColorGradientn(...args: Parameters<typeof scaleColorGradientn>): GGBuilder {
185
+ return this.scales(scaleColorGradientn(...args));
186
+ }
187
+ scaleColorGrey(...args: Parameters<typeof scaleColorGrey>): GGBuilder {
188
+ return this.scales(scaleColorGrey(...args));
189
+ }
190
+ scaleColorHue(...args: Parameters<typeof scaleColorHue>): GGBuilder {
191
+ return this.scales(scaleColorHue(...args));
192
+ }
193
+ scaleColorIdentity(...args: Parameters<typeof scaleColorIdentity>): GGBuilder {
194
+ return this.scales(scaleColorIdentity(...args));
195
+ }
196
+ scaleColorLog10(...args: Parameters<typeof scaleColorLog10>): GGBuilder {
197
+ return this.scales(scaleColorLog10(...args));
198
+ }
199
+ scaleColorManual(...args: Parameters<typeof scaleColorManual>): GGBuilder {
200
+ return this.scales(scaleColorManual(...args));
201
+ }
202
+ scaleColorOrdinal(...args: Parameters<typeof scaleColorOrdinal>): GGBuilder {
203
+ return this.scales(scaleColorOrdinal(...args));
204
+ }
205
+ scaleColorSqrt(...args: Parameters<typeof scaleColorSqrt>): GGBuilder {
206
+ return this.scales(scaleColorSqrt(...args));
207
+ }
208
+ scaleColorSteps(...args: Parameters<typeof scaleColorSteps>): GGBuilder {
209
+ return this.scales(scaleColorSteps(...args));
210
+ }
211
+ scaleColorSteps2(...args: Parameters<typeof scaleColorSteps2>): GGBuilder {
212
+ return this.scales(scaleColorSteps2(...args));
213
+ }
214
+ scaleColorStepsn(...args: Parameters<typeof scaleColorStepsn>): GGBuilder {
215
+ return this.scales(scaleColorStepsn(...args));
216
+ }
217
+ scaleColorViridisB(...args: Parameters<typeof scaleColorViridisB>): GGBuilder {
218
+ return this.scales(scaleColorViridisB(...args));
219
+ }
220
+ scaleColorViridisC(...args: Parameters<typeof scaleColorViridisC>): GGBuilder {
221
+ return this.scales(scaleColorViridisC(...args));
222
+ }
223
+ scaleColorViridisD(...args: Parameters<typeof scaleColorViridisD>): GGBuilder {
224
+ return this.scales(scaleColorViridisD(...args));
225
+ }
226
+ scaleFillBinned(...args: Parameters<typeof scaleFillBinned>): GGBuilder {
227
+ return this.scales(scaleFillBinned(...args));
228
+ }
229
+ scaleFillBrewer(...args: Parameters<typeof scaleFillBrewer>): GGBuilder {
230
+ return this.scales(scaleFillBrewer(...args));
231
+ }
232
+ scaleFillContinuous(...args: Parameters<typeof scaleFillContinuous>): GGBuilder {
233
+ return this.scales(scaleFillContinuous(...args));
234
+ }
235
+ scaleFillDate(...args: Parameters<typeof scaleFillDate>): GGBuilder {
236
+ return this.scales(scaleFillDate(...args));
237
+ }
238
+ scaleFillDatetime(...args: Parameters<typeof scaleFillDatetime>): GGBuilder {
239
+ return this.scales(scaleFillDatetime(...args));
240
+ }
241
+ scaleFillDiscrete(...args: Parameters<typeof scaleFillDiscrete>): GGBuilder {
242
+ return this.scales(scaleFillDiscrete(...args));
243
+ }
244
+ scaleFillDistiller(...args: Parameters<typeof scaleFillDistiller>): GGBuilder {
245
+ return this.scales(scaleFillDistiller(...args));
246
+ }
247
+ scaleFillFermenter(...args: Parameters<typeof scaleFillFermenter>): GGBuilder {
248
+ return this.scales(scaleFillFermenter(...args));
249
+ }
250
+ scaleFillGradient(...args: Parameters<typeof scaleFillGradient>): GGBuilder {
251
+ return this.scales(scaleFillGradient(...args));
252
+ }
253
+ scaleFillGradient2(...args: Parameters<typeof scaleFillGradient2>): GGBuilder {
254
+ return this.scales(scaleFillGradient2(...args));
255
+ }
256
+ scaleFillGradientn(...args: Parameters<typeof scaleFillGradientn>): GGBuilder {
257
+ return this.scales(scaleFillGradientn(...args));
258
+ }
259
+ scaleFillGrey(...args: Parameters<typeof scaleFillGrey>): GGBuilder {
260
+ return this.scales(scaleFillGrey(...args));
261
+ }
262
+ scaleFillHue(...args: Parameters<typeof scaleFillHue>): GGBuilder {
263
+ return this.scales(scaleFillHue(...args));
264
+ }
265
+ scaleFillIdentity(...args: Parameters<typeof scaleFillIdentity>): GGBuilder {
266
+ return this.scales(scaleFillIdentity(...args));
267
+ }
268
+ scaleFillLog10(...args: Parameters<typeof scaleFillLog10>): GGBuilder {
269
+ return this.scales(scaleFillLog10(...args));
270
+ }
271
+ scaleFillManual(...args: Parameters<typeof scaleFillManual>): GGBuilder {
272
+ return this.scales(scaleFillManual(...args));
273
+ }
274
+ scaleFillOrdinal(...args: Parameters<typeof scaleFillOrdinal>): GGBuilder {
275
+ return this.scales(scaleFillOrdinal(...args));
276
+ }
277
+ scaleFillSqrt(...args: Parameters<typeof scaleFillSqrt>): GGBuilder {
278
+ return this.scales(scaleFillSqrt(...args));
279
+ }
280
+ scaleFillSteps(...args: Parameters<typeof scaleFillSteps>): GGBuilder {
281
+ return this.scales(scaleFillSteps(...args));
282
+ }
283
+ scaleFillSteps2(...args: Parameters<typeof scaleFillSteps2>): GGBuilder {
284
+ return this.scales(scaleFillSteps2(...args));
285
+ }
286
+ scaleFillStepsn(...args: Parameters<typeof scaleFillStepsn>): GGBuilder {
287
+ return this.scales(scaleFillStepsn(...args));
288
+ }
289
+ scaleFillViridisB(...args: Parameters<typeof scaleFillViridisB>): GGBuilder {
290
+ return this.scales(scaleFillViridisB(...args));
291
+ }
292
+ scaleFillViridisC(...args: Parameters<typeof scaleFillViridisC>): GGBuilder {
293
+ return this.scales(scaleFillViridisC(...args));
294
+ }
295
+ scaleFillViridisD(...args: Parameters<typeof scaleFillViridisD>): GGBuilder {
296
+ return this.scales(scaleFillViridisD(...args));
297
+ }
298
+ scaleLinetypeBinned(...args: Parameters<typeof scaleLinetypeBinned>): GGBuilder {
299
+ return this.scales(scaleLinetypeBinned(...args));
300
+ }
301
+ scaleLinetypeDiscrete(...args: Parameters<typeof scaleLinetypeDiscrete>): GGBuilder {
302
+ return this.scales(scaleLinetypeDiscrete(...args));
303
+ }
304
+ scaleLinetypeIdentity(...args: Parameters<typeof scaleLinetypeIdentity>): GGBuilder {
305
+ return this.scales(scaleLinetypeIdentity(...args));
306
+ }
307
+ scaleLinetypeManual(...args: Parameters<typeof scaleLinetypeManual>): GGBuilder {
308
+ return this.scales(scaleLinetypeManual(...args));
309
+ }
310
+ scaleLinewidthBinned(...args: Parameters<typeof scaleLinewidthBinned>): GGBuilder {
311
+ return this.scales(scaleLinewidthBinned(...args));
312
+ }
313
+ scaleLinewidthContinuous(...args: Parameters<typeof scaleLinewidthContinuous>): GGBuilder {
314
+ return this.scales(scaleLinewidthContinuous(...args));
315
+ }
316
+ scaleLinewidthDate(...args: Parameters<typeof scaleLinewidthDate>): GGBuilder {
317
+ return this.scales(scaleLinewidthDate(...args));
318
+ }
319
+ scaleLinewidthDatetime(...args: Parameters<typeof scaleLinewidthDatetime>): GGBuilder {
320
+ return this.scales(scaleLinewidthDatetime(...args));
321
+ }
322
+ scaleLinewidthDiscrete(...args: Parameters<typeof scaleLinewidthDiscrete>): GGBuilder {
323
+ return this.scales(scaleLinewidthDiscrete(...args));
324
+ }
325
+ scaleLinewidthIdentity(...args: Parameters<typeof scaleLinewidthIdentity>): GGBuilder {
326
+ return this.scales(scaleLinewidthIdentity(...args));
327
+ }
328
+ scaleLinewidthManual(...args: Parameters<typeof scaleLinewidthManual>): GGBuilder {
329
+ return this.scales(scaleLinewidthManual(...args));
330
+ }
331
+ scaleLinewidthOrdinal(...args: Parameters<typeof scaleLinewidthOrdinal>): GGBuilder {
332
+ return this.scales(scaleLinewidthOrdinal(...args));
333
+ }
334
+ scaleRadius(...args: Parameters<typeof scaleRadius>): GGBuilder {
335
+ return this.scales(scaleRadius(...args));
336
+ }
337
+ scaleShapeBinned(...args: Parameters<typeof scaleShapeBinned>): GGBuilder {
338
+ return this.scales(scaleShapeBinned(...args));
339
+ }
340
+ scaleShapeDiscrete(...args: Parameters<typeof scaleShapeDiscrete>): GGBuilder {
341
+ return this.scales(scaleShapeDiscrete(...args));
342
+ }
343
+ scaleShapeIdentity(...args: Parameters<typeof scaleShapeIdentity>): GGBuilder {
344
+ return this.scales(scaleShapeIdentity(...args));
345
+ }
346
+ scaleShapeManual(...args: Parameters<typeof scaleShapeManual>): GGBuilder {
347
+ return this.scales(scaleShapeManual(...args));
348
+ }
349
+ scaleShapeOrdinal(...args: Parameters<typeof scaleShapeOrdinal>): GGBuilder {
350
+ return this.scales(scaleShapeOrdinal(...args));
351
+ }
352
+ scaleSizeArea(...args: Parameters<typeof scaleSizeArea>): GGBuilder {
353
+ return this.scales(scaleSizeArea(...args));
354
+ }
355
+ scaleSizeBinned(...args: Parameters<typeof scaleSizeBinned>): GGBuilder {
356
+ return this.scales(scaleSizeBinned(...args));
357
+ }
358
+ scaleSizeBinnedArea(...args: Parameters<typeof scaleSizeBinnedArea>): GGBuilder {
359
+ return this.scales(scaleSizeBinnedArea(...args));
360
+ }
361
+ scaleSizeContinuous(...args: Parameters<typeof scaleSizeContinuous>): GGBuilder {
362
+ return this.scales(scaleSizeContinuous(...args));
363
+ }
364
+ scaleSizeDate(...args: Parameters<typeof scaleSizeDate>): GGBuilder {
365
+ return this.scales(scaleSizeDate(...args));
366
+ }
367
+ scaleSizeDatetime(...args: Parameters<typeof scaleSizeDatetime>): GGBuilder {
368
+ return this.scales(scaleSizeDatetime(...args));
369
+ }
370
+ scaleSizeDiscrete(...args: Parameters<typeof scaleSizeDiscrete>): GGBuilder {
371
+ return this.scales(scaleSizeDiscrete(...args));
372
+ }
373
+ scaleSizeIdentity(...args: Parameters<typeof scaleSizeIdentity>): GGBuilder {
374
+ return this.scales(scaleSizeIdentity(...args));
375
+ }
376
+ scaleSizeManual(...args: Parameters<typeof scaleSizeManual>): GGBuilder {
377
+ return this.scales(scaleSizeManual(...args));
378
+ }
379
+ scaleSizeOrdinal(...args: Parameters<typeof scaleSizeOrdinal>): GGBuilder {
380
+ return this.scales(scaleSizeOrdinal(...args));
381
+ }
382
+ scaleXBinned(...args: Parameters<typeof scaleXBinned>): GGBuilder {
383
+ return this.scales(scaleXBinned(...args));
384
+ }
385
+ scaleXContinuous(...args: Parameters<typeof scaleXContinuous>): GGBuilder {
386
+ return this.scales(scaleXContinuous(...args));
387
+ }
388
+ scaleXDate(...args: Parameters<typeof scaleXDate>): GGBuilder {
389
+ return this.scales(scaleXDate(...args));
390
+ }
391
+ scaleXDatetime(...args: Parameters<typeof scaleXDatetime>): GGBuilder {
392
+ return this.scales(scaleXDatetime(...args));
393
+ }
394
+ scaleXDiscrete(...args: Parameters<typeof scaleXDiscrete>): GGBuilder {
395
+ return this.scales(scaleXDiscrete(...args));
396
+ }
397
+ scaleXLog10(...args: Parameters<typeof scaleXLog10>): GGBuilder {
398
+ return this.scales(scaleXLog10(...args));
399
+ }
400
+ scaleXMonthDay(...args: Parameters<typeof scaleXMonthDay>): GGBuilder {
401
+ return this.scales(scaleXMonthDay(...args));
402
+ }
403
+ scaleXReverse(...args: Parameters<typeof scaleXReverse>): GGBuilder {
404
+ return this.scales(scaleXReverse(...args));
405
+ }
406
+ scaleXSqrt(...args: Parameters<typeof scaleXSqrt>): GGBuilder {
407
+ return this.scales(scaleXSqrt(...args));
408
+ }
409
+ scaleXTime(...args: Parameters<typeof scaleXTime>): GGBuilder {
410
+ return this.scales(scaleXTime(...args));
411
+ }
412
+ scaleYBinned(...args: Parameters<typeof scaleYBinned>): GGBuilder {
413
+ return this.scales(scaleYBinned(...args));
414
+ }
415
+ scaleYContinuous(...args: Parameters<typeof scaleYContinuous>): GGBuilder {
416
+ return this.scales(scaleYContinuous(...args));
417
+ }
418
+ scaleYDate(...args: Parameters<typeof scaleYDate>): GGBuilder {
419
+ return this.scales(scaleYDate(...args));
420
+ }
421
+ scaleYDatetime(...args: Parameters<typeof scaleYDatetime>): GGBuilder {
422
+ return this.scales(scaleYDatetime(...args));
423
+ }
424
+ scaleYDiscrete(...args: Parameters<typeof scaleYDiscrete>): GGBuilder {
425
+ return this.scales(scaleYDiscrete(...args));
426
+ }
427
+ scaleYLog10(...args: Parameters<typeof scaleYLog10>): GGBuilder {
428
+ return this.scales(scaleYLog10(...args));
429
+ }
430
+ scaleYMonthDay(...args: Parameters<typeof scaleYMonthDay>): GGBuilder {
431
+ return this.scales(scaleYMonthDay(...args));
432
+ }
433
+ scaleYReverse(...args: Parameters<typeof scaleYReverse>): GGBuilder {
434
+ return this.scales(scaleYReverse(...args));
435
+ }
436
+ scaleYSqrt(...args: Parameters<typeof scaleYSqrt>): GGBuilder {
437
+ return this.scales(scaleYSqrt(...args));
438
+ }
439
+ scaleYTime(...args: Parameters<typeof scaleYTime>): GGBuilder {
440
+ return this.scales(scaleYTime(...args));
441
+ }
442
+ };
443
+ }
package/src/builder.ts ADDED
@@ -0,0 +1,125 @@
1
+ /**
2
+ * The fluent builder — one of the three surfaces that compile to the same
3
+ * PortableSpec (spec-first design; builder and Svelte components are sugar).
4
+ *
5
+ * - `gg(data, aes(...))` returns an immutable builder: every method returns a
6
+ * NEW builder (the spec is the explicit first-class value — Hadley lesson 1;
7
+ * no `+` operator, no mutation).
8
+ * - `.layer({ geom, ... })` is the canonical method (one layer concept —
9
+ * Hadley lesson 2); `.geomPoint()` / `.geomBar()` / ... are documented
10
+ * sugar for it.
11
+ * - `.spec()` normalizes and VALIDATES, returning a canonical PortableSpec or
12
+ * throwing SpecValidationError. Builder output therefore always validates
13
+ * against the published JSON Schema (property-tested).
14
+ *
15
+ * Implementation:
16
+ * - builder-data.ts — Date snapshot / portable ISO materialization
17
+ * - builder-options.ts — Geom*Options types
18
+ * - builder-core.ts — state, layer/facet/coord/labs/theme/spec
19
+ * - builder-geoms.ts — geom* sugar mixin (generated from KNOWN_GEOMS)
20
+ * - builder-scales.ts — scaleX/Y/Color/Fill sugar mixin (generated)
21
+ */
22
+ import type { AesInput } from "./normalize.js";
23
+ import { toAuthoringDataRef, type DataInput } from "./builder-data.js";
24
+ import { GGBuilderCore } from "./builder-core.js";
25
+ import { WithBuilderGeoms } from "./builder-geoms.js";
26
+ import { WithBuilderScales } from "./builder-scales.js";
27
+ import { SpecValidationError } from "./errors.js";
28
+ import type { PortableSpec } from "./schema.js";
29
+ import { validate } from "./validate.js";
30
+
31
+ export type {
32
+ AuthoringCellValue,
33
+ AuthoringColumns,
34
+ AuthoringDataRef,
35
+ AuthoringRows,
36
+ DataInput,
37
+ } from "./builder-data.js";
38
+
39
+ export type {
40
+ GeomAreaOptions,
41
+ GeomBarOptions,
42
+ GeomBoxplotOptions,
43
+ GeomColOptions,
44
+ GeomDensityOptions,
45
+ GeomDensity2dOptions,
46
+ GeomDensity2dFilledOptions,
47
+ GeomDotplotOptions,
48
+ GeomErrorbarOptions,
49
+ GeomLinerangeOptions,
50
+ GeomPointrangeOptions,
51
+ GeomCrossbarOptions,
52
+ GeomHistogramOptions,
53
+ GeomFreqpolyOptions,
54
+ GeomHlineOptions,
55
+ GeomJitterOptions,
56
+ GeomLineOptions,
57
+ GeomPathOptions,
58
+ GeomPointOptions,
59
+ GeomCountOptions,
60
+ GeomQuantileOptions,
61
+ GeomContourOptions,
62
+ GeomRasterOptions,
63
+ GeomHexOptions,
64
+ GeomRectOptions,
65
+ GeomRuleOptions,
66
+ GeomRugOptions,
67
+ GeomSegmentOptions,
68
+ GeomViolinOptions,
69
+ GeomFunctionOptions,
70
+ GeomPolygonOptions,
71
+ GeomAblineOptions,
72
+ GeomCurveOptions,
73
+ GeomMapOptions,
74
+ GeomBlankOptions,
75
+ GeomSfOptions,
76
+ GeomSfTextOptions,
77
+ GeomSfLabelOptions,
78
+ GeomSpokeOptions,
79
+ GeomStepOptions,
80
+ GeomQqOptions,
81
+ GeomQqLineOptions,
82
+ GeomSmoothOptions,
83
+ GeomTextOptions,
84
+ GeomLabelOptions,
85
+ GeomTileOptions,
86
+ GeomBin2dOptions,
87
+ GeomVlineOptions,
88
+ } from "./builder-options.js";
89
+
90
+ /**
91
+ * Identity helper for aesthetic mappings, mirroring ggplot2's aes(). Accepts
92
+ * the bare-string shorthand ('displ' means { field: 'displ' }); the shorthand
93
+ * is canonicalized away by normalize() and never reaches the JSON Schema.
94
+ */
95
+ export function aes(mapping: AesInput): AesInput {
96
+ return mapping;
97
+ }
98
+
99
+ /**
100
+ * Immutable plot builder. Construct with gg(); finish with .spec() (validates)
101
+ * or .toPortable() (normalize only, no TypeBox).
102
+ */
103
+ export class GGBuilder extends WithBuilderScales(WithBuilderGeoms(GGBuilderCore)) {
104
+ /**
105
+ * Compile to a canonical PortableSpec: normalize then TypeBox-validate.
106
+ * Throws SpecValidationError when the result does not satisfy the schema.
107
+ * Prefer {@link toPortable} on chart render paths that already run the
108
+ * pipeline structural gate — avoids loading typebox/compile into the bundle.
109
+ */
110
+ spec(): PortableSpec {
111
+ const portable = this.toPortable();
112
+ const result = validate(portable);
113
+ if (!result.ok) throw new SpecValidationError(result.errors);
114
+ return result.spec;
115
+ }
116
+ }
117
+
118
+ /** Start a plot: gg(data, aes({ x: 'displ', y: 'hwy' })).geomPoint().spec(). */
119
+ export function gg(data?: DataInput, mapping?: AesInput): GGBuilder {
120
+ return new GGBuilder({
121
+ ...(data !== undefined && { data: toAuthoringDataRef(data) }),
122
+ ...(mapping !== undefined && { aes: mapping }),
123
+ layers: [],
124
+ });
125
+ }