--- title: Shell Editor Personalizzata description: Crea la tua shell editor con provideEditor, CanvasRoot, menu, pannelli e toolbar. --- # Shell Editor Personalizzata Una tipica app Vue con OpenPencil ha tre livelli: 1. `@open-pencil/core` crea l'editor 2. `@open-pencil/vue` lo adatta in composable Vue e primitive headless 3. la tua app renderizza la shell, lo stile e la UX specifica del prodotto ## Perché questo è importante L'app OpenPencil integrata è solo una possibile shell. Puoi costruirne una molto diversa per un flusso di lavoro specifico: un editor integrato in un altro prodotto, uno strumento asset interno, un editor di template, una UI per annotazioni, o una superficie di editing assistita dall'IA con controlli personalizzati. Questo è il motivo principale per cui esiste l'SDK. ## Composizione consigliata Una shell pratica spesso ha questa forma: - provider in cima con `provideEditor()` - canvas al centro - navigazione pagine/layer su un lato - proprietà sull'altro lato - menu e toolbar guidati da composable ## Esempio ```vue ``` ## Perché questa separazione funziona - l'SDK possiede l'integrazione con l'editor e la logica headless riutilizzabile - la tua app possiede layout, stile e azioni specifiche del prodotto - i composable possono alimentare menu e pannelli senza componenti wrapper aggiuntivi ## API correlate - [provideEditor](../api/composables/provide-editor) - [useCanvas](../api/composables/use-canvas) - [ToolbarRoot](../api/components/toolbar-root) - [PageListRoot](../api/components/page-list-root) - [LayerTreeRoot](../api/components/layer-tree-root)