Overview
The plugin framework lets you add tools, panels, and data sources to the CDT app without modifying any core files. Plugins register their contributions into a central registry at startup; the toolbar, sidebar, and viewer read from that registry at render time. Core app code never changes — only the registry does.
Phase 1 scope
Plugins are bundled with the app at build time by listing them in installed.ts. Runtime dynamic loading (adding plugins without rebuilding) is not supported in this version.
In this section
- Create your first plugin — five-step walkthrough
- PluginContext API —
pluginId,config,register - All 11 capabilities — full capability table
- Error handling & safety — isolation, guards, cleanup
- Real example: daynight-cycle — annotated canonical plugin