Types of Plugins
A type describes what a plugin does. A subtype describes its input/output mode. A package can implement more than one type, and one type can have adapters for several models or backends.
Each type page lists implemented and planned subtypes separately. The package index gives installation steps; individual guides explain the permanent milestone 6-9 controls, requirements and remaining limitations. Older app builds may not have these controls. Installing a package does not supply a missing application feature.
Keep the catalog complete
Section titled “Keep the catalog complete”For every new package, create its guide, or its platform page where it owns a platform, register all of its types in src/data/plugin-types.json, link this index to any new type page, and add links in both directions between the type page and package guide (a plug-in that owns a platform is documented on its platform page, under List of plugins → Platforms). A new JSON document contract gets a distinct type when implemented; a second model for an existing contract usually does not.
The plugin-types documentation test checks every fo-* guide and platform page, each registered type and all package/type links. Plugin authors must also compare the shipping inventory in filmopen-plugins with this catalog when adding a package. Generated specification snapshots are not edited for this workflow.