Skip to main content

Module id

Module id 

Source

Macros§

id_kinds 🔒
The kinds, declared once: the tag type, its alias, its spellings, and its slot in the allocator and the id union. A macro because these five must agree per kind and nothing weaker than generation makes them unable to drift.

Structs§

Allocator
Per-kind high-water marks: the largest id of each kind the document has ever held, minted or folded. Never stored — a loaded document derives them from its own content — so there is no durable counter to run backwards and no invariant for the fold to police.
AreaKind
BadEntityRef
BadId
BlockKind
Id
One entity’s identity: a per-kind, document-global counter.
IdVisitor 🔒
ImageKind
PinKind
RouteKind
RouteLabelKind
TextKind

Enums§

EntityRef
One reference to anything an op can touch — the id union that a note’s anchor, the spotlight’s footprints, and every “what did this op target” question share, so the entity kinds are never enumerated twice.

Traits§

IdKind
The supertraits are the tag’s, not the id’s: Id<K> derives Copy, Ord and Hash, and without them every generic bound would have to restate what a compile-time tag trivially satisfies.

Type Aliases§

AreaId
BlockId
ImageId
PinId
RouteId
RouteLabelId
TextId