1. Numeric primitives - coord: unitless coordinate type - calc: calculations with coordinates are done using this type; normally wider than coord - offs: to express in-object offset values [0..1] 2. Low level primitives - vector: a coord;coord pair - box: a rectangle specified with min-x;min-y and max-x;max-y vectors; typically used for bounding boxes - cap: pen shape: round (circle) or square - stroke: a cap and size (in coord) 3. Centerline objects (thin, non-stroked, 0-width objects) - cline: a line segment specified by its two endpoints - ccirc: a circle specified by a center point vector and radius (the only reason for this type is optimization for speed in some internal calculations) - carc: an arc (segment of a circle) specified by a center point vector, a radius, a start angle and a delta angle 4. Stroked objects - sline: specified by a cline and a stroke - sarc: specified by a carc and a stroke 5. Polygon A polygon is always specified by centerline-tpye (non-stroked, zero width) outlines. TODO