semiotic 3.7.4 → 3.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +60 -15
- package/README.md +135 -24
- 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 +1651 -154
- package/ai/examples.md +174 -0
- package/ai/schema.json +2934 -517
- package/ai/surface-manifest.json +200 -0
- package/ai/system-prompt.md +19 -3
- package/dist/components/Annotation.d.ts +4 -0
- 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/DataSummaryContext.d.ts +1 -0
- 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 +42 -1
- package/dist/components/ai/chartClinic.d.ts +91 -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 +203 -0
- package/dist/components/ai/dataQualityBridge.d.ts +201 -0
- package/dist/components/ai/describeChart.d.ts +9 -0
- package/dist/components/ai/describeRecipeChart.d.ts +16 -0
- package/dist/components/ai/generativeChart.d.ts +170 -0
- 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/charts/custom/GeoCustomChart.d.ts +48 -0
- package/dist/components/charts/custom/NetworkCustomChart.d.ts +22 -3
- 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/DistanceCartogram.d.ts +1 -1
- package/dist/components/charts/geo/FlowMap.d.ts +1 -1
- package/dist/components/charts/geo/ProportionalSymbolMap.d.ts +1 -1
- package/dist/components/charts/geo/index.d.ts +2 -0
- package/dist/components/charts/index.d.ts +29 -1
- package/dist/components/charts/network/ChordDiagram.d.ts +1 -1
- package/dist/components/charts/network/CirclePack.d.ts +1 -1
- package/dist/components/charts/network/ForceDirectedGraph.d.ts +15 -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 +1 -1
- 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 +1 -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 +1 -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 +1 -1
- package/dist/components/charts/ordinal/SwarmPlot.d.ts +8 -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 +47 -0
- package/dist/components/charts/physics/EventDropChart.capability.d.ts +2 -0
- package/dist/components/charts/physics/EventDropChart.d.ts +53 -0
- package/dist/components/charts/physics/GaltonBoardChart.capability.d.ts +2 -0
- package/dist/components/charts/physics/GaltonBoardChart.d.ts +66 -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 +120 -0
- package/dist/components/charts/physics/PhysicsPileChart.capability.d.ts +2 -0
- package/dist/components/charts/physics/PhysicsPileChart.d.ts +53 -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 +41 -0
- package/dist/components/charts/physics/physicsChartUtils.d.ts +18 -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 +30 -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/realtime/aggregate.d.ts +51 -0
- package/dist/components/charts/realtime/eventTime.d.ts +26 -0
- 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/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/colorPalettes.d.ts +2 -0
- package/dist/components/charts/shared/colorUtils.d.ts +17 -13
- package/dist/components/charts/shared/diagnoseAnnotationChecks.d.ts +4 -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/hooks.d.ts +28 -5
- package/dist/components/charts/shared/minMax.d.ts +3 -0
- package/dist/components/charts/shared/motionEncoding.d.ts +145 -0
- package/dist/components/charts/shared/radialGeometry.d.ts +0 -18
- package/dist/components/charts/shared/responsiveRules.d.ts +56 -0
- package/dist/components/charts/shared/smartTooltip.d.ts +27 -0
- package/dist/components/charts/shared/statisticalOverlays.d.ts +35 -0
- package/dist/components/charts/shared/streamPropsHelpers.d.ts +12 -2
- package/dist/components/charts/shared/temporalStrings.d.ts +7 -0
- package/dist/components/charts/shared/tooltipUtils.d.ts +2 -0
- package/dist/components/charts/shared/types.d.ts +49 -1
- package/dist/components/charts/shared/useChartSetup.d.ts +10 -3
- package/dist/components/charts/shared/useCustomChartSetup.d.ts +15 -6
- package/dist/components/charts/shared/useNetworkChartSetup.d.ts +6 -2
- package/dist/components/charts/shared/useOrdinalPieceStyle.d.ts +1 -1
- package/dist/components/charts/shared/useStreamingLegend.d.ts +1 -1
- package/dist/components/charts/shared/useSyncedPushData.d.ts +49 -0
- package/dist/components/charts/shared/validateChartData.d.ts +1 -1
- package/dist/components/charts/shared/validationMap.d.ts +0 -11
- package/dist/components/charts/xy/AreaChart.d.ts +1 -1
- package/dist/components/charts/xy/BubbleChart.d.ts +1 -1
- package/dist/components/charts/xy/LineChart.d.ts +1 -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 +1 -1
- package/dist/components/charts/xy/Scatterplot.d.ts +10 -1
- package/dist/components/charts/xy/ScatterplotMatrix.d.ts +11 -1
- package/dist/components/charts/xy/StackedAreaChart.d.ts +9 -4
- package/dist/components/controls/controlAudit.d.ts +24 -0
- package/dist/components/controls/controlContract.d.ts +57 -0
- package/dist/components/data/fromArrow.d.ts +54 -0
- package/dist/components/data/fromFlintChart.d.ts +74 -0
- package/dist/components/data/fromMermaid.d.ts +47 -0
- package/dist/components/data/fromObservablePlot.d.ts +69 -0
- package/dist/components/data/fromVegaLite.d.ts +27 -0
- package/dist/components/data/portability/index.d.ts +17 -0
- package/dist/components/data/portability/result.d.ts +52 -0
- package/dist/components/data/portability/spec.d.ts +160 -0
- package/dist/components/data/portability/vegaLite.d.ts +80 -0
- package/dist/components/export/chartConfig.d.ts +11 -0
- package/dist/components/realtime/ReorderBuffer.d.ts +54 -0
- package/dist/components/realtime/RunningStats.d.ts +66 -0
- package/dist/components/realtime/WindowAccumulator.d.ts +105 -0
- package/dist/components/realtime/parseWindowDuration.d.ts +12 -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/boba.d.ts +23 -0
- package/dist/components/recipes/customTooltip.d.ts +31 -0
- 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 +215 -0
- package/dist/components/recipes/gofishIRExamples.d.ts +38 -0
- 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/mermaidDag.d.ts +44 -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/packedClusterMatrix.d.ts +166 -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 +191 -0
- package/dist/components/recipes/recipeGlyph.d.ts +42 -0
- package/dist/components/recipes/recipeLegend.d.ts +109 -0
- package/dist/components/recipes/recipeUtils.d.ts +157 -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/semiotic-ai-core.d.ts +47 -0
- package/dist/components/semiotic-ai.d.ts +52 -4
- package/dist/components/semiotic-controls.d.ts +18 -0
- package/dist/components/semiotic-data.d.ts +2 -0
- package/dist/components/semiotic-experimental.d.ts +49 -0
- package/dist/components/semiotic-geo.d.ts +11 -0
- package/dist/components/semiotic-network.d.ts +14 -1
- package/dist/components/semiotic-ordinal.d.ts +10 -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 +56 -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 -22
- 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 -26
- 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 -74
- package/dist/components/semiotic-utils-core.d.ts +46 -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 +10 -0
- package/dist/components/semiotic.d.ts +39 -7
- package/dist/components/server/animatedGif.d.ts +36 -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 +17 -0
- package/dist/components/server/serverChartConfigs.d.ts +19 -9
- 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/staticGeo.d.ts +4 -0
- package/dist/components/server/staticLegend.d.ts +1 -1
- 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 -3
- package/dist/components/store/SelectionStore.d.ts +1 -1
- package/dist/components/store/ThemeStore.d.ts +1 -1
- package/dist/components/store/TooltipStore.d.ts +1 -1
- package/dist/components/store/createStore.d.ts +1 -1
- package/dist/components/store/designTokens.d.ts +15 -0
- 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 +3 -13
- package/dist/components/stream/FocusRing.d.ts +4 -2
- package/dist/components/stream/GeoCanvasHitTester.d.ts +1 -1
- package/dist/components/stream/GeoPipelineStore.d.ts +28 -0
- package/dist/components/stream/NetworkHtmlMarksLayer.d.ts +44 -0
- package/dist/components/stream/NetworkPipelineStore.d.ts +62 -25
- package/dist/components/stream/NetworkSVGOverlay.d.ts +15 -0
- package/dist/components/stream/OrdinalPipelineStore.d.ts +64 -2
- package/dist/components/stream/PipelineStore.d.ts +100 -162
- package/dist/components/stream/SceneGraph.d.ts +14 -2
- 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 +23 -10
- 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/customLayout.d.ts +20 -0
- package/dist/components/stream/customLayoutDiagnostics.d.ts +11 -0
- package/dist/components/stream/customLayoutFailure.d.ts +33 -0
- package/dist/components/stream/customLayoutPalette.d.ts +19 -9
- package/dist/components/stream/customLayoutSelection.d.ts +52 -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/geoTypes.d.ts +56 -7
- package/dist/components/stream/glyphDef.d.ts +98 -0
- package/dist/components/stream/hitTarget.d.ts +170 -0
- package/dist/components/stream/hoverUtils.d.ts +3 -0
- 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 +57 -0
- package/dist/components/stream/networkBezier.d.ts +10 -0
- package/dist/components/stream/networkColorAccessors.d.ts +49 -0
- package/dist/components/stream/networkCustomLayout.d.ts +66 -1
- package/dist/components/stream/networkDefaultTooltip.d.ts +10 -0
- package/dist/components/stream/networkFrameInteraction.d.ts +37 -0
- package/dist/components/stream/networkFramePaint.d.ts +43 -0
- package/dist/components/stream/networkPipelineConfig.d.ts +22 -0
- package/dist/components/stream/networkPipelineHelpers.d.ts +12 -0
- package/dist/components/stream/networkRealtimeEncoding.d.ts +41 -0
- package/dist/components/stream/networkTypes.d.ts +104 -5
- package/dist/components/stream/ordinalCanvasRenderers.d.ts +7 -0
- package/dist/components/stream/ordinalCustomLayout.d.ts +17 -1
- 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 +12 -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 -0
- package/dist/components/stream/ordinalSpatialIndex.d.ts +9 -0
- package/dist/components/stream/ordinalTypes.d.ts +56 -8
- 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 +84 -0
- package/dist/components/stream/physics/PhysicsPipelineTypes.d.ts +181 -0
- package/dist/components/stream/physics/PhysicsSVGOverlay.d.ts +72 -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 +302 -0
- package/dist/components/stream/physics/physicsBodyCanvas.d.ts +27 -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 +9 -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 +16 -0
- package/dist/components/stream/pipelineBufferUtils.d.ts +26 -0
- package/dist/components/stream/pipelineConfig.d.ts +177 -0
- package/dist/components/stream/pipelineDecay.d.ts +20 -2
- 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 +16 -2
- 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 +12 -0
- package/dist/components/stream/pipelineStyleResolvers.d.ts +46 -0
- package/dist/components/stream/pipelineTransitions.d.ts +2 -0
- package/dist/components/stream/pipelineUpdateContract.d.ts +62 -0
- package/dist/components/stream/pulseFrameRefresh.d.ts +22 -0
- package/dist/components/stream/renderers/glyphCanvasRenderer.d.ts +6 -0
- package/dist/components/stream/renderers/networkSymbolRenderer.d.ts +2 -0
- package/dist/components/stream/renderers/resolveCSSColor.d.ts +6 -0
- package/dist/components/stream/renderers/symbolCanvasRenderer.d.ts +2 -0
- package/dist/components/stream/sceneRevisionDiagnostics.d.ts +18 -0
- package/dist/components/stream/stalenessBands.d.ts +28 -0
- package/dist/components/stream/streamStoreSync.d.ts +37 -0
- package/dist/components/stream/symbolPath.d.ts +24 -0
- package/dist/components/stream/types.d.ts +206 -9
- package/dist/components/stream/useFrame.d.ts +21 -2
- package/dist/components/stream/useHydration.d.ts +6 -0
- package/dist/components/stream/useLegendCategoryEmission.d.ts +5 -0
- package/dist/components/stream/useStalenessCheck.d.ts +6 -1
- 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/xySceneBuilders/pointScene.d.ts +2 -2
- package/dist/components/stream/xySceneBuilders/types.d.ts +9 -4
- 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/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 +52 -4
- 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 +18 -0
- package/dist/semiotic-data.d.ts +2 -0
- package/dist/semiotic-data.min.js +1 -1
- package/dist/semiotic-data.module.min.js +1 -1
- package/dist/semiotic-experimental.d.ts +49 -0
- package/dist/semiotic-experimental.min.js +1 -0
- package/dist/semiotic-experimental.module.min.js +1 -0
- package/dist/semiotic-geo.d.ts +11 -0
- package/dist/semiotic-network.d.ts +14 -1
- package/dist/semiotic-ordinal.d.ts +10 -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 +56 -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 -22
- 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 -26
- package/dist/semiotic-recipes.min.js +1 -1
- package/dist/semiotic-recipes.module.min.js +1 -1
- 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 -74
- package/dist/semiotic-themes.min.js +1 -2
- package/dist/semiotic-themes.module.min.js +1 -2
- package/dist/semiotic-utils-core.d.ts +46 -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 +10 -0
- package/dist/semiotic.d.ts +39 -7
- 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/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 +246 -86
- 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/semiotic-ai-statisticalOverlays-C2PPlmXv.js +0 -1
- package/dist/semiotic-statisticalOverlays-C3DsOgr_.js +0 -1
- package/dist/xy-statisticalOverlays-C2PPlmXv.js +0 -1
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { Datum } from "../shared/datumTypes";
|
|
3
|
+
import type { BaseChartProps, ChartAccessor } from "../shared/types";
|
|
4
|
+
import { type PhysicsFrameHandle } from "./physicsHocHandle";
|
|
5
|
+
import { type PhysicsHocFrameProps, type PhysicsSharedChartProps, type PhysicsSimulationMode, type TooltipProp } from "./physicsHocUtils";
|
|
6
|
+
import type { ChartMode } from "../shared/types";
|
|
7
|
+
export interface GaltonBoardReferenceLine {
|
|
8
|
+
value: number;
|
|
9
|
+
label?: React.ReactNode;
|
|
10
|
+
color?: string;
|
|
11
|
+
className?: string;
|
|
12
|
+
strokeDasharray?: string;
|
|
13
|
+
strokeWidth?: number;
|
|
14
|
+
labelPosition?: "top" | "bottom";
|
|
15
|
+
}
|
|
16
|
+
export interface GaltonBoardChartProps<TDatum extends Datum = Datum> extends Omit<BaseChartProps, "margin" | "mode">, PhysicsSharedChartProps {
|
|
17
|
+
data?: TDatum[];
|
|
18
|
+
size?: [number, number];
|
|
19
|
+
valueAccessor?: ChartAccessor<TDatum, number>;
|
|
20
|
+
valueExtent?: [number, number];
|
|
21
|
+
bins?: number;
|
|
22
|
+
/**
|
|
23
|
+
* Chart display mode (`primary`/`context`/`sparkline`/`mobile`) **or**
|
|
24
|
+
* legacy simulation mode (`sample`/`mechanical`). Prefer `simulationMode`
|
|
25
|
+
* for sample vs mechanical; use `mode` for ChartContainer / ChartMode.
|
|
26
|
+
*/
|
|
27
|
+
mode?: ChartMode | PhysicsSimulationMode;
|
|
28
|
+
/** Sample data rows vs seeded mechanical demo (no data required). */
|
|
29
|
+
simulationMode?: PhysicsSimulationMode;
|
|
30
|
+
pegRows?: number;
|
|
31
|
+
mechanicalCount?: number;
|
|
32
|
+
branchProbability?: number;
|
|
33
|
+
ballRadius?: number;
|
|
34
|
+
colorBy?: ChartAccessor<TDatum, string>;
|
|
35
|
+
referenceLines?: GaltonBoardReferenceLine | GaltonBoardReferenceLine[];
|
|
36
|
+
seed?: number;
|
|
37
|
+
showProjection?: boolean;
|
|
38
|
+
tooltip?: TooltipProp;
|
|
39
|
+
paused?: boolean;
|
|
40
|
+
frameProps?: PhysicsHocFrameProps<"config">;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Physics-backed Galton board chart that drops values through seeded pegs into a settled distribution.
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```tsx
|
|
47
|
+
* <GaltonBoardChart
|
|
48
|
+
* data={[{ id: "a", value: 2 }, { id: "b", value: 7 }]}
|
|
49
|
+
* valueAccessor="value"
|
|
50
|
+
* bins={12}
|
|
51
|
+
* size={[520, 320]}
|
|
52
|
+
* />
|
|
53
|
+
* ```
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```tsx
|
|
57
|
+
* <GaltonBoardChart
|
|
58
|
+
* mode="mechanical"
|
|
59
|
+
* mechanicalCount={80}
|
|
60
|
+
* branchProbability={0.62}
|
|
61
|
+
* seed={11}
|
|
62
|
+
* />
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
export declare const GaltonBoardChart: React.ForwardRefExoticComponent<GaltonBoardChartProps<Datum> & React.RefAttributes<PhysicsFrameHandle>>;
|
|
66
|
+
export default GaltonBoardChart;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { PhysicsFrameHandle } from "./physicsHocHandle";
|
|
3
|
+
import type { Datum } from "../shared/datumTypes";
|
|
4
|
+
import type { GauntletChartProps } from "./gauntletChartProps";
|
|
5
|
+
export { GAUNTLET_WALL, clampGauntletPoint, buildGauntletPhysics } from "./gauntletPhysics";
|
|
6
|
+
export { applyGauntletEffect, planGauntletPropertyWork, replaceGauntletNegative } from "./gauntletEffects";
|
|
7
|
+
export type { GauntletAccessors, GauntletCoreBodyFn, GauntletEffect, GauntletEvent, GauntletEventContext, GauntletEventLogItem, GauntletGate, GauntletLayout, GauntletPopSpec, GauntletProjectPlacement, GauntletProjectPlacementFn, GauntletProjectState, GauntletPropertyDefinition, GauntletPropertyForceContext, GauntletPropertyWorkPlan, GauntletPropertyWorkPlanOptions, GauntletNegativeReplacementOptions, GauntletViabilityFn } from "./gauntletPhysics";
|
|
8
|
+
export type { GauntletChartProps };
|
|
9
|
+
/**
|
|
10
|
+
* Physics-backed gauntlet: project core + property satellites through timed or
|
|
11
|
+
* capacity-gated process events.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```tsx
|
|
15
|
+
* <GauntletChart
|
|
16
|
+
* data={[{ id: "plan-a", positives: ["homes"], negatives: ["cost"] }]}
|
|
17
|
+
* positiveProperties={[{ id: "homes", label: "Homes", radius: 10 }]}
|
|
18
|
+
* negativeProperties={[{ id: "cost", label: "Cost", load: 1.2, radius: 8 }]}
|
|
19
|
+
* size={[720, 380]}
|
|
20
|
+
* />
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* Multiple attached properties routed through timed gates, with the
|
|
25
|
+
* settled viability/outcome projection strip enabled:
|
|
26
|
+
* ```tsx
|
|
27
|
+
* <GauntletChart
|
|
28
|
+
* data={[{ id: "plan-a", positives: ["homes", "jobs"], negatives: ["cost"] }]}
|
|
29
|
+
* positiveProperties={[
|
|
30
|
+
* { id: "homes", label: "Homes", radius: 10 },
|
|
31
|
+
* { id: "jobs", label: "Jobs", radius: 10 },
|
|
32
|
+
* ]}
|
|
33
|
+
* negativeProperties={[{ id: "cost", label: "Cost", load: 1.2, radius: 8 }]}
|
|
34
|
+
* gates={[
|
|
35
|
+
* { id: "review", label: "Review" },
|
|
36
|
+
* { id: "budget", label: "Budget" },
|
|
37
|
+
* ]}
|
|
38
|
+
* showProjection
|
|
39
|
+
* size={[720, 380]}
|
|
40
|
+
* />
|
|
41
|
+
* ```
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* Stagger negative-only compound entities on project-local clocks and share a
|
|
45
|
+
* finite service across their root bodies:
|
|
46
|
+
* ```tsx
|
|
47
|
+
* <GauntletChart
|
|
48
|
+
* data={pullRequests}
|
|
49
|
+
* startTimeAccessor="arrival"
|
|
50
|
+
* negativeAccessor="risks"
|
|
51
|
+
* negativeProperties={riskProperties}
|
|
52
|
+
* gates={[{
|
|
53
|
+
* id: "review",
|
|
54
|
+
* capacity: { unitsPerSecond: 5, unitAccessor: "reviewWork" }
|
|
55
|
+
* }]}
|
|
56
|
+
* events={reviewEvents}
|
|
57
|
+
* onCapacityChange={setCapacity}
|
|
58
|
+
* />
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
export declare const GauntletChart: {
|
|
62
|
+
<TDatum extends Datum = Datum>(props: GauntletChartProps<TDatum> & React.RefAttributes<PhysicsFrameHandle>): React.ReactElement | null;
|
|
63
|
+
displayName?: string;
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* @deprecated Typo alias of {@link GauntletChart}. Use `GauntletChart` instead.
|
|
67
|
+
* Removed in the next major version.
|
|
68
|
+
*/
|
|
69
|
+
export declare const GuantletChart: {
|
|
70
|
+
<TDatum extends Datum = Datum>(props: GauntletChartProps<TDatum> & React.RefAttributes<PhysicsFrameHandle>): React.ReactElement | null;
|
|
71
|
+
displayName?: string;
|
|
72
|
+
};
|
|
73
|
+
export default GauntletChart;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { Datum } from "../shared/datumTypes";
|
|
3
|
+
import type { BaseChartProps, ChartAccessor } from "../shared/types";
|
|
4
|
+
import { type PhysicalFlowCoordinateMode, type PhysicalFlowPathConstraint, type PhysicalFlowRawPath } from "./physicsChartUtils";
|
|
5
|
+
import { type PhysicsFrameHandle } from "./physicsHocHandle";
|
|
6
|
+
import { type PhysicsHocFrameProps, type PhysicsSharedChartProps, type TooltipProp } from "./physicsHocUtils";
|
|
7
|
+
export interface PhysicalFlowChartProps<TNode extends Datum = Datum, TLink extends Datum = Datum> extends Omit<BaseChartProps, "margin">, PhysicsSharedChartProps {
|
|
8
|
+
nodes?: TNode[];
|
|
9
|
+
links?: TLink[];
|
|
10
|
+
edges?: TLink[];
|
|
11
|
+
data?: TLink[];
|
|
12
|
+
size?: [number, number];
|
|
13
|
+
nodeIdAccessor?: ChartAccessor<TNode, string>;
|
|
14
|
+
nodeXAccessor?: ChartAccessor<TNode, number>;
|
|
15
|
+
nodeYAccessor?: ChartAccessor<TNode, number>;
|
|
16
|
+
sourceAccessor?: ChartAccessor<TLink, string>;
|
|
17
|
+
targetAccessor?: ChartAccessor<TLink, string>;
|
|
18
|
+
throughputAccessor?: ChartAccessor<TLink, number>;
|
|
19
|
+
pathAccessor?: ChartAccessor<TLink, PhysicalFlowRawPath | undefined>;
|
|
20
|
+
coordinateMode?: PhysicalFlowCoordinateMode;
|
|
21
|
+
particleRate?: number;
|
|
22
|
+
maxParticles?: number;
|
|
23
|
+
particleRadius?: number;
|
|
24
|
+
flowSpeed?: number;
|
|
25
|
+
pathConstraint?: PhysicalFlowPathConstraint;
|
|
26
|
+
reducedMotion?: boolean;
|
|
27
|
+
showStaticFlow?: boolean;
|
|
28
|
+
showNodeLabels?: boolean;
|
|
29
|
+
showSensors?: boolean;
|
|
30
|
+
colorBy?: ChartAccessor<TLink, string>;
|
|
31
|
+
seed?: number;
|
|
32
|
+
tooltip?: TooltipProp;
|
|
33
|
+
paused?: boolean;
|
|
34
|
+
frameProps?: PhysicsHocFrameProps<"config">;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Physics-backed flow chart that sends packet bodies along authored routes while retaining a static throughput layer.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```tsx
|
|
41
|
+
* <PhysicalFlowChart
|
|
42
|
+
* nodes={[{ id: "in", x: 0.1, y: 0.5 }, { id: "out", x: 0.9, y: 0.5 }]}
|
|
43
|
+
* links={[{ source: "in", target: "out", value: 40 }]}
|
|
44
|
+
* coordinateMode="normalized"
|
|
45
|
+
* />
|
|
46
|
+
* ```
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```tsx
|
|
50
|
+
* <PhysicalFlowChart
|
|
51
|
+
* nodes={ports}
|
|
52
|
+
* edges={routes}
|
|
53
|
+
* pathAccessor="path"
|
|
54
|
+
* maxParticles={120}
|
|
55
|
+
* showSensors
|
|
56
|
+
* />
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export declare const PhysicalFlowChart: {
|
|
60
|
+
<TNode extends Datum = Datum, TLink extends Datum = Datum>(props: PhysicalFlowChartProps<TNode, TLink> & React.RefAttributes<PhysicsFrameHandle>): React.ReactElement | null;
|
|
61
|
+
displayName?: string;
|
|
62
|
+
};
|
|
63
|
+
export default PhysicalFlowChart;
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { ReactNode } from "react";
|
|
3
|
+
import { type ScaleLinear } from "d3-scale";
|
|
4
|
+
import type { ThemeSemanticColors } from "../../stream/types";
|
|
5
|
+
import { type PhysicsSemanticItem, type StreamPhysicsBodyForce, type StreamPhysicsFrameProps, type StreamPhysicsRegionEffect } from "../../stream/physics/StreamPhysicsFrame";
|
|
6
|
+
import type { PhysicsController } from "../../stream/physics/PhysicsControllers";
|
|
7
|
+
import { PhysicsPipelineStore, type PhysicsPipelineConfig, type PhysicsQueuedSpawn, type PhysicsSpawnPacingOptions } from "../../stream/physics/PhysicsPipelineStore";
|
|
8
|
+
import type { PhysicsColliderSpec, PhysicsSpringSpec } from "../../stream/physics/PhysicsKernel";
|
|
9
|
+
import type { Datum } from "../shared/datumTypes";
|
|
10
|
+
import type { BaseChartProps, ChartAccessor } from "../shared/types";
|
|
11
|
+
import { type PhysicsChartArea } from "./physicsChartUtils";
|
|
12
|
+
import { type PhysicsDatumSpawnResult, type PhysicsFrameHandle } from "./physicsHocHandle";
|
|
13
|
+
import { type PhysicsHocFrameProps, type PhysicsSharedChartProps, type TooltipProp } from "./physicsHocUtils";
|
|
14
|
+
export interface PhysicsCustomLayoutContext<TDatum extends Datum = Datum, TConfig extends object = Record<string, unknown>> {
|
|
15
|
+
data: TDatum[];
|
|
16
|
+
scales: {
|
|
17
|
+
x: ScaleLinear<number, number>;
|
|
18
|
+
y: ScaleLinear<number, number>;
|
|
19
|
+
};
|
|
20
|
+
dimensions: PhysicsChartArea;
|
|
21
|
+
theme: {
|
|
22
|
+
semantic: ThemeSemanticColors;
|
|
23
|
+
categorical: string[];
|
|
24
|
+
};
|
|
25
|
+
resolveColor: (key: string, datum?: TDatum) => string;
|
|
26
|
+
config: TConfig;
|
|
27
|
+
/**
|
|
28
|
+
* Scratch pipeline store initialized from the base frame config. Use it for
|
|
29
|
+
* derived geometry, seeded randomness, or quick settle probes; return
|
|
30
|
+
* declarative `bodies`/`colliders` from the layout result for rendering.
|
|
31
|
+
*/
|
|
32
|
+
world: PhysicsPipelineStore;
|
|
33
|
+
}
|
|
34
|
+
export interface PhysicsCustomLayoutResult {
|
|
35
|
+
bodies?: PhysicsQueuedSpawn[];
|
|
36
|
+
initialSpawns?: PhysicsQueuedSpawn[];
|
|
37
|
+
/** Fresh collider geometry replaces the live world without resetting bodies. */
|
|
38
|
+
colliders?: PhysicsColliderSpec[];
|
|
39
|
+
/** Fresh sensor geometry replaces the live world without resetting bodies. */
|
|
40
|
+
sensors?: PhysicsColliderSpec[];
|
|
41
|
+
constraints?: PhysicsSpringSpec[];
|
|
42
|
+
config?: PhysicsPipelineConfig;
|
|
43
|
+
initialSpawnPacing?: PhysicsSpawnPacingOptions;
|
|
44
|
+
/**
|
|
45
|
+
* Region effects (membranes, capacity stages, portals). Prefer declaring
|
|
46
|
+
* these here and driving interaction via `controllers` / `layoutConfig`
|
|
47
|
+
* rather than re-spawning bodies.
|
|
48
|
+
*/
|
|
49
|
+
regionEffects?: StreamPhysicsRegionEffect[];
|
|
50
|
+
/**
|
|
51
|
+
* Process plugins (capacity queues, portals). Tick with the frame heartbeat
|
|
52
|
+
* without rebuilding world topology when only `layoutConfig` changes.
|
|
53
|
+
*/
|
|
54
|
+
controllers?: PhysicsController[];
|
|
55
|
+
bodyForces?: StreamPhysicsBodyForce;
|
|
56
|
+
overlays?: ReactNode;
|
|
57
|
+
backgroundOverlays?: ReactNode;
|
|
58
|
+
bodyStyle?: StreamPhysicsFrameProps["bodyStyle"];
|
|
59
|
+
selectedBodyStyle?: StreamPhysicsFrameProps["selectedBodyStyle"];
|
|
60
|
+
semanticItems?: PhysicsSemanticItem[];
|
|
61
|
+
}
|
|
62
|
+
export type PhysicsCustomLayout<TDatum extends Datum = Datum, TConfig extends object = Record<string, unknown>> = (ctx: PhysicsCustomLayoutContext<TDatum, TConfig>) => PhysicsCustomLayoutResult;
|
|
63
|
+
export type PhysicsCustomSpawnDatumResult = PhysicsDatumSpawnResult | PhysicsQueuedSpawn | PhysicsQueuedSpawn[];
|
|
64
|
+
export interface PhysicsCustomChartProps<TDatum extends Datum = Datum, TConfig extends object = Record<string, unknown>> extends Omit<BaseChartProps, "margin">, PhysicsSharedChartProps {
|
|
65
|
+
data?: TDatum[];
|
|
66
|
+
layout: PhysicsCustomLayout<TDatum, TConfig>;
|
|
67
|
+
/**
|
|
68
|
+
* Interaction / style config passed as `ctx.config`. Changing only
|
|
69
|
+
* `layoutConfig` re-runs the layout for colliders, sensors, regionEffects,
|
|
70
|
+
* controllers, overlays, and bodyStyle — it does **not** re-create the
|
|
71
|
+
* physics store or re-enqueue initial spawns (topology is keyed by data +
|
|
72
|
+
* size + layout identity). Keep collider/sensor ids stable across updates.
|
|
73
|
+
*/
|
|
74
|
+
layoutConfig?: TConfig;
|
|
75
|
+
config?: PhysicsPipelineConfig;
|
|
76
|
+
size?: [number, number];
|
|
77
|
+
xExtent?: [number, number];
|
|
78
|
+
yExtent?: [number, number];
|
|
79
|
+
colorBy?: ChartAccessor<TDatum, string | number>;
|
|
80
|
+
colorScheme?: string | string[] | Record<string, string>;
|
|
81
|
+
paused?: boolean;
|
|
82
|
+
tooltip?: TooltipProp;
|
|
83
|
+
/**
|
|
84
|
+
* Extra process controllers composed with any returned from `layout()`.
|
|
85
|
+
*/
|
|
86
|
+
controllers?: PhysicsController[];
|
|
87
|
+
spawnDatum?: (datum: TDatum, index: number, ctx: PhysicsCustomLayoutContext<TDatum, TConfig>) => PhysicsCustomSpawnDatumResult;
|
|
88
|
+
/**
|
|
89
|
+
* Frame passthrough. Prefer top-level `controllers` / layout-returned
|
|
90
|
+
* regionEffects; frameProps merges are still supported for escape hatches.
|
|
91
|
+
*/
|
|
92
|
+
frameProps?: PhysicsHocFrameProps<"config">;
|
|
93
|
+
}
|
|
94
|
+
interface ResolvedPhysicsCustomLayout<TDatum extends Datum = Datum, TConfig extends object = Record<string, unknown>> {
|
|
95
|
+
config: PhysicsPipelineConfig;
|
|
96
|
+
context: PhysicsCustomLayoutContext<TDatum, TConfig>;
|
|
97
|
+
initialSpawnPacing?: PhysicsSpawnPacingOptions;
|
|
98
|
+
initialSpawns: PhysicsQueuedSpawn[];
|
|
99
|
+
result: PhysicsCustomLayoutResult;
|
|
100
|
+
}
|
|
101
|
+
export declare function resolveCustomLayout<TDatum extends Datum, TConfig extends object>(options: {
|
|
102
|
+
chartId?: string;
|
|
103
|
+
colorScheme?: string | string[] | Record<string, string>;
|
|
104
|
+
config?: PhysicsPipelineConfig;
|
|
105
|
+
data: TDatum[];
|
|
106
|
+
layout: PhysicsCustomLayout<TDatum, TConfig>;
|
|
107
|
+
layoutConfig?: TConfig;
|
|
108
|
+
onObservation?: BaseChartProps["onObservation"];
|
|
109
|
+
semantic: ThemeSemanticColors;
|
|
110
|
+
skipLayout?: boolean;
|
|
111
|
+
size: [number, number];
|
|
112
|
+
themeCategorical: string[];
|
|
113
|
+
xExtent?: [number, number];
|
|
114
|
+
yExtent?: [number, number];
|
|
115
|
+
}): ResolvedPhysicsCustomLayout<TDatum, TConfig>;
|
|
116
|
+
export declare const PhysicsCustomChart: {
|
|
117
|
+
<TDatum extends Datum = Datum, TConfig extends object = Record<string, unknown>>(props: PhysicsCustomChartProps<TDatum, TConfig> & React.RefAttributes<PhysicsFrameHandle>): React.ReactElement | null;
|
|
118
|
+
displayName?: string;
|
|
119
|
+
};
|
|
120
|
+
export default PhysicsCustomChart;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { Datum } from "../shared/datumTypes";
|
|
3
|
+
import type { BaseChartProps, ChartAccessor, ChartMode } from "../shared/types";
|
|
4
|
+
import { type PhysicsFrameHandle } from "./physicsHocHandle";
|
|
5
|
+
import { type PhysicsHocFrameProps, type PhysicsSharedChartProps, type PhysicsSimulationMode, type TooltipProp } from "./physicsHocUtils";
|
|
6
|
+
export interface PhysicsPileChartProps<TDatum extends Datum = Datum> extends Omit<BaseChartProps, "margin" | "mode">, PhysicsSharedChartProps {
|
|
7
|
+
data?: TDatum[];
|
|
8
|
+
size?: [number, number];
|
|
9
|
+
categoryAccessor?: ChartAccessor<TDatum, string>;
|
|
10
|
+
valueAccessor?: ChartAccessor<TDatum, number>;
|
|
11
|
+
/**
|
|
12
|
+
* Chart display mode **or** legacy simulation mode (`sample`/`mechanical`).
|
|
13
|
+
* Prefer `simulationMode` for mechanical demos; use `mode` for ChartMode.
|
|
14
|
+
*/
|
|
15
|
+
mode?: ChartMode | PhysicsSimulationMode;
|
|
16
|
+
simulationMode?: PhysicsSimulationMode;
|
|
17
|
+
mechanicalCount?: number;
|
|
18
|
+
mechanicalCategories?: readonly string[];
|
|
19
|
+
unitValue?: number;
|
|
20
|
+
ballRadius?: number;
|
|
21
|
+
colorBy?: ChartAccessor<TDatum, string>;
|
|
22
|
+
seed?: number;
|
|
23
|
+
showProjection?: boolean;
|
|
24
|
+
sediment?: boolean;
|
|
25
|
+
tooltip?: TooltipProp;
|
|
26
|
+
paused?: boolean;
|
|
27
|
+
frameProps?: PhysicsHocFrameProps<"config">;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Physics-backed unit pile chart that converts category values into repeated bodies and a readable settled projection.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```tsx
|
|
34
|
+
* <PhysicsPileChart
|
|
35
|
+
* data={[{ category: "A", value: 12 }, { category: "B", value: 8 }]}
|
|
36
|
+
* categoryAccessor="category"
|
|
37
|
+
* valueAccessor="value"
|
|
38
|
+
* unitValue={1}
|
|
39
|
+
* />
|
|
40
|
+
* ```
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```tsx
|
|
44
|
+
* <PhysicsPileChart
|
|
45
|
+
* mode="mechanical"
|
|
46
|
+
* mechanicalCategories={["North", "South", "West"]}
|
|
47
|
+
* mechanicalCount={90}
|
|
48
|
+
* seed={5}
|
|
49
|
+
* />
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export declare const PhysicsPileChart: React.ForwardRefExoticComponent<PhysicsPileChartProps<Datum> & React.RefAttributes<PhysicsFrameHandle>>;
|
|
53
|
+
export default PhysicsPileChart;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { type PhysicsBodySelection, type StreamPhysicsFrameProps } from "../../stream/physics/StreamPhysicsFrame";
|
|
3
|
+
import { type CapacityQueueSnapshot } from "../../stream/physics/PhysicsControllers";
|
|
4
|
+
import { type ProcessChromeOptions } from "../../recipes/processChrome";
|
|
5
|
+
import type { Datum } from "../shared/datumTypes";
|
|
6
|
+
import type { BaseChartProps, ChartAccessor } from "../shared/types";
|
|
7
|
+
import { type ProcessFlowProjectionMetadata, type ProcessFlowStageDef } from "./physicsChartUtils";
|
|
8
|
+
import { type PhysicsFrameHandle } from "./physicsHocHandle";
|
|
9
|
+
import { type PhysicsHocFrameProps, type PhysicsSharedChartProps, type TooltipProp } from "./physicsHocUtils";
|
|
10
|
+
export type { ProcessFlowStageDef, ProcessFlowProjectionMetadata };
|
|
11
|
+
export interface ProcessFlowChartProps<TDatum extends Datum = Datum> extends Omit<BaseChartProps, "margin" | "selection">, PhysicsSharedChartProps {
|
|
12
|
+
data?: TDatum[];
|
|
13
|
+
size?: [number, number];
|
|
14
|
+
stages: readonly ProcessFlowStageDef[];
|
|
15
|
+
idAccessor?: ChartAccessor<TDatum, string>;
|
|
16
|
+
stageAccessor?: ChartAccessor<TDatum, string>;
|
|
17
|
+
groupBy?: ChartAccessor<TDatum, string>;
|
|
18
|
+
groupLabelAccessor?: ChartAccessor<TDatum, string>;
|
|
19
|
+
workAccessor?: ChartAccessor<TDatum, number>;
|
|
20
|
+
radiusAccessor?: ChartAccessor<TDatum, number>;
|
|
21
|
+
ballRadius?: number;
|
|
22
|
+
colorBy?: ChartAccessor<TDatum, string>;
|
|
23
|
+
seed?: number;
|
|
24
|
+
route?: "horizontal";
|
|
25
|
+
groupCompletion?: "allAbsorbed" | "none";
|
|
26
|
+
groupAnchorAlong?: number;
|
|
27
|
+
showProjection?: boolean;
|
|
28
|
+
showChrome?: boolean;
|
|
29
|
+
/** Options for the default processChrome overlay (stage bays, badges, sockets). */
|
|
30
|
+
chromeOptions?: ProcessChromeOptions;
|
|
31
|
+
settle?: boolean;
|
|
32
|
+
gravityX?: number;
|
|
33
|
+
gravityY?: number;
|
|
34
|
+
springStiffness?: number;
|
|
35
|
+
springDamping?: number;
|
|
36
|
+
tooltip?: TooltipProp;
|
|
37
|
+
paused?: boolean;
|
|
38
|
+
initialSpawnPacing?: StreamPhysicsFrameProps["initialSpawnPacing"];
|
|
39
|
+
/**
|
|
40
|
+
* When true (default), stages with `capacity` install live FIFO queue
|
|
41
|
+
* controllers that drain work at unitsPerSecond — not just force theater.
|
|
42
|
+
*/
|
|
43
|
+
liveCapacity?: boolean;
|
|
44
|
+
/** Live capacity metrics callback (queue depth, processed count per region). */
|
|
45
|
+
onCapacityChange?: (stats: CapacityQueueSnapshot[]) => void;
|
|
46
|
+
/** Shared selection (process body restyle without relayout). */
|
|
47
|
+
selection?: PhysicsBodySelection | null;
|
|
48
|
+
/**
|
|
49
|
+
* Soft body budget: caps live bodies via pipeline bodyLimit (evict oldest).
|
|
50
|
+
* Use for infinite/long streams with sediment-style history in the readout.
|
|
51
|
+
*/
|
|
52
|
+
bodyLimit?: number;
|
|
53
|
+
/** Mark kind for all bodies, or read per-row from datum.__physicsMark / mark. */
|
|
54
|
+
bodyMark?: "circle" | "halo" | "faceted" | "pill" | "diamond" | "square";
|
|
55
|
+
/** Frame passthrough; HOC-owned `config` is merged after the built pipeline config. */
|
|
56
|
+
frameProps?: PhysicsHocFrameProps;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Physics-backed multi-body process flow: work items move through capacitated
|
|
60
|
+
* stages with optional feature groups that complete only when every member is
|
|
61
|
+
* absorbed (the merge-pressure / review-queue pattern).
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```tsx
|
|
65
|
+
* <ProcessFlowChart
|
|
66
|
+
* data={prs}
|
|
67
|
+
* idAccessor="id"
|
|
68
|
+
* stageAccessor="status"
|
|
69
|
+
* groupBy="featureId"
|
|
70
|
+
* stages={[
|
|
71
|
+
* { id: "coding", label: "Coding", force: 14 },
|
|
72
|
+
* { id: "review", label: "Review", capacity: { unitsPerSecond: 4 }, pressure: true },
|
|
73
|
+
* { id: "merged", label: "Merged", absorb: true },
|
|
74
|
+
* ]}
|
|
75
|
+
* />
|
|
76
|
+
* ```
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```tsx
|
|
80
|
+
* // Push-only: omit data, stream work items live through the capacity lane.
|
|
81
|
+
* const ref = useRef()
|
|
82
|
+
* <ProcessFlowChart
|
|
83
|
+
* ref={ref}
|
|
84
|
+
* stages={[
|
|
85
|
+
* { id: "triage", label: "Triage", force: 10 },
|
|
86
|
+
* { id: "review", label: "Review", capacity: { unitsPerSecond: 3 } },
|
|
87
|
+
* { id: "done", label: "Done", absorb: true },
|
|
88
|
+
* ]}
|
|
89
|
+
* stageAccessor="stage"
|
|
90
|
+
* liveCapacity
|
|
91
|
+
* />
|
|
92
|
+
* ref.current?.push({ id: "pr-42", stage: "review", work: 2 })
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
export declare const ProcessFlowChart: React.ForwardRefExoticComponent<ProcessFlowChartProps<Datum> & React.RefAttributes<PhysicsFrameHandle>>;
|
|
96
|
+
export default ProcessFlowChart;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { Datum } from "../shared/datumTypes";
|
|
3
|
+
import type { DependencyMachine, DependencyTrackLayout } from "./dependencyMachine";
|
|
4
|
+
import type { RuntimeState } from "./chainReactionRuntime";
|
|
5
|
+
export interface ChainReactionOverlayProps<TDatum extends Datum = Datum> {
|
|
6
|
+
machine: DependencyMachine<TDatum>;
|
|
7
|
+
layout: DependencyTrackLayout;
|
|
8
|
+
runtime: RuntimeState;
|
|
9
|
+
downstreamSet: ReadonlySet<string>;
|
|
10
|
+
selectedSet: ReadonlySet<string>;
|
|
11
|
+
width: number;
|
|
12
|
+
height: number;
|
|
13
|
+
seed: number;
|
|
14
|
+
reduced: boolean;
|
|
15
|
+
onSelectTask: (taskID: string) => void;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* SVG chrome painted above the physics canvas: workstream lanes, dependency
|
|
19
|
+
* tracks + delivery sockets, and the domino task cards (which topple on
|
|
20
|
+
* completion). Interaction is delegated back through `onSelectTask`.
|
|
21
|
+
*/
|
|
22
|
+
export declare function ChainReactionOverlay<TDatum extends Datum = Datum>({ machine, layout, runtime, downstreamSet, selectedSet, width, height, seed, reduced, onSelectTask }: ChainReactionOverlayProps<TDatum>): React.ReactElement;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { PhysicsBodyState } from "../../stream/physics/PhysicsKernel";
|
|
2
|
+
import type { PhysicsQueuedSpawn } from "../../stream/physics/PhysicsPipelineStore";
|
|
3
|
+
import type { PhysicsSemanticItem, StreamPhysicsBodyForceContext } from "../../stream/physics/StreamPhysicsFrame";
|
|
4
|
+
import type { Datum } from "../shared/datumTypes";
|
|
5
|
+
import type { DependencyMachine, DependencyMachineEdge, DependencyMachineNode, DependencyPoint, DependencyTrackLayout, DependencyTrackRoute } from "./dependencyMachine";
|
|
6
|
+
import type { ChainReactionMode } from "./chainReactionTypes";
|
|
7
|
+
export interface RuntimeState {
|
|
8
|
+
currentTime: number;
|
|
9
|
+
playing: boolean;
|
|
10
|
+
completed: Set<string>;
|
|
11
|
+
delivered: Set<string>;
|
|
12
|
+
inFlight: Set<string>;
|
|
13
|
+
armed: Set<string>;
|
|
14
|
+
blockers: Map<string, string>;
|
|
15
|
+
previewTaskID: string | null;
|
|
16
|
+
}
|
|
17
|
+
interface DependencyBallDatum {
|
|
18
|
+
kind: "dependency-ball";
|
|
19
|
+
edgeID: string;
|
|
20
|
+
sourceID: string;
|
|
21
|
+
targetID: string;
|
|
22
|
+
route: DependencyPoint[];
|
|
23
|
+
}
|
|
24
|
+
export declare const EMPTY_SPAWNS: PhysicsQueuedSpawn[];
|
|
25
|
+
export declare function numericTime(value: number | Date | undefined, fallback?: number): number;
|
|
26
|
+
export declare function taskCompletionTime<TDatum extends Datum>(node: DependencyMachineNode<TDatum>): number | null;
|
|
27
|
+
export declare function resolvedArmed<TDatum extends Datum>(machine: DependencyMachine<TDatum>, delivered: ReadonlySet<string>, blockers: ReadonlyMap<string, string>, completed: ReadonlySet<string>): Set<string>;
|
|
28
|
+
export declare function initialRuntime<TDatum extends Datum>(machine: DependencyMachine<TDatum>, mode: ChainReactionMode, currentTime: number, reducedMotion: boolean): RuntimeState;
|
|
29
|
+
export declare function copyRuntime(runtime: RuntimeState): RuntimeState;
|
|
30
|
+
export declare function dependencyBallDatum(body: PhysicsBodyState): DependencyBallDatum | null;
|
|
31
|
+
export declare function dependencyBodyForce(context: StreamPhysicsBodyForceContext): {
|
|
32
|
+
x: number;
|
|
33
|
+
y: number;
|
|
34
|
+
} | null;
|
|
35
|
+
export declare function ballSpawn(edge: DependencyMachineEdge, route: DependencyTrackRoute): PhysicsQueuedSpawn;
|
|
36
|
+
export declare function machineSemanticItems<TDatum extends Datum>(machine: DependencyMachine<TDatum>, layout: DependencyTrackLayout, runtime: RuntimeState): PhysicsSemanticItem[];
|
|
37
|
+
export {};
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import type { Datum } from "../shared/datumTypes";
|
|
2
|
+
import type { BlockerAmplification, DependencyAccessor, DependencyTaskStatus } from "./dependencyMachine";
|
|
3
|
+
export type ChainReactionMode = "snapshot" | "replay" | "mechanical";
|
|
4
|
+
export type ChainReactionInsight = "none" | "blocker-amplification";
|
|
5
|
+
export type ChainReactionControl = "play" | "pause" | "step" | "reset" | "settle";
|
|
6
|
+
export type ChainReactionObservation<TDatum extends Datum = Datum> = {
|
|
7
|
+
type: "task-completed";
|
|
8
|
+
taskID: string;
|
|
9
|
+
datum: TDatum;
|
|
10
|
+
} | {
|
|
11
|
+
type: "dependency-delivered";
|
|
12
|
+
sourceID: string;
|
|
13
|
+
targetID: string;
|
|
14
|
+
} | {
|
|
15
|
+
type: "task-armed";
|
|
16
|
+
taskID: string;
|
|
17
|
+
} | {
|
|
18
|
+
type: "machine-stalled";
|
|
19
|
+
blockerID: string;
|
|
20
|
+
downstreamTaskCount: number;
|
|
21
|
+
affectedLaneCount: number;
|
|
22
|
+
} | {
|
|
23
|
+
type: "blocker-previewed";
|
|
24
|
+
blockerID: string;
|
|
25
|
+
downstreamTaskIDs: string[];
|
|
26
|
+
} | {
|
|
27
|
+
type: "machine-settled";
|
|
28
|
+
};
|
|
29
|
+
export interface ChainReactionTaskState {
|
|
30
|
+
taskID: string;
|
|
31
|
+
completed: boolean;
|
|
32
|
+
armed: boolean;
|
|
33
|
+
blocked: boolean;
|
|
34
|
+
blockerReason?: string;
|
|
35
|
+
}
|
|
36
|
+
export interface ChainReactionDependencyState {
|
|
37
|
+
edgeID: string;
|
|
38
|
+
sourceID: string;
|
|
39
|
+
targetID: string;
|
|
40
|
+
state: "waiting" | "in-flight" | "delivered";
|
|
41
|
+
}
|
|
42
|
+
export interface ChainReactionMachineState {
|
|
43
|
+
currentTime: number;
|
|
44
|
+
playing: boolean;
|
|
45
|
+
previewTaskID: string | null;
|
|
46
|
+
selectedTaskIDs: string[];
|
|
47
|
+
tasks: ChainReactionTaskState[];
|
|
48
|
+
dependencies: ChainReactionDependencyState[];
|
|
49
|
+
}
|
|
50
|
+
export interface ChainReactionChartHandle {
|
|
51
|
+
play: () => void;
|
|
52
|
+
pause: () => void;
|
|
53
|
+
step: () => void;
|
|
54
|
+
reset: () => void;
|
|
55
|
+
settle: () => void;
|
|
56
|
+
previewResolve: (taskID: string) => void;
|
|
57
|
+
clearPreview: () => void;
|
|
58
|
+
completeTask: (taskID: string) => void;
|
|
59
|
+
blockTask: (taskID: string, reason: string) => void;
|
|
60
|
+
unblockTask: (taskID: string) => void;
|
|
61
|
+
getAmplification: (taskID: string) => BlockerAmplification;
|
|
62
|
+
getMachineState: () => ChainReactionMachineState;
|
|
63
|
+
}
|
|
64
|
+
export interface ChainReactionChartProps<TDatum extends Datum = Datum> {
|
|
65
|
+
data: readonly TDatum[];
|
|
66
|
+
taskIDAccessor: DependencyAccessor<TDatum, string | number>;
|
|
67
|
+
labelAccessor: DependencyAccessor<TDatum, string>;
|
|
68
|
+
laneAccessor: DependencyAccessor<TDatum, string>;
|
|
69
|
+
dependencyAccessor: DependencyAccessor<TDatum, readonly (string | number)[]>;
|
|
70
|
+
startAccessor?: DependencyAccessor<TDatum, number | Date | undefined>;
|
|
71
|
+
endAccessor?: DependencyAccessor<TDatum, number | Date | undefined>;
|
|
72
|
+
progressAccessor?: DependencyAccessor<TDatum, number | undefined>;
|
|
73
|
+
statusAccessor?: DependencyAccessor<TDatum, DependencyTaskStatus | undefined>;
|
|
74
|
+
completionTimeAccessor?: DependencyAccessor<TDatum, number | Date | undefined>;
|
|
75
|
+
blockerAccessor?: DependencyAccessor<TDatum, string | undefined>;
|
|
76
|
+
milestoneAccessor?: DependencyAccessor<TDatum, boolean | undefined>;
|
|
77
|
+
mechanism?: "domino-ball";
|
|
78
|
+
orientation?: "vertical";
|
|
79
|
+
mode?: ChainReactionMode;
|
|
80
|
+
insight?: ChainReactionInsight;
|
|
81
|
+
currentTime?: number | Date;
|
|
82
|
+
controls?: boolean | readonly ChainReactionControl[];
|
|
83
|
+
selectedTaskIDs?: readonly string[];
|
|
84
|
+
onSelectionChange?: (ids: string[]) => void;
|
|
85
|
+
onObservation?: (event: ChainReactionObservation<TDatum>) => void;
|
|
86
|
+
reducedMotion?: "settle";
|
|
87
|
+
seed?: number;
|
|
88
|
+
width?: number;
|
|
89
|
+
height?: number;
|
|
90
|
+
responsiveWidth?: boolean;
|
|
91
|
+
responsiveHeight?: boolean;
|
|
92
|
+
title?: string;
|
|
93
|
+
description?: string;
|
|
94
|
+
className?: string;
|
|
95
|
+
accessibleTable?: boolean;
|
|
96
|
+
enableHover?: boolean;
|
|
97
|
+
}
|