plan_shot
Compile a shot and report what it would do, without moving the camera.
Instructions
Compile a shot and report what it would do, without moving the camera.
Takes exactly the step list run_shot takes: each step is an object like
{"axis": "pan", "to": 60, "seconds": 2.5, "ease": "in_out"}, optionally with
{"hold": 1.0} to pause after it. Every step is validated against the camera's advertised
ranges and clamped exactly as it would be at execution time, so an impossible or
out-of-range shot is refused here, before anything moves.
Use this to compose a shot. It returns the per-step schedule (where each axis starts, the value it was clamped to, how far it travels, how many ticks it costs), the per-axis envelope, the total duration, and the axes with their ranges so the next attempt can be written against the real limits. Nothing is written to the camera and no frame is captured, so it is safe to call as often as you like while deciding.
The from values come from the device's own position report, which this server treats as a
hint rather than a fact. run_shot recompiles from the same hint when it runs, so a plan
and its execution agree unless the camera moved in between.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| steps | Yes |