@huukhanhnguyen/types / objects/leader
objects/leader
Leader
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).