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
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
import type { ReactNode } from "react";
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
2
|
+
import type { HoverData } from "../realtime/types";
|
|
3
|
+
import type { Datum } from "../charts/shared/datumTypes";
|
|
4
|
+
type NetworkDatumComparator = {
|
|
5
|
+
bivarianceHack(a: Datum, b: Datum): number;
|
|
6
|
+
}["bivarianceHack"];
|
|
7
|
+
type NetworkGroupComparator = (a: number, b: number) => number;
|
|
4
8
|
import type { LegendGroup, LegendLayout } from "../types/legendTypes";
|
|
5
|
-
import type { Style, DecayConfig, PulseConfig, TransitionConfig, StalenessConfig, ThemeSemanticColors, SceneDatum } from "./types";
|
|
9
|
+
import type { Style, DecayConfig, PulseConfig, TransitionConfig, StalenessConfig, ThemeSemanticColors, SceneDatum, SceneAccessibilityMetadata, SceneRenderMode } from "./types";
|
|
6
10
|
import type { AnimateProp } from "./pipelineTransitionUtils";
|
|
7
|
-
import type { Datum } from "../charts/shared/datumTypes";
|
|
8
|
-
import type { AutoPlaceAnnotations } from "../recipes/annotationLayout";
|
|
9
11
|
import type { NetworkSymbolName } from "./symbolPath";
|
|
12
|
+
import type { GlyphDef } from "./glyphDef";
|
|
13
|
+
import type { StreamNetworkFrameHandle } from "./networkFrameHandleTypes";
|
|
14
|
+
import type { StreamNetworkInteractionProps } from "./networkInteractionTypes";
|
|
10
15
|
export interface TensionConfig {
|
|
11
16
|
weightChange: number;
|
|
12
17
|
newEdge: number;
|
|
@@ -52,6 +57,8 @@ export interface RealtimeNode {
|
|
|
52
57
|
__hierarchyNode?: unknown;
|
|
53
58
|
/** @internal Circle-pack layout radius. Set by `hierarchyLayoutPlugin`. */
|
|
54
59
|
__radius?: number;
|
|
60
|
+
/** @internal Pre-resolved force-layout radius used by worker snapshots. */
|
|
61
|
+
__forceRadius?: number;
|
|
55
62
|
/**
|
|
56
63
|
* @internal Chord-layout extension. Carries the start/end angles
|
|
57
64
|
* for the arc segment representing this node, computed by
|
|
@@ -181,8 +188,10 @@ export interface RealtimeNetworkFrameProps {
|
|
|
181
188
|
tensionConfig?: Partial<TensionConfig>;
|
|
182
189
|
showParticles?: boolean;
|
|
183
190
|
particleStyle?: ParticleStyle;
|
|
191
|
+
/** Optional scene paint backend. Exact node and edge geometry remains interactive. */
|
|
192
|
+
renderMode?: SceneRenderMode<NetworkSceneNode | NetworkSceneEdge>;
|
|
184
193
|
colorBy?: string | ((d: RealtimeNode) => string);
|
|
185
|
-
colorScheme?: string | string[]
|
|
194
|
+
colorScheme?: string | string[] | Record<string, string>;
|
|
186
195
|
edgeColorBy?: "source" | "target" | ((d: RealtimeEdge) => string);
|
|
187
196
|
edgeOpacity?: number;
|
|
188
197
|
nodeLabel?: string | ((d: RealtimeNode) => string);
|
|
@@ -205,6 +214,8 @@ export interface NetworkCircleNode {
|
|
|
205
214
|
r: number;
|
|
206
215
|
style: Style;
|
|
207
216
|
datum: SceneDatum;
|
|
217
|
+
accessibleDatum?: SceneAccessibilityMetadata["accessibleDatum"];
|
|
218
|
+
accessibility?: SceneAccessibilityMetadata["accessibility"];
|
|
208
219
|
id?: string;
|
|
209
220
|
label?: string;
|
|
210
221
|
depth?: number;
|
|
@@ -221,6 +232,8 @@ export interface NetworkRectNode {
|
|
|
221
232
|
h: number;
|
|
222
233
|
style: Style;
|
|
223
234
|
datum: SceneDatum;
|
|
235
|
+
accessibleDatum?: SceneAccessibilityMetadata["accessibleDatum"];
|
|
236
|
+
accessibility?: SceneAccessibilityMetadata["accessibility"];
|
|
224
237
|
id?: string;
|
|
225
238
|
label?: string;
|
|
226
239
|
depth?: number;
|
|
@@ -242,6 +255,8 @@ export interface NetworkArcNode {
|
|
|
242
255
|
endAngle: number;
|
|
243
256
|
style: Style;
|
|
244
257
|
datum: SceneDatum;
|
|
258
|
+
accessibleDatum?: SceneAccessibilityMetadata["accessibleDatum"];
|
|
259
|
+
accessibility?: SceneAccessibilityMetadata["accessibility"];
|
|
245
260
|
id?: string;
|
|
246
261
|
label?: string;
|
|
247
262
|
_pulseIntensity?: number;
|
|
@@ -268,6 +283,47 @@ export interface NetworkSymbolNode {
|
|
|
268
283
|
rotation?: number;
|
|
269
284
|
style: Style;
|
|
270
285
|
datum: SceneDatum;
|
|
286
|
+
accessibleDatum?: SceneAccessibilityMetadata["accessibleDatum"];
|
|
287
|
+
accessibility?: SceneAccessibilityMetadata["accessibility"];
|
|
288
|
+
id?: string;
|
|
289
|
+
label?: string;
|
|
290
|
+
depth?: number;
|
|
291
|
+
_pulseIntensity?: number;
|
|
292
|
+
_pulseColor?: string;
|
|
293
|
+
_pulseGlowRadius?: number;
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Glyph node — the composite-pictogram channel for network scenes: a
|
|
297
|
+
* multi-part `GlyphDef` stamped at (cx, cy) with per-node `color`/`accent`
|
|
298
|
+
* paints and optional partial fill. The network sibling of the XY/ordinal/geo
|
|
299
|
+
* `GlyphSceneNode`.
|
|
300
|
+
*/
|
|
301
|
+
export interface NetworkGlyphNode {
|
|
302
|
+
type: "glyph";
|
|
303
|
+
cx: number;
|
|
304
|
+
cy: number;
|
|
305
|
+
/** Rendered height in px — width follows the definition's viewBox aspect. */
|
|
306
|
+
size: number;
|
|
307
|
+
/** The multi-part pictogram definition to stamp. */
|
|
308
|
+
glyph: GlyphDef;
|
|
309
|
+
/** Primary paint for parts declaring `"color"`. Falls back to `style.fill`. */
|
|
310
|
+
color?: string;
|
|
311
|
+
/** Accent paint for parts declaring `"accent"`. */
|
|
312
|
+
accent?: string;
|
|
313
|
+
/** Partial fill 0–1. @default 1 */
|
|
314
|
+
fraction?: number;
|
|
315
|
+
/** Where the partial fill begins, 0–1. @default 0 */
|
|
316
|
+
fractionStart?: number;
|
|
317
|
+
/** Partial-fill axis. @default "horizontal" */
|
|
318
|
+
fractionDirection?: "horizontal" | "vertical";
|
|
319
|
+
/** Ghost paint drawn at full extent beneath a partial fill. */
|
|
320
|
+
ghostColor?: string;
|
|
321
|
+
/** Rotation in radians about (cx, cy). */
|
|
322
|
+
rotation?: number;
|
|
323
|
+
style: Style;
|
|
324
|
+
datum: SceneDatum;
|
|
325
|
+
accessibleDatum?: SceneAccessibilityMetadata["accessibleDatum"];
|
|
326
|
+
accessibility?: SceneAccessibilityMetadata["accessibility"];
|
|
271
327
|
id?: string;
|
|
272
328
|
label?: string;
|
|
273
329
|
depth?: number;
|
|
@@ -333,7 +389,7 @@ export interface NetworkCurvedEdge {
|
|
|
333
389
|
_cachedPath2D?: Path2D;
|
|
334
390
|
_cachedPath2DSource?: string;
|
|
335
391
|
}
|
|
336
|
-
export type NetworkSceneNode = NetworkCircleNode | NetworkRectNode | NetworkArcNode | NetworkSymbolNode;
|
|
392
|
+
export type NetworkSceneNode = NetworkCircleNode | NetworkRectNode | NetworkArcNode | NetworkSymbolNode | NetworkGlyphNode;
|
|
337
393
|
export type NetworkSceneEdge = NetworkLineEdge | NetworkBezierEdge | NetworkRibbonEdge | NetworkCurvedEdge;
|
|
338
394
|
/** Label data for the SVG overlay */
|
|
339
395
|
export interface NetworkLabel {
|
|
@@ -395,6 +451,12 @@ export interface ThresholdAlertConfig {
|
|
|
395
451
|
}
|
|
396
452
|
export interface NetworkPipelineConfig {
|
|
397
453
|
chartType: NetworkChartType;
|
|
454
|
+
/** Frame-owned logical clock for ingest, live encodings, and transitions. */
|
|
455
|
+
clock?: import("./FrameRuntime").FrameClock;
|
|
456
|
+
/** Frame-local random source used by synchronous force layout. */
|
|
457
|
+
random?: import("./FrameRuntime").FrameRandom;
|
|
458
|
+
/** Serializable deterministic seed, including the force-worker protocol. */
|
|
459
|
+
seed?: number;
|
|
398
460
|
nodeIDAccessor?: string | ((d: Datum) => string);
|
|
399
461
|
sourceAccessor?: string | ((d: Datum) => string);
|
|
400
462
|
targetAccessor?: string | ((d: Datum) => string);
|
|
@@ -407,12 +469,14 @@ export interface NetworkPipelineConfig {
|
|
|
407
469
|
nodeAlign?: "justify" | "left" | "right" | "center";
|
|
408
470
|
nodePaddingRatio?: number;
|
|
409
471
|
nodeWidth?: number;
|
|
410
|
-
edgeSort?:
|
|
472
|
+
edgeSort?: NetworkDatumComparator;
|
|
411
473
|
iterations?: number;
|
|
412
474
|
forceStrength?: number;
|
|
475
|
+
/** @internal Skip simulation after worker-computed positions are applied. */
|
|
476
|
+
__skipForceSimulation?: boolean;
|
|
413
477
|
padAngle?: number;
|
|
414
478
|
groupWidth?: number;
|
|
415
|
-
sortGroups?:
|
|
479
|
+
sortGroups?: NetworkGroupComparator;
|
|
416
480
|
treeOrientation?: "vertical" | "horizontal" | "radial";
|
|
417
481
|
edgeType?: "line" | "curve";
|
|
418
482
|
padding?: number;
|
|
@@ -426,7 +490,7 @@ export interface NetworkPipelineConfig {
|
|
|
426
490
|
showLabels?: boolean;
|
|
427
491
|
labelMode?: "leaf" | "parent" | "all";
|
|
428
492
|
colorBy?: string | ((d: Datum) => string | number);
|
|
429
|
-
colorScheme?: string | string[]
|
|
493
|
+
colorScheme?: string | string[] | Record<string, string>;
|
|
430
494
|
/** Theme categorical palette — used as fallback when colorScheme is not an explicit array */
|
|
431
495
|
themeCategorical?: string[];
|
|
432
496
|
/** Theme-resolved semantic role colors — default fallback before hardcoded hex. See `ThemeSemanticColors` in ./types. */
|
|
@@ -479,6 +543,8 @@ export interface NetworkPipelineConfig {
|
|
|
479
543
|
/** When provided, replaces both layout dispatch and scene building.
|
|
480
544
|
* Receives raw nodes/edges and returns positioned scene primitives. */
|
|
481
545
|
customNetworkLayout?: import("./networkCustomLayout").NetworkCustomLayout;
|
|
546
|
+
/** Called when `customNetworkLayout` throws. */
|
|
547
|
+
onLayoutError?: (diagnostic: import("./customLayoutFailure").CustomLayoutFailureDiagnostic) => void;
|
|
482
548
|
/** User-supplied config blob threaded through to NetworkLayoutContext.config. */
|
|
483
549
|
layoutConfig?: object;
|
|
484
550
|
/** Resolved shared-selection predicate, surfaced to a custom layout as
|
|
@@ -487,7 +553,7 @@ export interface NetworkPipelineConfig {
|
|
|
487
553
|
* `buildScene` (re-emitting dimmed marks) without a re-ingest or re-layout. */
|
|
488
554
|
layoutSelection?: import("./networkCustomLayout").NetworkLayoutSelection | null;
|
|
489
555
|
}
|
|
490
|
-
export interface StreamNetworkFrameProps<T = Datum> {
|
|
556
|
+
export interface StreamNetworkFrameProps<T = Datum> extends StreamNetworkInteractionProps<RealtimeNode, RealtimeEdge> {
|
|
491
557
|
chartType: NetworkChartType;
|
|
492
558
|
nodes?: T[];
|
|
493
559
|
edges?: T[] | T;
|
|
@@ -508,10 +574,18 @@ export interface StreamNetworkFrameProps<T = Datum> {
|
|
|
508
574
|
nodeWidth?: number;
|
|
509
575
|
iterations?: number;
|
|
510
576
|
forceStrength?: number;
|
|
577
|
+
/** Execute force layout synchronously, in a worker, or choose by graph cost. */
|
|
578
|
+
layoutExecution?: "auto" | "worker" | "sync";
|
|
579
|
+
/** Content displayed while an internally-managed worker layout is pending. */
|
|
580
|
+
layoutLoadingContent?: ReactNode | false;
|
|
581
|
+
/** Receives internally-managed force-layout lifecycle changes. */
|
|
582
|
+
onLayoutStateChange?: (state: "pending" | "ready" | "error") => void;
|
|
511
583
|
padAngle?: number;
|
|
512
584
|
groupWidth?: number;
|
|
513
|
-
sortGroups?:
|
|
514
|
-
edgeSort?:
|
|
585
|
+
sortGroups?: NetworkGroupComparator;
|
|
586
|
+
edgeSort?: NetworkDatumComparator;
|
|
587
|
+
/** Optional scene paint backend. Exact node and edge geometry remains interactive. */
|
|
588
|
+
renderMode?: SceneRenderMode<NetworkSceneNode | NetworkSceneEdge>;
|
|
515
589
|
treeOrientation?: "vertical" | "horizontal" | "radial";
|
|
516
590
|
edgeType?: "line" | "curve";
|
|
517
591
|
padding?: number;
|
|
@@ -522,7 +596,7 @@ export interface StreamNetworkFrameProps<T = Datum> {
|
|
|
522
596
|
nodeStyle?: (d: Datum) => Datum;
|
|
523
597
|
edgeStyle?: (d: Datum) => Datum;
|
|
524
598
|
colorBy?: string | ((d: Datum) => string | number);
|
|
525
|
-
colorScheme?: string | string[]
|
|
599
|
+
colorScheme?: string | string[] | Record<string, string>;
|
|
526
600
|
edgeColorBy?: "source" | "target" | "gradient" | ((d: Datum) => string);
|
|
527
601
|
edgeOpacity?: number;
|
|
528
602
|
colorByDepth?: boolean;
|
|
@@ -542,18 +616,6 @@ export interface StreamNetworkFrameProps<T = Datum> {
|
|
|
542
616
|
};
|
|
543
617
|
className?: string;
|
|
544
618
|
background?: string;
|
|
545
|
-
enableHover?: boolean;
|
|
546
|
-
tooltipContent?: (d: HoverData) => ReactNode;
|
|
547
|
-
customHoverBehavior?: (d: HoverData | null) => void;
|
|
548
|
-
customClickBehavior?: (d: HoverData | null) => void;
|
|
549
|
-
/** Observation callback — emits hover/click events to the ObservationStore and this callback */
|
|
550
|
-
onObservation?: OnObservationCallback;
|
|
551
|
-
/** Chart instance identifier for observation filtering */
|
|
552
|
-
chartId?: string;
|
|
553
|
-
onTopologyChange?: (nodes: RealtimeNode[], edges: RealtimeEdge[]) => void;
|
|
554
|
-
annotations?: Datum[];
|
|
555
|
-
autoPlaceAnnotations?: AutoPlaceAnnotations;
|
|
556
|
-
svgAnnotationRules?: (annotation: Datum, index: number, context: AnnotationContext) => ReactNode;
|
|
557
619
|
legend?: ReactNode | {
|
|
558
620
|
legendGroups: LegendGroup[];
|
|
559
621
|
};
|
|
@@ -578,6 +640,18 @@ export interface StreamNetworkFrameProps<T = Datum> {
|
|
|
578
640
|
* Set `{ intro: false }` to disable the intro animation. */
|
|
579
641
|
animate?: AnimateProp;
|
|
580
642
|
staleness?: StalenessConfig;
|
|
643
|
+
/** Optional rAF seam for deterministic host scheduling. */
|
|
644
|
+
frameScheduler?: import("./useFrame").FrameScheduler;
|
|
645
|
+
/** Monotonic wall-clock seam used to derive logical frame time. */
|
|
646
|
+
clock?: import("./FrameRuntime").FrameClock;
|
|
647
|
+
/** Injectable random source for force layout and particles. */
|
|
648
|
+
random?: import("./FrameRuntime").FrameRandom;
|
|
649
|
+
/** Serializable deterministic random seed. Ignored when `random` is supplied. */
|
|
650
|
+
seed?: number;
|
|
651
|
+
/** Freeze logical animation time and cancel queued work while paused. */
|
|
652
|
+
paused?: boolean;
|
|
653
|
+
/** Freeze logical animation time while the document is hidden. Defaults to true. */
|
|
654
|
+
suspendWhenHidden?: boolean;
|
|
581
655
|
thresholds?: ThresholdAlertConfig;
|
|
582
656
|
orbitMode?: "flat" | "solar" | "atomic" | number[];
|
|
583
657
|
orbitSize?: number | ((node: Datum) => number);
|
|
@@ -597,6 +671,8 @@ export interface StreamNetworkFrameProps<T = Datum> {
|
|
|
597
671
|
* Receives raw nodes/edges + dimensions/theme, returns positioned scene
|
|
598
672
|
* primitives. See `semiotic/recipes` for reference layouts (flextree, dagre). */
|
|
599
673
|
customNetworkLayout?: import("./networkCustomLayout").NetworkCustomLayout;
|
|
674
|
+
/** Called when `customNetworkLayout` throws. */
|
|
675
|
+
onLayoutError?: (diagnostic: import("./customLayoutFailure").CustomLayoutFailureDiagnostic) => void;
|
|
600
676
|
/** User-supplied config blob threaded through to NetworkLayoutContext.config. */
|
|
601
677
|
layoutConfig?: object;
|
|
602
678
|
/** Resolved shared-selection predicate, surfaced to a custom layout as
|
|
@@ -604,29 +680,5 @@ export interface StreamNetworkFrameProps<T = Datum> {
|
|
|
604
680
|
* `selection` / `linkedHover` wiring; render-only (no re-ingest on change). */
|
|
605
681
|
layoutSelection?: import("./networkCustomLayout").NetworkLayoutSelection | null;
|
|
606
682
|
}
|
|
607
|
-
export
|
|
608
|
-
push(edge: EdgePush): void;
|
|
609
|
-
pushMany(edges: EdgePush[]): void;
|
|
610
|
-
/** Remove a node by ID. Also removes connected edges. */
|
|
611
|
-
removeNode(id: string): boolean;
|
|
612
|
-
/** Remove edges by source+target, or by edge ID when edgeIdAccessor is configured. */
|
|
613
|
-
removeEdge(sourceIdOrEdgeId: string, targetId?: string): boolean;
|
|
614
|
-
/** Update a node's data by ID. Returns previous data. */
|
|
615
|
-
updateNode(id: string, updater: (data: Datum) => Datum): Datum | null;
|
|
616
|
-
/** Update all edges between source+target. Returns array of previous data. */
|
|
617
|
-
updateEdge(sourceId: string, targetId: string, updater: (data: Datum) => Datum): Datum[];
|
|
618
|
-
clear(): void;
|
|
619
|
-
getTopology(): {
|
|
620
|
-
nodes: RealtimeNode[];
|
|
621
|
-
edges: RealtimeEdge[];
|
|
622
|
-
};
|
|
623
|
-
getTopologyDiff(): {
|
|
624
|
-
addedNodes: string[];
|
|
625
|
-
removedNodes: string[];
|
|
626
|
-
addedEdges: string[];
|
|
627
|
-
removedEdges: string[];
|
|
628
|
-
};
|
|
629
|
-
relayout(): void;
|
|
630
|
-
getTension(): number;
|
|
631
|
-
}
|
|
683
|
+
export type { StreamNetworkFrameHandle } from "./networkFrameHandleTypes";
|
|
632
684
|
export type NetworkRendererFn = (ctx: CanvasRenderingContext2D, nodes: NetworkSceneNode[], edges: NetworkSceneEdge[], size: [number, number]) => void;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chart-type → canvas renderer dispatch for StreamOrdinalFrame.
|
|
3
|
+
* Connectors are always included when the chart type builds them into the scene.
|
|
4
|
+
*/
|
|
5
|
+
import type { OrdinalChartType, OrdinalRendererFn } from "./ordinalTypes";
|
|
6
|
+
export type OrdinalAnyRendererFn = OrdinalRendererFn;
|
|
7
|
+
export declare const ORDINAL_CANVAS_RENDERERS: Record<OrdinalChartType, OrdinalAnyRendererFn[]>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Datum } from "../charts/shared/datumTypes";
|
|
2
|
+
type CategoryAccessor = string | ((datum: Datum) => string) | undefined;
|
|
3
|
+
/** Build the source-data category index used by aggregate pulse marks. */
|
|
4
|
+
export declare function buildOrdinalCategoryIndex(data: readonly Datum[], categoryAccessor: CategoryAccessor): Map<string, number[]>;
|
|
5
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default ordinal hover tooltip for StreamOrdinalFrame.
|
|
3
|
+
* Uses shared `defaultTooltipStyle` for theme CSS-var consistency.
|
|
4
|
+
*/
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import type { HoverData } from "./ordinalTypes";
|
|
7
|
+
declare function DefaultOrdinalTooltip({ hover }: {
|
|
8
|
+
hover: HoverData;
|
|
9
|
+
}): React.JSX.Element | null;
|
|
10
|
+
export { DefaultOrdinalTooltip };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure ordinal domain + column projection helpers for OrdinalPipelineStore.
|
|
3
|
+
*/
|
|
4
|
+
import type { ScaleBand } from "d3-scale";
|
|
5
|
+
import type { Datum } from "../charts/shared/datumTypes";
|
|
6
|
+
import type { OrdinalColumn, OrdinalLayout, OrdinalPipelineConfig } from "./ordinalTypes";
|
|
7
|
+
export interface OrdinalValueDomainInput {
|
|
8
|
+
data: Datum[];
|
|
9
|
+
chartType: OrdinalPipelineConfig["chartType"];
|
|
10
|
+
projection?: OrdinalPipelineConfig["projection"];
|
|
11
|
+
normalize?: boolean;
|
|
12
|
+
rExtent?: OrdinalPipelineConfig["rExtent"];
|
|
13
|
+
extentPadding?: number;
|
|
14
|
+
baselinePadding?: boolean;
|
|
15
|
+
axisExtent?: OrdinalPipelineConfig["axisExtent"];
|
|
16
|
+
getO: (d: Datum) => string;
|
|
17
|
+
getR: (d: Datum) => number;
|
|
18
|
+
getStack?: (d: Datum) => string;
|
|
19
|
+
/** IncrementalExtent-style [min, max]; Infinity/-Infinity when empty. */
|
|
20
|
+
rawRExtent: [number, number];
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Compute the ordinal value (r) domain from data + chart type rules.
|
|
24
|
+
* Pure: no store mutation; callers supply accessors and raw extent.
|
|
25
|
+
*/
|
|
26
|
+
export declare function computeOrdinalValueDomain(input: OrdinalValueDomainInput): [number, number];
|
|
27
|
+
export interface BuildOrdinalColumnsInput {
|
|
28
|
+
data: Datum[];
|
|
29
|
+
oExtent: string[];
|
|
30
|
+
oScale: ScaleBand<string>;
|
|
31
|
+
projection: string;
|
|
32
|
+
layout: OrdinalLayout;
|
|
33
|
+
dynamicColumnWidth?: OrdinalPipelineConfig["dynamicColumnWidth"];
|
|
34
|
+
getO: (d: Datum) => string;
|
|
35
|
+
getR: (d: Datum) => number;
|
|
36
|
+
}
|
|
37
|
+
/** Project band scale + data into per-category column geometry. */
|
|
38
|
+
export declare function buildOrdinalColumns(input: BuildOrdinalColumnsInput): Record<string, OrdinalColumn>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type ChangeSet, type Invalidation, type UpdateResult } from "./pipelineUpdateContract";
|
|
2
|
+
/** Whether a config patch re-derives retained ordinal data resources. */
|
|
3
|
+
export type OrdinalRetainedDataEffect = "preserve" | "rebuild";
|
|
4
|
+
export interface OrdinalConfigPatchDependency {
|
|
5
|
+
readonly retainedData: OrdinalRetainedDataEffect;
|
|
6
|
+
readonly invalidations: readonly Invalidation[];
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Ordinal's key-level patch policy. Category/value/order accessors re-derive
|
|
10
|
+
* retained categorical state. Layout, style, and future-only controls expose
|
|
11
|
+
* distinct revision effects instead of the previous blanket scene rebuild.
|
|
12
|
+
*/
|
|
13
|
+
export declare const ORDINAL_CONFIG_PATCH_DEPENDENCIES: Readonly<Record<string, OrdinalConfigPatchDependency>>;
|
|
14
|
+
export interface OrdinalConfigPatchClassification {
|
|
15
|
+
readonly retainedData: OrdinalRetainedDataEffect;
|
|
16
|
+
readonly invalidations: ReadonlySet<Invalidation>;
|
|
17
|
+
}
|
|
18
|
+
/** Union the declared effects for a patch after its effective keys are known. */
|
|
19
|
+
export declare function classifyOrdinalConfigPatch(keys: readonly string[]): OrdinalConfigPatchClassification;
|
|
20
|
+
type DataChangeKind = Extract<ChangeSet["kind"], "ingest" | "replace" | "remove" | "update" | "clear">;
|
|
21
|
+
/** Result bookkeeping and invalidation policy for the Ordinal store pilot. */
|
|
22
|
+
export declare class OrdinalPipelineUpdateResults {
|
|
23
|
+
private tracker;
|
|
24
|
+
get last(): UpdateResult;
|
|
25
|
+
subscribe(listener: () => void): () => void;
|
|
26
|
+
recordData(kind: DataChangeKind, count?: number): UpdateResult;
|
|
27
|
+
recordNoop(kind: DataChangeKind | "restyle"): UpdateResult;
|
|
28
|
+
recordRestyle(hasCustomRestyle: boolean): UpdateResult;
|
|
29
|
+
recordConfig(keys: readonly string[]): UpdateResult;
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Datum } from "../charts/shared/datumTypes";
|
|
2
|
+
import type { RingBuffer } from "../realtime/RingBuffer";
|
|
3
|
+
import type { OrdinalSceneNode } from "./ordinalTypes";
|
|
4
|
+
import type { PulseConfig } from "./types";
|
|
5
|
+
/**
|
|
6
|
+
* Apply pulse-derived fields to ordinal scene nodes without rebuilding their
|
|
7
|
+
* layout. Wedges aggregate their category's source data; other supported
|
|
8
|
+
* nodes map directly to one source datum.
|
|
9
|
+
*/
|
|
10
|
+
export declare function applyOrdinalPulse(pulse: PulseConfig, nodes: OrdinalSceneNode[], timestampBuffer: RingBuffer<number>, datumIndex: ReadonlyMap<Datum, number>, getCategoryIndices: (category: string) => number[] | undefined, now: number): boolean;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { RingBuffer } from "../realtime/RingBuffer";
|
|
2
|
+
/** Keep a pulse timestamp ring aligned with the retained ordinal data. */
|
|
3
|
+
export declare function syncOrdinalPulseTimestampBuffer<T>(pulseEnabled: boolean, buffer: RingBuffer<T>, timestamps: RingBuffer<number> | null, timestamp: number): RingBuffer<number> | null;
|
|
@@ -16,8 +16,8 @@ export interface OrdinalSceneContext {
|
|
|
16
16
|
getO: (d: Datum) => string;
|
|
17
17
|
multiScales: ScaleLinear<number, number>[];
|
|
18
18
|
rAccessors: ((d: Datum) => number)[];
|
|
19
|
-
resolvePieceStyle: (d:
|
|
20
|
-
resolveSummaryStyle: (d:
|
|
19
|
+
resolvePieceStyle: (d: Datum | null, category?: string) => Style;
|
|
20
|
+
resolveSummaryStyle: (d: Datum | null, category?: string) => Style;
|
|
21
21
|
/** For timeline: resolve rAccessor as [start, end] */
|
|
22
22
|
getRawRange: (d: Datum) => [number, number] | null;
|
|
23
23
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type Quadtree } from "d3-quadtree";
|
|
2
|
+
import type { OrdinalSceneNode } from "./ordinalTypes";
|
|
3
|
+
import type { PointSceneNode } from "./types";
|
|
4
|
+
export interface OrdinalPointSpatialIndex {
|
|
5
|
+
readonly maxRadius: number;
|
|
6
|
+
readonly quadtree: Quadtree<PointSceneNode> | null;
|
|
7
|
+
}
|
|
8
|
+
/** Build the optional point-hit index for large ordinal point scenes. */
|
|
9
|
+
export declare function buildOrdinalPointSpatialIndex(scene: readonly OrdinalSceneNode[]): OrdinalPointSpatialIndex;
|
|
@@ -3,10 +3,13 @@ import type { ScaleLinear, ScaleBand } from "d3-scale";
|
|
|
3
3
|
import type { WindowMode, HoverAnnotationConfig, HoverData, AnnotationContext } from "../realtime/types";
|
|
4
4
|
import type { AutoPlaceAnnotations } from "../recipes/annotationLayout";
|
|
5
5
|
import type { SymbolName } from "./symbolPath";
|
|
6
|
-
import type { Style, SceneDatum, DecayConfig, PulseConfig, TransitionConfig, StalenessConfig, ThemeSemanticColors } from "./types";
|
|
6
|
+
import type { Style, SceneDatum, DecayConfig, PulseConfig, TransitionConfig, StalenessConfig, ThemeSemanticColors, FrameGraphicsProp, SceneAccessibilityMetadata, SceneRenderMode } from "./types";
|
|
7
7
|
import type { AnimateProp } from "./pipelineTransitionUtils";
|
|
8
8
|
import type { GradientLegendConfig, LegendGroup, LegendLayout } from "../types/legendTypes";
|
|
9
9
|
import type { Datum } from "../charts/shared/datumTypes";
|
|
10
|
+
import type { OnObservationCallback } from "../store/ObservationStore";
|
|
11
|
+
import type { SemanticClickBehavior, SemanticHoverBehavior } from "../charts/shared/semanticInteractions";
|
|
12
|
+
import type { OnAnnotationActivateCallback } from "../charts/shared/annotationActivation";
|
|
10
13
|
export type OrdinalChartType = "bar" | "clusterbar" | "point" | "swarm" | "pie" | "donut" | "boxplot" | "violin" | "histogram" | "ridgeline" | "timeline" | "funnel" | "bar-funnel" | "swimlane" | "custom";
|
|
11
14
|
export interface OrdinalScales {
|
|
12
15
|
o: ScaleBand<string>;
|
|
@@ -54,6 +57,8 @@ export interface WedgeSceneNode {
|
|
|
54
57
|
};
|
|
55
58
|
style: Style;
|
|
56
59
|
datum: SceneDatum;
|
|
60
|
+
accessibleDatum?: SceneAccessibilityMetadata["accessibleDatum"];
|
|
61
|
+
accessibility?: SceneAccessibilityMetadata["accessibility"];
|
|
57
62
|
category?: string;
|
|
58
63
|
_pulseIntensity?: number;
|
|
59
64
|
_pulseColor?: string;
|
|
@@ -163,9 +168,9 @@ export interface TrapezoidSceneNode {
|
|
|
163
168
|
_targetOpacity?: number;
|
|
164
169
|
_transitionKey?: string;
|
|
165
170
|
}
|
|
166
|
-
export type { Style, PointSceneNode, RectSceneNode, SymbolSceneNode } from "./types";
|
|
167
|
-
import type { PointSceneNode, RectSceneNode, SymbolSceneNode } from "./types";
|
|
168
|
-
export type OrdinalSceneNode = RectSceneNode | PointSceneNode | SymbolSceneNode | WedgeSceneNode | BoxplotSceneNode | ViolinSceneNode | ConnectorSceneNode | TrapezoidSceneNode;
|
|
171
|
+
export type { Style, PointSceneNode, RectSceneNode, SymbolSceneNode, GlyphSceneNode } from "./types";
|
|
172
|
+
import type { PointSceneNode, RectSceneNode, SymbolSceneNode, GlyphSceneNode } from "./types";
|
|
173
|
+
export type OrdinalSceneNode = RectSceneNode | PointSceneNode | SymbolSceneNode | GlyphSceneNode | WedgeSceneNode | BoxplotSceneNode | ViolinSceneNode | ConnectorSceneNode | TrapezoidSceneNode;
|
|
169
174
|
export interface OrdinalColumn {
|
|
170
175
|
name: string;
|
|
171
176
|
x: number;
|
|
@@ -205,6 +210,13 @@ export interface OrdinalPipelineConfig {
|
|
|
205
210
|
oAccessor?: string | ((d: Datum) => string);
|
|
206
211
|
/** @deprecated Use valueAccessor */
|
|
207
212
|
rAccessor?: string | ((d: Datum) => number) | Array<string | ((d: Datum) => number)>;
|
|
213
|
+
/**
|
|
214
|
+
* Escape hatch for a *stable* function accessor whose captured semantics
|
|
215
|
+
* change without its identity changing. Accessor equality is identity-based,
|
|
216
|
+
* so such a change is otherwise invisible. Bump this number to force the
|
|
217
|
+
* store to re-resolve accessors, rebuild the category domain, and reset value
|
|
218
|
+
* extents. Prefer changing the accessor identity where you can. */
|
|
219
|
+
accessorRevision?: number;
|
|
208
220
|
multiAxis?: boolean;
|
|
209
221
|
rExtent?: [number?, number?];
|
|
210
222
|
oExtent?: string[];
|
|
@@ -254,7 +266,7 @@ export interface OrdinalPipelineConfig {
|
|
|
254
266
|
dynamicColumnWidth?: string | ((data: Datum[]) => number);
|
|
255
267
|
pieceStyle?: (d: Datum, category?: string) => Style;
|
|
256
268
|
summaryStyle?: (d: Datum, category?: string) => Style;
|
|
257
|
-
colorScheme?: string | string[]
|
|
269
|
+
colorScheme?: string | string[] | Record<string, string>;
|
|
258
270
|
themeCategorical?: string[];
|
|
259
271
|
/** Theme-resolved semantic role colors — default fallback before hardcoded hex. See `ThemeSemanticColors` in ./types. */
|
|
260
272
|
themeSemantic?: ThemeSemanticColors;
|
|
@@ -271,10 +283,14 @@ export interface OrdinalPipelineConfig {
|
|
|
271
283
|
/** Whether to animate elements on first render (bars grow from baseline, wedges sweep in) */
|
|
272
284
|
introAnimation?: boolean;
|
|
273
285
|
staleness?: StalenessConfig;
|
|
286
|
+
/** Frame-owned logical clock for ingest, pulse, staleness, and transitions. */
|
|
287
|
+
clock?: import("./FrameRuntime").FrameClock;
|
|
274
288
|
/** When provided, replaces chart-type dispatch in scene building.
|
|
275
289
|
* Receives an OrdinalLayoutContext (scales, dimensions, theme,
|
|
276
290
|
* resolveColor) and returns scene nodes plus optional overlays. */
|
|
277
291
|
customLayout?: import("./ordinalCustomLayout").OrdinalCustomLayout;
|
|
292
|
+
/** Called when `customLayout` throws. */
|
|
293
|
+
onLayoutError?: (diagnostic: import("./customLayoutFailure").CustomLayoutFailureDiagnostic) => void;
|
|
278
294
|
/** User-supplied config blob threaded through to OrdinalLayoutContext.config. */
|
|
279
295
|
layoutConfig?: object;
|
|
280
296
|
/** Resolved margin — passed through so OrdinalLayoutContext.dimensions.margin
|
|
@@ -304,6 +320,12 @@ export interface StreamOrdinalFrameProps<T = Datum> {
|
|
|
304
320
|
oAccessor?: string | ((d: T) => string);
|
|
305
321
|
/** @deprecated Use valueAccessor instead */
|
|
306
322
|
rAccessor?: string | ((d: T) => number) | Array<string | ((d: T) => number)>;
|
|
323
|
+
/**
|
|
324
|
+
* Force category/value re-derivation when a stable accessor's external
|
|
325
|
+
* semantics changed without a new function identity. Prefer changing the
|
|
326
|
+
* accessor reference where possible.
|
|
327
|
+
*/
|
|
328
|
+
accessorRevision?: number;
|
|
307
329
|
multiAxis?: boolean;
|
|
308
330
|
projection?: "vertical" | "horizontal" | "radial";
|
|
309
331
|
size?: [number, number];
|
|
@@ -367,9 +389,11 @@ export interface StreamOrdinalFrameProps<T = Datum> {
|
|
|
367
389
|
* it's a band scale, not a continuous one. Ignored when explicit
|
|
368
390
|
* `rTickValues` are provided — caller has hand-picked positions. */
|
|
369
391
|
axisExtent?: import("../charts/shared/axisExtent").AxisExtentMode;
|
|
392
|
+
/** Optional scene paint backend. Exact scene geometry remains interactive. */
|
|
393
|
+
renderMode?: SceneRenderMode<OrdinalSceneNode>;
|
|
370
394
|
pieceStyle?: (d: Datum, category?: string) => Style;
|
|
371
395
|
summaryStyle?: (d: Datum, category?: string) => Style;
|
|
372
|
-
colorScheme?: string | string[]
|
|
396
|
+
colorScheme?: string | string[] | Record<string, string>;
|
|
373
397
|
barColors?: Record<string, string>;
|
|
374
398
|
showAxes?: boolean;
|
|
375
399
|
showCategoryTicks?: boolean;
|
|
@@ -392,8 +416,17 @@ export interface StreamOrdinalFrameProps<T = Datum> {
|
|
|
392
416
|
enableHover?: boolean;
|
|
393
417
|
hoverAnnotation?: boolean | HoverAnnotationConfig;
|
|
394
418
|
tooltipContent?: (d: HoverData) => ReactNode;
|
|
395
|
-
customHoverBehavior?:
|
|
419
|
+
customHoverBehavior?: SemanticHoverBehavior<HoverData>;
|
|
420
|
+
customClickBehavior?: SemanticClickBehavior<HoverData>;
|
|
421
|
+
/** Structured interaction observations, including semantic focus/activate. */
|
|
422
|
+
onObservation?: OnObservationCallback;
|
|
423
|
+
/** @internal HOC observation callback forwarded only to annotation widgets. */
|
|
424
|
+
annotationObservationCallback?: OnObservationCallback;
|
|
425
|
+
/** Chart instance identifier included in observation events. */
|
|
426
|
+
chartId?: string;
|
|
396
427
|
annotations?: Datum[];
|
|
428
|
+
/** Observe activation of widget annotations without replacing widget behavior. */
|
|
429
|
+
onAnnotationActivate?: OnAnnotationActivateCallback;
|
|
397
430
|
autoPlaceAnnotations?: AutoPlaceAnnotations;
|
|
398
431
|
svgAnnotationRules?: (annotation: Datum, index: number, context: AnnotationContext) => ReactNode;
|
|
399
432
|
showGrid?: boolean;
|
|
@@ -416,8 +449,12 @@ export interface StreamOrdinalFrameProps<T = Datum> {
|
|
|
416
449
|
legendCategoryAccessor?: string | ((d: T) => string);
|
|
417
450
|
/** Fires when the current legend category domain changes after scene rebuilds. */
|
|
418
451
|
onCategoriesChange?: (categories: string[]) => void;
|
|
419
|
-
|
|
420
|
-
|
|
452
|
+
/** SVG behind the canvas. Function form receives `{ size, margin, scales }`
|
|
453
|
+
* with the frame's resolved `{o, r, projection}` scales (null pre-layout). */
|
|
454
|
+
backgroundGraphics?: FrameGraphicsProp<OrdinalScales>;
|
|
455
|
+
/** SVG on top (in the overlay). Function form receives `{ size, margin, scales }`
|
|
456
|
+
* with the frame's resolved `{o, r, projection}` scales (null pre-layout). */
|
|
457
|
+
foregroundGraphics?: FrameGraphicsProp<OrdinalScales>;
|
|
421
458
|
title?: string | ReactNode;
|
|
422
459
|
className?: string;
|
|
423
460
|
background?: string;
|
|
@@ -438,6 +475,18 @@ export interface StreamOrdinalFrameProps<T = Datum> {
|
|
|
438
475
|
* Set `{ intro: false }` to disable the intro animation. */
|
|
439
476
|
animate?: AnimateProp;
|
|
440
477
|
staleness?: StalenessConfig;
|
|
478
|
+
/** Optional rAF seam for deterministic host scheduling. */
|
|
479
|
+
frameScheduler?: import("./useFrame").FrameScheduler;
|
|
480
|
+
/** Monotonic wall-clock seam used to derive logical frame time. */
|
|
481
|
+
clock?: import("./FrameRuntime").FrameClock;
|
|
482
|
+
/** Injectable frame-local random source. Ordinal rendering currently has no stochastic layout. */
|
|
483
|
+
random?: import("./FrameRuntime").FrameRandom;
|
|
484
|
+
/** Serializable deterministic random seed for future ordinal stochastic work. */
|
|
485
|
+
seed?: number;
|
|
486
|
+
/** Freeze logical animation time and cancel queued work while paused. */
|
|
487
|
+
paused?: boolean;
|
|
488
|
+
/** Freeze logical animation time while the document is hidden. Defaults to true. */
|
|
489
|
+
suspendWhenHidden?: boolean;
|
|
441
490
|
/** Render a visually-hidden data table from the scene graph for screen readers */
|
|
442
491
|
accessibleTable?: boolean;
|
|
443
492
|
/** Accessible description overriding the auto-generated aria-label on the chart container */
|
|
@@ -450,6 +499,8 @@ export interface StreamOrdinalFrameProps<T = Datum> {
|
|
|
450
499
|
* `semiotic/recipes` for reference layouts (marimekko, parallel
|
|
451
500
|
* coordinates, bullet). */
|
|
452
501
|
customLayout?: import("./ordinalCustomLayout").OrdinalCustomLayout;
|
|
502
|
+
/** Called when `customLayout` throws. */
|
|
503
|
+
onLayoutError?: (diagnostic: import("./customLayoutFailure").CustomLayoutFailureDiagnostic) => void;
|
|
453
504
|
/** User-supplied config blob threaded through to OrdinalLayoutContext.config. */
|
|
454
505
|
layoutConfig?: object;
|
|
455
506
|
/** Resolved shared selection projected into `OrdinalLayoutContext.selection`.
|
|
@@ -480,6 +531,14 @@ export interface StreamOrdinalFrameHandle<T = Datum> {
|
|
|
480
531
|
clear(): void;
|
|
481
532
|
getData(): T[];
|
|
482
533
|
getScales(): OrdinalScales | null;
|
|
534
|
+
/** The most recent custom layout result — host readback so pages that need
|
|
535
|
+
* the computed placement don't re-run the layout. Null before the first
|
|
536
|
+
* layout or when no custom layout is configured. A failed retry retains the
|
|
537
|
+
* prior good result; inspect `getLayoutFailure()` to distinguish recovery. */
|
|
538
|
+
getCustomLayout(): import("./ordinalCustomLayout").OrdinalLayoutResult | null;
|
|
539
|
+
/** The latest custom-layout failure, if any. Cleared by a successful layout,
|
|
540
|
+
* removing the custom layout, or `clear()`. */
|
|
541
|
+
getLayoutFailure(): import("./customLayoutFailure").CustomLayoutFailureDiagnostic | null;
|
|
483
542
|
}
|
|
484
543
|
export interface OrdinalLayout {
|
|
485
544
|
width: number;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared paint-gate helpers for Stream Frame render loops.
|
|
3
|
+
*
|
|
4
|
+
* Frames differ in scene types, but the decision "should this rAF clear and
|
|
5
|
+
* redraw the data canvas?" is the same shape everywhere: dirty/scene rebuild,
|
|
6
|
+
* transition, continuous animation, particles, live encodings.
|
|
7
|
+
*/
|
|
8
|
+
export interface DataPaintNeedsInput {
|
|
9
|
+
/** Prop/layout dirty or scene rebuilt this frame. */
|
|
10
|
+
dirtyOrRebuilt: boolean;
|
|
11
|
+
/** Transition animation is advancing. */
|
|
12
|
+
transitioning: boolean;
|
|
13
|
+
/** Layout animation tick (orbit, force step, etc.). */
|
|
14
|
+
animationTicked?: boolean;
|
|
15
|
+
/** Particles / continuous mode wants a frame. */
|
|
16
|
+
continuous?: boolean;
|
|
17
|
+
/** Pulse / decay / threshold / topology-diff encodings are live. */
|
|
18
|
+
liveEncoding?: boolean;
|
|
19
|
+
/** Family-specific force (rotation applied, zoom, etc.). */
|
|
20
|
+
forced?: boolean;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* True when the data canvas should clear and redraw this frame.
|
|
24
|
+
* Interaction-only or annotation-only rAF retries should leave data alone.
|
|
25
|
+
*/
|
|
26
|
+
export declare function needsDataCanvasPaint(input: DataPaintNeedsInput): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* True when an interaction overlay canvas should clear/draw.
|
|
29
|
+
* Pass `hadContentLastFrame` so a hover-end still gets one clear.
|
|
30
|
+
*/
|
|
31
|
+
export declare function needsInteractionCanvasPaint(active: boolean, hadContentLastFrame: boolean): boolean;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** FIFO capacity-queue controller: stateful region service riding StreamPhysicsFrame's live heartbeat. */
|
|
2
|
+
import type { PhysicsController } from "./PhysicsControllers";
|
|
3
|
+
import type { CapacityQueueControllerOptions } from "./CapacityQueueTypes";
|
|
4
|
+
/** FIFO region service with visit evidence, overflow staging, and live metrics. */
|
|
5
|
+
export declare function createCapacityQueueController(options: CapacityQueueControllerOptions): PhysicsController;
|