Skip to content

Plugins

Every operation in Sealpixel is a plugin: a schema, a reducer and a kernel. The first-party set:

PluginOpsStage
finetunefinetune.set, finetune.resetcolor 100
filterfilter.setcolor 110 (merged with finetune)
redactredact.add/update/remove/clearredact 200
annotateannotate.add/update/remove/reorder/clearannotate 300
cropcrop.set, crop.resetcrop 400
fillfill.setcrop 410 (merged)
sticker¹sticker.add/update/remove/clearsticker 500
frameframe.set, frame.clearframe 600
watermark¹watermark.set, watermark.clearwatermark 700
resizeresize.set, resize.clearresize 800

¹ Published and supported, but not in defaultPlugins: a plain editor starts without them. Pass them to switch them on, on the client and on the server alike, and the default UI supplies the matching tool:

ts
import { defaultPlugins, stickerPlugin, watermarkPlugin } from '@sealpixel/plugins';

editor.plugins = [...defaultPlugins, stickerPlugin, watermarkPlugin];

allPlugins is the whole first-party set in one array, for a host that wants all of them.

See the operations reference for every field, generated from the zod schemas, and Writing a plugin to add your own.

Regions, shapes and stickers are selected by tapping them on the stage. A trash handle floats above the selection and deletes it; the panels keep only the settings of the selected element, so the image keeps the room. Strengths are configuration rather than controls: a new redaction uses redact.defaultAmount, a preset blends with filter.defaultStrength (set filter.strength: true to show a slider anyway), a watermark uses watermark.defaults.opacity and a frame frame.defaults.thickness.