{
"id": "net.anisota.lab.carving",
"defs": {
"main": {
"key": "any",
"type": "record",
"record": {
"type": "object",
"required": [
"name",
"strokes",
"inkColor",
"paperColor",
"createdAt"
],
"properties": {
"name": {
"type": "string",
"maxLength": 800,
"description": "Display name for the carving",
"maxGraphemes": 100
},
"image": {
"type": "string",
"maxLength": 200000,
"description": "A PNG data URL thumbnail of the printed result"
},
"mirror": {
"type": "boolean",
"description": "Whether vertical mirror/symmetry was active while carving"
},
"strokes": {
"type": "array",
"items": {
"type": "unknown"
},
"maxLength": 4096,
"description": "The gouge paths. Each is an object: { tool, width, points (x and y interleaved, scaled 0..1000), erase }."
},
"inkColor": {
"type": "string",
"maxLength": 64,
"description": "The ink colour the block prints in"
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "When the carving was saved"
},
"paperColor": {
"type": "string",
"maxLength": 64,
"description": "The paper colour the print sits on"
}
}
},
"description": "A relief woodblock carving made in the Anisota Lab's Carving studio and saved to the owner's library. Each record stores the gouge paths that carved the block (a compact serialization so the carving can be reopened and edited), the chosen ink and paper colours, whether vertical mirror/symmetry was on, and an optional printed-result PNG thumbnail for display and re-export."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}