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,10 +1,9 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
|
|
3
|
-
type AnySceneNode
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
};
|
|
7
|
-
declare const SR_ONLY_STYLE: React.CSSProperties;
|
|
2
|
+
import type { Datum } from "../charts/shared/datumTypes";
|
|
3
|
+
import { type AccessibleSceneNode as AnySceneNode } from "./accessibleDataRows";
|
|
4
|
+
export { extractAllRows } from "./accessibleDataRows";
|
|
5
|
+
export type { DataRow } from "./accessibleDataRows";
|
|
6
|
+
export { AriaLiveTooltip, SR_ONLY_STYLE } from "./AriaLiveTooltip";
|
|
8
7
|
/**
|
|
9
8
|
* Compute an aria-label describing the chart type and data shape from the scene graph.
|
|
10
9
|
*/
|
|
@@ -13,14 +12,6 @@ export declare function computeCanvasAriaLabel(scene: AnySceneNode[] | null | un
|
|
|
13
12
|
* Compute an aria-label for network charts from scene nodes and edges.
|
|
14
13
|
*/
|
|
15
14
|
export declare function computeNetworkAriaLabel(nodeCount: number, edgeCount: number, chartType: string): string;
|
|
16
|
-
interface DataRow {
|
|
17
|
-
label: string;
|
|
18
|
-
values: Record<string, string | number>;
|
|
19
|
-
}
|
|
20
|
-
/** Extract a flat list of typed rows from scene nodes, surfacing the raw datum
|
|
21
|
-
* fields (not pixel coordinates). Defensively handles missing/malformed data —
|
|
22
|
-
* never throws. Exported for direct testing. */
|
|
23
|
-
export declare function extractAllRows(scene: AnySceneNode[]): DataRow[];
|
|
24
15
|
interface AccessibleDataTableProps {
|
|
25
16
|
scene: AnySceneNode[];
|
|
26
17
|
chartType: string;
|
|
@@ -38,7 +29,7 @@ interface AccessibleDataTableProps {
|
|
|
38
29
|
export declare function AccessibleDataTable({ scene, chartType, tableId, chartTitle }: AccessibleDataTableProps): React.JSX.Element | null;
|
|
39
30
|
interface NetworkAccessibleDataTableProps {
|
|
40
31
|
nodes: Array<{
|
|
41
|
-
datum?:
|
|
32
|
+
datum?: Datum | null;
|
|
42
33
|
id?: string;
|
|
43
34
|
cx?: number;
|
|
44
35
|
cy?: number;
|
|
@@ -46,7 +37,7 @@ interface NetworkAccessibleDataTableProps {
|
|
|
46
37
|
y?: number;
|
|
47
38
|
}>;
|
|
48
39
|
edges: Array<{
|
|
49
|
-
datum?:
|
|
40
|
+
datum?: Datum | null;
|
|
50
41
|
source?: string;
|
|
51
42
|
target?: string;
|
|
52
43
|
}>;
|
|
@@ -72,10 +63,3 @@ export declare function ScreenReaderSummary({ summary }: {
|
|
|
72
63
|
export declare function SkipToTableLink({ tableId }: {
|
|
73
64
|
tableId: string;
|
|
74
65
|
}): React.JSX.Element;
|
|
75
|
-
/**
|
|
76
|
-
* Visually-hidden aria-live region that mirrors tooltip text for screen readers.
|
|
77
|
-
*/
|
|
78
|
-
export declare function AriaLiveTooltip({ hoverPoint }: {
|
|
79
|
-
hoverPoint: any;
|
|
80
|
-
}): React.JSX.Element;
|
|
81
|
-
export { SR_ONLY_STYLE };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { HoverData } from "../realtime/types";
|
|
3
|
+
export declare const SR_ONLY_STYLE: React.CSSProperties;
|
|
4
|
+
/** Visually-hidden aria-live region that mirrors tooltip text for screen readers. */
|
|
5
|
+
export declare function AriaLiveTooltip({ hoverPoint }: {
|
|
6
|
+
hoverPoint: Pick<HoverData, "data"> | {
|
|
7
|
+
data: object;
|
|
8
|
+
} | null;
|
|
9
|
+
}): React.JSX.Element;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import type { SceneNode, PointSceneNode } from "./types";
|
|
1
|
+
import type { SceneNode, SceneDatum, PointSceneNode } from "./types";
|
|
2
|
+
import type { Datum } from "../charts/shared/datumTypes";
|
|
2
3
|
import type { RingBuffer } from "../realtime/RingBuffer";
|
|
3
4
|
import type { Quadtree } from "d3-quadtree";
|
|
4
|
-
import type { Datum } from "../charts/shared/datumTypes";
|
|
5
5
|
export interface HitResult {
|
|
6
6
|
node: SceneNode;
|
|
7
|
-
datum:
|
|
7
|
+
datum: SceneDatum;
|
|
8
8
|
x: number;
|
|
9
9
|
y: number;
|
|
10
10
|
distance: number;
|
|
11
11
|
}
|
|
12
12
|
export interface XHitResult {
|
|
13
13
|
node: SceneNode;
|
|
14
|
-
datum:
|
|
14
|
+
datum: SceneDatum;
|
|
15
15
|
x: number;
|
|
16
16
|
y: number;
|
|
17
17
|
y0?: number;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Changeset } from "./types";
|
|
2
2
|
import type { Datum } from "../charts/shared/datumTypes";
|
|
3
3
|
export type ChangesetCallback<T> = (changeset: Changeset<T>) => void;
|
|
4
|
-
export declare class DataSourceAdapter<T = Datum> {
|
|
4
|
+
export declare class DataSourceAdapter<T extends object = Datum> {
|
|
5
5
|
private callback;
|
|
6
6
|
private lastBoundedData;
|
|
7
7
|
private chunkTimer;
|
|
@@ -24,10 +24,12 @@ export interface FocusRingProps {
|
|
|
24
24
|
/** Total chart size */
|
|
25
25
|
size: [number, number];
|
|
26
26
|
/** Shape hint from the focused nav point */
|
|
27
|
-
shape?: "circle" | "rect" | "wedge";
|
|
27
|
+
shape?: "circle" | "rect" | "wedge" | "geoarea" | "path";
|
|
28
28
|
/** Width of rect-shaped focus target */
|
|
29
29
|
width?: number;
|
|
30
30
|
/** Height of rect-shaped focus target */
|
|
31
31
|
height?: number;
|
|
32
|
+
/** SVG path (plot-relative) outlined for a geoarea focus. */
|
|
33
|
+
pathData?: string;
|
|
32
34
|
}
|
|
33
|
-
export declare function FocusRing({ active, hoverPoint, margin, size, shape, width, height }: FocusRingProps): React.JSX.Element | null;
|
|
35
|
+
export declare function FocusRing({ active, hoverPoint, margin, size, shape, width, height, pathData }: FocusRingProps): React.JSX.Element | null;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared timing and randomness policy for frame hosts.
|
|
3
|
+
*
|
|
4
|
+
* A runtime converts a wall clock into logical frame time. Logical time moves
|
|
5
|
+
* forward only while the frame is active, so a paused or hidden chart resumes
|
|
6
|
+
* from its previous animation state instead of fast-forwarding through the
|
|
7
|
+
* elapsed wall-clock interval.
|
|
8
|
+
*/
|
|
9
|
+
export type FrameClock = () => number;
|
|
10
|
+
export type FrameRandom = () => number;
|
|
11
|
+
export interface FrameRuntimeOptions {
|
|
12
|
+
/** Monotonic wall-clock milliseconds. Defaults to performance.now/Date.now. */
|
|
13
|
+
clock?: FrameClock;
|
|
14
|
+
/** Injectable random source for tests or an embedding runtime. */
|
|
15
|
+
random?: FrameRandom;
|
|
16
|
+
/** Serializable deterministic random seed. Ignored when `random` is provided. */
|
|
17
|
+
seed?: number;
|
|
18
|
+
paused?: boolean;
|
|
19
|
+
visible?: boolean;
|
|
20
|
+
}
|
|
21
|
+
export interface FrameRuntimeSnapshot {
|
|
22
|
+
now: number;
|
|
23
|
+
paused: boolean;
|
|
24
|
+
seed?: number;
|
|
25
|
+
visible: boolean;
|
|
26
|
+
}
|
|
27
|
+
/** Mulberry32 is small, deterministic, and accepts the serializable integer seed surface. */
|
|
28
|
+
export declare function createSeededFrameRandom(seed: number): FrameRandom;
|
|
29
|
+
export declare class FrameRuntime {
|
|
30
|
+
private clock;
|
|
31
|
+
private lastWallTime;
|
|
32
|
+
private logicalTime;
|
|
33
|
+
private randomInput;
|
|
34
|
+
private randomSource;
|
|
35
|
+
private seedValue;
|
|
36
|
+
private pausedValue;
|
|
37
|
+
private subscribers;
|
|
38
|
+
private visibleValue;
|
|
39
|
+
/** Stable callable seam for stores and render loops. */
|
|
40
|
+
readonly now: () => number;
|
|
41
|
+
/** Stable callable seam for stochastic renderers. */
|
|
42
|
+
readonly random: () => number;
|
|
43
|
+
constructor(options?: FrameRuntimeOptions);
|
|
44
|
+
get isActive(): boolean;
|
|
45
|
+
get paused(): boolean;
|
|
46
|
+
get seed(): number | undefined;
|
|
47
|
+
get visible(): boolean;
|
|
48
|
+
configure(options: Pick<FrameRuntimeOptions, "clock" | "random" | "seed">): void;
|
|
49
|
+
setPaused(paused: boolean): void;
|
|
50
|
+
setVisible(visible: boolean): void;
|
|
51
|
+
snapshot(): FrameRuntimeSnapshot;
|
|
52
|
+
subscribe(listener: () => void): () => void;
|
|
53
|
+
private advance;
|
|
54
|
+
private emit;
|
|
55
|
+
private setClock;
|
|
56
|
+
private setRandomSource;
|
|
57
|
+
}
|
|
@@ -16,4 +16,4 @@ export interface GeoHitResult {
|
|
|
16
16
|
* The `hitCtx` parameter is a shared offscreen canvas context used for
|
|
17
17
|
* isPointInPath checks without polluting the visible canvas.
|
|
18
18
|
*/
|
|
19
|
-
export declare function findNearestGeoNode(nodes: GeoSceneNode[], mouseX: number, mouseY: number, maxDistance: number, hitCtx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, pointQuadtree?: Quadtree<PointSceneNode> | null, maxPointRadius?: number): GeoHitResult | null;
|
|
19
|
+
export declare function findNearestGeoNode(nodes: GeoSceneNode[], mouseX: number, mouseY: number, maxDistance: number, hitCtx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, pointQuadtree?: Quadtree<PointSceneNode> | null, maxPointRadius?: number, lineMaxDistance?: number): GeoHitResult | null;
|
|
@@ -35,7 +35,7 @@ export declare class GeoParticlePool {
|
|
|
35
35
|
particles: GeoParticle[];
|
|
36
36
|
private capacity;
|
|
37
37
|
constructor(capacity: number);
|
|
38
|
-
spawn(lineIndex: number): GeoParticle | null;
|
|
38
|
+
spawn(lineIndex: number, random?: () => number): GeoParticle | null;
|
|
39
39
|
/**
|
|
40
40
|
* Advance all active particles.
|
|
41
41
|
* @param paths - array of polyline paths, one per line index
|
|
@@ -4,11 +4,38 @@ import type { GeoPipelineConfig, GeoScales, GeoSceneNode } from "./geoTypes";
|
|
|
4
4
|
import type { PointSceneNode, StreamLayout } from "./types";
|
|
5
5
|
import type { ActiveTransition } from "./pipelineTransitionUtils";
|
|
6
6
|
import type { Datum } from "../charts/shared/datumTypes";
|
|
7
|
-
|
|
7
|
+
import type { GeoLayoutResult } from "./geoCustomLayout";
|
|
8
|
+
import type { CustomLayoutSelection } from "./customLayoutSelection";
|
|
9
|
+
import { type CustomLayoutFailureDiagnostic } from "./customLayoutFailure";
|
|
10
|
+
import { GeoPipelineUpdateResults } from "./geoPipelineUpdateResults";
|
|
11
|
+
import { type UpdateResult, type UpdateResultStore } from "./pipelineUpdateStore";
|
|
12
|
+
export declare class GeoPipelineStore implements UpdateResultStore {
|
|
13
|
+
getLastUpdateResult: () => UpdateResult;
|
|
14
|
+
getUpdateSnapshot: () => UpdateResult;
|
|
15
|
+
subscribeUpdateResult: (listener: () => void) => () => void;
|
|
16
|
+
setLayoutSelection: (selection: CustomLayoutSelection | null) => void;
|
|
17
|
+
markStylePaintPending: () => void;
|
|
18
|
+
consumeStylePaintPending: () => boolean;
|
|
8
19
|
config: GeoPipelineConfig;
|
|
20
|
+
protected updateResults: GeoPipelineUpdateResults;
|
|
9
21
|
scene: GeoSceneNode[];
|
|
10
22
|
scales: GeoScales | null;
|
|
11
23
|
version: number;
|
|
24
|
+
/** SVG overlays returned from the active custom layout. */
|
|
25
|
+
customLayoutOverlays: import("react").ReactNode;
|
|
26
|
+
/** Most recent custom layout result for host readback (`getCustomLayout()`).
|
|
27
|
+
* Null before the first layout or without a custom layout. A failed
|
|
28
|
+
* re-layout retains the prior good result alongside its diagnostic. */
|
|
29
|
+
lastCustomLayoutResult: GeoLayoutResult | null;
|
|
30
|
+
/** Most recent exception from a custom layout invocation, for host readback. */
|
|
31
|
+
lastCustomLayoutFailure: CustomLayoutFailureDiagnostic | null;
|
|
32
|
+
private _customLayoutDiagnosticsWarned;
|
|
33
|
+
private _customRestyle;
|
|
34
|
+
hasCustomRestyle: boolean;
|
|
35
|
+
private _baseStyles;
|
|
36
|
+
/** Set only while a custom-layout invocation throws. The rebuild callers use
|
|
37
|
+
* it to retain the previous scene and projection state without mutating it. */
|
|
38
|
+
private _customLayoutFailedThisBuild;
|
|
12
39
|
private static readonly QUADTREE_THRESHOLD;
|
|
13
40
|
private _quadtree;
|
|
14
41
|
/** Largest visual point radius in the current scene; used to widen quadtree
|
|
@@ -37,18 +64,47 @@ export declare class GeoPipelineStore {
|
|
|
37
64
|
private prevPositions;
|
|
38
65
|
private _hasRenderedOnce;
|
|
39
66
|
constructor(config: GeoPipelineConfig);
|
|
67
|
+
/** Keep Geo transitions and pulse lifecycle on the host's logical clock
|
|
68
|
+
* when one is supplied, while preserving the existing wall-clock default. */
|
|
69
|
+
private currentTime;
|
|
70
|
+
/** Resolve the one configuration-owned retention bound for both streaming
|
|
71
|
+
* points and flow lines. Keeping it here prevents imperative push paths
|
|
72
|
+
* from silently allocating a differently sized window. */
|
|
73
|
+
private getConfiguredWindowSize;
|
|
74
|
+
/** Trim the array-backed line collection only while it participates in a
|
|
75
|
+
* stream. Bounded `setLines` snapshots remain complete until conversion. */
|
|
76
|
+
private retainNewestLines;
|
|
77
|
+
/** Rebuild both point resources from the same retained suffix so pulse
|
|
78
|
+
* timestamps remain indexed to their matching point after a resize. */
|
|
79
|
+
private resizeStreamingWindow;
|
|
40
80
|
updateConfig(config: Partial<GeoPipelineConfig>): void;
|
|
81
|
+
/** Additive explicit-result form of {@link updateConfig}. */
|
|
82
|
+
updateConfigWithResult(config: Partial<GeoPipelineConfig>): UpdateResult;
|
|
41
83
|
setAreas(features: GeoJSON.Feature[]): void;
|
|
84
|
+
/** Additive explicit-result form of {@link setAreas}. */
|
|
85
|
+
setAreasWithResult(features: GeoJSON.Feature[]): UpdateResult;
|
|
42
86
|
setPoints(data: Datum[]): void;
|
|
87
|
+
/** Additive explicit-result form of {@link setPoints}. */
|
|
88
|
+
setPointsWithResult(data: Datum[]): UpdateResult;
|
|
43
89
|
setLines(data: Datum[]): void;
|
|
44
|
-
/**
|
|
90
|
+
/** Additive explicit-result form of {@link setLines}. */
|
|
91
|
+
setLinesWithResult(data: Datum[]): UpdateResult;
|
|
92
|
+
/**
|
|
93
|
+
* Enter streaming mode while retaining the newest configured window from a
|
|
94
|
+
* bounded snapshot. The optional legacy argument is immediately reflected
|
|
95
|
+
* in config so the config remains the sole owner of the active capacity.
|
|
96
|
+
*/
|
|
45
97
|
initStreaming(windowSize?: number): void;
|
|
46
98
|
/** Push a single streaming point */
|
|
47
99
|
pushPoint(datum: Datum): void;
|
|
100
|
+
/** Additive explicit-result form of {@link pushPoint}. */
|
|
101
|
+
pushPointWithResult(datum: Datum): UpdateResult;
|
|
48
102
|
/** Push multiple streaming points */
|
|
49
103
|
pushMany(data: Datum[]): void;
|
|
104
|
+
/** Additive explicit-result form of {@link pushMany}. */
|
|
105
|
+
pushManyWithResult(data: Datum[]): UpdateResult;
|
|
50
106
|
/** Append a single line/flow record (coordinates pre-resolved). Lines
|
|
51
|
-
*
|
|
107
|
+
* use array storage, then retain the active configured window in streaming mode.
|
|
52
108
|
* Mutates `lineData` in place to avoid the O(n) GC churn of an
|
|
53
109
|
* array spread per push. The mutation is invisible to callers
|
|
54
110
|
* because `setLines` defensive-copies on entry and `getLines`
|
|
@@ -74,6 +130,7 @@ export declare class GeoPipelineStore {
|
|
|
74
130
|
*/
|
|
75
131
|
removePoint(id: string | string[]): Datum[];
|
|
76
132
|
clear(): void;
|
|
133
|
+
restyleScene(selection: CustomLayoutSelection | null): void;
|
|
77
134
|
computeScene(layout: StreamLayout): void;
|
|
78
135
|
private fitProjection;
|
|
79
136
|
/**
|
|
@@ -120,6 +177,8 @@ export declare class GeoPipelineStore {
|
|
|
120
177
|
private applyCartogramTransform;
|
|
121
178
|
private applyDecay;
|
|
122
179
|
private applyPulse;
|
|
180
|
+
refreshPulse(now: number): boolean;
|
|
181
|
+
hasActivePulsesAt(now: number): boolean;
|
|
123
182
|
get hasActivePulses(): boolean;
|
|
124
183
|
private startTransition;
|
|
125
184
|
/**
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { Datum } from "../charts/shared/datumTypes";
|
|
2
|
+
import type { OnObservationCallback } from "../store/ObservationStore";
|
|
3
|
+
import { type OnAnnotationActivateCallback } from "../charts/shared/annotationActivation";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import type { ReactNode } from "react";
|
|
6
|
+
import type { GradientLegendConfig, LegendGroup, LegendLayout } from "../types/legendTypes";
|
|
7
|
+
import { type AutoPlaceAnnotations } from "../recipes/annotationLayout";
|
|
8
|
+
interface GeoSVGOverlayProps {
|
|
9
|
+
width: number;
|
|
10
|
+
height: number;
|
|
11
|
+
totalWidth: number;
|
|
12
|
+
totalHeight: number;
|
|
13
|
+
margin: {
|
|
14
|
+
top: number;
|
|
15
|
+
right: number;
|
|
16
|
+
bottom: number;
|
|
17
|
+
left: number;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Geo has no Cartesian axis scale, but this remains part of the internal
|
|
21
|
+
* contract because StreamGeoFrame historically used it to request an empty
|
|
22
|
+
* accessible overlay shell.
|
|
23
|
+
*/
|
|
24
|
+
showAxes?: boolean;
|
|
25
|
+
title?: string | ReactNode;
|
|
26
|
+
legend?: ReactNode | {
|
|
27
|
+
legendGroups: LegendGroup[];
|
|
28
|
+
} | {
|
|
29
|
+
gradient: GradientLegendConfig;
|
|
30
|
+
};
|
|
31
|
+
legendHoverBehavior?: (item: {
|
|
32
|
+
label: string;
|
|
33
|
+
} | null) => void;
|
|
34
|
+
legendClickBehavior?: (item: {
|
|
35
|
+
label: string;
|
|
36
|
+
}) => void;
|
|
37
|
+
legendHighlightedCategory?: string | null;
|
|
38
|
+
legendIsolatedCategories?: Set<string>;
|
|
39
|
+
legendPosition?: "right" | "left" | "top" | "bottom";
|
|
40
|
+
legendLayout?: LegendLayout;
|
|
41
|
+
foregroundGraphics?: ReactNode;
|
|
42
|
+
annotations?: Datum[];
|
|
43
|
+
onAnnotationActivate?: OnAnnotationActivateCallback;
|
|
44
|
+
onObservation?: OnObservationCallback;
|
|
45
|
+
chartId?: string;
|
|
46
|
+
chartType?: string;
|
|
47
|
+
autoPlaceAnnotations?: AutoPlaceAnnotations;
|
|
48
|
+
pointNodes?: {
|
|
49
|
+
pointId?: string;
|
|
50
|
+
x: number;
|
|
51
|
+
y: number;
|
|
52
|
+
r: number;
|
|
53
|
+
}[];
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* The SVG chrome used by StreamGeoFrame.
|
|
57
|
+
*
|
|
58
|
+
* Geo previously imported the Cartesian SVGOverlay even though it never
|
|
59
|
+
* supplies scales, marginal graphics, grids, or linked-crosshair state. Keep
|
|
60
|
+
* the subset Geo actually exercises here so those XY-only dependencies do not
|
|
61
|
+
* enter the Geo bundle.
|
|
62
|
+
*/
|
|
63
|
+
export declare function GeoSVGOverlay(props: GeoSVGOverlayProps): React.JSX.Element | null;
|
|
64
|
+
export {};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { NetworkSceneNode, NetworkSceneEdge, NetworkCircleNode } from "./networkTypes";
|
|
2
2
|
import type { Quadtree } from "d3-quadtree";
|
|
3
|
+
import type { SceneDatum } from "./types";
|
|
3
4
|
export interface NetworkHitResult {
|
|
4
5
|
type: "node" | "edge";
|
|
5
|
-
datum:
|
|
6
|
+
datum: SceneDatum;
|
|
6
7
|
x: number;
|
|
7
8
|
y: number;
|
|
8
9
|
distance: number;
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { ParticlePool } from "./ParticlePool";
|
|
2
|
-
import type { NetworkHtmlMark } from "./networkCustomLayout";
|
|
2
|
+
import type { NetworkLayoutResult, NetworkHtmlMark } from "./networkCustomLayout";
|
|
3
3
|
import type { CustomLayoutSelection } from "./customLayoutSelection";
|
|
4
|
+
import type { CustomLayoutFailureDiagnostic } from "./customLayoutFailure";
|
|
4
5
|
import type { ActiveTransition } from "./pipelineTransitionUtils";
|
|
5
6
|
import { type Quadtree } from "d3-quadtree";
|
|
6
7
|
import type { NetworkPipelineConfig, NetworkSceneNode, NetworkSceneEdge, NetworkCircleNode, NetworkLabel, RealtimeNode, RealtimeEdge, EdgePush } from "./networkTypes";
|
|
7
8
|
import type { Datum } from "../charts/shared/datumTypes";
|
|
9
|
+
import { NetworkPipelineUpdateResults } from "./networkPipelineUpdateResults";
|
|
10
|
+
import { type UpdateResult, type UpdateResultStore } from "./pipelineUpdateStore";
|
|
8
11
|
/**
|
|
9
12
|
* NetworkPipelineStore — stateful store for the StreamNetworkFrame.
|
|
10
13
|
*
|
|
@@ -14,7 +17,13 @@ import type { Datum } from "../charts/shared/datumTypes";
|
|
|
14
17
|
* For bounded data: ingests nodes/edges arrays, runs layout once, builds scene.
|
|
15
18
|
* For streaming data: ingests edge pushes, tracks tension, relayouts on threshold.
|
|
16
19
|
*/
|
|
17
|
-
export declare class NetworkPipelineStore {
|
|
20
|
+
export declare class NetworkPipelineStore implements UpdateResultStore {
|
|
21
|
+
getLastUpdateResult: () => UpdateResult;
|
|
22
|
+
getUpdateSnapshot: () => UpdateResult;
|
|
23
|
+
subscribeUpdateResult: (listener: () => void) => () => void;
|
|
24
|
+
setLayoutSelection: (selection: CustomLayoutSelection | null) => void;
|
|
25
|
+
markStylePaintPending: () => void;
|
|
26
|
+
consumeStylePaintPending: () => boolean;
|
|
18
27
|
nodes: Map<string, RealtimeNode>;
|
|
19
28
|
edges: Map<string, RealtimeEdge>;
|
|
20
29
|
tension: number;
|
|
@@ -31,6 +40,12 @@ export declare class NetworkPipelineStore {
|
|
|
31
40
|
labels: NetworkLabel[];
|
|
32
41
|
/** Overlays returned from customNetworkLayout (consumed by StreamNetworkFrame). */
|
|
33
42
|
customLayoutOverlays: import("react").ReactNode;
|
|
43
|
+
/** Most recent custom layout result for host readback (`getCustomLayout()`).
|
|
44
|
+
* Null before the first layout or without a custom layout. A failed rerun
|
|
45
|
+
* retains this last successful result when its rendered scene is reusable. */
|
|
46
|
+
lastCustomLayoutResult: NetworkLayoutResult | null;
|
|
47
|
+
/** Latest custom-layout failure for frame-handle readback. */
|
|
48
|
+
lastCustomLayoutFailure: CustomLayoutFailureDiagnostic | null;
|
|
34
49
|
/** HTML marks returned from customNetworkLayout — positioned DOM nodes the
|
|
35
50
|
* frame renders in a layer above the canvas/overlays (consumed by
|
|
36
51
|
* StreamNetworkFrame). Empty for built-in chart types. */
|
|
@@ -58,6 +73,9 @@ export declare class NetworkPipelineStore {
|
|
|
58
73
|
particlePool: ParticlePool | null;
|
|
59
74
|
private config;
|
|
60
75
|
private tensionConfig;
|
|
76
|
+
protected updateResults: NetworkPipelineUpdateResults;
|
|
77
|
+
/** Keep ingest, live encodings, staleness, and transitions on one clock. */
|
|
78
|
+
private currentTime;
|
|
61
79
|
transition: ActiveTransition | null;
|
|
62
80
|
private _hasRenderedOnce;
|
|
63
81
|
/** Snapshot of node positions from before bounded re-ingestion cleared the maps */
|
|
@@ -83,23 +101,42 @@ export declare class NetworkPipelineStore {
|
|
|
83
101
|
lastTopologyChangeTime: number;
|
|
84
102
|
private previousNodeIds;
|
|
85
103
|
private previousEdgeKeys;
|
|
104
|
+
private _networkDecayCache;
|
|
86
105
|
/** Snapshot of node positions from the last layout — used for force warm-start */
|
|
87
106
|
_lastPositionSnapshot: Map<string, {
|
|
88
107
|
x: number;
|
|
89
108
|
y: number;
|
|
90
109
|
}> | null;
|
|
91
110
|
constructor(config: NetworkPipelineConfig);
|
|
92
|
-
updateConfig(config: NetworkPipelineConfig): void;
|
|
111
|
+
updateConfig(config: Partial<NetworkPipelineConfig>): void;
|
|
112
|
+
/** Additive explicit-result form of {@link updateConfig}. */
|
|
113
|
+
updateConfigWithResult(config: Partial<NetworkPipelineConfig>): UpdateResult;
|
|
93
114
|
/**
|
|
94
115
|
* Ingest hierarchy root data for tree/treemap/circlepack/partition layouts.
|
|
95
116
|
* The hierarchy root is passed to the layout plugin via config.__hierarchyRoot.
|
|
96
117
|
*/
|
|
97
|
-
ingestHierarchy(rootData:
|
|
118
|
+
ingestHierarchy(rootData: Datum, size: [number, number]): void;
|
|
98
119
|
/**
|
|
99
120
|
* Ingest bounded node/edge arrays (from props).
|
|
100
121
|
* Clears existing topology and rebuilds from scratch.
|
|
101
122
|
*/
|
|
102
|
-
ingestBounded(rawNodes:
|
|
123
|
+
ingestBounded(rawNodes: Datum[], rawEdges: Datum[], size: [number, number], options?: {
|
|
124
|
+
deferLayout?: boolean;
|
|
125
|
+
}): void;
|
|
126
|
+
/** Additive explicit-result form of {@link ingestBounded}. */
|
|
127
|
+
ingestBoundedWithResult(rawNodes: Datum[], rawEdges: Datum[], size: [number, number], options?: {
|
|
128
|
+
deferLayout?: boolean;
|
|
129
|
+
}): UpdateResult;
|
|
130
|
+
/**
|
|
131
|
+
* Apply worker-computed force positions through the normal layout finalizer.
|
|
132
|
+
* The force plugin still resolves edge endpoints, clamps bounds, records
|
|
133
|
+
* topology diffs, snapshots positions, and prepares transitions; it only
|
|
134
|
+
* skips the expensive simulation itself.
|
|
135
|
+
*/
|
|
136
|
+
applyForceLayoutPositions(positions: Record<string, {
|
|
137
|
+
x: number;
|
|
138
|
+
y: number;
|
|
139
|
+
}>, size: [number, number]): void;
|
|
103
140
|
/**
|
|
104
141
|
* Unique key for an edge (same as TopologyStore).
|
|
105
142
|
*/
|
|
@@ -109,6 +146,8 @@ export declare class NetworkPipelineStore {
|
|
|
109
146
|
* Returns true if a relayout is needed.
|
|
110
147
|
*/
|
|
111
148
|
ingestEdge(push: EdgePush): boolean;
|
|
149
|
+
/** Additive explicit-result form of {@link ingestEdge}. */
|
|
150
|
+
ingestEdgeWithResult(push: EdgePush): UpdateResult;
|
|
112
151
|
/**
|
|
113
152
|
* Run the layout algorithm via the appropriate plugin.
|
|
114
153
|
*/
|
|
@@ -125,13 +164,6 @@ export declare class NetworkPipelineStore {
|
|
|
125
164
|
/**
|
|
126
165
|
* Build the scene graph from current layout positions.
|
|
127
166
|
*/
|
|
128
|
-
/** Update the selection the layout reads at the next `buildScene`, without
|
|
129
|
-
* triggering a rebuild. The frame calls this on selection change; whether it
|
|
130
|
-
* then repaints (restyle) or rebuilds is the frame's decision. */
|
|
131
|
-
setLayoutSelection(selection: CustomLayoutSelection | null): void;
|
|
132
|
-
/** Snapshot each mark's as-emitted style so {@link restyleScene} can re-apply
|
|
133
|
-
* patches from the original rather than compounding. */
|
|
134
|
-
private snapshotBaseStyles;
|
|
135
167
|
/**
|
|
136
168
|
* Re-apply the custom layout's `restyle`/`restyleEdge` to the existing scene
|
|
137
169
|
* for `selection`, mutating styles **in place** off each mark's base style.
|
|
@@ -198,37 +230,13 @@ export declare class NetworkPipelineStore {
|
|
|
198
230
|
private restorePreviousPositions;
|
|
199
231
|
private snapToTargets;
|
|
200
232
|
private updateEdgeBezier;
|
|
201
|
-
private buildStandardBezier;
|
|
202
|
-
private buildCircularBezier;
|
|
203
233
|
rebuildAllBeziers(): void;
|
|
204
|
-
/**
|
|
205
|
-
* Apply pulse glow to scene nodes/edges based on their creation timestamps.
|
|
206
|
-
*/
|
|
207
234
|
applyPulse(now: number): void;
|
|
208
|
-
/**
|
|
209
|
-
* Apply decay opacity to scene nodes based on topology age order.
|
|
210
|
-
* Older nodes (created earlier) are more faded.
|
|
211
|
-
*/
|
|
212
235
|
applyDecay(): void;
|
|
213
|
-
/**
|
|
214
|
-
* Apply topology diff highlight — newly added nodes glow briefly.
|
|
215
|
-
* Duration: 2 seconds from lastTopologyChangeTime.
|
|
216
|
-
*/
|
|
217
236
|
applyTopologyDiff(now: number): void;
|
|
218
|
-
/** Whether there is an active topology diff animation */
|
|
219
237
|
get hasActiveTopologyDiff(): boolean;
|
|
220
|
-
/**
|
|
221
|
-
* Apply threshold alerting to scene nodes.
|
|
222
|
-
* Overrides fill color and adds pulse for nodes exceeding thresholds.
|
|
223
|
-
*/
|
|
224
238
|
applyThresholds(now: number): void;
|
|
225
|
-
/**
|
|
226
|
-
* Whether there are active threshold alerts on any node.
|
|
227
|
-
*/
|
|
228
239
|
get hasActiveThresholds(): boolean;
|
|
229
|
-
/**
|
|
230
|
-
* Whether there are active pulse animations (recent ingests within pulse duration).
|
|
231
|
-
*/
|
|
232
240
|
get hasActivePulses(): boolean;
|
|
233
241
|
getLayoutData(): {
|
|
234
242
|
nodes: RealtimeNode[];
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { StreamNetworkFrameProps } from "./networkTypes";
|
|
3
|
+
import { NetworkPipelineStore } from "./NetworkPipelineStore";
|
|
4
|
+
import { NetworkSVGOverlay } from "./NetworkSVGOverlay";
|
|
5
|
+
interface NetworkSSRFrameProps {
|
|
6
|
+
props: StreamNetworkFrameProps;
|
|
7
|
+
store: NetworkPipelineStore | null;
|
|
8
|
+
responsiveRef: React.Ref<HTMLDivElement>;
|
|
9
|
+
size: [number, number];
|
|
10
|
+
margin: React.ComponentProps<typeof NetworkSVGOverlay>["margin"];
|
|
11
|
+
adjustedWidth: number;
|
|
12
|
+
adjustedHeight: number;
|
|
13
|
+
resolvedBackground: React.ReactNode;
|
|
14
|
+
resolvedForeground: React.ReactNode;
|
|
15
|
+
}
|
|
16
|
+
export declare function NetworkSSRFrame({ props, store, responsiveRef, size, margin, adjustedWidth, adjustedHeight, resolvedBackground, resolvedForeground }: NetworkSSRFrameProps): React.JSX.Element;
|
|
17
|
+
export {};
|
|
@@ -5,6 +5,9 @@ import type { NetworkLabel } from "./networkTypes";
|
|
|
5
5
|
import type { LegendGroup, GradientLegendConfig, LegendLayout } from "../types/legendTypes";
|
|
6
6
|
import { type AutoPlaceAnnotations } from "../recipes/annotationLayout";
|
|
7
7
|
import type { AnnotationContext } from "../realtime/types";
|
|
8
|
+
import { type GlyphDef } from "./glyphDef";
|
|
9
|
+
import type { OnObservationCallback } from "../store/ObservationStore";
|
|
10
|
+
import { type OnAnnotationActivateCallback } from "../charts/shared/annotationActivation";
|
|
8
11
|
type AnnotationAnchorNode = {
|
|
9
12
|
type: string;
|
|
10
13
|
datum: Datum | null;
|
|
@@ -19,8 +22,10 @@ type AnnotationAnchorNode = {
|
|
|
19
22
|
r?: number;
|
|
20
23
|
/** Arc nodes (chord, radial) carry an outer radius. */
|
|
21
24
|
outerR?: number;
|
|
22
|
-
/** Symbol nodes
|
|
25
|
+
/** Symbol nodes carry a d3-symbol area; glyph nodes reuse `size` as rendered height. */
|
|
23
26
|
size?: number;
|
|
27
|
+
/** Glyph nodes (the composite-pictogram channel) carry a definition. */
|
|
28
|
+
glyph?: GlyphDef;
|
|
24
29
|
};
|
|
25
30
|
type NetworkAnnotationContext = AnnotationContext & {
|
|
26
31
|
sceneNodes?: AnnotationAnchorNode[];
|
|
@@ -72,6 +77,10 @@ export interface NetworkSVGOverlayProps {
|
|
|
72
77
|
sceneNodes?: AnnotationAnchorNode[];
|
|
73
78
|
/** Annotations */
|
|
74
79
|
annotations?: Datum[];
|
|
80
|
+
onAnnotationActivate?: OnAnnotationActivateCallback;
|
|
81
|
+
onObservation?: OnObservationCallback;
|
|
82
|
+
chartId?: string;
|
|
83
|
+
chartType?: string;
|
|
75
84
|
autoPlaceAnnotations?: AutoPlaceAnnotations;
|
|
76
85
|
svgAnnotationRules?: (annotation: Datum, index: number, context: NetworkAnnotationContext) => ReactNode;
|
|
77
86
|
annotationFrame?: number;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { OrdinalSceneNode } from "./ordinalTypes";
|
|
2
|
-
import type { PointSceneNode } from "./types";
|
|
2
|
+
import type { SceneDatum, PointSceneNode } from "./types";
|
|
3
3
|
import type { Quadtree } from "d3-quadtree";
|
|
4
4
|
export interface OrdinalHitResult {
|
|
5
|
-
datum:
|
|
5
|
+
datum: SceneDatum;
|
|
6
6
|
x: number;
|
|
7
7
|
y: number;
|
|
8
8
|
distance: number;
|