Skip to content
Shapemetry

@huukhanhnguyen/model / schema/dataKind

schema/dataKind

DataKind

DataKind = "block" | "section" | "linearDimension" | "radialDimension" | "angularDimension" | "text" | "leader" | "image" | "light" | "skeleton" | "hatch" | "pointCloud" | "brep" | "mesh" | "curve"

Every kind an ObjectData document can be. The kind is DERIVED from what the chain produces and carried explicitly as Object.type; the payload itself holds no discriminant.

Written out rather than derived from KIND_OF because law 5.3 forbids schema/ importing a runtime module. KIND_OF is annotated with this union, so a kind added on one side and not the other fails to compile.


ObjectClaims

ObjectClaims = { attributes?: Record<string, unknown>; label?: string; layer?: string; locked?: boolean; lockedSelect?: (data, index) => unknown; material?: string; visible?: boolean; }

Whole-object claims lifted at the object door — not an envelope around *Data.

attributes?

optional attributes?: Record<string, unknown>

label?

optional label?: string

layer?

optional layer?: string

locked?

optional locked?: boolean

lockedSelect?

optional lockedSelect?: (data, index) => unknown

WHICH pieces applyLocked shielded, when its arg was a callback rather than a flag. Read by the fold to partition the stream; the object door ignores it — a placement is locked or not, it has no selector.

Parameters

data

unknown

index

number

Returns

unknown

material?

optional material?: string

visible?

optional visible?: boolean

Last updated: 📖 1 min readEdit on GitHub