Skip to content
Shapemetry

@huukhanhnguyen/model / schema/vocabulary/laneMethods

schema/vocabulary/laneMethods

LaneMethodDef

LaneMethodDef = LaneNodeDef & { args: NodeArgEntry[]; tooltip: string; }

The tables[]/textures[] shape: every method there has a tooltip and an arg list (possibly empty), and both evaluators index them unguarded.


LaneNodeDef

LaneNodeDef = { args?: NodeArgEntry[]; defaultKey: string; label: string; tooltip?: string; }

A lane method as the CATALOG shows it: display metadata + the arg schema. args absent = the method takes none (a docDivider, a tableSheets).

args?

optional args?: NodeArgEntry[]

defaultKey

defaultKey: string

label

label: string

tooltip?

optional tooltip?: string


TextureMethodDef

TextureMethodDef = LaneMethodDef & { type: "source" | "filter"; }

A texture method either STARTS the image stream or transforms it.


HEAD_TABLE_METHODS

const HEAD_TABLE_METHODS: Set<string>

Heads that seed the table stream (not row nodes). A chain uses one head XOR rows.


TABLE_METHODS

const TABLE_METHODS: Record<string, LaneMethodDef>


TEXTURE_METHODS

const TEXTURE_METHODS: Record<string, TextureMethodDef>


VIEW_METHOD_DEFS

const VIEW_METHOD_DEFS: { view3d: { args: { default: string; key: string; label: string; tooltip: string; type: string; }[]; defaultKey: string; label: string; tooltip: string; }; viewDetail: { args: { default: string; key: string; label: string; tooltip: string; type: string; }[]; defaultKey: string; label: string; tooltip: string; }; viewElevation: { args: { default: string; key: string; label: string; options: string[]; tooltip: string; type: string; }[]; defaultKey: string; label: string; tooltip: string; }; viewFilter: { args: { default: string; key: string; label: string; tooltip: string; type: string; }[]; defaultKey: string; label: string; tooltip: string; }; viewPlan: { args: { default: string; key: string; label: string; tooltip: string; type: string; }[]; defaultKey: string; label: string; tooltip: string; }; viewSection: { args: { default: string; key: string; label: string; tooltip: string; type: string; }[]; defaultKey: string; label: string; tooltip: string; }; viewStyle: { args: { default: string; key: string; label: string; tooltip: string; type: string; }[]; defaultKey: string; label: string; tooltip: string; }; }

The view-chain vocabulary (View.operations): the five HEADS plus the two steps. Which methods are heads stays in schema/viewChain.ts's VIEW_HEAD_METHOD_NAMES, type-pinned to this table (a head that is not a declared method stops compiling).

view3d

view3d: { args: { default: string; key: string; label: string; tooltip: string; type: string; }[]; defaultKey: string; label: string; tooltip: string; }

view3d.args

args: { default: string; key: string; label: string; tooltip: string; type: string; }[]

view3d.defaultKey

defaultKey: string = "view3d"

view3d.label

label: string = "3D view"

view3d.tooltip

tooltip: string = "3D camera head (family 3d) — restores the 3D viewport via settings.activeView, AND places on paper as an AXONOMETRIC (the drawing projects in parallel down the camera direction; fov is ignored there). An inline perspective pose (position/target/up/fov), OR a cameras[] key (XOR — not both), which is also the only way to name an ORTHOGRAPHIC 3D view."

viewDetail

viewDetail: { args: { default: string; key: string; label: string; tooltip: string; type: string; }[]; defaultKey: string; label: string; tooltip: string; }

viewDetail.args

args: { default: string; key: string; label: string; tooltip: string; type: string; }[]

viewDetail.defaultKey

defaultKey: string = "detail"

viewDetail.label

label: string = "Detail"

viewDetail.tooltip

tooltip: string = "Detail-view head (family detail) — frames a FLAT components[] entry's own 2D content 1:1: no camera, no projection. The one path a detail/chart/diagram takes to paper; a 3D component fails soft with a named error."

viewElevation

viewElevation: { args: { default: string; key: string; label: string; options: string[]; tooltip: string; type: string; }[]; defaultKey: string; label: string; tooltip: string; }

viewElevation.args

args: { default: string; key: string; label: string; options: string[]; tooltip: string; type: string; }[]

viewElevation.defaultKey

defaultKey: string = "elevation"

viewElevation.label

label: string = "Elevation"

viewElevation.tooltip

tooltip: string = "Elevation-view head. direction = 'front'|'back'|'left'|'right'. Crop lives on the viewObject."

viewFilter

viewFilter: { args: { default: string; key: string; label: string; tooltip: string; type: string; }[]; defaultKey: string; label: string; tooltip: string; }

viewFilter.args

args: { default: string; key: string; label: string; tooltip: string; type: string; }[]

viewFilter.defaultKey

defaultKey: string = "filter"

viewFilter.label

label: string = "Filter"

viewFilter.tooltip

tooltip: string = "Stackable filter step — rules array of {key, equals?, notEquals?, override?}. Multiple steps AND together; node enabled toggles the layer."

viewPlan

viewPlan: { args: { default: string; key: string; label: string; tooltip: string; type: string; }[]; defaultKey: string; label: string; tooltip: string; }

viewPlan.args

args: { default: string; key: string; label: string; tooltip: string; type: string; }[]

viewPlan.defaultKey

defaultKey: string = "plan"

viewPlan.label

label: string = "Plan"

viewPlan.tooltip

tooltip: string = "Plan-view head. cut = world Z height (absent = roof plan, no cut); depth = visible range below cut. Crop lives on the viewObject."

viewSection

viewSection: { args: { default: string; key: string; label: string; tooltip: string; type: string; }[]; defaultKey: string; label: string; tooltip: string; }

viewSection.args

args: { default: string; key: string; label: string; tooltip: string; type: string; }[]

viewSection.defaultKey

defaultKey: string = "section"

viewSection.label

label: string = "Section"

viewSection.tooltip

tooltip: string = "Section-view head. plane (sectionPlane node key, quoted) XOR position+direction; depth. Crop lives on the viewObject."

viewStyle

viewStyle: { args: { default: string; key: string; label: string; tooltip: string; type: string; }[]; defaultKey: string; label: string; tooltip: string; }

viewStyle.args

args: { default: string; key: string; label: string; tooltip: string; type: string; }[]

viewStyle.defaultKey

defaultKey: string = "viewStyle"

viewStyle.label

label: string = "Style"

viewStyle.tooltip

tooltip: string = "Style step — name of a styles[] entry (quoted or expression). Multiple steps: last wins (validate warns)."

Last updated: 📖 7 min readEdit on GitHub