Module attribute

Source
Expand description

Named per-vertex data carried alongside positions.

A mesh often arrives with more per-vertex information than geometry: material ids, texture coordinates, analysis results, source entity handles. That data is not decoration – losing it silently is how a quantity takeoff ends up unable to say which wall a triangle came from.

Two things make this hard, and both are modelled here rather than wished away:

  • Not every value can be blended. Interpolating a material id at a new vertex invents a material that was never authored, so a channel must declare whether blending is even meaningful.
  • Some operations genuinely cannot preserve a channel. A boolean cut creates vertices with no preimage in either operand. Reporting that honestly beats fabricating a plausible value.

Structs§

AttributeChannel
Per-vertex or per-corner values under a caller-chosen name.

Enums§

AttributeFate
What happened to a channel during an operation.
Blend
How a channel’s values may be combined when a new vertex appears.
DropReason
Why a channel could not be carried through an operation.