Element schemas
Elements are the lowest-level building blocks in the schema hierarchy — primitive data types that components compose into higher-order structures. They define binary array formats, colour values, spatial coordinates, lookup tables, and the unit system.
Binary storage
The foundational storage reference used by all array elements to point to binary data.
- Binary blob — file hash, UUID, or null reference for binary data
Floating-point arrays
64-bit floating-point arrays for continuous numeric data. The base type (float-array-md) supports arbitrary width; fixed-width specialisations constrain width to match specific geometric or physical use cases.
- Float array (variable width) — base type with variable width
- Float array (width 1) — scalar values (width = 1)
- Float array (width 2) — paired values such as 2D coordinates (width = 2)
- Float array (width 3) — 3D coordinates and vectors (width = 3)
- Float array (width 6) — symmetric tensor components (width = 6)
Integer arrays
Integer arrays supporting int32 and int64 encoding. Follows the same base-plus-specialisation pattern as floating-point arrays.
- Integer array (variable width) — base type with variable width
- Integer array (width 1) — scalar integer values (width = 1)
- Integer array (width 2) — paired integer values (width = 2)
- Integer array (width 3) — triple integer values (width = 3)
Index arrays
Unsigned 64-bit integer arrays for topology and connectivity. Each width corresponds to a geometric primitive — pairs for line segments, triplets for triangles, and so on.
- Index array (1) — single indices (width = 1)
- Index array (2) — line segment connectivity (width = 2)
- Index array (3) — triangle connectivity (width = 3)
- Index array (4) — quadrilateral connectivity (width = 4)
- Index array (8) — hexahedral connectivity (width = 8)
Boolean arrays
Boolean data arrays for flags, masks, and binary-state attributes.
- Bool array (width 1) — single boolean per element
- Bool array (variable width) — multiple booleans per element
String and date-time arrays
Non-numeric array types for text and temporal data.
- String array — variable-length string values
- Date-time array — timestamp values
Colour
Colour values using 32-bit ABGR packing (alpha, blue, green, red).
- Color — single colour value
- Color array — per-element colour data
Spatial primitives
Standalone geometric primitives for point positions and part references.
- Coordinates 3D — single point in 3D space (x, y, z)
- Reversible index — part index with optional orientation reversal
Lookup and categorisation
Key-value mappings for categorical data.
- Lookup table — integer-to-string mapping for category names
Units
Physical measurement units organised by dimension.
- Unit — 125+ unit categories organised by physical dimension