Tool tree
3D blocking and camera previsualization in the browser.
Implementation
gradeNot graded
gradeNot graded
read_stateAnswer
Read the complete current Previz project JSON and its revision. This excludes view/session state such as the current frame, selection, camera view, and playback.
View tool JSON
{
"name": "read_state",
"kind": "answer",
"impl": "imperative",
"description": "Read the complete current Previz project JSON and its revision. This excludes view/session state such as the current frame, selection, camera view, and playback.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/previz"
}write_stateAction
Replace the complete Previz project JSON, immediately update the visible GUI, create one undo snapshot, and autosave the browser draft. This does not save a JSON file. Pass the revision returned by read_state to avoid overwriting newer user edits.
View tool JSON
{
"name": "write_state",
"kind": "act",
"impl": "imperative",
"description": "Replace the complete Previz project JSON, immediately update the visible GUI, create one undo snapshot, and autosave the browser draft. This does not save a JSON file. Pass the revision returned by read_state to avoid overwriting newer user edits.",
"inputSchema": {
"type": "object",
"required": [
"expectedRevision",
"state"
],
"properties": {
"expectedRevision": {
"type": "integer",
"minimum": 0,
"description": "Revision returned by the most recent read_state call."
},
"state": {
"type": "object",
"required": [
"version",
"name",
"duration",
"fps",
"characters",
"cameras",
"annotations"
],
"properties": {
"version": {
"type": "integer",
"description": "Project format version; currently 3."
},
"name": {
"type": "string"
},
"duration": {
"type": "number",
"description": "Timeline duration in seconds; normalized to 30."
},
"fps": {
"type": "number",
"description": "Frames per second; normalized to 24."
},
"characters": {
"type": "array",
"maxItems": 200,
"items": {
"type": "object",
"required": [
"id",
"name",
"keys"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"color": {
"type": "string"
},
"hidden": {
"type": "boolean"
},
"keys": {
"type": "array",
"maxItems": 5000,
"items": {
"type": "object",
"required": [
"f",
"p"
],
"properties": {
"f": {
"type": "number"
},
"p": {
"type": "array",
"minItems": 3,
"maxItems": 3,
"items": {
"type": "number"
}
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}
},
"cameras": {
"type": "array",
"maxItems": 200,
"items": {
"type": "object",
"required": [
"id",
"name",
"keys"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"hidden": {
"type": "boolean"
},
"keys": {
"type": "array",
"maxItems": 5000,
"items": {
"type": "object",
"required": [
"f",
"p",
"r"
],
"properties": {
"f": {
"type": "number"
},
"p": {
"type": "array",
"minItems": 3,
"maxItems": 3,
"items": {
"type": "number"
}
},
"r": {
"type": "array",
"minItems": 3,
"maxItems": 3,
"items": {
"type": "number"
}
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}
},
"annotations": {
"type": "array",
"maxItems": 5000,
"items": {
"type": "object",
"required": [
"id",
"f",
"name",
"color"
],
"properties": {
"id": {
"type": "string"
},
"f": {
"type": "number"
},
"name": {
"type": "string"
},
"color": {
"type": "string"
},
"world": {
"type": "array",
"minItems": 3,
"maxItems": 3,
"items": {
"type": "number"
}
},
"views": {
"type": "object",
"additionalProperties": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
}
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"page": "/previz"
}