@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
package/src/schema.ts ADDED
@@ -0,0 +1,287 @@
1
+ /**
2
+ * The ggts spec schema — TypeBox is the source of truth (decision 0004).
3
+ *
4
+ * These definitions ARE the published JSON Schema (via `Type.Cyclic` for named
5
+ * `$defs`, emitted to `schema/v0.json` by `scripts/emit-schema.ts`) AND the TS
6
+ * types (via `Static<>`) AND the runtime validator input (`Value.Check`).
7
+ * One artifact, no drift.
8
+ *
9
+ * Authoring rules (from decision 0004):
10
+ * - Strict objects everywhere (`additionalProperties: false`).
11
+ * - Every field carries a description written for LLMs; numeric constraints
12
+ * are ALSO stated in descriptions because constrained-decoding grammars may
13
+ * drop or reject numeric keywords.
14
+ * - No bare-string channel shorthand in the schema: agents emit canonical
15
+ * channel forms only. The shorthand exists only in the TS builder/adapter.
16
+ * - Unions are `anyOf` by construction (TypeBox default) — the form OpenAI
17
+ * structured outputs accept.
18
+ * - `Type.Record` is used for `data.columns`/`datasets` only; the artifact
19
+ * emitter rewrites its `patternProperties` to `additionalProperties`
20
+ * (semantically identical for the `^(.*)$` pattern) so the published
21
+ * schema stays inside portable JSON Schema.
22
+ *
23
+ * Layout: name registries (`schema-names.ts`), ordered `$defs` bag
24
+ * (`schema-declarations.ts`), pipeline catalogs (`schema-catalog.ts`), the
25
+ * Cyclic/Module assembly + imported schemas (`schema-imports.ts`), and the
26
+ * public Static type bag (`schema-types.ts`). This module is a pure
27
+ * re-export facade.
28
+ * `$defs` key **insertion order** in the declarations bag is load-bearing for
29
+ * the byte-stable `schema/v0.json` artifact.
30
+ */
31
+ export {
32
+ CATEGORICAL_SCHEME_NAMES,
33
+ COLOR_SCHEME_NAMES,
34
+ CYCLIC_SCHEME_NAMES,
35
+ LINETYPE_NAMES,
36
+ MAX_BINNED_BREAKS,
37
+ MAX_GLOW_RADIUS,
38
+ MAX_PAINT_STOPS,
39
+ POINT_SHAPE_NAMES,
40
+ SEQUENTIAL_SCHEME_NAMES,
41
+ THEME_NAMES,
42
+ THEME_NAME_ALIASES,
43
+ } from "./schema-names.js";
44
+ export type { LinetypeName, PointShapeName } from "./schema-names.js";
45
+
46
+ export {
47
+ ALIAS_GEOMS,
48
+ CHANNELS,
49
+ CURRENT_EDITION,
50
+ GEOM_ALIASES,
51
+ GEOM_DEFAULTS,
52
+ KNOWN_GEOMS,
53
+ KNOWN_POSITIONS,
54
+ KNOWN_STATS,
55
+ } from "./schema-catalog.js";
56
+ export type {
57
+ AliasGeomName,
58
+ ChannelName,
59
+ GeomName,
60
+ NormalizedGeomName,
61
+ PositionName,
62
+ StatName,
63
+ } from "./schema-catalog.js";
64
+
65
+ export {
66
+ AesSchema,
67
+ AblineLayerSchema,
68
+ AreaLayerSchema,
69
+ BarLayerSchema,
70
+ Bin2dLayerSchema,
71
+ BlankLayerSchema,
72
+ BoxplotLayerSchema,
73
+ ChannelValueSchema,
74
+ ColLayerSchema,
75
+ ContourLayerSchema,
76
+ CoordFixedSpecSchema,
77
+ CoordRadialSpecSchema,
78
+ CoordSfSpecSchema,
79
+ CoordSpecSchema,
80
+ CoordTransformAxisSpecSchema,
81
+ CoordTransformSpecSchema,
82
+ CountLayerSchema,
83
+ CrossbarLayerSchema,
84
+ CurveLayerSchema,
85
+ DataRefSchema,
86
+ Density2dFilledLayerSchema,
87
+ Density2dLayerSchema,
88
+ DensityLayerSchema,
89
+ DotplotLayerSchema,
90
+ ErrorbarLayerSchema,
91
+ FacetFieldRefSchema,
92
+ FacetSpecSchema,
93
+ FacetStripSpecSchema,
94
+ FreqpolyLayerSchema,
95
+ FunctionLayerSchema,
96
+ HexLayerSchema,
97
+ HistogramLayerSchema,
98
+ HlineLayerSchema,
99
+ JitterLayerSchema,
100
+ LabelLayerSchema,
101
+ LayerSpecSchema,
102
+ LinerangeLayerSchema,
103
+ LineLayerSchema,
104
+ MapLayerSchema,
105
+ PathLayerSchema,
106
+ PlotSpecSchema,
107
+ PointLayerSchema,
108
+ PointrangeLayerSchema,
109
+ PolygonLayerSchema,
110
+ QuantileLayerSchema,
111
+ QqLayerSchema,
112
+ QqLineLayerSchema,
113
+ RasterLayerSchema,
114
+ RectLayerSchema,
115
+ RibbonLayerSchema,
116
+ RuleLayerSchema,
117
+ RugLayerSchema,
118
+ ScalesSchema,
119
+ SegmentLayerSchema,
120
+ SfLabelLayerSchema,
121
+ SfLayerSchema,
122
+ SfTextLayerSchema,
123
+ SmoothLayerSchema,
124
+ SpokeLayerSchema,
125
+ StepLayerSchema,
126
+ TemporalParserSpecSchemaRef,
127
+ TextLayerSchema,
128
+ TileLayerSchema,
129
+ VlineLayerSchema,
130
+ ViolinLayerSchema,
131
+ SpecModule,
132
+ } from "./schema-imports.js";
133
+ export type { SpecImportSchema } from "./schema-imports.js";
134
+
135
+ export type {
136
+ A11yMode,
137
+ AblineLayer,
138
+ AblineParams,
139
+ Aes,
140
+ AlphaScaleSpec,
141
+ AreaLayer,
142
+ AreaParams,
143
+ AxisGuideSpec,
144
+ BandAxisGuideSpec,
145
+ BarLayer,
146
+ BarParams,
147
+ Bin2dLayer,
148
+ Bin2dParams,
149
+ BlankLayer,
150
+ BlankParams,
151
+ BoxplotLayer,
152
+ BoxplotParams,
153
+ CellValue,
154
+ ChannelValue,
155
+ ColorScaleSpec,
156
+ ColorStop,
157
+ ColorbarGuideSpec,
158
+ ColorstepsGuideSpec,
159
+ ContourLayer,
160
+ ContourParams,
161
+ CoordFixedSpec,
162
+ CoordRadialSpec,
163
+ CoordSfSpec,
164
+ CoordSpec,
165
+ CoordTransformAxisSpec,
166
+ CoordTransformSpec,
167
+ CountLayer,
168
+ CrossbarLayer,
169
+ CrossbarParams,
170
+ CurveLayer,
171
+ CurveParams,
172
+ DataColumns,
173
+ DataName,
174
+ DataRef,
175
+ DataValues,
176
+ Density2dFilledLayer,
177
+ Density2dLayer,
178
+ Density2dParams,
179
+ DensityLayer,
180
+ DensityParams,
181
+ DotplotLayer,
182
+ DotplotParams,
183
+ ErrorbarLayer,
184
+ ErrorbarParams,
185
+ FacetFieldRef,
186
+ FacetScales,
187
+ FacetSpec,
188
+ FacetStripSpec,
189
+ FreqpolyLayer,
190
+ FunctionArgs,
191
+ FunctionLayer,
192
+ FunctionParams,
193
+ FunctionRegistryName,
194
+ GlowSpec,
195
+ GuideSpec,
196
+ GuideThemeSpec,
197
+ GuidesSpec,
198
+ HexLayer,
199
+ HexParams,
200
+ HlineLayer,
201
+ HlineParams,
202
+ InlineData,
203
+ JitterLayer,
204
+ LabelLayer,
205
+ LabelParams,
206
+ Labs,
207
+ LayerSpec,
208
+ LegendGuideSpec,
209
+ LegendSpec,
210
+ LinerangeLayer,
211
+ LinerangeParams,
212
+ LineLayer,
213
+ LineParams,
214
+ LinetypeScaleSpec,
215
+ LinearGradientPaint,
216
+ MapLayer,
217
+ MapParams,
218
+ NoneGuideSpec,
219
+ NormalizedLayerSpec,
220
+ NormalizedSpec,
221
+ PaintSpace,
222
+ PointLayer,
223
+ PathLayer,
224
+ ColLayer,
225
+ HistogramLayer,
226
+ PathParams,
227
+ ColParams,
228
+ PointParams,
229
+ PointPosition,
230
+ PointrangeLayer,
231
+ PointrangeParams,
232
+ PolygonLayer,
233
+ PolygonParams,
234
+ PortableSpec,
235
+ PositionParams,
236
+ PositionScaleSpec,
237
+ PositiveStyleScaleSpec,
238
+ QuantileLayer,
239
+ QuantileParams,
240
+ QqLayer,
241
+ QqLineLayer,
242
+ QqLineParams,
243
+ QqParams,
244
+ RadialGradientPaint,
245
+ GradientPaint,
246
+ RasterLayer,
247
+ RasterParams,
248
+ RectLayer,
249
+ RectParams,
250
+ RenderBackend,
251
+ RibbonLayer,
252
+ RibbonParams,
253
+ RuleLayer,
254
+ RuleParams,
255
+ RugLayer,
256
+ RugParams,
257
+ ScaleExpansion,
258
+ Scales,
259
+ SegmentLayer,
260
+ SegmentParams,
261
+ SfLabelLayer,
262
+ SfLabelParams,
263
+ SfLayer,
264
+ SfParams,
265
+ SfTextLayer,
266
+ SfTextParams,
267
+ ShapeScaleSpec,
268
+ SmoothLayer,
269
+ SmoothParams,
270
+ SpokeLayer,
271
+ SpokeParams,
272
+ StackablePosition,
273
+ StepLayer,
274
+ StepParams,
275
+ SummaryFun,
276
+ TemporalParserSpec,
277
+ TextLayer,
278
+ TextParams,
279
+ ThemeName,
280
+ ThemeSpec,
281
+ TileLayer,
282
+ TileParams,
283
+ VlineLayer,
284
+ VlineParams,
285
+ ViolinLayer,
286
+ ViolinParams,
287
+ } from "./schema-types.js";
@@ -0,0 +1,145 @@
1
+ /**
2
+ * STAT_REFERENCE builder. Gen-only: `scripts/gen-reference-catalogs.ts`.
3
+ * Runtime uses generated/stat-reference-data.ts.
4
+ */
5
+ import {
6
+ GEOM_DEFAULTS,
7
+ KNOWN_GEOMS,
8
+ KNOWN_STATS,
9
+ type GeomName,
10
+ type StatName,
11
+ } from "./schema-catalog.js";
12
+ import { buildGeomReference } from "./geom-reference-build.js";
13
+
14
+ const GEOM_REFERENCE = buildGeomReference();
15
+ import { STAT_COLUMNS } from "./validate-data-checks-layer.js";
16
+
17
+ // ---------------------------------------------------------------------------
18
+ // Public types
19
+ // ---------------------------------------------------------------------------
20
+
21
+ export interface StatReferenceEntry {
22
+ readonly name: StatName;
23
+ /** Route slug — same as stat name (snake_case). */
24
+ readonly slug: string;
25
+ /** Short purpose text for the stat transform. */
26
+ readonly summary: string;
27
+ /**
28
+ * Columns this stat publishes for `{ stat: "…" }` channel resolution
29
+ * (after_stat). Empty when the stat passes rows through or only rewrites
30
+ * positions without new after_stat names in STAT_COLUMNS.
31
+ */
32
+ readonly generatedColumns: readonly string[];
33
+ /** Geoms whose layer schema allows this stat. */
34
+ readonly compatibleGeoms: readonly GeomName[];
35
+ /** Geoms whose GEOM_DEFAULTS.stat is this stat. */
36
+ readonly defaultForGeoms: readonly GeomName[];
37
+ }
38
+
39
+ // ---------------------------------------------------------------------------
40
+ // Hand-authored summaries (module contracts; not inventable from TypeBox alone)
41
+ // ---------------------------------------------------------------------------
42
+
43
+ /**
44
+ * One-paragraph purpose for each KNOWN_STATS entry. Source notes live in
45
+ * packages/core/src/stats/* module headers; keep these short for the index.
46
+ */
47
+ const STAT_SUMMARIES: Readonly<Record<StatName, string>> = Object.freeze({
48
+ identity:
49
+ "Pass rows through unchanged. Default for most geoms: each mapped row becomes one mark with no aggregation.",
50
+ unique:
51
+ "Keep one row per distinct mapped (x, y) pair (and group). Use when duplicate coordinates would overplot; default for none.",
52
+ manual:
53
+ "Author-supplied after_stat values via params — skip automatic transforms when you already computed summaries.",
54
+ connect:
55
+ "Expand successive points into connection vertices (linear, hv, vh, mid) for stepped or path-style joins between observations.",
56
+ count:
57
+ "Count rows (or sum weights) per distinct x within each group. Default for geom_bar; publishes after_stat count.",
58
+ bin: "Bin continuous x into histogram breaks. Publishes count, density, ncount, and ndensity; default for histogram and freqpoly.",
59
+ bin_hex:
60
+ "Hexagonal 2D binning over continuous x and y. Publishes count/density columns for geom_hex heatmaps.",
61
+ bin_2d:
62
+ "Rectangular 2D binning over continuous x and y. Publishes count/density and bin edges for geom_bin_2d tiles.",
63
+ smooth:
64
+ "Fit a smoother (lm or loess) and evaluate along x. Publishes y, ymin, ymax, and se; default for geom_smooth.",
65
+ quantile:
66
+ "Estimate conditional quantiles of y given x. Publishes y at each requested probability; default for geom_quantile.",
67
+ boxplot:
68
+ "Five-number summary per group (hinges and whiskers). Publishes ymin, lower, middle, upper, ymax; default for geom_boxplot.",
69
+ density:
70
+ "1D Gaussian kernel density estimate along x. Publishes density, count, scaled, and ndensity; default for geom_density.",
71
+ summary:
72
+ "Collapse each discrete-x group to one summary (default mean ± se). Publishes y, ymin, ymax for error-style geoms.",
73
+ sum: "Count overlapping points at each (x, y) cell for geom_count. Publishes n and prop (not y).",
74
+ ydensity:
75
+ "Kernel density along y for violin shapes. Publishes density, count, scaled, violinwidth, and y; default for geom_violin.",
76
+ function:
77
+ "Evaluate a pure function on an x grid. Publishes y; default for geom_function when no data rows drive the mark.",
78
+ ecdf: "Empirical cumulative distribution F̂(x). Publishes ecdf; pair with step or path geoms for CDF plots.",
79
+ summary_bin:
80
+ "Bin continuous x, then summarize y in each bin (mean ± se by default). Publishes y, ymin, ymax for binned summaries.",
81
+ summary_rolling:
82
+ "Centered rolling window over continuous x (params.window, in x units): summarize y per (group, unique x). Partial windows at the ends are kept. Publishes y.",
83
+ contour:
84
+ "Marching-squares isolines over a regular x×y×z grid. Publishes level; default for geom_contour.",
85
+ align:
86
+ "Interpolate series onto a shared x grid so continuous-x stacks and overlays line up (stack-friendly zeros outside range).",
87
+ density_2d:
88
+ "Bivariate KDE with isolines. Publishes level and density; default for geom_density_2d.",
89
+ density_2d_filled:
90
+ "Bivariate KDE with closed density rings for filled contours. Publishes level and density; default for geom_density_2d_filled.",
91
+ bindot:
92
+ "Histodot binning for geom_dotplot: one stack position per observation. Publishes stackpos (and bin occupancy).",
93
+ ellipse:
94
+ "Confidence ellipse over bivariate points (level and type from params). Passes geometry suited to path/polygon-style marks.",
95
+ sf: "Simple-features geometry expansion for geom_sf: multiparts and holes become drawable rings without after_stat columns.",
96
+ sf_coordinates:
97
+ "Label anchors from SF geometries for geom_sf_text and geom_sf_label (one point per feature or part).",
98
+ qq: "Sample vs theoretical quantiles for Q–Q plots. Publishes sample and theoretical; default for geom_qq.",
99
+ qq_line:
100
+ "Reference line through Q–Q sample/theoretical quantiles. Publishes sample and theoretical; default for geom_qq_line.",
101
+ });
102
+
103
+ // ---------------------------------------------------------------------------
104
+ // Build
105
+ // ---------------------------------------------------------------------------
106
+
107
+ function buildCompatibleGeoms(stat: StatName): readonly GeomName[] {
108
+ const geoms: GeomName[] = [];
109
+ for (const geom of KNOWN_GEOMS) {
110
+ if (GEOM_REFERENCE[geom].allowedStats.includes(stat)) {
111
+ geoms.push(geom);
112
+ }
113
+ }
114
+ return Object.freeze(geoms);
115
+ }
116
+
117
+ function buildDefaultForGeoms(stat: StatName): readonly GeomName[] {
118
+ const geoms: GeomName[] = [];
119
+ for (const geom of KNOWN_GEOMS) {
120
+ if (GEOM_DEFAULTS[geom].stat === stat) {
121
+ geoms.push(geom);
122
+ }
123
+ }
124
+ return Object.freeze(geoms);
125
+ }
126
+
127
+ function buildEntry(stat: StatName): StatReferenceEntry {
128
+ const columns = STAT_COLUMNS[stat] ?? [];
129
+ return Object.freeze({
130
+ name: stat,
131
+ slug: stat,
132
+ summary: STAT_SUMMARIES[stat],
133
+ generatedColumns: Object.freeze([...columns]),
134
+ compatibleGeoms: buildCompatibleGeoms(stat),
135
+ defaultForGeoms: buildDefaultForGeoms(stat),
136
+ });
137
+ }
138
+
139
+ export function buildStatReference(): Readonly<Record<StatName, StatReferenceEntry>> {
140
+ const out = {} as Record<StatName, StatReferenceEntry>;
141
+ for (const stat of KNOWN_STATS) {
142
+ out[stat] = buildEntry(stat);
143
+ }
144
+ return Object.freeze(out);
145
+ }
@@ -0,0 +1,38 @@
1
+ /**
2
+ * STAT_REFERENCE — per-stat API docs for the docs site.
3
+ *
4
+ * Catalog data is precomputed (`scripts/gen-reference-catalogs.ts`) so
5
+ * reference pages never load TypeBox or the validate data-checks path.
6
+ * Stats are not Svelte components: set `stat` on a `<Geom*>` shell or JSON layer.
7
+ */
8
+ import { KNOWN_STATS, type GeomName, type StatName } from "./schema-catalog.js";
9
+ import { STAT_REFERENCE_DATA } from "./generated/stat-reference-data.js";
10
+
11
+ export interface StatReferenceEntry {
12
+ readonly name: StatName;
13
+ /** Route slug — same as stat name (snake_case). */
14
+ readonly slug: string;
15
+ /** Short purpose text for the stat transform. */
16
+ readonly summary: string;
17
+ /**
18
+ * Columns this stat publishes for `{ stat: "…" }` channel resolution
19
+ * (after_stat). Empty when the stat passes rows through or only rewrites
20
+ * positions without new after_stat names in STAT_COLUMNS.
21
+ */
22
+ readonly generatedColumns: readonly string[];
23
+ /** Geoms whose layer schema allows this stat. */
24
+ readonly compatibleGeoms: readonly GeomName[];
25
+ /** Geoms whose GEOM_DEFAULTS.stat is this stat. */
26
+ readonly defaultForGeoms: readonly GeomName[];
27
+ }
28
+
29
+ /**
30
+ * Complete per-stat API reference. Keys are exactly KNOWN_STATS.
31
+ * Precomputed at gen time from GEOM_REFERENCE + STAT_COLUMNS.
32
+ */
33
+ export const STAT_REFERENCE: Readonly<Record<StatName, StatReferenceEntry>> = STAT_REFERENCE_DATA;
34
+
35
+ /** Stable list order matching KNOWN_STATS (docs index, search, inventory). */
36
+ export function statReferenceList(): readonly StatReferenceEntry[] {
37
+ return KNOWN_STATS.map((stat) => STAT_REFERENCE[stat]);
38
+ }
@@ -0,0 +1,42 @@
1
+ /**
2
+ * TypeBox-free structural gates that always ran after schema shape success in
3
+ * validate(). Kept on the render path so pipeline/assemble drop only the
4
+ * Compile(PlotSpecSchema) tier, not color-scheme / binned-style / guide /
5
+ * coord-facet checks.
6
+ */
7
+ import { SpecValidationError, type SpecError } from "./errors.js";
8
+ import {
9
+ binnedStyleScaleStructuralErrors,
10
+ colorScaleStructuralErrors,
11
+ coordFacetStructuralErrors,
12
+ guideStructuralErrors,
13
+ } from "./validate-structure.js";
14
+
15
+ function isRecord(v: unknown): v is Record<string, unknown> {
16
+ return typeof v === "object" && v !== null && !Array.isArray(v);
17
+ }
18
+
19
+ /**
20
+ * Unconditional structural diagnostics from validate() (pre tier-2 options).
21
+ * Safe to call without TypeBox / schema-declarations.
22
+ */
23
+ export function structuralGateErrors(input: unknown): SpecError[] {
24
+ if (!isRecord(input)) return [];
25
+ const errors: SpecError[] = [];
26
+ if (isRecord(input["scales"])) {
27
+ errors.push(
28
+ ...colorScaleStructuralErrors(input["scales"]),
29
+ ...binnedStyleScaleStructuralErrors(input["scales"]),
30
+ );
31
+ }
32
+ const guides = isRecord(input["guides"]) ? input["guides"] : {};
33
+ const scales = isRecord(input["scales"]) ? input["scales"] : undefined;
34
+ errors.push(...guideStructuralErrors(guides, scales), ...coordFacetStructuralErrors(input));
35
+ return errors;
36
+ }
37
+
38
+ /** Throw SpecValidationError when structuralGateErrors is non-empty. */
39
+ export function assertStructuralGate(input: unknown): void {
40
+ const errors = structuralGateErrors(input);
41
+ if (errors.length > 0) throw new SpecValidationError(errors);
42
+ }