@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 }.