Tool tree
gradeNot graded
inspect_stageAnswer
Read the exact current StagePair state: performer, camera, table, door, creative locks, and revision. Always call this immediately before setting a camera, then pass its revision as basedOnRevision so a human edit cannot be overwritten by a stale agent move.
View tool JSON
{
"name": "inspect_stage",
"kind": "answer",
"impl": "imperative",
"description": "Read the exact current StagePair state: performer, camera, table, door, creative locks, and revision. Always call this immediately before setting a camera, then pass its revision as basedOnRevision so a human edit cannot be overwritten by a stale agent move.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}inspect_cameraAnswer
Read the current camera position, field of view, performer target, and a deterministic framing check against the current live stage.
View tool JSON
{
"name": "inspect_camera",
"kind": "answer",
"impl": "imperative",
"description": "Read the current camera position, field of view, performer target, and a deterministic framing check against the current live stage.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}evaluate_cameraAnswer
Evaluate a candidate camera position against the current performer, table, and door without mutating the stage. Useful before choosing a new shot.
View tool JSON
{
"name": "evaluate_camera",
"kind": "answer",
"impl": "imperative",
"description": "Evaluate a candidate camera position against the current performer, table, and door without mutating the stage. Useful before choosing a new shot.",
"inputSchema": {
"type": "object",
"properties": {
"x": {
"type": "number",
"description": "Camera X position in stage meters, from -7.2 to 7.2."
},
"z": {
"type": "number",
"description": "Camera Z position in stage meters, from -7.2 to 7.2."
},
"fov": {
"type": "number",
"description": "Vertical field of view in degrees, from 28 to 68."
}
},
"required": [
"x",
"z"
],
"additionalProperties": false
}
}set_cameraAction
Move only the camera in the live StagePair scene. basedOnRevision must equal the current stage revision returned by inspect_stage. If the human has edited the stage since inspection, the move is rejected as stale so the agent must inspect again. This tool never moves the performer, prop, or performance, and it rejects changes while the camera is human-locked.
View tool JSON
{
"name": "set_camera",
"kind": "act",
"impl": "imperative",
"description": "Move only the camera in the live StagePair scene. basedOnRevision must equal the current stage revision returned by inspect_stage. If the human has edited the stage since inspection, the move is rejected as stale so the agent must inspect again. This tool never moves the performer, prop, or performance, and it rejects changes while the camera is human-locked.",
"inputSchema": {
"type": "object",
"properties": {
"x": {
"type": "number",
"description": "Camera X position in stage meters, from -7.2 to 7.2."
},
"z": {
"type": "number",
"description": "Camera Z position in stage meters, from -7.2 to 7.2."
},
"fov": {
"type": "number",
"description": "Vertical field of view in degrees, from 28 to 68."
},
"basedOnRevision": {
"type": "integer",
"minimum": 1,
"description": "Exact stage revision returned by the latest inspect_stage call."
}
},
"required": [
"x",
"z",
"basedOnRevision"
],
"additionalProperties": false
}
}capture_takeAction
Capture the current StagePair viewfinder as a contact-sheet still, preserving the exact current stage revision and camera state.
View tool JSON
{
"name": "capture_take",
"kind": "act",
"impl": "imperative",
"description": "Capture the current StagePair viewfinder as a contact-sheet still, preserving the exact current stage revision and camera state.",
"inputSchema": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "A short optional take label."
}
},
"additionalProperties": false
}
}