semiotic 3.7.5 → 3.8.1

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 (575) hide show
  1. package/CLAUDE.md +63 -18
  2. package/README.md +121 -27
  3. package/agent-skill/semiotic-charts/SKILL.md +146 -0
  4. package/ai/cli.js +133 -45
  5. package/ai/componentMetadata.cjs +6 -1
  6. package/ai/dist/mcp-server.js +1741 -163
  7. package/ai/examples.md +174 -0
  8. package/ai/schema.json +2733 -536
  9. package/ai/surface-manifest.json +201 -0
  10. package/ai/system-prompt.md +20 -4
  11. package/dist/__tests__/scenarios/mcpProtocolTypes.d.ts +20 -0
  12. package/dist/components/AccessibleNavTree.d.ts +7 -1
  13. package/dist/components/CategoryColors.d.ts +1 -1
  14. package/dist/components/ChartContainer.d.ts +91 -0
  15. package/dist/components/ChartGrid.d.ts +11 -1
  16. package/dist/components/CircularBrush.d.ts +61 -0
  17. package/dist/components/ContextLayout.d.ts +5 -1
  18. package/dist/components/DirectManipulationControl.d.ts +63 -0
  19. package/dist/components/LinkedCharts.d.ts +3 -1
  20. package/dist/components/MobileAnnotationCalloutList.d.ts +13 -0
  21. package/dist/components/MobileChartContainer.d.ts +51 -0
  22. package/dist/components/MobileStandardControls.d.ts +68 -0
  23. package/dist/components/SmallMultipleChart.d.ts +84 -0
  24. package/dist/components/Tooltip/FlippingTooltip.d.ts +21 -0
  25. package/dist/components/ai/ChartRecipe.d.ts +16 -0
  26. package/dist/components/ai/IntentMark.d.ts +15 -0
  27. package/dist/components/ai/chartCapabilities.d.ts +8 -1
  28. package/dist/components/ai/chartCapabilityTypes.d.ts +26 -1
  29. package/dist/components/ai/chartClinic.d.ts +91 -0
  30. package/dist/components/ai/chartClinicMetadata.generated.d.ts +15 -0
  31. package/dist/components/ai/chartRecipeRegistry.d.ts +14 -0
  32. package/dist/components/ai/chartRecipes.d.ts +278 -0
  33. package/dist/components/ai/dataPitfallsBridge.d.ts +102 -0
  34. package/dist/components/ai/describeChart.d.ts +7 -0
  35. package/dist/components/ai/describeRecipeChart.d.ts +16 -0
  36. package/dist/components/ai/generativeChart.d.ts +28 -3
  37. package/dist/components/ai/intentManifest.d.ts +62 -0
  38. package/dist/components/ai/navigationTree.d.ts +3 -0
  39. package/dist/components/ai/observedSceneAudit.d.ts +72 -0
  40. package/dist/components/ai/readerGrounding.d.ts +83 -0
  41. package/dist/components/ai/recipeCapability.d.ts +8 -0
  42. package/dist/components/ai/recipeNavigation.d.ts +13 -0
  43. package/dist/components/ai/recipeSemantics.d.ts +11 -0
  44. package/dist/components/ai/repairChartConfig.d.ts +9 -0
  45. package/dist/components/ai/suggestCharts.d.ts +11 -1
  46. package/dist/components/ai/useNavigationSync.d.ts +17 -2
  47. package/dist/components/chartContainerMobile.d.ts +9 -0
  48. package/dist/components/charts/custom/GeoCustomChart.d.ts +48 -0
  49. package/dist/components/charts/custom/NetworkCustomChart.d.ts +8 -2
  50. package/dist/components/charts/custom/OrdinalCustomChart.d.ts +8 -2
  51. package/dist/components/charts/custom/XYCustomChart.d.ts +11 -2
  52. package/dist/components/charts/geo/ChoroplethMap.d.ts +19 -2
  53. package/dist/components/charts/geo/DistanceCartogram.d.ts +15 -3
  54. package/dist/components/charts/geo/FlowMap.d.ts +11 -7
  55. package/dist/components/charts/geo/ProportionalSymbolMap.d.ts +15 -3
  56. package/dist/components/charts/geo/index.d.ts +2 -0
  57. package/dist/components/charts/index.d.ts +35 -1
  58. package/dist/components/charts/network/ChordDiagram.d.ts +10 -2
  59. package/dist/components/charts/network/CirclePack.d.ts +1 -1
  60. package/dist/components/charts/network/ForceDirectedGraph.d.ts +26 -5
  61. package/dist/components/charts/network/OrbitDiagram.d.ts +1 -1
  62. package/dist/components/charts/network/ProcessSankey.d.ts +1 -1
  63. package/dist/components/charts/network/SankeyDiagram.d.ts +10 -2
  64. package/dist/components/charts/network/TreeDiagram.d.ts +1 -1
  65. package/dist/components/charts/network/Treemap.d.ts +1 -1
  66. package/dist/components/charts/network/useForceLayout.d.ts +17 -0
  67. package/dist/components/charts/ordinal/BarChart.d.ts +22 -1
  68. package/dist/components/charts/ordinal/BoxPlot.d.ts +1 -1
  69. package/dist/components/charts/ordinal/DonutChart.d.ts +1 -1
  70. package/dist/components/charts/ordinal/DotPlot.d.ts +1 -1
  71. package/dist/components/charts/ordinal/FunnelChart.d.ts +1 -1
  72. package/dist/components/charts/ordinal/GroupedBarChart.d.ts +12 -1
  73. package/dist/components/charts/ordinal/Histogram.d.ts +1 -1
  74. package/dist/components/charts/ordinal/PieChart.d.ts +1 -1
  75. package/dist/components/charts/ordinal/RidgelinePlot.d.ts +1 -1
  76. package/dist/components/charts/ordinal/StackedBarChart.d.ts +12 -1
  77. package/dist/components/charts/ordinal/SwarmPlot.d.ts +1 -1
  78. package/dist/components/charts/ordinal/SwimlaneChart.d.ts +1 -1
  79. package/dist/components/charts/ordinal/ViolinPlot.d.ts +1 -1
  80. package/dist/components/charts/physics/ChainReactionChart.d.ts +9 -0
  81. package/dist/components/charts/physics/CollisionSwarmChart.capability.d.ts +2 -0
  82. package/dist/components/charts/physics/CollisionSwarmChart.d.ts +54 -0
  83. package/dist/components/charts/physics/EventDropChart.capability.d.ts +2 -0
  84. package/dist/components/charts/physics/EventDropChart.d.ts +60 -0
  85. package/dist/components/charts/physics/GaltonBoardChart.capability.d.ts +2 -0
  86. package/dist/components/charts/physics/GaltonBoardChart.d.ts +74 -0
  87. package/dist/components/charts/physics/GauntletChart.capability.d.ts +2 -0
  88. package/dist/components/charts/physics/GauntletChart.d.ts +73 -0
  89. package/dist/components/charts/physics/PhysicalFlowChart.capability.d.ts +2 -0
  90. package/dist/components/charts/physics/PhysicalFlowChart.d.ts +63 -0
  91. package/dist/components/charts/physics/PhysicsCustomChart.d.ts +99 -0
  92. package/dist/components/charts/physics/PhysicsPileChart.capability.d.ts +2 -0
  93. package/dist/components/charts/physics/PhysicsPileChart.d.ts +60 -0
  94. package/dist/components/charts/physics/ProcessFlowChart.capability.d.ts +2 -0
  95. package/dist/components/charts/physics/ProcessFlowChart.d.ts +96 -0
  96. package/dist/components/charts/physics/chainReactionOverlay.d.ts +22 -0
  97. package/dist/components/charts/physics/chainReactionRuntime.d.ts +37 -0
  98. package/dist/components/charts/physics/chainReactionTypes.d.ts +97 -0
  99. package/dist/components/charts/physics/collisionSwarmPhysics.d.ts +27 -0
  100. package/dist/components/charts/physics/dependencyMachine.d.ts +188 -0
  101. package/dist/components/charts/physics/eventDropPhysics.d.ts +64 -0
  102. package/dist/components/charts/physics/galtonBoardPhysics.d.ts +28 -0
  103. package/dist/components/charts/physics/gauntletChartProps.d.ts +67 -0
  104. package/dist/components/charts/physics/gauntletChrome.d.ts +33 -0
  105. package/dist/components/charts/physics/gauntletController.d.ts +73 -0
  106. package/dist/components/charts/physics/gauntletEffects.d.ts +36 -0
  107. package/dist/components/charts/physics/gauntletPhysics.d.ts +71 -0
  108. package/dist/components/charts/physics/gauntletRuntime.d.ts +42 -0
  109. package/dist/components/charts/physics/gauntletTypes.d.ts +213 -0
  110. package/dist/components/charts/physics/physicalFlowPhysics.d.ts +57 -0
  111. package/dist/components/charts/physics/physicsChartShared.d.ts +57 -0
  112. package/dist/components/charts/physics/physicsChartUtils.d.ts +18 -0
  113. package/dist/components/charts/physics/physicsCustomLayout.d.ts +32 -0
  114. package/dist/components/charts/physics/physicsEncoding.d.ts +142 -0
  115. package/dist/components/charts/physics/physicsHocHandle.d.ts +53 -0
  116. package/dist/components/charts/physics/physicsHocUtils.d.ts +128 -0
  117. package/dist/components/charts/physics/physicsPilePhysics.d.ts +41 -0
  118. package/dist/components/charts/physics/physicsProcessPrimitives.d.ts +38 -0
  119. package/dist/components/charts/physics/processFlowPhysics.d.ts +97 -0
  120. package/dist/components/charts/realtime/RealtimeHeatmap.d.ts +9 -1
  121. package/dist/components/charts/realtime/RealtimeHistogram.d.ts +9 -1
  122. package/dist/components/charts/realtime/RealtimeLineChart.d.ts +9 -1
  123. package/dist/components/charts/realtime/RealtimeSwarmChart.d.ts +16 -2
  124. package/dist/components/charts/realtime/RealtimeWaterfallChart.d.ts +9 -1
  125. package/dist/components/charts/shared/AnnotationLabel.d.ts +88 -0
  126. package/dist/components/charts/shared/annotationActivation.d.ts +35 -0
  127. package/dist/components/charts/shared/annotationLabelLayout.d.ts +5 -0
  128. package/dist/components/charts/shared/annotationRules.d.ts +2 -1
  129. package/dist/components/charts/shared/auditMobileVisualization.d.ts +91 -0
  130. package/dist/components/charts/shared/chartDefinitionPilot.d.ts +145 -0
  131. package/dist/components/charts/shared/chartFamilySets.d.ts +20 -0
  132. package/dist/components/charts/shared/chartSelectionUtils.d.ts +4 -0
  133. package/dist/components/charts/shared/chartSpecCore.d.ts +165 -0
  134. package/dist/components/charts/shared/chartSpecs.d.ts +8 -127
  135. package/dist/components/charts/shared/chartSpecsGeo.d.ts +2 -0
  136. package/dist/components/charts/shared/chartSpecsNetwork.d.ts +2 -0
  137. package/dist/components/charts/shared/chartSpecsOrdinal.d.ts +2 -0
  138. package/dist/components/charts/shared/chartSpecsPhysics.d.ts +2 -0
  139. package/dist/components/charts/shared/chartSpecsRealtime.d.ts +2 -0
  140. package/dist/components/charts/shared/chartSpecsValue.d.ts +2 -0
  141. package/dist/components/charts/shared/chartSpecsXY.d.ts +2 -0
  142. package/dist/components/charts/shared/colorContrast.d.ts +3 -0
  143. package/dist/components/charts/shared/colorUtils.d.ts +16 -1
  144. package/dist/components/charts/shared/datumTypes.d.ts +2 -0
  145. package/dist/components/charts/shared/diagnoseAnnotationChecks.d.ts +6 -0
  146. package/dist/components/charts/shared/diagnoseConfig.d.ts +9 -14
  147. package/dist/components/charts/shared/diagnoseMisleadingChecks.d.ts +9 -0
  148. package/dist/components/charts/shared/diagnosePhysicsChecks.d.ts +3 -0
  149. package/dist/components/charts/shared/diagnoseTypes.d.ts +10 -0
  150. package/dist/components/charts/shared/formatUtils.d.ts +3 -3
  151. package/dist/components/charts/shared/hatchFill.d.ts +87 -0
  152. package/dist/components/charts/shared/hooks.d.ts +34 -10
  153. package/dist/components/charts/shared/knownChartComponents.d.ts +9 -0
  154. package/dist/components/charts/shared/leastSquaresRegression.d.ts +16 -0
  155. package/dist/components/charts/shared/mergeShapeStyle.d.ts +3 -2
  156. package/dist/components/charts/shared/motionEncoding.d.ts +145 -0
  157. package/dist/components/charts/shared/responsiveRules.d.ts +56 -0
  158. package/dist/components/charts/shared/semanticInteractions.d.ts +42 -0
  159. package/dist/components/charts/shared/sparseArray.d.ts +1 -1
  160. package/dist/components/charts/shared/streamPropsHelpers.d.ts +17 -5
  161. package/dist/components/charts/shared/styleRules.d.ts +205 -0
  162. package/dist/components/charts/shared/temporalStrings.d.ts +7 -0
  163. package/dist/components/charts/shared/tooltipUtils.d.ts +22 -9
  164. package/dist/components/charts/shared/types.d.ts +58 -7
  165. package/dist/components/charts/shared/useAreaSeriesSetup.d.ts +16 -2
  166. package/dist/components/charts/shared/useChartSetup.d.ts +11 -4
  167. package/dist/components/charts/shared/useCustomChartSetup.d.ts +17 -5
  168. package/dist/components/charts/shared/useFrameImperativeHandle.d.ts +1 -2
  169. package/dist/components/charts/shared/useLikertAggregation.d.ts +4 -4
  170. package/dist/components/charts/shared/useNetworkChartSetup.d.ts +6 -2
  171. package/dist/components/charts/shared/useOrdinalBrush.d.ts +2 -1
  172. package/dist/components/charts/shared/useOrdinalPieceStyle.d.ts +25 -2
  173. package/dist/components/charts/shared/useStreamingLegend.d.ts +2 -2
  174. package/dist/components/charts/shared/useSyncedPushData.d.ts +49 -0
  175. package/dist/components/charts/shared/useXYLineStyle.d.ts +10 -0
  176. package/dist/components/charts/shared/useXYPointStyle.d.ts +19 -1
  177. package/dist/components/charts/shared/validateChartData.d.ts +7 -5
  178. package/dist/components/charts/shared/validationMap.d.ts +7 -9
  179. package/dist/components/charts/shared/validationMap.generated.d.ts +6 -0
  180. package/dist/components/charts/shared/withChartWrapper.d.ts +4 -3
  181. package/dist/components/charts/value/targetPresentation.d.ts +22 -0
  182. package/dist/components/charts/value/types.d.ts +5 -6
  183. package/dist/components/charts/xy/AreaChart.d.ts +9 -1
  184. package/dist/components/charts/xy/BubbleChart.d.ts +10 -1
  185. package/dist/components/charts/xy/ConnectedScatterplot.d.ts +7 -0
  186. package/dist/components/charts/xy/DifferenceChart.d.ts +1 -52
  187. package/dist/components/charts/xy/Heatmap.d.ts +2 -2
  188. package/dist/components/charts/xy/LineChart.d.ts +12 -1
  189. package/dist/components/charts/xy/MinimapChart.d.ts +1 -1
  190. package/dist/components/charts/xy/MultiAxisLineChart.d.ts +2 -2
  191. package/dist/components/charts/xy/QuadrantChart.d.ts +8 -1
  192. package/dist/components/charts/xy/Scatterplot.d.ts +11 -1
  193. package/dist/components/charts/xy/ScatterplotMatrix.d.ts +11 -1
  194. package/dist/components/charts/xy/StackedAreaChart.d.ts +16 -4
  195. package/dist/components/charts/xy/differenceSegments.d.ts +49 -0
  196. package/dist/components/charts/xy/scatterplotMatrixInteractionTypes.d.ts +12 -0
  197. package/dist/components/controls/SentenceFilter.d.ts +97 -0
  198. package/dist/components/controls/controlAudit.d.ts +24 -0
  199. package/dist/components/controls/controlContract.d.ts +57 -0
  200. package/dist/components/data/fromFlintChart.d.ts +74 -0
  201. package/dist/components/data/fromVegaLite.d.ts +46 -9
  202. package/dist/components/data/portability/index.d.ts +6 -3
  203. package/dist/components/data/portability/result.d.ts +52 -0
  204. package/dist/components/data/portability/spec.d.ts +31 -0
  205. package/dist/components/data/portability/vegaLite.d.ts +24 -6
  206. package/dist/components/export/chartConfig.d.ts +11 -0
  207. package/dist/components/realtime/types.d.ts +11 -0
  208. package/dist/components/recipes/annotationLayout.d.ts +29 -0
  209. package/dist/components/recipes/axisFixedForce.d.ts +119 -0
  210. package/dist/components/recipes/{gofishBoba.d.ts → boba.d.ts} +2 -2
  211. package/dist/components/recipes/cyclical.d.ts +39 -0
  212. package/dist/components/recipes/edgeRouter.d.ts +103 -0
  213. package/dist/components/recipes/forceLayout.d.ts +48 -0
  214. package/dist/components/recipes/forceLayoutAsync.d.ts +17 -0
  215. package/dist/components/recipes/gofishBobaHandwritten.d.ts +3 -0
  216. package/dist/components/recipes/gofishDisplayListFixtures.generated.d.ts +37 -0
  217. package/dist/components/recipes/gofishIR.d.ts +178 -132
  218. package/dist/components/recipes/gofishIRExamples.d.ts +30 -81
  219. package/dist/components/recipes/intervalLanes.d.ts +87 -0
  220. package/dist/components/recipes/intervals.d.ts +80 -0
  221. package/dist/components/recipes/isometricLandmarks.d.ts +88 -0
  222. package/dist/components/recipes/isotypeGlyphs.d.ts +17 -0
  223. package/dist/components/recipes/mobileAnnotationStrategy.d.ts +48 -0
  224. package/dist/components/recipes/mobileChartFamilyRecipes.d.ts +59 -0
  225. package/dist/components/recipes/networkAnalysis.d.ts +102 -0
  226. package/dist/components/recipes/networkLayouts.d.ts +83 -0
  227. package/dist/components/recipes/physics.d.ts +122 -0
  228. package/dist/components/recipes/physicsReference.d.ts +102 -0
  229. package/dist/components/recipes/processAggregates.d.ts +32 -0
  230. package/dist/components/recipes/processChrome.d.ts +67 -0
  231. package/dist/components/recipes/processJourney.d.ts +54 -0
  232. package/dist/components/recipes/processPhysics.d.ts +300 -0
  233. package/dist/components/recipes/processVolumeGeometry.d.ts +28 -0
  234. package/dist/components/recipes/radialCoords.d.ts +69 -0
  235. package/dist/components/recipes/random.d.ts +2 -0
  236. package/dist/components/recipes/recipeChrome.d.ts +91 -0
  237. package/dist/components/recipes/recipeGlyph.d.ts +42 -0
  238. package/dist/components/recipes/recipeLegend.d.ts +53 -1
  239. package/dist/components/recipes/recipeUtils.d.ts +52 -0
  240. package/dist/components/recipes/runs.d.ts +59 -0
  241. package/dist/components/recipes/tokenEncoding.d.ts +157 -0
  242. package/dist/components/recipes/tokenLayer.d.ts +79 -0
  243. package/dist/components/recipes/unitize.d.ts +108 -0
  244. package/dist/components/recipes/vector.d.ts +28 -0
  245. package/dist/components/recipes/waffle.d.ts +43 -0
  246. package/dist/components/rough/createRoughRenderMode.d.ts +46 -0
  247. package/dist/components/semiotic-ai-core.d.ts +47 -0
  248. package/dist/components/semiotic-ai.d.ts +53 -9
  249. package/dist/components/semiotic-controls.d.ts +20 -0
  250. package/dist/components/semiotic-experimental.d.ts +38 -9
  251. package/dist/components/semiotic-geo.d.ts +15 -0
  252. package/dist/components/semiotic-network.d.ts +15 -0
  253. package/dist/components/semiotic-ordinal.d.ts +14 -0
  254. package/dist/components/semiotic-physics-matter.d.ts +10 -0
  255. package/dist/components/semiotic-physics-rapier.d.ts +9 -0
  256. package/dist/components/semiotic-physics.d.ts +60 -0
  257. package/dist/components/semiotic-realtime-core.d.ts +34 -0
  258. package/dist/components/semiotic-realtime-react.d.ts +10 -0
  259. package/dist/components/semiotic-realtime.d.ts +4 -30
  260. package/dist/components/semiotic-recipes-core.d.ts +92 -0
  261. package/dist/components/semiotic-recipes-react.d.ts +7 -0
  262. package/dist/components/semiotic-recipes.d.ts +4 -43
  263. package/dist/components/semiotic-rough.d.ts +4 -0
  264. package/dist/components/semiotic-server-edge.d.ts +8 -0
  265. package/dist/components/semiotic-server-node.d.ts +5 -0
  266. package/dist/components/semiotic-server.d.ts +2 -2
  267. package/dist/components/semiotic-themes-core.d.ts +53 -0
  268. package/dist/components/semiotic-themes-react.d.ts +4 -0
  269. package/dist/components/semiotic-themes.d.ts +6 -76
  270. package/dist/components/semiotic-utils-core.d.ts +50 -0
  271. package/dist/components/semiotic-utils-react.d.ts +5 -0
  272. package/dist/components/semiotic-utils.d.ts +3 -39
  273. package/dist/components/semiotic-xy.d.ts +12 -0
  274. package/dist/components/semiotic.d.ts +44 -8
  275. package/dist/components/server/animatedGif.d.ts +36 -0
  276. package/dist/components/server/optionalImageTypes.d.ts +37 -0
  277. package/dist/components/server/renderEvidence.d.ts +1 -1
  278. package/dist/components/server/renderToStaticSVG.d.ts +3 -35
  279. package/dist/components/server/serverChartConfigShared.d.ts +21 -0
  280. package/dist/components/server/serverChartConfigs.d.ts +22 -12
  281. package/dist/components/server/serverChartConfigsCustom.d.ts +5 -0
  282. package/dist/components/server/serverChartConfigsGeo.d.ts +9 -0
  283. package/dist/components/server/serverChartConfigsNetwork.d.ts +8 -0
  284. package/dist/components/server/serverChartConfigsOrdinal.d.ts +16 -0
  285. package/dist/components/server/serverChartConfigsPhysics.d.ts +9 -0
  286. package/dist/components/server/serverChartConfigsXY.d.ts +11 -0
  287. package/dist/components/server/staticAnnotations.d.ts +6 -3
  288. package/dist/components/server/staticGeo.d.ts +4 -0
  289. package/dist/components/server/staticLegend.d.ts +2 -2
  290. package/dist/components/server/staticNetwork.d.ts +8 -0
  291. package/dist/components/server/staticOrdinal.d.ts +11 -0
  292. package/dist/components/server/staticPhysics.d.ts +3 -0
  293. package/dist/components/server/staticSVGChrome.d.ts +110 -0
  294. package/dist/components/server/staticXY.d.ts +4 -0
  295. package/dist/components/store/ObservationStore.d.ts +23 -2
  296. package/dist/components/store/themeSerialization.d.ts +32 -0
  297. package/dist/components/store/useChartInterrogation.d.ts +9 -0
  298. package/dist/components/stream/AccessibleDataTable.d.ts +7 -23
  299. package/dist/components/stream/AriaLiveTooltip.d.ts +9 -0
  300. package/dist/components/stream/CanvasHitTester.d.ts +4 -4
  301. package/dist/components/stream/DataSourceAdapter.d.ts +1 -1
  302. package/dist/components/stream/FocusRing.d.ts +4 -2
  303. package/dist/components/stream/FrameRuntime.d.ts +57 -0
  304. package/dist/components/stream/GeoCanvasHitTester.d.ts +1 -1
  305. package/dist/components/stream/GeoParticlePool.d.ts +1 -1
  306. package/dist/components/stream/GeoPipelineStore.d.ts +62 -3
  307. package/dist/components/stream/GeoSVGOverlay.d.ts +64 -0
  308. package/dist/components/stream/NetworkCanvasHitTester.d.ts +2 -1
  309. package/dist/components/stream/NetworkPipelineStore.d.ts +44 -36
  310. package/dist/components/stream/NetworkSSRFrame.d.ts +17 -0
  311. package/dist/components/stream/NetworkSVGOverlay.d.ts +10 -1
  312. package/dist/components/stream/OrdinalCanvasHitTester.d.ts +2 -2
  313. package/dist/components/stream/OrdinalPipelineStore.d.ts +55 -11
  314. package/dist/components/stream/OrdinalSVGOverlay.d.ts +9 -1
  315. package/dist/components/stream/OrdinalStyleResolver.d.ts +12 -0
  316. package/dist/components/stream/ParticlePool.d.ts +1 -1
  317. package/dist/components/stream/PipelineStore.d.ts +81 -174
  318. package/dist/components/stream/SVGOverlay.d.ts +6 -0
  319. package/dist/components/stream/SceneGraph.d.ts +12 -4
  320. package/dist/components/stream/StreamGeoFrame.d.ts +1 -1
  321. package/dist/components/stream/StreamNetworkFrame.d.ts +1 -1
  322. package/dist/components/stream/StreamOrdinalFrame.d.ts +1 -1
  323. package/dist/components/stream/StreamXYFrame.d.ts +2 -18
  324. package/dist/components/stream/accessibleDataRows.d.ts +33 -0
  325. package/dist/components/stream/accessorUtils.d.ts +25 -12
  326. package/dist/components/stream/annotationAccessorResolver.d.ts +2 -2
  327. package/dist/components/stream/brushAccessibility.d.ts +25 -0
  328. package/dist/components/stream/canvasBackground.d.ts +24 -0
  329. package/dist/components/stream/canvasSetup.d.ts +4 -1
  330. package/dist/components/stream/customLayoutFailure.d.ts +33 -0
  331. package/dist/components/stream/customLayoutPalette.d.ts +19 -9
  332. package/dist/components/stream/frameGraphics.d.ts +4 -0
  333. package/dist/components/stream/frameKeyboardNavigation.d.ts +45 -0
  334. package/dist/components/stream/frameThemeColors.d.ts +24 -0
  335. package/dist/components/stream/geoAnnotationAnchors.d.ts +14 -0
  336. package/dist/components/stream/geoCartogram.d.ts +17 -0
  337. package/dist/components/stream/geoCustomLayout.d.ts +59 -0
  338. package/dist/components/stream/geoDefaultTooltip.d.ts +11 -0
  339. package/dist/components/stream/geoFrameHelpers.d.ts +34 -0
  340. package/dist/components/stream/geoPipelineHelpers.d.ts +46 -0
  341. package/dist/components/stream/geoPipelineUpdateResults.d.ts +34 -0
  342. package/dist/components/stream/geoSceneBuilder.d.ts +16 -0
  343. package/dist/components/stream/geoTypes.d.ts +97 -15
  344. package/dist/components/stream/glyphDef.d.ts +98 -0
  345. package/dist/components/stream/hitTarget.d.ts +170 -0
  346. package/dist/components/stream/hitTestUtils.d.ts +2 -2
  347. package/dist/components/stream/hoverUtils.d.ts +7 -2
  348. package/dist/components/stream/keyboardNav.d.ts +4 -1
  349. package/dist/components/stream/layouts/forceLayoutPlugin.d.ts +9 -1
  350. package/dist/components/stream/layouts/forceLayoutWorkerClient.d.ts +58 -0
  351. package/dist/components/stream/layouts/hierarchyUtils.d.ts +2 -2
  352. package/dist/components/stream/networkBezier.d.ts +10 -0
  353. package/dist/components/stream/networkColorAccessors.d.ts +49 -0
  354. package/dist/components/stream/networkCustomLayoutRunner.d.ts +23 -0
  355. package/dist/components/stream/networkCustomRestyle.d.ts +15 -0
  356. package/dist/components/stream/networkDefaultTooltip.d.ts +10 -0
  357. package/dist/components/stream/networkFrameAnimation.d.ts +7 -0
  358. package/dist/components/stream/networkFrameHandleTypes.d.ts +39 -0
  359. package/dist/components/stream/networkFrameInteraction.d.ts +37 -0
  360. package/dist/components/stream/networkFrameObservations.d.ts +15 -0
  361. package/dist/components/stream/networkFramePaint.d.ts +52 -0
  362. package/dist/components/stream/networkInteractionTypes.d.ts +26 -0
  363. package/dist/components/stream/networkPipelineConfig.d.ts +22 -0
  364. package/dist/components/stream/networkPipelineHelpers.d.ts +12 -0
  365. package/dist/components/stream/networkPipelineUpdateResults.d.ts +38 -0
  366. package/dist/components/stream/networkRealtimeEncoding.d.ts +41 -0
  367. package/dist/components/stream/networkTypes.d.ts +103 -51
  368. package/dist/components/stream/ordinalCanvasRenderers.d.ts +7 -0
  369. package/dist/components/stream/ordinalDataIndex.d.ts +5 -0
  370. package/dist/components/stream/ordinalDefaultTooltip.d.ts +10 -0
  371. package/dist/components/stream/ordinalDomain.d.ts +38 -0
  372. package/dist/components/stream/ordinalPipelineUpdateResults.d.ts +31 -0
  373. package/dist/components/stream/ordinalPulse.d.ts +10 -0
  374. package/dist/components/stream/ordinalPulseResources.d.ts +3 -0
  375. package/dist/components/stream/ordinalSceneBuilders/sceneBuilderMap.d.ts +5 -0
  376. package/dist/components/stream/ordinalSceneBuilders/types.d.ts +2 -2
  377. package/dist/components/stream/ordinalSpatialIndex.d.ts +9 -0
  378. package/dist/components/stream/ordinalTypes.d.ts +68 -9
  379. package/dist/components/stream/paintNeeds.d.ts +31 -0
  380. package/dist/components/stream/physics/CapacityQueueController.d.ts +5 -0
  381. package/dist/components/stream/physics/CapacityQueueTypes.d.ts +134 -0
  382. package/dist/components/stream/physics/MatterPhysicsEngineAdapter.d.ts +42 -0
  383. package/dist/components/stream/physics/PhysicsAccessibility.d.ts +48 -0
  384. package/dist/components/stream/physics/PhysicsAnnotations.d.ts +58 -0
  385. package/dist/components/stream/physics/PhysicsBodyBudget.d.ts +26 -0
  386. package/dist/components/stream/physics/PhysicsBodySpatialIndex.d.ts +10 -0
  387. package/dist/components/stream/physics/PhysicsCanvasTheme.d.ts +26 -0
  388. package/dist/components/stream/physics/PhysicsControllers.d.ts +75 -0
  389. package/dist/components/stream/physics/PhysicsEngineAdapter.d.ts +59 -0
  390. package/dist/components/stream/physics/PhysicsEngineConformance.d.ts +23 -0
  391. package/dist/components/stream/physics/PhysicsEvidence.d.ts +25 -0
  392. package/dist/components/stream/physics/PhysicsKernel.d.ts +207 -0
  393. package/dist/components/stream/physics/PhysicsOptionalEngineAdapters.d.ts +12 -0
  394. package/dist/components/stream/physics/PhysicsPipelineStore.d.ts +86 -0
  395. package/dist/components/stream/physics/PhysicsPipelineTypes.d.ts +181 -0
  396. package/dist/components/stream/physics/PhysicsSVGOverlay.d.ts +78 -0
  397. package/dist/components/stream/physics/PhysicsSediment.d.ts +69 -0
  398. package/dist/components/stream/physics/PhysicsSettledSVG.d.ts +18 -0
  399. package/dist/components/stream/physics/PhysicsSettledScene.d.ts +21 -0
  400. package/dist/components/stream/physics/PhysicsWorkerClient.d.ts +24 -0
  401. package/dist/components/stream/physics/PhysicsWorkerProtocol.d.ts +101 -0
  402. package/dist/components/stream/physics/PhysicsWorkerRuntime.d.ts +5 -0
  403. package/dist/components/stream/physics/RapierPhysicsEngineAdapter.d.ts +18 -0
  404. package/dist/components/stream/physics/ServiceOperationsControllers.d.ts +27 -0
  405. package/dist/components/stream/physics/ServiceOperationsTypes.d.ts +89 -0
  406. package/dist/components/stream/physics/StreamPhysicsFrame.d.ts +6 -0
  407. package/dist/components/stream/physics/StreamPhysicsTypes.d.ts +317 -0
  408. package/dist/components/stream/physics/physicsBodyCanvas.d.ts +27 -0
  409. package/dist/components/stream/physics/physicsFrameObservations.d.ts +19 -0
  410. package/dist/components/stream/physics/physicsFrameSetup.d.ts +4 -0
  411. package/dist/components/stream/physics/physicsPipelineControls.d.ts +4 -0
  412. package/dist/components/stream/physics/physicsPipelineHelpers.d.ts +41 -0
  413. package/dist/components/stream/physics/physicsPipelineObservations.d.ts +14 -0
  414. package/dist/components/stream/physics/physicsPipelineUpdateResults.d.ts +27 -0
  415. package/dist/components/stream/physics/physicsRegionRuntime.d.ts +54 -0
  416. package/dist/components/stream/physics/physicsSemanticUI.d.ts +20 -0
  417. package/dist/components/stream/physics/usePhysicsFrameLifecyclePolicy.d.ts +18 -0
  418. package/dist/components/stream/pipelineBufferUtils.d.ts +26 -0
  419. package/dist/components/stream/pipelineConfig.d.ts +179 -0
  420. package/dist/components/stream/pipelineDecay.d.ts +21 -3
  421. package/dist/components/stream/pipelineDomainResolution.d.ts +62 -0
  422. package/dist/components/stream/pipelineIdentityOps.d.ts +26 -0
  423. package/dist/components/stream/pipelinePulse.d.ts +17 -3
  424. package/dist/components/stream/pipelineRibbons.d.ts +41 -0
  425. package/dist/components/stream/pipelineSpatialIndex.d.ts +12 -0
  426. package/dist/components/stream/pipelineStoreUpdateResults.d.ts +33 -0
  427. package/dist/components/stream/pipelineStyleResolvers.d.ts +46 -0
  428. package/dist/components/stream/pipelineTransitions.d.ts +3 -1
  429. package/dist/components/stream/pipelineUpdateContract.d.ts +69 -0
  430. package/dist/components/stream/pipelineUpdateStore.d.ts +21 -0
  431. package/dist/components/stream/pulseFrameRefresh.d.ts +22 -0
  432. package/dist/components/stream/renderBackend.d.ts +27 -0
  433. package/dist/components/stream/renderers/canvasRenderHelpers.d.ts +15 -1
  434. package/dist/components/stream/renderers/geoCanvasRenderer.d.ts +3 -2
  435. package/dist/components/stream/renderers/glyphCanvasRenderer.d.ts +6 -0
  436. package/dist/components/stream/renderers/networkParticleRenderer.d.ts +1 -1
  437. package/dist/components/stream/renderers/resolveCSSColor.d.ts +6 -0
  438. package/dist/components/stream/sceneRenderBackendTypes.d.ts +28 -0
  439. package/dist/components/stream/sceneRevisionDiagnostics.d.ts +45 -0
  440. package/dist/components/stream/streamSemanticTypes.d.ts +16 -0
  441. package/dist/components/stream/streamStoreSync.d.ts +37 -0
  442. package/dist/components/stream/streamThemeTypes.d.ts +14 -0
  443. package/dist/components/stream/svgOverlayUtils.d.ts +10 -0
  444. package/dist/components/stream/test-utils/frameScheduler.d.ts +12 -0
  445. package/dist/components/stream/test-utils/revisionConsumption.d.ts +13 -0
  446. package/dist/components/stream/titleLayout.d.ts +31 -0
  447. package/dist/components/stream/types.d.ts +165 -72
  448. package/dist/components/stream/useCanvasFrameHost.d.ts +71 -0
  449. package/dist/components/stream/useFrame.d.ts +44 -2
  450. package/dist/components/stream/useHydration.d.ts +6 -0
  451. package/dist/components/stream/useLegendCategoryEmission.d.ts +5 -0
  452. package/dist/components/stream/useSemanticFrameInteractions.d.ts +22 -0
  453. package/dist/components/stream/useUpdateResultSnapshot.d.ts +7 -0
  454. package/dist/components/stream/workerModuleUrl.d.ts +10 -0
  455. package/dist/components/stream/xyAnnotationAnchors.d.ts +13 -0
  456. package/dist/components/stream/xyCanvasRenderers.d.ts +7 -0
  457. package/dist/components/stream/xyCrosshair.d.ts +11 -0
  458. package/dist/components/stream/xyDateTicks.d.ts +9 -0
  459. package/dist/components/stream/xyDefaultTooltip.d.ts +10 -0
  460. package/dist/components/stream/xyFrameAxisTypes.d.ts +50 -0
  461. package/dist/components/stream/xySceneBuilders/types.d.ts +10 -9
  462. package/dist/controls.min.js +2 -0
  463. package/dist/controls.module.min.js +2 -0
  464. package/dist/forceLayoutWorker.js +1 -0
  465. package/dist/geo.min.js +1 -1
  466. package/dist/geo.module.min.js +1 -1
  467. package/dist/network.min.js +1 -1
  468. package/dist/network.module.min.js +1 -1
  469. package/dist/ordinal.min.js +1 -1
  470. package/dist/ordinal.module.min.js +1 -1
  471. package/dist/physics-matter.min.js +1 -0
  472. package/dist/physics-matter.module.min.js +1 -0
  473. package/dist/physics-rapier.min.js +1 -0
  474. package/dist/physics-rapier.module.min.js +1 -0
  475. package/dist/physics.min.js +2 -0
  476. package/dist/physics.module.min.js +2 -0
  477. package/dist/physicsWorker.js +1 -0
  478. package/dist/realtime.min.js +1 -1
  479. package/dist/realtime.module.min.js +1 -1
  480. package/dist/rough.min.js +1 -0
  481. package/dist/rough.module.min.js +1 -0
  482. package/dist/semiotic-ai-chunk-OG7BQUUW.module.min.js +2 -0
  483. package/dist/semiotic-ai-core.d.ts +47 -0
  484. package/dist/semiotic-ai-core.min.js +1 -0
  485. package/dist/semiotic-ai-core.module.min.js +1 -0
  486. package/dist/semiotic-ai-statisticalOverlays-CY4WKR4A.module.min.js +2 -0
  487. package/dist/semiotic-ai.d.ts +53 -9
  488. package/dist/semiotic-ai.min.js +1 -1
  489. package/dist/semiotic-ai.module.min.js +1 -1
  490. package/dist/semiotic-chunk-3FSVZ46U.module.min.js +2 -0
  491. package/dist/semiotic-controls.d.ts +20 -0
  492. package/dist/semiotic-data.min.js +1 -1
  493. package/dist/semiotic-data.module.min.js +1 -1
  494. package/dist/semiotic-experimental.d.ts +38 -9
  495. package/dist/semiotic-experimental.min.js +1 -1
  496. package/dist/semiotic-experimental.module.min.js +1 -1
  497. package/dist/semiotic-geo.d.ts +15 -0
  498. package/dist/semiotic-network.d.ts +15 -0
  499. package/dist/semiotic-ordinal.d.ts +14 -0
  500. package/dist/semiotic-physics-matter.d.ts +10 -0
  501. package/dist/semiotic-physics-rapier.d.ts +9 -0
  502. package/dist/semiotic-physics.d.ts +60 -0
  503. package/dist/semiotic-realtime-core.d.ts +34 -0
  504. package/dist/semiotic-realtime-core.min.js +1 -0
  505. package/dist/semiotic-realtime-core.module.min.js +1 -0
  506. package/dist/semiotic-realtime-react.d.ts +10 -0
  507. package/dist/semiotic-realtime-react.min.js +2 -0
  508. package/dist/semiotic-realtime-react.module.min.js +2 -0
  509. package/dist/semiotic-realtime.d.ts +4 -30
  510. package/dist/semiotic-recipes-core.d.ts +92 -0
  511. package/dist/semiotic-recipes-core.min.js +1 -0
  512. package/dist/semiotic-recipes-core.module.min.js +1 -0
  513. package/dist/semiotic-recipes-react.d.ts +7 -0
  514. package/dist/semiotic-recipes-react.min.js +2 -0
  515. package/dist/semiotic-recipes-react.module.min.js +2 -0
  516. package/dist/semiotic-recipes.d.ts +4 -43
  517. package/dist/semiotic-recipes.min.js +1 -1
  518. package/dist/semiotic-recipes.module.min.js +1 -1
  519. package/dist/semiotic-rough.d.ts +4 -0
  520. package/dist/semiotic-server-edge.d.ts +8 -0
  521. package/dist/semiotic-server-edge.min.js +1 -0
  522. package/dist/semiotic-server-edge.module.min.js +1 -0
  523. package/dist/semiotic-server-node.d.ts +5 -0
  524. package/dist/semiotic-server-node.min.js +1 -0
  525. package/dist/semiotic-server-node.module.min.js +1 -0
  526. package/dist/semiotic-server.d.ts +2 -2
  527. package/dist/semiotic-statisticalOverlays-UOMSFKVJ.module.min.js +2 -0
  528. package/dist/semiotic-themes-core.d.ts +53 -0
  529. package/dist/semiotic-themes-core.min.js +1 -0
  530. package/dist/semiotic-themes-core.module.min.js +1 -0
  531. package/dist/semiotic-themes-react.d.ts +4 -0
  532. package/dist/semiotic-themes-react.min.js +2 -0
  533. package/dist/semiotic-themes-react.module.min.js +2 -0
  534. package/dist/semiotic-themes.d.ts +6 -76
  535. package/dist/semiotic-themes.min.js +1 -2
  536. package/dist/semiotic-themes.module.min.js +1 -2
  537. package/dist/semiotic-utils-core.d.ts +50 -0
  538. package/dist/semiotic-utils-core.min.js +1 -0
  539. package/dist/semiotic-utils-core.module.min.js +1 -0
  540. package/dist/semiotic-utils-react.d.ts +5 -0
  541. package/dist/semiotic-utils-react.min.js +2 -0
  542. package/dist/semiotic-utils-react.module.min.js +2 -0
  543. package/dist/semiotic-utils.d.ts +3 -39
  544. package/dist/semiotic-utils.min.js +1 -2
  545. package/dist/semiotic-utils.module.min.js +1 -2
  546. package/dist/semiotic-value.min.js +1 -1
  547. package/dist/semiotic-value.module.min.js +1 -1
  548. package/dist/semiotic-xy.d.ts +12 -0
  549. package/dist/semiotic.d.ts +44 -8
  550. package/dist/semiotic.min.js +1 -1
  551. package/dist/semiotic.module.min.js +1 -1
  552. package/dist/server.min.js +1 -1
  553. package/dist/server.module.min.js +1 -1
  554. package/dist/test-utils/capturedFrameProps.d.ts +67 -0
  555. package/dist/test-utils/frameMock.d.ts +12 -9
  556. package/dist/xy-chunk-IWD6IB6V.module.min.js +2 -0
  557. package/dist/xy-statisticalOverlays-7RWG6LJT.module.min.js +2 -0
  558. package/dist/xy.min.js +1 -1
  559. package/dist/xy.module.min.js +1 -1
  560. package/package.json +259 -88
  561. package/spec/README.md +152 -0
  562. package/spec/bindings/README.md +35 -0
  563. package/spec/bindings/vega-lite.mjs +112 -0
  564. package/spec/v0.1/annotation-provenance.schema.json +127 -0
  565. package/spec/v0.1/audience-profile.schema.json +67 -0
  566. package/spec/v0.1/chart-capability.schema.json +186 -0
  567. package/dist/components/recipes/gofish.d.ts +0 -207
  568. package/dist/components/recipes/gofishInterpreter.d.ts +0 -52
  569. package/dist/components/recipes/gofishLambdas.d.ts +0 -145
  570. package/dist/semiotic-ai-semiotic-ai-u954ylUn.js +0 -2
  571. package/dist/semiotic-ai-statisticalOverlays-CU7jW05Q.js +0 -1
  572. package/dist/semiotic-semiotic-BmrYbi99.js +0 -2
  573. package/dist/semiotic-statisticalOverlays-IjZw8Lsu.js +0 -1
  574. package/dist/xy-semiotic-xy-Dufu3D0-.js +0 -2
  575. package/dist/xy-statisticalOverlays-3Ni9bRph.js +0 -1
@@ -0,0 +1,186 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://semiotic.dev/spec/v0.1/chart-capability.schema.json",
4
+ "title": "IDID Chart Capability",
5
+ "description": "A library-neutral, declarative description of what a chart is good at, so an agent or a heuristic engine can rank it against a dataset and an intent WITHOUT executing any rendering library. This is the serializable subset of a chart's capability — the imperative gates (fits, buildProps, scoring functions) a host library may attach are implementation details and are intentionally NOT part of the portable spec. See ./README.md for the field-status convention (x-idid-status).",
6
+ "type": "object",
7
+ "required": ["component", "rubric"],
8
+ "additionalProperties": true,
9
+ "properties": {
10
+ "specVersion": {
11
+ "type": "string",
12
+ "const": "0.1",
13
+ "description": "The IDID portability spec version this descriptor targets.",
14
+ "x-idid-status": "spec"
15
+ },
16
+ "component": {
17
+ "type": "string",
18
+ "minLength": 1,
19
+ "description": "Stable name of the chart this descriptor is about (e.g. \"BarChart\", \"SankeyDiagram\"). The portable identity of the chart; how a host resolves it to a renderer is a binding concern.",
20
+ "x-idid-status": "shipped"
21
+ },
22
+ "family": {
23
+ "type": "string",
24
+ "description": "Coarse chart family. Open string — recognized values are listed in examples but a host may use its own taxonomy.",
25
+ "examples": ["xy", "ordinal", "network", "hierarchy", "geo", "value", "custom"],
26
+ "x-idid-status": "shipped"
27
+ },
28
+ "importPath": {
29
+ "type": "string",
30
+ "description": "Where the implementing library exposes the chart (e.g. \"semiotic/ordinal\"). Advisory; a binding may ignore it.",
31
+ "x-idid-status": "shipped"
32
+ },
33
+ "rubric": {
34
+ "$ref": "#/$defs/rubric",
35
+ "description": "Audience-independent base rubric, before any audience override or variant delta."
36
+ },
37
+ "intentScores": {
38
+ "type": "object",
39
+ "description": "Per-intent suitability, 0–5. Missing intents default to 0. Keys are intent ids — the 13 built-in ids are in $defs/intentId, and hosts may register custom intents (open string).",
40
+ "propertyNames": { "type": "string" },
41
+ "additionalProperties": {
42
+ "type": "number",
43
+ "minimum": 0,
44
+ "maximum": 5
45
+ },
46
+ "x-idid-status": "shipped"
47
+ },
48
+ "variants": {
49
+ "type": "array",
50
+ "description": "Settings that meaningfully change what the chart is good for (e.g. a streamgraph variant of a stacked area). Deltas are additive against the base intentScores/rubric and clamped to range by the consumer.",
51
+ "items": { "$ref": "#/$defs/variant" },
52
+ "x-idid-status": "shipped"
53
+ },
54
+ "caveats": {
55
+ "type": "array",
56
+ "description": "Static, audience-independent caveats this chart always carries (e.g. \"log scale skipped for negative values\"). The portable form of a host's dynamic caveat function: the host may emit additional data-dependent caveats at runtime.",
57
+ "items": { "type": "string" },
58
+ "x-idid-status": "shipped"
59
+ },
60
+ "mobile": {
61
+ "$ref": "#/$defs/mobile",
62
+ "description": "Phone-specific design contract for mobile audits and responsive adapters. This lets custom charts and interoperability-generated charts declare how they preserve the task at small widths.",
63
+ "x-idid-status": "shipped"
64
+ },
65
+ "tags": {
66
+ "type": "array",
67
+ "description": "Free-form classification tags consumers can filter on.",
68
+ "items": { "type": "string" },
69
+ "x-idid-status": "shipped"
70
+ }
71
+ },
72
+ "$defs": {
73
+ "rubric": {
74
+ "type": "object",
75
+ "title": "Chart Rubric",
76
+ "description": "Three 1–5 axes. familiarity = how well-known the chart is to a general audience; accuracy = how faithfully it represents the data; precision = how readable individual values are.",
77
+ "required": ["familiarity", "accuracy", "precision"],
78
+ "additionalProperties": false,
79
+ "properties": {
80
+ "familiarity": { "type": "integer", "minimum": 1, "maximum": 5 },
81
+ "accuracy": { "type": "integer", "minimum": 1, "maximum": 5 },
82
+ "precision": { "type": "integer", "minimum": 1, "maximum": 5 }
83
+ }
84
+ },
85
+ "variant": {
86
+ "type": "object",
87
+ "title": "Chart Variant",
88
+ "required": ["key", "label"],
89
+ "additionalProperties": true,
90
+ "properties": {
91
+ "key": { "type": "string", "description": "Stable variant identifier within the capability." },
92
+ "label": { "type": "string" },
93
+ "description": { "type": "string" },
94
+ "intentDeltas": {
95
+ "type": "object",
96
+ "description": "Additive per-intent score deltas (e.g. {\"trend\": 1, \"part-to-whole\": -2}).",
97
+ "propertyNames": { "type": "string" },
98
+ "additionalProperties": { "type": "number" }
99
+ },
100
+ "rubricDeltas": {
101
+ "type": "object",
102
+ "description": "Additive rubric deltas — usually small (e.g. smoothing trades precision for familiarity).",
103
+ "additionalProperties": false,
104
+ "properties": {
105
+ "familiarity": { "type": "number" },
106
+ "accuracy": { "type": "number" },
107
+ "precision": { "type": "number" }
108
+ }
109
+ },
110
+ "caveats": { "type": "array", "items": { "type": "string" } },
111
+ "tags": { "type": "array", "items": { "type": "string" } },
112
+ "props": {
113
+ "type": "object",
114
+ "description": "Implementation-specific props the host merges to realize this variant. Opaque to the spec; a non-Semiotic host may ignore it.",
115
+ "x-idid-status": "shipped"
116
+ }
117
+ }
118
+ },
119
+ "mobile": {
120
+ "type": "object",
121
+ "title": "Mobile Capability",
122
+ "additionalProperties": true,
123
+ "properties": {
124
+ "strategy": {
125
+ "type": "string",
126
+ "description": "Overall mobile design strategy, e.g. responsive, small-multiples, summary-cards, direct-labels, fixed-artboard."
127
+ },
128
+ "responsive": { "type": "boolean" },
129
+ "supportsResponsiveLayout": { "type": "boolean" },
130
+ "breakpoints": { "type": "array", "items": { "type": "number" } },
131
+ "minViewportWidth": { "type": "number", "minimum": 0 },
132
+ "maxMarks": { "type": "number", "minimum": 0 },
133
+ "maxAnnotations": { "type": "number", "minimum": 0 },
134
+ "minimumHitTarget": { "type": "number", "minimum": 0 },
135
+ "summary": { "oneOf": [{ "type": "boolean" }, { "type": "string" }] },
136
+ "interaction": {
137
+ "type": "object",
138
+ "additionalProperties": true,
139
+ "properties": {
140
+ "primary": { "type": "string" },
141
+ "alternatives": { "type": "array", "items": { "type": "string" } },
142
+ "hoverFallback": { "type": "string" },
143
+ "targetSize": { "type": "number", "minimum": 0 }
144
+ }
145
+ },
146
+ "labels": {
147
+ "type": "object",
148
+ "additionalProperties": true,
149
+ "properties": {
150
+ "strategy": { "type": "string" },
151
+ "minFontSize": { "type": "number", "minimum": 0 }
152
+ }
153
+ },
154
+ "custom": {
155
+ "type": "object",
156
+ "additionalProperties": true,
157
+ "properties": {
158
+ "dataBearingSceneNodes": { "type": "boolean" },
159
+ "stableIds": { "type": "boolean" },
160
+ "navigationGranularity": { "type": "string" }
161
+ }
162
+ }
163
+ }
164
+ },
165
+ "intentId": {
166
+ "title": "Intent",
167
+ "description": "Communicative intent the chart is being ranked for. The 13 built-in ids are below; hosts may register additional intents, so this is an open string in practice.",
168
+ "type": "string",
169
+ "examples": [
170
+ "trend",
171
+ "compare-series",
172
+ "compare-categories",
173
+ "rank",
174
+ "part-to-whole",
175
+ "distribution",
176
+ "correlation",
177
+ "flow",
178
+ "hierarchy",
179
+ "geo",
180
+ "outlier-detection",
181
+ "composition-over-time",
182
+ "change-detection"
183
+ ]
184
+ }
185
+ }
186
+ }
@@ -1,207 +0,0 @@
1
- import * as React from "react";
2
- import type { ReactNode } from "react";
3
- import type { CustomLayout, LayoutContext } from "../stream/customLayout";
4
- import type { NetworkCustomLayout } from "../stream/networkCustomLayout";
5
- import type { Datum } from "../charts/shared/datumTypes";
6
- import type { Style } from "../stream/types";
7
- import type { BezierPoint } from "../stream/networkTypes";
8
- export type GofishGlyphMark = {
9
- kind: "rect";
10
- id: string;
11
- x: number;
12
- y: number;
13
- width: number;
14
- height: number;
15
- style?: Style;
16
- datum?: Datum;
17
- group?: string;
18
- interactive?: boolean;
19
- rx?: number;
20
- /** Clip this mark to an SVG path (pixel coords) — e.g. a fill to a silhouette. */
21
- clipPath?: string;
22
- } | {
23
- kind: "image";
24
- id: string;
25
- x: number;
26
- y: number;
27
- width: number;
28
- height: number;
29
- href: string;
30
- /** @default "none" — stretch to the box; "xMidYMid meet" to letterbox. */
31
- preserveAspectRatio?: string;
32
- opacity?: number;
33
- /** Clip the image to an SVG path (pixel coords). */
34
- clipPath?: string;
35
- } | {
36
- kind: "circle";
37
- id: string;
38
- cx: number;
39
- cy: number;
40
- r: number;
41
- style?: Style;
42
- datum?: Datum;
43
- group?: string;
44
- interactive?: boolean;
45
- } | {
46
- kind: "area";
47
- id: string;
48
- topPath: [number, number][];
49
- bottomPath: [number, number][];
50
- style?: Style;
51
- datum?: Datum[];
52
- group?: string;
53
- } | {
54
- kind: "path";
55
- id: string;
56
- d: string;
57
- style?: Style;
58
- datum?: Datum;
59
- group?: string;
60
- clipPath?: string;
61
- } | {
62
- kind: "line";
63
- id: string;
64
- x1: number;
65
- y1: number;
66
- x2: number;
67
- y2: number;
68
- style?: Style;
69
- } | {
70
- kind: "text";
71
- id: string;
72
- x: number;
73
- y: number;
74
- text: ReactNode;
75
- style?: Style;
76
- fontSize?: number;
77
- fontWeight?: number | string;
78
- textAnchor?: "start" | "middle" | "end";
79
- dominantBaseline?: React.SVGProps<SVGTextElement>["dominantBaseline"];
80
- transform?: string;
81
- };
82
- export interface GofishGlyphLayer {
83
- marks: GofishGlyphMark[];
84
- overlays?: ReactNode;
85
- }
86
- export interface HitRectForGlyphOptions {
87
- id: string;
88
- x: number;
89
- y: number;
90
- width: number;
91
- height: number;
92
- datum?: Datum;
93
- group?: string;
94
- style?: Style;
95
- rx?: number;
96
- }
97
- export type GofishGlyphSolver<C extends object> = (ctx: LayoutContext<C>) => GofishGlyphLayer;
98
- export declare function hitRectForGlyph(options: HitRectForGlyphOptions): GofishGlyphMark;
99
- export declare function overlayGroup(children: ReactNode, className?: string): ReactNode;
100
- /**
101
- * Compile a small GoFish-style mark vocabulary to a Semiotic custom layout.
102
- *
103
- * Rects, circles, and areas become normal scene nodes when interactive is not
104
- * false, so Semiotic owns hit testing, transitions, decay, SSR evidence, and
105
- * tooltips. Rich glyph chrome such as petal paths, labels, bottle silhouettes,
106
- * and arrows is rendered as pointer-events-none SVG overlay content.
107
- */
108
- export declare function createGofishGlyphLayout<C extends object>(solve: GofishGlyphSolver<C>): CustomLayout<C>;
109
- export interface GofishFlowerConfig {
110
- lakeAccessor?: string | ((d: Datum) => string);
111
- speciesAccessor?: string | ((d: Datum) => string);
112
- countAccessor?: string | ((d: Datum) => number);
113
- xAccessor?: string | ((d: Datum) => number);
114
- flowerRadius?: number;
115
- stemWidth?: number;
116
- }
117
- export interface GofishBottleConfig {
118
- categoryAccessor?: string | ((d: Datum) => string);
119
- amountAccessor?: string | ((d: Datum) => number);
120
- bottleWidth?: number;
121
- bottleHeight?: number;
122
- }
123
- export interface GofishPolarRibbonConfig {
124
- lakeAccessor?: string | ((d: Datum) => string);
125
- speciesAccessor?: string | ((d: Datum) => string);
126
- countAccessor?: string | ((d: Datum) => number);
127
- innerRadius?: number;
128
- outerRadius?: number;
129
- }
130
- export interface GofishTitanicCircleTreemapConfig {
131
- classAccessor?: string | ((d: Datum) => string | number);
132
- survivedAccessor?: string | ((d: Datum) => string | number | boolean);
133
- fareAccessor?: string | ((d: Datum) => number);
134
- padding?: number;
135
- }
136
- export interface PythonTutorPointer {
137
- pointer: number;
138
- }
139
- export interface PythonTutorBinding {
140
- name: string;
141
- value: string | PythonTutorPointer;
142
- }
143
- export interface PythonTutorTuple {
144
- values: Array<string | PythonTutorPointer>;
145
- }
146
- export interface PythonTutorDiagram {
147
- stack: PythonTutorBinding[];
148
- heap: PythonTutorTuple[];
149
- heapArrangement: Array<Array<number | null>>;
150
- }
151
- export interface GofishPythonTutorConfig {
152
- diagram?: PythonTutorDiagram;
153
- cellWidth?: number;
154
- cellHeight?: number;
155
- heapGap?: number;
156
- }
157
- export interface PythonTutorMemoryGraph {
158
- nodes: Datum[];
159
- edges: Datum[];
160
- }
161
- export declare function buildPythonTutorMemoryGraph(diagram: PythonTutorDiagram): PythonTutorMemoryGraph;
162
- export declare const gofishFlowerLayout: CustomLayout<GofishFlowerConfig>;
163
- export declare const gofishBottleFillLayout: CustomLayout<GofishBottleConfig>;
164
- export declare const gofishPolarRibbonLayout: CustomLayout<GofishPolarRibbonConfig>;
165
- export declare const gofishTitanicCircleTreemapLayout: CustomLayout<GofishTitanicCircleTreemapConfig>;
166
- export declare const gofishPythonTutorLayout: CustomLayout<GofishPythonTutorConfig>;
167
- export declare const gofishPythonTutorNetworkLayout: NetworkCustomLayout<GofishPythonTutorConfig>;
168
- export declare function pointerCurve(start: [number, number], end: [number, number]): {
169
- d: string;
170
- points: [BezierPoint, BezierPoint, BezierPoint, BezierPoint];
171
- };
172
- interface TreemapStripRegion<T> {
173
- id: string;
174
- rows: T[];
175
- value: number;
176
- x: number;
177
- y: number;
178
- width: number;
179
- height: number;
180
- }
181
- interface PackedCircle<T> {
182
- row: T;
183
- index: number;
184
- x: number;
185
- y: number;
186
- r: number;
187
- }
188
- export declare function layoutTreemapStrip<T>(entries: Array<{
189
- id: string;
190
- rows: T[];
191
- value: number;
192
- heightValue?: number;
193
- }>, bounds: {
194
- x: number;
195
- y: number;
196
- width: number;
197
- height: number;
198
- }, gap: number): Array<TreemapStripRegion<T>>;
199
- export declare function packCirclesInRect<T>(rows: T[], region: TreemapStripRegion<T>, value: (row: T) => number, gap: number): Array<PackedCircle<T>>;
200
- export declare function datumFromFields(fields: Record<string, unknown>): Datum;
201
- export declare function stableGlyphId(value: string): string;
202
- export declare function polarPoint(cx: number, cy: number, r: number, angle: number): [number, number];
203
- export declare function petalPath(cx: number, cy: number, innerR: number, outerR: number, start: number, end: number): string;
204
- export declare function polarBandPath(cx: number, cy: number, innerR: number, outerR: number, start: number, end: number): string;
205
- export declare function smoothClosedPath(points: [number, number][]): string;
206
- export declare function bottlePath(x: number, y: number, w: number, h: number): string;
207
- export {};
@@ -1,52 +0,0 @@
1
- import type { CustomLayout } from "../stream/customLayout";
2
- import type { OrdinalCustomLayout } from "../stream/ordinalCustomLayout";
3
- import type { GofishGlyphMark } from "./gofish";
4
- import type { GofishLambda } from "./gofishLambdas";
5
- import type { GofishRootIR } from "./gofishIR";
6
- /**
7
- * GoFish IR interpreter.
8
- *
9
- * Walks a `data → operators → mark` tree and *executes* the grammar —
10
- * `group`/`spread`/`stack`/`scatter`/`treemap`/`layer`, the `polar`/`unit`
11
- * coordinate transforms, mark channels through scales, and `connect`/`ref`/
12
- * `arrow` relations — emitting positioned primitives. This is a real
13
- * translator, not a recognizer: any spec built from these constructs renders.
14
- *
15
- * It is NOT GoFish's full constraint solver. GoFish elaborates `spread` to
16
- * `layer + distribute + align` over a linear-system bbox; we implement the
17
- * deterministic allocation/accumulation model the common acyclic specs reduce
18
- * to. Constructs outside it (`table`, `cut`, `mask`, `over`/`inside`/`xor`,
19
- * free-form `.constrain`) record a warning and fall back, never silently
20
- * mis-render. The two sanctioned non-grammar paths — `derive` and `mark-fn`
21
- * lambdas — resolve through the lambda registry.
22
- */
23
- export interface InterpretOptions {
24
- /** Per-call lambda overrides for `derive`/`mark-fn` (merged over the registry). */
25
- lambdas?: Record<string, GofishLambda>;
26
- /** Collected warnings for unsupported constructs / unresolved lambdas. */
27
- warnings?: string[];
28
- }
29
- /** XY binding — the default for free-coordinate GoFish charts. */
30
- export declare function interpretToXYLayout(root: GofishRootIR, options?: InterpretOptions): CustomLayout;
31
- /**
32
- * Ordinal binding — the top-level categorical `spread`/`group` maps to the
33
- * frame's o-scale (one band per category); each category's subtree is
34
- * interpreted within its full band column. A pictorial glyph that declares a
35
- * `unit` coord with `fit: "uniform"` then scales aspect-correctly to fill the
36
- * column (e.g. boba cups). Emits one data-bearing hit rect per category + the
37
- * interpreted glyph as overlays.
38
- *
39
- * `config.glyphWidthRatio` (alias `cupWidthRatio`) insets the glyph column
40
- * horizontally so neighboring glyphs breathe; default 0.9.
41
- */
42
- export declare function interpretToOrdinalLayout(root: GofishRootIR, categoryAccessor: string, options?: InterpretOptions): OrdinalCustomLayout;
43
- /** Interpret a root to raw marks (for tests / custom hosts). */
44
- export declare function interpretToMarks(root: GofishRootIR, frame: {
45
- x: number;
46
- y: number;
47
- width: number;
48
- height: number;
49
- }, resolveColor?: (key: string) => string, options?: InterpretOptions): {
50
- marks: GofishGlyphMark[];
51
- warnings: string[];
52
- };
@@ -1,145 +0,0 @@
1
- import type { Datum } from "../charts/shared/datumTypes";
2
- /**
3
- * GoFish escape-hatch lambda registry.
4
- *
5
- * GoFish's serialized IR cannot carry function bodies, so `derive` (a
6
- * `(rows) => rows'` data transform) and `mark-fn` (a `(datum) => drawing`
7
- * custom glyph) travel as a `lambdaId` that the host resolves through a
8
- * bridge. This module is that bridge for the Semiotic interpreter: register a
9
- * function under the id the IR references and `interpretGofishIR` will call it
10
- * where the grammar genuinely can't reach.
11
- *
12
- * This is the *only* sanctioned non-grammar path. A spec that resolves to pure
13
- * operators + marks needs no lambdas; one that reaches a `derive`/`mark-fn`
14
- * names the computation here.
15
- */
16
- export interface DeriveLambda {
17
- kind: "derive";
18
- /** Transform the in-scope rows — add columns, or emit new rows. */
19
- fn: (rows: Datum[]) => Datum[];
20
- }
21
- export interface MarkFnLambda {
22
- kind: "mark-fn";
23
- /**
24
- * Draw a bespoke glyph for one datum inside its allocated unit frame
25
- * (coordinates in [0,1], mapped to pixels by the interpreter). Returns
26
- * primitive marks the interpreter splices into the scene.
27
- */
28
- fn: (datum: Datum, frame: {
29
- x: number;
30
- y: number;
31
- w: number;
32
- h: number;
33
- }) => GofishLambdaPrimitive[];
34
- }
35
- export type GofishLambda = DeriveLambda | MarkFnLambda;
36
- /** A primitive a `mark-fn` may emit (unit coords). Mirrors the glyph vocabulary. */
37
- export type GofishLambdaPrimitive = {
38
- kind: "polygon";
39
- points: Array<[number, number]>;
40
- fill?: string;
41
- stroke?: string;
42
- strokeWidth?: number;
43
- opacity?: number;
44
- } | {
45
- kind: "circle";
46
- x: number;
47
- y: number;
48
- r: number;
49
- fill?: string;
50
- stroke?: string;
51
- opacity?: number;
52
- } | {
53
- kind: "rect";
54
- x: number;
55
- y: number;
56
- w: number;
57
- h: number;
58
- fill?: string;
59
- stroke?: string;
60
- opacity?: number;
61
- rotate?: number;
62
- } | {
63
- kind: "text";
64
- x: number;
65
- y: number;
66
- text: string;
67
- fill?: string;
68
- fontSize?: number;
69
- };
70
- /** Register a `derive`/`mark-fn` implementation under the id the IR references. */
71
- export declare function registerGofishLambda(id: string, lambda: GofishLambda): () => void;
72
- export declare function unregisterGofishLambda(id: string): void;
73
- export declare function getGofishLambda(id: string): GofishLambda | undefined;
74
- /** Merge a per-call lambda map over the module registry (per-call wins). */
75
- export declare function resolveLambda(id: string, perCall?: Record<string, GofishLambda>): GofishLambda | undefined;
76
- export interface BobaCellGeometry {
77
- cup: Array<[number, number]>;
78
- tea: Array<[number, number]> | null;
79
- straw: Array<[number, number]> | null;
80
- /** Thick rim/lid bar across the cup top. */
81
- lid: {
82
- x1: number;
83
- x2: number;
84
- y: number;
85
- };
86
- pearls: Array<{
87
- x: number;
88
- y: number;
89
- r: number;
90
- fill: string;
91
- }>;
92
- ice: Array<{
93
- x: number;
94
- y: number;
95
- w: number;
96
- rot: number;
97
- fill: string;
98
- }>;
99
- /** Content box `[bw, bh]` for the `uniform` unit fit; shared across the menu. */
100
- box: [number, number];
101
- numBobas: number;
102
- numIce: number;
103
- teaVolume: number;
104
- bobaVolume: number;
105
- iceVolume: number;
106
- totalVolume: number;
107
- cupStroke: string;
108
- }
109
- /** Single-cup convenience (normalizes against itself). */
110
- export declare function computeBobaCellGeometry(row: Datum): BobaCellGeometry;
111
- /**
112
- * The built-in `bobaGeometry` derive: solve every cup, then attach `_g`
113
- * (geometry against the shared menu-wide normalization) plus the fixed fills
114
- * the marks read.
115
- */
116
- export declare const bobaGeometryLambda: DeriveLambda;
117
- export interface BottleCellGeometry {
118
- silhouette: Array<[number, number]>;
119
- imageHref: string;
120
- fill: {
121
- x: number;
122
- y: number;
123
- w: number;
124
- h: number;
125
- };
126
- fillLine: {
127
- x1: number;
128
- x2: number;
129
- y: number;
130
- };
131
- pct: {
132
- x: number;
133
- y: number;
134
- text: string;
135
- };
136
- label: {
137
- x: number;
138
- y: number;
139
- text: string;
140
- };
141
- fillFill: string;
142
- }
143
- export declare function computeBottleCellGeometry(row: Datum): BottleCellGeometry;
144
- /** The built-in `bottleGeometry` derive: attach `_b` (normalized geometry) per bottle. */
145
- export declare const bottleGeometryLambda: DeriveLambda;