Published-release documentation · release compatibility
Mark Actions
Each declared action has an exact signature and its own stable link. Option tables are generated from types; behavior prose names the owning workflow and its constraints. API layers and H0–H4 catalog role tags are independent classifications. Relative action hierarchy is determined by composition, not by a tag or fixed trace depth.
createPointMark
API layer: user-facing. Authoring roles: H2.
Availability: Available by v0.0.13. See release compatibility.
createPointMark(options?: StrokeStyleDetails & { clip?: boolean; id?: string; data?: string; missing?: "error" | "skip"; shape?: PointShape; fill?: string; opacity?: number; stroke?: FilledMarkStroke; strokeWidth?: number; }): ChartProgram;
Named option contracts: StrokeStyleDetails · PointShape · FilledMarkStroke.
Declared options
Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.
| Option | Presence | Type |
|---|---|---|
lineCap |
Optional / branch-dependent | "butt" \| "round" \| "square" \| undefined |
lineJoin |
Optional / branch-dependent | "bevel" \| "miter" \| "round" \| undefined |
miterLimit |
Optional / branch-dependent | number \| undefined |
clip |
Optional / branch-dependent | boolean \| undefined |
id |
Optional / branch-dependent | string \| undefined |
data |
Optional / branch-dependent | string \| undefined |
missing |
Optional / branch-dependent | "error" \| "skip" \| undefined |
shape |
Optional / branch-dependent | PointShape \| undefined |
fill |
Optional / branch-dependent | string \| undefined |
opacity |
Optional / branch-dependent | number \| undefined |
stroke |
Optional / branch-dependent | FilledMarkStroke \| undefined |
strokeWidth |
Optional / branch-dependent | number \| undefined |
The following call patterns are abbreviated examples; the declaration above owns the complete option set.
createPointMark({ clip?, id?, data?, missing?, shape?, fill?, opacity?, stroke?, strokeWidth? } = {})
Create a point mark using fourteen named shapes or polygons with area/radius normalization.
stroke: false disables the outline and its width at creation. Marks
createTickMark
API layer: user-facing. Authoring roles: H2.
Availability: Available by v0.0.13. See release compatibility.
createTickMark(options?: StrokeStyleDetails & { clip?: boolean; id?: string; data?: string; missing?: "error" | "skip"; length?: number; stroke?: string; strokeWidth?: number; opacity?: number; }): ChartProgram;
Named option contracts: StrokeStyleDetails.
Declared options
Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.
| Option | Presence | Type |
|---|---|---|
lineCap |
Optional / branch-dependent | "butt" \| "round" \| "square" \| undefined |
lineJoin |
Optional / branch-dependent | "bevel" \| "miter" \| "round" \| undefined |
miterLimit |
Optional / branch-dependent | number \| undefined |
clip |
Optional / branch-dependent | boolean \| undefined |
id |
Optional / branch-dependent | string \| undefined |
data |
Optional / branch-dependent | string \| undefined |
missing |
Optional / branch-dependent | "error" \| "skip" \| undefined |
length |
Optional / branch-dependent | number \| undefined |
stroke |
Optional / branch-dependent | string \| undefined |
strokeWidth |
Optional / branch-dependent | number \| undefined |
opacity |
Optional / branch-dependent | number \| undefined |
The following call patterns are abbreviated examples; the declaration above owns the complete option set.
createTickMark({ clip?, id?, data?, length?, stroke?, strokeWidth?, opacity? } = {})
Create a centered line glyph that materializes after both x and y are complete.
Length defaults to 14; stroke width defaults to 2. Marks
createStatisticalReference
API layer: user-facing. Authoring roles: H1, H2.
Availability: Available by v0.0.24. See release compatibility.
createStatisticalReference(options: CreateStatisticalReferenceOptions): ChartProgram;
Named option contracts: CreateStatisticalReferenceOptions.
Declared options
Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.
| Option | Presence | Type |
|---|---|---|
id |
Optional / branch-dependent | string \| undefined |
source |
Required | string |
axis |
Required | "x" \| "y" |
population |
Optional / branch-dependent | "boundData" \| "visibleItems" \| undefined |
field |
Optional / branch-dependent | string \| undefined |
groupBy |
Optional / branch-dependent | string \| undefined |
lineCap |
Optional / branch-dependent | "butt" \| "round" \| "square" \| undefined |
lineJoin |
Optional / branch-dependent | "bevel" \| "miter" \| "round" \| undefined |
miterLimit |
Optional / branch-dependent | number \| undefined |
opacity |
Optional / branch-dependent | number \| undefined |
stroke |
Optional / branch-dependent | string \| false \| undefined |
strokeWidth |
Optional / branch-dependent | number \| undefined |
statistics |
Optional / branch-dependent | readonly [ReferenceStatistic, ReferenceStatistic] \| undefined |
statistic |
Optional / branch-dependent | ReferenceStatistic \| undefined |
cornerRadius |
Optional / branch-dependent | number \| undefined |
cornerRadiusTopLeft |
Optional / branch-dependent | number \| undefined |
cornerRadiusTopRight |
Optional / branch-dependent | number \| undefined |
cornerRadiusBottomRight |
Optional / branch-dependent | number \| undefined |
cornerRadiusBottomLeft |
Optional / branch-dependent | number \| undefined |
clip |
Optional / branch-dependent | boolean \| undefined |
fill |
Optional / branch-dependent | string \| undefined |
strokeDash |
Optional / branch-dependent | DashPattern \| DashStyle \| undefined |
The following call patterns are abbreviated examples; the declaration above owns the complete option set.
createStatisticalReference({ id?, source, axis, population?, field?, groupBy?, statistic?, statistics?, ...style })
Create a statistical line or interval through one public action. source is the source mark ID and axis is "x" or "y".
Omit the statistic keys for a mean line, supply statistic: { op: "median" } for another single statistic, or an exact
statistics pair for a band. The keys are mutually exclusive and use the existing ReferenceStatistic vocabulary.
Quantiles 0.25–0.75 show the central 50%; 0.025–0.975 show the central 95% of data, rather than a confidence interval.
Set groupBy to one source field name for a separate result per observed group on either axis, even if that field is not encoded.
Groups retain source order. Visible marks must have a single value of that grouping field; otherwise use boundData.
For a distribution’s measurement axis, boundData uses original observations from density, ECDF, computed
box-summary, and gradient provenance. It preserves repeated observations and source groups instead of averaging
rendering samples. Precomputed summaries keep their supplied data. Grouped aggregate line statistics can use
singleton partitions without changing the source line.
Summarized Dot, Lollipop, and Dumbbell endpoints also follow their original measurement roles.
Horizon accepts quantitative X statistics from source observations; folded Y and temporal X are not numeric statistic axes.
The owned output records the key in group beside value or lower/upper. Omitting groupBy preserves one overall result.
The default ID is statisticalReference; use explicit IDs for additional references. Lines default to #222222,
width 2.5, solid stroke; bands to #6b7280, opacity 0.18, no stroke. Use native Rule styles for lines and Rect styles for bands.
When groupBy matches the source Color field without a color aggregate, omitted stroke shares that Color scale:
each group’s line matches its source marks, and palette edits update both. An explicit stroke overrides this default.
Reference groups contribute to the shared appearance domain even when a mark filter hides that group.
Statistical values do not expand positional domains, and distribution-role edits refresh existing references.
This full-only action wraps createReferenceLine or createReferenceBand and retains their statistical binding,
replay, editing, facet and removal behavior. Literal reference coordinates are not accepted.
Statistical references
createReferenceLine
API layer: user-facing. Authoring roles: H1, H2.
Availability: Available by v0.0.13. See release compatibility.
createReferenceLine(options: CreateReferenceLineOptions): ChartProgram;
Named option contracts: CreateReferenceLineOptions.
Declared options
Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.
| Option | Presence | Type |
|---|---|---|
id |
Optional / branch-dependent | string \| undefined |
source |
Optional / branch-dependent | string \| undefined |
x |
Optional / branch-dependent | unknown |
y |
Optional / branch-dependent | unknown |
space |
Optional / branch-dependent | "data" \| "plot" \| undefined |
data |
Optional / branch-dependent | string \| undefined |
coordinate |
Optional / branch-dependent | string \| undefined |
temporalUnit |
Optional / branch-dependent | TemporalInputUnit \| undefined |
stroke |
Optional / branch-dependent | string \| undefined |
strokeWidth |
Optional / branch-dependent | number \| undefined |
strokeDash |
Optional / branch-dependent | DashPattern \| DashStyle \| undefined |
opacity |
Optional / branch-dependent | number \| undefined |
lineCap |
Optional / branch-dependent | "butt" \| "round" \| "square" \| undefined |
lineJoin |
Optional / branch-dependent | "bevel" \| "miter" \| "round" \| undefined |
miterLimit |
Optional / branch-dependent | number \| undefined |
axis |
Optional / branch-dependent | "x" \| "y" |
population |
Optional / branch-dependent | "boundData" \| "visibleItems" \| undefined |
field |
Optional / branch-dependent | string \| undefined |
groupBy |
Optional / branch-dependent | string \| undefined |
statistic |
Optional / branch-dependent | ReferenceStatistic |
The following call patterns are abbreviated examples; the declaration above owns the complete option set.
createReferenceLine({ id?, x?, y?, space?, source?, data?, coordinate?, temporalUnit?, stroke?, strokeWidth?, strokeDash?, opacity? })
Create one constant Rule spanning the other plot axis. Exactly one x or y is required.
Data space is the default: source resolves explicit, current eligible, then unique eligible Cartesian layer.
It supplies data, coordinate, scale, field type, and temporal input unit. Source-owned Text aliases are excluded from source inference. Strings are literal values.
Reference constants participate in automatic domains; explicit domains preserve the requested extent.
temporalUnit may override the source unit. data and coordinate are plot-space options only.
With space: "plot", the value must be a finite fraction in [0,1]: x runs left to right and y bottom to top.
Existing data is explicit or inferred; empty data is supported. coordinate follows Cartesian encoding inference.
Plot space rejects source and temporalUnit. A named <id>-<axis> linear scale has domain [0,1] and automatic range.
An equivalent scale is reused; a conflicting definition fails. Named scales remain after mark removal.
The default ID is referenceLine; a second line needs an explicit ID. Defaults: stroke #64748b, width 1,
dash "dashed", opacity 1. Lower encodeX/Y, editRuleMark, editScale, and removeMark own later changes.
Source binding is selected at creation, so rebinding or removing the source does not rebind or remove the reference.
The shared scale still drives both marks. Add text with createMarkLabels({ source: id, value: "Target" }).
Reference marks
createReferenceBand
API layer: user-facing. Authoring roles: H1, H2.
Availability: Available by v0.0.13. See release compatibility.
createReferenceBand(options: CreateReferenceBandOptions): ChartProgram;
Named option contracts: CreateReferenceBandOptions.
Declared options
Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.
| Option | Presence | Type |
|---|---|---|
id |
Optional / branch-dependent | string \| undefined |
source |
Optional / branch-dependent | string \| undefined |
x |
Optional / branch-dependent | readonly [unknown, unknown] \| readonly [number, number] \| undefined |
y |
Optional / branch-dependent | readonly [unknown, unknown] \| readonly [number, number] \| undefined |
space |
Optional / branch-dependent | "data" \| "plot" \| undefined |
data |
Optional / branch-dependent | string \| undefined |
coordinate |
Optional / branch-dependent | string \| undefined |
temporalUnit |
Optional / branch-dependent | TemporalInputUnit \| undefined |
lineCap |
Optional / branch-dependent | "butt" \| "round" \| "square" \| undefined |
lineJoin |
Optional / branch-dependent | "bevel" \| "miter" \| "round" \| undefined |
miterLimit |
Optional / branch-dependent | number \| undefined |
cornerRadius |
Optional / branch-dependent | number \| undefined |
cornerRadiusTopLeft |
Optional / branch-dependent | number \| undefined |
cornerRadiusTopRight |
Optional / branch-dependent | number \| undefined |
cornerRadiusBottomRight |
Optional / branch-dependent | number \| undefined |
cornerRadiusBottomLeft |
Optional / branch-dependent | number \| undefined |
missing |
Optional / branch-dependent | "error" \| "skip" \| undefined |
fill |
Optional / branch-dependent | string \| undefined |
opacity |
Optional / branch-dependent | number \| undefined |
stroke |
Optional / branch-dependent | string \| false \| undefined |
strokeWidth |
Optional / branch-dependent | number \| undefined |
axis |
Optional / branch-dependent | "x" \| "y" |
population |
Optional / branch-dependent | "boundData" \| "visibleItems" \| undefined |
field |
Optional / branch-dependent | string \| undefined |
groupBy |
Optional / branch-dependent | string \| undefined |
statistics |
Optional / branch-dependent | readonly [ReferenceStatistic, ReferenceStatistic] |
The following call patterns are abbreviated examples; the declaration above owns the complete option set.
createReferenceBand({ id?, x?, y?, space?, source?, data?, coordinate?, temporalUnit?, fill?, opacity?, stroke?, strokeWidth? })
Create a constant reference band. Exactly one x: [lower, upper] or y: [lower, upper]
is required. Reversed endpoints produce positive bounds; equal endpoints produce no rectangle.
It uses the same data/plot binding rules as createReferenceLine, but data-space bands require quantitative
or temporal source positions. Plot endpoints must both be finite fractions in [0,1].
The default ID is referenceBand, fill #94a3b8, opacity 0.15, and stroke false.
To set strokeWidth, also provide a stroke color. Positions, appearance, scale, and removal remain editable through
encodeX/Y/X2/Y2, editRectMark, editScale, and removeMark. No extra dataset is created, and no editReferenceBand
is needed. Both reference facades are available in the full entry point.
Reference marks
createMarkLabels
API layer: user-facing. Authoring roles: H1, H2.
Availability: Available by v0.0.13. See release compatibility.
createMarkLabels(options?: CreateMarkLabelsOptions): ChartProgram;
Named option contracts: CreateMarkLabelsOptions.
Declared options
Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.
| Option | Presence | Type |
|---|---|---|
clip |
Optional / branch-dependent | boolean \| undefined |
lineHeight |
Optional / branch-dependent | number \| undefined |
blockAlign |
Optional / branch-dependent | "first" \| "middle" \| undefined |
inheritColor |
Optional / branch-dependent | "fill" \| "stroke" \| false \| undefined |
id |
Optional / branch-dependent | string \| undefined |
source |
Optional / branch-dependent | string \| undefined |
missing |
Optional / branch-dependent | "error" \| "skip" \| undefined |
fill |
Optional / branch-dependent | string \| undefined |
opacity |
Optional / branch-dependent | number \| undefined |
fontSize |
Optional / branch-dependent | number \| undefined |
fontFamily |
Optional / branch-dependent | string \| undefined |
fontWeight |
Optional / branch-dependent | string \| number \| undefined |
align |
Optional / branch-dependent | "center" \| "end" \| "left" \| "right" \| "start" \| undefined |
baseline |
Optional / branch-dependent | "alphabetic" \| "bottom" \| "hanging" \| "ideographic" \| "middle" \| "top" \| undefined |
rotation |
Optional / branch-dependent | RotationInput \| undefined |
dx |
Optional / branch-dependent | number \| undefined |
dy |
Optional / branch-dependent | number \| undefined |
layout |
Optional / branch-dependent | false \| Omit<LabelLayoutOptions, "target"> \| undefined |
placement |
Optional / branch-dependent | MarkLabelPlacement \| undefined |
format |
Optional / branch-dependent | ValueFormat \| undefined |
field |
Optional / branch-dependent | string \| undefined |
value |
Optional / branch-dependent | unknown |
content |
Optional / branch-dependent | "category" \| "share" \| "value" \| undefined |
normalizeBy |
Optional / branch-dependent | "category" \| "source" \| undefined |
select |
Optional / branch-dependent | MarkSelector \| undefined |
selection |
Optional / branch-dependent | string \| undefined |
The following call patterns are abbreviated examples; the declaration above owns the complete option set.
createMarkLabels({ clip?, id?, source?, field?, value?, content?, normalizeBy?, format?, inheritColor?, lineHeight?, blockAlign?, fill?, opacity?, fontSize?, fontFamily?, fontWeight?, align?, baseline?, rotation?, dx?, dy?, layout?, placement?, select?, selection? } = {})
Label source mark items. The default content is the source’s semantic value;
Point/Line/Rule/Rect require a field or constant. A Line creates one label per
series at its final path coordinate. The default ID is <source>-labels.
Omit select and selection to label every final item. Pass select: MarkSelector
for an inline predicate or selection: id for a live stored selection on the same
source. Empty matches are valid, and selected labels keep source item order.
Semantic content is computed before membership filtering, so a selected share label
keeps its percentage of the complete source.
placement applies the semantic boundary policy described below during creation.
Text marks
editMarkLabelSelection
API layer: user-facing. Authoring roles: H3.
Availability: Available by v0.0.24. See release compatibility.
editMarkLabelSelection(options: EditMarkLabelSelectionOptions): ChartProgram;
Named option contracts: EditMarkLabelSelectionOptions.
Declared options
Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.
| Option | Presence | Type |
|---|---|---|
target |
Required | string |
select |
Optional / branch-dependent | MarkSelector \| undefined |
selection |
Optional / branch-dependent | string \| undefined |
all |
Optional / branch-dependent | true \| undefined |
The following call patterns are abbreviated examples; the declaration above owns the complete option set.
editMarkLabelSelection({ target, select })
editMarkLabelSelection({ target, selection })
editMarkLabelSelection({ target, all: true })
Replace one attached label layer’s final-item membership. Exactly one replacement
branch is required and target is never inferred. Inline selectors reuse
MarkSelector; named selections must target the same source mark. Selection edits
replay named labels, while selection removal is rejected until dependent labels are
rebound with this action or removed.
Text marks
editMarkLabelPlacement
API layer: user-facing. Authoring roles: H3.
Availability: Available by v0.0.24. See release compatibility.
editMarkLabelPlacement(options: EditMarkLabelPlacementOptions): ChartProgram;
Named option contracts: EditMarkLabelPlacementOptions.
Declared options
Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.
| Option | Presence | Type |
|---|---|---|
target |
Required | string |
placement |
Required | "auto" \| MarkLabelPlacement |
The following call patterns are abbreviated examples; the declaration above owns the complete option set.
editMarkLabelPlacement({ target, placement: { anchor, gap?, overflow?, leader? } })
editMarkLabelPlacement({ target, placement: "auto" })
Replace semantic placement for one attached label layer. anchor is center,
insideStart, insideEnd, outsideStart, or outsideEnd; gap defaults to 4 pixels.
For inside anchors, overflow defaults to hide, can retry once outside with outside,
or can retain an overlong label with allow. Optional owned leaders connect the source
boundary to the final text box and replay after collision layout. Bar, directed Rect,
Arc, Cartesian Point, and Polar Point sources are supported. Line keeps endpoint layout,
Rule is rejected, and conflicting placement/collision leaders fail atomically.
Arc outside-start labels hide instead of crossing the Polar center unless overflow: "allow"
is explicit.
Pass "auto" to restore the legacy source anchor and remove the owned placement leader.
Text marks
removeMarkLabels
API layer: user-facing. Authoring roles: H3.
Availability: Available by v0.0.24. See release compatibility.
removeMarkLabels(options: RemoveMarkLabelsOptions): ChartProgram;
Named option contracts: RemoveMarkLabelsOptions.
Declared options
Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.
| Option | Presence | Type |
|---|---|---|
target |
Optional / branch-dependent | string \| undefined |
source |
Optional / branch-dependent | string \| undefined |
The following call patterns are abbreviated examples; the declaration above owns the complete option set.
removeMarkLabels({ target })
removeMarkLabels({ source })
Remove one attached label layer by ID, or every attached label owned by a source
mark. Exactly one selector is required. The source mark, its selections, and
unrelated labels remain. Label layout policies, generated leaders, and interaction
state attached to removed labels are cleaned up, so later source, scale, Canvas,
and theme edits do not recreate them. Independent Text and annotations continue
to use removeMark.
Text marks
createAnnotation
API layer: user-facing. Authoring roles: H1, H2.
Availability: Available by v0.0.13. See release compatibility.
createAnnotation(options: CreateAnnotationOptions): ChartProgram;
Named option contracts: CreateAnnotationOptions.
Declared options
Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.
| Option | Presence | Type |
|---|---|---|
clip |
Optional / branch-dependent | boolean \| undefined |
lineHeight |
Optional / branch-dependent | number \| undefined |
blockAlign |
Optional / branch-dependent | "first" \| "middle" \| undefined |
inheritColor |
Optional / branch-dependent | "fill" \| "stroke" \| false \| undefined |
missing |
Optional / branch-dependent | "error" \| "skip" \| undefined |
fill |
Optional / branch-dependent | string \| undefined |
opacity |
Optional / branch-dependent | number \| undefined |
fontSize |
Optional / branch-dependent | number \| undefined |
fontFamily |
Optional / branch-dependent | string \| undefined |
fontWeight |
Optional / branch-dependent | string \| number \| undefined |
align |
Optional / branch-dependent | "center" \| "end" \| "left" \| "right" \| "start" \| undefined |
baseline |
Optional / branch-dependent | "alphabetic" \| "bottom" \| "hanging" \| "ideographic" \| "middle" \| "top" \| undefined |
rotation |
Optional / branch-dependent | RotationInput \| undefined |
dx |
Optional / branch-dependent | number \| undefined |
dy |
Optional / branch-dependent | number \| undefined |
id |
Optional / branch-dependent | string \| undefined |
text |
Required | unknown |
format |
Optional / branch-dependent | ValueFormat \| undefined |
layout |
Optional / branch-dependent | false \| Omit<LabelLayoutOptions, "target"> \| undefined |
anchor |
Optional / branch-dependent | "plot-center" \| undefined |
x |
Optional / branch-dependent | unknown |
y |
Optional / branch-dependent | unknown |
space |
Optional / branch-dependent | "data" \| "plot" \| undefined |
source |
Optional / branch-dependent | string \| undefined |
data |
Optional / branch-dependent | string \| undefined |
coordinate |
Optional / branch-dependent | string \| undefined |
The following call patterns are abbreviated examples; the declaration above owns the complete option set.
createAnnotation({ clip?, id?, text, anchor?, format?, source?, x?, y?, space?, data?, coordinate?, fill?, opacity?, fontSize?, fontFamily?, fontWeight?, align?, baseline?, rotation?, dx?, dy?, layout? })
Create anchored text. Omit x/y/space for a
final-item mark anchor; source selects the mark, otherwise current/unique mark
inference applies. Provide both x and y for a data anchor; source selects one
complete Cartesian layer whose data, coordinate, scales, field types, and temporal
units are reused. The annotation participates in automatic domains without becoming
a source-owned label.
With space: "plot", x and y are finite fractions in [0,1], where x=0 is left
and y=0 is bottom. Existing data is explicit or inferred, and coordinate is
optional. Plot anchors reject source and use ordinary <id>-x/<id>-y linear
scales with domain [0,1]. The default ID is annotation.
anchor: "plot-center" supplies plot x/y=0.5, horizontal center alignment, and
middle baseline together. It rejects x, y, space, source, align, and
baseline; optional data, coordinate, styles, and offsets follow the plot branch.
The anchor follows plot bounds on Canvas and margin changes.
Omit layout or pass false to retain the exact anchor. A layout object accepts
layoutLabels options except target. Later changes use encodeText, encodeX/Y,
editTextMark, layoutLabels, removeLabelLayout, editScale, and removeMark.
Text marks
createTextMark
API layer: user-facing. Authoring roles: H2.
Availability: Available by v0.0.13. See release compatibility.
createTextMark(options?: TextMarkOptions): ChartProgram;
Named option contracts: TextMarkOptions.
Declared options
Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.
| Option | Presence | Type |
|---|---|---|
clip |
Optional / branch-dependent | boolean \| undefined |
lineHeight |
Optional / branch-dependent | number \| undefined |
blockAlign |
Optional / branch-dependent | "first" \| "middle" \| undefined |
inheritColor |
Optional / branch-dependent | "fill" \| "stroke" \| false \| undefined |
id |
Optional / branch-dependent | string \| undefined |
data |
Optional / branch-dependent | string \| undefined |
source |
Optional / branch-dependent | string \| undefined |
text |
Optional / branch-dependent | unknown |
missing |
Optional / branch-dependent | "error" \| "skip" \| undefined |
fill |
Optional / branch-dependent | string \| undefined |
opacity |
Optional / branch-dependent | number \| undefined |
fontSize |
Optional / branch-dependent | number \| undefined |
fontFamily |
Optional / branch-dependent | string \| undefined |
fontWeight |
Optional / branch-dependent | string \| number \| undefined |
align |
Optional / branch-dependent | "center" \| "end" \| "left" \| "right" \| "start" \| undefined |
baseline |
Optional / branch-dependent | "alphabetic" \| "bottom" \| "hanging" \| "ideographic" \| "middle" \| "top" \| undefined |
rotation |
Optional / branch-dependent | RotationInput \| undefined |
dx |
Optional / branch-dependent | number \| undefined |
dy |
Optional / branch-dependent | number \| undefined |
The following call patterns are abbreviated examples; the declaration above owns the complete option set.
createTextMark({ clip?, id?, data?, source?, text?, inheritColor?, lineHeight?, blockAlign?, fill?, opacity?, fontSize?, fontFamily?, fontWeight?, align?, baseline?, rotation?, dx?, dy? } = {})
Create a semantic text layer. Omitted data and position attach to the current
or unique compatible point, bar, line, rect, rule, or arc layer. Line text anchors
at each series’ final path coordinate; Arc text anchors at
sector centers. text is constant-content shorthand. Source-owned text follows final source positions and never
contributes independent scale-domain values. Source field or scale changes also drive its labels and guides.
Direct encodeX/Y on attached Text is rejected: edit the source, use editTextMark({ dx, dy }), or create
independent Text with explicit data to author its positions. Independent Text accepts field or datum positions;
all-constant x/y/text produces one item, while any field-bound encoding uses row grain.
Row-backed text supports encodeColor; explicit fill conflicts with that encoding.
Attached labels accept inheritColor: "fill" | "stroke" | false to follow source appearance.
Explicit fill overrides inheritance. Inheritance adds no color scale or duplicate legend.
rotation accepts a finite legacy number in radians or an explicit
{ value, unit: "degrees" | "radians" } object; both normalize to concrete
radians. createMarkLabels, createAnnotation, and editTextMark share this
input contract. Newlines split text into resolved lines; lineHeight sets pixel spacing
(default 1.2 * fontSize). blockAlign: "first" anchors the first line; "middle"
centers the entire block vertically. Empty internal lines are retained.
Text marks
editTextMark
API layer: user-facing. Authoring roles: H3.
Availability: Available by v0.0.13. See release compatibility.
editTextMark(options: EditTextMarkOptions): ChartProgram;
Named option contracts: EditTextMarkOptions.
Declared options
Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.
| Option | Presence | Type |
|---|---|---|
target |
Optional / branch-dependent | string \| undefined |
clip |
Optional / branch-dependent | boolean \| undefined |
lineHeight |
Optional / branch-dependent | number \| undefined |
blockAlign |
Optional / branch-dependent | "first" \| "middle" \| undefined |
inheritColor |
Optional / branch-dependent | "fill" \| "stroke" \| false \| undefined |
missing |
Optional / branch-dependent | "error" \| "skip" \| undefined |
fill |
Optional / branch-dependent | string \| undefined |
opacity |
Optional / branch-dependent | number \| undefined |
fontSize |
Optional / branch-dependent | number \| undefined |
fontFamily |
Optional / branch-dependent | string \| undefined |
fontWeight |
Optional / branch-dependent | string \| number \| undefined |
align |
Optional / branch-dependent | "center" \| "end" \| "left" \| "right" \| "start" \| undefined |
baseline |
Optional / branch-dependent | "alphabetic" \| "bottom" \| "hanging" \| "ideographic" \| "middle" \| "top" \| undefined |
rotation |
Optional / branch-dependent | RotationInput \| undefined |
dx |
Optional / branch-dependent | number \| undefined |
dy |
Optional / branch-dependent | number \| undefined |
The following call patterns are abbreviated examples; the declaration above owns the complete option set.
editTextMark({ clip?, target?, inheritColor?, lineHeight?, blockAlign?, fill?, opacity?, fontSize?, fontFamily?, fontWeight?, align?, baseline?, rotation?, dx?, dy? })
Edit text typography and graphical offsets without changing its semantic source or position. Text marks
layoutLabels
API layer: user-facing. Authoring roles: H3.
Availability: Available by v0.0.13. See release compatibility.
layoutLabels(options?: LabelLayoutOptions): ChartProgram;
Named option contracts: LabelLayoutOptions.
Declared options
Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.
| Option | Presence | Type |
|---|---|---|
target |
Optional / branch-dependent | string \| undefined |
axis |
Optional / branch-dependent | LabelLayoutAxis \| undefined |
padding |
Optional / branch-dependent | number \| undefined |
maxDisplacement |
Optional / branch-dependent | number \| undefined |
bounds |
Optional / branch-dependent | LabelLayoutBounds \| undefined |
leader |
Optional / branch-dependent | false \| LabelLeaderOptions \| undefined |
The following call patterns are abbreviated examples; the declaration above owns the complete option set.
layoutLabels({ target?, axis?, padding?, maxDisplacement?, bounds?, leader? } = {})
Assign deterministic collision-aware placement to one complete text mark. Displacement may use x, y, or both axes and remains inside plot or Canvas bounds when possible. Optional leaders connect displaced labels to their stored source anchors. Impossible layouts retain a stable best effort and a warning summary. Text marks
removeLabelLayout
API layer: user-facing. Authoring roles: H3.
Availability: Available by v0.0.13. See release compatibility.
removeLabelLayout(options?: RemoveLabelLayoutOptions): ChartProgram;
Named option contracts: RemoveLabelLayoutOptions.
Declared options
Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.
| Option | Presence | Type |
|---|---|---|
target |
Optional / branch-dependent | string \| undefined |
The following call patterns are abbreviated examples; the declaration above owns the complete option set.
removeLabelLayout({ target? } = {})
Remove one text mark’s layout policy and leader collection, then restore its semantic base positions. Text marks
Position capability matrix
| Action | Supported marks | Field types | Important modes |
|---|---|---|---|
encodeX |
point, line, area, bar, rect, rule, tick, text | point/line/area/bar/rect/rule/tick/text: quantitative, temporal, ordinal, nominal | field; rule, area, rect, and independent text also accept datum; bar accepts aggregate or bin |
encodeY |
point, line, area, bar, rect, rule, tick, text | point/line/area/bar/rect/rule/tick/text: quantitative, temporal, ordinal, nominal | field; rule, area, rect, and independent text also accept datum; bar accepts aggregate or count |
encodeX2 / encodeY2 |
area, ranged bar, rect, rule | area/ranged bar/rect/rule: matching primary | secondary field; rule, area, and rect also accept datum |
encodeTheta |
point, line, arc | point/line: quantitative, temporal, ordinal, nominal; arc: quantitative, ordinal, nominal | arc maps direct quantitative values, category counts, or category-weighted sums to proportional sectors |
encodeR |
point, line, arc | point/line/arc: quantitative | radial position; arc combines it with a categorical theta band |
encodeParallelCoordinates |
line | line: quantitative, ordinal | atomic ordered dimensions; one namespaced scale and axis per dimension |
encodeDx / encodeDy |
text | text: quantitative | independent Text only; finite field or constant logical-pixel offsets, no scale or guide; field offsets establish row grain |
Temporal input branches accept temporalUnit: "auto" | "year" | "timestamp".
Timestamp means Unix milliseconds; year means UTC January 1. Omission preserves
the existing parser. Same-binding reassignment retains an explicit unit; a new
binding clears it. Domains and tick values are already normalized timestamps.
Temporal input
editPointMark
API layer: user-facing. Authoring roles: H3.
Availability: Available by v0.0.13. See release compatibility.
editPointMark(options: StrokeStyleDetails & { clip?: boolean; target?: string; missing?: "error" | "skip"; shape?: PointShape; fill?: string; opacity?: number; stroke?: FilledMarkStroke; strokeWidth?: number; }): ChartProgram;
Named option contracts: StrokeStyleDetails · PointShape · FilledMarkStroke.
Declared options
Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.
| Option | Presence | Type |
|---|---|---|
lineCap |
Optional / branch-dependent | "butt" \| "round" \| "square" \| undefined |
lineJoin |
Optional / branch-dependent | "bevel" \| "miter" \| "round" \| undefined |
miterLimit |
Optional / branch-dependent | number \| undefined |
clip |
Optional / branch-dependent | boolean \| undefined |
target |
Optional / branch-dependent | string \| undefined |
missing |
Optional / branch-dependent | "error" \| "skip" \| undefined |
shape |
Optional / branch-dependent | PointShape \| undefined |
fill |
Optional / branch-dependent | string \| undefined |
opacity |
Optional / branch-dependent | number \| undefined |
stroke |
Optional / branch-dependent | FilledMarkStroke \| undefined |
strokeWidth |
Optional / branch-dependent | number \| undefined |
The following call patterns are abbreviated examples; the declaration above owns the complete option set.
editPointMark({ clip?, target?, missing?, shape?, fill?, opacity?, stroke?, strokeWidth? })
Change constant point shape, fill, opacity, or outline appearance and rematerialize its concrete items.
stroke: false disables the outline and its width. Marks
editTickMark
API layer: user-facing. Authoring roles: H3.
Availability: Available by v0.0.13. See release compatibility.
editTickMark(options: StrokeStyleDetails & { clip?: boolean; target?: string; missing?: "error" | "skip"; length?: number; stroke?: string; strokeWidth?: number; opacity?: number; }): ChartProgram;
Named option contracts: StrokeStyleDetails.
Declared options
Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.
| Option | Presence | Type |
|---|---|---|
lineCap |
Optional / branch-dependent | "butt" \| "round" \| "square" \| undefined |
lineJoin |
Optional / branch-dependent | "bevel" \| "miter" \| "round" \| undefined |
miterLimit |
Optional / branch-dependent | number \| undefined |
clip |
Optional / branch-dependent | boolean \| undefined |
target |
Optional / branch-dependent | string \| undefined |
missing |
Optional / branch-dependent | "error" \| "skip" \| undefined |
length |
Optional / branch-dependent | number \| undefined |
stroke |
Optional / branch-dependent | string \| undefined |
strokeWidth |
Optional / branch-dependent | number \| undefined |
opacity |
Optional / branch-dependent | number \| undefined |
The following call patterns are abbreviated examples; the declaration above owns the complete option set.
editTickMark({ clip?, target?, length?, stroke?, strokeWidth?, opacity? })
Partially edit Tick length or constant line appearance while preserving data, position, and other assignments. Marks
jitterPoints
API layer: user-facing. Authoring roles: H3.
Availability: Available by v0.0.13. See release compatibility.
jitterPoints(options: JitterPointsOptions): ChartProgram;
Named option contracts: JitterPointsOptions.
Declared options
Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.
| Option | Presence | Type |
|---|---|---|
target |
Optional / branch-dependent | string \| undefined |
channel |
Required | "both" \| "x" \| "y" |
maxOffset |
Required | JitterMaxOffset |
seed |
Optional / branch-dependent | string \| number \| undefined |
key |
Optional / branch-dependent | string \| undefined |
The following call patterns are abbreviated examples; the declaration above owns the complete option set.
jitterPoints({ target?, channel, maxOffset, seed?, key? })
Assign deterministic bounded graphical jitter to one Cartesian point mark with
channel: "x", "y", or "both". Both axes use independent offsets. Use
exactly one of maxOffset.pixels or maxOffset.band; calling the action again
replaces the previous policy from the semantic base positions. Point marks
removeJitter
API layer: user-facing. Authoring roles: H3.
Availability: Available by v0.0.13. See release compatibility.
removeJitter(options?: RemoveJitterOptions): ChartProgram;
Named option contracts: RemoveJitterOptions.
Declared options
Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.
| Option | Presence | Type |
|---|---|---|
target |
Optional / branch-dependent | string \| undefined |
The following call patterns are abbreviated examples; the declaration above owns the complete option set.
removeJitter({ target? } = {})
Remove the target point mark’s jitter assignment and restore positions derived directly from its semantic encodings. Point marks
packPoints
API layer: user-facing. Authoring roles: H3.
Availability: Available by v0.0.13. See release compatibility.
packPoints(options: PackPointsOptions): ChartProgram;
Named option contracts: PackPointsOptions.
Declared options
Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.
| Option | Presence | Type |
|---|---|---|
target |
Optional / branch-dependent | string \| undefined |
channel |
Required | "x" \| "y" |
maxOffset |
Optional / branch-dependent | PointPackingMaxOffset \| undefined |
padding |
Optional / branch-dependent | number \| undefined |
key |
Optional / branch-dependent | string \| undefined |
overflow |
Optional / branch-dependent | "error" \| "overlap" \| undefined |
The following call patterns are abbreviated examples; the declaration above owns the complete option set.
packPoints({ target?, channel, maxOffset?, padding?, key?, overflow? })
Deterministically displace Point glyphs only on a categorical x or y axis to
avoid overlap while preserving measure coordinates. The default overflow policy
fails atomically; "overlap" records unresolved best-effort placements.
Point marks
removePointPacking
API layer: user-facing. Authoring roles: H3.
Availability: Available by v0.0.13. See release compatibility.
removePointPacking(options?: RemovePointPackingOptions): ChartProgram;
Named option contracts: RemovePointPackingOptions.
Declared options
Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.
| Option | Presence | Type |
|---|---|---|
target |
Optional / branch-dependent | string \| undefined |
The following call patterns are abbreviated examples; the declaration above owns the complete option set.
removePointPacking({ target? } = {})
Remove stored point packing and rematerialize the current semantic scale positions. Point marks
removeMark
API layer: user-facing. Authoring roles: H3.
Availability: Available by v0.0.13. See release compatibility.
removeMark(options?: RemoveMarkOptions): ChartProgram;
Named option contracts: RemoveMarkOptions.
Declared options
Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.
| Option | Presence | Type |
|---|---|---|
target |
Optional / branch-dependent | string \| undefined |
The following call patterns are abbreviated examples; the declaration above owns the complete option set.
removeMark({ target? })
Remove one stable mark owner and its owned state while preserving source data and independently shared resources. Marks
createLineMark
API layer: user-facing. Authoring roles: H2.
Availability: Available by v0.0.13. See release compatibility.
createLineMark(options?: StrokeStyleDetails & { clip?: boolean; missing?: "error" | "break"; id?: string; data?: string; strokeWidth?: number; curve?: CurveInterpolation; tension?: number; stroke?: string; opacity?: number; closed?: boolean; }): ChartProgram;
Named option contracts: StrokeStyleDetails · CurveInterpolation.
Declared options
Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.
| Option | Presence | Type |
|---|---|---|
lineCap |
Optional / branch-dependent | "butt" \| "round" \| "square" \| undefined |
lineJoin |
Optional / branch-dependent | "bevel" \| "miter" \| "round" \| undefined |
miterLimit |
Optional / branch-dependent | number \| undefined |
clip |
Optional / branch-dependent | boolean \| undefined |
missing |
Optional / branch-dependent | "break" \| "error" \| undefined |
id |
Optional / branch-dependent | string \| undefined |
data |
Optional / branch-dependent | string \| undefined |
strokeWidth |
Optional / branch-dependent | number \| undefined |
curve |
Optional / branch-dependent | CurveInterpolation \| undefined |
tension |
Optional / branch-dependent | number \| undefined |
stroke |
Optional / branch-dependent | string \| undefined |
opacity |
Optional / branch-dependent | number \| undefined |
closed |
Optional / branch-dependent | boolean \| undefined |
The following call patterns are abbreviated examples; the declaration above owns the complete option set.
createLineMark({ clip?, missing?, id?, data?, stroke?, strokeWidth?, opacity?, curve?, tension?, closed? } = {})
Create a semantic line mark and empty path collection. Curve defaults to
"linear"; explicit curve and strokeWidth values are retained during
rematerialization. A compatible layered source can provide data, positions,
shared scales, and a grain-preserving aggregate such as mean; bar-only bin,
stack, and offset policies are not inherited. closed: true closes each Polar
series as a radar path.
For direct Cartesian quantitative/temporal positions, opt-in missing: "break"
preserves null/absent observations as independent valid runs. The default remains
strict. Each run is a path and selection item; curves restart at each gap.
Marks
editLineMark
API layer: user-facing. Authoring roles: H3.
Availability: Available by v0.0.13. See release compatibility.
editLineMark(options: StrokeStyleDetails & { clip?: boolean; missing?: "error" | "break"; target?: string; strokeWidth?: number; curve?: CurveInterpolation; tension?: number; stroke?: string; opacity?: number; closed?: boolean; }): ChartProgram;
Named option contracts: StrokeStyleDetails · CurveInterpolation.
Declared options
Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.
| Option | Presence | Type |
|---|---|---|
lineCap |
Optional / branch-dependent | "butt" \| "round" \| "square" \| undefined |
lineJoin |
Optional / branch-dependent | "bevel" \| "miter" \| "round" \| undefined |
miterLimit |
Optional / branch-dependent | number \| undefined |
clip |
Optional / branch-dependent | boolean \| undefined |
missing |
Optional / branch-dependent | "break" \| "error" \| undefined |
target |
Optional / branch-dependent | string \| undefined |
strokeWidth |
Optional / branch-dependent | number \| undefined |
curve |
Optional / branch-dependent | CurveInterpolation \| undefined |
tension |
Optional / branch-dependent | number \| undefined |
stroke |
Optional / branch-dependent | string \| undefined |
opacity |
Optional / branch-dependent | number \| undefined |
closed |
Optional / branch-dependent | boolean \| undefined |
The following call patterns are abbreviated examples; the declaration above owns the complete option set.
editLineMark({ clip?, missing?, target?, stroke?, strokeWidth?, opacity?, curve?, tension?, closed? })
Edit line appearance or its explicit missing-coordinate policy and rematerialize concrete path commands without changing field encodings. Marks
createBarMark
API layer: user-facing. Authoring roles: H2.
Availability: Available by v0.0.13. See release compatibility.
createBarMark(options?: RectStyleDetails & { clip?: boolean; id?: string; data?: string; orientation?: "vertical" | "horizontal"; missing?: "error" | "skip"; fill?: FillPaint; opacity?: number; stroke?: FilledMarkStroke; strokeWidth?: number; }): ChartProgram;
Named option contracts: RectStyleDetails · FillPaint · FilledMarkStroke.
Declared options
Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.
| Option | Presence | Type |
|---|---|---|
lineCap |
Optional / branch-dependent | "butt" \| "round" \| "square" \| undefined |
lineJoin |
Optional / branch-dependent | "bevel" \| "miter" \| "round" \| undefined |
miterLimit |
Optional / branch-dependent | number \| undefined |
cornerRadius |
Optional / branch-dependent | number \| undefined |
cornerRadiusTopLeft |
Optional / branch-dependent | number \| undefined |
cornerRadiusTopRight |
Optional / branch-dependent | number \| undefined |
cornerRadiusBottomRight |
Optional / branch-dependent | number \| undefined |
cornerRadiusBottomLeft |
Optional / branch-dependent | number \| undefined |
clip |
Optional / branch-dependent | boolean \| undefined |
id |
Optional / branch-dependent | string \| undefined |
data |
Optional / branch-dependent | string \| undefined |
orientation |
Optional / branch-dependent | "horizontal" \| "vertical" \| undefined |
missing |
Optional / branch-dependent | "error" \| "skip" \| undefined |
fill |
Optional / branch-dependent | FillPaint \| undefined |
opacity |
Optional / branch-dependent | number \| undefined |
stroke |
Optional / branch-dependent | FilledMarkStroke \| undefined |
strokeWidth |
Optional / branch-dependent | number \| undefined |
The following call patterns are abbreviated examples; the declaration above owns the complete option set.
createBarMark({ clip?, id?, data?, orientation?, fill?, opacity?, stroke?, strokeWidth? } = {})
Create a semantic bar mark and empty rect collection.
stroke: false disables the outline and its width at creation. Marks
Global cornerRadius and per-corner cornerRadiusTopLeft, cornerRadiusTopRight,
cornerRadiusBottomRight, and cornerRadiusBottomLeft use non-negative logical pixels.
Each corner override wins over the global fallback and clamps to half the smaller item side.
Omitted corners fall back to the global radius or zero; edits retain unspecified overrides.
editBarMark
API layer: user-facing. Authoring roles: H3.
Availability: Available by v0.0.13. See release compatibility.
editBarMark(options: RectStyleDetails & { clip?: boolean; target?: string; blend?: "normal" | "difference"; missing?: "error" | "skip"; fill?: FillPaint; opacity?: number; stroke?: FilledMarkStroke; strokeWidth?: number; }): ChartProgram;
Named option contracts: RectStyleDetails · FillPaint · FilledMarkStroke.
Declared options
Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.
| Option | Presence | Type |
|---|---|---|
lineCap |
Optional / branch-dependent | "butt" \| "round" \| "square" \| undefined |
lineJoin |
Optional / branch-dependent | "bevel" \| "miter" \| "round" \| undefined |
miterLimit |
Optional / branch-dependent | number \| undefined |
cornerRadius |
Optional / branch-dependent | number \| undefined |
cornerRadiusTopLeft |
Optional / branch-dependent | number \| undefined |
cornerRadiusTopRight |
Optional / branch-dependent | number \| undefined |
cornerRadiusBottomRight |
Optional / branch-dependent | number \| undefined |
cornerRadiusBottomLeft |
Optional / branch-dependent | number \| undefined |
clip |
Optional / branch-dependent | boolean \| undefined |
target |
Optional / branch-dependent | string \| undefined |
blend |
Optional / branch-dependent | "difference" \| "normal" \| undefined |
missing |
Optional / branch-dependent | "error" \| "skip" \| undefined |
fill |
Optional / branch-dependent | FillPaint \| undefined |
opacity |
Optional / branch-dependent | number \| undefined |
stroke |
Optional / branch-dependent | FilledMarkStroke \| undefined |
strokeWidth |
Optional / branch-dependent | number \| undefined |
The following call patterns are abbreviated examples; the declaration above owns the complete option set.
editBarMark({ clip?, target?, blend?, fill?, opacity?, stroke?, strokeWidth? })
Edit whole-bar appearance and rematerialize every concrete rectangle.
Use blend: "difference" to composite each bar fill and outline once over earlier
content; blend: "normal" restores ordinary painting. Omission preserves the current mode.
stroke: false removes the visible outline; constant fill conflicts with a
field-driven color encoding. Marks
Cardinal line tension is a finite number from 0 to 1 (default 0); it scales tangents by 1-tension.
The line facade forwards line.tension; changing to another curve clears the previous setting.
Global cornerRadius and per-corner cornerRadiusTopLeft, cornerRadiusTopRight,
cornerRadiusBottomRight, and cornerRadiusBottomLeft use non-negative logical pixels.
Each corner override wins over the global fallback and clamps to half the smaller item side.
Omitted corners fall back to the global radius or zero; edits retain unspecified overrides.
createAreaMark
API layer: user-facing. Authoring roles: H2.
Availability: Available by v0.0.13. See release compatibility.
createAreaMark(options?: StrokeStyleDetails & { clip?: boolean; id?: string; data?: string; fill?: FillPaint; opacity?: number; stroke?: string; strokeWidth?: number; curve?: CurveInterpolation; missing?: "error" | "break"; }): ChartProgram;
Named option contracts: StrokeStyleDetails · FillPaint · CurveInterpolation.
Declared options
Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.
| Option | Presence | Type |
|---|---|---|
lineCap |
Optional / branch-dependent | "butt" \| "round" \| "square" \| undefined |
lineJoin |
Optional / branch-dependent | "bevel" \| "miter" \| "round" \| undefined |
miterLimit |
Optional / branch-dependent | number \| undefined |
clip |
Optional / branch-dependent | boolean \| undefined |
id |
Optional / branch-dependent | string \| undefined |
data |
Optional / branch-dependent | string \| undefined |
fill |
Optional / branch-dependent | FillPaint \| undefined |
opacity |
Optional / branch-dependent | number \| undefined |
stroke |
Optional / branch-dependent | string \| undefined |
strokeWidth |
Optional / branch-dependent | number \| undefined |
curve |
Optional / branch-dependent | CurveInterpolation \| undefined |
missing |
Optional / branch-dependent | "break" \| "error" \| undefined |
The following call patterns are abbreviated examples; the declaration above owns the complete option set.
createAreaMark({ clip?, id?, data?, fill?, opacity?, stroke?, strokeWidth?, curve?, missing? } = {})
Create a semantic area mark and empty path collection. Fixed fill defaults to
"#4c78a8"; opacity defaults to 0.2. Optional outlines default to width 1.
Curve defaults to "linear" and accepts the shared eight-value vocabulary.
Marks
Area missing defaults to "error". "break" splits null/undefined measured endpoints into closed segments with at least two samples; independent positions and nonfinite values remain strict. Density/Horizon missing policies are not reinterpreted.
createRuleMark
API layer: user-facing. Authoring roles: H2.
Availability: Available by v0.0.13. See release compatibility.
createRuleMark(options?: { clip?: boolean; id?: string; data?: string; missing?: "error" | "skip" } & RuleStyleOptions): ChartProgram;
Named option contracts: RuleStyleOptions.
Declared options
Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.
| Option | Presence | Type |
|---|---|---|
clip |
Optional / branch-dependent | boolean \| undefined |
id |
Optional / branch-dependent | string \| undefined |
data |
Optional / branch-dependent | string \| undefined |
missing |
Optional / branch-dependent | "error" \| "skip" \| undefined |
stroke |
Optional / branch-dependent | string \| undefined |
strokeWidth |
Optional / branch-dependent | number \| undefined |
strokeDash |
Optional / branch-dependent | DashPattern \| DashStyle \| undefined |
opacity |
Optional / branch-dependent | number \| undefined |
lineCap |
Optional / branch-dependent | "butt" \| "round" \| "square" \| undefined |
lineJoin |
Optional / branch-dependent | "bevel" \| "miter" \| "round" \| undefined |
miterLimit |
Optional / branch-dependent | number \| undefined |
The following call patterns are abbreviated examples; the declaration above owns the complete option set.
createRuleMark({ clip?, id?, data?, stroke?, strokeWidth?, strokeDash?, opacity? } = {})
Create a semantic rule mark and empty line collection. The first omitted ID is
"rule"; data defaults to current data. Marks
editRuleMark
API layer: user-facing. Authoring roles: H3.
Availability: Available by v0.0.13. See release compatibility.
editRuleMark(options: { clip?: boolean; target?: string; missing?: "error" | "skip" } & RuleStyleOptions): ChartProgram;
Named option contracts: RuleStyleOptions.
Declared options
Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.
| Option | Presence | Type |
|---|---|---|
clip |
Optional / branch-dependent | boolean \| undefined |
target |
Optional / branch-dependent | string \| undefined |
missing |
Optional / branch-dependent | "error" \| "skip" \| undefined |
stroke |
Optional / branch-dependent | string \| undefined |
strokeWidth |
Optional / branch-dependent | number \| undefined |
strokeDash |
Optional / branch-dependent | DashPattern \| DashStyle \| undefined |
opacity |
Optional / branch-dependent | number \| undefined |
lineCap |
Optional / branch-dependent | "butt" \| "round" \| "square" \| undefined |
lineJoin |
Optional / branch-dependent | "bevel" \| "miter" \| "round" \| undefined |
miterLimit |
Optional / branch-dependent | number \| undefined |
The following call patterns are abbreviated examples; the declaration above owns the complete option set.
editRuleMark({ clip?, target?, stroke?, strokeWidth?, strokeDash?, opacity? })
Edit constant Rule appearance through the four existing encoding owners. At least one style is required; field appearance conflicts with scalar editing. Creation accepts the same styles. Rule marks
editAreaMark
API layer: user-facing. Authoring roles: H3.
Availability: Available by v0.0.13. See release compatibility.
editAreaMark(options: StrokeStyleDetails & { clip?: boolean; target?: string; fill?: FillPaint; opacity?: number; stroke?: string | false; strokeWidth?: number; curve?: CurveInterpolation; missing?: "error" | "break"; }): ChartProgram;
Named option contracts: StrokeStyleDetails · FillPaint · CurveInterpolation.
Declared options
Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.
| Option | Presence | Type |
|---|---|---|
lineCap |
Optional / branch-dependent | "butt" \| "round" \| "square" \| undefined |
lineJoin |
Optional / branch-dependent | "bevel" \| "miter" \| "round" \| undefined |
miterLimit |
Optional / branch-dependent | number \| undefined |
clip |
Optional / branch-dependent | boolean \| undefined |
target |
Optional / branch-dependent | string \| undefined |
fill |
Optional / branch-dependent | FillPaint \| undefined |
opacity |
Optional / branch-dependent | number \| undefined |
stroke |
Optional / branch-dependent | string \| false \| undefined |
strokeWidth |
Optional / branch-dependent | number \| undefined |
curve |
Optional / branch-dependent | CurveInterpolation \| undefined |
missing |
Optional / branch-dependent | "break" \| "error" \| undefined |
The following call patterns are abbreviated examples; the declaration above owns the complete option set.
editAreaMark({ clip?, target?, fill?, opacity?, stroke?, strokeWidth?, curve?, missing? })
Edit constant area appearance. stroke: false removes an existing outline.
Marks
createArcMark
API layer: user-facing. Authoring roles: H2.
Availability: Available by v0.0.13. See release compatibility.
createArcMark(options?: StrokeStyleDetails & { id?: string; data?: string; innerRadius?: ArcInnerRadius; padAngle?: number; fill?: string; opacity?: number; stroke?: string; strokeWidth?: number; }): ChartProgram;
Named option contracts: StrokeStyleDetails · ArcInnerRadius.
Declared options
Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.
| Option | Presence | Type |
|---|---|---|
lineCap |
Optional / branch-dependent | "butt" \| "round" \| "square" \| undefined |
lineJoin |
Optional / branch-dependent | "bevel" \| "miter" \| "round" \| undefined |
miterLimit |
Optional / branch-dependent | number \| undefined |
id |
Optional / branch-dependent | string \| undefined |
data |
Optional / branch-dependent | string \| undefined |
innerRadius |
Optional / branch-dependent | ArcInnerRadius \| undefined |
padAngle |
Optional / branch-dependent | number \| undefined |
fill |
Optional / branch-dependent | string \| undefined |
opacity |
Optional / branch-dependent | number \| undefined |
stroke |
Optional / branch-dependent | string \| undefined |
strokeWidth |
Optional / branch-dependent | number \| undefined |
The following call patterns are abbreviated examples; the declaration above owns the complete option set.
createArcMark({ id?, data?, innerRadius?, padAngle?, fill?, opacity?, stroke?, strokeWidth? } = {})
Create a semantic arc mark and empty closed-path collection. Direct quantitative theta, category counts, or category-weighted sums materialize proportional pie or donut sectors; categorical theta plus radius materializes radial sectors. Marks
editArcMark
API layer: user-facing. Authoring roles: H3.
Availability: Available by v0.0.13. See release compatibility.
editArcMark(options: StrokeStyleDetails & { target?: string; innerRadius?: ArcInnerRadius; padAngle?: number; fill?: string; opacity?: number; stroke?: string | false; strokeWidth?: number; }): ChartProgram;
Named option contracts: StrokeStyleDetails · ArcInnerRadius.
Declared options
Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.
| Option | Presence | Type |
|---|---|---|
lineCap |
Optional / branch-dependent | "butt" \| "round" \| "square" \| undefined |
lineJoin |
Optional / branch-dependent | "bevel" \| "miter" \| "round" \| undefined |
miterLimit |
Optional / branch-dependent | number \| undefined |
target |
Optional / branch-dependent | string \| undefined |
innerRadius |
Optional / branch-dependent | ArcInnerRadius \| undefined |
padAngle |
Optional / branch-dependent | number \| undefined |
fill |
Optional / branch-dependent | string \| undefined |
opacity |
Optional / branch-dependent | number \| undefined |
stroke |
Optional / branch-dependent | string \| false \| undefined |
strokeWidth |
Optional / branch-dependent | number \| undefined |
The following call patterns are abbreviated examples; the declaration above owns the complete option set.
editArcMark({ target?, innerRadius?, padAngle?, fill?, opacity?, stroke?, strokeWidth? })
Edit arc geometry or appearance and rematerialize complete sector paths.
stroke: false disables the outline and its width.
Marks
createRectMark
API layer: user-facing. Authoring roles: H2.
Availability: Available by v0.0.13. See release compatibility.
createRectMark(options?: RectMarkOptions): ChartProgram;
Named option contracts: RectMarkOptions.
Declared options
Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.
| Option | Presence | Type |
|---|---|---|
clip |
Optional / branch-dependent | boolean \| undefined |
id |
Optional / branch-dependent | string \| undefined |
data |
Optional / branch-dependent | string \| undefined |
missing |
Optional / branch-dependent | "error" \| "skip" \| undefined |
fill |
Optional / branch-dependent | string \| undefined |
opacity |
Optional / branch-dependent | number \| undefined |
stroke |
Optional / branch-dependent | string \| false \| undefined |
strokeWidth |
Optional / branch-dependent | number \| undefined |
lineCap |
Optional / branch-dependent | "butt" \| "round" \| "square" \| undefined |
lineJoin |
Optional / branch-dependent | "bevel" \| "miter" \| "round" \| undefined |
miterLimit |
Optional / branch-dependent | number \| undefined |
cornerRadius |
Optional / branch-dependent | number \| undefined |
cornerRadiusTopLeft |
Optional / branch-dependent | number \| undefined |
cornerRadiusTopRight |
Optional / branch-dependent | number \| undefined |
cornerRadiusBottomRight |
Optional / branch-dependent | number \| undefined |
cornerRadiusBottomLeft |
Optional / branch-dependent | number \| undefined |
The following call patterns are abbreviated examples; the declaration above owns the complete option set.
createRectMark({ clip?, id?, data?, fill?, opacity?, stroke?, strokeWidth? } = {})
Create a semantic rect mark and empty rect collection. Two discrete x/y bands or complete x/x2 and y/y2 endpoint pairs materialize observed cells. Rects do not infer bar aggregation, baseline, stack, or width semantics. Rect marks
Global cornerRadius and per-corner cornerRadiusTopLeft, cornerRadiusTopRight,
cornerRadiusBottomRight, and cornerRadiusBottomLeft use non-negative logical pixels.
Each corner override wins over the global fallback and clamps to half the smaller item side.
Omitted corners fall back to the global radius or zero; edits retain unspecified overrides.
editRectMark
API layer: user-facing. Authoring roles: H3.
Availability: Available by v0.0.13. See release compatibility.
editRectMark(options: EditRectMarkOptions): ChartProgram;
Named option contracts: EditRectMarkOptions.
Declared options
Generated from the current TypeScript declaration. Union branches can require different combinations; optional does not mean every combination is valid.
| Option | Presence | Type |
|---|---|---|
target |
Optional / branch-dependent | string \| undefined |
lineCap |
Optional / branch-dependent | "butt" \| "round" \| "square" \| undefined |
lineJoin |
Optional / branch-dependent | "bevel" \| "miter" \| "round" \| undefined |
miterLimit |
Optional / branch-dependent | number \| undefined |
cornerRadius |
Optional / branch-dependent | number \| undefined |
cornerRadiusTopLeft |
Optional / branch-dependent | number \| undefined |
cornerRadiusTopRight |
Optional / branch-dependent | number \| undefined |
cornerRadiusBottomRight |
Optional / branch-dependent | number \| undefined |
cornerRadiusBottomLeft |
Optional / branch-dependent | number \| undefined |
clip |
Optional / branch-dependent | boolean \| undefined |
missing |
Optional / branch-dependent | "error" \| "skip" \| undefined |
fill |
Optional / branch-dependent | string \| undefined |
opacity |
Optional / branch-dependent | number \| undefined |
stroke |
Optional / branch-dependent | string \| false \| undefined |
strokeWidth |
Optional / branch-dependent | number \| undefined |
The following call patterns are abbreviated examples; the declaration above owns the complete option set.
editRectMark({ clip?, target?, fill?, opacity?, stroke?, strokeWidth? })
Edit rect appearance and rematerialize complete cells. Constant fill conflicts
with field-driven color. stroke: false disables the outline.
Rect marks
Global cornerRadius and per-corner cornerRadiusTopLeft, cornerRadiusTopRight,
cornerRadiusBottomRight, and cornerRadiusBottomLeft use non-negative logical pixels.
Each corner override wins over the global fallback and clamps to half the smaller item side.
Omitted corners fall back to the global radius or zero; edits retain unspecified overrides.
Related
Action Reference · Chart API · Supported Features
Documentation provenance
293 actions · sha256:e755591a2e5f5e2b494867583876e28020a478c5220b77bdc6ad469a6224891d