An entity class to share between games: a Lua script returning the class table (handlers, project, view, synced, ...), run sandboxed by the Cavu entity engine. A game lists it in its manifest under `classes` by the name it gives it ("walker": "at://did/games.cavu.entityClass/rkey"), and its own classes may extend it by that name.
any
Any valid record key
Properties
createdAt
string
datetime
Required
An RFC 3339 formatted timestamp.
description
string
Optional
No description available.
maxLength: 3000 bytesmaxGraphemes: 300 graphemesextends
string
Optional
The class name it extends, if any (resolved in the game that loads it).
maxLength: 64 bytesfields
unknown
Optional
Optional: the fields its entities carry, documented (name -> description), for authoring tools.
license
string
Optional
No description available.
maxLength: 128 bytesname
string
Required
A suggested name (games choose their own).
maxLength: 64 bytesscript
string
Required
Lua source returning the class table. It sees the standard libraries, spairs, path_at, update, copy_list, ent.is_a / lookup / kind / raw and (client) ui, sprites, motion; nothing else.
maxLength: 200000 bytesView raw schema
{
"description": "An entity class to share between games: a Lua script returning the class table (handlers, project, view, synced, ...), run sandboxed by the Cavu entity engine. A game lists it in its manifest under `classes` by the name it gives it (\"walker\": \"at://did/games.cavu.entityClass/rkey\"), and its own classes may extend it by that name.",
"key": "any",
"record": {
"properties": {
"createdAt": {
"format": "datetime",
"type": "string"
},
"description": {
"maxGraphemes": 300,
"maxLength": 3000,
"type": "string"
},
"extends": {
"description": "The class name it extends, if any (resolved in the game that loads it).",
"maxLength": 64,
"type": "string"
},
"fields": {
"description": "Optional: the fields its entities carry, documented (name -> description), for authoring tools.",
"type": "unknown"
},
"license": {
"maxLength": 128,
"type": "string"
},
"name": {
"description": "A suggested name (games choose their own).",
"maxLength": 64,
"type": "string"
},
"script": {
"description": "Lua source returning the class table. It sees the standard libraries, spairs, path_at, update, copy_list, ent.is_a / lookup / kind / raw and (client) ui, sprites, motion; nothing else.",
"maxLength": 200000,
"type": "string"
}
},
"required": [
"name",
"script",
"createdAt"
],
"type": "object"
},
"type": "record"
}