Skip to content
ParaShape

Instance

One placement. Coordinates are object-local. transformation stays identity on a record object (dimension/leader/hatch/image/section) — its placement is mapped into its own geometry fields at assembly instead, since a record's cell already ships in world space.

// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { PerViewFlag } from "./PerViewFlag.js";

/**
 * One placement of a `SceneObject`. Coordinates are LOCAL to the object;
 * index is stable across re-evaluation (mirrors an authored `properties`
 * placement one-for-one).
 */
export type Instance = { 
/**
 * geometry — column-major 4x4, translation at indices 12/13/14, mm.
 */
transformation: number[], 
/**
 * identity — this placement's own identity, distinct from the
 * object's `label`. Absent = fall back to the definition's label.
 */
name?: string, 
/**
 * identity — key of a `materials[]` record, resolved by the renderer.
 */
material?: string, 
/**
 * identity — key of a `layers[]` record, resolved by the renderer.
 */
layer?: string, 
/**
 * intent — does it appear on screen, per view.
 */
visible?: PerViewFlag, 
/**
 * intent — free-form classification, per placement.
 */
attributes?: Record<string, unknown>, };
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.

/**
 * intent — `properties.visible`: absent/`true` = every view, `false` = none,
 * a list = exactly those view keys. Empty list refused at evaluate. Render
 * ships it as `All(bool)` against the session's active view
 * (`render::placement_shown`); the free camera (no active view) is in no list.
 */
export type PerViewFlag = boolean | Array<string>;
📖 1 min read