Skip to content
Shapemetry

@huukhanhnguyen/types / objects/scene

objects/scene

Instance

Instance = CurveInstance | BrepInstance | MeshInstance | PointCloudInstance | BlockInstance | LightInstance | SectionInstance | HatchInstance | SkeletonInstance | LinearDimensionInstance | RadialDimensionInstance | AngularDimensionInstance | LeaderInstance | TextInstance | ImageInstance | ViewInstance | CameraInstance

Evaluated placement union. Generic walks (fold, applyAuthoredInstances) use this; a kind's own instances field is the matching member.


ObjectData

ObjectData = CurveData | BrepData | MeshData | PointCloudData | BlockData | LightData | SectionData | HatchData | SkeletonData | LinearDimensionData | RadialDimensionData | AngularDimensionData | LeaderData | TextData | ImageData | ViewData | CameraData

Mid-chain stream — the payload of a SceneObject, without identity or placement. A chain produces exactly one kind; the value is that kind's *Data. Object-level claims live on BaseObject / BaseInstance after assembly; per-region claims live on each entry (MeshFace.attributes, CurveEdge.attributes, BrepFace.attributes).


SceneObject

SceneObject = CurveObject | BrepObject | MeshObject | PointCloudObject | BlockObject | LightObject | SectionObject | HatchObject | SkeletonObject | LinearDimensionObject | RadialDimensionObject | AngularDimensionObject | LeaderObject | TextObject | ImageObject | ViewObject | CameraObject

The evaluated-object union. One name, because a bare Object shadows the TypeScript global and reads ambiguously at every call site.

Seventeen kinds. Every member is { type, instances, data }.

Last updated: 📖 1 min readEdit on GitHub