Synchronize components from decoupled apps into headless Canvas
To allow Canvas to operate in a headless setup (where Drupal provides the administration interface and APIs while a decoupled application renders the site), we need a way to make the components implemented by the decoupled application available inside Canvas so they can be used to create pages. Drupal needs their metadata for editing, validation, and placement, but the rendering should be handled by the decoupled application.
Canvas currently cannot discover these components or keep their definitions synchronized with the decoupled application.
### Proposed resolution
Reuse the Code Component component source and introduce an option to mark Code Components as external. External components contain metadata but no Drupal-managed JavaScript or CSS assets.
Automatically synchronize external components from a configured endpoint on the headless Canvas preview loads. Create or update external Code Components from the returned definitions, and skip definitions that have not changed.
Allow manual synchronization using the Canvas CLI.
### User interface changes
External components appear in the Canvas component library but not in the in-browser code editor.
issue