semiotic 3.8.4 → 3.8.5
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 +6 -3
- package/README.md +44 -38
- package/ai/componentMetadata.cjs +1 -1
- package/ai/dist/mcp-server.js +4 -2
- package/ai/examples.md +167 -0
- package/ai/schema.json +1004 -1
- package/ai/surface-manifest.json +6 -4
- package/ai/system-prompt.md +1 -1
- package/dist/chunk-chartContainerDataAudit-74TLKIP6.module.min.js +2 -0
- package/dist/{chunk-chunk-LQBSXO7K.module.min.js → chunk-chunk-4AANPFOX.module.min.js} +1 -1
- package/dist/{chunk-chunk-N6VKKF3A.module.min.js → chunk-chunk-5I3UZV4Q.module.min.js} +1 -1
- package/dist/chunk-chunk-74CCPVXB.module.min.js +1 -0
- package/dist/{chunk-chunk-6TPGFL7M.module.min.js → chunk-chunk-BANTPINB.module.min.js} +1 -1
- package/dist/chunk-chunk-CKMD5NV3.module.min.js +2 -0
- package/dist/chunk-chunk-CO5KQMGH.module.min.js +1 -0
- package/dist/{chunk-chunk-BFHUYEOS.module.min.js → chunk-chunk-CWQ5YIHX.module.min.js} +1 -1
- package/dist/chunk-chunk-E6TXX6MI.module.min.js +1 -0
- package/dist/{chunk-chunk-JDXT6ORT.module.min.js → chunk-chunk-I36PJ4OC.module.min.js} +1 -1
- package/dist/chunk-chunk-K3DMEW22.module.min.js +1 -0
- package/dist/chunk-chunk-KT2VAZMZ.module.min.js +1 -0
- package/dist/{chunk-chunk-AQPQN2HH.module.min.js → chunk-chunk-L6EA5V3G.module.min.js} +1 -1
- package/dist/{chunk-chunk-FBGHXL72.module.min.js → chunk-chunk-LJLS6DY7.module.min.js} +1 -1
- package/dist/chunk-chunk-LJPCLYSC.module.min.js +2 -0
- package/dist/{chunk-chunk-7RYBCTK5.module.min.js → chunk-chunk-N5DDKCCF.module.min.js} +1 -1
- package/dist/chunk-chunk-NLO44TOS.module.min.js +2 -0
- package/dist/{chunk-chunk-F5V4UIE6.module.min.js → chunk-chunk-PZJ2SBLL.module.min.js} +1 -1
- package/dist/chunk-chunk-QUJ6TTLY.module.min.js +1 -0
- package/dist/chunk-chunk-RBIDBUT4.module.min.js +2 -0
- package/dist/chunk-chunk-RFLAG356.module.min.js +1 -0
- package/dist/{chunk-chunk-7KZJUTKP.module.min.js → chunk-chunk-RPU4IZAV.module.min.js} +1 -1
- package/dist/{chunk-chunk-PLIDPQNG.module.min.js → chunk-chunk-SKMBCFIL.module.min.js} +1 -1
- package/dist/{chunk-chunk-SR4ZXOWR.module.min.js → chunk-chunk-TAE7W424.module.min.js} +1 -1
- package/dist/{chunk-chunk-KQ546MKE.module.min.js → chunk-chunk-TMWIZL3K.module.min.js} +1 -1
- package/dist/chunk-chunk-TUBMTZMU.module.min.js +2 -0
- package/dist/chunk-chunk-UFFEXJQY.module.min.js +1 -0
- package/dist/chunk-chunk-XSCHTS4D.module.min.js +2 -0
- package/dist/{chunk-chunk-F7WFPD4O.module.min.js → chunk-chunk-XXWSHGPL.module.min.js} +1 -1
- package/dist/chunk-chunk-ZXIXAPRE.module.min.js +2 -0
- package/dist/components/ChartContainer.d.ts +10 -0
- package/dist/components/ai/chartCapabilities.d.ts +2 -1
- package/dist/components/ai/chartCapabilityTypes.d.ts +14 -0
- package/dist/components/chartContainerDataAudit.d.ts +10 -0
- package/dist/components/charts/geo/DistanceCartogram.d.ts +29 -3
- package/dist/components/charts/index.d.ts +1 -0
- package/dist/components/charts/network/ForceDirectedGraph.d.ts +36 -1
- package/dist/components/charts/physics/CrucibleChart.capability.d.ts +8 -0
- package/dist/components/charts/physics/CrucibleChart.d.ts +63 -0
- package/dist/components/charts/physics/crucibleBodyRenderers.d.ts +27 -0
- package/dist/components/charts/physics/crucibleChartProps.d.ts +90 -0
- package/dist/components/charts/physics/crucibleChrome.d.ts +47 -0
- package/dist/components/charts/physics/crucibleController.d.ts +59 -0
- package/dist/components/charts/physics/crucibleEffects.d.ts +30 -0
- package/dist/components/charts/physics/cruciblePhysics.d.ts +54 -0
- package/dist/components/charts/physics/crucibleProgram.d.ts +38 -0
- package/dist/components/charts/physics/crucibleTypes.d.ts +415 -0
- package/dist/components/charts/shared/chartSpecCore.d.ts +8 -0
- package/dist/components/charts/shared/crucibleWireSchema.d.ts +5 -0
- package/dist/components/charts/shared/diagnoseTypes.d.ts +10 -0
- package/dist/components/charts/shared/knownChartComponents.d.ts +1 -1
- package/dist/components/data/auditData.d.ts +51 -0
- package/dist/components/data/dataAuditPresentation.d.ts +18 -0
- package/dist/components/data/dataAuditSources.d.ts +9 -0
- package/dist/components/data/numericContracts.d.ts +59 -0
- package/dist/components/data/numericFieldProfiler.d.ts +23 -0
- package/dist/components/recipes/netEnsembleLayout.d.ts +167 -0
- package/dist/components/recipes/netEnsembleOverlays.d.ts +20 -0
- package/dist/components/recipes/wordTrails.d.ts +156 -0
- package/dist/components/recipes/wordTrailsProgressiveReveal.d.ts +42 -0
- package/dist/components/semiotic-ai-core.d.ts +3 -0
- package/dist/components/semiotic-ai-data-audit.d.ts +4 -0
- package/dist/components/semiotic-ai.d.ts +7 -5
- package/dist/components/semiotic-physics.d.ts +1 -0
- package/dist/components/semiotic-recipes-core.d.ts +4 -0
- package/dist/components/semiotic-utils-core.d.ts +3 -0
- package/dist/components/semiotic.d.ts +1 -1
- package/dist/components/server/renderEvidence.d.ts +27 -0
- package/dist/components/server/serverChartConfigs.d.ts +1 -0
- package/dist/components/server/serverChartConfigsPhysics.d.ts +9 -0
- package/dist/components/server/staticAnnotations.d.ts +12 -0
- package/dist/components/stream/GeoPipelineStore.d.ts +1 -0
- package/dist/components/stream/GeoSVGOverlay.d.ts +7 -0
- package/dist/components/stream/geoCartogram.d.ts +7 -0
- package/dist/components/stream/geoTypes.d.ts +17 -2
- package/dist/components/stream/networkFrameHandleTypes.d.ts +4 -0
- package/dist/components/stream/physics/PhysicsSettledSVG.d.ts +8 -0
- package/dist/components/useChartContainerDataAudit.d.ts +7 -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.module.min.js +1 -1
- package/dist/physics.min.js +1 -1
- package/dist/physics.module.min.js +1 -1
- package/dist/realtime.min.js +1 -1
- package/dist/realtime.module.min.js +1 -1
- package/dist/semiotic-ai-core.d.ts +3 -0
- 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 +7 -5
- package/dist/semiotic-ai.min.js +1 -1
- package/dist/semiotic-ai.module.min.js +1 -1
- package/dist/semiotic-experimental.min.js +1 -1
- package/dist/semiotic-experimental.module.min.js +1 -1
- package/dist/semiotic-physics.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 +4 -0
- 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.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-utils-core.d.ts +3 -0
- 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.d.ts +1 -1
- 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.module.min.js +1 -1
- package/package.json +2 -2
- package/dist/chunk-chunk-3ILKBVVQ.module.min.js +0 -1
- package/dist/chunk-chunk-ASKSE5F5.module.min.js +0 -1
- package/dist/chunk-chunk-B3DRZPBK.module.min.js +0 -2
- package/dist/chunk-chunk-FP44FHFO.module.min.js +0 -2
- package/dist/chunk-chunk-HKXUAEPJ.module.min.js +0 -2
- package/dist/chunk-chunk-ICEXPNDC.module.min.js +0 -2
- package/dist/chunk-chunk-JMVEIZXP.module.min.js +0 -1
- package/dist/chunk-chunk-KHCOJMGK.module.min.js +0 -1
- package/dist/chunk-chunk-MFHF4J2Z.module.min.js +0 -1
- package/dist/chunk-chunk-NKZ75IM5.module.min.js +0 -2
- package/dist/chunk-chunk-QGZGZI4X.module.min.js +0 -1
- package/dist/chunk-chunk-RP7WTID5.module.min.js +0 -1
- package/dist/chunk-chunk-S7KLNUO6.module.min.js +0 -1
|
@@ -20,6 +20,9 @@ export { resolveStyleRules, matchesThreshold, ruleMatches, makeRuleValueResolver
|
|
|
20
20
|
export type { StyleRule, StyleRuleStyle, StyleRuleThreshold, StyleRuleContext, StyleRulePredicate, } from "./charts/shared/styleRules";
|
|
21
21
|
export { validateProps } from "./charts/shared/validateProps";
|
|
22
22
|
export { diagnoseConfig } from "./charts/shared/diagnoseConfig";
|
|
23
|
+
export { auditData, formatDataAudit, profileNumericFields, toDataAuditNotifications, } from "./data/auditData";
|
|
24
|
+
export type { AuditDataOptions, CheckedNumericContract, DataAuditChartNotification, DataAuditDiagnosis, DataAuditNotificationOptions, DataAuditResult, NumericFieldProfile, ProfileNumericFieldsOptions, } from "./data/auditData";
|
|
25
|
+
export type { NumericAggregateContract, NumericContracts, NumericFieldContract, NumericFieldRole, NumericRequirement, } from "./data/numericContracts";
|
|
23
26
|
export { auditAccessibility, formatAccessibilityAudit, accessibilityCaveats } from "./charts/shared/auditAccessibility";
|
|
24
27
|
export { auditMobileVisualization, formatMobileVisualizationAudit, mobileVisualizationCaveats } from "./charts/shared/auditMobileVisualization";
|
|
25
28
|
export { responsiveRuleMatches, resolveResponsiveRules } from "./charts/shared/responsiveRules";
|
|
@@ -72,7 +72,7 @@ export { intentManifestFromRecipe, summarizeIntentManifest } from "./ai/intentMa
|
|
|
72
72
|
export type { IntentManifest, IntentManifestFromRecipeOptions } from "./ai/intentManifest";
|
|
73
73
|
export { useNavigationSync } from "./ai/useNavigationSync";
|
|
74
74
|
export type { UseNavigationSyncOptions, UseNavigationSyncResult } from "./ai/useNavigationSync";
|
|
75
|
-
export type { ChartContainerProps, ChartContainerHandle, ChartContainerMobileOptions, ChartNotification, ChartNotificationLevel, } from "./ChartContainer";
|
|
75
|
+
export type { ChartContainerProps, ChartContainerHandle, ChartContainerDataAudit, ChartContainerDataAuditOptions, ChartContainerMobileOptions, ChartNotification, ChartNotificationLevel, } from "./ChartContainer";
|
|
76
76
|
export type { MobileChartChip, MobileChartContainerProps, MobileChartDetailMode, } from "./MobileChartContainer";
|
|
77
77
|
export type { MobileStandardBrushControls, MobileStandardControlKind, MobileStandardControlLegendItem, MobileStandardControlRequest, MobileStandardControlsMode, MobileStandardControlsProps, MobileStandardLegendControls, MobileStandardZoomControls, UseMobileRangeControlsOptions, UseMobileRangeControlsResult, } from "./MobileStandardControls";
|
|
78
78
|
export type { MobileVisualizationContract } from "./charts/shared/auditMobileVisualization";
|
|
@@ -47,6 +47,26 @@ export interface RenderEvidence {
|
|
|
47
47
|
ariaLabel: string;
|
|
48
48
|
/** Stable warning codes (EMPTY_SCENE, NO_SCALES). */
|
|
49
49
|
warnings: string[];
|
|
50
|
+
/**
|
|
51
|
+
* The resolved margin Semiotic actually used — after auto-reservation for a
|
|
52
|
+
* legend, a title, or any other chrome that grows a side beyond the caller's
|
|
53
|
+
* input. This is ground truth for reconstructing the plot rectangle by
|
|
54
|
+
* hand (e.g. a caller hand-drawing an SSR overlay); it is exactly what the
|
|
55
|
+
* emitted SVG's `data-area` group is translated by.
|
|
56
|
+
*/
|
|
57
|
+
margin?: {
|
|
58
|
+
top: number;
|
|
59
|
+
right: number;
|
|
60
|
+
bottom: number;
|
|
61
|
+
left: number;
|
|
62
|
+
};
|
|
63
|
+
/** The plot rectangle after resolving `margin` against the outer `width`/`height`. */
|
|
64
|
+
plot?: {
|
|
65
|
+
x: number;
|
|
66
|
+
y: number;
|
|
67
|
+
width: number;
|
|
68
|
+
height: number;
|
|
69
|
+
};
|
|
50
70
|
}
|
|
51
71
|
/**
|
|
52
72
|
* Internal mutable slot threaded through the frame renderers. Only
|
|
@@ -85,6 +105,13 @@ interface BuildEvidenceInput {
|
|
|
85
105
|
edgeCount?: number;
|
|
86
106
|
legendItems?: number;
|
|
87
107
|
extraWarnings?: string[];
|
|
108
|
+
/** The resolved margin (after auto-reservation) the caller's frame used. */
|
|
109
|
+
margin?: {
|
|
110
|
+
top: number;
|
|
111
|
+
right: number;
|
|
112
|
+
bottom: number;
|
|
113
|
+
left: number;
|
|
114
|
+
};
|
|
88
115
|
}
|
|
89
116
|
/** Assemble evidence from a computed scene. Component name is stamped later
|
|
90
117
|
* by `renderChartWithEvidence`, which knows the HOC-level name. */
|
|
@@ -5,5 +5,14 @@ export declare const physicsPileChart: ChartConfig;
|
|
|
5
5
|
export declare const collisionSwarmChart: ChartConfig;
|
|
6
6
|
export declare const processFlowChart: ChartConfig;
|
|
7
7
|
export declare const gauntletChart: ChartConfig;
|
|
8
|
+
/**
|
|
9
|
+
* Static CrucibleChart renders the same deterministic ledger used by the
|
|
10
|
+
* client HOC. A replay request settles at the terminal state for SSR (the
|
|
11
|
+
* client also hydrates from that reduced-motion snapshot); snapshot mode is
|
|
12
|
+
* the one deliberate way to request an authored intermediate instant.
|
|
13
|
+
* `paused`, `playbackRate`, and `rerunMS` govern wall-clock replay only and
|
|
14
|
+
* therefore cannot alter this static semantic state.
|
|
15
|
+
*/
|
|
16
|
+
export declare const crucibleChart: ChartConfig;
|
|
8
17
|
export declare const physicalFlowChart: ChartConfig;
|
|
9
18
|
export declare const physicsCustomChart: ChartConfig;
|
|
@@ -7,6 +7,7 @@ import type { Datum, DatumValue } from "../charts/shared/datumTypes";
|
|
|
7
7
|
*/
|
|
8
8
|
import * as React from "react";
|
|
9
9
|
import type { SemioticTheme } from "../store/ThemeStore";
|
|
10
|
+
import type { AnnotationContext } from "../realtime/types";
|
|
10
11
|
import { type AutoPlaceAnnotations } from "../recipes/annotationLayout";
|
|
11
12
|
interface AnnotationScales {
|
|
12
13
|
x?: AnnotationScale;
|
|
@@ -46,6 +47,17 @@ export interface StaticAnnotationConfig {
|
|
|
46
47
|
yAccessor?: string;
|
|
47
48
|
/** Ordinal projection — determines whether r maps to x or y */
|
|
48
49
|
projection?: "vertical" | "horizontal" | "radial";
|
|
50
|
+
/**
|
|
51
|
+
* Custom SVG annotation renderer — same contract as the client
|
|
52
|
+
* `svgAnnotationRules` frame prop. When present, each annotation is
|
|
53
|
+
* offered to this rule first; returning `null`/`undefined` falls through
|
|
54
|
+
* to the built-in static type handlers. Without this, custom middle-
|
|
55
|
+
* marker / bulb overlays (and any other non-built-in annotation type)
|
|
56
|
+
* silently vanished from `renderChart` SVG.
|
|
57
|
+
*/
|
|
58
|
+
svgAnnotationRules?: (annotation: Datum, index: number, context: AnnotationContext) => React.ReactNode;
|
|
59
|
+
/** Chart data forwarded into the AnnotationContext for custom rules. */
|
|
60
|
+
annotationData?: Datum[];
|
|
49
61
|
}
|
|
50
62
|
/**
|
|
51
63
|
* Render annotations as static SVG elements.
|
|
@@ -3,6 +3,7 @@ import type { OnObservationCallback } from "../store/ObservationStore";
|
|
|
3
3
|
import { type OnAnnotationActivateCallback } from "../charts/shared/annotationActivation";
|
|
4
4
|
import * as React from "react";
|
|
5
5
|
import type { ReactNode } from "react";
|
|
6
|
+
import type { AnnotationContext } from "../realtime/types";
|
|
6
7
|
import type { GradientLegendConfig, LegendGroup, LegendLayout } from "../types/legendTypes";
|
|
7
8
|
import { type AutoPlaceAnnotations } from "../recipes/annotationLayout";
|
|
8
9
|
interface GeoSVGOverlayProps {
|
|
@@ -45,6 +46,12 @@ interface GeoSVGOverlayProps {
|
|
|
45
46
|
chartId?: string;
|
|
46
47
|
chartType?: string;
|
|
47
48
|
autoPlaceAnnotations?: AutoPlaceAnnotations;
|
|
49
|
+
/**
|
|
50
|
+
* Custom SVG annotation renderer. Same contract as XY/ordinal
|
|
51
|
+
* `svgAnnotationRules`. Runs after geographic `coordinates` are projected
|
|
52
|
+
* to pixel `x`/`y`, so rules can use the shared pixel-scale context.
|
|
53
|
+
*/
|
|
54
|
+
svgAnnotationRules?: (annotation: Datum, index: number, context: AnnotationContext) => ReactNode;
|
|
48
55
|
pointNodes?: {
|
|
49
56
|
pointId?: string;
|
|
50
57
|
x: number;
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Distance-cartogram projection of geo point scene nodes.
|
|
3
3
|
* Mutates point/line positions in place; returns layout metadata for overlays.
|
|
4
|
+
*
|
|
5
|
+
* Two encodings:
|
|
6
|
+
* - `radial` (default): pixel distance from center ∝ cost; bearing from geography
|
|
7
|
+
* - `strip`: 1D Langren-style cost axis — x ∝ cost, y collapsed to a baseline
|
|
8
|
+
* (sparkline-friendly; no map chrome)
|
|
4
9
|
*/
|
|
5
10
|
import type { DistanceCartogramConfig, GeoSceneNode } from "./geoTypes";
|
|
6
11
|
import type { StreamLayout } from "./types";
|
|
@@ -9,6 +14,8 @@ export type GeoCartogramLayout = {
|
|
|
9
14
|
cy: number;
|
|
10
15
|
maxCost: number;
|
|
11
16
|
availableRadius: number;
|
|
17
|
+
/** Active layout encoding — overlays branch on this. */
|
|
18
|
+
layout: "radial" | "strip";
|
|
12
19
|
};
|
|
13
20
|
/**
|
|
14
21
|
* Apply a distance cartogram transform to the scene.
|
|
@@ -3,7 +3,7 @@ import type { GeoProjection, GeoPath, GeoPermissibleObjects } from "d3-geo";
|
|
|
3
3
|
import type { GradientLegendConfig, LegendGroup, LegendLayout } from "../types/legendTypes";
|
|
4
4
|
import type { Style, DecayConfig, PulseConfig, TransitionConfig, StalenessConfig, SceneDatum, PointSceneNode, GlyphSceneNode, ThemeSemanticColors, SceneAccessibilityMetadata, SceneRenderMode } from "./types";
|
|
5
5
|
import type { AnimateProp } from "./pipelineTransitionUtils";
|
|
6
|
-
import type { HoverAnnotationConfig, HoverData } from "../realtime/types";
|
|
6
|
+
import type { AnnotationContext, HoverAnnotationConfig, HoverData } from "../realtime/types";
|
|
7
7
|
import type { GeoParticleStyle } from "./GeoParticlePool";
|
|
8
8
|
import type { Datum } from "../charts/shared/datumTypes";
|
|
9
9
|
import type { AutoPlaceAnnotations } from "../recipes/annotationLayout";
|
|
@@ -35,6 +35,12 @@ export interface DistanceCartogramConfig {
|
|
|
35
35
|
costAccessor: string | ((d: Datum) => number);
|
|
36
36
|
strength?: number;
|
|
37
37
|
lineMode?: "straight" | "fractional";
|
|
38
|
+
/**
|
|
39
|
+
* Layout encoding for cost-from-center:
|
|
40
|
+
* - `"radial"` (default): polar cartogram — distance ∝ cost, bearing from geography
|
|
41
|
+
* - `"strip"`: 1D Langren-style number line — x ∝ cost, y collapsed (sparkline)
|
|
42
|
+
*/
|
|
43
|
+
layout?: "radial" | "strip";
|
|
38
44
|
}
|
|
39
45
|
export interface GeoAreaSceneNode {
|
|
40
46
|
type: "geoarea";
|
|
@@ -239,6 +245,14 @@ export interface StreamGeoFrameProps<T = Datum> {
|
|
|
239
245
|
/** Observe activation of widget annotations without replacing widget behavior. */
|
|
240
246
|
onAnnotationActivate?: OnAnnotationActivateCallback;
|
|
241
247
|
autoPlaceAnnotations?: AutoPlaceAnnotations;
|
|
248
|
+
/**
|
|
249
|
+
* Custom SVG annotation renderer — same contract as XY/ordinal
|
|
250
|
+
* `svgAnnotationRules`. Called before the built-in geo annotation rules;
|
|
251
|
+
* return `null`/`undefined` to fall through. Geo pre-projects
|
|
252
|
+
* `coordinates: [lon, lat]` to pixel `x`/`y` before this runs so a single
|
|
253
|
+
* rule body works on canvas CSR and `renderChart` SSR.
|
|
254
|
+
*/
|
|
255
|
+
svgAnnotationRules?: (annotation: Datum, index: number, context: AnnotationContext) => ReactNode;
|
|
242
256
|
decay?: DecayConfig;
|
|
243
257
|
pulse?: PulseConfig;
|
|
244
258
|
transition?: TransitionConfig;
|
|
@@ -305,12 +319,13 @@ export interface StreamGeoFrameHandle {
|
|
|
305
319
|
clear(): void;
|
|
306
320
|
getProjection(): GeoProjection | null;
|
|
307
321
|
getGeoPath(): GeoPath<void, GeoPermissibleObjects> | null;
|
|
308
|
-
/** Get cartogram layout info (center position, max cost, radius) */
|
|
322
|
+
/** Get cartogram layout info (center position, max cost, radius / strip length) */
|
|
309
323
|
getCartogramLayout(): {
|
|
310
324
|
cx: number;
|
|
311
325
|
cy: number;
|
|
312
326
|
maxCost: number;
|
|
313
327
|
availableRadius: number;
|
|
328
|
+
layout?: "radial" | "strip";
|
|
314
329
|
} | null;
|
|
315
330
|
/** Get current zoom level (1 = default) */
|
|
316
331
|
getZoom(): number;
|
|
@@ -4,7 +4,11 @@ import type { CustomLayoutFailureDiagnostic } from "./customLayoutFailure";
|
|
|
4
4
|
import type { NetworkLayoutResult } from "./networkCustomLayout";
|
|
5
5
|
/** Imperative API exposed by `StreamNetworkFrame` refs. */
|
|
6
6
|
export interface StreamNetworkFrameHandle {
|
|
7
|
+
/** Ingest one edge immediately and coalesce its expensive layout with other
|
|
8
|
+
* pushes at the next animation frame. Geometry getters commit first. */
|
|
7
9
|
push(edge: EdgePush): void;
|
|
10
|
+
/** Ingest and lay out an explicit edge batch synchronously, absorbing any
|
|
11
|
+
* layout pending from prior single-edge pushes. */
|
|
8
12
|
pushMany(edges: EdgePush[]): void;
|
|
9
13
|
/** Remove a node by ID. Also removes connected edges. */
|
|
10
14
|
removeNode(id: string): boolean;
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { Style } from "../types";
|
|
3
|
+
import type { FrameGraphicsProp, FrameMargin } from "../useFrame";
|
|
4
|
+
import type { PhysicsBodyState } from "./PhysicsKernel";
|
|
1
5
|
import type { PhysicsSettledEvidence } from "./PhysicsEvidence";
|
|
2
6
|
import type { PhysicsPipelineStore } from "./PhysicsPipelineStore";
|
|
3
7
|
import { type PhysicsSettledScene, type PhysicsSettledSceneOptions } from "./PhysicsSettledScene";
|
|
@@ -7,8 +11,12 @@ export interface PhysicsSettledSVGOptions extends PhysicsSettledSceneOptions {
|
|
|
7
11
|
title?: string;
|
|
8
12
|
description?: string;
|
|
9
13
|
background?: string;
|
|
14
|
+
backgroundGraphics?: FrameGraphicsProp;
|
|
10
15
|
className?: string;
|
|
16
|
+
foregroundGraphics?: FrameGraphicsProp;
|
|
11
17
|
idPrefix?: string;
|
|
18
|
+
margin?: Partial<FrameMargin>;
|
|
19
|
+
renderBodySVG?: (body: PhysicsBodyState, style: Style, index: number, idPrefix: string) => React.ReactNode | undefined;
|
|
12
20
|
}
|
|
13
21
|
export interface PhysicsSettledSVGRender {
|
|
14
22
|
svg: string;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ChartNotification } from "./ChartContainer";
|
|
2
|
+
import type { ChartConfig } from "./export/chartConfig";
|
|
3
|
+
import type { ChartContainerDataAudit } from "./chartContainerDataAudit";
|
|
4
|
+
type AuditableChartConfig = Pick<ChartConfig, "component" | "props">;
|
|
5
|
+
/** Load the opt-in numeric evaluator only when a container asks for it. */
|
|
6
|
+
export declare function useChartContainerDataAudit(chartConfig: AuditableChartConfig | undefined, dataAudit: ChartContainerDataAudit | undefined): ChartNotification[];
|
|
7
|
+
export {};
|