Schemas / Geometry / paint
rig.geometry.arc
v0.31.0 · draft 7 fields 6 required
Fields
| Field | Type | Meaning | |
|---|---|---|---|
centerX |
float | required | Centre X, local space |
centerY |
float | required | Centre Y, local space |
radiusX |
float | required | Radius along local X |
radiusY |
float | required | Radius along local Y |
startAngleDegrees |
float | required | Start angle, 0 along +X, increasing toward +Y |
endAngleDegrees |
float | required | End angle, same convention |
pie |
bool | optional | Optional. Absent = false; true closes the contour through the centre |
Circular or elliptical arc (or pie wedge). Format when present.
A circle is an arc with equal radii. Same fields as rig.geometry.ellipse, plus the angle span.
Rotation of an elliptical arc belongs on rig.spatial.transform - do not bake a major-axis angle into this component. Local (0,0) is the authored centre - see rig.spatial.anchor.
Angles are degrees, not radians, matching fovYDegrees on rig.spatial.camera.
Sweep runs from start to end in increasing angle. An end angle below the start wraps past 360; the values are not normalized, so a 720-degree sweep is a legal double loop and a host that cannot draw one clamps rather than takes the modulus.
Full axis-aligned ellipses (no start/end span) use rig.geometry.ellipse. Freeform resolved strokes use rig.geometry.path - do not put circular or elliptical arcs on path.
Appearance: rig.paint.fill_stroke.
JSON Schema
Resolves at https://rig.works/schemas/rig.geometry.arc.schema.json —
raw file.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://rig.works/schemas/rig.geometry.arc.schema.json",
"title": "rig.geometry.arc",
"type": "object",
"additionalProperties": false,
"properties": {
"centerX": {
"$ref": "./_defs.schema.json#/$defs/float"
},
"centerY": {
"$ref": "./_defs.schema.json#/$defs/float"
},
"radiusX": {
"$ref": "./_defs.schema.json#/$defs/float"
},
"radiusY": {
"$ref": "./_defs.schema.json#/$defs/float"
},
"startAngleDegrees": {
"$ref": "./_defs.schema.json#/$defs/float"
},
"endAngleDegrees": {
"$ref": "./_defs.schema.json#/$defs/float"
},
"pie": {
"$ref": "./_defs.schema.json#/$defs/bool"
}
},
"required": [
"centerX",
"centerY",
"radiusX",
"radiusY",
"startAngleDegrees",
"endAngleDegrees"
]
}