DrawOp:
| {
color: string;
id: string;
kind: "halo";
pulseStatic: boolean;
rx: number;
ry: number;
width: number;
x: number;
y: number;
}
| {
dash?: readonly number[];
fill: string;
gradient?: { from: string; to: string };
height: number;
id: string;
kind: "shape";
opacity?: number;
shape: string;
stroke: string;
strokeWidth: number;
width: number;
x: number;
y: number;
}
| {
color: string;
cx: number;
cy: number;
endAngle: number;
id: string;
kind: "donut-arc";
r: number;
startAngle: number;
}
| {
id: string;
kind: "glyph";
size: number;
text: string;
x: number;
y: number;
}
| {
dash?: readonly number[];
gradient?: { from: string; to: string };
id: string;
kind: "edge";
points: readonly { x: number; y: number }[];
stroke: string;
width: number;
}
| {
fill: string;
gradient?: { from: string; to: string };
id: string;
kind: "taper";
p1: { x: number; y: number };
p2: { x: number; y: number };
points: readonly { x: number; y: number }[];
}
| {
color: string;
halo?: { color: string; width: number };
id: string;
kind: "label";
size: number;
text: string;
x: number;
y: number;
}
Type Declaration
- {
color: string;
id: string;
kind: "halo";
pulseStatic: boolean;
rx: number;
ry: number;
width: number;
x: number;
y: number;
}color: string
id: string
kind: "halo"
pulseStatic: boolean
rx: number
ry: number
width: number
x: number
y: number
- {
dash?: readonly number[];
fill: string;
gradient?: { from: string; to: string };
height: number;
id: string;
kind: "shape";
opacity?: number;
shape: string;
stroke: string;
strokeWidth: number;
width: number;
x: number;
y: number;
} - {
color: string;
cx: number;
cy: number;
endAngle: number;
id: string;
kind: "donut-arc";
r: number;
startAngle: number;
} - { id: string; kind: "glyph"; size: number; text: string; x: number; y: number }
- {
dash?: readonly number[];
gradient?: { from: string; to: string };
id: string;
kind: "edge";
points: readonly { x: number; y: number }[];
stroke: string;
width: number;
} - {
fill: string;
gradient?: { from: string; to: string };
id: string;
kind: "taper";
p1: { x: number; y: number };
p2: { x: number; y: number };
points: readonly { x: number; y: number }[];
}fill: string
Optionalgradient?: { from: string; to: string }
id: string
kind: "taper"
p1: { x: number; y: number }
p2: { x: number; y: number }
points: readonly { x: number; y: number }[]
- {
color: string;
halo?: { color: string; width: number };
id: string;
kind: "label";
size: number;
text: string;
x: number;
y: number;
}
Stage 1 renders pulse halos statically; recorded per op so the conformance suite can verify the capability claim.