@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,121 @@
1
+ /** @internal Shared by strict walk and lossy clone. */
2
+ export function isPlainObject(value) {
3
+ if (typeof value !== "object" || value === null)
4
+ return false;
5
+ const proto = Object.getPrototypeOf(value);
6
+ return proto === Object.prototype || proto === null;
7
+ }
8
+ function issueFor(value) {
9
+ switch (typeof value) {
10
+ case "string":
11
+ case "boolean":
12
+ return null;
13
+ case "number":
14
+ return Number.isFinite(value)
15
+ ? null
16
+ : "non-finite number (portable specs encode NaN/Infinity as null)";
17
+ case "undefined":
18
+ return "undefined (omit the property instead)";
19
+ case "function":
20
+ return "function (use toPortableLossy() to strip { fn } accessors, or keep a RuntimeSpec)";
21
+ case "symbol":
22
+ return "symbol";
23
+ case "bigint":
24
+ return "bigint (convert to number or string)";
25
+ default:
26
+ return null; // objects handled by the walker
27
+ }
28
+ }
29
+ /**
30
+ * Walk a value tree, collecting portability issues.
31
+ * When `stopAfter` is set, stop once that many issues are recorded (used by
32
+ * `isPortable` for an early-exit existence check).
33
+ */
34
+ function walk(value, path, seen, issues, stopAfter) {
35
+ if (stopAfter !== undefined && issues.length >= stopAfter)
36
+ return;
37
+ const primitiveIssue = issueFor(value);
38
+ if (primitiveIssue !== null) {
39
+ issues.push({ path, reason: primitiveIssue });
40
+ return;
41
+ }
42
+ if (typeof value !== "object" || value === null)
43
+ return;
44
+ if (seen.has(value)) {
45
+ issues.push({ path, reason: "circular reference" });
46
+ return;
47
+ }
48
+ if (value instanceof Date) {
49
+ issues.push({
50
+ path,
51
+ reason: "Date (portable specs carry dates as ISO 8601 strings)",
52
+ });
53
+ return;
54
+ }
55
+ if (Array.isArray(value)) {
56
+ seen.add(value);
57
+ for (let i = 0; i < value.length; i++) {
58
+ walk(value[i], `${path}/${i}`, seen, issues, stopAfter);
59
+ if (stopAfter !== undefined && issues.length >= stopAfter)
60
+ break;
61
+ }
62
+ seen.delete(value);
63
+ return;
64
+ }
65
+ if (!isPlainObject(value)) {
66
+ issues.push({
67
+ path,
68
+ reason: `non-plain object (${Object.prototype.toString.call(value)})`,
69
+ });
70
+ return;
71
+ }
72
+ seen.add(value);
73
+ // Prefer for…in over Object.entries: entries eagerly Gets every property
74
+ // value (including later getters), defeating stopAfter. Engines still list
75
+ // own keys up front (OwnPropertyKeys); the short-circuit here is on value
76
+ // Gets and recursive walks — not on key listing. for…in also skips keys
77
+ // deleted by an earlier getter before we reach them.
78
+ for (const key in value) {
79
+ if (!Object.hasOwn(value, key))
80
+ continue;
81
+ walk(value[key], `${path}/${key}`, seen, issues, stopAfter);
82
+ if (stopAfter !== undefined && issues.length >= stopAfter)
83
+ break;
84
+ }
85
+ seen.delete(value);
86
+ }
87
+ /** Every reason `value` fails to be strictly-JSON, with paths. Empty = portable. */
88
+ export function portabilityIssues(value) {
89
+ const issues = [];
90
+ walk(value, "", new Set(), issues);
91
+ return issues;
92
+ }
93
+ /** True when `spec` contains only strictly-JSON values (narrowing type guard). */
94
+ export function isPortable(spec) {
95
+ const issues = [];
96
+ walk(spec, "", new Set(), issues, 1);
97
+ return issues.length === 0;
98
+ }
99
+ /** Thrown by toPortable(): lists EVERY unserializable path, not just the first. */
100
+ export class UnportableSpecError extends Error {
101
+ issues;
102
+ constructor(issues) {
103
+ const lines = issues.map((i) => ` ${i.path || "/"}: ${i.reason}`);
104
+ super(`Spec is not portable (${issues.length} issue${issues.length === 1 ? "" : "s"}):\n` +
105
+ lines.join("\n"));
106
+ this.name = "UnportableSpecError";
107
+ this.issues = issues;
108
+ }
109
+ }
110
+ /**
111
+ * Convert a RuntimeSpec to a PortableSpec, REJECTING (UnportableSpecError,
112
+ * with every offending path) if anything unserializable is present.
113
+ * Returns a structurally-shared-nothing deep copy.
114
+ */
115
+ export function toPortable(spec) {
116
+ const issues = portabilityIssues(spec);
117
+ if (issues.length > 0)
118
+ throw new UnportableSpecError(issues);
119
+ return JSON.parse(JSON.stringify(spec));
120
+ }
121
+ //# sourceMappingURL=portability-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portability-check.js","sourceRoot":"","sources":["../src/portability-check.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Explicit lossy RuntimeSpec → PortableSpec conversion for tooling.
3
+ * Strict checks: portability-check.ts. Public facade: portability.ts.
4
+ */
5
+ import type { PortableSpec } from "./schema.js";
6
+ import type { RuntimeSpec } from "./runtime.js";
7
+ export interface LossyResult {
8
+ spec: PortableSpec;
9
+ /** Paths that were REMOVED because they cannot travel as JSON. */
10
+ dropped: string[];
11
+ }
12
+ /**
13
+ * Explicit lossy conversion for tooling: strips `{ fn }` accessors and any
14
+ * other unserializable values, returning the portable remainder plus the list
15
+ * of dropped paths. Dates are coerced to ISO strings, non-finite numbers to
16
+ * null (coercions are not reported as drops).
17
+ */
18
+ export declare function toPortableLossy(spec: RuntimeSpec): LossyResult;
19
+ //# sourceMappingURL=portability-lossy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portability-lossy.d.ts","sourceRoot":"","sources":["../src/portability-lossy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,YAAY,CAAC;IACnB,kEAAkE;IAClE,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AA0DD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,CAI9D"}
@@ -0,0 +1,65 @@
1
+ import { isPlainObject } from "./portability-check.js";
2
+ function lossyClone(value, path, seen, dropped) {
3
+ switch (typeof value) {
4
+ case "string":
5
+ case "boolean":
6
+ return { keep: true, value };
7
+ case "number":
8
+ return { keep: true, value: Number.isFinite(value) ? value : null };
9
+ case "function":
10
+ case "symbol":
11
+ case "undefined":
12
+ case "bigint":
13
+ dropped.push(path);
14
+ return { keep: false };
15
+ default:
16
+ break;
17
+ }
18
+ if (value === null)
19
+ return { keep: true, value: null };
20
+ const obj = value;
21
+ if (seen.has(obj)) {
22
+ dropped.push(path);
23
+ return { keep: false };
24
+ }
25
+ if (obj instanceof Date) {
26
+ // Coercion, not a drop: dates travel as ISO strings per the plan.
27
+ return { keep: true, value: Number.isNaN(obj.getTime()) ? null : obj.toISOString() };
28
+ }
29
+ if (Array.isArray(obj)) {
30
+ seen.add(obj);
31
+ const out = [];
32
+ for (let i = 0; i < obj.length; i++) {
33
+ const r = lossyClone(obj[i], `${path}/${i}`, seen, dropped);
34
+ // Dropped array elements become null so indices stay row-aligned.
35
+ out.push(r.keep ? r.value : null);
36
+ }
37
+ seen.delete(obj);
38
+ return { keep: true, value: out };
39
+ }
40
+ if (!isPlainObject(obj)) {
41
+ dropped.push(path);
42
+ return { keep: false };
43
+ }
44
+ seen.add(obj);
45
+ const out = {};
46
+ for (const [key, v] of Object.entries(obj)) {
47
+ const r = lossyClone(v, `${path}/${key}`, seen, dropped);
48
+ if (r.keep)
49
+ out[key] = r.value;
50
+ }
51
+ seen.delete(obj);
52
+ return { keep: true, value: out };
53
+ }
54
+ /**
55
+ * Explicit lossy conversion for tooling: strips `{ fn }` accessors and any
56
+ * other unserializable values, returning the portable remainder plus the list
57
+ * of dropped paths. Dates are coerced to ISO strings, non-finite numbers to
58
+ * null (coercions are not reported as drops).
59
+ */
60
+ export function toPortableLossy(spec) {
61
+ const dropped = [];
62
+ const r = lossyClone(spec, "", new Set(), dropped);
63
+ return { spec: (r.keep ? r.value : {}), dropped };
64
+ }
65
+ //# sourceMappingURL=portability-lossy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portability-lossy.js","sourceRoot":"","sources":["../src/portability-lossy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * PortableSpec vs RuntimeSpec (plan: "Two spec types, explicitly split").
3
+ *
4
+ * PortableSpec is strictly JSON, defined over a recursive JSONValue: no Date,
5
+ * undefined, functions, bigint, symbols, typed arrays, cycles, non-finite
6
+ * numbers. Dates travel as ISO strings; non-finite numbers as null.
7
+ *
8
+ * RuntimeSpec is the in-memory superset: `{ fn }` channel accessors are legal.
9
+ * - `isPortable()` narrows.
10
+ * - `toPortable()` REJECTS with a structured error listing every
11
+ * unserializable path (one behavior, never "strip or reject").
12
+ * - `toPortableLossy()` is the separate, explicit tool for tooling: it strips
13
+ * what cannot travel and returns `{ spec, dropped }` (dates are COERCED to
14
+ * ISO strings and non-finite numbers to null — coercions are not "dropped").
15
+ *
16
+ * Implementation:
17
+ * - portability-check.ts — strict walk, isPortable, toPortable
18
+ * - portability-lossy.ts — toPortableLossy
19
+ * This file re-exports the public surface so package imports stay on ./portability.js.
20
+ */
21
+ export { isPortable, portabilityIssues, toPortable, UnportableSpecError, type JSONValue, type PortabilityIssue, } from "./portability-check.js";
22
+ export { toPortableLossy, type LossyResult } from "./portability-lossy.js";
23
+ //# sourceMappingURL=portability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portability.d.ts","sourceRoot":"","sources":["../src/portability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,UAAU,EACV,mBAAmB,EACnB,KAAK,SAAS,EACd,KAAK,gBAAgB,GACtB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * PortableSpec vs RuntimeSpec (plan: "Two spec types, explicitly split").
3
+ *
4
+ * PortableSpec is strictly JSON, defined over a recursive JSONValue: no Date,
5
+ * undefined, functions, bigint, symbols, typed arrays, cycles, non-finite
6
+ * numbers. Dates travel as ISO strings; non-finite numbers as null.
7
+ *
8
+ * RuntimeSpec is the in-memory superset: `{ fn }` channel accessors are legal.
9
+ * - `isPortable()` narrows.
10
+ * - `toPortable()` REJECTS with a structured error listing every
11
+ * unserializable path (one behavior, never "strip or reject").
12
+ * - `toPortableLossy()` is the separate, explicit tool for tooling: it strips
13
+ * what cannot travel and returns `{ spec, dropped }` (dates are COERCED to
14
+ * ISO strings and non-finite numbers to null — coercions are not "dropped").
15
+ *
16
+ * Implementation:
17
+ * - portability-check.ts — strict walk, isPortable, toPortable
18
+ * - portability-lossy.ts — toPortableLossy
19
+ * This file re-exports the public surface so package imports stay on ./portability.js.
20
+ */
21
+ export { isPortable, portabilityIssues, toPortable, UnportableSpecError, } from "./portability-check.js";
22
+ export { toPortableLossy } from "./portability-lossy.js";
23
+ //# sourceMappingURL=portability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portability.js","sourceRoot":"","sources":["../src/portability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,UAAU,EACV,mBAAmB,GAGpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,eAAe,EAAoB,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,215 @@
1
+ /**
2
+ * Lean portable builder implementation (values for `@ggts-sh/spec/portable`).
3
+ * Index surface re-exports live in {@link ./portable-entry.ts}.
4
+ */
5
+ import type { AesInput } from "./normalize.js";
6
+ import { type DataInput } from "./builder-data.js";
7
+ import { GGBuilderCore } from "./builder-core.js";
8
+ import type { PortableSpec } from "./schema.js";
9
+ /** Identity helper for aesthetic mappings (same as full package `aes`). */
10
+ export declare function aes(mapping: AesInput): AesInput;
11
+ declare const GGBuilder_base: {
12
+ new (...args: any[]): {
13
+ scaleAlphaBinned(options?: import("./scale-style-helpers.js").SequentialStyleScaleOptions | undefined): import("./builder.js").GGBuilder;
14
+ scaleAlphaContinuous(options?: import("./scale-style-helpers.js").SequentialStyleScaleOptions | undefined): import("./builder.js").GGBuilder;
15
+ scaleAlphaDate(options?: import("./scale-style-helpers.js").TemporalNumericStyleScaleOptions | undefined): import("./builder.js").GGBuilder;
16
+ scaleAlphaDatetime(options?: import("./scale-style-helpers.js").TemporalNumericStyleScaleOptions | undefined): import("./builder.js").GGBuilder;
17
+ scaleAlphaDiscrete(options?: import("./scale-style-helpers.js").DiscreteNumericStyleScaleOptions | undefined): import("./builder.js").GGBuilder;
18
+ scaleAlphaIdentity(options?: import("./scale-style-helpers.js").IdentityNumericStyleScaleOptions | undefined): import("./builder.js").GGBuilder;
19
+ scaleAlphaManual(options: import("./scale-style-helpers.js").ManualNumericStyleScaleOptions): import("./builder.js").GGBuilder;
20
+ scaleAlphaOrdinal(options?: import("./scale-style-helpers.js").DiscreteNumericStyleScaleOptions | undefined): import("./builder.js").GGBuilder;
21
+ scaleColorBinned(options?: import("./scale-color-helpers.js").SequentialColorScaleOptions | undefined): import("./builder.js").GGBuilder;
22
+ scaleColorBrewer(options?: import("./scale-color-helpers.js").ColorBrewerScaleOptions | undefined): import("./builder.js").GGBuilder;
23
+ scaleColorContinuous(options?: import("./scale-color-helpers.js").SequentialColorScaleOptions | undefined): import("./builder.js").GGBuilder;
24
+ scaleColorDate(options?: import("./scale-color-helpers.js").TemporalColorScaleOptions | undefined): import("./builder.js").GGBuilder;
25
+ scaleColorDatetime(options?: import("./scale-color-helpers.js").TemporalColorScaleOptions | undefined): import("./builder.js").GGBuilder;
26
+ scaleColorDiscrete(options?: import("./scale-color-helpers.js").DiscreteColorScaleOptions | undefined): import("./builder.js").GGBuilder;
27
+ scaleColorDistiller(options?: import("./scale-color-helpers.js").ColorDistillerScaleOptions | undefined): import("./builder.js").GGBuilder;
28
+ scaleColorFermenter(options?: import("./scale-color-helpers.js").ColorFermenterScaleOptions | undefined): import("./builder.js").GGBuilder;
29
+ scaleColorGradient(options?: import("./scale-color-stops.js").GradientScaleOptions | undefined): import("./builder.js").GGBuilder;
30
+ scaleColorGradient2(options?: import("./scale-color-stops.js").Gradient2ScaleOptions | undefined): import("./builder.js").GGBuilder;
31
+ scaleColorGradientn(options?: import("./scale-color-stops.js").GradientnScaleOptions | undefined): import("./builder.js").GGBuilder;
32
+ scaleColorGrey(options?: import("./scale-color-hue-grey.js").GreyScaleOptions | undefined): import("./builder.js").GGBuilder;
33
+ scaleColorHue(options?: import("./scale-color-hue-grey.js").HueScaleOptions | undefined): import("./builder.js").GGBuilder;
34
+ scaleColorIdentity(options?: import("./scale-color-helpers.js").IdentityColorScaleOptions | undefined): import("./builder.js").GGBuilder;
35
+ scaleColorLog10(options?: import("./scale-color-helpers.js").TransformedColorScaleOptions | undefined): import("./builder.js").GGBuilder;
36
+ scaleColorManual(options: import("./scale-color-helpers.js").ManualColorScaleOptions): import("./builder.js").GGBuilder;
37
+ scaleColorOrdinal(options?: import("./scale-color-helpers.js").DiscreteColorScaleOptions | undefined): import("./builder.js").GGBuilder;
38
+ scaleColorSqrt(options?: import("./scale-color-helpers.js").TransformedColorScaleOptions | undefined): import("./builder.js").GGBuilder;
39
+ scaleColorSteps(options?: import("./scale-color-stops.js").StepsScaleOptions | undefined): import("./builder.js").GGBuilder;
40
+ scaleColorSteps2(options?: import("./scale-color-stops.js").Steps2ScaleOptions | undefined): import("./builder.js").GGBuilder;
41
+ scaleColorStepsn(options?: import("./scale-color-stops.js").StepsnScaleOptions | undefined): import("./builder.js").GGBuilder;
42
+ scaleColorViridisB(options?: import("./scale-color-viridis.js").ViridisScaleOptions | undefined): import("./builder.js").GGBuilder;
43
+ scaleColorViridisC(options?: import("./scale-color-viridis.js").ViridisScaleOptions | undefined): import("./builder.js").GGBuilder;
44
+ scaleColorViridisD(options?: import("./scale-color-viridis.js").ViridisScaleOptions | undefined): import("./builder.js").GGBuilder;
45
+ scaleFillBinned(options?: import("./scale-color-helpers.js").SequentialColorScaleOptions | undefined): import("./builder.js").GGBuilder;
46
+ scaleFillBrewer(options?: import("./scale-color-helpers.js").ColorBrewerScaleOptions | undefined): import("./builder.js").GGBuilder;
47
+ scaleFillContinuous(options?: import("./scale-color-helpers.js").SequentialColorScaleOptions | undefined): import("./builder.js").GGBuilder;
48
+ scaleFillDate(options?: import("./scale-color-helpers.js").TemporalColorScaleOptions | undefined): import("./builder.js").GGBuilder;
49
+ scaleFillDatetime(options?: import("./scale-color-helpers.js").TemporalColorScaleOptions | undefined): import("./builder.js").GGBuilder;
50
+ scaleFillDiscrete(options?: import("./scale-color-helpers.js").DiscreteColorScaleOptions | undefined): import("./builder.js").GGBuilder;
51
+ scaleFillDistiller(options?: import("./scale-color-helpers.js").ColorDistillerScaleOptions | undefined): import("./builder.js").GGBuilder;
52
+ scaleFillFermenter(options?: import("./scale-color-helpers.js").ColorFermenterScaleOptions | undefined): import("./builder.js").GGBuilder;
53
+ scaleFillGradient(options?: import("./scale-color-stops.js").GradientScaleOptions | undefined): import("./builder.js").GGBuilder;
54
+ scaleFillGradient2(options?: import("./scale-color-stops.js").Gradient2ScaleOptions | undefined): import("./builder.js").GGBuilder;
55
+ scaleFillGradientn(options?: import("./scale-color-stops.js").GradientnScaleOptions | undefined): import("./builder.js").GGBuilder;
56
+ scaleFillGrey(options?: import("./scale-color-hue-grey.js").GreyScaleOptions | undefined): import("./builder.js").GGBuilder;
57
+ scaleFillHue(options?: import("./scale-color-hue-grey.js").HueScaleOptions | undefined): import("./builder.js").GGBuilder;
58
+ scaleFillIdentity(options?: import("./scale-color-helpers.js").IdentityColorScaleOptions | undefined): import("./builder.js").GGBuilder;
59
+ scaleFillLog10(options?: import("./scale-color-helpers.js").TransformedColorScaleOptions | undefined): import("./builder.js").GGBuilder;
60
+ scaleFillManual(options: import("./scale-color-helpers.js").ManualColorScaleOptions): import("./builder.js").GGBuilder;
61
+ scaleFillOrdinal(options?: import("./scale-color-helpers.js").DiscreteColorScaleOptions | undefined): import("./builder.js").GGBuilder;
62
+ scaleFillSqrt(options?: import("./scale-color-helpers.js").TransformedColorScaleOptions | undefined): import("./builder.js").GGBuilder;
63
+ scaleFillSteps(options?: import("./scale-color-stops.js").StepsScaleOptions | undefined): import("./builder.js").GGBuilder;
64
+ scaleFillSteps2(options?: import("./scale-color-stops.js").Steps2ScaleOptions | undefined): import("./builder.js").GGBuilder;
65
+ scaleFillStepsn(options?: import("./scale-color-stops.js").StepsnScaleOptions | undefined): import("./builder.js").GGBuilder;
66
+ scaleFillViridisB(options?: import("./scale-color-viridis.js").ViridisScaleOptions | undefined): import("./builder.js").GGBuilder;
67
+ scaleFillViridisC(options?: import("./scale-color-viridis.js").ViridisScaleOptions | undefined): import("./builder.js").GGBuilder;
68
+ scaleFillViridisD(options?: import("./scale-color-viridis.js").ViridisScaleOptions | undefined): import("./builder.js").GGBuilder;
69
+ scaleLinetypeBinned(options?: (Omit<import("./scale-style-helpers.js").FiniteStyleScaleOptions<"solid" | "dashed" | "dotted" | "dotdash" | "longdash" | "twodash">, "domain" | "domainMode" | "onExhaust"> & {
70
+ domain?: readonly [number, number];
71
+ }) | undefined): import("./builder.js").GGBuilder;
72
+ scaleLinetypeDiscrete(options?: {
73
+ reverse?: boolean;
74
+ domain?: readonly import("./schema-types.js").CellValue[];
75
+ naValue?: "solid" | "dashed" | "dotted" | "dotdash" | "longdash" | "twodash";
76
+ guide?: import("./schema-types.js").GuideSpec;
77
+ domainMode?: "grow" | "data";
78
+ range?: readonly ("solid" | "dashed" | "dotted" | "dotdash" | "longdash" | "twodash")[];
79
+ unknownValue?: "solid" | "dashed" | "dotted" | "dotdash" | "longdash" | "twodash";
80
+ onExhaust?: "cycle" | "error";
81
+ } | undefined): import("./builder.js").GGBuilder;
82
+ scaleLinetypeIdentity(options?: import("./scale-style-helpers.js").IdentityFiniteStyleScaleOptions<"solid" | "dashed" | "dotted" | "dotdash" | "longdash" | "twodash"> | undefined): import("./builder.js").GGBuilder;
83
+ scaleLinetypeManual(options: import("./scale-style-helpers.js").ManualFiniteStyleScaleOptions<"solid" | "dashed" | "dotted" | "dotdash" | "longdash" | "twodash">): import("./builder.js").GGBuilder;
84
+ scaleLinewidthBinned(options?: import("./scale-style-helpers.js").SequentialStyleScaleOptions | undefined): import("./builder.js").GGBuilder;
85
+ scaleLinewidthContinuous(options?: import("./scale-style-helpers.js").SequentialStyleScaleOptions | undefined): import("./builder.js").GGBuilder;
86
+ scaleLinewidthDate(options?: import("./scale-style-helpers.js").TemporalNumericStyleScaleOptions | undefined): import("./builder.js").GGBuilder;
87
+ scaleLinewidthDatetime(options?: import("./scale-style-helpers.js").TemporalNumericStyleScaleOptions | undefined): import("./builder.js").GGBuilder;
88
+ scaleLinewidthDiscrete(options?: import("./scale-style-helpers.js").DiscreteNumericStyleScaleOptions | undefined): import("./builder.js").GGBuilder;
89
+ scaleLinewidthIdentity(options?: import("./scale-style-helpers.js").IdentityNumericStyleScaleOptions | undefined): import("./builder.js").GGBuilder;
90
+ scaleLinewidthManual(options: import("./scale-style-helpers.js").ManualNumericStyleScaleOptions): import("./builder.js").GGBuilder;
91
+ scaleLinewidthOrdinal(options?: import("./scale-style-helpers.js").DiscreteNumericStyleScaleOptions | undefined): import("./builder.js").GGBuilder;
92
+ scaleRadius(options?: import("./scale-style-helpers.js").SizeSequentialStyleScaleOptions | undefined): import("./builder.js").GGBuilder;
93
+ scaleShapeBinned(options?: (Omit<import("./scale-style-helpers.js").FiniteStyleScaleOptions<"circle" | "triangle" | "square" | "diamond" | "plus" | "cross" | "circle-open">, "domain" | "domainMode" | "onExhaust"> & {
94
+ domain?: readonly [number, number];
95
+ }) | undefined): import("./builder.js").GGBuilder;
96
+ scaleShapeDiscrete(options?: {
97
+ reverse?: boolean;
98
+ domain?: readonly import("./schema-types.js").CellValue[];
99
+ naValue?: "circle" | "triangle" | "square" | "diamond" | "plus" | "cross" | "circle-open";
100
+ guide?: import("./schema-types.js").GuideSpec;
101
+ domainMode?: "grow" | "data";
102
+ range?: readonly ("circle" | "triangle" | "square" | "diamond" | "plus" | "cross" | "circle-open")[];
103
+ unknownValue?: "circle" | "triangle" | "square" | "diamond" | "plus" | "cross" | "circle-open";
104
+ onExhaust?: "cycle" | "error";
105
+ } | undefined): import("./builder.js").GGBuilder;
106
+ scaleShapeIdentity(options?: import("./scale-style-helpers.js").IdentityFiniteStyleScaleOptions<"circle" | "triangle" | "square" | "diamond" | "plus" | "cross" | "circle-open"> | undefined): import("./builder.js").GGBuilder;
107
+ scaleShapeManual(options: import("./scale-style-helpers.js").ManualFiniteStyleScaleOptions<"circle" | "triangle" | "square" | "diamond" | "plus" | "cross" | "circle-open">): import("./builder.js").GGBuilder;
108
+ scaleShapeOrdinal(options?: {
109
+ reverse?: boolean;
110
+ domain?: readonly import("./schema-types.js").CellValue[];
111
+ naValue?: "circle" | "triangle" | "square" | "diamond" | "plus" | "cross" | "circle-open";
112
+ guide?: import("./schema-types.js").GuideSpec;
113
+ domainMode?: "grow" | "data";
114
+ range?: readonly ("circle" | "triangle" | "square" | "diamond" | "plus" | "cross" | "circle-open")[];
115
+ unknownValue?: "circle" | "triangle" | "square" | "diamond" | "plus" | "cross" | "circle-open";
116
+ onExhaust?: "cycle" | "error";
117
+ } | undefined): import("./builder.js").GGBuilder;
118
+ scaleSizeArea(options?: import("./scale-style-helpers.js").SizeAreaScaleOptions | undefined): import("./builder.js").GGBuilder;
119
+ scaleSizeBinned(options?: import("./scale-style-helpers.js").SizeSequentialStyleScaleOptions | undefined): import("./builder.js").GGBuilder;
120
+ scaleSizeBinnedArea(options?: import("./scale-style-helpers.js").SizeAreaScaleOptions | undefined): import("./builder.js").GGBuilder;
121
+ scaleSizeContinuous(options?: import("./scale-style-helpers.js").SizeSequentialStyleScaleOptions | undefined): import("./builder.js").GGBuilder;
122
+ scaleSizeDate(options?: import("./scale-style-helpers.js").SizeTemporalNumericStyleScaleOptions | undefined): import("./builder.js").GGBuilder;
123
+ scaleSizeDatetime(options?: import("./scale-style-helpers.js").SizeTemporalNumericStyleScaleOptions | undefined): import("./builder.js").GGBuilder;
124
+ scaleSizeDiscrete(options?: import("./scale-style-helpers.js").DiscreteNumericStyleScaleOptions | undefined): import("./builder.js").GGBuilder;
125
+ scaleSizeIdentity(options?: import("./scale-style-helpers.js").IdentityNumericStyleScaleOptions | undefined): import("./builder.js").GGBuilder;
126
+ scaleSizeManual(options: import("./scale-style-helpers.js").ManualNumericStyleScaleOptions): import("./builder.js").GGBuilder;
127
+ scaleSizeOrdinal(options?: import("./scale-style-helpers.js").DiscreteNumericStyleScaleOptions | undefined): import("./builder.js").GGBuilder;
128
+ scaleXBinned(options?: import("./scale-position-helpers.js").ContinuousPositionScaleOptions | undefined): import("./builder.js").GGBuilder;
129
+ scaleXContinuous(options?: import("./scale-position-helpers.js").ContinuousPositionScaleOptions | undefined): import("./builder.js").GGBuilder;
130
+ scaleXDate(options?: import("./scale-position-helpers.js").TemporalScaleOptions | undefined): import("./builder.js").GGBuilder;
131
+ scaleXDatetime(options?: import("./scale-position-helpers.js").TemporalScaleOptions | undefined): import("./builder.js").GGBuilder;
132
+ scaleXDiscrete(options?: import("./scale-position-helpers.js").DiscretePositionScaleOptions | undefined): import("./builder.js").GGBuilder;
133
+ scaleXLog10(options?: import("./scale-position-helpers.js").TransformedPositionScaleOptions | undefined): import("./builder.js").GGBuilder;
134
+ scaleXMonthDay(options?: import("./scale-position-helpers.js").TemporalScaleOptions | undefined): import("./builder.js").GGBuilder;
135
+ scaleXReverse(options?: Omit<import("./scale-position-helpers.js").ContinuousPositionScaleOptions, "transform" | "reverse"> | undefined): import("./builder.js").GGBuilder;
136
+ scaleXSqrt(options?: import("./scale-position-helpers.js").TransformedPositionScaleOptions | undefined): import("./builder.js").GGBuilder;
137
+ scaleXTime(options?: import("./scale-position-helpers.js").TemporalScaleOptions | undefined): import("./builder.js").GGBuilder;
138
+ scaleYBinned(options?: import("./scale-position-helpers.js").ContinuousPositionScaleOptions | undefined): import("./builder.js").GGBuilder;
139
+ scaleYContinuous(options?: import("./scale-position-helpers.js").ContinuousPositionScaleOptions | undefined): import("./builder.js").GGBuilder;
140
+ scaleYDate(options?: import("./scale-position-helpers.js").TemporalScaleOptions | undefined): import("./builder.js").GGBuilder;
141
+ scaleYDatetime(options?: import("./scale-position-helpers.js").TemporalScaleOptions | undefined): import("./builder.js").GGBuilder;
142
+ scaleYDiscrete(options?: import("./scale-position-helpers.js").DiscretePositionScaleOptions | undefined): import("./builder.js").GGBuilder;
143
+ scaleYLog10(options?: import("./scale-position-helpers.js").TransformedPositionScaleOptions | undefined): import("./builder.js").GGBuilder;
144
+ scaleYMonthDay(options?: import("./scale-position-helpers.js").TemporalScaleOptions | undefined): import("./builder.js").GGBuilder;
145
+ scaleYReverse(options?: Omit<import("./scale-position-helpers.js").ContinuousPositionScaleOptions, "transform" | "reverse"> | undefined): import("./builder.js").GGBuilder;
146
+ scaleYSqrt(options?: import("./scale-position-helpers.js").TransformedPositionScaleOptions | undefined): import("./builder.js").GGBuilder;
147
+ scaleYTime(options?: import("./scale-position-helpers.js").TemporalScaleOptions | undefined): import("./builder.js").GGBuilder;
148
+ scales(scales: import("./schema-types.js").Scales): import("./builder.js").GGBuilder;
149
+ };
150
+ } & {
151
+ new (...args: any[]): {
152
+ geomPoint(options?: import("./builder-options.js").GeomPointOptions): import("./builder.js").GGBuilder;
153
+ geomLine(options?: import("./builder-options.js").GeomLineOptions): import("./builder.js").GGBuilder;
154
+ geomPath(options?: import("./builder-options.js").GeomPathOptions): import("./builder.js").GGBuilder;
155
+ geomCol(options?: import("./builder-options.js").GeomColOptions): import("./builder.js").GGBuilder;
156
+ geomBar(options?: import("./builder-options.js").GeomBarOptions): import("./builder.js").GGBuilder;
157
+ geomHistogram(options?: import("./builder-options.js").GeomHistogramOptions): import("./builder.js").GGBuilder;
158
+ geomFreqpoly(options?: import("./builder-options.js").GeomFreqpolyOptions): import("./builder.js").GGBuilder;
159
+ geomArea(options?: import("./builder-options.js").GeomAreaOptions): import("./builder.js").GGBuilder;
160
+ geomRule(options?: import("./builder-options.js").GeomRuleOptions): import("./builder.js").GGBuilder;
161
+ geomHline(options?: import("./builder-options.js").GeomHlineOptions): import("./builder.js").GGBuilder;
162
+ geomVline(options?: import("./builder-options.js").GeomVlineOptions): import("./builder.js").GGBuilder;
163
+ geomText(options?: import("./builder-options.js").GeomTextOptions): import("./builder.js").GGBuilder;
164
+ geomLabel(options?: import("./builder-options.js").GeomLabelOptions): import("./builder.js").GGBuilder;
165
+ geomSmooth(options?: import("./builder-options.js").GeomSmoothOptions): import("./builder.js").GGBuilder;
166
+ geomQuantile(options?: import("./builder-options.js").GeomQuantileOptions): import("./builder.js").GGBuilder;
167
+ geomBoxplot(options?: import("./builder-options.js").GeomBoxplotOptions): import("./builder.js").GGBuilder;
168
+ geomDensity(options?: import("./builder-options.js").GeomDensityOptions): import("./builder.js").GGBuilder;
169
+ geomErrorbar(options?: import("./builder-options.js").GeomErrorbarOptions): import("./builder.js").GGBuilder;
170
+ geomLinerange(options?: import("./builder-options.js").GeomLinerangeOptions): import("./builder.js").GGBuilder;
171
+ geomPointrange(options?: import("./builder-options.js").GeomPointrangeOptions): import("./builder.js").GGBuilder;
172
+ geomCrossbar(options?: import("./builder-options.js").GeomCrossbarOptions): import("./builder.js").GGBuilder;
173
+ geomRect(options?: import("./builder-options.js").GeomRectOptions): import("./builder.js").GGBuilder;
174
+ geomTile(options?: import("./builder-options.js").GeomTileOptions): import("./builder.js").GGBuilder;
175
+ geomRaster(options?: import("./builder-options.js").GeomRasterOptions): import("./builder.js").GGBuilder;
176
+ geomRibbon(options?: import("./builder-options.js").GeomRibbonOptions): import("./builder.js").GGBuilder;
177
+ geomSegment(options?: import("./builder-options.js").GeomSegmentOptions): import("./builder.js").GGBuilder;
178
+ geomCount(options?: import("./builder-options.js").GeomCountOptions): import("./builder.js").GGBuilder;
179
+ geomViolin(options?: import("./builder-options.js").GeomViolinOptions): import("./builder.js").GGBuilder;
180
+ geomFunction(options: import("./builder-options.js").GeomFunctionOptions): import("./builder.js").GGBuilder;
181
+ geomPolygon(options?: import("./builder-options.js").GeomPolygonOptions): import("./builder.js").GGBuilder;
182
+ geomHex(options?: import("./builder-options.js").GeomHexOptions): import("./builder.js").GGBuilder;
183
+ geomBin2d(options?: import("./builder-options.js").GeomBin2dOptions): import("./builder.js").GGBuilder;
184
+ geomAbline(options?: import("./builder-options.js").GeomAblineOptions): import("./builder.js").GGBuilder;
185
+ geomCurve(options?: import("./builder-options.js").GeomCurveOptions): import("./builder.js").GGBuilder;
186
+ geomContour(options?: import("./builder-options.js").GeomContourOptions): import("./builder.js").GGBuilder;
187
+ geomDensity2d(options?: import("./builder-options.js").GeomDensity2dOptions): import("./builder.js").GGBuilder;
188
+ geomDensity2dFilled(options?: import("./builder-options.js").GeomDensity2dFilledOptions): import("./builder.js").GGBuilder;
189
+ geomDotplot(options?: import("./builder-options.js").GeomDotplotOptions): import("./builder.js").GGBuilder;
190
+ geomMap(options: import("./builder-options.js").GeomMapOptions): import("./builder.js").GGBuilder;
191
+ geomSf(options?: import("./builder-options.js").GeomSfOptions): import("./builder.js").GGBuilder;
192
+ geomSfText(options?: import("./builder-options.js").GeomSfTextOptions): import("./builder.js").GGBuilder;
193
+ geomSfLabel(options?: import("./builder-options.js").GeomSfLabelOptions): import("./builder.js").GGBuilder;
194
+ geomBlank(options?: import("./builder-options.js").GeomBlankOptions): import("./builder.js").GGBuilder;
195
+ geomJitter(options?: import("./builder-options.js").GeomJitterOptions): import("./builder.js").GGBuilder;
196
+ geomSpoke(options?: import("./builder-options.js").GeomSpokeOptions): import("./builder.js").GGBuilder;
197
+ geomRug(options?: import("./builder-options.js").GeomRugOptions): import("./builder.js").GGBuilder;
198
+ geomStep(options?: import("./builder-options.js").GeomStepOptions): import("./builder.js").GGBuilder;
199
+ geomQq(options?: import("./builder-options.js").GeomQqOptions): import("./builder.js").GGBuilder;
200
+ geomQqLine(options?: import("./builder-options.js").GeomQqLineOptions): import("./builder.js").GGBuilder;
201
+ layer(layer: import("./normalize-input-layers-special.js").LayerInput): import("./builder.js").GGBuilder;
202
+ };
203
+ } & typeof GGBuilderCore;
204
+ /**
205
+ * Portable builder: `.spec()` and `.toPortable()` both normalize only.
206
+ * Full schema validation: import `validate` from `@ggts-sh/spec`.
207
+ */
208
+ export declare class GGBuilder extends GGBuilder_base {
209
+ /** Normalize-only finish (TypeBox-free). Alias of {@link toPortable}. */
210
+ spec(): PortableSpec;
211
+ }
212
+ /** Start a plot for render paths: gg(data, aes(...)).geomPoint().spec(). */
213
+ export declare function gg(data?: DataInput, mapping?: AesInput): GGBuilder;
214
+ export {};
215
+ //# sourceMappingURL=portable-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portable-builder.d.ts","sourceRoot":"","sources":["../src/portable-builder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,2EAA2E;AAC3E,wBAAgB,GAAG,CAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,CAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED;;;GAGG;AACH,qBAAa,SAAU,SAAQ,cAAkD;IAC/E,yEAAyE;IACzE,IAAI,IAAI,YAAY;CAGrB;AAED,4EAA4E;AAC5E,wBAAgB,EAAE,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,CAMlE"}
@@ -0,0 +1,27 @@
1
+ import { toAuthoringDataRef } from "./builder-data.js";
2
+ import { GGBuilderCore } from "./builder-core.js";
3
+ import { WithBuilderGeoms } from "./builder-geoms.js";
4
+ import { WithBuilderScales } from "./builder-scales.js";
5
+ /** Identity helper for aesthetic mappings (same as full package `aes`). */
6
+ export function aes(mapping) {
7
+ return mapping;
8
+ }
9
+ /**
10
+ * Portable builder: `.spec()` and `.toPortable()` both normalize only.
11
+ * Full schema validation: import `validate` from `@ggts-sh/spec`.
12
+ */
13
+ export class GGBuilder extends WithBuilderScales(WithBuilderGeoms(GGBuilderCore)) {
14
+ /** Normalize-only finish (TypeBox-free). Alias of {@link toPortable}. */
15
+ spec() {
16
+ return this.toPortable();
17
+ }
18
+ }
19
+ /** Start a plot for render paths: gg(data, aes(...)).geomPoint().spec(). */
20
+ export function gg(data, mapping) {
21
+ return new GGBuilder({
22
+ ...(data !== undefined && { data: toAuthoringDataRef(data) }),
23
+ ...(mapping !== undefined && { aes: mapping }),
24
+ layers: [],
25
+ });
26
+ }
27
+ //# sourceMappingURL=portable-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portable-builder.js","sourceRoot":"","sources":["../src/portable-builder.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAkB,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,2EAA2E;AAC3E,MAAM,UAAU,GAAG,CAAC,OAAiB;IACnC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,SAAU,SAAQ,iBAAiB,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAC/E,yEAAyE;IACzE,IAAI;QACF,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;IAC3B,CAAC;CACF;AAED,4EAA4E;AAC5E,MAAM,UAAU,EAAE,CAAC,IAAgB,EAAE,OAAkB;IACrD,OAAO,IAAI,SAAS,CAAC;QACnB,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;QAC9C,MAAM,EAAE,EAAE;KACX,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Lean portable builder entry (`@ggts-sh/spec/portable`).
3
+ *
4
+ * Exports the fluent builder without TypeBox: `.spec()` is an alias of
5
+ * `.toPortable()` (normalize only). Use this from chart render bundles;
6
+ * keep `@ggts-sh/spec` + `.spec()` / `validate()` for agent authoring.
7
+ *
8
+ * Lifecycle (Hadley lesson 13; meanings in CONTRIBUTING.md): tags collected
9
+ * into lifecycle.json by scripts/gen-lifecycle.ts.
10
+ */
11
+ export type { AuthoringCellValue, AuthoringColumns, AuthoringDataRef, AuthoringRows, DataInput, } from "./builder-data.js";
12
+ export type { GeomAreaOptions, GeomBarOptions, GeomBoxplotOptions, GeomColOptions, GeomDensityOptions, GeomHistogramOptions, GeomLineOptions, GeomPointOptions, GeomSmoothOptions, GeomTextOptions, } from "./builder-options.js";
13
+ export { normalize } from "./normalize.js";
14
+ export type { AesInput, SpecInput } from "./normalize.js";
15
+ export { aes, gg, GGBuilder } from "./portable-builder.js";
16
+ //# sourceMappingURL=portable-entry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portable-entry.d.ts","sourceRoot":"","sources":["../src/portable-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,SAAS,GACV,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Lean portable builder entry (`@ggts-sh/spec/portable`).
3
+ *
4
+ * Exports the fluent builder without TypeBox: `.spec()` is an alias of
5
+ * `.toPortable()` (normalize only). Use this from chart render bundles;
6
+ * keep `@ggts-sh/spec` + `.spec()` / `validate()` for agent authoring.
7
+ *
8
+ * Lifecycle (Hadley lesson 13; meanings in CONTRIBUTING.md): tags collected
9
+ * into lifecycle.json by scripts/gen-lifecycle.ts.
10
+ */
11
+ // @lifecycle-default experimental
12
+ export { normalize } from "./normalize.js";
13
+ export { aes, gg, GGBuilder } from "./portable-builder.js";
14
+ //# sourceMappingURL=portable-entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portable-entry.js","sourceRoot":"","sources":["../src/portable-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,kCAAkC;AAuBlC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * POSITION_REFERENCE builder. Gen-only: `scripts/gen-reference-catalogs.ts`.
3
+ * Runtime uses generated/position-reference-data.ts.
4
+ */
5
+ import { type GeomName, type PositionName } from "./schema-catalog.js";
6
+ export interface PositionParamDoc {
7
+ readonly name: string;
8
+ readonly description: string;
9
+ readonly typeSummary: string;
10
+ readonly required: boolean;
11
+ }
12
+ export interface PositionReferenceEntry {
13
+ readonly name: PositionName;
14
+ /** Route slug — same as position name. */
15
+ readonly slug: string;
16
+ /** Short purpose text for the adjustment. */
17
+ readonly summary: string;
18
+ /**
19
+ * Keys of positionParams that apply to this position (from PositionParams
20
+ * schema, filtered by which adjustment uses them).
21
+ */
22
+ readonly params: readonly PositionParamDoc[];
23
+ /** Geoms whose layer schema allows this position. */
24
+ readonly compatibleGeoms: readonly GeomName[];
25
+ /** Geoms whose GEOM_DEFAULTS.position is this position. */
26
+ readonly defaultForGeoms: readonly GeomName[];
27
+ }
28
+ export declare function buildPositionReference(): Readonly<Record<PositionName, PositionReferenceEntry>>;
29
+ //# sourceMappingURL=position-reference-build.d.ts.map