Type Alias: GeometryCommand
GeometryCommand = {
cmd:"moveTo";x:GeometryCoordinate;y:GeometryCoordinate; } | {cmd:"lnTo";x:GeometryCoordinate;y:GeometryCoordinate; } | {cmd:"cubicBezTo";x:GeometryCoordinate;x1:GeometryCoordinate;x2:GeometryCoordinate;y:GeometryCoordinate;y1:GeometryCoordinate;y2:GeometryCoordinate; } | {cmd:"quadBezTo";x:GeometryCoordinate;x1:GeometryCoordinate;y:GeometryCoordinate;y1:GeometryCoordinate; } | {cmd:"arcTo";hR:GeometryCoordinate;stAng:GeometryCoordinate;swAng:GeometryCoordinate;wR:GeometryCoordinate; } | {cmd:"close"; }
One segment of a custom-geometry path (a:path), as read from a shape. The command verbs mirror the write-side GeometryPoint DSL (src/types/) so a consumer can map a GeometryCommand[] to GeometryPoint[] one-to-one.
Coordinates (x/y/x1…) are raw path-unit integers in the path's own 0..w / 0..h space (see CustomGeometryPath.w); they are not EMU and must be scaled by the consumer against the shape's box. arcTo angles are in degrees (the raw 60000ths-of-a-degree values divided by 60000), matching the write DSL's degree input.
Any of them may instead be the name of a guide whose value it takes (ST_AdjCoordinate / ST_AdjAngle): one of the geometry's own CustomGeometry.guides, or a built-in such as w, hc or cd4. A name is returned as written, never resolved.