Skip to content

SpotBlock

A block of spots described by rule rather than enumeration — eighteen rows of twenty-four is one of these, not 432 objects.

This is the unit both assisted-authoring paths produce: the direct-manipulation editor drags one out, and the photo/PDF path emits the same shape, so both are editable by exactly the same controls.

Fields

idID!
rowsInt!
spotsPerRowInt

Spots in every row. Null when the block uses a per-row count.

spotsPerRowByRow[Int!]

Per-row spot counts, front row first. Null when every row is the same.

Centre of the block's first row, in map space.

spotSpacingFloat!
rowSpacingFloat!
curveRadiusFloat

Curve the rows around a focus this far in front of the first row. Larger radii are flatter; null gives straight rows.

curveCenterSpotMapPoint

An absolute focus every row curves around, overriding curveRadius and rotation. This is what a bowl uses: pointing every wedge at one shared centre makes a ring exactly concentric instead of approximately so, which is the difference between a tidy arena and one whose wedges splay apart.

staggerFloat

Offset alternate rows by this fraction of spotSpacing. 0.5 is the usual half-spot stagger.

rotationFloat
aisles[Int!]

Aisles, as the 1-based spot index within the row that each gap falls after. [6, 18] on a 24-spot row makes a 6 / 12 / 6 house.

aisleWidthFloat

Aisle width, as a multiple of spotSpacing. Defaults to 1.

faceTowardSpotMapPoint

Point every spot at this coordinate — usually the stage centre.

accessibleBoolean!
obstructedViewBoolean!
holdReasonSpotHoldReason
skipRows[Int!]

Rows omitted entirely, zero-based.

skipSpots[String!]

Spots omitted, as "<rowIndex>:<spotIndex>", both zero-based.

Used in