A compiled glTF package can carry semantic property values as two optional
sidecar resources next to scene.gltf: a JSON document (this shape) holding
the scene's property key/key-set index and one column reference per
semantic entity, and a binary column file that is a byte-verbatim copy of
the adapter's madi.property-columns.1 output. Neither resource is on the
render path: a viewer fetches them lazily and resolves one semantic's
entries at a time with openPropertyValueColumns and
resolvePropertyEntries.
The semantic table is columnar to keep the document small at real-large
scale: semanticIds[i] references row semanticRows[i] of the column file
with key set semanticSets[i], and semanticSchemas[i] indexes schemas
(or is null for a bag without a schema label). Ids are sorted by UTF-16
code units and unique, so the document is deterministic for a deterministic
scene.
Compiled-package property sidecar (
madi.package-properties.1).A compiled glTF package can carry semantic property values as two optional sidecar resources next to
scene.gltf: a JSON document (this shape) holding the scene's property key/key-set index and one column reference per semantic entity, and a binary column file that is a byte-verbatim copy of the adapter'smadi.property-columns.1output. Neither resource is on the render path: a viewer fetches them lazily and resolves one semantic's entries at a time withopenPropertyValueColumnsandresolvePropertyEntries.The semantic table is columnar to keep the document small at real-large scale:
semanticIds[i]references rowsemanticRows[i]of the column file with key setsemanticSets[i], andsemanticSchemas[i]indexesschemas(or is null for a bag without a schema label). Ids are sorted by UTF-16 code units and unique, so the document is deterministic for a deterministic scene.