Published-release documentation · release compatibility
Program and Rendering Functions
Program functions
Package-level functions create, compose, or render programs. They are not
chainable methods. hconcat and vconcat create a new composition program and
record their wrapped composition action and children in its trace. They leave
input programs unchanged. chart starts an empty trace; rendering reads the
concrete graphics without recording an authoring action.
Exact TypeScript signatures
These blocks are generated from the declaration file owned by each package entry.
ggaction
Complete declaration and relative dependencies
export type {
LinearNiceCountOptions,
AxisTickRounding,
ArcInnerRadius,
PieRadiusChannel,
TextMetricFontWeight,
TextMeasurement,
TextMetricsProfile,
ApplyTextMetricsOptions,
ReviseDataOptions,
ActionOptions,
AxisFormat,
AxisFormatString,
RotationInput,
RotationUnit,
NumericFormatString,
UtcFormatString,
ValueFormat,
AxisLabelOptions,
AxisLabelLayoutOptions,
AxisLabelStyleOptions,
AxisLineStyleOptions,
AxisTickOptions,
CartesianGuideDashMap,
AxisTicksAndLabelsOptions,
AxisTickStyleOptions,
AxisTitleOptions,
AxisTitleOffset,
AxisValue,
DisplayLabelMap,
DisplayLabelOptions,
BarWidthOptions,
BoxPlotOptions,
BoxPlotSummaryFields,
BinnedHeatmapColorOptions,
BinnedHeatmapOptions,
BinnedHeatmapPositionChannel,
Bin2DAssignment,
Bin2DCounts,
Bin2DDataOptions,
Bin2DExtent,
Bin2DOutputFields,
BinDataOptions,
BinDataOutputFields,
BindMarkDataOptions,
RemoveResourceOptions,
CanvasOptions,
FitCanvasOptions,
FoldDataOptions,
FoldDataOutputFields,
CategoricalEncodingOptions,
CategoryOrder,
CategoryOrderSummary,
CategoryValue,
ColorLayout,
SeriesLayoutOptions,
BasicSeriesLayoutOptions,
StrokeStyleDetails,
RectStyleDetails,
CreateAreaPlotOptions,
AreaPlotIndependentChannel,
AreaPlotMeasureChannel,
ColorEncodingOptions,
StrokeEncodingOptions,
EncodeChannelsOptions,
EncodingChannelAssignments,
SizeEncodingOptions,
ShapeEncodingOptions,
AngleEncodingOptions,
CompleteAxisOptions,
NamedCompleteAxis,
ConcatCompositionSpec,
CompositionAlign,
CompositionOptions,
EditFacetSourceOptions,
FacetHeaderRole,
FacetHeaderSide,
FacetHeaderAlign,
CompositionPadding,
CompositionProgramEntry,
CompositionSpec,
ComputedDataOptions,
ComputedExpression,
CompleteDataOptions,
ImputedDataOptions,
NormalizedDataOptions,
NormalizeBaseline,
NormalizeMethod,
NormalizeZeroDenominator,
ChartProgram,
ConcretePathCommand,
CurveInterpolation,
CreateDerivedDataOptions,
CreateAxesOptions,
PolarAxisTickSelection,
ParallelAxisTickSelection,
ParallelAxisTicksOptions,
ParallelAxisLabelsOptions,
ParallelAxisTitleOptions,
ParallelAxisComponentsOptions,
CreateParallelAxisOptions,
EditParallelAxisOptions,
ParallelAxesOptions,
RemoveParallelAxisOptions,
CreateThetaAxisLineOptions,
CreateRadialAxisLineOptions,
CreateThetaAxisTicksOptions,
CreateRadialAxisTicksOptions,
CreateThetaAxisLabelsOptions,
ThetaAxisLabelOptions,
ThetaTicksAndLabelsOptions,
CompleteThetaAxisOptions,
EditThetaAxisOptions,
CreateRadialAxisLabelsOptions,
CreateThetaAxisTitleOptions,
CreateRadialAxisTitleOptions,
CreateCoordinateOptions,
CoordinateAspect,
CoordinateAspectAlign,
PolarFrameCenter,
PolarFrameRadius,
PolarFrameOptions,
EditCoordinateOptions,
CreateGuidesOptions,
CreateGridOptions,
CreateBarPlotOptions,
BarRangePositionChannel,
CreateHeatmapOptions,
CreateHistogramOptions,
CreatePiePlotOptions,
CreateRosePlotOptions,
CreateRadialBarPlotOptions,
MeasuredRadialGuideOptions,
MeasuredRadiusScaleOptions,
RadialMapping,
RadialEncodingOptions,
RadiusScaleOptions,
CreateDensityPlotOptions,
CreateHorizonPlotOptions,
HorizonPlotGuideOptions,
DensityPlotGuideOptions,
DensityPlotLegendOptions,
PieCategory,
PieColor,
PieLegendOptions,
CreateRegressionBandOptions,
CreateRegressionLineOptions,
CreateLinePlotOptions,
CreatePolarLinePlotOptions,
CreatePolarScatterPlotOptions,
CreateRadarPlotOptions,
CreateRugPlotOptions,
CreateStripPlotOptions,
CreateBeeswarmPlotOptions,
RaincloudDensityOptions,
RaincloudBoxSummaryOptions,
RaincloudIntervalSummaryOptions,
RaincloudSummaryOptions,
RaincloudPointAppearanceOptions,
RaincloudPointsOptions,
CreateRaincloudPlotOptions,
EditRaincloudPlotOptions,
BeeswarmPackingOptions,
RadarCategoryChannel,
RadarCategoryScaleOptions,
RadarCategoryValue,
RadarWideOptions,
RugGuideOptions,
RugMeasureChannel,
RugTickOptions,
StripCategoryChannel,
StripBandJitterOptions,
StripJitterOptions,
StripPixelJitterOptions,
CreateParallelCoordinatesOptions,
CreateScatterPlotOptions,
CreateTextPlotOptions,
CreateIntervalPlotOptions,
CreateRegressionPlotOptions,
CreateDotPlotOptions,
CreateLollipopPlotOptions,
CreateDumbbellPlotOptions,
EditEndpointPlotOptions,
CreateECDFPlotOptions,
EditECDFPlotOptions,
EndpointCategoryChannel,
EndpointValueChannel,
EndpointPlotSummary,
EndpointLabelOptions,
IntervalPlotErrorBarOptions,
RegressionPlotPositionChannel,
CreateScaleOptions,
DashPattern,
DashScaleOptions,
DashStyle,
DatasetDensityTransform,
DatasetECDFResolvedGroup,
DatasetECDFTransform,
ECDFOutputFields,
ECDFDataOptions,
DatasetComputedTransform,
DatasetCompleteTransform,
DatasetImputedTransform,
DatasetNormalizedTransform,
DatasetHorizonTransform,
DensityPlacement,
BaselineDensityPlacement,
CategoryDensityPlacement,
DensityPlacementSide,
DensityPlacementSplit,
DensityPlacementWidth,
DensityWidthResolution,
DatasetBin2DOutputFields,
DatasetBin2DTransform,
DatasetFilterTransform,
DatasetFoldTransform,
DatasetIntervalOutputFields,
DatasetIntervalTransform,
DatasetTimeUnitTransform,
DatasetWindowOperation,
DatasetWindowSort,
DatasetWindowTransform,
DurationWindowFrame,
DurationWindowUnit,
DatasetRegressionTransform,
DatasetRegressionStatisticsTransform,
DatasetScalar,
StatisticalWeight,
DatasetStackTransform,
DatasetTransform,
RequestedDatasetTransform,
DerivedDataDependents,
EditDerivedDataOptions,
EditGraphicsOptions,
EditBin2DDataOptions,
EditComputedDataOptions,
EditFilteredDataOptions,
EditFoldDataOptions,
EditSummaryDataOptions,
EditBinDataOptions,
EditTimeUnitDataOptions,
EditWindowDataOptions,
EditDensityDataOptions,
EditStackDataOptions,
EditRegressionDataOptions,
EditRegressionStatisticsDataOptions,
EditIntervalDataOptions,
EditECDFDataOptions,
EditNormalizedDataOptions,
EditCompleteDataOptions,
EditImputedDataOptions,
EditHorizonOptions,
EditCompositionLayoutOptions,
EditFacetHeadersOptions,
FacetHeadersOptions,
FacetHeaderTitleOptions,
EditAxesOptions,
EditAxisOptions,
EditGradientPlotOptions,
EditViolinPlotOptions,
EditGridDirectionsOptions,
EditGridOptions,
EditErrorBandBoundaryOptions,
EditErrorBandOptions,
EditErrorBarOptions,
RuleStyleOptions,
EditBoxPlotOptions,
EditLegendBorderOptions,
EditLegendLabelsOptions,
EditLegendLayoutOptions,
EditLegendSymbolsOptions,
EditLegendTitleOptions,
EditScaleOptions,
EditXScaleOptions,
EditYScaleOptions,
EditParallelScaleOptions,
EditThetaScaleOptions,
EditRScaleOptions,
EditColorScaleOptions,
EditStrokeScaleOptions,
EditSizeScaleOptions,
EditOpacityScaleOptions,
EditShapeScaleOptions,
EditStrokeWidthScaleOptions,
EditStrokeDashScaleOptions,
EditSemanticOptions,
FieldType,
FillPaint,
FacetCompositionSpec,
FacetGap,
FacetGuideOptions,
FacetOptions,
FacetTopLaneMode,
FacetGridOptions,
FacetGridRole,
FacetScaleResolution,
FacetScaleResolutions,
GraphicClipRect,
GraphicObject,
GraphicSpec,
GraphicType,
GroupEncodingOptions,
GradientPlotAppearanceOptions,
GradientPlotCenterOptions,
GradientPlotDensityOptions,
GradientPlotOptions,
GradientPlotPositionChannel,
ViolinPlotAreaOptions,
ViolinPlotColorOptions,
ViolinPlotDensityOptions,
ViolinPlotOptions,
ViolinPlotPositionChannel,
ViolinPlotSplitOptions,
LinearGradientPaint,
LinearGradientPoint,
LinearGradientStop,
GridDirectionOptions,
HeatmapBaseOptions,
HeatmapBinOptions,
HistogramEncodingOptions,
HorizonEncodingOptions,
HorizonMissingPolicy,
HorizonOutputFields,
HorizonOverflowPolicy,
HorizonPaletteOptions,
HorizonResolution,
HorizonXEncoding,
HorizonYEncoding,
HighlightMarksOptions,
JitterMaxOffset,
JitterPointsOptions,
PointPackingMaxOffset,
PackPointsOptions,
RemovePointPackingOptions,
LabelLayoutAxis,
LabelLayoutBounds,
LabelLayoutOptions,
LabelLeaderOptions,
LegendOptions,
LegendChannel,
LegendBlockTextPatch,
LegendBlockSymbolPatch,
EditLegendBlockOptions,
EditLegendOptions,
ContinuousColorInterpolation,
ContinuousColorScaleOptions,
OpacityEncodingOptions,
OpacityScaleOptions,
OrderCategoriesOptions,
OffsetScaleOptions,
OffsetScaleEditPatch,
EditXOffsetScaleOptions,
EditYOffsetScaleOptions,
PathOrderEncodingOptions,
ParallelCoordinatesEncodingOptions,
ParallelDimension,
ParallelMissingPolicy,
PointShape,
PointPolygonShape,
PreGriddedHeatmapOptions,
MarkSelector,
MarkGraphicProperty,
Palette,
PaletteName,
NonPointQuantitativePositionScaleOptions,
PositionEncodingOptions,
YPositionEncodingOptions,
RulePositionEncodingOptions,
SecondaryPositionEncodingOptions,
RegressionBandOptions,
RegressionDataOptions,
RegressionStatisticsDataOptions,
RegressionInterval,
RegressionMethod,
RegressionOptions,
RectMarkOptions,
ReplaceCompositionChildOptions,
InsertCompositionChildOptions,
RemoveCompositionChildOptions,
ReorderCompositionChildrenOptions,
RepeatChartsOptions,
EditRegressionOptions,
EditRectMarkOptions,
RemoveAxisOptions,
RemoveCategoryOrderOptions,
RemoveGridOptions,
RemoveJitterOptions,
RemoveLabelLayoutOptions,
RemoveLegendOptions,
RemoveMarkOptions,
RemovePathOrderOptions,
ScaleRange,
ScaleOptions,
ScaleType,
ShapeScaleOptions,
SizeScaleOptions,
CategoricalSizeScaleOptions,
StackMode,
StackDataMode,
StackDataOptions,
StackDataOutputFields,
BootstrapMeanIntervalMethod,
MeanConfidenceIntervalMethod,
SummaryAggregateOptions,
SummaryDataOptions,
YStackMode,
SemanticCoordinate,
SemanticDataset,
SemanticLayer,
SemanticScale,
SemanticSpec,
SelectMarksOptions,
StrokeDashEncodingOptions,
StrokeWidthEncodingOptions,
StrokeWidthScaleOptions,
ThetaEncodingOptions,
ThetaScaleOptions,
TimeUnit,
TimeUnitDataOptions,
RowWindowFrame,
TemporalInputUnit,
ThemeDefinition,
ThemeName,
ThemeTokens,
ApplyThemeOptions,
TraceNode,
TitleOptions,
EditTitleOptions,
EditTextMarkOptions,
TitleTextStyleOptions,
TextEncodingOptions,
TextFormat,
TextMarkOptions,
DatumPositionEncodingOptions,
CreateMarkLabelsOptions,
EditMarkLabelPlacementOptions,
EditMarkLabelSelectionOptions,
MarkLabelAnchor,
MarkLabelPlacement,
MarkLabelPlacementLeaderOptions,
MarkLabelSelectionOptions,
RemoveMarkLabelsOptions,
CreateAnnotationOptions,
ReferenceStatistic,
CreateStatisticalReferenceOptions,
CreateReferenceLineOptions,
CreateReferenceBandOptions,
XAxisPosition,
YAxisPosition,
WindowDataOptions,
WindowFrame,
WindowOperation,
WindowSort,
WindowSortOrder,
XOffsetEncodingOptions
} from "./program.js";
export function chart(): ChartProgram;
export function hconcat(options: CompositionOptions): ChartProgram;
export function vconcat(options: CompositionOptions): ChartProgram;
export function render(
program: Pick<ChartProgram, "graphicSpec">,
context: CanvasRenderingContext2D,
options?: { pixelRatio?: number }
): void;
ggaction/basic
Complete declaration and relative dependencies
export type {
LinearNiceCountOptions,
PointPolygonShape,
AxisTickRounding,
AxisLabelOptions,
AxisLineStyleOptions,
AxisTickOptions,
CartesianGuideDashMap,
AxisTicksAndLabelsOptions,
AxisTitleOptions,
AxisTitleOffset,
DisplayLabelMap,
DisplayLabelOptions,
ApplyThemeOptions,
BarWidthOptions,
BasicSeriesLayoutOptions,
Bin2DAssignment,
Bin2DDataOptions,
CanvasOptions,
ColorEncodingOptions,
CompleteAxisOptions,
NamedCompleteAxis,
CreateAxesOptions,
CreateBarPlotOptions,
BarRangePositionChannel,
CreateDataOptions,
FlattenDataOptions,
LookupDataOptions,
CreateGridOptions,
CreateGuidesOptions,
CreateHeatmapOptions,
CreateHistogramOptions,
CreateLinePlotOptions,
CreateScatterPlotOptions,
CreateScaleOptions,
GraphicSpec,
GroupEncodingOptions,
GridDirectionOptions,
HistogramEncodingOptions,
LegendOptions,
PositionEncodingOptions,
RectMarkOptions,
RectStyleDetails,
ScaleOptions,
SecondaryPositionEncodingOptions,
SemanticSpec,
StrokeDashEncodingOptions,
StrokeStyleDetails,
TemporalInputUnit,
ThemeDefinition,
ThemeName,
ThemeTokens,
TraceNode,
XAxisPosition,
XOffsetEncodingOptions,
YAxisPosition
} from "./program.js";
type BasicStateKey =
| "semanticSpec"
| "graphicSpec"
| "resolvedScales"
| "materializationConfigs"
| "context"
| "trace"
| "actionStack";
type BasicMethodKey =
| "createCanvas"
| "applyTheme"
| "removeTheme"
| "createData"
| "createFlattenData"
| "createLookupData"
| "createPointMark"
| "createLineMark"
| "createBarMark"
| "createRectMark"
| "encodeX"
| "encodeY"
| "encodeX2"
| "encodeY2"
| "encodeGroup"
| "encodePointRadius"
| "encodeColor"
| "encodeStrokeDash"
| "encodeSize"
| "encodeShape"
| "encodeXOffset"
| "encodeYOffset"
| "encodeHistogram"
| "encodeBarWidth"
| "createCoordinate"
| "createScale"
| "createScatterPlot"
| "createLinePlot"
| "createBarPlot"
| "createHistogram"
| "createHeatmap"
| "createAxes"
| "createXAxis"
| "createYAxis"
| "createXAxisLine"
| "createYAxisLine"
| "createXAxisTicks"
| "createYAxisTicks"
| "createXAxisLabels"
| "createYAxisLabels"
| "createXAxisTicksAndLabels"
| "createYAxisTicksAndLabels"
| "createXAxisTitle"
| "createYAxisTitle"
| "createGrid"
| "createHorizontalGrid"
| "createVerticalGrid"
| "createLegend"
| "createGuides";
type RebindMethod<T> = T extends (...args: infer Args) => ChartProgram
? (...args: Args) => BasicChartProgram
: never;
export type BasicChartProgram =
Pick<ChartProgram, BasicStateKey> &
{ readonly [Key in Exclude<BasicMethodKey, "createData">]: RebindMethod<ChartProgram[Key]> } &
{ createData<Row extends object>(options: CreateDataOptions<Row>): BasicChartProgram } &
{ readonly layoutSeries: (options: BasicSeriesLayoutOptions) => BasicChartProgram };
export function chart(): BasicChartProgram;
export function render(
program: Pick<BasicChartProgram, "graphicSpec">,
context: CanvasRenderingContext2D,
options?: { pixelRatio?: number }
): void;
ggaction/extension
Complete declaration and relative dependencies
import type { ActionOptions } from "./program.js";
import { ChartProgram } from "./program.js";
export { ChartProgram };
export type {
FillPaint,
LinearGradientPaint,
LinearGradientPoint,
LinearGradientStop
} from "./program.js";
export interface ActionMetadata {
op: string;
description: string;
scope?: "unit" | "composition" | "any";
}
export interface RegisteredExtensionActions {}
export type RegisteredExtensionAction = (
this: ChartProgram,
...args: any[]
) => ChartProgram;
export interface ExtensionDefinition<
TActions extends Readonly<Record<string, RegisteredExtensionAction>> =
Readonly<Record<string, RegisteredExtensionAction>>
> {
name: string;
actions: TActions;
}
export function action<TOptions extends ActionOptions = ActionOptions>(
metadata: ActionMetadata,
implementation: (this: ChartProgram, options: TOptions) => ChartProgram
): <TProgram extends ChartProgram>(
this: TProgram,
options?: TOptions
) => TProgram;
export function registerExtension<
TActions extends Readonly<Record<string, RegisteredExtensionAction>>
>(definition: ExtensionDefinition<TActions>): void;
ggaction/png
Complete declaration and relative dependencies
export interface PNGRenderResult {
readonly output: string;
readonly width: number;
readonly height: number;
readonly pixelRatio: number;
readonly bytes: number;
}
export function renderToPNG(
program: Pick<ChartProgram, "graphicSpec">,
options: { output: string; pixelRatio?: number }
): Promise<PNGRenderResult>;
export interface PNGBufferResult extends Omit<PNGRenderResult, "output"> {
readonly buffer: Uint8Array;
}
export function renderToPNGBuffer(
program: Pick<ChartProgram, "graphicSpec">,
options?: { pixelRatio?: number }
): Promise<PNGBufferResult>;
ggaction/pdf
Complete declaration and relative dependencies
export interface PDFMetadata {
readonly title?: string;
readonly author?: string;
readonly subject?: string;
readonly keywords?: readonly string[];
}
export interface PDFRenderOptions {
readonly output: string;
readonly metadata?: PDFMetadata;
}
export interface PDFRenderResult {
readonly output: string;
readonly width: number;
readonly height: number;
readonly pages: 1;
readonly bytes: number;
}
export function renderToPDF(
program: Pick<ChartProgram, "graphicSpec">,
options: PDFRenderOptions
): Promise<PDFRenderResult>;
export interface PDFBufferResult extends Omit<PDFRenderResult, "output"> {
readonly buffer: Uint8Array;
}
export function renderToPDFBuffer(
program: Pick<ChartProgram, "graphicSpec">,
options?: { metadata?: PDFMetadata }
): Promise<PDFBufferResult>;
ggaction/svg
Complete declaration and relative dependencies
export interface SVGRenderOptions {
readonly title?: string;
readonly description?: string;
readonly resourceNamespace?: string;
}
export function renderToSVG(
program: Pick<ChartProgram, "graphicSpec">,
options?: SVGRenderOptions
): string;
ggaction/diagnostics
Complete declaration and relative dependencies
export type ErrorCode = "invalid-option" | "invalid-value" | "missing-resource" |
"ambiguous-resource" | "incompatible-resource" | "resource-in-use" |
"resource-limit" | "unsupported-format" | "action-failed";
export interface ErrorDetails {
readonly code: ErrorCode;
readonly operation?: string;
readonly optionPath?: string;
readonly resourceId?: string;
readonly candidates?: readonly string[];
readonly limit?: number;
readonly actual?: number;
}
export function getErrorDetails(error: unknown): ErrorDetails | undefined;
ggaction/persistence
Complete declaration and relative dependencies
import type { ChartProgram } from "./program.js";
import type { BasicChartProgram } from "./basic.js";
export function serializeProgram(program: ChartProgram | BasicChartProgram): string;
export function deserializeProgram(text: string): ChartProgram;
export function serializeGraphic(program: Pick<ChartProgram, "graphicSpec">): string;
export function deserializeGraphic(text: string): Readonly<Pick<ChartProgram, "graphicSpec">>;
ggaction/accessibility
Complete declaration and relative dependencies
import type { ChartProgram } from "./program.js";
import type { BasicChartProgram } from "./basic.js";
export interface AccessibleColumn {
readonly key: string;
readonly role: string;
readonly component: string;
readonly field?: string;
readonly aggregate?: string;
readonly unit?: "utc-milliseconds";
}
export interface AccessibleRow {
readonly component: string;
readonly series: Readonly<Record<string, unknown>>;
readonly values: Readonly<Record<string, unknown>>;
}
export interface AccessibleOwnerView {
readonly ownerId: string;
readonly markType: string;
readonly columns: readonly AccessibleColumn[];
readonly rows: readonly AccessibleRow[];
readonly units: Readonly<Record<string, "utc-milliseconds">>;
}
export interface AccessibleChildView {
readonly ownerId: string;
readonly kind: "composition-child";
readonly title: string | null;
readonly facet?: Readonly<Record<string, unknown>>;
readonly views: readonly AccessibleView[];
}
export type AccessibleView = AccessibleOwnerView | AccessibleChildView;
export interface AccessibleData {
readonly schemaVersion: 1;
readonly title: string | null;
readonly views: readonly AccessibleView[];
}
export function exportAccessibleData(program: ChartProgram | BasicChartProgram, options?: { readonly target?: string }): AccessibleData;
ggaction/inspection
Complete declaration and relative dependencies
import type { BasicChartProgram } from "./basic.js";
import type { ChartProgram, DatasetSchema } from "./program.js";
export type ProgramInput = ChartProgram | BasicChartProgram;
export interface ResourceRef { readonly kind: "data" | "mark" | "scale" | "coordinate" | "guide" | "canvas" | "composition"; readonly id: string; readonly childPath?: readonly string[]; }
export interface InspectionTarget { readonly kind: "data" | "mark" | "scale" | "coordinate" | "guide"; readonly id: string; readonly childPath?: readonly string[]; }
export interface Finding { readonly severity: "error" | "warning" | "info"; readonly code: string; readonly reason: string; readonly message: string; readonly resource?: ResourceRef; readonly optionPath?: string; }
export interface CheckResult { readonly name: string; readonly status: "not_run" | "passed" | "failed" | "not_applicable"; readonly evidencePaths: readonly string[]; readonly findings: readonly Finding[]; }
export interface ParameterDefinition { readonly path: string; readonly kind: "field" | "enum" | "number" | "string" | "boolean" | "range" | "array" | "object" | "resource"; readonly required: boolean; readonly active: boolean; readonly choices?: readonly (string | number | boolean | null)[]; readonly minimum?: number; readonly maximum?: number; readonly unit?: string; readonly fieldRole?: string; }
export interface ActionDescription { readonly version: 1; readonly action: string; readonly applicability: "supported" | "needs-input" | "incompatible" | "unsupported" | "unverified"; readonly parameterDefinitions: readonly ParameterDefinition[]; readonly requirements: readonly { readonly reason: string; readonly optionPath?: string }[]; readonly checks: readonly CheckResult[]; readonly findings: readonly Finding[]; }
export interface Change { readonly resource: ResourceRef; readonly operation: "add" | "remove" | "modify"; readonly effect: "data" | "binding" | "structure" | "scale" | "guide" | "style"; readonly roles: readonly string[]; }
export interface ProgramComparison { readonly version: 1; readonly equivalence: "equal" | "different" | "unknown"; readonly completeProgramComparison: boolean; readonly changes: readonly Change[]; readonly affected: readonly ResourceRef[]; readonly findings: readonly Finding[]; }
export interface OwnerInspection { readonly owner: ResourceRef; readonly grain: "item" | "series" | "composite" | "unknown"; readonly rawRows: number | null; readonly logicalDataItems: number | null; readonly drawablePrimitives: number | null; readonly visibleCandidates: number | null; readonly flags: readonly { readonly reason: "opacity-zero" | "zero-size" | "outside-clip" | "missing-skipped"; readonly count: number | null }[]; readonly bounds: Readonly<{x:number;y:number;width:number;height:number}> | null; readonly sourceRefs: readonly ResourceRef[]; readonly checks: readonly CheckResult[]; }
export interface ProgramInspection { readonly version: 1; readonly views: readonly OwnerInspection[]; readonly calculations: readonly unknown[]; readonly checks: readonly CheckResult[]; readonly findings: readonly Finding[]; readonly coverage: Readonly<{partial:boolean;unsupported:readonly ResourceRef[]}>; }
export function getDatasetSchema(program: ProgramInput, options: {readonly data:string;readonly childPath?:readonly string[]}): Readonly<{data:string;schema:DatasetSchema}>;
export function describeAction(program: ProgramInput, options: {readonly action:string;readonly target?:InspectionTarget;readonly options?:Readonly<Record<string,unknown>>}): ActionDescription;
export function comparePrograms(before: ProgramInput, after: ProgramInput, options?: {readonly target?:InspectionTarget}): ProgramComparison;
export function inspectProgram(program: ProgramInput, options?: {readonly target?:InspectionTarget}): ProgramInspection;
ggaction/scene
Complete declaration and relative dependencies
import type { ChartProgram, GraphicObject } from './program.js';
export interface TransitionNode {
readonly key: string;
readonly type: string;
readonly topology: string;
readonly svg: string;
readonly offset: readonly [number, number];
readonly clip: readonly [number, number, number, number];
}
export interface TransitionScene {
readonly version: 1;
readonly width: number;
readonly height: number;
readonly definitions: string;
readonly nodes: readonly TransitionNode[];
}
export interface CanvasTransitionNode {
readonly key: string;
readonly type: 'circle' | 'rect' | 'line' | 'path' | 'text';
readonly topology: string;
readonly properties: Readonly<NonNullable<GraphicObject['properties']>>;
/** Explicit outer-to-inner global clip frames; the root physical viewport is implicit. */
readonly clips?: readonly (readonly [number, number, number, number])[];
readonly offset: readonly [number, number];
readonly clip: readonly [number, number, number, number];
}
export interface CanvasTransitionScene {
readonly version: 2;
readonly width: number;
readonly height: number;
readonly nodes: readonly CanvasTransitionNode[];
}
export declare function createTransitionScene(program: ChartProgram, options?: {format?: 'svg'}): TransitionScene;
export declare function createTransitionScene(program: ChartProgram, options: {format: 'canvas'}): CanvasTransitionScene;
export declare function renderTransitionScene(scene: CanvasTransitionScene, context: CanvasRenderingContext2D, options?: {pixelRatio?: number}): void;
Rendering functions
Use Program composition for sizing, nesting, layout editing, and stable child replacement. Use Rendering for complete Browser Canvas, SVG, Node PNG, and vector PDF examples.
Internal trace operations
High-level actions call additional wrapped operations for data, scale, mark,
guide, title, and layout materialization. Names such as
materializeCompleteData, materializeDensityData, materializeImputedData,
materializeWindowData, materializeBin2DData, rematerializeScale, rematerializePointMark,
createCategoricalLegend, createSizeLegend, rematerializeSizeLegend,
createLegendSymbols, and createTitleText may appear in
program.trace. They are deliberately absent from the public TypeScript
declaration and this direct-call reference. Their arguments and decomposition
may change as implementation details while the parent public action remains
stable.
Use the Actions and trace trees page to inspect these nodes. Extension actions should compose the declared extension and advanced actions instead of calling an undeclared runtime method.
Documentation provenance
293 actions · sha256:e755591a2e5f5e2b494867583876e28020a478c5220b77bdc6ad469a6224891d