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,186 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://semiotic.dev/spec/v0.1/chart-capability.schema.json",
|
|
4
|
+
"title": "IDID Chart Capability",
|
|
5
|
+
"description": "A library-neutral, declarative description of what a chart is good at, so an agent or a heuristic engine can rank it against a dataset and an intent WITHOUT executing any rendering library. This is the serializable subset of a chart's capability — the imperative gates (fits, buildProps, scoring functions) a host library may attach are implementation details and are intentionally NOT part of the portable spec. See ./README.md for the field-status convention (x-idid-status).",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": ["component", "rubric"],
|
|
8
|
+
"additionalProperties": true,
|
|
9
|
+
"properties": {
|
|
10
|
+
"specVersion": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"const": "0.1",
|
|
13
|
+
"description": "The IDID portability spec version this descriptor targets.",
|
|
14
|
+
"x-idid-status": "spec"
|
|
15
|
+
},
|
|
16
|
+
"component": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"minLength": 1,
|
|
19
|
+
"description": "Stable name of the chart this descriptor is about (e.g. \"BarChart\", \"SankeyDiagram\"). The portable identity of the chart; how a host resolves it to a renderer is a binding concern.",
|
|
20
|
+
"x-idid-status": "shipped"
|
|
21
|
+
},
|
|
22
|
+
"family": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"description": "Coarse chart family. Open string — recognized values are listed in examples but a host may use its own taxonomy.",
|
|
25
|
+
"examples": ["xy", "ordinal", "network", "hierarchy", "geo", "value", "custom"],
|
|
26
|
+
"x-idid-status": "shipped"
|
|
27
|
+
},
|
|
28
|
+
"importPath": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"description": "Where the implementing library exposes the chart (e.g. \"semiotic/ordinal\"). Advisory; a binding may ignore it.",
|
|
31
|
+
"x-idid-status": "shipped"
|
|
32
|
+
},
|
|
33
|
+
"rubric": {
|
|
34
|
+
"$ref": "#/$defs/rubric",
|
|
35
|
+
"description": "Audience-independent base rubric, before any audience override or variant delta."
|
|
36
|
+
},
|
|
37
|
+
"intentScores": {
|
|
38
|
+
"type": "object",
|
|
39
|
+
"description": "Per-intent suitability, 0–5. Missing intents default to 0. Keys are intent ids — the 13 built-in ids are in $defs/intentId, and hosts may register custom intents (open string).",
|
|
40
|
+
"propertyNames": { "type": "string" },
|
|
41
|
+
"additionalProperties": {
|
|
42
|
+
"type": "number",
|
|
43
|
+
"minimum": 0,
|
|
44
|
+
"maximum": 5
|
|
45
|
+
},
|
|
46
|
+
"x-idid-status": "shipped"
|
|
47
|
+
},
|
|
48
|
+
"variants": {
|
|
49
|
+
"type": "array",
|
|
50
|
+
"description": "Settings that meaningfully change what the chart is good for (e.g. a streamgraph variant of a stacked area). Deltas are additive against the base intentScores/rubric and clamped to range by the consumer.",
|
|
51
|
+
"items": { "$ref": "#/$defs/variant" },
|
|
52
|
+
"x-idid-status": "shipped"
|
|
53
|
+
},
|
|
54
|
+
"caveats": {
|
|
55
|
+
"type": "array",
|
|
56
|
+
"description": "Static, audience-independent caveats this chart always carries (e.g. \"log scale skipped for negative values\"). The portable form of a host's dynamic caveat function: the host may emit additional data-dependent caveats at runtime.",
|
|
57
|
+
"items": { "type": "string" },
|
|
58
|
+
"x-idid-status": "shipped"
|
|
59
|
+
},
|
|
60
|
+
"mobile": {
|
|
61
|
+
"$ref": "#/$defs/mobile",
|
|
62
|
+
"description": "Phone-specific design contract for mobile audits and responsive adapters. This lets custom charts and interoperability-generated charts declare how they preserve the task at small widths.",
|
|
63
|
+
"x-idid-status": "shipped"
|
|
64
|
+
},
|
|
65
|
+
"tags": {
|
|
66
|
+
"type": "array",
|
|
67
|
+
"description": "Free-form classification tags consumers can filter on.",
|
|
68
|
+
"items": { "type": "string" },
|
|
69
|
+
"x-idid-status": "shipped"
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
"$defs": {
|
|
73
|
+
"rubric": {
|
|
74
|
+
"type": "object",
|
|
75
|
+
"title": "Chart Rubric",
|
|
76
|
+
"description": "Three 1–5 axes. familiarity = how well-known the chart is to a general audience; accuracy = how faithfully it represents the data; precision = how readable individual values are.",
|
|
77
|
+
"required": ["familiarity", "accuracy", "precision"],
|
|
78
|
+
"additionalProperties": false,
|
|
79
|
+
"properties": {
|
|
80
|
+
"familiarity": { "type": "integer", "minimum": 1, "maximum": 5 },
|
|
81
|
+
"accuracy": { "type": "integer", "minimum": 1, "maximum": 5 },
|
|
82
|
+
"precision": { "type": "integer", "minimum": 1, "maximum": 5 }
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
"variant": {
|
|
86
|
+
"type": "object",
|
|
87
|
+
"title": "Chart Variant",
|
|
88
|
+
"required": ["key", "label"],
|
|
89
|
+
"additionalProperties": true,
|
|
90
|
+
"properties": {
|
|
91
|
+
"key": { "type": "string", "description": "Stable variant identifier within the capability." },
|
|
92
|
+
"label": { "type": "string" },
|
|
93
|
+
"description": { "type": "string" },
|
|
94
|
+
"intentDeltas": {
|
|
95
|
+
"type": "object",
|
|
96
|
+
"description": "Additive per-intent score deltas (e.g. {\"trend\": 1, \"part-to-whole\": -2}).",
|
|
97
|
+
"propertyNames": { "type": "string" },
|
|
98
|
+
"additionalProperties": { "type": "number" }
|
|
99
|
+
},
|
|
100
|
+
"rubricDeltas": {
|
|
101
|
+
"type": "object",
|
|
102
|
+
"description": "Additive rubric deltas — usually small (e.g. smoothing trades precision for familiarity).",
|
|
103
|
+
"additionalProperties": false,
|
|
104
|
+
"properties": {
|
|
105
|
+
"familiarity": { "type": "number" },
|
|
106
|
+
"accuracy": { "type": "number" },
|
|
107
|
+
"precision": { "type": "number" }
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
"caveats": { "type": "array", "items": { "type": "string" } },
|
|
111
|
+
"tags": { "type": "array", "items": { "type": "string" } },
|
|
112
|
+
"props": {
|
|
113
|
+
"type": "object",
|
|
114
|
+
"description": "Implementation-specific props the host merges to realize this variant. Opaque to the spec; a non-Semiotic host may ignore it.",
|
|
115
|
+
"x-idid-status": "shipped"
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
"mobile": {
|
|
120
|
+
"type": "object",
|
|
121
|
+
"title": "Mobile Capability",
|
|
122
|
+
"additionalProperties": true,
|
|
123
|
+
"properties": {
|
|
124
|
+
"strategy": {
|
|
125
|
+
"type": "string",
|
|
126
|
+
"description": "Overall mobile design strategy, e.g. responsive, small-multiples, summary-cards, direct-labels, fixed-artboard."
|
|
127
|
+
},
|
|
128
|
+
"responsive": { "type": "boolean" },
|
|
129
|
+
"supportsResponsiveLayout": { "type": "boolean" },
|
|
130
|
+
"breakpoints": { "type": "array", "items": { "type": "number" } },
|
|
131
|
+
"minViewportWidth": { "type": "number", "minimum": 0 },
|
|
132
|
+
"maxMarks": { "type": "number", "minimum": 0 },
|
|
133
|
+
"maxAnnotations": { "type": "number", "minimum": 0 },
|
|
134
|
+
"minimumHitTarget": { "type": "number", "minimum": 0 },
|
|
135
|
+
"summary": { "oneOf": [{ "type": "boolean" }, { "type": "string" }] },
|
|
136
|
+
"interaction": {
|
|
137
|
+
"type": "object",
|
|
138
|
+
"additionalProperties": true,
|
|
139
|
+
"properties": {
|
|
140
|
+
"primary": { "type": "string" },
|
|
141
|
+
"alternatives": { "type": "array", "items": { "type": "string" } },
|
|
142
|
+
"hoverFallback": { "type": "string" },
|
|
143
|
+
"targetSize": { "type": "number", "minimum": 0 }
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
"labels": {
|
|
147
|
+
"type": "object",
|
|
148
|
+
"additionalProperties": true,
|
|
149
|
+
"properties": {
|
|
150
|
+
"strategy": { "type": "string" },
|
|
151
|
+
"minFontSize": { "type": "number", "minimum": 0 }
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
"custom": {
|
|
155
|
+
"type": "object",
|
|
156
|
+
"additionalProperties": true,
|
|
157
|
+
"properties": {
|
|
158
|
+
"dataBearingSceneNodes": { "type": "boolean" },
|
|
159
|
+
"stableIds": { "type": "boolean" },
|
|
160
|
+
"navigationGranularity": { "type": "string" }
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
"intentId": {
|
|
166
|
+
"title": "Intent",
|
|
167
|
+
"description": "Communicative intent the chart is being ranked for. The 13 built-in ids are below; hosts may register additional intents, so this is an open string in practice.",
|
|
168
|
+
"type": "string",
|
|
169
|
+
"examples": [
|
|
170
|
+
"trend",
|
|
171
|
+
"compare-series",
|
|
172
|
+
"compare-categories",
|
|
173
|
+
"rank",
|
|
174
|
+
"part-to-whole",
|
|
175
|
+
"distribution",
|
|
176
|
+
"correlation",
|
|
177
|
+
"flow",
|
|
178
|
+
"hierarchy",
|
|
179
|
+
"geo",
|
|
180
|
+
"outlier-detection",
|
|
181
|
+
"composition-over-time",
|
|
182
|
+
"change-detection"
|
|
183
|
+
]
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function t(t,n=.5){const a=/^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i.exec(t);if(!a)return t;const s=Math.round(parseInt(a[1],16)*(1-n)),e=Math.round(parseInt(a[2],16)*(1-n)),o=Math.round(parseInt(a[3],16)*(1-n));return`#${s.toString(16).padStart(2,"0")}${e.toString(16).padStart(2,"0")}${o.toString(16).padStart(2,"0")}`}function n(t,n=.5){const a=/^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i.exec(t);if(!a)return t;const s=Math.round(parseInt(a[1],16)+(255-parseInt(a[1],16))*n),e=Math.round(parseInt(a[2],16)+(255-parseInt(a[2],16))*n),o=Math.round(parseInt(a[3],16)+(255-parseInt(a[3],16))*n);return`#${s.toString(16).padStart(2,"0")}${e.toString(16).padStart(2,"0")}${o.toString(16).padStart(2,"0")}`}const a="__forecastSegment";function s(t,n){return"function"==typeof n?n(t):!!t[n]}function e(t){var n,a,s;return[{type:"anomaly-band",threshold:null!==(n=t.threshold)&&void 0!==n?n:2,showBand:!1!==t.showBand,fill:t.bandColor||"#6366f1",fillOpacity:null!==(a=t.bandOpacity)&&void 0!==a?a:.1,anomalyColor:t.anomalyColor||"#ef4444",anomalyRadius:null!==(s=t.anomalyRadius)&&void 0!==s?s:6,label:t.label}]}function o(t,n,e,o,r){return(i=o).isTraining||i.isForecast||i.isAnomaly||i.upperBounds||i.lowerBounds?function(t,n,e,o,r){var i,l,c,p;const{isTraining:f,isForecast:u,isAnomaly:h,upperBounds:d,lowerBounds:g,color:y="#6366f1",bandOpacity:b=.15,anomalyColor:O="#ef4444",anomalyRadius:j=6,label:m}=o,v=t.map(t=>{let n="observed";return u&&s(t,u)?n="forecast":f&&s(t,f)&&(n="training"),Object.assign(Object.assign({},t),{[a]:n})}),k=o._groupBy,_=[];if(k){const t=new Map;for(const n of v){const a=null!==(i=n[k])&&void 0!==i?i:"__default";t.has(a)||t.set(a,[]),t.get(a).push(n)}const n=[];for(const[,s]of t)for(let t=0;s.length-1>t;t++)s[t][a]!==s[t+1][a]&&(n.push(Object.assign(Object.assign({},s[t+1]),{[a]:s[t][a]})),n.push(Object.assign(Object.assign({},s[t]),{[a]:s[t+1][a]})));_.push(...v,...n)}else for(let t=0;v.length>t;t++)_.push(v[t]),v.length-1>t&&v[t][a]!==v[t+1][a]&&(_.push(Object.assign(Object.assign({},v[t+1]),{[a]:v[t][a]})),_.push(Object.assign(Object.assign({},v[t]),{[a]:v[t+1][a]})));if(o.trainUnderline){const t=[];for(const n of _)"training"===n[a]&&t.push(Object.assign(Object.assign({},n),{[a]:"training-base"}));_.unshift(...t)}const w=[];if(d&&g){const t="string"==typeof d?d:"__envUpper",n="string"==typeof g?g:"__envLower";if("function"==typeof d||"function"==typeof g)for(const a of _)"function"==typeof d&&(a[t]=d(a)),"function"==typeof g&&(a[n]=g(a));w.push({type:"envelope",upperAccessor:t,lowerAccessor:n,fill:y,fillOpacity:b,label:m})}if(h){const t=o.anomalyStyle,n={type:"highlight",filter:t=>s(t,h)};t?(n.style=t,n.r=j):"function"==typeof O?(n.style=t=>{const n=O(t);return{stroke:n,strokeWidth:1.5,fill:n,fillOpacity:.7}},n.r=j):(n.color=O,n.r=j,n.style={stroke:O,strokeWidth:1.5,fill:O,fillOpacity:.7}),w.push(n)}return r&&w.push({type:"anomaly-band",threshold:null!==(l=r.threshold)&&void 0!==l?l:2,showBand:!1!==r.showBand,fill:r.bandColor||"#6366f1",fillOpacity:null!==(c=r.bandOpacity)&&void 0!==c?c:.1,anomalyColor:r.anomalyColor||"#ef4444",anomalyRadius:null!==(p=r.anomalyRadius)&&void 0!==p?p:6,label:r.label}),{processedData:_,annotations:w}}(t,0,0,o,r):function(t,n,s,e,o){var r,i,l;const{trainEnd:c,steps:p=10,confidence:f=.95,color:u="#6366f1",bandOpacity:h=.15,label:d}=e;if(null==c)return{processedData:t,annotations:[]};const g=[],y=[];for(const s of t)s[n]>c?y.push(Object.assign(Object.assign({},s),{[a]:"observed"})):g.push(Object.assign(Object.assign({},s),{[a]:"training"}));const b=g.map(t=>[t[n],t[s]]).filter(t=>null!=t[0]&&null!=t[1]&&isFinite(t[0])&&isFinite(t[1])).sort((t,n)=>t[0]-n[0]),O=[],j=[];if(b.length>=3){const e=b.length;let o=0,r=0,i=0,l=0;for(const[t,n]of b)o+=t,r+=n,i+=t*t,l+=t*n;const c=e*i-o*o;if(Math.abs(c)>1e-12){const i=(e*l-o*r)/c,g=(r-i*o)/e,y=t=>g+i*t,m=b.map(([t,n])=>n-y(t)).reduce((t,n)=>t+n*n,0),v=Math.sqrt(m/Math.max(e-2,1)),k=b.reduce((t,n)=>t+n[0],0)/e,_=b.reduce((t,n)=>t+Math.pow(n[0]-k,2),0),w=.99>f?.95>f?.9>f?1:1.645:1.96:2.576,S=t.map(t=>t[n]).filter(t=>null!=t&&isFinite(t)),M=Math.max(...S),B=b.length>1?(b[e-1][0]-b[0][0])/(e-1):1;for(let t=1;p>=t;t++){const o=M+t*B,r=y(o),i=v*Math.sqrt(1+1/e+(_>0?Math.pow(o-k,2)/_:0))*w;j.push({[n]:o,[s]:r,[a]:"forecast",__forecastUpper:r+i,__forecastLower:r-i})}O.push({type:"envelope",upperAccessor:"__forecastUpper",lowerAccessor:"__forecastLower",fill:u,fillOpacity:h,label:d})}}O.push({type:"x-threshold",x:c,color:"#94a3b8",strokeWidth:1,strokeDasharray:"4,2",label:"Train / Forecast"}),o&&O.push({type:"anomaly-band",threshold:null!==(r=o.threshold)&&void 0!==r?r:2,showBand:!1!==o.showBand,fill:o.bandColor||"#6366f1",fillOpacity:null!==(i=o.bandOpacity)&&void 0!==i?i:.1,anomalyColor:o.anomalyColor||"#ef4444",anomalyRadius:null!==(l=o.anomalyRadius)&&void 0!==l?l:6,label:o.label});const m=[];if(m.push(...g),g.length>0&&y.length>0&&m.push(Object.assign(Object.assign({},g[g.length-1]),{[a]:"observed"})),m.push(...y),j.length>0){const t=y.length>0?y[y.length-1]:g[g.length-1];t&&m.push(Object.assign(Object.assign({},t),{[a]:"forecast"})),m.push(...j)}return{processedData:m,annotations:O}}(t,n,e,o,r);var i}function r(s,e){var o,r;const i=null!==(o=e.trainDasharray)&&void 0!==o?o:"8,4",l=null!==(r=e.forecastDasharray)&&void 0!==r?r:"4,4",c=e.color||"#6366f1",p=e.trainOpacity,f=e.forecastOpacity,u=e.trainStroke,h=e.trainLinecap,d=e.trainUnderline;return e=>{const o=s(e),r=e[a];if("training"===r){let n=o.stroke;return"darken"===u?n=t(o.stroke||"#666",.5):u&&(n=u),Object.assign(Object.assign(Object.assign(Object.assign({},o),{stroke:n,strokeDasharray:i}),h&&{strokeLinecap:h}),null!=p&&{strokeOpacity:p})}if("training-base"===r){let t=o.stroke||"#666";return"lighten"===d&&(t=n(t,.4)),Object.assign(Object.assign({},o),{stroke:t,strokeDasharray:void 0})}return"forecast"===r?Object.assign(Object.assign(Object.assign({},o),{stroke:c,strokeDasharray:l}),null!=f&&{strokeOpacity:f}):o}}export{a as SEGMENT_FIELD,e as buildAnomalyAnnotations,o as buildForecast,r as createSegmentLineStyle,t as darkenColor,n as lightenColor};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{darkenColor as t,lightenColor as o}from"./semiotic.module.min.js";import"react/jsx-runtime";import"react";import"d3-selection";import"d3-brush";import"d3-scale";import"d3-quadtree";import"d3-shape";import"d3-array";import"d3-hierarchy";import"regression";import"d3-interpolate";import"d3-force";import"d3-chord";const e="__forecastSegment";function n(t,o){return"function"==typeof o?o(t):!!t[o]}function s(t){var o,e,n;return[{type:"anomaly-band",threshold:null!==(o=t.threshold)&&void 0!==o?o:2,showBand:!1!==t.showBand,fill:t.bandColor||"#6366f1",fillOpacity:null!==(e=t.bandOpacity)&&void 0!==e?e:.1,anomalyColor:t.anomalyColor||"#ef4444",anomalyRadius:null!==(n=t.anomalyRadius)&&void 0!==n?n:6,label:t.label}]}function a(t,o,s,a,r){return(i=a).isTraining||i.isForecast||i.isAnomaly||i.upperBounds||i.lowerBounds?function(t,o,s,a,r){var i,l,c,p;const{isTraining:f,isForecast:u,isAnomaly:h,upperBounds:d,lowerBounds:y,color:b="#6366f1",bandOpacity:g=.15,anomalyColor:m="#ef4444",anomalyRadius:O=6,label:j}=a,v=t.map(t=>{let o="observed";return u&&n(t,u)?o="forecast":f&&n(t,f)&&(o="training"),Object.assign(Object.assign({},t),{[e]:o})}),k=a._groupBy,_=[];if(k){const t=new Map;for(const o of v){const e=null!==(i=o[k])&&void 0!==i?i:"__default";t.has(e)||t.set(e,[]),t.get(e).push(o)}const o=[];for(const[,n]of t)for(let t=0;n.length-1>t;t++)n[t][e]!==n[t+1][e]&&(o.push(Object.assign(Object.assign({},n[t+1]),{[e]:n[t][e]})),o.push(Object.assign(Object.assign({},n[t]),{[e]:n[t+1][e]})));_.push(...v,...o)}else for(let t=0;v.length>t;t++)_.push(v[t]),v.length-1>t&&v[t][e]!==v[t+1][e]&&(_.push(Object.assign(Object.assign({},v[t+1]),{[e]:v[t][e]})),_.push(Object.assign(Object.assign({},v[t]),{[e]:v[t+1][e]})));if(a.trainUnderline){const t=[];for(const o of _)"training"===o[e]&&t.push(Object.assign(Object.assign({},o),{[e]:"training-base"}));_.unshift(...t)}const w=[];if(d&&y){const t="string"==typeof d?d:"__envUpper",o="string"==typeof y?y:"__envLower";if("function"==typeof d||"function"==typeof y)for(const e of _)"function"==typeof d&&(e[t]=d(e)),"function"==typeof y&&(e[o]=y(e));w.push({type:"envelope",upperAccessor:t,lowerAccessor:o,fill:b,fillOpacity:g,label:j})}if(h){const t=a.anomalyStyle,o={type:"highlight",filter:t=>n(t,h)};t?(o.style=t,o.r=O):"function"==typeof m?(o.style=t=>{const o=m(t);return{stroke:o,strokeWidth:1.5,fill:o,fillOpacity:.7}},o.r=O):(o.color=m,o.r=O,o.style={stroke:m,strokeWidth:1.5,fill:m,fillOpacity:.7}),w.push(o)}return r&&w.push({type:"anomaly-band",threshold:null!==(l=r.threshold)&&void 0!==l?l:2,showBand:!1!==r.showBand,fill:r.bandColor||"#6366f1",fillOpacity:null!==(c=r.bandOpacity)&&void 0!==c?c:.1,anomalyColor:r.anomalyColor||"#ef4444",anomalyRadius:null!==(p=r.anomalyRadius)&&void 0!==p?p:6,label:r.label}),{processedData:_,annotations:w}}(t,0,0,a,r):function(t,o,n,s,a){var r,i,l;const{trainEnd:c,steps:p=10,confidence:f=.95,color:u="#6366f1",bandOpacity:h=.15,label:d}=s;if(null==c)return{processedData:t,annotations:[]};const y=[],b=[];for(const n of t)n[o]>c?b.push(Object.assign(Object.assign({},n),{[e]:"observed"})):y.push(Object.assign(Object.assign({},n),{[e]:"training"}));const g=y.map(t=>[t[o],t[n]]).filter(t=>null!=t[0]&&null!=t[1]&&isFinite(t[0])&&isFinite(t[1])).sort((t,o)=>t[0]-o[0]),m=[],O=[];if(g.length>=3){const s=g.length;let a=0,r=0,i=0,l=0;for(const[t,o]of g)a+=t,r+=o,i+=t*t,l+=t*o;const c=s*i-a*a;if(Math.abs(c)>1e-12){const i=(s*l-a*r)/c,y=(r-i*a)/s,b=t=>y+i*t,j=g.map(([t,o])=>o-b(t)).reduce((t,o)=>t+o*o,0),v=Math.sqrt(j/Math.max(s-2,1)),k=g.reduce((t,o)=>t+o[0],0)/s,_=g.reduce((t,o)=>t+Math.pow(o[0]-k,2),0),w=.99>f?.95>f?.9>f?1:1.645:1.96:2.576,B=t.map(t=>t[o]).filter(t=>null!=t&&isFinite(t)),C=Math.max(...B),D=g.length>1?(g[s-1][0]-g[0][0])/(s-1):1;for(let t=1;p>=t;t++){const a=C+t*D,r=b(a),i=v*Math.sqrt(1+1/s+(_>0?Math.pow(a-k,2)/_:0))*w;O.push({[o]:a,[n]:r,[e]:"forecast",__forecastUpper:r+i,__forecastLower:r-i})}m.push({type:"envelope",upperAccessor:"__forecastUpper",lowerAccessor:"__forecastLower",fill:u,fillOpacity:h,label:d})}}m.push({type:"x-threshold",x:c,color:"#94a3b8",strokeWidth:1,strokeDasharray:"4,2",label:"Train / Forecast"}),a&&m.push({type:"anomaly-band",threshold:null!==(r=a.threshold)&&void 0!==r?r:2,showBand:!1!==a.showBand,fill:a.bandColor||"#6366f1",fillOpacity:null!==(i=a.bandOpacity)&&void 0!==i?i:.1,anomalyColor:a.anomalyColor||"#ef4444",anomalyRadius:null!==(l=a.anomalyRadius)&&void 0!==l?l:6,label:a.label});const j=[];if(j.push(...y),y.length>0&&b.length>0&&j.push(Object.assign(Object.assign({},y[y.length-1]),{[e]:"observed"})),j.push(...b),O.length>0){const t=b.length>0?b[b.length-1]:y[y.length-1];t&&j.push(Object.assign(Object.assign({},t),{[e]:"forecast"})),j.push(...O)}return{processedData:j,annotations:m}}(t,o,s,a,r);var i}function r(n,s){var a,r;const i=null!==(a=s.trainDasharray)&&void 0!==a?a:"8,4",l=null!==(r=s.forecastDasharray)&&void 0!==r?r:"4,4",c=s.color||"#6366f1",p=s.trainOpacity,f=s.forecastOpacity,u=s.trainStroke,h=s.trainLinecap,d=s.trainUnderline;return s=>{const a=n(s),r=s[e];if("training"===r){let o=a.stroke;return"darken"===u?o=t(a.stroke||"#666",.5):u&&(o=u),Object.assign(Object.assign(Object.assign(Object.assign({},a),{stroke:o,strokeDasharray:i}),h&&{strokeLinecap:h}),null!=p&&{strokeOpacity:p})}if("training-base"===r){let t=a.stroke||"#666";return"lighten"===d&&(t=o(t,.4)),Object.assign(Object.assign({},a),{stroke:t,strokeDasharray:void 0})}return"forecast"===r?Object.assign(Object.assign(Object.assign({},a),{stroke:c,strokeDasharray:l}),null!=f&&{strokeOpacity:f}):a}}export{e as SEGMENT_FIELD,s as buildAnomalyAnnotations,a as buildForecast,r as createSegmentLineStyle,t as darkenColor,o as lightenColor};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function t(t,n=.5){const a=/^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i.exec(t);if(!a)return t;const s=Math.round(parseInt(a[1],16)*(1-n)),e=Math.round(parseInt(a[2],16)*(1-n)),o=Math.round(parseInt(a[3],16)*(1-n));return`#${s.toString(16).padStart(2,"0")}${e.toString(16).padStart(2,"0")}${o.toString(16).padStart(2,"0")}`}function n(t,n=.5){const a=/^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i.exec(t);if(!a)return t;const s=Math.round(parseInt(a[1],16)+(255-parseInt(a[1],16))*n),e=Math.round(parseInt(a[2],16)+(255-parseInt(a[2],16))*n),o=Math.round(parseInt(a[3],16)+(255-parseInt(a[3],16))*n);return`#${s.toString(16).padStart(2,"0")}${e.toString(16).padStart(2,"0")}${o.toString(16).padStart(2,"0")}`}const a="__forecastSegment";function s(t,n){return"function"==typeof n?n(t):!!t[n]}function e(t){var n,a,s;return[{type:"anomaly-band",threshold:null!==(n=t.threshold)&&void 0!==n?n:2,showBand:!1!==t.showBand,fill:t.bandColor||"#6366f1",fillOpacity:null!==(a=t.bandOpacity)&&void 0!==a?a:.1,anomalyColor:t.anomalyColor||"#ef4444",anomalyRadius:null!==(s=t.anomalyRadius)&&void 0!==s?s:6,label:t.label}]}function o(t,n,e,o,r){return(i=o).isTraining||i.isForecast||i.isAnomaly||i.upperBounds||i.lowerBounds?function(t,n,e,o,r){var i,l,c,p;const{isTraining:f,isForecast:u,isAnomaly:h,upperBounds:d,lowerBounds:g,color:y="#6366f1",bandOpacity:b=.15,anomalyColor:O="#ef4444",anomalyRadius:j=6,label:m}=o,v=t.map(t=>{let n="observed";return u&&s(t,u)?n="forecast":f&&s(t,f)&&(n="training"),Object.assign(Object.assign({},t),{[a]:n})}),k=o._groupBy,_=[];if(k){const t=new Map;for(const n of v){const a=null!==(i=n[k])&&void 0!==i?i:"__default";t.has(a)||t.set(a,[]),t.get(a).push(n)}const n=[];for(const[,s]of t)for(let t=0;s.length-1>t;t++)s[t][a]!==s[t+1][a]&&(n.push(Object.assign(Object.assign({},s[t+1]),{[a]:s[t][a]})),n.push(Object.assign(Object.assign({},s[t]),{[a]:s[t+1][a]})));_.push(...v,...n)}else for(let t=0;v.length>t;t++)_.push(v[t]),v.length-1>t&&v[t][a]!==v[t+1][a]&&(_.push(Object.assign(Object.assign({},v[t+1]),{[a]:v[t][a]})),_.push(Object.assign(Object.assign({},v[t]),{[a]:v[t+1][a]})));if(o.trainUnderline){const t=[];for(const n of _)"training"===n[a]&&t.push(Object.assign(Object.assign({},n),{[a]:"training-base"}));_.unshift(...t)}const w=[];if(d&&g){const t="string"==typeof d?d:"__envUpper",n="string"==typeof g?g:"__envLower";if("function"==typeof d||"function"==typeof g)for(const a of _)"function"==typeof d&&(a[t]=d(a)),"function"==typeof g&&(a[n]=g(a));w.push({type:"envelope",upperAccessor:t,lowerAccessor:n,fill:y,fillOpacity:b,label:m})}if(h){const t=o.anomalyStyle,n={type:"highlight",filter:t=>s(t,h)};t?(n.style=t,n.r=j):"function"==typeof O?(n.style=t=>{const n=O(t);return{stroke:n,strokeWidth:1.5,fill:n,fillOpacity:.7}},n.r=j):(n.color=O,n.r=j,n.style={stroke:O,strokeWidth:1.5,fill:O,fillOpacity:.7}),w.push(n)}return r&&w.push({type:"anomaly-band",threshold:null!==(l=r.threshold)&&void 0!==l?l:2,showBand:!1!==r.showBand,fill:r.bandColor||"#6366f1",fillOpacity:null!==(c=r.bandOpacity)&&void 0!==c?c:.1,anomalyColor:r.anomalyColor||"#ef4444",anomalyRadius:null!==(p=r.anomalyRadius)&&void 0!==p?p:6,label:r.label}),{processedData:_,annotations:w}}(t,0,0,o,r):function(t,n,s,e,o){var r,i,l;const{trainEnd:c,steps:p=10,confidence:f=.95,color:u="#6366f1",bandOpacity:h=.15,label:d}=e;if(null==c)return{processedData:t,annotations:[]};const g=[],y=[];for(const s of t)s[n]>c?y.push(Object.assign(Object.assign({},s),{[a]:"observed"})):g.push(Object.assign(Object.assign({},s),{[a]:"training"}));const b=g.map(t=>[t[n],t[s]]).filter(t=>null!=t[0]&&null!=t[1]&&isFinite(t[0])&&isFinite(t[1])).sort((t,n)=>t[0]-n[0]),O=[],j=[];if(b.length>=3){const e=b.length;let o=0,r=0,i=0,l=0;for(const[t,n]of b)o+=t,r+=n,i+=t*t,l+=t*n;const c=e*i-o*o;if(Math.abs(c)>1e-12){const i=(e*l-o*r)/c,g=(r-i*o)/e,y=t=>g+i*t,m=b.map(([t,n])=>n-y(t)).reduce((t,n)=>t+n*n,0),v=Math.sqrt(m/Math.max(e-2,1)),k=b.reduce((t,n)=>t+n[0],0)/e,_=b.reduce((t,n)=>t+Math.pow(n[0]-k,2),0),w=.99>f?.95>f?.9>f?1:1.645:1.96:2.576,S=t.map(t=>t[n]).filter(t=>null!=t&&isFinite(t)),M=Math.max(...S),B=b.length>1?(b[e-1][0]-b[0][0])/(e-1):1;for(let t=1;p>=t;t++){const o=M+t*B,r=y(o),i=v*Math.sqrt(1+1/e+(_>0?Math.pow(o-k,2)/_:0))*w;j.push({[n]:o,[s]:r,[a]:"forecast",__forecastUpper:r+i,__forecastLower:r-i})}O.push({type:"envelope",upperAccessor:"__forecastUpper",lowerAccessor:"__forecastLower",fill:u,fillOpacity:h,label:d})}}O.push({type:"x-threshold",x:c,color:"#94a3b8",strokeWidth:1,strokeDasharray:"4,2",label:"Train / Forecast"}),o&&O.push({type:"anomaly-band",threshold:null!==(r=o.threshold)&&void 0!==r?r:2,showBand:!1!==o.showBand,fill:o.bandColor||"#6366f1",fillOpacity:null!==(i=o.bandOpacity)&&void 0!==i?i:.1,anomalyColor:o.anomalyColor||"#ef4444",anomalyRadius:null!==(l=o.anomalyRadius)&&void 0!==l?l:6,label:o.label});const m=[];if(m.push(...g),g.length>0&&y.length>0&&m.push(Object.assign(Object.assign({},g[g.length-1]),{[a]:"observed"})),m.push(...y),j.length>0){const t=y.length>0?y[y.length-1]:g[g.length-1];t&&m.push(Object.assign(Object.assign({},t),{[a]:"forecast"})),m.push(...j)}return{processedData:m,annotations:O}}(t,n,e,o,r);var i}function r(s,e){var o,r;const i=null!==(o=e.trainDasharray)&&void 0!==o?o:"8,4",l=null!==(r=e.forecastDasharray)&&void 0!==r?r:"4,4",c=e.color||"#6366f1",p=e.trainOpacity,f=e.forecastOpacity,u=e.trainStroke,h=e.trainLinecap,d=e.trainUnderline;return e=>{const o=s(e),r=e[a];if("training"===r){let n=o.stroke;return"darken"===u?n=t(o.stroke||"#666",.5):u&&(n=u),Object.assign(Object.assign(Object.assign(Object.assign({},o),{stroke:n,strokeDasharray:i}),h&&{strokeLinecap:h}),null!=p&&{strokeOpacity:p})}if("training-base"===r){let t=o.stroke||"#666";return"lighten"===d&&(t=n(t,.4)),Object.assign(Object.assign({},o),{stroke:t,strokeDasharray:void 0})}return"forecast"===r?Object.assign(Object.assign(Object.assign({},o),{stroke:c,strokeDasharray:l}),null!=f&&{strokeOpacity:f}):o}}export{a as SEGMENT_FIELD,e as buildAnomalyAnnotations,o as buildForecast,r as createSegmentLineStyle,t as darkenColor,n as lightenColor};
|