Skip to content
Shapemetry

@huukhanhnguyen/types / objects/leader

objects/leader

Leader

Leader = { landing: Point; targets: Point[]; }

A pointer: one or more arrowheads at targets, joined to a landing where something is written.

targets is plural because one leader routinely points at several things (three identical bolts, one note). It carries no text of its own: the text is a Text on the leader entity's label, so there is exactly one place a string on a drawing lives.

landing

landing: Point

targets

targets: Point[]


LeaderData

LeaderData = { leaders: LeaderEntity[]; }

Object-tier leader datablock.

leaders

leaders: LeaderEntity[]


LeaderEntity

LeaderEntity = Leader & { attributes?: Record<string, unknown> | null; curves: PolyCurve[]; label?: Text; style: string; }

One leader in a LeaderData document. The text it points WITH is label, never a sibling field on the object.


LeaderInstance

LeaderInstance = BaseInstance & { material?: string; }


LeaderObject

LeaderObject = BaseObject & { data: LeaderData; instances: LeaderInstance[]; type: "leader"; }

An object whose data is leaders and nothing else.

A pointer is not a dimension (no measured value) and not a text (the string lives on label inside each LeaderEntity).

Last updated: 📖 1 min readEdit on GitHub