Capabilities
mission.write is high risk; the operator sees a warning badge, because
mission changes drive autonomous flight paths.
Reading and writing missions
The GCS context exposesctx.mission. read takes a mission id and
returns the mission; write takes a single update object with the
mission id and the payload:
Contributing a mission template
A plugin that wants to offer the operator a new way to start a mission declares theui.slot.mission-template capability and adds a template
entry to the mission template picker. The plugin renders its own form in
its sandboxed UI, gathers the operator’s input, generates the waypoints,
and writes them back with ctx.mission.write. The waypoint geometry runs
in the plugin’s own code; the GCS provides the picker entry, the form
surface, and the validated write path.
Declare the capabilities in the manifest:
ui.slot.mission-template capability registers the template entry;
mission.write lets the plugin push the generated waypoints once the
operator confirms.
Geofence and rally points
Geofence and rally definitions ride the samectx.mission.write path
with their own mission id. The host enforces a fixed schema for fence and
rally items and rejects unknown kinds, so write the items the host
accepts and let it validate them before upload.
Testing
Exercise the mission read and write path against the in-memory harness from@altnautica/plugin-sdk/harness. The harness records every RPC the
plugin issues so you can assert on the calls without a live GCS: