semiotic 3.8.5 → 3.8.7
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 +37 -10
- package/README.md +83 -56
- package/ai/behaviorContracts.cjs +88 -3
- package/ai/componentMetadata.cjs +5 -10
- package/ai/dist/mcp-server.js +99 -10
- package/ai/examples.md +198 -9
- package/ai/schema.json +2002 -165
- package/ai/surface-manifest.json +14 -10
- package/ai/system-prompt.md +9 -3
- package/dist/{chunk-chartContainerDataAudit-74TLKIP6.module.min.js → chunk-chartContainerDataAudit-JDSVSKGM.module.min.js} +1 -1
- package/dist/chunk-chunk-2JGJ5GUG.module.min.js +1 -0
- package/dist/chunk-chunk-2YAZHXL4.module.min.js +2 -0
- package/dist/chunk-chunk-3NGIKFD6.module.min.js +1 -0
- package/dist/{chunk-chunk-G7WFWHAD.module.min.js → chunk-chunk-4ITOQRXM.module.min.js} +1 -1
- package/dist/chunk-chunk-5SD6BHVW.module.min.js +2 -0
- package/dist/chunk-chunk-6V5VQVCT.module.min.js +2 -0
- package/dist/chunk-chunk-7TTBHSAG.module.min.js +2 -0
- package/dist/chunk-chunk-7ZDJSYKI.module.min.js +2 -0
- package/dist/chunk-chunk-BGHPD3RA.module.min.js +1 -0
- package/dist/chunk-chunk-BMRZ2SPU.module.min.js +2 -0
- package/dist/chunk-chunk-BNGBEY7N.module.min.js +2 -0
- package/dist/chunk-chunk-C7APLVQD.module.min.js +2 -0
- package/dist/chunk-chunk-DGWFBOGB.module.min.js +1 -0
- package/dist/chunk-chunk-DIVE2DRA.module.min.js +2 -0
- package/dist/chunk-chunk-FBUNUIPV.module.min.js +2 -0
- package/dist/chunk-chunk-FQPKOAIH.module.min.js +2 -0
- package/dist/chunk-chunk-FRO4TRXK.module.min.js +2 -0
- package/dist/chunk-chunk-G7QVPZUD.module.min.js +2 -0
- package/dist/chunk-chunk-GBPYV4FP.module.min.js +2 -0
- package/dist/chunk-chunk-GU2EJIDJ.module.min.js +2 -0
- package/dist/chunk-chunk-J5QD4RAM.module.min.js +2 -0
- package/dist/{chunk-chunk-LJLS6DY7.module.min.js → chunk-chunk-JWXLNZSM.module.min.js} +1 -1
- package/dist/chunk-chunk-KXAFCCDB.module.min.js +2 -0
- package/dist/chunk-chunk-LG7YKJAK.module.min.js +2 -0
- package/dist/{chunk-chunk-I36PJ4OC.module.min.js → chunk-chunk-LVHDZAT3.module.min.js} +1 -1
- package/dist/chunk-chunk-LWITSR2O.module.min.js +2 -0
- package/dist/chunk-chunk-MX35T6RX.module.min.js +2 -0
- package/dist/chunk-chunk-NH4MEAKP.module.min.js +2 -0
- package/dist/chunk-chunk-NJETWX42.module.min.js +2 -0
- package/dist/chunk-chunk-NW25WGLS.module.min.js +2 -0
- package/dist/{chunk-chunk-TMWIZL3K.module.min.js → chunk-chunk-OI7R7EJB.module.min.js} +1 -1
- package/dist/chunk-chunk-ONMLEXHR.module.min.js +2 -0
- package/dist/chunk-chunk-OY66GCE6.module.min.js +1 -0
- package/dist/chunk-chunk-PZFT457G.module.min.js +1 -0
- package/dist/chunk-chunk-Q3WW6JGR.module.min.js +1 -0
- package/dist/chunk-chunk-Q6XKQTOQ.module.min.js +1 -0
- package/dist/chunk-chunk-RJRM2E6P.module.min.js +1 -0
- package/dist/chunk-chunk-RPL7WYXI.module.min.js +1 -0
- package/dist/chunk-chunk-SV4XAZ3Q.module.min.js +1 -0
- package/dist/chunk-chunk-TSCFL235.module.min.js +1 -0
- package/dist/chunk-chunk-UOQRPGPK.module.min.js +2 -0
- package/dist/chunk-chunk-V3OAKG32.module.min.js +1 -0
- package/dist/chunk-chunk-WLOIUMWG.module.min.js +2 -0
- package/dist/chunk-chunk-XEGXX4F7.module.min.js +1 -0
- package/dist/chunk-chunk-XFRBLXYM.module.min.js +1 -0
- package/dist/chunk-chunk-Z2AJERX5.module.min.js +2 -0
- package/dist/chunk-chunk-ZXYDYAB7.module.min.js +2 -0
- package/dist/components/ai/SemioticVACPBridge.d.ts +22 -0
- package/dist/components/ai/chartCapabilities.d.ts +5 -3
- package/dist/components/ai/conversationArc.d.ts +2 -176
- package/dist/components/ai/conversationArcTypes.d.ts +202 -0
- package/dist/components/ai/readerGrounding.d.ts +12 -0
- package/dist/components/ai/vacpAdapter.d.ts +13 -0
- package/dist/components/ai/vacpAdapterActions.d.ts +2 -0
- package/dist/components/ai/vacpAdapterModel.d.ts +7 -0
- package/dist/components/ai/vacpAdapterRuntime.d.ts +26 -0
- package/dist/components/ai/vacpAdapterState.d.ts +3 -0
- package/dist/components/ai/vacpAdapterTypes.d.ts +169 -0
- package/dist/components/ai/vacpTypes.d.ts +160 -0
- package/dist/components/charts/custom/XYCustomChart.d.ts +3 -0
- package/dist/components/charts/geo/DistanceCartogram.d.ts +1 -1
- package/dist/components/charts/index.d.ts +7 -4
- package/dist/components/charts/ordinal/BarChart.d.ts +7 -14
- package/dist/components/charts/ordinal/GaugeChart.d.ts +3 -0
- package/dist/components/charts/ordinal/GroupedBarChart.d.ts +3 -0
- package/dist/components/charts/ordinal/StackedBarChart.d.ts +3 -0
- package/dist/components/charts/ordinal/SwimlaneChart.d.ts +4 -14
- package/dist/components/charts/physics/ChainReactionChart.capability.d.ts +9 -0
- package/dist/components/charts/physics/ChainReactionChart.d.ts +29 -0
- package/dist/components/charts/physics/CollisionSwarmChart.d.ts +1 -1
- package/dist/components/charts/physics/EventDropChart.d.ts +7 -2
- package/dist/components/charts/physics/GaltonBoardChart.d.ts +1 -1
- package/dist/components/charts/physics/{PhysicsPileChart.capability.d.ts → PacketFlowChart.capability.d.ts} +1 -1
- package/dist/components/charts/physics/{PhysicalFlowChart.d.ts → PacketFlowChart.d.ts} +22 -6
- package/dist/components/charts/physics/PhysicsCustomChart.d.ts +1 -1
- package/dist/components/charts/physics/ProcessFlowChart.d.ts +7 -4
- package/dist/components/charts/physics/{PhysicalFlowChart.capability.d.ts → UnitPileChart.capability.d.ts} +1 -1
- package/dist/components/charts/physics/{PhysicsPileChart.d.ts → UnitPileChart.d.ts} +19 -6
- package/dist/components/charts/physics/crucibleChartProps.d.ts +1 -1
- package/dist/components/charts/physics/crucibleChartUtils.d.ts +9 -0
- package/dist/components/charts/physics/gauntletChartProps.d.ts +6 -1
- package/dist/components/charts/physics/gauntletTerminal.d.ts +61 -0
- package/dist/components/charts/physics/packetFlowSemantics.d.ts +6 -0
- package/dist/components/charts/physics/physicsHocUtils.d.ts +45 -2
- package/dist/components/charts/shared/auditAccessibilityStyles.d.ts +9 -0
- package/dist/components/charts/shared/chartSpecCore.d.ts +2 -4
- package/dist/components/charts/shared/gaugeGradient.d.ts +4 -8
- package/dist/components/charts/shared/gradient.d.ts +35 -0
- package/dist/components/charts/shared/hatchFill.d.ts +3 -10
- package/dist/components/charts/shared/hooks.d.ts +2 -50
- package/dist/components/charts/shared/knownChartComponents.d.ts +1 -1
- package/dist/components/charts/shared/streamPropsHelpers.d.ts +1 -2
- package/dist/components/charts/shared/useChartLegend.d.ts +65 -0
- package/dist/components/charts/shared/useChartSetup.d.ts +12 -0
- package/dist/components/charts/shared/useCustomChartSetup.d.ts +6 -1
- package/dist/components/charts/shared/useNetworkChartSetup.d.ts +1 -0
- package/dist/components/charts/shared/useStreamingLegend.d.ts +1 -1
- package/dist/components/charts/xy/AreaChart.d.ts +25 -42
- package/dist/components/charts/xy/BumpChart.capability.d.ts +11 -0
- package/dist/components/charts/xy/BumpChart.d.ts +161 -0
- package/dist/components/charts/xy/DifferenceChart.d.ts +3 -10
- package/dist/components/charts/xy/Heatmap.d.ts +3 -0
- package/dist/components/charts/xy/LineChart.d.ts +6 -8
- package/dist/components/data/portability/capabilityBinding.d.ts +41 -0
- package/dist/components/data/portability/index.d.ts +2 -0
- package/dist/components/geometry/bumpRibbonGeometry.d.ts +36 -0
- package/dist/components/legendLayout.d.ts +75 -1
- package/dist/components/recipes/geographicDotGrid.d.ts +82 -0
- package/dist/components/recipes/geographicGrid.d.ts +100 -0
- package/dist/components/recipes/physics.d.ts +2 -0
- package/dist/components/recipes/physicsStageGeography.d.ts +137 -0
- package/dist/components/semiotic-ai.d.ts +6 -4
- package/dist/components/semiotic-experimental-vacp.d.ts +11 -0
- package/dist/components/semiotic-experimental.d.ts +6 -3
- package/dist/components/semiotic-geo.d.ts +5 -0
- package/dist/components/semiotic-network.d.ts +1 -0
- package/dist/components/semiotic-ordinal.d.ts +2 -0
- package/dist/components/semiotic-physics.d.ts +10 -6
- package/dist/components/semiotic-realtime-core.d.ts +1 -0
- package/dist/components/semiotic-recipes-core.d.ts +6 -1
- package/dist/components/semiotic-server-edge.d.ts +1 -1
- package/dist/components/semiotic-server.d.ts +1 -1
- package/dist/components/semiotic-xy.d.ts +4 -0
- package/dist/components/semiotic.d.ts +4 -4
- package/dist/components/server/renderEvidence.d.ts +1 -1
- package/dist/components/server/renderToStaticSVG.d.ts +2 -1
- package/dist/components/server/serverChartConfigHeatmap.d.ts +6 -0
- package/dist/components/server/serverChartConfigNetworkStyles.d.ts +12 -0
- package/dist/components/server/serverChartConfigShared.d.ts +16 -0
- package/dist/components/server/serverChartConfigs.d.ts +3 -2
- package/dist/components/server/serverChartConfigsPhysics.d.ts +2 -2
- package/dist/components/server/serverChartConfigsXY.d.ts +1 -1
- package/dist/components/server/staticLegend.d.ts +10 -2
- package/dist/components/server/staticSVGChrome.d.ts +14 -6
- package/dist/components/server/staticValue.d.ts +8 -0
- package/dist/components/stream/GeoSVGOverlay.d.ts +4 -10
- package/dist/components/stream/NetworkSVGOverlay.d.ts +2 -6
- package/dist/components/stream/OrdinalSVGOverlay.d.ts +2 -6
- package/dist/components/stream/SVGOverlay.d.ts +2 -6
- package/dist/components/stream/StalenessBadge.d.ts +2 -6
- package/dist/components/stream/geoPipelineConfig.d.ts +10 -0
- package/dist/components/stream/geoTypes.d.ts +3 -6
- package/dist/components/stream/legendRenderer.d.ts +10 -6
- package/dist/components/stream/ordinalTypes.d.ts +7 -31
- package/dist/components/stream/physics/PhysicsEvidence.d.ts +37 -0
- package/dist/components/stream/physics/PhysicsKernel.d.ts +1 -0
- package/dist/components/stream/physics/PhysicsPipelineStore.d.ts +9 -0
- package/dist/components/stream/physics/PhysicsSVGOverlay.d.ts +2 -6
- package/dist/components/stream/physics/PhysicsSettledScene.d.ts +5 -0
- package/dist/components/stream/physics/StreamPhysicsTypes.d.ts +2 -6
- package/dist/components/stream/physics/physicsFramePipelineConfig.d.ts +19 -0
- package/dist/components/stream/physics/physicsPipelineSettle.d.ts +52 -0
- package/dist/components/stream/physics/physicsRegionRuntime.d.ts +23 -0
- package/dist/components/stream/pipelineConfig.d.ts +7 -15
- package/dist/components/stream/renderers/canvasRenderHelpers.d.ts +9 -69
- package/dist/components/stream/renderers/cornerRadii.d.ts +2 -9
- package/dist/components/stream/renderers/thresholdLineSegments.d.ts +12 -0
- package/dist/components/stream/sceneToSVGShared.d.ts +3 -5
- package/dist/components/stream/types.d.ts +34 -56
- package/dist/components/stream/xySceneBuilders/areaGradient.d.ts +4 -20
- package/dist/components/stream/xySceneBuilders/types.d.ts +6 -6
- package/dist/components/types/legendTypes.d.ts +31 -6
- package/dist/controls.min.js +1 -1
- package/dist/controls.module.min.js +1 -1
- 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.min.js +1 -1
- package/dist/physics.module.min.js +1 -1
- package/dist/physicsWorker.js +1 -1
- package/dist/realtime.min.js +1 -1
- package/dist/realtime.module.min.js +1 -1
- package/dist/semiotic-ai-core.min.js +1 -1
- package/dist/semiotic-ai-core.module.min.js +1 -1
- package/dist/semiotic-ai.d.ts +6 -4
- package/dist/semiotic-ai.min.js +1 -1
- package/dist/semiotic-ai.module.min.js +1 -1
- package/dist/semiotic-data.module.min.js +1 -1
- package/dist/semiotic-experimental-vacp.d.ts +11 -0
- package/dist/semiotic-experimental-vacp.min.js +1 -0
- package/dist/semiotic-experimental-vacp.module.min.js +1 -0
- package/dist/semiotic-experimental.d.ts +6 -3
- package/dist/semiotic-experimental.min.js +2 -1
- package/dist/semiotic-experimental.module.min.js +2 -1
- package/dist/semiotic-geo.d.ts +5 -0
- package/dist/semiotic-network.d.ts +1 -0
- package/dist/semiotic-ordinal.d.ts +2 -0
- package/dist/semiotic-physics.d.ts +10 -6
- package/dist/semiotic-realtime-core.d.ts +1 -0
- package/dist/semiotic-realtime-core.min.js +1 -1
- package/dist/semiotic-realtime-core.module.min.js +1 -1
- package/dist/semiotic-recipes-core.d.ts +6 -1
- package/dist/semiotic-recipes-core.min.js +1 -1
- package/dist/semiotic-recipes-core.module.min.js +1 -1
- package/dist/semiotic-recipes.min.js +1 -1
- package/dist/semiotic-recipes.module.min.js +1 -1
- package/dist/semiotic-server-edge.d.ts +1 -1
- package/dist/semiotic-server-edge.min.js +1 -1
- package/dist/semiotic-server-edge.module.min.js +1 -1
- package/dist/semiotic-server-node.min.js +1 -1
- package/dist/semiotic-server-node.module.min.js +1 -1
- package/dist/semiotic-server.d.ts +1 -1
- package/dist/semiotic-utils-core.min.js +1 -1
- package/dist/semiotic-utils-core.module.min.js +1 -1
- package/dist/semiotic-utils.min.js +1 -1
- package/dist/semiotic-utils.module.min.js +1 -1
- package/dist/semiotic-xy.d.ts +4 -0
- package/dist/semiotic.d.ts +4 -4
- 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.min.js +1 -1
- package/dist/xy.module.min.js +1 -1
- package/package.json +18 -2
- package/spec/README.md +94 -2
- package/spec/bindings/README.md +14 -3
- package/spec/v0.1/examples/annotation-provenance-reviewed-revision.json +27 -0
- package/spec/v0.1/examples/annotation-provenance-watcher-threshold.json +21 -0
- package/spec/v0.1/examples/audience-profile-executive-review.json +24 -0
- package/spec/v0.1/examples/audience-profile-incident-operators.json +42 -0
- package/spec/v0.1/examples/chart-capability-bar-comparison.json +48 -0
- package/spec/v0.1/examples/chart-capability-service-flow.json +54 -0
- package/dist/chunk-chunk-4AANPFOX.module.min.js +0 -2
- package/dist/chunk-chunk-5I3UZV4Q.module.min.js +0 -2
- package/dist/chunk-chunk-5RKXZQ2P.module.min.js +0 -1
- package/dist/chunk-chunk-74CCPVXB.module.min.js +0 -1
- package/dist/chunk-chunk-7ALTGHK6.module.min.js +0 -1
- package/dist/chunk-chunk-ANYDWOZF.module.min.js +0 -1
- package/dist/chunk-chunk-AVBI6GDT.module.min.js +0 -1
- package/dist/chunk-chunk-BANTPINB.module.min.js +0 -2
- package/dist/chunk-chunk-C4YA6TDR.module.min.js +0 -1
- package/dist/chunk-chunk-C57LR3YG.module.min.js +0 -1
- package/dist/chunk-chunk-CKMD5NV3.module.min.js +0 -2
- package/dist/chunk-chunk-CO5KQMGH.module.min.js +0 -1
- package/dist/chunk-chunk-CWQ5YIHX.module.min.js +0 -2
- package/dist/chunk-chunk-E6TXX6MI.module.min.js +0 -1
- package/dist/chunk-chunk-GMQ5AYTD.module.min.js +0 -1
- package/dist/chunk-chunk-JCG72SGW.module.min.js +0 -2
- package/dist/chunk-chunk-K3DMEW22.module.min.js +0 -1
- package/dist/chunk-chunk-KT2VAZMZ.module.min.js +0 -1
- package/dist/chunk-chunk-L6EA5V3G.module.min.js +0 -2
- package/dist/chunk-chunk-LJPCLYSC.module.min.js +0 -2
- package/dist/chunk-chunk-LRIFN2HK.module.min.js +0 -1
- package/dist/chunk-chunk-N5DDKCCF.module.min.js +0 -1
- package/dist/chunk-chunk-NEVE562N.module.min.js +0 -1
- package/dist/chunk-chunk-NLO44TOS.module.min.js +0 -2
- package/dist/chunk-chunk-PZJ2SBLL.module.min.js +0 -2
- package/dist/chunk-chunk-QSQVBIJA.module.min.js +0 -1
- package/dist/chunk-chunk-QUJ6TTLY.module.min.js +0 -1
- package/dist/chunk-chunk-RBIDBUT4.module.min.js +0 -2
- package/dist/chunk-chunk-RCF52Z42.module.min.js +0 -2
- package/dist/chunk-chunk-RFLAG356.module.min.js +0 -1
- package/dist/chunk-chunk-RPU4IZAV.module.min.js +0 -2
- package/dist/chunk-chunk-SKMBCFIL.module.min.js +0 -2
- package/dist/chunk-chunk-TAE7W424.module.min.js +0 -2
- package/dist/chunk-chunk-TUBMTZMU.module.min.js +0 -2
- package/dist/chunk-chunk-UFFEXJQY.module.min.js +0 -1
- package/dist/chunk-chunk-XSCHTS4D.module.min.js +0 -2
- package/dist/chunk-chunk-XXWSHGPL.module.min.js +0 -2
- package/dist/chunk-chunk-ZOAQDIJO.module.min.js +0 -1
- package/dist/chunk-chunk-ZXIXAPRE.module.min.js +0 -2
- package/dist/chunk-statisticalOverlays-QGDLRUHX.module.min.js +0 -1
- package/dist/chunk-statisticalOverlays-T77OKLDY.module.min.js +0 -1
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import type { Datum } from "../charts/shared/datumTypes";
|
|
2
|
+
import type { SerializedSelections } from "../export/selectionSerializer";
|
|
3
|
+
import type { ChartObservation } from "../store/ObservationStore";
|
|
4
|
+
import type { AudienceProfile } from "./audienceProfile";
|
|
5
|
+
import type { NavTreeNode } from "./navigationTree";
|
|
6
|
+
import type { ChartReaderGrounding, ChartReaderGroundingOptions } from "./readerGrounding";
|
|
7
|
+
import type { VacpActionDescriptor, VacpCapabilitiesRequest, VacpCapabilitiesSnapshot, VacpEdge, VacpNode, VacpRef, VacpStateRequest, VacpStateSnapshot, VacpStateUpdate, VacpWindowBridge } from "./vacpTypes";
|
|
8
|
+
export declare const SEMIOTIC_VACP_SET_POINT_SELECTION_ACTION: "semiotic.set_point_selection";
|
|
9
|
+
export declare const SEMIOTIC_VACP_SET_INTERVAL_SELECTION_ACTION: "semiotic.set_interval_selection";
|
|
10
|
+
export declare const SEMIOTIC_VACP_CLEAR_SELECTION_ACTION: "semiotic.clear_selection";
|
|
11
|
+
export declare const SEMIOTIC_VACP_ACTIVATE_NAVIGATION_ACTION: "semiotic.activate_navigation_node";
|
|
12
|
+
export declare const SEMIOTIC_VACP_INSPECT_DATA_ACTION: "semiotic.inspect_data";
|
|
13
|
+
export type SemioticVACPSelectionMode = "point" | "interval" | "both";
|
|
14
|
+
export interface SemioticVACPSelectionBinding {
|
|
15
|
+
/** Named LinkedCharts selection exposed as one stable VACP Selection node. */
|
|
16
|
+
name: string;
|
|
17
|
+
/** Fields an agent may set. Values outside this allowlist are rejected. */
|
|
18
|
+
fields: string[];
|
|
19
|
+
/** Which semantic mutations are valid. Default "both". */
|
|
20
|
+
mode?: SemioticVACPSelectionMode;
|
|
21
|
+
/** Stable clause owner used for agent-written selection state. */
|
|
22
|
+
clientId?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface SemioticVACPNavigationBinding {
|
|
25
|
+
tree: NavTreeNode;
|
|
26
|
+
/**
|
|
27
|
+
* Durable datum fields used to identify leaves. Procedural NavTreeNode ids
|
|
28
|
+
* are never used as VACP identity.
|
|
29
|
+
*/
|
|
30
|
+
matchFields: string[];
|
|
31
|
+
/** Current procedural tree id, when the tree is controlled. */
|
|
32
|
+
activeId?: string;
|
|
33
|
+
/** Enables the validated semantic navigation action. */
|
|
34
|
+
onActiveChange?: (node: NavTreeNode) => void;
|
|
35
|
+
}
|
|
36
|
+
export interface SemioticVACPChart {
|
|
37
|
+
/** Durable identity within this bridge; independent of render order. */
|
|
38
|
+
chartId: string;
|
|
39
|
+
component: string;
|
|
40
|
+
props: Datum;
|
|
41
|
+
title?: string;
|
|
42
|
+
description?: string;
|
|
43
|
+
audience?: AudienceProfile;
|
|
44
|
+
/**
|
|
45
|
+
* Reader-grounding presentation settings. The bridge's internal grounding
|
|
46
|
+
* pass caps navigation structure at one representative leaf per branch.
|
|
47
|
+
*/
|
|
48
|
+
grounding?: Omit<ChartReaderGroundingOptions, "audience">;
|
|
49
|
+
selections?: SemioticVACPSelectionBinding[];
|
|
50
|
+
navigation?: SemioticVACPNavigationBinding;
|
|
51
|
+
}
|
|
52
|
+
export interface SemioticVACPSelectionActions {
|
|
53
|
+
setPointSelection?: (selectionName: string, clientId: string, fields: Record<string, unknown[]>) => void | Promise<void>;
|
|
54
|
+
setIntervalSelection?: (selectionName: string, clientId: string, fields: Record<string, [number, number]>) => void | Promise<void>;
|
|
55
|
+
clearSelection?: (selectionName: string) => void | Promise<void>;
|
|
56
|
+
}
|
|
57
|
+
export interface SemioticVACPCustomAction {
|
|
58
|
+
descriptor: VacpActionDescriptor;
|
|
59
|
+
available?: () => boolean;
|
|
60
|
+
validate?: (params: unknown) => void | string;
|
|
61
|
+
execute: (params: unknown) => unknown | Promise<unknown>;
|
|
62
|
+
}
|
|
63
|
+
export interface SemioticVACPDataAccess {
|
|
64
|
+
/** Include bounded `semiotic.inspect_data`. Raw rows are off by default. */
|
|
65
|
+
sample?: boolean;
|
|
66
|
+
/** Maximum rows returned from one inspect call. Default 50. */
|
|
67
|
+
maxSampleRows?: number;
|
|
68
|
+
/** Maximum rows scanned for schema summaries. Default 5000. */
|
|
69
|
+
maxSchemaRows?: number;
|
|
70
|
+
}
|
|
71
|
+
export interface CreateSemioticVACPBridgeOptions {
|
|
72
|
+
appId: string;
|
|
73
|
+
viewId?: string;
|
|
74
|
+
title?: string;
|
|
75
|
+
/** Static charts or a live getter used on every protocol read/action. */
|
|
76
|
+
charts: readonly SemioticVACPChart[] | (() => readonly SemioticVACPChart[]);
|
|
77
|
+
/** JSON-safe snapshot of named LinkedCharts selections. */
|
|
78
|
+
getSelections?: () => SerializedSelections;
|
|
79
|
+
/** Live observation buffer; the latest event per chart becomes VACP state. */
|
|
80
|
+
getObservations?: () => readonly ChartObservation[];
|
|
81
|
+
selectionActions?: SemioticVACPSelectionActions;
|
|
82
|
+
dataAccess?: SemioticVACPDataAccess;
|
|
83
|
+
actions?: readonly SemioticVACPCustomAction[] | (() => readonly SemioticVACPCustomAction[]);
|
|
84
|
+
/** Test/instrumentation clock. */
|
|
85
|
+
now?: () => Date | number | string;
|
|
86
|
+
/** Retained full snapshots available as delta baselines. Default 64. */
|
|
87
|
+
stateCacheSize?: number;
|
|
88
|
+
}
|
|
89
|
+
export interface SemioticVACPRefs {
|
|
90
|
+
app: VacpRef;
|
|
91
|
+
view: VacpRef;
|
|
92
|
+
visualization: (chartId: string) => VacpRef;
|
|
93
|
+
config: (chartId: string) => VacpRef;
|
|
94
|
+
data: (chartId: string, collection?: string) => VacpRef;
|
|
95
|
+
selection: (name: string) => VacpRef;
|
|
96
|
+
navigation: (chartId: string) => VacpRef;
|
|
97
|
+
observation: (chartId: string) => VacpRef;
|
|
98
|
+
}
|
|
99
|
+
export interface SemioticVACPBridge extends VacpWindowBridge {
|
|
100
|
+
readonly refs: SemioticVACPRefs;
|
|
101
|
+
getCapabilities(request?: VacpCapabilitiesRequest): VacpCapabilitiesSnapshot;
|
|
102
|
+
getState(): Promise<VacpStateSnapshot>;
|
|
103
|
+
getState(request: VacpStateRequest): Promise<VacpStateUpdate>;
|
|
104
|
+
}
|
|
105
|
+
export interface InstallSemioticVACPBridgeOptions {
|
|
106
|
+
/** Default browser `window`; inject a record for tests or non-window hosts. */
|
|
107
|
+
target?: Record<string, unknown>;
|
|
108
|
+
/** Default `__vacp`. */
|
|
109
|
+
globalKey?: string;
|
|
110
|
+
}
|
|
111
|
+
export interface SemioticVACPBridgeInstallation {
|
|
112
|
+
installed: boolean;
|
|
113
|
+
globalKey: string;
|
|
114
|
+
bridge: SemioticVACPBridge;
|
|
115
|
+
reason?: string;
|
|
116
|
+
/** Delete the global only while this exact bridge still owns it. */
|
|
117
|
+
cleanup: () => boolean;
|
|
118
|
+
}
|
|
119
|
+
export interface DataHandleModel {
|
|
120
|
+
ref: VacpRef;
|
|
121
|
+
chartId: string;
|
|
122
|
+
collection: string;
|
|
123
|
+
rows: readonly unknown[];
|
|
124
|
+
}
|
|
125
|
+
export interface SelectionModel {
|
|
126
|
+
ref: VacpRef;
|
|
127
|
+
name: string;
|
|
128
|
+
fields: string[];
|
|
129
|
+
modes: Set<"point" | "interval">;
|
|
130
|
+
clientId: string;
|
|
131
|
+
chartRefs: VacpRef[];
|
|
132
|
+
}
|
|
133
|
+
export interface NavigationIndex {
|
|
134
|
+
valid: boolean;
|
|
135
|
+
diagnostic?: string;
|
|
136
|
+
byKey: Map<string, NavTreeNode>;
|
|
137
|
+
matchFields: string[];
|
|
138
|
+
targetRef: (match: Record<string, unknown>) => VacpRef;
|
|
139
|
+
}
|
|
140
|
+
export interface NavigationModel {
|
|
141
|
+
ref: VacpRef;
|
|
142
|
+
chartRef: VacpRef;
|
|
143
|
+
chartId: string;
|
|
144
|
+
binding: SemioticVACPNavigationBinding;
|
|
145
|
+
index: NavigationIndex;
|
|
146
|
+
}
|
|
147
|
+
export interface ChartModel {
|
|
148
|
+
chart: SemioticVACPChart;
|
|
149
|
+
ref: VacpRef;
|
|
150
|
+
configRef: VacpRef;
|
|
151
|
+
grounding: ChartReaderGrounding;
|
|
152
|
+
config: Record<string, unknown>;
|
|
153
|
+
dataHandles: DataHandleModel[];
|
|
154
|
+
navigation?: NavigationModel;
|
|
155
|
+
}
|
|
156
|
+
export interface RuntimeAction {
|
|
157
|
+
descriptor: VacpActionDescriptor;
|
|
158
|
+
execute: (params: unknown) => unknown | Promise<unknown>;
|
|
159
|
+
}
|
|
160
|
+
export interface RuntimeModelBase {
|
|
161
|
+
charts: ChartModel[];
|
|
162
|
+
selections: SelectionModel[];
|
|
163
|
+
dataHandles: DataHandleModel[];
|
|
164
|
+
nodes: VacpNode[];
|
|
165
|
+
edges: VacpEdge[];
|
|
166
|
+
}
|
|
167
|
+
export interface RuntimeModel extends RuntimeModelBase {
|
|
168
|
+
actions: RuntimeAction[];
|
|
169
|
+
}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structural VACP 0.1.0 types.
|
|
3
|
+
*
|
|
4
|
+
* VACP's protocol packages are not currently published, so the experimental
|
|
5
|
+
* Semiotic bridge depends only on the documented JSON contract. Keep this file
|
|
6
|
+
* structural and dependency-free so a consumer can replace these types with
|
|
7
|
+
* the canonical package once it becomes public.
|
|
8
|
+
*
|
|
9
|
+
* @see https://github.com/ETH-IVIA-Lab/VACP/blob/main/docs/reference/tool-contract.md
|
|
10
|
+
*/
|
|
11
|
+
export declare const VACP_SCHEMA_VERSION: "0.1.0";
|
|
12
|
+
export type VacpSchemaVersion = typeof VACP_SCHEMA_VERSION;
|
|
13
|
+
export type VacpRef = `vacp://${string}`;
|
|
14
|
+
export type VacpLayer = "ConfigLayer" | "ViewLayer" | "VisualizationLayer" | "DataLayer" | "InteractionFeedbackLayer";
|
|
15
|
+
export type VacpNodeKind = "App" | "View" | "Visualization" | "Mark" | "EncodingChannel" | "EncodedField" | "Legend" | "Axis" | "Selection" | "Param" | "Widget" | "DataHandle" | "InteractionTarget";
|
|
16
|
+
export type VacpEdgeKind = "contains" | "controls" | "derivedFrom" | "targets";
|
|
17
|
+
export interface VacpNode {
|
|
18
|
+
ref: VacpRef;
|
|
19
|
+
kind: VacpNodeKind;
|
|
20
|
+
layer: VacpLayer;
|
|
21
|
+
title?: string;
|
|
22
|
+
description?: string;
|
|
23
|
+
data?: Record<string, unknown>;
|
|
24
|
+
}
|
|
25
|
+
export interface VacpEdge {
|
|
26
|
+
from: VacpRef;
|
|
27
|
+
to: VacpRef;
|
|
28
|
+
kind: VacpEdgeKind;
|
|
29
|
+
}
|
|
30
|
+
export interface VacpActionDescriptor {
|
|
31
|
+
name: string;
|
|
32
|
+
title?: string;
|
|
33
|
+
description: string;
|
|
34
|
+
parameters?: Record<string, unknown>;
|
|
35
|
+
targetRef?: VacpRef;
|
|
36
|
+
}
|
|
37
|
+
export interface VacpGraph {
|
|
38
|
+
version: VacpSchemaVersion;
|
|
39
|
+
nodes: VacpNode[];
|
|
40
|
+
edges: VacpEdge[];
|
|
41
|
+
actions: VacpActionDescriptor[];
|
|
42
|
+
}
|
|
43
|
+
export interface VacpCapabilitiesSnapshot {
|
|
44
|
+
version: VacpSchemaVersion;
|
|
45
|
+
createdAt: string;
|
|
46
|
+
graph: VacpGraph;
|
|
47
|
+
}
|
|
48
|
+
export interface VacpCapabilitiesRequest {
|
|
49
|
+
refs?: VacpRef[];
|
|
50
|
+
prefixes?: VacpRef[];
|
|
51
|
+
kinds?: VacpNodeKind[];
|
|
52
|
+
layers?: VacpLayer[];
|
|
53
|
+
includeActions?: boolean;
|
|
54
|
+
includeEdges?: boolean;
|
|
55
|
+
includeNodeData?: boolean;
|
|
56
|
+
}
|
|
57
|
+
export interface VacpStateSnapshot {
|
|
58
|
+
version: VacpSchemaVersion;
|
|
59
|
+
createdAt: string;
|
|
60
|
+
state: Record<VacpRef, unknown>;
|
|
61
|
+
summary?: Record<VacpRef, unknown>;
|
|
62
|
+
}
|
|
63
|
+
export type VacpStateRequestMode = "auto" | "full" | "delta";
|
|
64
|
+
export interface VacpStateRequest {
|
|
65
|
+
mode?: VacpStateRequestMode;
|
|
66
|
+
since?: string;
|
|
67
|
+
refs?: VacpRef[];
|
|
68
|
+
includeSummary?: boolean;
|
|
69
|
+
}
|
|
70
|
+
export interface VacpStateDeltaPayload {
|
|
71
|
+
changed: Record<VacpRef, unknown>;
|
|
72
|
+
removed: VacpRef[];
|
|
73
|
+
summaryChanged?: Record<VacpRef, unknown>;
|
|
74
|
+
summaryRemoved?: VacpRef[];
|
|
75
|
+
}
|
|
76
|
+
export type VacpStateUpdate = {
|
|
77
|
+
version: VacpSchemaVersion;
|
|
78
|
+
createdAt: string;
|
|
79
|
+
mode: "full";
|
|
80
|
+
token: string;
|
|
81
|
+
scope?: {
|
|
82
|
+
refs?: VacpRef[];
|
|
83
|
+
};
|
|
84
|
+
snapshot: VacpStateSnapshot;
|
|
85
|
+
} | {
|
|
86
|
+
version: VacpSchemaVersion;
|
|
87
|
+
createdAt: string;
|
|
88
|
+
mode: "delta";
|
|
89
|
+
token: string;
|
|
90
|
+
baseToken: string;
|
|
91
|
+
scope?: {
|
|
92
|
+
refs?: VacpRef[];
|
|
93
|
+
};
|
|
94
|
+
delta: VacpStateDeltaPayload;
|
|
95
|
+
};
|
|
96
|
+
export interface VacpActionCall {
|
|
97
|
+
callId: string;
|
|
98
|
+
name: string;
|
|
99
|
+
params?: unknown;
|
|
100
|
+
}
|
|
101
|
+
export type VacpActionResult = {
|
|
102
|
+
callId: string;
|
|
103
|
+
ok: true;
|
|
104
|
+
result?: unknown;
|
|
105
|
+
} | {
|
|
106
|
+
callId: string;
|
|
107
|
+
ok: false;
|
|
108
|
+
error: {
|
|
109
|
+
message: string;
|
|
110
|
+
details?: unknown;
|
|
111
|
+
};
|
|
112
|
+
};
|
|
113
|
+
export interface VacpWindowBridge {
|
|
114
|
+
version: VacpSchemaVersion;
|
|
115
|
+
getCapabilities(request?: VacpCapabilitiesRequest): Promise<VacpCapabilitiesSnapshot> | VacpCapabilitiesSnapshot;
|
|
116
|
+
getState(): Promise<VacpStateSnapshot>;
|
|
117
|
+
getState(request: VacpStateRequest): Promise<VacpStateUpdate>;
|
|
118
|
+
execute(call: VacpActionCall): Promise<VacpActionResult>;
|
|
119
|
+
}
|
|
120
|
+
export declare const VACP_DATA_SCHEMA_ACTION: "vacp.data_schema";
|
|
121
|
+
export type VacpDataSchemaDetail = "columns" | "full";
|
|
122
|
+
export interface VacpDataSchemaParams {
|
|
123
|
+
handleRef: VacpRef;
|
|
124
|
+
detail?: VacpDataSchemaDetail;
|
|
125
|
+
sampleRows?: number;
|
|
126
|
+
}
|
|
127
|
+
export interface VacpDataSchemaColumn {
|
|
128
|
+
name: string;
|
|
129
|
+
type: string;
|
|
130
|
+
notNull?: boolean;
|
|
131
|
+
primaryKey?: boolean;
|
|
132
|
+
}
|
|
133
|
+
export interface VacpDataSchemaNumericSummary {
|
|
134
|
+
min: number | null;
|
|
135
|
+
max: number | null;
|
|
136
|
+
avg: number | null;
|
|
137
|
+
unitHint?: "epoch_ms" | "epoch_s" | null;
|
|
138
|
+
minIso?: string | null;
|
|
139
|
+
maxIso?: string | null;
|
|
140
|
+
}
|
|
141
|
+
export interface VacpDataSchemaTemporalSummary {
|
|
142
|
+
minIso: string | null;
|
|
143
|
+
maxIso: string | null;
|
|
144
|
+
minEpochMs: number | null;
|
|
145
|
+
maxEpochMs: number | null;
|
|
146
|
+
}
|
|
147
|
+
export interface VacpDataSchemaResult {
|
|
148
|
+
handleRef: VacpRef;
|
|
149
|
+
detail: VacpDataSchemaDetail;
|
|
150
|
+
table: string | null;
|
|
151
|
+
rowCount: number | null;
|
|
152
|
+
columns: VacpDataSchemaColumn[];
|
|
153
|
+
numeric?: Record<string, VacpDataSchemaNumericSummary>;
|
|
154
|
+
temporal?: Record<string, VacpDataSchemaTemporalSummary>;
|
|
155
|
+
categoricalTopValues?: Record<string, Array<{
|
|
156
|
+
value: string;
|
|
157
|
+
n: number;
|
|
158
|
+
}>>;
|
|
159
|
+
sampledRows?: number | null;
|
|
160
|
+
}
|
|
@@ -7,6 +7,7 @@ import type { BaseChartProps, AxisConfig, ChartAccessor } from "../shared/types"
|
|
|
7
7
|
import type { TooltipProp } from "../../Tooltip/Tooltip";
|
|
8
8
|
import type { ChartRecipe } from "../../ai/chartRecipes";
|
|
9
9
|
import type { LegendValue } from "../../types/legendTypes";
|
|
10
|
+
import type { LegendInteractionMode, LegendPosition } from "../shared/useChartLegend";
|
|
10
11
|
export interface XYCustomChartProps<TDatum extends Datum = Datum, TConfig extends object = Record<string, unknown>> extends BaseChartProps, AxisConfig {
|
|
11
12
|
/** Data passed through to LayoutContext.data. */
|
|
12
13
|
data?: TDatum[];
|
|
@@ -34,6 +35,8 @@ export interface XYCustomChartProps<TDatum extends Datum = Datum, TConfig extend
|
|
|
34
35
|
showLegend?: boolean;
|
|
35
36
|
/** Additional legend content. Categorical groups follow the inferred colorBy legend. */
|
|
36
37
|
legend?: LegendValue;
|
|
38
|
+
legendInteraction?: LegendInteractionMode;
|
|
39
|
+
legendPosition?: LegendPosition;
|
|
37
40
|
annotations?: Datum[];
|
|
38
41
|
/** Field or function that declares the semantic category used for custom-layout color. */
|
|
39
42
|
colorBy?: ChartAccessor<TDatum, string>;
|
|
@@ -25,7 +25,7 @@ export interface DistanceCartogramProps<TDatum extends Datum = Datum> extends Ba
|
|
|
25
25
|
center: string;
|
|
26
26
|
/** Cost/distance accessor — numeric field or function */
|
|
27
27
|
costAccessor: string | ((d: Datum) => number);
|
|
28
|
-
/** Interpolation between geographic (0) and cartogram (1) @default 1 */
|
|
28
|
+
/** Interpolation between geographic (0) and cartogram (1), clamped to [0, 1]. @default 1 */
|
|
29
29
|
strength?: number;
|
|
30
30
|
/** Line rendering mode @default "straight" */
|
|
31
31
|
lineMode?: "straight" | "fractional";
|
|
@@ -12,8 +12,11 @@ export { ConnectedScatterplot } from "./xy/ConnectedScatterplot";
|
|
|
12
12
|
export type { ConnectedScatterplotProps } from "./xy/ConnectedScatterplot";
|
|
13
13
|
export { LineChart } from "./xy/LineChart";
|
|
14
14
|
export type { LineChartProps } from "./xy/LineChart";
|
|
15
|
+
export { BumpChart, rankBumpData } from "./xy/BumpChart";
|
|
16
|
+
export type { BumpChartProps, RankedBumpData, RankedBumpDatum, RankBumpDataOptions, } from "./xy/BumpChart";
|
|
15
17
|
export { AreaChart } from "./xy/AreaChart";
|
|
16
18
|
export type { AreaChartProps, SemanticGradientStop } from "./xy/AreaChart";
|
|
19
|
+
export type { GradientConfig, GradientStop, SemanticGradientInput, } from "./shared/gradient";
|
|
17
20
|
export { DifferenceChart } from "./xy/DifferenceChart";
|
|
18
21
|
export type { DifferenceChartProps } from "./xy/DifferenceChart";
|
|
19
22
|
export { StackedAreaChart } from "./xy/StackedAreaChart";
|
|
@@ -100,8 +103,8 @@ export { GaltonBoardChart } from "./physics/GaltonBoardChart";
|
|
|
100
103
|
export type { GaltonBoardChartProps, GaltonBoardReferenceLine } from "./physics/GaltonBoardChart";
|
|
101
104
|
export { EventDropChart } from "./physics/EventDropChart";
|
|
102
105
|
export type { EventDropChartProps } from "./physics/EventDropChart";
|
|
103
|
-
export { PhysicsPileChart } from "./physics/
|
|
104
|
-
export type { PhysicsPileChartProps } from "./physics/
|
|
106
|
+
export { UnitPileChart, PhysicsPileChart } from "./physics/UnitPileChart";
|
|
107
|
+
export type { UnitPileChartProps, PhysicsPileChartProps } from "./physics/UnitPileChart";
|
|
105
108
|
export { CollisionSwarmChart } from "./physics/CollisionSwarmChart";
|
|
106
109
|
export type { CollisionSwarmChartProps } from "./physics/CollisionSwarmChart";
|
|
107
110
|
export * from "./physics/CrucibleChart";
|
|
@@ -117,8 +120,8 @@ export type { BodyGroupSpec, BodyGroupSpecOptions, ProcessMembraneDef, ProcessRe
|
|
|
117
120
|
export type { RegionCountBucket, RegionCountMap } from "../recipes/processAggregates";
|
|
118
121
|
export type { ProcessVolumePoint, ProcessVolumePolygon, ProcessVolumePolygonRole } from "../recipes/processVolumeGeometry";
|
|
119
122
|
export type { ProcessJourneyEntityState, ProcessJourneyLedger, ProcessJourneyRow, ProcessJourneyStage, ProcessJourneyUpdateOptions } from "../recipes/processJourney";
|
|
120
|
-
export { PhysicalFlowChart } from "./physics/
|
|
121
|
-
export type { PhysicalFlowChartProps } from "./physics/
|
|
123
|
+
export { PacketFlowChart, PhysicalFlowChart } from "./physics/PacketFlowChart";
|
|
124
|
+
export type { PacketFlowChartProps, PhysicalFlowChartProps } from "./physics/PacketFlowChart";
|
|
122
125
|
export { ProcessFlowChart } from "./physics/ProcessFlowChart";
|
|
123
126
|
export type { ProcessFlowChartProps, ProcessFlowProjectionMetadata, ProcessFlowStageDef } from "./physics/ProcessFlowChart";
|
|
124
127
|
export { PhysicsCustomChart } from "./physics/PhysicsCustomChart";
|
|
@@ -7,6 +7,7 @@ import { type TooltipProp } from "../../Tooltip/Tooltip";
|
|
|
7
7
|
import type { RealtimeFrameHandle } from "../../realtime/types";
|
|
8
8
|
import { type StyleRule } from "../shared/styleRules";
|
|
9
9
|
import { type RegressionProp } from "../shared/regressionUtils";
|
|
10
|
+
import { type GradientInput } from "../shared/gradient";
|
|
10
11
|
/**
|
|
11
12
|
* BarChart component props
|
|
12
13
|
*/
|
|
@@ -64,24 +65,16 @@ export interface BarChartProps<TDatum extends Datum = Datum> extends BaseChartPr
|
|
|
64
65
|
/** Rounded top corner radius in pixels. Only the end away from the baseline is rounded. */
|
|
65
66
|
roundedTop?: number;
|
|
66
67
|
/**
|
|
67
|
-
* Gradient fill from the bar's tip (
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
68
|
+
* Gradient fill from the bar's tip (offset 0) toward its base (offset 1).
|
|
69
|
+
* Stops can set `color`, `opacity`, or both. Omit a stop color to inherit
|
|
70
|
+
* the resolved bar color.
|
|
71
|
+
* @example
|
|
72
|
+
* `{ stops: [{ offset: 0, opacity: 0.8 }, { offset: 1, opacity: 0.05 }] }`
|
|
72
73
|
* Direction follows the bar's orientation (vertical/horizontal) and sign
|
|
73
74
|
* (positive/negative bars). Same API as `AreaChart.gradientFill`.
|
|
74
75
|
* @default false
|
|
75
76
|
*/
|
|
76
|
-
gradientFill?:
|
|
77
|
-
topOpacity: number;
|
|
78
|
-
bottomOpacity: number;
|
|
79
|
-
} | {
|
|
80
|
-
colorStops: Array<{
|
|
81
|
-
offset: number;
|
|
82
|
-
color: string;
|
|
83
|
-
}>;
|
|
84
|
-
};
|
|
77
|
+
gradientFill?: GradientInput;
|
|
85
78
|
/**
|
|
86
79
|
* Declarative, threshold-aware bar styling. An ordered list of
|
|
87
80
|
* `{ when, style }` rules; every rule whose condition matches a bar
|
|
@@ -25,6 +25,9 @@ export interface GaugeChartProps extends BaseChartProps {
|
|
|
25
25
|
/**
|
|
26
26
|
* Arc-length gradient for the gauge band.
|
|
27
27
|
*
|
|
28
|
+
* Offset 0 is the sweep start and offset 1 is the sweep end. Stops can set
|
|
29
|
+
* `color`, `opacity`, or both.
|
|
30
|
+
*
|
|
28
31
|
* The gradient is sampled along the visible filled arc from sweep start
|
|
29
32
|
* toward the current value. If `fillZones` is false, the entire arc uses
|
|
30
33
|
* the gradient. If `fillZones` is true, the unfilled remainder stays on
|
|
@@ -6,6 +6,7 @@ import type { BaseChartProps, ChartAccessor, CategoryFormatFn } from "../shared/
|
|
|
6
6
|
import { type TooltipProp } from "../../Tooltip/Tooltip";
|
|
7
7
|
import { type StyleRule } from "../shared/styleRules";
|
|
8
8
|
import type { RealtimeFrameHandle } from "../../realtime/types";
|
|
9
|
+
import { type GradientInput } from "../shared/gradient";
|
|
9
10
|
export interface GroupedBarChartProps<TDatum extends Datum = Datum> extends BaseChartProps {
|
|
10
11
|
data?: TDatum[];
|
|
11
12
|
categoryAccessor?: ChartAccessor<TDatum, string>;
|
|
@@ -22,6 +23,8 @@ export interface GroupedBarChartProps<TDatum extends Datum = Datum> extends Base
|
|
|
22
23
|
barPadding?: number;
|
|
23
24
|
/** Rounded corner radius on bar ends (away from baseline). */
|
|
24
25
|
roundedTop?: number;
|
|
26
|
+
/** Tip-to-base bar gradient using `{ stops: [{ offset, color?, opacity? }] }`. */
|
|
27
|
+
gradientFill?: GradientInput;
|
|
25
28
|
/**
|
|
26
29
|
* Declarative, threshold-aware bar styling. Ordered `{ when, style }`
|
|
27
30
|
* rules; the last applicable rule wins per property. `when` accepts a
|
|
@@ -6,6 +6,7 @@ import type { BaseChartProps, ChartAccessor, CategoryFormatFn } from "../shared/
|
|
|
6
6
|
import { type TooltipProp } from "../../Tooltip/Tooltip";
|
|
7
7
|
import type { RealtimeFrameHandle } from "../../realtime/types";
|
|
8
8
|
import { type StyleRule } from "../shared/styleRules";
|
|
9
|
+
import { type GradientInput } from "../shared/gradient";
|
|
9
10
|
export interface StackedBarChartProps<TDatum extends Datum = Datum> extends BaseChartProps {
|
|
10
11
|
data?: TDatum[];
|
|
11
12
|
categoryAccessor?: ChartAccessor<TDatum, string>;
|
|
@@ -23,6 +24,8 @@ export interface StackedBarChartProps<TDatum extends Datum = Datum> extends Base
|
|
|
23
24
|
barPadding?: number;
|
|
24
25
|
/** Rounded top corner radius. Only the topmost stacked segment gets rounded. */
|
|
25
26
|
roundedTop?: number;
|
|
27
|
+
/** Tip-to-base segment gradient using `{ stops: [{ offset, color?, opacity? }] }`. */
|
|
28
|
+
gradientFill?: GradientInput;
|
|
26
29
|
/**
|
|
27
30
|
* Declarative, threshold-aware segment styling. Ordered `{ when, style }`
|
|
28
31
|
* rules; the last applicable rule wins per property. `when` accepts a
|
|
@@ -5,6 +5,7 @@ import type { LegendInteractionMode } from "../shared/hooks";
|
|
|
5
5
|
import type { BaseChartProps, ChartAccessor, CategoryFormatFn } from "../shared/types";
|
|
6
6
|
import { type TooltipProp } from "../../Tooltip/Tooltip";
|
|
7
7
|
import type { RealtimeFrameHandle } from "../../realtime/types";
|
|
8
|
+
import { type GradientInput } from "../shared/gradient";
|
|
8
9
|
export interface SwimlaneChartProps<TDatum extends Datum = Datum> extends BaseChartProps {
|
|
9
10
|
/** Data array. Omit for push API mode. */
|
|
10
11
|
data?: TDatum[];
|
|
@@ -61,20 +62,9 @@ export interface SwimlaneChartProps<TDatum extends Datum = Datum> extends BaseCh
|
|
|
61
62
|
rTickValues?: number[];
|
|
62
63
|
/** Align first value tick label to start, last to end. Prevents clipping at chart edges. */
|
|
63
64
|
tickLabelEdgeAlign?: boolean;
|
|
64
|
-
/** Gradient fill
|
|
65
|
-
*
|
|
66
|
-
|
|
67
|
-
* BarChart.gradientFill / AreaChart.gradientFill. The gradient runs along
|
|
68
|
-
* the lane's growth direction (left→right horizontal, bottom→top vertical). */
|
|
69
|
-
gradientFill?: boolean | {
|
|
70
|
-
topOpacity: number;
|
|
71
|
-
bottomOpacity: number;
|
|
72
|
-
} | {
|
|
73
|
-
colorStops: Array<{
|
|
74
|
-
offset: number;
|
|
75
|
-
color: string;
|
|
76
|
-
}>;
|
|
77
|
-
};
|
|
65
|
+
/** Gradient fill along the lane's growth direction. Offset 0 is the tip
|
|
66
|
+
* and offset 1 is the base. Stops can set `color`, `opacity`, or both. */
|
|
67
|
+
gradientFill?: GradientInput;
|
|
78
68
|
/** Lane "track" fill — a rect drawn behind each lane spanning the full
|
|
79
69
|
* value-axis range, sized to the lane's bandwidth. Lets budget/progress
|
|
80
70
|
* lanes read as filled vs. empty. Pass a color string (CSS vars
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ChartCapability } from "../../ai/chartCapabilityTypes";
|
|
2
|
+
/**
|
|
3
|
+
* ChainReactionChart is intentionally known to the AI surface but never selected
|
|
4
|
+
* from a flat data profile. The chart's whole claim is about a specific
|
|
5
|
+
* dependency topology — which task waits on which — and a profiler cannot
|
|
6
|
+
* responsibly invent edges. A dependency chart with the wrong edges is worse
|
|
7
|
+
* than no chart, so the graph must be authored.
|
|
8
|
+
*/
|
|
9
|
+
export declare const ChainReactionChartCapability: ChartCapability;
|
|
@@ -2,6 +2,35 @@ import * as React from "react";
|
|
|
2
2
|
import type { Datum } from "../shared/datumTypes";
|
|
3
3
|
import type { ChainReactionChartHandle, ChainReactionChartProps } from "./chainReactionTypes";
|
|
4
4
|
export type * from "./chainReactionTypes";
|
|
5
|
+
/**
|
|
6
|
+
* Physics-backed dependency chart whose settled reading exposes task state and each blocker's downstream reach.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* <ChainReactionChart
|
|
10
|
+
* data={[
|
|
11
|
+
* { id: "brief", label: "Brief", lane: "Product", dependsOn: [], status: "done" },
|
|
12
|
+
* { id: "release", label: "Release", lane: "Product", dependsOn: ["brief"], status: "waiting" }
|
|
13
|
+
* ]}
|
|
14
|
+
* taskIDAccessor="id"
|
|
15
|
+
* labelAccessor="label"
|
|
16
|
+
* laneAccessor="lane"
|
|
17
|
+
* dependencyAccessor="dependsOn"
|
|
18
|
+
* statusAccessor="status"
|
|
19
|
+
* />
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* <ChainReactionChart
|
|
23
|
+
* data={releaseTasks}
|
|
24
|
+
* taskIDAccessor="id"
|
|
25
|
+
* labelAccessor="title"
|
|
26
|
+
* laneAccessor="workstream"
|
|
27
|
+
* dependencyAccessor="prerequisites"
|
|
28
|
+
* completionTimeAccessor="completedAt"
|
|
29
|
+
* mode="replay"
|
|
30
|
+
* controls
|
|
31
|
+
* insight="blocker-amplification"
|
|
32
|
+
* />
|
|
33
|
+
*/
|
|
5
34
|
export declare const ChainReactionChart: {
|
|
6
35
|
<TDatum extends Datum = Datum>(props: ChainReactionChartProps<TDatum> & React.RefAttributes<ChainReactionChartHandle>): React.ReactElement | null;
|
|
7
36
|
displayName?: string;
|
|
@@ -4,7 +4,7 @@ import type { BaseChartProps, ChartAccessor } from "../shared/types";
|
|
|
4
4
|
import type { StyleRule } from "../shared/styleRules";
|
|
5
5
|
import { type PhysicsFrameHandle } from "./physicsHocHandle";
|
|
6
6
|
import { type PhysicsHocFrameProps, type PhysicsRerunMS, type PhysicsSharedChartProps, type TooltipProp } from "./physicsHocUtils";
|
|
7
|
-
export interface CollisionSwarmChartProps<TDatum extends Datum = Datum> extends Omit<BaseChartProps, "margin">, PhysicsSharedChartProps {
|
|
7
|
+
export interface CollisionSwarmChartProps<TDatum extends Datum = Datum> extends Omit<BaseChartProps, "margin" | "selection">, PhysicsSharedChartProps {
|
|
8
8
|
data?: TDatum[];
|
|
9
9
|
size?: [number, number];
|
|
10
10
|
xAccessor?: ChartAccessor<TDatum, number>;
|
|
@@ -4,8 +4,8 @@ import type { BaseChartProps, ChartAccessor } from "../shared/types";
|
|
|
4
4
|
import { type EventDropWindowOptions } from "./physicsChartUtils";
|
|
5
5
|
import type { StyleRule } from "../shared/styleRules";
|
|
6
6
|
import { type PhysicsFrameHandle } from "./physicsHocHandle";
|
|
7
|
-
import { type PhysicsHocFrameProps, type PhysicsSharedChartProps, type TooltipProp } from "./physicsHocUtils";
|
|
8
|
-
export interface EventDropChartProps<TDatum extends Datum = Datum> extends Omit<BaseChartProps, "margin">, PhysicsSharedChartProps {
|
|
7
|
+
import { type PhysicsHocFrameProps, type PhysicsRerunMS, type PhysicsSharedChartProps, type TooltipProp } from "./physicsHocUtils";
|
|
8
|
+
export interface EventDropChartProps<TDatum extends Datum = Datum> extends Omit<BaseChartProps, "margin" | "selection">, PhysicsSharedChartProps {
|
|
9
9
|
data?: TDatum[];
|
|
10
10
|
size?: [number, number];
|
|
11
11
|
timeAccessor?: ChartAccessor<TDatum, number>;
|
|
@@ -28,6 +28,11 @@ export interface EventDropChartProps<TDatum extends Datum = Datum> extends Omit<
|
|
|
28
28
|
timeScale?: number;
|
|
29
29
|
showProjection?: boolean;
|
|
30
30
|
tooltip?: TooltipProp;
|
|
31
|
+
/**
|
|
32
|
+
* Replay the seeded simulation this many milliseconds after it settles.
|
|
33
|
+
* Omit or pass `null` for a single run; `0` replays on the next timer turn.
|
|
34
|
+
*/
|
|
35
|
+
rerunMS?: PhysicsRerunMS;
|
|
31
36
|
paused?: boolean;
|
|
32
37
|
frameProps?: PhysicsHocFrameProps<"config">;
|
|
33
38
|
}
|
|
@@ -14,7 +14,7 @@ export interface GaltonBoardReferenceLine {
|
|
|
14
14
|
strokeWidth?: number;
|
|
15
15
|
labelPosition?: "top" | "bottom";
|
|
16
16
|
}
|
|
17
|
-
export interface GaltonBoardChartProps<TDatum extends Datum = Datum> extends Omit<BaseChartProps, "margin" | "mode">, PhysicsSharedChartProps {
|
|
17
|
+
export interface GaltonBoardChartProps<TDatum extends Datum = Datum> extends Omit<BaseChartProps, "margin" | "mode" | "selection">, PhysicsSharedChartProps {
|
|
18
18
|
data?: TDatum[];
|
|
19
19
|
size?: [number, number];
|
|
20
20
|
valueAccessor?: ChartAccessor<TDatum, number>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { ChartCapability } from "../../ai/chartCapabilityTypes";
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const PacketFlowChartCapability: ChartCapability;
|