--- title: Shell de Editor Personalizado description: Construye tu propio shell de editor con provideEditor, CanvasRoot, menús, paneles y barras de herramientas. --- # Shell de Editor Personalizado Una app Vue típica de OpenPencil tiene tres capas: 1. `@open-pencil/core` crea el editor 2. `@open-pencil/vue` lo adapta en composables de Vue y primitivos headless 3. tu app renderiza el shell, los estilos y la UX del producto ## Por qué esto importa La app integrada de OpenPencil es solo un shell posible. Puedes construir uno muy diferente para un flujo de trabajo enfocado: un editor integrado dentro de otro producto, una herramienta interna de recursos, un editor de plantillas, una interfaz de anotaciones, o una superficie de edición asistida por IA con controles personalizados. Esa es la razón principal por la que existe el SDK. ## Composición recomendada Un shell práctico a menudo tiene esta estructura: - proveedor en lo alto con `provideEditor()` - canvas en el centro - navegación de páginas/capas en un lateral - propiedades en el otro lateral - menús y barras de herramientas impulsados por composables ## Ejemplo ```vue ``` ## Por qué esta división funciona - el SDK se encarga de la integración del editor y la lógica headless reutilizable - tu app se encarga del layout, los estilos y las acciones específicas del producto - los composables pueden impulsar menús y paneles sin componentes wrapper adicionales ## APIs relacionadas - [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)