---
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)