semiotic 3.7.5 → 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 +54 -12
- 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 +1651 -154
- package/ai/examples.md +174 -0
- package/ai/schema.json +2733 -536
- package/ai/surface-manifest.json +200 -0
- package/ai/system-prompt.md +18 -3
- 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/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/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/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 +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 +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 +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/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/colorUtils.d.ts +16 -1
- 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/motionEncoding.d.ts +145 -0
- package/dist/components/charts/shared/responsiveRules.d.ts +56 -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/types.d.ts +49 -1
- package/dist/components/charts/shared/useChartSetup.d.ts +9 -2
- package/dist/components/charts/shared/useCustomChartSetup.d.ts +14 -5
- 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/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 +1 -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/fromFlintChart.d.ts +74 -0
- package/dist/components/data/fromVegaLite.d.ts +27 -0
- 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/semiotic-ai-core.d.ts +47 -0
- package/dist/components/semiotic-ai.d.ts +50 -8
- package/dist/components/semiotic-controls.d.ts +18 -0
- package/dist/components/semiotic-experimental.d.ts +38 -9
- package/dist/components/semiotic-geo.d.ts +11 -0
- package/dist/components/semiotic-network.d.ts +11 -0
- package/dist/components/semiotic-ordinal.d.ts +8 -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 -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-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 +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 +8 -0
- package/dist/components/semiotic.d.ts +35 -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 +3 -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 +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/NetworkPipelineStore.d.ts +31 -26
- package/dist/components/stream/NetworkSVGOverlay.d.ts +4 -1
- package/dist/components/stream/OrdinalPipelineStore.d.ts +46 -2
- package/dist/components/stream/PipelineStore.d.ts +81 -170
- package/dist/components/stream/SceneGraph.d.ts +9 -1
- 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/customLayoutFailure.d.ts +33 -0
- package/dist/components/stream/customLayoutPalette.d.ts +19 -9
- 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/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 +76 -5
- 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 +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/ordinalSpatialIndex.d.ts +9 -0
- package/dist/components/stream/ordinalTypes.d.ts +40 -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/resolveCSSColor.d.ts +6 -0
- package/dist/components/stream/sceneRevisionDiagnostics.d.ts +18 -0
- package/dist/components/stream/streamStoreSync.d.ts +37 -0
- package/dist/components/stream/types.d.ts +135 -7
- 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/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/types.d.ts +4 -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 +50 -8
- 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.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 +11 -0
- package/dist/semiotic-network.d.ts +11 -0
- package/dist/semiotic-ordinal.d.ts +8 -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 -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-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 +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 +8 -0
- package/dist/semiotic.d.ts +35 -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 +239 -87
- package/spec/README.md +152 -0
- package/spec/bindings/README.md +35 -0
- package/spec/bindings/vega-lite.mjs +112 -0
- package/spec/v0.1/annotation-provenance.schema.json +127 -0
- package/spec/v0.1/audience-profile.schema.json +67 -0
- package/spec/v0.1/chart-capability.schema.json +186 -0
- package/dist/components/recipes/gofish.d.ts +0 -207
- package/dist/components/recipes/gofishInterpreter.d.ts +0 -52
- package/dist/components/recipes/gofishLambdas.d.ts +0 -145
- package/dist/semiotic-ai-semiotic-ai-u954ylUn.js +0 -2
- package/dist/semiotic-ai-statisticalOverlays-CU7jW05Q.js +0 -1
- package/dist/semiotic-semiotic-BmrYbi99.js +0 -2
- package/dist/semiotic-statisticalOverlays-IjZw8Lsu.js +0 -1
- package/dist/xy-semiotic-xy-Dufu3D0-.js +0 -2
- package/dist/xy-statisticalOverlays-3Ni9bRph.js +0 -1
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Process-physics chrome kit — stage bays, capacity badges, absorb basins,
|
|
3
|
+
* feature sockets, and flow spines for ProcessFlow / custom process layouts.
|
|
4
|
+
*
|
|
5
|
+
* Theme via CSS vars (with solid fallbacks so chrome never goes blank):
|
|
6
|
+
* --semiotic-process-floor, --semiotic-process-lane, --semiotic-process-border
|
|
7
|
+
* --semiotic-process-text, --semiotic-process-muted
|
|
8
|
+
* --semiotic-success / warning / danger / info for semantic stage roles
|
|
9
|
+
*/
|
|
10
|
+
import * as React from "react";
|
|
11
|
+
export interface ProcessChromeStage {
|
|
12
|
+
id: string;
|
|
13
|
+
label: string;
|
|
14
|
+
x0: number;
|
|
15
|
+
x1: number;
|
|
16
|
+
x: number;
|
|
17
|
+
width: number;
|
|
18
|
+
count?: number;
|
|
19
|
+
capacity?: number;
|
|
20
|
+
/** Reader-facing capacity badge; defaults to the numeric `cap` label. */
|
|
21
|
+
capacityLabel?: string;
|
|
22
|
+
/** Override stage badges without hiding capacity badges across the layout. */
|
|
23
|
+
showBadge?: boolean;
|
|
24
|
+
absorb?: boolean;
|
|
25
|
+
portalTarget?: string;
|
|
26
|
+
queueDepth?: number;
|
|
27
|
+
processed?: number;
|
|
28
|
+
}
|
|
29
|
+
export interface ProcessChromeGroup {
|
|
30
|
+
id: string;
|
|
31
|
+
label: string;
|
|
32
|
+
x: number;
|
|
33
|
+
y: number;
|
|
34
|
+
absorbed?: number;
|
|
35
|
+
total?: number;
|
|
36
|
+
complete?: boolean;
|
|
37
|
+
}
|
|
38
|
+
export interface ProcessChromeLayout {
|
|
39
|
+
width: number;
|
|
40
|
+
height: number;
|
|
41
|
+
left: number;
|
|
42
|
+
right: number;
|
|
43
|
+
topY: number;
|
|
44
|
+
bottomY: number;
|
|
45
|
+
midY: number;
|
|
46
|
+
stages: readonly ProcessChromeStage[];
|
|
47
|
+
groups?: readonly ProcessChromeGroup[];
|
|
48
|
+
}
|
|
49
|
+
export interface ProcessChromeOptions {
|
|
50
|
+
showFlowSpine?: boolean;
|
|
51
|
+
showStageCounts?: boolean;
|
|
52
|
+
showCapacityBadges?: boolean;
|
|
53
|
+
showGroupSockets?: boolean;
|
|
54
|
+
/** Fit stage labels to the stage band instead of drawing fixed-width pills. */
|
|
55
|
+
stageLabelMode?: "auto" | "full" | "compact" | "none";
|
|
56
|
+
/**
|
|
57
|
+
* When true, stage bays are stroke-only (transparent fill) so particles
|
|
58
|
+
* and paired charts remain visible through the gate geometry.
|
|
59
|
+
*/
|
|
60
|
+
outlineStages?: boolean;
|
|
61
|
+
testId?: string;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* SVG process chrome for overlays / backgroundGraphics.
|
|
65
|
+
* Pure presentational — call from ProcessFlowChart or PhysicsCustomChart.
|
|
66
|
+
*/
|
|
67
|
+
export declare function processChrome(layout: ProcessChromeLayout, options?: ProcessChromeOptions): React.ReactElement;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Serializable stage-journey state derived from physics region events.
|
|
3
|
+
*
|
|
4
|
+
* Keep this reducer independent from a live physics runtime so authors can
|
|
5
|
+
* replay, compare, persist, and project the same event stream deterministically.
|
|
6
|
+
*/
|
|
7
|
+
import type { StreamPhysicsRegionEvent } from "../stream/physics/StreamPhysicsFrame";
|
|
8
|
+
export interface ProcessJourneyStage {
|
|
9
|
+
id: string;
|
|
10
|
+
label?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface ProcessJourneyEntityState {
|
|
13
|
+
id: string;
|
|
14
|
+
currentStageId?: string;
|
|
15
|
+
furthestStageId?: string;
|
|
16
|
+
furthestStageIndex: number;
|
|
17
|
+
visitedStageIds: string[];
|
|
18
|
+
visitsByStage: Record<string, number>;
|
|
19
|
+
firstEnteredAt: Record<string, number>;
|
|
20
|
+
lastEnteredAt: Record<string, number>;
|
|
21
|
+
regressionCount: number;
|
|
22
|
+
}
|
|
23
|
+
export interface ProcessJourneyLedger {
|
|
24
|
+
stages: ProcessJourneyStage[];
|
|
25
|
+
bodyIds: string[];
|
|
26
|
+
entities: Record<string, ProcessJourneyEntityState>;
|
|
27
|
+
}
|
|
28
|
+
type ProcessJourneyRegionEvent = Pick<StreamPhysicsRegionEvent, "bodyId" | "datum" | "region">;
|
|
29
|
+
export interface ProcessJourneyUpdateOptions {
|
|
30
|
+
entityId?: (event: ProcessJourneyRegionEvent) => string;
|
|
31
|
+
stageId?: (event: ProcessJourneyRegionEvent) => string | undefined;
|
|
32
|
+
}
|
|
33
|
+
export interface ProcessJourneyRow {
|
|
34
|
+
id: string;
|
|
35
|
+
label: string;
|
|
36
|
+
reached: number;
|
|
37
|
+
entered: number;
|
|
38
|
+
total: number;
|
|
39
|
+
conversion: number;
|
|
40
|
+
fromPrevious: number;
|
|
41
|
+
dropoff: number;
|
|
42
|
+
visits: number;
|
|
43
|
+
repeatVisits: number;
|
|
44
|
+
}
|
|
45
|
+
/** Create serializable journey state for a known or initially empty cohort. */
|
|
46
|
+
export declare function createProcessJourneyLedger(options: {
|
|
47
|
+
stages: readonly ProcessJourneyStage[];
|
|
48
|
+
bodyIds?: readonly string[];
|
|
49
|
+
}): ProcessJourneyLedger;
|
|
50
|
+
/** Reduce a stage-region enter into unique reach and visit-aware entity state. */
|
|
51
|
+
export declare function updateProcessJourney(previous: ProcessJourneyLedger, event: Pick<StreamPhysicsRegionEvent, "type" | "bodyId" | "datum" | "observation" | "region">, options?: ProcessJourneyUpdateOptions): ProcessJourneyLedger;
|
|
52
|
+
/** Convert a live journey ledger into stable stage reach and conversion rows. */
|
|
53
|
+
export declare function processJourneyRows(ledger: ProcessJourneyLedger): ProcessJourneyRow[];
|
|
54
|
+
export {};
|
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Process-physics authoring kit.
|
|
3
|
+
*
|
|
4
|
+
* Pure helpers that turn stage / membrane / route / capacity *declarations*
|
|
5
|
+
* into colliders, regionEffects, body-group specs, and settled-projection
|
|
6
|
+
* rows — the recurring geometry that process demos (stakeholder journey,
|
|
7
|
+
* merge pressure, gauntlets) otherwise re-derive by hand.
|
|
8
|
+
*
|
|
9
|
+
* Use with StreamPhysicsFrame / PhysicsCustomChart / ProcessFlow HOCs.
|
|
10
|
+
* Dynamics stay on the frame; these functions only emit declarative specs.
|
|
11
|
+
*/
|
|
12
|
+
import type { PhysicsColliderBodyFilter, PhysicsColliderSpec } from "../stream/physics/PhysicsKernel";
|
|
13
|
+
import type { PhysicsSemanticItem, StreamPhysicsRegionEffect, StreamPhysicsRegionKind, StreamPhysicsRegionVector } from "../stream/physics/StreamPhysicsFrame";
|
|
14
|
+
import type { Style } from "../stream/types";
|
|
15
|
+
import type { Datum } from "../charts/shared/datumTypes";
|
|
16
|
+
export type ProcessVolumeShape = "lane" | "bowtie" | "funnel";
|
|
17
|
+
export interface ProcessStageDef {
|
|
18
|
+
id: string;
|
|
19
|
+
label?: string;
|
|
20
|
+
description?: string;
|
|
21
|
+
/** Relative width share. Defaults to equal shares. */
|
|
22
|
+
share?: number;
|
|
23
|
+
kind?: StreamPhysicsRegionKind | string;
|
|
24
|
+
}
|
|
25
|
+
export interface ProcessMembraneDef {
|
|
26
|
+
id: string;
|
|
27
|
+
label?: string;
|
|
28
|
+
description?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Position along the process axis as a fraction of the left approach
|
|
31
|
+
* (bowtie) or full width (lane/funnel). 0 = start, 1 = end of that span.
|
|
32
|
+
*/
|
|
33
|
+
offset: number;
|
|
34
|
+
/** 0–1 cost: maps to damping and energyDelta. */
|
|
35
|
+
cost: number;
|
|
36
|
+
/** Vertical center offset in plot px (visual wobble). */
|
|
37
|
+
wobble?: number;
|
|
38
|
+
color?: string;
|
|
39
|
+
/** Override membrane band width in px. */
|
|
40
|
+
width?: number;
|
|
41
|
+
dampingScale?: number;
|
|
42
|
+
bodyStyle?: Style;
|
|
43
|
+
metadata?: unknown;
|
|
44
|
+
semanticItem?: false | Partial<PhysicsSemanticItem>;
|
|
45
|
+
}
|
|
46
|
+
export interface ProcessVolumeLayoutOptions {
|
|
47
|
+
width: number;
|
|
48
|
+
height: number;
|
|
49
|
+
stages: readonly ProcessStageDef[];
|
|
50
|
+
shape?: ProcessVolumeShape;
|
|
51
|
+
padX?: number;
|
|
52
|
+
padY?: number;
|
|
53
|
+
/**
|
|
54
|
+
* Bowtie: vertical pinch height as a fraction of usable height
|
|
55
|
+
* (default 0.18). Lane ignores this.
|
|
56
|
+
*/
|
|
57
|
+
pinchRatio?: number;
|
|
58
|
+
/**
|
|
59
|
+
* Plot-pixel offset added to the ratio-derived pinch height. Recompute the
|
|
60
|
+
* layout with a live metric here to move bowtie/funnel walls and boundaries
|
|
61
|
+
* as one. Lane geometry is unaffected.
|
|
62
|
+
*/
|
|
63
|
+
pinchHeightOffset?: number;
|
|
64
|
+
/**
|
|
65
|
+
* Bowtie: which stage index is the center "pinch" band
|
|
66
|
+
* (default: middle stage).
|
|
67
|
+
*/
|
|
68
|
+
centerStageIndex?: number;
|
|
69
|
+
membranes?: readonly ProcessMembraneDef[];
|
|
70
|
+
idPrefix?: string;
|
|
71
|
+
friction?: number;
|
|
72
|
+
restitution?: number;
|
|
73
|
+
wallThickness?: number;
|
|
74
|
+
/**
|
|
75
|
+
* When true (default), membrane regionEffects are included on the layout.
|
|
76
|
+
* Force fields / charge gates / portals are composed separately.
|
|
77
|
+
*/
|
|
78
|
+
includeMembraneRegions?: boolean;
|
|
79
|
+
membraneDampingScale?: number;
|
|
80
|
+
}
|
|
81
|
+
export interface ProcessVolumeStageBand {
|
|
82
|
+
id: string;
|
|
83
|
+
label?: string;
|
|
84
|
+
description?: string;
|
|
85
|
+
kind?: StreamPhysicsRegionKind | string;
|
|
86
|
+
index: number;
|
|
87
|
+
x0: number;
|
|
88
|
+
x1: number;
|
|
89
|
+
/** Center x of the stage band. */
|
|
90
|
+
x: number;
|
|
91
|
+
width: number;
|
|
92
|
+
/** Center y of the stage slice's axis-aligned physical envelope. */
|
|
93
|
+
y: number;
|
|
94
|
+
/** Height of the stage slice's axis-aligned physical envelope. */
|
|
95
|
+
height: number;
|
|
96
|
+
}
|
|
97
|
+
export interface ProcessVolumeMembraneBand extends ProcessMembraneDef {
|
|
98
|
+
x: number;
|
|
99
|
+
y: number;
|
|
100
|
+
width: number;
|
|
101
|
+
height: number;
|
|
102
|
+
}
|
|
103
|
+
export interface ProcessVolumeLayout {
|
|
104
|
+
shape: ProcessVolumeShape;
|
|
105
|
+
width: number;
|
|
106
|
+
height: number;
|
|
107
|
+
padX: number;
|
|
108
|
+
padY: number;
|
|
109
|
+
left: number;
|
|
110
|
+
right: number;
|
|
111
|
+
topY: number;
|
|
112
|
+
bottomY: number;
|
|
113
|
+
midY: number;
|
|
114
|
+
centerLeft: number;
|
|
115
|
+
centerRight: number;
|
|
116
|
+
/** Resolved interior height of the bowtie/funnel pinch in plot pixels. */
|
|
117
|
+
pinchHeight: number;
|
|
118
|
+
pinchTop: number;
|
|
119
|
+
pinchBottom: number;
|
|
120
|
+
stages: ProcessVolumeStageBand[];
|
|
121
|
+
membranes: ProcessVolumeMembraneBand[];
|
|
122
|
+
colliders: PhysicsColliderSpec[];
|
|
123
|
+
regionEffects: StreamPhysicsRegionEffect[];
|
|
124
|
+
/** Interior height of the volume at x (top/bottom boundary). */
|
|
125
|
+
boundaryY: (x: number, side: "top" | "bottom") => number;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Build a horizontal process volume: stage bands, optional membranes, and
|
|
129
|
+
* shape-specific wall colliders (`lane` | `bowtie` | `funnel`).
|
|
130
|
+
*/
|
|
131
|
+
export declare function processStageLayout(options: ProcessVolumeLayoutOptions): ProcessVolumeLayout;
|
|
132
|
+
export interface ProcessRegionBaseOptions {
|
|
133
|
+
id: string;
|
|
134
|
+
label?: string;
|
|
135
|
+
description?: string;
|
|
136
|
+
kind?: StreamPhysicsRegionKind;
|
|
137
|
+
x: number;
|
|
138
|
+
y: number;
|
|
139
|
+
width: number;
|
|
140
|
+
height: number;
|
|
141
|
+
bodyFilter?: PhysicsColliderBodyFilter;
|
|
142
|
+
collider?: StreamPhysicsRegionEffect["collider"];
|
|
143
|
+
colliderThickness?: number;
|
|
144
|
+
friction?: number;
|
|
145
|
+
restitution?: number;
|
|
146
|
+
semanticItem?: false | Partial<PhysicsSemanticItem>;
|
|
147
|
+
metadata?: unknown;
|
|
148
|
+
bodyStyle?: Style;
|
|
149
|
+
attributes?: StreamPhysicsRegionEffect["attributes"];
|
|
150
|
+
onEnter?: StreamPhysicsRegionEffect["onEnter"];
|
|
151
|
+
onExit?: StreamPhysicsRegionEffect["onExit"];
|
|
152
|
+
}
|
|
153
|
+
export interface ProcessStageRegionOptions {
|
|
154
|
+
/** Region ids become `${idPrefix}:${stageId}`. Defaults to `stage`. */
|
|
155
|
+
idPrefix?: string;
|
|
156
|
+
insetX?: number;
|
|
157
|
+
insetY?: number;
|
|
158
|
+
bodyFilter?: PhysicsColliderBodyFilter;
|
|
159
|
+
semanticItem?: false | Partial<PhysicsSemanticItem>;
|
|
160
|
+
metadata?: Record<string, unknown> | ((stage: ProcessVolumeStageBand) => Record<string, unknown>);
|
|
161
|
+
}
|
|
162
|
+
/** Build one observation region from every stage's physical envelope. */
|
|
163
|
+
export declare function processStageRegions(layout: ProcessVolumeLayout, options?: ProcessStageRegionOptions): StreamPhysicsRegionEffect[];
|
|
164
|
+
/** Permeable information membrane: damps and taxes energy, does not block. */
|
|
165
|
+
export declare function membraneRegion(options: ProcessRegionBaseOptions & {
|
|
166
|
+
cost: number;
|
|
167
|
+
dampingScale?: number;
|
|
168
|
+
energyScale?: number;
|
|
169
|
+
color?: string;
|
|
170
|
+
}): StreamPhysicsRegionEffect;
|
|
171
|
+
/** Charge gate: stamps charge/energy when a body enters. */
|
|
172
|
+
export declare function chargeGateRegion(options: ProcessRegionBaseOptions & {
|
|
173
|
+
charge?: StreamPhysicsRegionEffect["charge"];
|
|
174
|
+
energyDelta?: number;
|
|
175
|
+
impulseOnEnter?: StreamPhysicsRegionVector;
|
|
176
|
+
}): StreamPhysicsRegionEffect;
|
|
177
|
+
/** Conveyor / route surface: continuous force while overlapping. */
|
|
178
|
+
export declare function routeSurfaceRegion(options: ProcessRegionBaseOptions & {
|
|
179
|
+
force?: StreamPhysicsRegionVector | number;
|
|
180
|
+
damping?: number;
|
|
181
|
+
}): StreamPhysicsRegionEffect;
|
|
182
|
+
/**
|
|
183
|
+
* Pressure field: drag rises with occupancy (or a precomputed pressure).
|
|
184
|
+
* For live occupancy coupling, pass `occupancy` each rebuild or a force
|
|
185
|
+
* function via the frame's regionEffects after counting active bodies.
|
|
186
|
+
*/
|
|
187
|
+
export declare function pressureFieldRegion(options: ProcessRegionBaseOptions & {
|
|
188
|
+
/** Occupancy or precomputed pressure scalar. */
|
|
189
|
+
pressure?: number;
|
|
190
|
+
occupancy?: number;
|
|
191
|
+
baseDamping?: number;
|
|
192
|
+
dampingPerUnit?: number;
|
|
193
|
+
energyPerUnit?: number;
|
|
194
|
+
force?: StreamPhysicsRegionVector;
|
|
195
|
+
}): StreamPhysicsRegionEffect;
|
|
196
|
+
/**
|
|
197
|
+
* Capacitated stage region: marks capacity metadata and optional force/damping.
|
|
198
|
+
* Pair with `createCapacityQueueController({ regionId })` (or ProcessFlowChart
|
|
199
|
+
* `liveCapacity`) for a live FIFO queue that drains at unitsPerSecond.
|
|
200
|
+
*/
|
|
201
|
+
export declare function capacitatedRegion(options: ProcessRegionBaseOptions & {
|
|
202
|
+
capacity: number;
|
|
203
|
+
unitsPerSecond?: number;
|
|
204
|
+
force?: StreamPhysicsRegionVector | number;
|
|
205
|
+
damping?: number;
|
|
206
|
+
charge?: StreamPhysicsRegionEffect["charge"];
|
|
207
|
+
}): StreamPhysicsRegionEffect;
|
|
208
|
+
/** Portal / rework loop: impulse or force that redirects bodies. */
|
|
209
|
+
export declare function portalRegion(options: ProcessRegionBaseOptions & {
|
|
210
|
+
force?: StreamPhysicsRegionVector;
|
|
211
|
+
impulseOnEnter?: StreamPhysicsRegionVector;
|
|
212
|
+
damping?: number;
|
|
213
|
+
targetStage?: string;
|
|
214
|
+
}): StreamPhysicsRegionEffect;
|
|
215
|
+
/** Absorbing sink (merge basin, completion socket). */
|
|
216
|
+
export declare function absorbRegion(options: ProcessRegionBaseOptions & {
|
|
217
|
+
force?: StreamPhysicsRegionVector | number;
|
|
218
|
+
damping?: number;
|
|
219
|
+
charge?: StreamPhysicsRegionEffect["charge"];
|
|
220
|
+
}): StreamPhysicsRegionEffect;
|
|
221
|
+
/** Generic force field (commitment, leadership, etc.). */
|
|
222
|
+
export declare function forceFieldRegion(options: ProcessRegionBaseOptions & {
|
|
223
|
+
force?: StreamPhysicsRegionVector;
|
|
224
|
+
damping?: number;
|
|
225
|
+
energyDelta?: number;
|
|
226
|
+
}): StreamPhysicsRegionEffect;
|
|
227
|
+
export interface BodyGroupSpecOptions<TDatum extends Datum = Datum> {
|
|
228
|
+
id: string;
|
|
229
|
+
label?: string;
|
|
230
|
+
description?: string;
|
|
231
|
+
group?: string;
|
|
232
|
+
bodyIds?: readonly string[];
|
|
233
|
+
datum?: TDatum;
|
|
234
|
+
state?: string;
|
|
235
|
+
x?: number;
|
|
236
|
+
y?: number;
|
|
237
|
+
width?: number;
|
|
238
|
+
height?: number;
|
|
239
|
+
/** Anchor point for tethers / chrome. */
|
|
240
|
+
anchor?: {
|
|
241
|
+
x: number;
|
|
242
|
+
y: number;
|
|
243
|
+
};
|
|
244
|
+
/**
|
|
245
|
+
* Completion rule consumed by `groupCompletionRows` and available to
|
|
246
|
+
* ProcessFlow / custom controllers as group metadata.
|
|
247
|
+
*/
|
|
248
|
+
completion?: {
|
|
249
|
+
mode: "allMembersAbsorbed" | "anyAbsorbed" | "threshold";
|
|
250
|
+
targetZone?: string;
|
|
251
|
+
/** Required absorbed member value when mode is `threshold`. */
|
|
252
|
+
threshold?: number;
|
|
253
|
+
/**
|
|
254
|
+
* Optional per-member values used by threshold completion and progress
|
|
255
|
+
* readouts. Members without an entry have value 1.
|
|
256
|
+
*/
|
|
257
|
+
valueByBodyId?: Readonly<Record<string, number>>;
|
|
258
|
+
};
|
|
259
|
+
tether?: {
|
|
260
|
+
stiffness?: number;
|
|
261
|
+
visible?: boolean;
|
|
262
|
+
restLength?: number;
|
|
263
|
+
};
|
|
264
|
+
semanticItem?: false | Partial<PhysicsSemanticItem>;
|
|
265
|
+
}
|
|
266
|
+
export interface BodyGroupSpec<TDatum extends Datum = Datum> {
|
|
267
|
+
id: string;
|
|
268
|
+
label?: string;
|
|
269
|
+
description?: string;
|
|
270
|
+
group?: string;
|
|
271
|
+
bodyIds?: readonly string[];
|
|
272
|
+
datum?: TDatum;
|
|
273
|
+
state?: string;
|
|
274
|
+
x?: number;
|
|
275
|
+
y?: number;
|
|
276
|
+
width?: number;
|
|
277
|
+
height?: number;
|
|
278
|
+
anchor?: {
|
|
279
|
+
x: number;
|
|
280
|
+
y: number;
|
|
281
|
+
};
|
|
282
|
+
completion?: BodyGroupSpecOptions<TDatum>["completion"];
|
|
283
|
+
tether?: BodyGroupSpecOptions<TDatum>["tether"];
|
|
284
|
+
semanticItem?: false | Partial<PhysicsSemanticItem>;
|
|
285
|
+
}
|
|
286
|
+
export declare function bodyGroupSpec<TDatum extends Datum = Datum>(options: BodyGroupSpecOptions<TDatum>): BodyGroupSpec<TDatum>;
|
|
287
|
+
export declare function processLaneWalls(options: {
|
|
288
|
+
idPrefix?: string;
|
|
289
|
+
left: number;
|
|
290
|
+
right: number;
|
|
291
|
+
top: number;
|
|
292
|
+
bottom: number;
|
|
293
|
+
friction?: number;
|
|
294
|
+
restitution?: number;
|
|
295
|
+
thickness?: number;
|
|
296
|
+
openEnds?: boolean;
|
|
297
|
+
}): PhysicsColliderSpec[];
|
|
298
|
+
export { aggregateRegionCounts, groupCompletionRows, regionCountsToProjectionRows } from "./processAggregates";
|
|
299
|
+
export type { RegionCountBucket, RegionCountMap } from "./processAggregates";
|
|
300
|
+
export { stageTargetInVolume } from "./processVolumeGeometry";
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/** Renderable polygons derived from the same geometry as process barriers. */
|
|
2
|
+
import type { ProcessVolumeLayout } from "./processPhysics";
|
|
3
|
+
export type ProcessVolumePoint = [x: number, y: number];
|
|
4
|
+
export type ProcessVolumePolygonRole = "volume" | "incoming" | "center" | "outgoing";
|
|
5
|
+
export interface ProcessVolumePolygon {
|
|
6
|
+
id: ProcessVolumePolygonRole;
|
|
7
|
+
role: ProcessVolumePolygonRole;
|
|
8
|
+
/** Clockwise points suitable for SVG, Canvas, or custom mark renderers. */
|
|
9
|
+
points: ProcessVolumePoint[];
|
|
10
|
+
}
|
|
11
|
+
/** Sample a spawn or spring target inside a stage and its physical walls. */
|
|
12
|
+
export declare function stageTargetInVolume(layout: ProcessVolumeLayout, stageId: string, options?: {
|
|
13
|
+
random?: () => number;
|
|
14
|
+
/** Horizontal position inside the stage as 0–1 (default 0.5). */
|
|
15
|
+
along?: number;
|
|
16
|
+
jitterX?: number;
|
|
17
|
+
padY?: number;
|
|
18
|
+
}): {
|
|
19
|
+
x: number;
|
|
20
|
+
y: number;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Derive visible process panels from a processStageLayout result.
|
|
24
|
+
*
|
|
25
|
+
* The returned edges share coordinates with the layout's physical wall
|
|
26
|
+
* colliders, keeping rendered boundaries and collision geometry synchronized.
|
|
27
|
+
*/
|
|
28
|
+
export declare function processVolumePolygons(layout: ProcessVolumeLayout): ProcessVolumePolygon[];
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Radial coordinate kit — the angle ⟂ radius primitives a bespoke radial chart
|
|
3
|
+
* needs when it encodes *two independent continuous channels* (angle = one
|
|
4
|
+
* field, radius = another) and so can't use a built-in band-and-radius radial
|
|
5
|
+
* scale. The radial analogue of the `bandLabel` / `roundedEnclosure` chrome kit.
|
|
6
|
+
*
|
|
7
|
+
* Pure / SSR-safe, dependency-free (no d3-scale / d3-shape, to keep the recipes
|
|
8
|
+
* bundle lean). Complements the `radialGeometry` helpers in `semiotic/utils`
|
|
9
|
+
* (`sweepToAngles` / `valueToAngle`) which target gauge-style single-value arcs.
|
|
10
|
+
*
|
|
11
|
+
* **Angle convention:** `0` points up (12 o'clock); angle increases **clockwise**
|
|
12
|
+
* (the d3-pie / d3-arc convention). Angles are in **radians**. This matches the
|
|
13
|
+
* SVG renderer and reads naturally for day-of-year / clock / compass charts.
|
|
14
|
+
*/
|
|
15
|
+
/** One full turn in radians. */
|
|
16
|
+
export declare const TAU: number;
|
|
17
|
+
export interface Point {
|
|
18
|
+
x: number;
|
|
19
|
+
y: number;
|
|
20
|
+
}
|
|
21
|
+
export interface PolarOptions {
|
|
22
|
+
/** Center of the polar system in plot coordinates. @default `{ x: 0, y: 0 }`
|
|
23
|
+
* (radial ordinal layouts are already center-translated). */
|
|
24
|
+
center?: Point;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Convert a polar `(angle, radius)` to Cartesian `(x, y)` in the kit's
|
|
28
|
+
* convention (0 = up, clockwise). Inverse of {@link xyToAngle}.
|
|
29
|
+
*/
|
|
30
|
+
export declare function polarToXY(angle: number, radius: number, opts?: PolarOptions): Point;
|
|
31
|
+
/**
|
|
32
|
+
* The angle (radians, 0 = up, clockwise, range `[0, TAU)`) of a point relative
|
|
33
|
+
* to the center — the inverse of {@link polarToXY}, for turning a pointer
|
|
34
|
+
* position into a domain value (e.g. a circular brush handle drag).
|
|
35
|
+
*/
|
|
36
|
+
export declare function xyToAngle(x: number, y: number, opts?: PolarOptions): number;
|
|
37
|
+
export interface AngleScaleOptions {
|
|
38
|
+
/** Angle (radians) at the domain start. @default 0 (up) */
|
|
39
|
+
startAngle?: number;
|
|
40
|
+
/** Angle (radians) at the domain end. @default {@link TAU} (full clockwise turn) */
|
|
41
|
+
endAngle?: number;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* A linear scale from a data domain to angles (radians). The continuous-angle
|
|
45
|
+
* companion to a band scale: `angleScale([0, 365])` maps day-of-year to a full
|
|
46
|
+
* clockwise turn from the top.
|
|
47
|
+
*/
|
|
48
|
+
export declare function angleScale(domain: readonly [number, number], opts?: AngleScaleOptions): (value: number) => number;
|
|
49
|
+
/**
|
|
50
|
+
* A linear scale from a data domain to a pixel radius range. The radial analogue
|
|
51
|
+
* of a y-scale: `radiusScale([-10, 110], [0, 180])` maps temperature to radius.
|
|
52
|
+
*/
|
|
53
|
+
export declare function radiusScale(domain: readonly [number, number], range: readonly [number, number]): (value: number) => number;
|
|
54
|
+
export type RingArcOptions = PolarOptions;
|
|
55
|
+
/**
|
|
56
|
+
* SVG path string for an **annular sector** (a ring arc) between two angles and
|
|
57
|
+
* two radii — the radial bar / brush-arc / envelope-band primitive the radial
|
|
58
|
+
* examples hand-rolled with `d3.arc`. Angles in the kit convention (0 = up,
|
|
59
|
+
* clockwise, radians). Handles three cases:
|
|
60
|
+
*
|
|
61
|
+
* - `innerRadius <= 0` → a pie wedge (lines to center).
|
|
62
|
+
* - a full turn (`|endAngle − startAngle| ≥ TAU`) → a complete ring/annulus
|
|
63
|
+
* (drawn as two half-arcs so SVG can render the closed loop).
|
|
64
|
+
* - otherwise → a standard annular sector.
|
|
65
|
+
*
|
|
66
|
+
* For a clean ring pass `startAngle < endAngle` (clockwise). A wrap-around range
|
|
67
|
+
* (e.g. a brush from day 350→20) should be split into two calls by the caller.
|
|
68
|
+
*/
|
|
69
|
+
export declare function ringArcPath(startAngle: number, endAngle: number, innerRadius: number, outerRadius: number, opts?: RingArcOptions): string;
|
|
@@ -64,6 +64,97 @@ export interface BandLabelProps {
|
|
|
64
64
|
/** A label placed at a band/axis position, suppressed when it would overflow
|
|
65
65
|
* `maxWidth` (the dedup pattern marimekko/parallelCoordinates hand-roll). */
|
|
66
66
|
export declare function bandLabel(p: BandLabelProps): ReactElement | null;
|
|
67
|
+
export interface HatchFillOptions {
|
|
68
|
+
/** Unique pattern id, referenced by the returned `fill`. */
|
|
69
|
+
id: string;
|
|
70
|
+
/** Line color. @default "currentColor" */
|
|
71
|
+
color?: string;
|
|
72
|
+
/** Hatch angle in degrees. @default 45 */
|
|
73
|
+
angle?: number;
|
|
74
|
+
/** Spacing between lines, px. @default 8 */
|
|
75
|
+
spacing?: number;
|
|
76
|
+
/** Line width, px. @default 1 */
|
|
77
|
+
strokeWidth?: number;
|
|
78
|
+
/** Line opacity. @default 0.5 */
|
|
79
|
+
opacity?: number;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* A diagonal-hatch SVG fill — for percentile envelopes, uncertainty bands, and
|
|
83
|
+
* "projected/estimated" regions. Returns a `<pattern>` `def` to drop in (any
|
|
84
|
+
* `<defs>`, or anywhere in the SVG tree) and a `fill` URL referencing it, so the
|
|
85
|
+
* chart band and a {@link legendSwatches} hatch swatch read identically instead
|
|
86
|
+
* of each hand-rolling a `<pattern>` (the per-example drift this removes).
|
|
87
|
+
*
|
|
88
|
+
* The SVG analogue of the canvas `createHatchPattern` (`semiotic/utils`); use
|
|
89
|
+
* this for SVG overlays / `foregroundGraphics`, that one for canvas pieceStyle.
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* ```ts
|
|
93
|
+
* const hatch = hatchFill({ id: "envelope", color: "var(--semiotic-text-secondary)" })
|
|
94
|
+
* // <>{hatch.def}<path d={bandPath} fill={hatch.fill} /></>
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
97
|
+
export declare function hatchFill(opts: HatchFillOptions): {
|
|
98
|
+
def: ReactElement;
|
|
99
|
+
fill: string;
|
|
100
|
+
};
|
|
101
|
+
export type AxisOrient = "bottom" | "top" | "left" | "right";
|
|
102
|
+
export interface LinearAxisProps {
|
|
103
|
+
/** Value → pixel along the axis. Pass any scale function — a `radiusScale`,
|
|
104
|
+
* a d3 scale, or an inline `(v) => (v - d0) / (d1 - d0) * width`. */
|
|
105
|
+
scale: (value: number) => number;
|
|
106
|
+
/** The tick values to draw. */
|
|
107
|
+
ticks: number[];
|
|
108
|
+
/** Axis side. `bottom`/`top` run horizontally (ticks vary x); `left`/`right`
|
|
109
|
+
* run vertically (ticks vary y). @default "bottom" */
|
|
110
|
+
orient?: AxisOrient;
|
|
111
|
+
/** Cross-axis position of the axis line — the `y` for a horizontal axis, the
|
|
112
|
+
* `x` for a vertical one. @default 0 */
|
|
113
|
+
offset?: number;
|
|
114
|
+
/** Tick-mark length (px), drawn outward from the axis toward the labels.
|
|
115
|
+
* `0` draws labels with no tick marks (the bare year-axis case). @default 6 */
|
|
116
|
+
tickLength?: number;
|
|
117
|
+
/** Extend each tick *into* the plot as a gridline of this length (px). The
|
|
118
|
+
* tick + gridline render as one continuous line. @default 0 */
|
|
119
|
+
gridLength?: number;
|
|
120
|
+
/** Dash pattern for the gridline portion (e.g. `"3 5"`). */
|
|
121
|
+
gridDasharray?: string;
|
|
122
|
+
/** Format a tick value for its label. @default `String` */
|
|
123
|
+
format?: (v: number) => string;
|
|
124
|
+
/** @default 11 */
|
|
125
|
+
fontSize?: number;
|
|
126
|
+
fontWeight?: number | string;
|
|
127
|
+
/** Tick + label color. @default "var(--semiotic-text-secondary, #888)" */
|
|
128
|
+
color?: string;
|
|
129
|
+
/** Gridline color, if different from `color`. */
|
|
130
|
+
gridColor?: string;
|
|
131
|
+
/** Gap between a tick's end and its label (px). @default 4 */
|
|
132
|
+
labelGap?: number;
|
|
133
|
+
/** Override label `text-anchor`. Defaults follow `orient`. */
|
|
134
|
+
labelAnchor?: "start" | "middle" | "end";
|
|
135
|
+
/** Anchor the first tick label `start` and the last `end` so edge labels stay
|
|
136
|
+
* inside the plot (pairs with `axisExtent="exact"`). Horizontal axes only.
|
|
137
|
+
* @default false */
|
|
138
|
+
edgeAnchor?: boolean;
|
|
139
|
+
className?: string;
|
|
140
|
+
keyId?: string | number;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* A linear tick axis drawn from *any* scale, for custom-layout `overlays` — the
|
|
144
|
+
* bespoke-scale escape hatch for axes (the built-in `showAxes` only works for
|
|
145
|
+
* layouts that respect the standard scale). Sibling to {@link bandLabel}: emits
|
|
146
|
+
* tick marks, optional gridlines, and labels as `pointerEvents: "none"` SVG.
|
|
147
|
+
*
|
|
148
|
+
* @example a top time-axis with gridlines running down the plot
|
|
149
|
+
* ```ts
|
|
150
|
+
* linearAxis({
|
|
151
|
+
* scale: (year) => ((year - 1775) / (2015 - 1775)) * plot.width,
|
|
152
|
+
* ticks: [1800, 1850, 1900, 1950, 2000],
|
|
153
|
+
* orient: "top", gridLength: plot.height, gridDasharray: "3 5", edgeAnchor: true,
|
|
154
|
+
* })
|
|
155
|
+
* ```
|
|
156
|
+
*/
|
|
157
|
+
export declare function linearAxis(p: LinearAxisProps): ReactElement;
|
|
67
158
|
export type CalloutConnector = "straight" | "elbow" | "curve";
|
|
68
159
|
export interface MarkCalloutProps {
|
|
69
160
|
/** The anchored mark (a position a custom layout emitted). */
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { GlyphDef } from "../stream/glyphDef";
|
|
3
|
+
/**
|
|
4
|
+
* `<Glyph>` — render a {@link GlyphDef} as plain SVG.
|
|
5
|
+
*
|
|
6
|
+
* The React face of the composite-pictogram system: the same definition a
|
|
7
|
+
* custom layout stamps as `glyph` scene nodes (canvas + SSR) renders here for
|
|
8
|
+
* everything that lives in JSX — overlay chrome, `legendSwatches`-style keys,
|
|
9
|
+
* recipe icon callbacks (e.g. `lineageDagLayout`'s `renderIcon`), and page
|
|
10
|
+
* furniture. One definition, three surfaces, no drift.
|
|
11
|
+
*
|
|
12
|
+
* Positioning is deliberately chrome-shaped: the definition's **top-left**
|
|
13
|
+
* corner lands at (`x`, `y`) and `size` is the rendered height (width follows
|
|
14
|
+
* the viewBox aspect). The definition's `anchor` is a scene-node concern —
|
|
15
|
+
* layouts use it to stand signs on baselines — and is ignored here, where the
|
|
16
|
+
* caller owns placement.
|
|
17
|
+
*/
|
|
18
|
+
export interface GlyphProps {
|
|
19
|
+
def: GlyphDef;
|
|
20
|
+
/** Rendered height in px; width follows the definition's viewBox aspect. @default 24 */
|
|
21
|
+
size?: number;
|
|
22
|
+
/** Primary paint for parts declaring `"color"`. @default "currentColor" */
|
|
23
|
+
color?: string;
|
|
24
|
+
/** Accent paint for parts declaring `"accent"`. @default "#ffffff" */
|
|
25
|
+
accent?: string;
|
|
26
|
+
/** Partial fill 0–1 — pair with the `unitize` recipe's `fraction`. @default 1 */
|
|
27
|
+
fraction?: number;
|
|
28
|
+
/** Where the partial fill begins, 0–1 (range boundary signs). @default 0 */
|
|
29
|
+
fractionStart?: number;
|
|
30
|
+
/** Partial-fill axis. @default "horizontal" */
|
|
31
|
+
fractionDirection?: "horizontal" | "vertical";
|
|
32
|
+
/** Ghost paint drawn at full extent beneath a partial fill so the whole
|
|
33
|
+
* sign stays countable. */
|
|
34
|
+
ghostColor?: string;
|
|
35
|
+
/** Top-left x of the definition box in the parent SVG. @default 0 */
|
|
36
|
+
x?: number;
|
|
37
|
+
/** Top-left y of the definition box in the parent SVG. @default 0 */
|
|
38
|
+
y?: number;
|
|
39
|
+
opacity?: number;
|
|
40
|
+
className?: string;
|
|
41
|
+
}
|
|
42
|
+
export declare function Glyph({ def, size, color, accent, fraction, fractionStart, fractionDirection, ghostColor, x, y, opacity, className, }: GlyphProps): React.ReactElement | null;
|