Reference Version 1.0Updated 26 Sep 2026

Plugin development checklist

Use this checklist before distributing a Yrendr plugin ZIP.

Package and identity

  • plugin.json is valid JSON.
  • The package ID is stable and unique.
  • The configured entrypoint exists and defines register(api).
  • Registration returns quickly.
  • Effect and processor IDs are stable and unique inside the package.
  • The ZIP installs successfully through Plugin Manager, not only from a source checkout.

Parameters and UI

  • Parameter defaults are JSON-compatible.
  • Choice defaults exist in choices.
  • Presets and randomizers return valid declared keys and values.
  • Custom editors keep persisted state in declared parameters.
  • Custom editors return a parameter dictionary on apply and None on cancel.
  • PluginWindowOptions remain usable at minimum and maximum sizes.
  • Custom topbars preserve host-owned window control hitboxes.
  • Custom title-bar actions return rectangles and use ModalSession.titlebar_action_at() when needed.
  • Custom modal loops preserve the supplied window_key.

Processing correctness

  • Video output preserves the expected frame dimensions and channel shape.
  • Audio output remains finite and preserves the expected frame/channel shape.
  • Generators return the requested dimensions as supported surface/RGB/RGBA data.
  • bypass_when returns True only for exactly neutral states.
  • time_dependent_when accurately distinguishes static and animated states.
  • Expensive work is kept out of real-time hot paths where possible.

Timeline processors

  • Worker processing does not call Pygame UI code or mutate the live project.
  • Returned actions and outputs use supported dictionaries.
  • Output ref values are unique when actions reference generated outputs.
  • Editor-owned generated files are returned as outputs when they should appear in Project Viewer.
  • The processor behaves sensibly when no clip or track is selected.

Error handling

  • User-correctable failures raise clear, actionable exceptions.
  • Debug Log entries identify the failing subsystem or plugin feature.
  • External side effects are minimized before host validation succeeds.

Caution: Run this checklist against the Yrendr version you declare as supported. Stable IDs and persisted parameter keys are part of project compatibility.