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.
- package/CLAUDE.md +63 -18
- package/README.md +121 -27
- package/agent-skill/semiotic-charts/SKILL.md +146 -0
- package/ai/cli.js +133 -45
- package/ai/componentMetadata.cjs +6 -1
- package/ai/dist/mcp-server.js +1741 -163
- package/ai/examples.md +174 -0
- package/ai/schema.json +2733 -536
- package/ai/surface-manifest.json +201 -0
- package/ai/system-prompt.md +20 -4
- package/dist/__tests__/scenarios/mcpProtocolTypes.d.ts +20 -0
- package/dist/components/AccessibleNavTree.d.ts +7 -1
- package/dist/components/CategoryColors.d.ts +1 -1
- package/dist/components/ChartContainer.d.ts +91 -0
- package/dist/components/ChartGrid.d.ts +11 -1
- package/dist/components/CircularBrush.d.ts +61 -0
- package/dist/components/ContextLayout.d.ts +5 -1
- package/dist/components/DirectManipulationControl.d.ts +63 -0
- package/dist/components/LinkedCharts.d.ts +3 -1
- package/dist/components/MobileAnnotationCalloutList.d.ts +13 -0
- package/dist/components/MobileChartContainer.d.ts +51 -0
- package/dist/components/MobileStandardControls.d.ts +68 -0
- package/dist/components/SmallMultipleChart.d.ts +84 -0
- package/dist/components/Tooltip/FlippingTooltip.d.ts +21 -0
- package/dist/components/ai/ChartRecipe.d.ts +16 -0
- package/dist/components/ai/IntentMark.d.ts +15 -0
- package/dist/components/ai/chartCapabilities.d.ts +8 -1
- package/dist/components/ai/chartCapabilityTypes.d.ts +26 -1
- package/dist/components/ai/chartClinic.d.ts +91 -0
- package/dist/components/ai/chartClinicMetadata.generated.d.ts +15 -0
- package/dist/components/ai/chartRecipeRegistry.d.ts +14 -0
- package/dist/components/ai/chartRecipes.d.ts +278 -0
- package/dist/components/ai/dataPitfallsBridge.d.ts +102 -0
- package/dist/components/ai/describeChart.d.ts +7 -0
- package/dist/components/ai/describeRecipeChart.d.ts +16 -0
- package/dist/components/ai/generativeChart.d.ts +28 -3
- package/dist/components/ai/intentManifest.d.ts +62 -0
- package/dist/components/ai/navigationTree.d.ts +3 -0
- package/dist/components/ai/observedSceneAudit.d.ts +72 -0
- package/dist/components/ai/readerGrounding.d.ts +83 -0
- package/dist/components/ai/recipeCapability.d.ts +8 -0
- package/dist/components/ai/recipeNavigation.d.ts +13 -0
- package/dist/components/ai/recipeSemantics.d.ts +11 -0
- package/dist/components/ai/repairChartConfig.d.ts +9 -0
- package/dist/components/ai/suggestCharts.d.ts +11 -1
- package/dist/components/ai/useNavigationSync.d.ts +17 -2
- package/dist/components/chartContainerMobile.d.ts +9 -0
- package/dist/components/charts/custom/GeoCustomChart.d.ts +48 -0
- package/dist/components/charts/custom/NetworkCustomChart.d.ts +8 -2
- package/dist/components/charts/custom/OrdinalCustomChart.d.ts +8 -2
- package/dist/components/charts/custom/XYCustomChart.d.ts +11 -2
- package/dist/components/charts/geo/ChoroplethMap.d.ts +19 -2
- package/dist/components/charts/geo/DistanceCartogram.d.ts +15 -3
- package/dist/components/charts/geo/FlowMap.d.ts +11 -7
- package/dist/components/charts/geo/ProportionalSymbolMap.d.ts +15 -3
- package/dist/components/charts/geo/index.d.ts +2 -0
- package/dist/components/charts/index.d.ts +35 -1
- package/dist/components/charts/network/ChordDiagram.d.ts +10 -2
- package/dist/components/charts/network/CirclePack.d.ts +1 -1
- package/dist/components/charts/network/ForceDirectedGraph.d.ts +26 -5
- package/dist/components/charts/network/OrbitDiagram.d.ts +1 -1
- package/dist/components/charts/network/ProcessSankey.d.ts +1 -1
- package/dist/components/charts/network/SankeyDiagram.d.ts +10 -2
- package/dist/components/charts/network/TreeDiagram.d.ts +1 -1
- package/dist/components/charts/network/Treemap.d.ts +1 -1
- package/dist/components/charts/network/useForceLayout.d.ts +17 -0
- package/dist/components/charts/ordinal/BarChart.d.ts +22 -1
- package/dist/components/charts/ordinal/BoxPlot.d.ts +1 -1
- package/dist/components/charts/ordinal/DonutChart.d.ts +1 -1
- package/dist/components/charts/ordinal/DotPlot.d.ts +1 -1
- package/dist/components/charts/ordinal/FunnelChart.d.ts +1 -1
- package/dist/components/charts/ordinal/GroupedBarChart.d.ts +12 -1
- package/dist/components/charts/ordinal/Histogram.d.ts +1 -1
- package/dist/components/charts/ordinal/PieChart.d.ts +1 -1
- package/dist/components/charts/ordinal/RidgelinePlot.d.ts +1 -1
- package/dist/components/charts/ordinal/StackedBarChart.d.ts +12 -1
- package/dist/components/charts/ordinal/SwarmPlot.d.ts +1 -1
- package/dist/components/charts/ordinal/SwimlaneChart.d.ts +1 -1
- package/dist/components/charts/ordinal/ViolinPlot.d.ts +1 -1
- package/dist/components/charts/physics/ChainReactionChart.d.ts +9 -0
- package/dist/components/charts/physics/CollisionSwarmChart.capability.d.ts +2 -0
- package/dist/components/charts/physics/CollisionSwarmChart.d.ts +54 -0
- package/dist/components/charts/physics/EventDropChart.capability.d.ts +2 -0
- package/dist/components/charts/physics/EventDropChart.d.ts +60 -0
- package/dist/components/charts/physics/GaltonBoardChart.capability.d.ts +2 -0
- package/dist/components/charts/physics/GaltonBoardChart.d.ts +74 -0
- package/dist/components/charts/physics/GauntletChart.capability.d.ts +2 -0
- package/dist/components/charts/physics/GauntletChart.d.ts +73 -0
- package/dist/components/charts/physics/PhysicalFlowChart.capability.d.ts +2 -0
- package/dist/components/charts/physics/PhysicalFlowChart.d.ts +63 -0
- package/dist/components/charts/physics/PhysicsCustomChart.d.ts +99 -0
- package/dist/components/charts/physics/PhysicsPileChart.capability.d.ts +2 -0
- package/dist/components/charts/physics/PhysicsPileChart.d.ts +60 -0
- package/dist/components/charts/physics/ProcessFlowChart.capability.d.ts +2 -0
- package/dist/components/charts/physics/ProcessFlowChart.d.ts +96 -0
- package/dist/components/charts/physics/chainReactionOverlay.d.ts +22 -0
- package/dist/components/charts/physics/chainReactionRuntime.d.ts +37 -0
- package/dist/components/charts/physics/chainReactionTypes.d.ts +97 -0
- package/dist/components/charts/physics/collisionSwarmPhysics.d.ts +27 -0
- package/dist/components/charts/physics/dependencyMachine.d.ts +188 -0
- package/dist/components/charts/physics/eventDropPhysics.d.ts +64 -0
- package/dist/components/charts/physics/galtonBoardPhysics.d.ts +28 -0
- package/dist/components/charts/physics/gauntletChartProps.d.ts +67 -0
- package/dist/components/charts/physics/gauntletChrome.d.ts +33 -0
- package/dist/components/charts/physics/gauntletController.d.ts +73 -0
- package/dist/components/charts/physics/gauntletEffects.d.ts +36 -0
- package/dist/components/charts/physics/gauntletPhysics.d.ts +71 -0
- package/dist/components/charts/physics/gauntletRuntime.d.ts +42 -0
- package/dist/components/charts/physics/gauntletTypes.d.ts +213 -0
- package/dist/components/charts/physics/physicalFlowPhysics.d.ts +57 -0
- package/dist/components/charts/physics/physicsChartShared.d.ts +57 -0
- package/dist/components/charts/physics/physicsChartUtils.d.ts +18 -0
- package/dist/components/charts/physics/physicsCustomLayout.d.ts +32 -0
- package/dist/components/charts/physics/physicsEncoding.d.ts +142 -0
- package/dist/components/charts/physics/physicsHocHandle.d.ts +53 -0
- package/dist/components/charts/physics/physicsHocUtils.d.ts +128 -0
- package/dist/components/charts/physics/physicsPilePhysics.d.ts +41 -0
- package/dist/components/charts/physics/physicsProcessPrimitives.d.ts +38 -0
- package/dist/components/charts/physics/processFlowPhysics.d.ts +97 -0
- package/dist/components/charts/realtime/RealtimeHeatmap.d.ts +9 -1
- package/dist/components/charts/realtime/RealtimeHistogram.d.ts +9 -1
- package/dist/components/charts/realtime/RealtimeLineChart.d.ts +9 -1
- package/dist/components/charts/realtime/RealtimeSwarmChart.d.ts +16 -2
- package/dist/components/charts/realtime/RealtimeWaterfallChart.d.ts +9 -1
- package/dist/components/charts/shared/AnnotationLabel.d.ts +88 -0
- package/dist/components/charts/shared/annotationActivation.d.ts +35 -0
- package/dist/components/charts/shared/annotationLabelLayout.d.ts +5 -0
- package/dist/components/charts/shared/annotationRules.d.ts +2 -1
- package/dist/components/charts/shared/auditMobileVisualization.d.ts +91 -0
- package/dist/components/charts/shared/chartDefinitionPilot.d.ts +145 -0
- package/dist/components/charts/shared/chartFamilySets.d.ts +20 -0
- package/dist/components/charts/shared/chartSelectionUtils.d.ts +4 -0
- package/dist/components/charts/shared/chartSpecCore.d.ts +165 -0
- package/dist/components/charts/shared/chartSpecs.d.ts +8 -127
- package/dist/components/charts/shared/chartSpecsGeo.d.ts +2 -0
- package/dist/components/charts/shared/chartSpecsNetwork.d.ts +2 -0
- package/dist/components/charts/shared/chartSpecsOrdinal.d.ts +2 -0
- package/dist/components/charts/shared/chartSpecsPhysics.d.ts +2 -0
- package/dist/components/charts/shared/chartSpecsRealtime.d.ts +2 -0
- package/dist/components/charts/shared/chartSpecsValue.d.ts +2 -0
- package/dist/components/charts/shared/chartSpecsXY.d.ts +2 -0
- package/dist/components/charts/shared/colorContrast.d.ts +3 -0
- package/dist/components/charts/shared/colorUtils.d.ts +16 -1
- package/dist/components/charts/shared/datumTypes.d.ts +2 -0
- package/dist/components/charts/shared/diagnoseAnnotationChecks.d.ts +6 -0
- package/dist/components/charts/shared/diagnoseConfig.d.ts +9 -14
- package/dist/components/charts/shared/diagnoseMisleadingChecks.d.ts +9 -0
- package/dist/components/charts/shared/diagnosePhysicsChecks.d.ts +3 -0
- package/dist/components/charts/shared/diagnoseTypes.d.ts +10 -0
- package/dist/components/charts/shared/formatUtils.d.ts +3 -3
- package/dist/components/charts/shared/hatchFill.d.ts +87 -0
- package/dist/components/charts/shared/hooks.d.ts +34 -10
- package/dist/components/charts/shared/knownChartComponents.d.ts +9 -0
- package/dist/components/charts/shared/leastSquaresRegression.d.ts +16 -0
- package/dist/components/charts/shared/mergeShapeStyle.d.ts +3 -2
- package/dist/components/charts/shared/motionEncoding.d.ts +145 -0
- package/dist/components/charts/shared/responsiveRules.d.ts +56 -0
- package/dist/components/charts/shared/semanticInteractions.d.ts +42 -0
- package/dist/components/charts/shared/sparseArray.d.ts +1 -1
- package/dist/components/charts/shared/streamPropsHelpers.d.ts +17 -5
- package/dist/components/charts/shared/styleRules.d.ts +205 -0
- package/dist/components/charts/shared/temporalStrings.d.ts +7 -0
- package/dist/components/charts/shared/tooltipUtils.d.ts +22 -9
- package/dist/components/charts/shared/types.d.ts +58 -7
- package/dist/components/charts/shared/useAreaSeriesSetup.d.ts +16 -2
- package/dist/components/charts/shared/useChartSetup.d.ts +11 -4
- package/dist/components/charts/shared/useCustomChartSetup.d.ts +17 -5
- package/dist/components/charts/shared/useFrameImperativeHandle.d.ts +1 -2
- package/dist/components/charts/shared/useLikertAggregation.d.ts +4 -4
- package/dist/components/charts/shared/useNetworkChartSetup.d.ts +6 -2
- package/dist/components/charts/shared/useOrdinalBrush.d.ts +2 -1
- package/dist/components/charts/shared/useOrdinalPieceStyle.d.ts +25 -2
- package/dist/components/charts/shared/useStreamingLegend.d.ts +2 -2
- package/dist/components/charts/shared/useSyncedPushData.d.ts +49 -0
- package/dist/components/charts/shared/useXYLineStyle.d.ts +10 -0
- package/dist/components/charts/shared/useXYPointStyle.d.ts +19 -1
- package/dist/components/charts/shared/validateChartData.d.ts +7 -5
- package/dist/components/charts/shared/validationMap.d.ts +7 -9
- package/dist/components/charts/shared/validationMap.generated.d.ts +6 -0
- package/dist/components/charts/shared/withChartWrapper.d.ts +4 -3
- package/dist/components/charts/value/targetPresentation.d.ts +22 -0
- package/dist/components/charts/value/types.d.ts +5 -6
- package/dist/components/charts/xy/AreaChart.d.ts +9 -1
- package/dist/components/charts/xy/BubbleChart.d.ts +10 -1
- package/dist/components/charts/xy/ConnectedScatterplot.d.ts +7 -0
- package/dist/components/charts/xy/DifferenceChart.d.ts +1 -52
- package/dist/components/charts/xy/Heatmap.d.ts +2 -2
- package/dist/components/charts/xy/LineChart.d.ts +12 -1
- package/dist/components/charts/xy/MinimapChart.d.ts +1 -1
- package/dist/components/charts/xy/MultiAxisLineChart.d.ts +2 -2
- package/dist/components/charts/xy/QuadrantChart.d.ts +8 -1
- package/dist/components/charts/xy/Scatterplot.d.ts +11 -1
- package/dist/components/charts/xy/ScatterplotMatrix.d.ts +11 -1
- package/dist/components/charts/xy/StackedAreaChart.d.ts +16 -4
- package/dist/components/charts/xy/differenceSegments.d.ts +49 -0
- package/dist/components/charts/xy/scatterplotMatrixInteractionTypes.d.ts +12 -0
- package/dist/components/controls/SentenceFilter.d.ts +97 -0
- package/dist/components/controls/controlAudit.d.ts +24 -0
- package/dist/components/controls/controlContract.d.ts +57 -0
- package/dist/components/data/fromFlintChart.d.ts +74 -0
- package/dist/components/data/fromVegaLite.d.ts +46 -9
- package/dist/components/data/portability/index.d.ts +6 -3
- package/dist/components/data/portability/result.d.ts +52 -0
- package/dist/components/data/portability/spec.d.ts +31 -0
- package/dist/components/data/portability/vegaLite.d.ts +24 -6
- package/dist/components/export/chartConfig.d.ts +11 -0
- package/dist/components/realtime/types.d.ts +11 -0
- package/dist/components/recipes/annotationLayout.d.ts +29 -0
- package/dist/components/recipes/axisFixedForce.d.ts +119 -0
- package/dist/components/recipes/{gofishBoba.d.ts → boba.d.ts} +2 -2
- package/dist/components/recipes/cyclical.d.ts +39 -0
- package/dist/components/recipes/edgeRouter.d.ts +103 -0
- package/dist/components/recipes/forceLayout.d.ts +48 -0
- package/dist/components/recipes/forceLayoutAsync.d.ts +17 -0
- package/dist/components/recipes/gofishBobaHandwritten.d.ts +3 -0
- package/dist/components/recipes/gofishDisplayListFixtures.generated.d.ts +37 -0
- package/dist/components/recipes/gofishIR.d.ts +178 -132
- package/dist/components/recipes/gofishIRExamples.d.ts +30 -81
- package/dist/components/recipes/intervalLanes.d.ts +87 -0
- package/dist/components/recipes/intervals.d.ts +80 -0
- package/dist/components/recipes/isometricLandmarks.d.ts +88 -0
- package/dist/components/recipes/isotypeGlyphs.d.ts +17 -0
- package/dist/components/recipes/mobileAnnotationStrategy.d.ts +48 -0
- package/dist/components/recipes/mobileChartFamilyRecipes.d.ts +59 -0
- package/dist/components/recipes/networkAnalysis.d.ts +102 -0
- package/dist/components/recipes/networkLayouts.d.ts +83 -0
- package/dist/components/recipes/physics.d.ts +122 -0
- package/dist/components/recipes/physicsReference.d.ts +102 -0
- package/dist/components/recipes/processAggregates.d.ts +32 -0
- package/dist/components/recipes/processChrome.d.ts +67 -0
- package/dist/components/recipes/processJourney.d.ts +54 -0
- package/dist/components/recipes/processPhysics.d.ts +300 -0
- package/dist/components/recipes/processVolumeGeometry.d.ts +28 -0
- package/dist/components/recipes/radialCoords.d.ts +69 -0
- package/dist/components/recipes/random.d.ts +2 -0
- package/dist/components/recipes/recipeChrome.d.ts +91 -0
- package/dist/components/recipes/recipeGlyph.d.ts +42 -0
- package/dist/components/recipes/recipeLegend.d.ts +53 -1
- package/dist/components/recipes/recipeUtils.d.ts +52 -0
- package/dist/components/recipes/runs.d.ts +59 -0
- package/dist/components/recipes/tokenEncoding.d.ts +157 -0
- package/dist/components/recipes/tokenLayer.d.ts +79 -0
- package/dist/components/recipes/unitize.d.ts +108 -0
- package/dist/components/recipes/vector.d.ts +28 -0
- package/dist/components/recipes/waffle.d.ts +43 -0
- package/dist/components/rough/createRoughRenderMode.d.ts +46 -0
- package/dist/components/semiotic-ai-core.d.ts +47 -0
- package/dist/components/semiotic-ai.d.ts +53 -9
- package/dist/components/semiotic-controls.d.ts +20 -0
- package/dist/components/semiotic-experimental.d.ts +38 -9
- package/dist/components/semiotic-geo.d.ts +15 -0
- package/dist/components/semiotic-network.d.ts +15 -0
- package/dist/components/semiotic-ordinal.d.ts +14 -0
- package/dist/components/semiotic-physics-matter.d.ts +10 -0
- package/dist/components/semiotic-physics-rapier.d.ts +9 -0
- package/dist/components/semiotic-physics.d.ts +60 -0
- package/dist/components/semiotic-realtime-core.d.ts +34 -0
- package/dist/components/semiotic-realtime-react.d.ts +10 -0
- package/dist/components/semiotic-realtime.d.ts +4 -30
- package/dist/components/semiotic-recipes-core.d.ts +92 -0
- package/dist/components/semiotic-recipes-react.d.ts +7 -0
- package/dist/components/semiotic-recipes.d.ts +4 -43
- package/dist/components/semiotic-rough.d.ts +4 -0
- package/dist/components/semiotic-server-edge.d.ts +8 -0
- package/dist/components/semiotic-server-node.d.ts +5 -0
- package/dist/components/semiotic-server.d.ts +2 -2
- package/dist/components/semiotic-themes-core.d.ts +53 -0
- package/dist/components/semiotic-themes-react.d.ts +4 -0
- package/dist/components/semiotic-themes.d.ts +6 -76
- package/dist/components/semiotic-utils-core.d.ts +50 -0
- package/dist/components/semiotic-utils-react.d.ts +5 -0
- package/dist/components/semiotic-utils.d.ts +3 -39
- package/dist/components/semiotic-xy.d.ts +12 -0
- package/dist/components/semiotic.d.ts +44 -8
- package/dist/components/server/animatedGif.d.ts +36 -0
- package/dist/components/server/optionalImageTypes.d.ts +37 -0
- package/dist/components/server/renderEvidence.d.ts +1 -1
- package/dist/components/server/renderToStaticSVG.d.ts +3 -35
- package/dist/components/server/serverChartConfigShared.d.ts +21 -0
- package/dist/components/server/serverChartConfigs.d.ts +22 -12
- package/dist/components/server/serverChartConfigsCustom.d.ts +5 -0
- package/dist/components/server/serverChartConfigsGeo.d.ts +9 -0
- package/dist/components/server/serverChartConfigsNetwork.d.ts +8 -0
- package/dist/components/server/serverChartConfigsOrdinal.d.ts +16 -0
- package/dist/components/server/serverChartConfigsPhysics.d.ts +9 -0
- package/dist/components/server/serverChartConfigsXY.d.ts +11 -0
- package/dist/components/server/staticAnnotations.d.ts +6 -3
- package/dist/components/server/staticGeo.d.ts +4 -0
- package/dist/components/server/staticLegend.d.ts +2 -2
- package/dist/components/server/staticNetwork.d.ts +8 -0
- package/dist/components/server/staticOrdinal.d.ts +11 -0
- package/dist/components/server/staticPhysics.d.ts +3 -0
- package/dist/components/server/staticSVGChrome.d.ts +110 -0
- package/dist/components/server/staticXY.d.ts +4 -0
- package/dist/components/store/ObservationStore.d.ts +23 -2
- package/dist/components/store/themeSerialization.d.ts +32 -0
- package/dist/components/store/useChartInterrogation.d.ts +9 -0
- package/dist/components/stream/AccessibleDataTable.d.ts +7 -23
- package/dist/components/stream/AriaLiveTooltip.d.ts +9 -0
- package/dist/components/stream/CanvasHitTester.d.ts +4 -4
- package/dist/components/stream/DataSourceAdapter.d.ts +1 -1
- package/dist/components/stream/FocusRing.d.ts +4 -2
- package/dist/components/stream/FrameRuntime.d.ts +57 -0
- package/dist/components/stream/GeoCanvasHitTester.d.ts +1 -1
- package/dist/components/stream/GeoParticlePool.d.ts +1 -1
- package/dist/components/stream/GeoPipelineStore.d.ts +62 -3
- package/dist/components/stream/GeoSVGOverlay.d.ts +64 -0
- package/dist/components/stream/NetworkCanvasHitTester.d.ts +2 -1
- package/dist/components/stream/NetworkPipelineStore.d.ts +44 -36
- package/dist/components/stream/NetworkSSRFrame.d.ts +17 -0
- package/dist/components/stream/NetworkSVGOverlay.d.ts +10 -1
- package/dist/components/stream/OrdinalCanvasHitTester.d.ts +2 -2
- package/dist/components/stream/OrdinalPipelineStore.d.ts +55 -11
- package/dist/components/stream/OrdinalSVGOverlay.d.ts +9 -1
- package/dist/components/stream/OrdinalStyleResolver.d.ts +12 -0
- package/dist/components/stream/ParticlePool.d.ts +1 -1
- package/dist/components/stream/PipelineStore.d.ts +81 -174
- package/dist/components/stream/SVGOverlay.d.ts +6 -0
- package/dist/components/stream/SceneGraph.d.ts +12 -4
- package/dist/components/stream/StreamGeoFrame.d.ts +1 -1
- package/dist/components/stream/StreamNetworkFrame.d.ts +1 -1
- package/dist/components/stream/StreamOrdinalFrame.d.ts +1 -1
- package/dist/components/stream/StreamXYFrame.d.ts +2 -18
- package/dist/components/stream/accessibleDataRows.d.ts +33 -0
- package/dist/components/stream/accessorUtils.d.ts +25 -12
- package/dist/components/stream/annotationAccessorResolver.d.ts +2 -2
- package/dist/components/stream/brushAccessibility.d.ts +25 -0
- package/dist/components/stream/canvasBackground.d.ts +24 -0
- package/dist/components/stream/canvasSetup.d.ts +4 -1
- package/dist/components/stream/customLayoutFailure.d.ts +33 -0
- package/dist/components/stream/customLayoutPalette.d.ts +19 -9
- package/dist/components/stream/frameGraphics.d.ts +4 -0
- package/dist/components/stream/frameKeyboardNavigation.d.ts +45 -0
- package/dist/components/stream/frameThemeColors.d.ts +24 -0
- package/dist/components/stream/geoAnnotationAnchors.d.ts +14 -0
- package/dist/components/stream/geoCartogram.d.ts +17 -0
- package/dist/components/stream/geoCustomLayout.d.ts +59 -0
- package/dist/components/stream/geoDefaultTooltip.d.ts +11 -0
- package/dist/components/stream/geoFrameHelpers.d.ts +34 -0
- package/dist/components/stream/geoPipelineHelpers.d.ts +46 -0
- package/dist/components/stream/geoPipelineUpdateResults.d.ts +34 -0
- package/dist/components/stream/geoSceneBuilder.d.ts +16 -0
- package/dist/components/stream/geoTypes.d.ts +97 -15
- package/dist/components/stream/glyphDef.d.ts +98 -0
- package/dist/components/stream/hitTarget.d.ts +170 -0
- package/dist/components/stream/hitTestUtils.d.ts +2 -2
- package/dist/components/stream/hoverUtils.d.ts +7 -2
- package/dist/components/stream/keyboardNav.d.ts +4 -1
- package/dist/components/stream/layouts/forceLayoutPlugin.d.ts +9 -1
- package/dist/components/stream/layouts/forceLayoutWorkerClient.d.ts +58 -0
- package/dist/components/stream/layouts/hierarchyUtils.d.ts +2 -2
- package/dist/components/stream/networkBezier.d.ts +10 -0
- package/dist/components/stream/networkColorAccessors.d.ts +49 -0
- package/dist/components/stream/networkCustomLayoutRunner.d.ts +23 -0
- package/dist/components/stream/networkCustomRestyle.d.ts +15 -0
- package/dist/components/stream/networkDefaultTooltip.d.ts +10 -0
- package/dist/components/stream/networkFrameAnimation.d.ts +7 -0
- package/dist/components/stream/networkFrameHandleTypes.d.ts +39 -0
- package/dist/components/stream/networkFrameInteraction.d.ts +37 -0
- package/dist/components/stream/networkFrameObservations.d.ts +15 -0
- package/dist/components/stream/networkFramePaint.d.ts +52 -0
- package/dist/components/stream/networkInteractionTypes.d.ts +26 -0
- package/dist/components/stream/networkPipelineConfig.d.ts +22 -0
- package/dist/components/stream/networkPipelineHelpers.d.ts +12 -0
- package/dist/components/stream/networkPipelineUpdateResults.d.ts +38 -0
- package/dist/components/stream/networkRealtimeEncoding.d.ts +41 -0
- package/dist/components/stream/networkTypes.d.ts +103 -51
- package/dist/components/stream/ordinalCanvasRenderers.d.ts +7 -0
- package/dist/components/stream/ordinalDataIndex.d.ts +5 -0
- package/dist/components/stream/ordinalDefaultTooltip.d.ts +10 -0
- package/dist/components/stream/ordinalDomain.d.ts +38 -0
- package/dist/components/stream/ordinalPipelineUpdateResults.d.ts +31 -0
- package/dist/components/stream/ordinalPulse.d.ts +10 -0
- package/dist/components/stream/ordinalPulseResources.d.ts +3 -0
- package/dist/components/stream/ordinalSceneBuilders/sceneBuilderMap.d.ts +5 -0
- package/dist/components/stream/ordinalSceneBuilders/types.d.ts +2 -2
- package/dist/components/stream/ordinalSpatialIndex.d.ts +9 -0
- package/dist/components/stream/ordinalTypes.d.ts +68 -9
- package/dist/components/stream/paintNeeds.d.ts +31 -0
- package/dist/components/stream/physics/CapacityQueueController.d.ts +5 -0
- package/dist/components/stream/physics/CapacityQueueTypes.d.ts +134 -0
- package/dist/components/stream/physics/MatterPhysicsEngineAdapter.d.ts +42 -0
- package/dist/components/stream/physics/PhysicsAccessibility.d.ts +48 -0
- package/dist/components/stream/physics/PhysicsAnnotations.d.ts +58 -0
- package/dist/components/stream/physics/PhysicsBodyBudget.d.ts +26 -0
- package/dist/components/stream/physics/PhysicsBodySpatialIndex.d.ts +10 -0
- package/dist/components/stream/physics/PhysicsCanvasTheme.d.ts +26 -0
- package/dist/components/stream/physics/PhysicsControllers.d.ts +75 -0
- package/dist/components/stream/physics/PhysicsEngineAdapter.d.ts +59 -0
- package/dist/components/stream/physics/PhysicsEngineConformance.d.ts +23 -0
- package/dist/components/stream/physics/PhysicsEvidence.d.ts +25 -0
- package/dist/components/stream/physics/PhysicsKernel.d.ts +207 -0
- package/dist/components/stream/physics/PhysicsOptionalEngineAdapters.d.ts +12 -0
- package/dist/components/stream/physics/PhysicsPipelineStore.d.ts +86 -0
- package/dist/components/stream/physics/PhysicsPipelineTypes.d.ts +181 -0
- package/dist/components/stream/physics/PhysicsSVGOverlay.d.ts +78 -0
- package/dist/components/stream/physics/PhysicsSediment.d.ts +69 -0
- package/dist/components/stream/physics/PhysicsSettledSVG.d.ts +18 -0
- package/dist/components/stream/physics/PhysicsSettledScene.d.ts +21 -0
- package/dist/components/stream/physics/PhysicsWorkerClient.d.ts +24 -0
- package/dist/components/stream/physics/PhysicsWorkerProtocol.d.ts +101 -0
- package/dist/components/stream/physics/PhysicsWorkerRuntime.d.ts +5 -0
- package/dist/components/stream/physics/RapierPhysicsEngineAdapter.d.ts +18 -0
- package/dist/components/stream/physics/ServiceOperationsControllers.d.ts +27 -0
- package/dist/components/stream/physics/ServiceOperationsTypes.d.ts +89 -0
- package/dist/components/stream/physics/StreamPhysicsFrame.d.ts +6 -0
- package/dist/components/stream/physics/StreamPhysicsTypes.d.ts +317 -0
- package/dist/components/stream/physics/physicsBodyCanvas.d.ts +27 -0
- package/dist/components/stream/physics/physicsFrameObservations.d.ts +19 -0
- package/dist/components/stream/physics/physicsFrameSetup.d.ts +4 -0
- package/dist/components/stream/physics/physicsPipelineControls.d.ts +4 -0
- package/dist/components/stream/physics/physicsPipelineHelpers.d.ts +41 -0
- package/dist/components/stream/physics/physicsPipelineObservations.d.ts +14 -0
- package/dist/components/stream/physics/physicsPipelineUpdateResults.d.ts +27 -0
- package/dist/components/stream/physics/physicsRegionRuntime.d.ts +54 -0
- package/dist/components/stream/physics/physicsSemanticUI.d.ts +20 -0
- package/dist/components/stream/physics/usePhysicsFrameLifecyclePolicy.d.ts +18 -0
- package/dist/components/stream/pipelineBufferUtils.d.ts +26 -0
- package/dist/components/stream/pipelineConfig.d.ts +179 -0
- package/dist/components/stream/pipelineDecay.d.ts +21 -3
- package/dist/components/stream/pipelineDomainResolution.d.ts +62 -0
- package/dist/components/stream/pipelineIdentityOps.d.ts +26 -0
- package/dist/components/stream/pipelinePulse.d.ts +17 -3
- package/dist/components/stream/pipelineRibbons.d.ts +41 -0
- package/dist/components/stream/pipelineSpatialIndex.d.ts +12 -0
- package/dist/components/stream/pipelineStoreUpdateResults.d.ts +33 -0
- package/dist/components/stream/pipelineStyleResolvers.d.ts +46 -0
- package/dist/components/stream/pipelineTransitions.d.ts +3 -1
- package/dist/components/stream/pipelineUpdateContract.d.ts +69 -0
- package/dist/components/stream/pipelineUpdateStore.d.ts +21 -0
- package/dist/components/stream/pulseFrameRefresh.d.ts +22 -0
- package/dist/components/stream/renderBackend.d.ts +27 -0
- package/dist/components/stream/renderers/canvasRenderHelpers.d.ts +15 -1
- package/dist/components/stream/renderers/geoCanvasRenderer.d.ts +3 -2
- package/dist/components/stream/renderers/glyphCanvasRenderer.d.ts +6 -0
- package/dist/components/stream/renderers/networkParticleRenderer.d.ts +1 -1
- package/dist/components/stream/renderers/resolveCSSColor.d.ts +6 -0
- package/dist/components/stream/sceneRenderBackendTypes.d.ts +28 -0
- package/dist/components/stream/sceneRevisionDiagnostics.d.ts +45 -0
- package/dist/components/stream/streamSemanticTypes.d.ts +16 -0
- package/dist/components/stream/streamStoreSync.d.ts +37 -0
- package/dist/components/stream/streamThemeTypes.d.ts +14 -0
- package/dist/components/stream/svgOverlayUtils.d.ts +10 -0
- package/dist/components/stream/test-utils/frameScheduler.d.ts +12 -0
- package/dist/components/stream/test-utils/revisionConsumption.d.ts +13 -0
- package/dist/components/stream/titleLayout.d.ts +31 -0
- package/dist/components/stream/types.d.ts +165 -72
- package/dist/components/stream/useCanvasFrameHost.d.ts +71 -0
- package/dist/components/stream/useFrame.d.ts +44 -2
- package/dist/components/stream/useHydration.d.ts +6 -0
- package/dist/components/stream/useLegendCategoryEmission.d.ts +5 -0
- package/dist/components/stream/useSemanticFrameInteractions.d.ts +22 -0
- package/dist/components/stream/useUpdateResultSnapshot.d.ts +7 -0
- package/dist/components/stream/workerModuleUrl.d.ts +10 -0
- package/dist/components/stream/xyAnnotationAnchors.d.ts +13 -0
- package/dist/components/stream/xyCanvasRenderers.d.ts +7 -0
- package/dist/components/stream/xyCrosshair.d.ts +11 -0
- package/dist/components/stream/xyDateTicks.d.ts +9 -0
- package/dist/components/stream/xyDefaultTooltip.d.ts +10 -0
- package/dist/components/stream/xyFrameAxisTypes.d.ts +50 -0
- package/dist/components/stream/xySceneBuilders/types.d.ts +10 -9
- package/dist/controls.min.js +2 -0
- package/dist/controls.module.min.js +2 -0
- package/dist/forceLayoutWorker.js +1 -0
- package/dist/geo.min.js +1 -1
- package/dist/geo.module.min.js +1 -1
- package/dist/network.min.js +1 -1
- package/dist/network.module.min.js +1 -1
- package/dist/ordinal.min.js +1 -1
- package/dist/ordinal.module.min.js +1 -1
- package/dist/physics-matter.min.js +1 -0
- package/dist/physics-matter.module.min.js +1 -0
- package/dist/physics-rapier.min.js +1 -0
- package/dist/physics-rapier.module.min.js +1 -0
- package/dist/physics.min.js +2 -0
- package/dist/physics.module.min.js +2 -0
- package/dist/physicsWorker.js +1 -0
- package/dist/realtime.min.js +1 -1
- package/dist/realtime.module.min.js +1 -1
- package/dist/rough.min.js +1 -0
- package/dist/rough.module.min.js +1 -0
- package/dist/semiotic-ai-chunk-OG7BQUUW.module.min.js +2 -0
- package/dist/semiotic-ai-core.d.ts +47 -0
- package/dist/semiotic-ai-core.min.js +1 -0
- package/dist/semiotic-ai-core.module.min.js +1 -0
- package/dist/semiotic-ai-statisticalOverlays-CY4WKR4A.module.min.js +2 -0
- package/dist/semiotic-ai.d.ts +53 -9
- package/dist/semiotic-ai.min.js +1 -1
- package/dist/semiotic-ai.module.min.js +1 -1
- package/dist/semiotic-chunk-3FSVZ46U.module.min.js +2 -0
- package/dist/semiotic-controls.d.ts +20 -0
- package/dist/semiotic-data.min.js +1 -1
- package/dist/semiotic-data.module.min.js +1 -1
- package/dist/semiotic-experimental.d.ts +38 -9
- package/dist/semiotic-experimental.min.js +1 -1
- package/dist/semiotic-experimental.module.min.js +1 -1
- package/dist/semiotic-geo.d.ts +15 -0
- package/dist/semiotic-network.d.ts +15 -0
- package/dist/semiotic-ordinal.d.ts +14 -0
- package/dist/semiotic-physics-matter.d.ts +10 -0
- package/dist/semiotic-physics-rapier.d.ts +9 -0
- package/dist/semiotic-physics.d.ts +60 -0
- package/dist/semiotic-realtime-core.d.ts +34 -0
- package/dist/semiotic-realtime-core.min.js +1 -0
- package/dist/semiotic-realtime-core.module.min.js +1 -0
- package/dist/semiotic-realtime-react.d.ts +10 -0
- package/dist/semiotic-realtime-react.min.js +2 -0
- package/dist/semiotic-realtime-react.module.min.js +2 -0
- package/dist/semiotic-realtime.d.ts +4 -30
- package/dist/semiotic-recipes-core.d.ts +92 -0
- package/dist/semiotic-recipes-core.min.js +1 -0
- package/dist/semiotic-recipes-core.module.min.js +1 -0
- package/dist/semiotic-recipes-react.d.ts +7 -0
- package/dist/semiotic-recipes-react.min.js +2 -0
- package/dist/semiotic-recipes-react.module.min.js +2 -0
- package/dist/semiotic-recipes.d.ts +4 -43
- package/dist/semiotic-recipes.min.js +1 -1
- package/dist/semiotic-recipes.module.min.js +1 -1
- package/dist/semiotic-rough.d.ts +4 -0
- package/dist/semiotic-server-edge.d.ts +8 -0
- package/dist/semiotic-server-edge.min.js +1 -0
- package/dist/semiotic-server-edge.module.min.js +1 -0
- package/dist/semiotic-server-node.d.ts +5 -0
- package/dist/semiotic-server-node.min.js +1 -0
- package/dist/semiotic-server-node.module.min.js +1 -0
- package/dist/semiotic-server.d.ts +2 -2
- package/dist/semiotic-statisticalOverlays-UOMSFKVJ.module.min.js +2 -0
- package/dist/semiotic-themes-core.d.ts +53 -0
- package/dist/semiotic-themes-core.min.js +1 -0
- package/dist/semiotic-themes-core.module.min.js +1 -0
- package/dist/semiotic-themes-react.d.ts +4 -0
- package/dist/semiotic-themes-react.min.js +2 -0
- package/dist/semiotic-themes-react.module.min.js +2 -0
- package/dist/semiotic-themes.d.ts +6 -76
- package/dist/semiotic-themes.min.js +1 -2
- package/dist/semiotic-themes.module.min.js +1 -2
- package/dist/semiotic-utils-core.d.ts +50 -0
- package/dist/semiotic-utils-core.min.js +1 -0
- package/dist/semiotic-utils-core.module.min.js +1 -0
- package/dist/semiotic-utils-react.d.ts +5 -0
- package/dist/semiotic-utils-react.min.js +2 -0
- package/dist/semiotic-utils-react.module.min.js +2 -0
- package/dist/semiotic-utils.d.ts +3 -39
- package/dist/semiotic-utils.min.js +1 -2
- package/dist/semiotic-utils.module.min.js +1 -2
- package/dist/semiotic-value.min.js +1 -1
- package/dist/semiotic-value.module.min.js +1 -1
- package/dist/semiotic-xy.d.ts +12 -0
- package/dist/semiotic.d.ts +44 -8
- package/dist/semiotic.min.js +1 -1
- package/dist/semiotic.module.min.js +1 -1
- package/dist/server.min.js +1 -1
- package/dist/server.module.min.js +1 -1
- package/dist/test-utils/capturedFrameProps.d.ts +67 -0
- package/dist/test-utils/frameMock.d.ts +12 -9
- package/dist/xy-chunk-IWD6IB6V.module.min.js +2 -0
- package/dist/xy-statisticalOverlays-7RWG6LJT.module.min.js +2 -0
- package/dist/xy.min.js +1 -1
- package/dist/xy.module.min.js +1 -1
- package/package.json +259 -88
- package/spec/README.md +152 -0
- package/spec/bindings/README.md +35 -0
- package/spec/bindings/vega-lite.mjs +112 -0
- package/spec/v0.1/annotation-provenance.schema.json +127 -0
- package/spec/v0.1/audience-profile.schema.json +67 -0
- package/spec/v0.1/chart-capability.schema.json +186 -0
- package/dist/components/recipes/gofish.d.ts +0 -207
- package/dist/components/recipes/gofishInterpreter.d.ts +0 -52
- package/dist/components/recipes/gofishLambdas.d.ts +0 -145
- package/dist/semiotic-ai-semiotic-ai-u954ylUn.js +0 -2
- package/dist/semiotic-ai-statisticalOverlays-CU7jW05Q.js +0 -1
- package/dist/semiotic-semiotic-BmrYbi99.js +0 -2
- package/dist/semiotic-statisticalOverlays-IjZw8Lsu.js +0 -1
- package/dist/xy-semiotic-xy-Dufu3D0-.js +0 -2
- package/dist/xy-statisticalOverlays-3Ni9bRph.js +0 -1
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import type { Datum } from "./datumTypes";
|
|
2
|
+
/**
|
|
3
|
+
* auditMobileVisualization - static mobile-readiness triage for Semiotic chart
|
|
4
|
+
* configurations.
|
|
5
|
+
*
|
|
6
|
+
* This is deliberately conservative: it does not inspect the DOM, resolved CSS,
|
|
7
|
+
* measured labels, rendered annotation boxes, or real input behavior. It flags
|
|
8
|
+
* risks that can be inferred from config/data and routes the rest to manual
|
|
9
|
+
* mobile review. Treat it like auditAccessibility: useful before render, useful
|
|
10
|
+
* for agents, not a certification.
|
|
11
|
+
*/
|
|
12
|
+
export type MobileAuditStatus = "pass" | "warn" | "manual" | "not-applicable";
|
|
13
|
+
export type MobileAuditCategory = "layout" | "density" | "interaction" | "annotation" | "semantics";
|
|
14
|
+
export type MobileAuditImpact = "high" | "medium" | "low";
|
|
15
|
+
export interface MobileVisualizationFinding {
|
|
16
|
+
/** Stable id, e.g. "layout.fixed-desktop-size". */
|
|
17
|
+
id: string;
|
|
18
|
+
category: MobileAuditCategory;
|
|
19
|
+
status: MobileAuditStatus;
|
|
20
|
+
impact: MobileAuditImpact;
|
|
21
|
+
message: string;
|
|
22
|
+
fix?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface MobileVisualizationAuditResult {
|
|
25
|
+
component: string;
|
|
26
|
+
viewportWidth: number;
|
|
27
|
+
/** True when no high-impact warning is present. */
|
|
28
|
+
ok: boolean;
|
|
29
|
+
summary: {
|
|
30
|
+
highRisk: number;
|
|
31
|
+
warnings: number;
|
|
32
|
+
manual: number;
|
|
33
|
+
passes: number;
|
|
34
|
+
};
|
|
35
|
+
findings: MobileVisualizationFinding[];
|
|
36
|
+
reference: string;
|
|
37
|
+
}
|
|
38
|
+
export interface AuditMobileVisualizationOptions {
|
|
39
|
+
/**
|
|
40
|
+
* Width to audit against. Defaults to 390px, a common modern phone CSS
|
|
41
|
+
* viewport width. Run multiple widths in CI for stronger coverage.
|
|
42
|
+
*/
|
|
43
|
+
viewportWidth?: number;
|
|
44
|
+
/**
|
|
45
|
+
* Minimum acceptable pointer target. WCAG 2.2 Target Size (Minimum) is 24px;
|
|
46
|
+
* 44px is the comfortable phone target used here by default.
|
|
47
|
+
*/
|
|
48
|
+
targetSize?: number;
|
|
49
|
+
/**
|
|
50
|
+
* Whether the chart is wrapped in a container that can provide summary text,
|
|
51
|
+
* controls, caption, download/copy affordances, or a details panel.
|
|
52
|
+
*/
|
|
53
|
+
inChartContainer?: boolean;
|
|
54
|
+
}
|
|
55
|
+
export interface MobileVisualizationInteractionContract {
|
|
56
|
+
primary?: string;
|
|
57
|
+
alternatives?: string[];
|
|
58
|
+
hoverFallback?: string;
|
|
59
|
+
targetSize?: number;
|
|
60
|
+
}
|
|
61
|
+
export interface MobileVisualizationLabelContract {
|
|
62
|
+
strategy?: string;
|
|
63
|
+
minFontSize?: number;
|
|
64
|
+
}
|
|
65
|
+
export interface MobileVisualizationCustomContract {
|
|
66
|
+
dataBearingSceneNodes?: boolean;
|
|
67
|
+
stableIds?: boolean;
|
|
68
|
+
navigationGranularity?: string;
|
|
69
|
+
}
|
|
70
|
+
export interface MobileVisualizationContract {
|
|
71
|
+
strategy?: string;
|
|
72
|
+
responsive?: boolean;
|
|
73
|
+
supportsResponsiveLayout?: boolean;
|
|
74
|
+
breakpoints?: number[];
|
|
75
|
+
minViewportWidth?: number;
|
|
76
|
+
maxMarks?: number;
|
|
77
|
+
maxAnnotations?: number;
|
|
78
|
+
minimumHitTarget?: number;
|
|
79
|
+
summary?: boolean | string;
|
|
80
|
+
interaction?: MobileVisualizationInteractionContract;
|
|
81
|
+
labels?: MobileVisualizationLabelContract;
|
|
82
|
+
custom?: MobileVisualizationCustomContract;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Audit a Semiotic chart config for likely mobile visualization problems.
|
|
86
|
+
* Pure, SSR-safe, no DOM.
|
|
87
|
+
*/
|
|
88
|
+
export declare function auditMobileVisualization(component: string, props?: Datum, options?: AuditMobileVisualizationOptions): MobileVisualizationAuditResult;
|
|
89
|
+
/** Render a mobile visualization audit result as a plain-text report. */
|
|
90
|
+
export declare function formatMobileVisualizationAudit(result: MobileVisualizationAuditResult): string;
|
|
91
|
+
export declare function mobileVisualizationCaveats(): string[];
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Additive ChartDefinition pilot registry.
|
|
3
|
+
*
|
|
4
|
+
* This is deliberately a descriptive, pure layer: it imports chart-spec
|
|
5
|
+
* metadata but never React components, frame stores, server renderers, or
|
|
6
|
+
* docs modules. The implementation, server, capability, and example links
|
|
7
|
+
* are strings so hosts can decide what to load. Existing registries remain
|
|
8
|
+
* authoritative while this seven-chart slice proves the boundary.
|
|
9
|
+
*/
|
|
10
|
+
import { type ChartCapabilities, type ChartCategory, type ChartPropSpec, type ChartSpec, type PropType } from "./chartSpecs";
|
|
11
|
+
/** Version of the definition shape, independently from the package version. */
|
|
12
|
+
export declare const CHART_DEFINITION_SCHEMA_VERSION: 1;
|
|
13
|
+
/** Version of this intentionally small, additive pilot manifest. */
|
|
14
|
+
export declare const CHART_DEFINITION_PILOT_VERSION: "1.0.0";
|
|
15
|
+
export declare const CHART_DEFINITION_PILOT_IDS: readonly ["LineChart", "BarChart", "ForceDirectedGraph", "FlowMap", "GaltonBoardChart", "RealtimeLineChart", "BigNumber"];
|
|
16
|
+
export type ChartDefinitionPilotId = (typeof CHART_DEFINITION_PILOT_IDS)[number];
|
|
17
|
+
export type WireJsonType = Exclude<PropType, "function">;
|
|
18
|
+
/**
|
|
19
|
+
* Strictly serializable portion of a runtime prop. Function-only and
|
|
20
|
+
* `omitFromSchema` props live in `runtimeOnlyProps`; mixed string/function
|
|
21
|
+
* accessors retain their serializable string form and name their broader
|
|
22
|
+
* runtime contract in the extension field.
|
|
23
|
+
*/
|
|
24
|
+
export interface ChartDefinitionWireProperty {
|
|
25
|
+
readonly type: WireJsonType | readonly WireJsonType[];
|
|
26
|
+
readonly enum?: readonly string[];
|
|
27
|
+
readonly default?: unknown;
|
|
28
|
+
readonly description?: string;
|
|
29
|
+
readonly "x-semiotic-runtime-types"?: readonly PropType[];
|
|
30
|
+
}
|
|
31
|
+
export interface ChartDefinitionWireSchema {
|
|
32
|
+
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
33
|
+
readonly type: "object";
|
|
34
|
+
readonly properties: Readonly<Record<string, ChartDefinitionWireProperty>>;
|
|
35
|
+
readonly required: readonly string[];
|
|
36
|
+
/** Runtime props deliberately absent from the serializable wire surface. */
|
|
37
|
+
readonly "x-semiotic-runtime-only-props": readonly string[];
|
|
38
|
+
}
|
|
39
|
+
/** A string reference prevents the definition registry from loading React. */
|
|
40
|
+
export interface LazyImplementationReference {
|
|
41
|
+
readonly module: string;
|
|
42
|
+
readonly exportName: string;
|
|
43
|
+
}
|
|
44
|
+
export type ChartDefinitionServerSupport = {
|
|
45
|
+
readonly mode: "render-chart";
|
|
46
|
+
readonly chartConfig: string;
|
|
47
|
+
} | {
|
|
48
|
+
readonly mode: "react-ssr-only";
|
|
49
|
+
readonly reason: string;
|
|
50
|
+
} | {
|
|
51
|
+
readonly mode: "unavailable";
|
|
52
|
+
readonly reason: string;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* References into the current docs surface. They remain links for now: the
|
|
56
|
+
* future ExampleDefinition registry will become the source of truth for them.
|
|
57
|
+
*/
|
|
58
|
+
export interface ChartDefinitionExampleReference {
|
|
59
|
+
/** `chart-doc` is an interactive documentation demo pending ExampleDefinition migration. */
|
|
60
|
+
readonly kind?: "example" | "chart-doc";
|
|
61
|
+
readonly route: string;
|
|
62
|
+
readonly source: string;
|
|
63
|
+
}
|
|
64
|
+
/** Explicitly additive lifecycle truth; no pilot chart is deprecated. */
|
|
65
|
+
export interface ChartDefinitionLifecycle {
|
|
66
|
+
readonly status: "stable" | "experimental" | "deprecated" | "internal";
|
|
67
|
+
readonly since?: string;
|
|
68
|
+
readonly deprecation?: {
|
|
69
|
+
readonly since: string;
|
|
70
|
+
readonly replacement?: string;
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
/** Public docs page and the component identifier consumed by PropTable. */
|
|
74
|
+
export interface ChartDefinitionPropDocs {
|
|
75
|
+
readonly componentName: string;
|
|
76
|
+
readonly route: string;
|
|
77
|
+
readonly source: string;
|
|
78
|
+
}
|
|
79
|
+
export interface ChartDefinitionMetadata {
|
|
80
|
+
readonly description: string;
|
|
81
|
+
/** Reused directly from ChartSpec while the existing capability registry leads. */
|
|
82
|
+
readonly capabilities: ChartCapabilities;
|
|
83
|
+
readonly capabilityModule: string;
|
|
84
|
+
readonly chartSpec: string;
|
|
85
|
+
readonly aiSchemaName: string;
|
|
86
|
+
readonly lifecycle: ChartDefinitionLifecycle;
|
|
87
|
+
readonly propDocs: ChartDefinitionPropDocs;
|
|
88
|
+
readonly support: {
|
|
89
|
+
readonly browser: "react";
|
|
90
|
+
readonly server: ChartDefinitionServerSupport;
|
|
91
|
+
};
|
|
92
|
+
readonly examples: readonly ChartDefinitionExampleReference[];
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Minimal RFC-aligned manifest shape for the pilot. `wire` is intentionally
|
|
96
|
+
* serializable; richer prop metadata and lazy implementation references stay
|
|
97
|
+
* under `runtime`.
|
|
98
|
+
*/
|
|
99
|
+
export interface ChartDefinition<TChart extends string = string> {
|
|
100
|
+
readonly schemaVersion: typeof CHART_DEFINITION_SCHEMA_VERSION;
|
|
101
|
+
readonly chartFamily: ChartCategory;
|
|
102
|
+
readonly chartKind: TChart;
|
|
103
|
+
readonly wire: {
|
|
104
|
+
readonly chart: TChart;
|
|
105
|
+
readonly version: typeof CHART_DEFINITION_PILOT_VERSION;
|
|
106
|
+
readonly schema: ChartDefinitionWireSchema;
|
|
107
|
+
};
|
|
108
|
+
readonly runtime: {
|
|
109
|
+
readonly propMetadata: Readonly<Record<string, ChartPropSpec>>;
|
|
110
|
+
readonly implementation: LazyImplementationReference;
|
|
111
|
+
};
|
|
112
|
+
readonly metadata: ChartDefinitionMetadata;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Build a strict wire schema from the current ChartSpec without duplicating
|
|
116
|
+
* the public prop declaration. This deliberately differs from the legacy AI
|
|
117
|
+
* schema generator: a function-only prop is omitted here rather than emitted
|
|
118
|
+
* as an unconstrained JSON-schema property, because a function cannot cross a
|
|
119
|
+
* persisted/MCP wire boundary.
|
|
120
|
+
*/
|
|
121
|
+
export declare function createChartDefinitionWireSchema(spec: ChartSpec): ChartDefinitionWireSchema;
|
|
122
|
+
/**
|
|
123
|
+
* One representative per chart family. No existing consumer reads this yet;
|
|
124
|
+
* its purpose is to make parity and generation work executable before any
|
|
125
|
+
* registry is migrated.
|
|
126
|
+
*/
|
|
127
|
+
export declare const CHART_DEFINITION_PILOT: Readonly<{
|
|
128
|
+
[TChart in ChartDefinitionPilotId]: ChartDefinition<TChart>;
|
|
129
|
+
}>;
|
|
130
|
+
export interface ChartDefinitionArtifact {
|
|
131
|
+
readonly chart: string;
|
|
132
|
+
readonly schemaVersion: typeof CHART_DEFINITION_SCHEMA_VERSION;
|
|
133
|
+
readonly wire: ChartDefinition["wire"];
|
|
134
|
+
readonly runtime: {
|
|
135
|
+
readonly implementation: LazyImplementationReference;
|
|
136
|
+
readonly propNames: readonly string[];
|
|
137
|
+
};
|
|
138
|
+
readonly metadata: ChartDefinitionMetadata;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Pure generation hook for future schema/docs/registry emitters. Its output is
|
|
142
|
+
* JSON-serializable and intentionally has no component or server imports.
|
|
143
|
+
*/
|
|
144
|
+
export declare function generateChartDefinitionArtifacts(registry?: Readonly<Record<string, ChartDefinition>>): readonly ChartDefinitionArtifact[];
|
|
145
|
+
export declare function getChartDefinition(chart: string): ChartDefinition<ChartDefinitionPilotId> | undefined;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare const HIERARCHY_CHARTS: Set<string>;
|
|
2
|
+
export declare const NETWORK_CHARTS: Set<string>;
|
|
3
|
+
export declare const BAR_AREA_CHARTS: Set<string>;
|
|
4
|
+
export declare const TREND_SERIES_CHARTS: Set<string>;
|
|
5
|
+
export declare const ORDINAL_BAR_CHARTS: Set<string>;
|
|
6
|
+
export declare const CURVE_CHARTS: Set<string>;
|
|
7
|
+
export declare const PIE_CHARTS: Set<string>;
|
|
8
|
+
export declare const PART_TO_WHOLE_ACCESSORS: Record<string, string>;
|
|
9
|
+
export declare const PART_TO_WHOLE_CHARTS: Set<string>;
|
|
10
|
+
export declare const NORMALIZED_STACK_ACCESSORS: Record<string, string>;
|
|
11
|
+
export declare const VALUE_CHARTS: Set<string>;
|
|
12
|
+
export declare const XY_WITH_AXES_CHARTS: Set<string>;
|
|
13
|
+
export declare const PHYSICS_MOTION_CHARTS: Set<string>;
|
|
14
|
+
export declare const CONTINUOUS_MOTION_CHARTS: Set<string>;
|
|
15
|
+
export declare const PHYSICS_SETTLED_CHARTS: Set<string>;
|
|
16
|
+
export declare const PHYSICS_DIAGNOSTIC_CHARTS: Set<string>;
|
|
17
|
+
export declare const REALTIME_CHARTS: Set<string>;
|
|
18
|
+
export declare const DUAL_AXIS_CHARTS: Set<string>;
|
|
19
|
+
export declare const GEO_CHARTS: Set<string>;
|
|
20
|
+
export declare const POINT_TARGET_RADIUS_PROP: Record<string, string>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Datum } from "./datumTypes";
|
|
2
|
+
export declare function resolveHoverXPosition(interactionDatum: Datum, datum: Datum | null | undefined, xField: string): number | null;
|
|
3
|
+
export declare function observationDatum(interactionDatum: Datum): Datum;
|
|
4
|
+
export declare function hasOwnEnumerableKey(value: object | undefined | null): boolean;
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Single source of truth for per-chart prop specifications.
|
|
3
|
+
*
|
|
4
|
+
* Three downstream consumers used to maintain their own per-chart entries:
|
|
5
|
+
* - `ai/schema.json` (LLM tool definitions)
|
|
6
|
+
* - `src/components/charts/shared/validationMap.ts` (runtime prop validation)
|
|
7
|
+
* - `ai/componentMetadata.cjs` (category buckets)
|
|
8
|
+
*
|
|
9
|
+
* Today, `validationMap.generated.ts` and `ai/schema.json` are generated from
|
|
10
|
+
* this registry — run `npm run docs:chart-specs:schema` to refresh both after
|
|
11
|
+
* editing a spec. `componentMetadata.cjs` is still
|
|
12
|
+
* hand-edited but gated for parity by the registry: `check:chart-specs` (run
|
|
13
|
+
* via `npm run check:chart-specs`) regenerates each chart's schema/
|
|
14
|
+
* validation/metadata entries with the pure functions in
|
|
15
|
+
* `scripts/lib/chart-specs-generators.mjs` and fails the build on any
|
|
16
|
+
* drift, including unexpected adds or removes that bypass the registry.
|
|
17
|
+
*
|
|
18
|
+
* Design notes:
|
|
19
|
+
* - Shared prop bags (common, xyAxis, ordinalAxis) live in `PROP_BAGS` and
|
|
20
|
+
* are referenced by name in each spec so common surface stays in one place.
|
|
21
|
+
* - The runtime PropType set ("string" | "number" | "boolean" | "array" |
|
|
22
|
+
* "object" | "function") is broader than JSON Schema's, but the schema
|
|
23
|
+
* generator emits whatever types this registry declares — including
|
|
24
|
+
* "function" inside type unions (canonical entries like
|
|
25
|
+
* `RidgelinePlot.tooltip: ["function", "object"]` and
|
|
26
|
+
* `SwimlaneChart.onBrush: "function"` already use this convention; LLMs
|
|
27
|
+
* read the union and pick a non-function alternative when they can't
|
|
28
|
+
* supply a function value). For props that are purely callbacks or
|
|
29
|
+
* escape hatches an LLM cannot meaningfully populate, tag the spec
|
|
30
|
+
* with `omitFromSchema: true` to keep it in validationMap but out of
|
|
31
|
+
* schema.json. `description` and `default` annotations surface in
|
|
32
|
+
* schema.json (and MCP responses) but are dropped from validationMap
|
|
33
|
+
* (which only reads `type` and `enum`).
|
|
34
|
+
*/
|
|
35
|
+
export type PropType = "string" | "number" | "boolean" | "array" | "object" | "function";
|
|
36
|
+
export type DataShape = "array" | "object" | "network" | "realtime" | "none";
|
|
37
|
+
export type ChartCategory = "xy" | "ordinal" | "network" | "geo" | "realtime" | "physics" | "value";
|
|
38
|
+
/**
|
|
39
|
+
* Capability tags for runtime behavior. Each chart declares which
|
|
40
|
+
* features it actually supports so docs, AI/MCP tools, and CI gates
|
|
41
|
+
* can read structured truth instead of inferring it from the source.
|
|
42
|
+
*
|
|
43
|
+
* All fields are required so a new chart entry can't omit them
|
|
44
|
+
* silently — the audit's anti-goal "Do not make registry metadata
|
|
45
|
+
* aspirational. It should describe real runtime behavior and be
|
|
46
|
+
* checked." applies here.
|
|
47
|
+
*/
|
|
48
|
+
export interface ChartCapabilities {
|
|
49
|
+
/**
|
|
50
|
+
* Render pipeline. `canvas` for Stream-Frame-driven charts that
|
|
51
|
+
* paint to canvas with SVG overlays for chrome (the common case).
|
|
52
|
+
* `svg` for charts that are pure SVG (none today, but reserved).
|
|
53
|
+
* `hybrid` for charts that use both — currently every Stream-Frame
|
|
54
|
+
* HOC qualifies as hybrid; reserve `canvas` for any future
|
|
55
|
+
* canvas-only fallback.
|
|
56
|
+
*/
|
|
57
|
+
renderModes: Array<"canvas" | "svg" | "hybrid">;
|
|
58
|
+
/** Renders a legend swatch column when `colorBy` (or equivalent)
|
|
59
|
+
* resolves to non-empty categories. */
|
|
60
|
+
supportsLegend: boolean;
|
|
61
|
+
/** Reads from a `selection` prop and dims/highlights matching
|
|
62
|
+
* marks via `wrapStyleWithSelection` or equivalent. */
|
|
63
|
+
supportsSelection: boolean;
|
|
64
|
+
/** Produces a hover-driven selection (used by linked crosshair /
|
|
65
|
+
* cross-filter patterns) via `linkedHover`. */
|
|
66
|
+
supportsLinkedHover: boolean;
|
|
67
|
+
/** Exposes a ref handle (`push`, `pushMany`, etc.) so consumers
|
|
68
|
+
* can mutate the data list without re-rendering. Hierarchy
|
|
69
|
+
* charts (Treemap/CirclePack/TreeDiagram/OrbitDiagram) and
|
|
70
|
+
* pure-synthetic charts (GaugeChart) declare false. */
|
|
71
|
+
supportsPush: boolean;
|
|
72
|
+
/** Renders to a static SVG via `renderChart()` from `semiotic/server`
|
|
73
|
+
* through a registered entry in `serverChartConfigs.ts`. SSR-only
|
|
74
|
+
* charts (none yet) and HOC-SSR exclusions also declare false. */
|
|
75
|
+
supportsSSR: boolean;
|
|
76
|
+
/**
|
|
77
|
+
* How color is consumed by the chart's data marks.
|
|
78
|
+
* - `categorical`: discrete buckets, paired with a `colorBy` accessor.
|
|
79
|
+
* - `sequential`: continuous scale (heatmap intensity, choropleth value).
|
|
80
|
+
* - `threshold`: stepped scale with explicit breakpoints (gauge zones).
|
|
81
|
+
* - `continuous`: smooth interpolation along a 1-D path (gradient fill).
|
|
82
|
+
* - `none`: chart doesn't use color encoding (sparkline, pure layout).
|
|
83
|
+
*/
|
|
84
|
+
colorModel: "categorical" | "sequential" | "threshold" | "continuous" | "none";
|
|
85
|
+
/**
|
|
86
|
+
* Where the geometry comes from.
|
|
87
|
+
* - `plugin`: a built-in plugin in the frame (sankey/force/chord/tree
|
|
88
|
+
* for network; bar/pie/swarm/etc. for ordinal; line/area/etc. for XY).
|
|
89
|
+
* - `custom`: emitted via the frame's customLayout escape hatch
|
|
90
|
+
* (ProcessSankey via `customNetworkLayout`, NetworkCustomChart,
|
|
91
|
+
* XYCustomChart, OrdinalCustomChart).
|
|
92
|
+
* - `synthetic`: no layout — the chart constructs its scene from
|
|
93
|
+
* the input value(s) directly (GaugeChart computes arc geometry).
|
|
94
|
+
*/
|
|
95
|
+
layoutMode: "plugin" | "custom" | "synthetic";
|
|
96
|
+
/**
|
|
97
|
+
* Free-form tag list for opt-in features that don't fit the
|
|
98
|
+
* boolean shape — e.g. "particles", "forecast", "anomaly", "brush",
|
|
99
|
+
* "streamgraph", "minimap". Used by docs feature tables and
|
|
100
|
+
* potential capability-driven AI suggestions.
|
|
101
|
+
*/
|
|
102
|
+
specialFeatures: string[];
|
|
103
|
+
}
|
|
104
|
+
export interface ChartPropSpec {
|
|
105
|
+
/** Allowed runtime types. May be a single value or a union. */
|
|
106
|
+
type: PropType | PropType[];
|
|
107
|
+
/** Allowed enum values for string-typed props. */
|
|
108
|
+
enum?: readonly string[];
|
|
109
|
+
/** Default value surfaced in schema.json (and shown in MCP getSchema). */
|
|
110
|
+
default?: unknown;
|
|
111
|
+
/** Schema-side description; surfaces in LLM tool definitions. */
|
|
112
|
+
description?: string;
|
|
113
|
+
/**
|
|
114
|
+
* When true, the prop is included in validationMap but omitted from
|
|
115
|
+
* schema.json. Use for handler/callback props (`onClick`, `tooltip`)
|
|
116
|
+
* and pass-through escape hatches (`frameProps`) that LLMs shouldn't
|
|
117
|
+
* be asked to populate.
|
|
118
|
+
*/
|
|
119
|
+
omitFromSchema?: boolean;
|
|
120
|
+
}
|
|
121
|
+
export interface ChartSpec {
|
|
122
|
+
/** Component name, must match the React export. */
|
|
123
|
+
name: string;
|
|
124
|
+
category: ChartCategory;
|
|
125
|
+
/** Human-readable description for schema.tools[].function.description. */
|
|
126
|
+
description: string;
|
|
127
|
+
/** Statically-required props. Push-mode optionality lives in behaviorContracts. */
|
|
128
|
+
required: string[];
|
|
129
|
+
/** Drives validation dispatch (validateArrayData / validateNetworkData / …). */
|
|
130
|
+
dataShape: DataShape;
|
|
131
|
+
/** Accessor props validated against the data shape at runtime. */
|
|
132
|
+
dataAccessors: string[];
|
|
133
|
+
/**
|
|
134
|
+
* Shared prop bags this chart composes. Bag props are merged in left-to-right
|
|
135
|
+
* order; chart-specific `ownProps` win on key collision.
|
|
136
|
+
*/
|
|
137
|
+
propBags: ReadonlyArray<keyof typeof PROP_BAGS>;
|
|
138
|
+
/** Chart-specific prop spec, overlaid on top of the composed bags. */
|
|
139
|
+
ownProps: Record<string, ChartPropSpec>;
|
|
140
|
+
/**
|
|
141
|
+
* Capability matrix — declarative facts about runtime behavior.
|
|
142
|
+
* Drives docs feature tables, capability-aware AI/MCP tools, and
|
|
143
|
+
* the `check:capabilities` drift gate (which verifies, e.g., that
|
|
144
|
+
* a chart claiming `supportsSSR: true` has a matching entry in
|
|
145
|
+
* `serverChartConfigs.ts`).
|
|
146
|
+
*/
|
|
147
|
+
capabilities: ChartCapabilities;
|
|
148
|
+
}
|
|
149
|
+
export declare const PROP_BAGS: {
|
|
150
|
+
readonly common: Record<string, ChartPropSpec>;
|
|
151
|
+
readonly xyAxis: Record<string, ChartPropSpec>;
|
|
152
|
+
readonly ordinalAxis: Record<string, ChartPropSpec>;
|
|
153
|
+
readonly realtime: Record<string, ChartPropSpec>;
|
|
154
|
+
readonly physics: Record<string, ChartPropSpec>;
|
|
155
|
+
};
|
|
156
|
+
export declare const ORIENTATION_ENUM: readonly ["vertical", "horizontal"];
|
|
157
|
+
export declare const HORIZONTAL_VERTICAL_ENUM: readonly ["horizontal", "vertical"];
|
|
158
|
+
export declare const LEGEND_POSITION_ENUM: readonly ["right", "left", "top", "bottom"];
|
|
159
|
+
export declare const CURVE_ENUM: readonly ["linear", "monotoneX", "monotoneY", "step", "stepAfter", "stepBefore", "basis", "cardinal", "catmullRom"];
|
|
160
|
+
export declare const CHART_MODE_ENUM: readonly ["primary", "context", "sparkline"];
|
|
161
|
+
/**
|
|
162
|
+
* Compose a chart's full prop set (bags + ownProps) in deterministic order.
|
|
163
|
+
* ownProps wins on key collision so a chart can override a shared default.
|
|
164
|
+
*/
|
|
165
|
+
export declare function composeProps(spec: ChartSpec): Record<string, ChartPropSpec>;
|
|
@@ -1,131 +1,12 @@
|
|
|
1
|
-
export type PropType = "string" | "number" | "boolean" | "array" | "object" | "function";
|
|
2
|
-
export type DataShape = "array" | "object" | "network" | "realtime" | "none";
|
|
3
|
-
export type ChartCategory = "xy" | "ordinal" | "network" | "geo" | "realtime" | "value";
|
|
4
1
|
/**
|
|
5
|
-
*
|
|
6
|
-
* features it actually supports so docs, AI/MCP tools, and CI gates
|
|
7
|
-
* can read structured truth instead of inferring it from the source.
|
|
2
|
+
* Single source of truth for per-chart prop specifications.
|
|
8
3
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
4
|
+
* Spec entries are split by family (`chartSpecsXY.ts`, etc.); this module
|
|
5
|
+
* re-exports types/helpers and composes `CHART_SPECS`.
|
|
6
|
+
*
|
|
7
|
+
* See `chartSpecCore.ts` for types, prop bags, and `composeProps`.
|
|
13
8
|
*/
|
|
14
|
-
export
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
* paint to canvas with SVG overlays for chrome (the common case).
|
|
18
|
-
* `svg` for charts that are pure SVG (none today, but reserved).
|
|
19
|
-
* `hybrid` for charts that use both — currently every Stream-Frame
|
|
20
|
-
* HOC qualifies as hybrid; reserve `canvas` for any future
|
|
21
|
-
* canvas-only fallback.
|
|
22
|
-
*/
|
|
23
|
-
renderModes: Array<"canvas" | "svg" | "hybrid">;
|
|
24
|
-
/** Renders a legend swatch column when `colorBy` (or equivalent)
|
|
25
|
-
* resolves to non-empty categories. */
|
|
26
|
-
supportsLegend: boolean;
|
|
27
|
-
/** Reads from a `selection` prop and dims/highlights matching
|
|
28
|
-
* marks via `wrapStyleWithSelection` or equivalent. */
|
|
29
|
-
supportsSelection: boolean;
|
|
30
|
-
/** Produces a hover-driven selection (used by linked crosshair /
|
|
31
|
-
* cross-filter patterns) via `linkedHover`. */
|
|
32
|
-
supportsLinkedHover: boolean;
|
|
33
|
-
/** Exposes a ref handle (`push`, `pushMany`, etc.) so consumers
|
|
34
|
-
* can mutate the data list without re-rendering. Hierarchy
|
|
35
|
-
* charts (Treemap/CirclePack/TreeDiagram/OrbitDiagram) and
|
|
36
|
-
* pure-synthetic charts (GaugeChart) declare false. */
|
|
37
|
-
supportsPush: boolean;
|
|
38
|
-
/** Renders to a static SVG via `renderChart()` from `semiotic/server`
|
|
39
|
-
* through a registered entry in `serverChartConfigs.ts`. SSR-only
|
|
40
|
-
* charts (none yet) and HOC-SSR exclusions also declare false. */
|
|
41
|
-
supportsSSR: boolean;
|
|
42
|
-
/**
|
|
43
|
-
* How color is consumed by the chart's data marks.
|
|
44
|
-
* - `categorical`: discrete buckets, paired with a `colorBy` accessor.
|
|
45
|
-
* - `sequential`: continuous scale (heatmap intensity, choropleth value).
|
|
46
|
-
* - `threshold`: stepped scale with explicit breakpoints (gauge zones).
|
|
47
|
-
* - `continuous`: smooth interpolation along a 1-D path (gradient fill).
|
|
48
|
-
* - `none`: chart doesn't use color encoding (sparkline, pure layout).
|
|
49
|
-
*/
|
|
50
|
-
colorModel: "categorical" | "sequential" | "threshold" | "continuous" | "none";
|
|
51
|
-
/**
|
|
52
|
-
* Where the geometry comes from.
|
|
53
|
-
* - `plugin`: a built-in plugin in the frame (sankey/force/chord/tree
|
|
54
|
-
* for network; bar/pie/swarm/etc. for ordinal; line/area/etc. for XY).
|
|
55
|
-
* - `custom`: emitted via the frame's customLayout escape hatch
|
|
56
|
-
* (ProcessSankey via `customNetworkLayout`, NetworkCustomChart,
|
|
57
|
-
* XYCustomChart, OrdinalCustomChart).
|
|
58
|
-
* - `synthetic`: no layout — the chart constructs its scene from
|
|
59
|
-
* the input value(s) directly (GaugeChart computes arc geometry).
|
|
60
|
-
*/
|
|
61
|
-
layoutMode: "plugin" | "custom" | "synthetic";
|
|
62
|
-
/**
|
|
63
|
-
* Free-form tag list for opt-in features that don't fit the
|
|
64
|
-
* boolean shape — e.g. "particles", "forecast", "anomaly", "brush",
|
|
65
|
-
* "streamgraph", "minimap". Used by docs feature tables and
|
|
66
|
-
* potential capability-driven AI suggestions.
|
|
67
|
-
*/
|
|
68
|
-
specialFeatures: string[];
|
|
69
|
-
}
|
|
70
|
-
export interface ChartPropSpec {
|
|
71
|
-
/** Allowed runtime types. May be a single value or a union. */
|
|
72
|
-
type: PropType | PropType[];
|
|
73
|
-
/** Allowed enum values for string-typed props. */
|
|
74
|
-
enum?: readonly string[];
|
|
75
|
-
/** Default value surfaced in schema.json (and shown in MCP getSchema). */
|
|
76
|
-
default?: unknown;
|
|
77
|
-
/** Schema-side description; surfaces in LLM tool definitions. */
|
|
78
|
-
description?: string;
|
|
79
|
-
/**
|
|
80
|
-
* When true, the prop is included in validationMap but omitted from
|
|
81
|
-
* schema.json. Use for handler/callback props (`onClick`, `tooltip`)
|
|
82
|
-
* and pass-through escape hatches (`frameProps`) that LLMs shouldn't
|
|
83
|
-
* be asked to populate.
|
|
84
|
-
*/
|
|
85
|
-
omitFromSchema?: boolean;
|
|
86
|
-
}
|
|
87
|
-
export interface ChartSpec {
|
|
88
|
-
/** Component name, must match the React export. */
|
|
89
|
-
name: string;
|
|
90
|
-
category: ChartCategory;
|
|
91
|
-
/** Human-readable description for schema.tools[].function.description. */
|
|
92
|
-
description: string;
|
|
93
|
-
/** Statically-required props. Push-mode optionality lives in behaviorContracts. */
|
|
94
|
-
required: string[];
|
|
95
|
-
/** Drives validation dispatch (validateArrayData / validateNetworkData / …). */
|
|
96
|
-
dataShape: DataShape;
|
|
97
|
-
/** Accessor props validated against the data shape at runtime. */
|
|
98
|
-
dataAccessors: string[];
|
|
99
|
-
/**
|
|
100
|
-
* Shared prop bags this chart composes. Bag props are merged in left-to-right
|
|
101
|
-
* order; chart-specific `ownProps` win on key collision.
|
|
102
|
-
*/
|
|
103
|
-
propBags: ReadonlyArray<keyof typeof PROP_BAGS>;
|
|
104
|
-
/** Chart-specific prop spec, overlaid on top of the composed bags. */
|
|
105
|
-
ownProps: Record<string, ChartPropSpec>;
|
|
106
|
-
/**
|
|
107
|
-
* Capability matrix — declarative facts about runtime behavior.
|
|
108
|
-
* Drives docs feature tables, capability-aware AI/MCP tools, and
|
|
109
|
-
* the `check:capabilities` drift gate (which verifies, e.g., that
|
|
110
|
-
* a chart claiming `supportsSSR: true` has a matching entry in
|
|
111
|
-
* `serverChartConfigs.ts`).
|
|
112
|
-
*/
|
|
113
|
-
capabilities: ChartCapabilities;
|
|
114
|
-
}
|
|
115
|
-
export declare const PROP_BAGS: {
|
|
116
|
-
readonly common: Record<string, ChartPropSpec>;
|
|
117
|
-
readonly xyAxis: Record<string, ChartPropSpec>;
|
|
118
|
-
readonly ordinalAxis: Record<string, ChartPropSpec>;
|
|
119
|
-
readonly realtime: Record<string, ChartPropSpec>;
|
|
120
|
-
};
|
|
121
|
-
export declare const ORIENTATION_ENUM: readonly ["vertical", "horizontal"];
|
|
122
|
-
export declare const HORIZONTAL_VERTICAL_ENUM: readonly ["horizontal", "vertical"];
|
|
123
|
-
export declare const LEGEND_POSITION_ENUM: readonly ["right", "left", "top", "bottom"];
|
|
124
|
-
export declare const CURVE_ENUM: readonly ["linear", "monotoneX", "monotoneY", "step", "stepAfter", "stepBefore", "basis", "cardinal", "catmullRom"];
|
|
125
|
-
export declare const CHART_MODE_ENUM: readonly ["primary", "context", "sparkline"];
|
|
9
|
+
export type { PropType, DataShape, ChartCategory, ChartCapabilities, ChartPropSpec, ChartSpec, } from "./chartSpecCore";
|
|
10
|
+
export { PROP_BAGS, ORIENTATION_ENUM, HORIZONTAL_VERTICAL_ENUM, LEGEND_POSITION_ENUM, CURVE_ENUM, CHART_MODE_ENUM, composeProps, } from "./chartSpecCore";
|
|
11
|
+
import type { ChartSpec } from "./chartSpecCore";
|
|
126
12
|
export declare const CHART_SPECS: Record<string, ChartSpec>;
|
|
127
|
-
/**
|
|
128
|
-
* Compose a chart's full prop set (bags + ownProps) in deterministic order.
|
|
129
|
-
* ownProps wins on key collision so a chart can override a shared default.
|
|
130
|
-
*/
|
|
131
|
-
export declare function composeProps(spec: ChartSpec): Record<string, ChartPropSpec>;
|
|
@@ -35,6 +35,21 @@ export declare const DEPTH_PALETTE_COLORS: string[];
|
|
|
35
35
|
* ```
|
|
36
36
|
*/
|
|
37
37
|
export declare function getColor(dataPoint: Datum, colorBy: string | ((d: Datum) => string), colorScale?: (v: string) => string): string;
|
|
38
|
+
/**
|
|
39
|
+
* Look up a color for `key` in an explicit `{ category: color }` map.
|
|
40
|
+
*
|
|
41
|
+
* Guards against two hazards of a naive `key in map` lookup on a
|
|
42
|
+
* user-supplied object: inherited prototype keys (e.g. `"toString"`,
|
|
43
|
+
* `"constructor"`) must NOT register as mapped categories, and a mapped
|
|
44
|
+
* value that isn't a usable color string (a function, number, `""`) must
|
|
45
|
+
* not leak into a fill/stroke. Returns `undefined` when the key is unmapped
|
|
46
|
+
* or its value isn't a non-empty string, so callers apply their own default.
|
|
47
|
+
*
|
|
48
|
+
* Single source of truth for object-map `colorScheme` resolution across
|
|
49
|
+
* `createColorScale`, `resolveDefaultFill`, `buildResolveColor`,
|
|
50
|
+
* `buildColorScale`, and `CategoryColorProvider`.
|
|
51
|
+
*/
|
|
52
|
+
export declare function resolveExplicitColor(map: Record<string, unknown>, key: string | undefined | null): string | undefined;
|
|
38
53
|
/**
|
|
39
54
|
* Creates a color scale function from data
|
|
40
55
|
*
|
|
@@ -49,7 +64,7 @@ export declare function getColor(dataPoint: Datum, colorBy: string | ((d: Datum)
|
|
|
49
64
|
* const color = colorScale('A') // Returns color for category 'A'
|
|
50
65
|
* ```
|
|
51
66
|
*/
|
|
52
|
-
export declare function createColorScale(data: Array<Datum>, colorBy: string, scheme?: string | string[]): (v: string) => string;
|
|
67
|
+
export declare function createColorScale(data: Array<Datum>, colorBy: string, scheme?: string | string[] | Record<string, string>): (v: string) => string;
|
|
53
68
|
/**
|
|
54
69
|
* Generates a size function based on sizeBy configuration.
|
|
55
70
|
*
|
|
@@ -18,3 +18,5 @@
|
|
|
18
18
|
* reason" referenced by the lint policy for `@typescript-eslint/no-explicit-any`.
|
|
19
19
|
*/
|
|
20
20
|
export type Datum = Record<string, any>;
|
|
21
|
+
/** Values that can be returned by a chart accessor or stored in a datum field. */
|
|
22
|
+
export type DatumValue = string | number | boolean | Date | Datum | Datum[] | null | undefined;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Datum } from "./datumTypes";
|
|
2
|
+
import type { Diagnosis } from "./diagnoseTypes";
|
|
3
|
+
/** Interactive widgets need durable identity for replay and normalized events. */
|
|
4
|
+
export declare function checkInteractiveAnnotationIds(_component: string, props: Datum, out: Diagnosis[]): void;
|
|
5
|
+
export declare function checkAnnotationConnectors(_component: string, props: Datum, out: Diagnosis[]): void;
|
|
6
|
+
export declare function checkAnnotationDensity(_component: string, props: Datum, out: Diagnosis[]): void;
|