Schemas
A schema defines what a record is allowed to contain — its fields, their types, and who can change them. Schemas make records predictable: any client that knows a schema can read and write records conforming to it, regardless of who created them.
Schemas are stored as blobs and referenced by hash. Because blobs are immutable, a schema never changes after it is published. Records reference the exact schema they were built against.
Field types
Schemas support the usual primitives (strings, numbers, booleans, bytes) as well as structured containers: lists, maps, and trees. Fields can be marked optional, and individual fields can have their own access restrictions — for example, a field that anyone can read but only the owner can write.
Interoperability
Shared schemas are how different clients and spaces understand each other’s data. A space schema defines what an environment looks like. An avatar schema defines how a character is described. Applications that agree on a schema can work with each other’s records without coordination.