gatos.schedule_batch
tool Scheduling
Create a typed timed command sequence on render, wall, or UT time.
- Use when
- Commands need absolute offsets, mixed phases, looping, catch-up, or lifecycle controls.
- Availability
- schedule_enabled plus each entry's action gates at execution time.
Input
| Field | Type | Requirement | Description |
|---|---|---|---|
entries | schedule_entry[] | Required | Entries shaped as {at_ms, command}; equal offsets preserve authored order. |
id | string | null | Optional · generated | Optional player id, reserved only after complete validation. |
group | string | null | Optional · null | Optional schedule group. |
clock | "render" | "wall" | "ut" | Optional · "wall" | Existing playback clock base. |
rate | number | Optional · 1 | Initial playback rate. |
loop | boolean | Optional · false | Loop when the duration is reached. |
Call example
gatos.schedule_batch({"id":"launch-seq","group":"launch","clock":"wall","entries":[{"at_ms":0,"command":{"action":"vessel.throttle","vessel_id":"Hunter","value":1}},{"at_ms":1200,"command":{"action":"vessel.ignite","vessel_id":"Hunter","value":1}}]})Result
Assigned id, entry count, clock, rate, and loop state immediately after submission.
Errors
- EOPNOTSUPP when schedules are disabled; EINVAL for clock, id/group, rate, offsets, actions, or shared entry/byte/live limits.
Operational notes
- Mixed Frame/Solver phases are allowed because entries execute at their own times.
- Catch-up preserves triggers and coalesces state controls by canonical action/vessel/ordinal key.
- Offsets and player positions are milliseconds.