Herramientas de diseño
Herramientas de diseño
El canvas como sistema de coordenadas
Antes de explorar las herramientas individuales, es importante entender cómo funciona el sistema de coordenadas de OpenPencil. El origen (0,0) está en la esquina superior izquierda del canvas. Las X crecen hacia la derecha y las Y crecen hacia abajo (convención estándar de pantalla, no matemática).
Todos los nodos tienen una posición absoluta en el canvas (X, Y globales) y una posición relativa a su padre (X, Y locales). El panel de propiedades muestra siempre las coordenadas locales relativas al padre. Para ver las coordenadas globales, mantén Alt mientras el nodo está seleccionado.
graph TD
A[Canvas infinito] --> B[Frame / Artboard]
B --> C[Grupo]
B --> D[Rectángulo]
B --> E[Texto]
C --> F[Elipse]
C --> G[Path personalizado]
B --> H[Componente]
H --> I[Instancia de componente]
Formas básicas
Rectángulo (R)
El rectángulo es la forma más usada en diseño de interfaces. En el panel de propiedades:
- Posición: X, Y (relativo al padre)
- Tamaño: W (ancho), H (alto)
- Ratio lock: Candado para mantener proporciones al redimensionar
- Radio de esquina: Un valor único para todas las esquinas, o valores independientes por esquina (click en el ícono de esquinas separadas)
- Fills: Sólido, gradiente lineal, gradiente radial, imagen, ninguno
- Strokes: Color, grosor, posición (inside/center/outside), tipo de línea (sólido, guiones, puntos)
- Efectos: Sombra (drop shadow, inner shadow), blur (gaussian, motion, background)
Para editar esquinas independientemente:
- Selecciona el rectángulo
- En el campo de radio de esquina, haz click en el ícono de “separar esquinas”
- Ajusta cada esquina individualmente (superior-izquierda, superior-derecha, inferior-derecha, inferior-izquierda)
Elipse (O)
La elipse funciona igual que el rectángulo pero genera una forma oval. Dos propiedades adicionales:
- Arc start/end: Para crear arcos o tortas (sectores circulares). Útil para gráficos de dona y progreso circular.
- Inner radius: Para crear anillos (donut shapes)
Ejemplo de uso: Un indicador de progreso circular se puede crear con una elipse con arc que va de 0° a 270° para representar 75% de progreso.
Línea (L)
La herramienta de línea crea paths de dos puntos. Propiedades adicionales:
- Strokecap: None, round, square, arrow, triangle
- Strokejoin: Miter, round, bevel
Para líneas perfectamente horizontales o verticales, mantén Shift mientras dibujas.
Polígono y estrella
En el menú de la herramienta de rectángulo (click sostenido) o en el panel de propiedades de un polígono:
- Lados: número de lados (3 para triángulo, 5 para pentágono, etc.)
- Para estrella: activa la opción “estrella” y ajusta el ratio interior/exterior
La herramienta Pen / Bezier (P)
La herramienta Pen es la más poderosa y la más compleja del canvas. Permite crear cualquier forma vectorial mediante paths de Bezier.
Conceptos fundamentales de Bezier
Una curva de Bezier tiene tres elementos:
- Anchor points (puntos de anclaje): Los vértices del path
- Handle points (manejadores): Controlan la curvatura en cada punto
- Segments: Las líneas o curvas entre anchor points
flowchart LR
A[Anchor Point] -->|Tangent Handle| B[Curve Segment]
B --> C[Anchor Point]
C -->|Tangent Handle| D[Next Segment]
Tipos de anchor points
- Corner point (punto esquina): Sin curvatura. Los handles son independientes.
- Smooth point (punto suave): Los handles están alineados, creando una curva suave.
- Symmetric point: Los handles están alineados y son del mismo tamaño.
Para alternar entre tipos al crear un punto: mantén Alt/Option mientras haces click.
Flujo de trabajo básico con Pen
1. Pulsa P para activar la herramienta
2. Click para crear el primer anchor point
3. Click en otro lugar para crear un segmento recto
4. Click y arrastra para crear un segmento curvo
5. Al arrastar, los handles de Bezier aparecen
6. Cierra el path haciendo click sobre el primer punto
7. O presiona Enter/Escape para dejar el path abierto
Editar paths existentes
Para editar un path que ya existe:
- Selecciónalo con
V - Presiona
Entero haz doble click para entrar al modo de edición de path - Aparecen los anchor points como cuadrados (corners) o círculos (smooth)
- Arrastra anchor points para mover
- Arrastra handles para ajustar curvaturas
- Click en un segmento para agregar un nuevo punto
- Selecciona un punto y presiona
Deletepara eliminarlo - Presiona
Escapepara salir del modo de edición
Herramienta de texto (T)
Tipos de texto
Texto en punto (text point): Click sin arrastrar. El contenedor se expande automáticamente con el texto. Útil para labels cortos.
Texto en área (text area): Click y arrastra para definir un contenedor de ancho fijo. El texto hace wrap automáticamente. Útil para párrafos y bloques de contenido.
Propiedades tipográficas
| Propiedad | Descripción |
|---|---|
| Fuente | Nombre de la familia tipográfica |
| Variante | Regular, Bold, Italic, etc. |
| Tamaño | En píxeles |
| Line height | Altura de línea (número o porcentaje) |
| Letter spacing | Espaciado entre letras en px o em |
| Paragraph spacing | Espacio entre párrafos |
| Alineación | Left, center, right, justify |
| Decoración | Underline, strikethrough |
| Caso | Uppercase, lowercase, capitalize |
Estilos de texto
Puedes crear estilos de texto reutilizables (equivalentes a los Text Styles de Figma):
- En el panel de propiedades del texto, click en el ícono de “Guardar como estilo”
- Asigna un nombre (ej: “Heading/H1”, “Body/Regular”)
- El estilo queda disponible en el panel de estilos y se puede aplicar a cualquier texto
Fuentes web y Google Fonts
OpenPencil incluye integración directa con Google Fonts y el repositorio de fuentes del sistema. Para agregar una fuente:
- En el selector de fuentes, escribe el nombre
- Las fuentes que no están instaladas localmente se muestran con un ícono de descarga
- Click en la fuente para descargarla y aplicarla
Para proyectos con fuentes personalizadas, puedes agregar archivos TTF/OTF/WOFF2 desde Preferencias → Fuentes → Agregar fuente local.
Auto-layout
Auto-layout es una de las características más importantes de OpenPencil. Permite crear layouts que se adaptan automáticamente al contenido, usando los mismos principios que CSS Flexbox y Grid.
Activar auto-layout
Selecciona un frame y en el panel de propiedades haz click en el ícono + junto a “Auto layout”. También puedes usar el atajo Shift + A.
Modo Flex (dirección)
- Horizontal: Los children se organizan en fila (equivalent a
flex-direction: row) - Vertical: Los children se organizan en columna (equivalent a
flex-direction: column) - Wrap: Los children hacen wrap cuando no caben (equivalent a
flex-wrap: wrap)
Espaciado y padding
- Gap: Espacio entre children (gap en Flexbox)
- Padding: Espacio interno del frame (padding en CSS). Puede ser uniforme o independiente por lado.
Alineación
La alineación principal (en la dirección del layout):
- Start: Al inicio (flex-start)
- Center: Al centro
- End: Al final (flex-end)
- Space between: Distribución con espacio entre (space-between)
- Space evenly: Distribución uniforme (space-evenly)
La alineación cruzada (perpendicular a la dirección):
- Start, Center, End: Equivalentes a
align-itemsen Flexbox - Baseline: Alinea los textos por su línea base
Comportamiento de children
Cada child de un auto-layout puede tener su propio comportamiento:
- Fixed: Tamaño fijo definido por W/H
- Hug: Se encoge al mínimo necesario (equivale a
width: fit-content) - Fill: Se expande para llenar el espacio disponible (equivale a
flex: 1)
Este es el equivalente directo a cómo funciona CSS Flexbox, lo que hace que la exportación a código sea casi directa.
Auto-layout Grid
Para layouts más complejos basados en cuadrícula:
- Activa el modo Grid en el panel de auto-layout
- Define columnas: número fijo, o auto (se adaptan)
- Define filas: número fijo, o auto
- Configura el gap entre filas y columnas independientemente
graph LR
subgraph Grid["Auto-layout Grid"]
A[Col 1] --- B[Col 2] --- C[Col 3]
D[Col 1] --- E[Col 2] --- F[Col 3]
G[Col 1] --- H[Col 2] --- I[Col 3]
end
Ejemplo práctico: Botón con auto-layout
1. Crea un frame
2. Activa auto-layout horizontal
3. Agrega un ícono SVG (16x16) dentro del frame
4. Agrega un texto "Enviar" junto al ícono
5. Configura: padding 12/20, gap 8
6. Alineación: center/center
7. El frame se ajusta automáticamente al contenido
8. Ahora si cambias el texto, el botón se re-dimensiona solo
Operaciones booleanas
Las operaciones booleanas permiten combinar dos o más formas para crear formas más complejas.
| Operación | Atajo | Resultado |
|---|---|---|
| Unión | Cmd+Alt+U | Combina las formas (OR) |
| Sustracción | Cmd+Alt+S | Resta la forma superior de la inferior |
| Intersección | Cmd+Alt+I | Solo el área en común (AND) |
| Exclusión | Cmd+Alt+X | Áreas no comunes (XOR) |
Ejemplo: Crear un ícono de chat
Para crear un bubble de chat (rectángulo con cola triangular):
- Crea un rectángulo redondeado (el bubble principal)
- Crea un triángulo pequeño (usando polígono de 3 lados)
- Posiciona el triángulo en la esquina inferior del rectángulo, superponiéndolo
- Selecciona ambas formas
- Aplica Unión (
Cmd+Alt+U) - Resultado: una forma compuesta que representa el bubble de chat
Las operaciones booleanas son no destructivas. El grupo booleano mantiene las formas originales como children. Puedes entrar al grupo con doble click y mover las formas originales para ajustar el resultado.
Flatten (aplanar)
Si quieres convertir el resultado booleano en un path único editable:
- Selecciona el grupo booleano
Cmd+Epara aplanar (Flatten)- El resultado es un path vectorial editable con la herramienta Pen
Imágenes
Insertar una imagen
Métodos para agregar imágenes al canvas:
- Arrastrar y soltar: Arrastra un archivo de imagen directamente al canvas
- Menú Insert: Insert → Image → selecciona archivo
- Pegar:
Cmd+Vsi tienes una imagen en el portapapeles - CLI:
op insert '{"type":"IMAGE","src":"./mi-foto.jpg"}'
Formatos soportados: PNG, JPG, GIF, WebP, SVG, AVIF.
Fill de imagen
Cualquier forma puede tener una imagen como fill (en lugar de un color sólido):
- En el panel de fills, haz click en el selector de tipo
- Selecciona “Image”
- Sube o selecciona la imagen
Modos de fit:
- Fill: Escala para llenar el área (puede recortar)
- Fit: Escala para que todo sea visible (puede dejar espacio vacío)
- Stretch: Deforma para llenar exactamente
- Tile: Repite en mosaico
Editar imagen (crop)
Con una imagen seleccionada, doble click para entrar al modo de crop. Ajusta el encuadre arrastrando.
Iconos con Iconify
OpenPencil tiene integración nativa con Iconify, que incluye más de 200,000 íconos de más de 150 colecciones (Material Icons, Heroicons, Phosphor, Lucide, Feather y muchas más).
Insertar un ícono
- Menú Insert → Icon (o atajo
Cmd+Shift+I) - Busca por nombre o colección
- Click para insertar como SVG vectorial
El ícono se inserta como un nodo SVG editable. Puedes:
- Cambiar el color en el panel de fills (los SVGs monochrome usan el color de fill)
- Redimensionar sin pérdida de calidad
- Editar los paths individuales con la herramienta Pen
Búsqueda contextual de iconos
OpenPencil puede sugerir iconos automáticamente basado en el contexto:
- Crea un texto que diga “Configuración”
- Selecciona el texto + un frame vacío
- Chat IA: “sugiere un ícono apropiado para este elemento”
- El agente buscará en Iconify y lo insertará automáticamente
Panel de propiedades completo
El panel derecho adapta su contenido según el tipo de nodo seleccionado:
flowchart TD
A[Nodo seleccionado] --> B{Tipo}
B -->|Frame| C[Layout + Auto-layout<br/>Fills + Strokes<br/>Efectos + Clip content]
B -->|Forma| D[Posición + Tamaño<br/>Fills + Strokes<br/>Efectos + Opacidad]
B -->|Texto| E[Tipografía<br/>Texto fills<br/>Alineación + Decoación]
B -->|Componente| F[Overrides<br/>Variables<br/>Variantes]
B -->|Imagen| G[Fill mode<br/>Crop<br/>Filtros]
Fills múltiples
Un nodo puede tener múltiples fills apilados. Los fills superiores se renderizan encima de los inferiores. Para efectos como overlay de color sobre una imagen:
- Agrega un fill de imagen
- Agrega un segundo fill de color sólido semi-transparente (por ejemplo negro al 40%)
- El resultado: imagen con un overlay oscuro
Esto es equivalente a background: linear-gradient(...), url(...) en CSS.
Efectos (shadows y blur)
Drop shadow: Sombra exterior. Parámetros: color, X offset, Y offset, blur, spread.
Inner shadow: Sombra interior (simula profundidad hacia adentro).
Gaussian blur: Desenfoque del nodo completo.
Motion blur: Desenfoque direccional (para crear sensación de movimiento).
Background blur: Desenfoca lo que hay detrás del nodo (efecto frosted glass). Requiere que el nodo tenga un fill semi-transparente.
Blend modes
El panel de opacidad también permite cambiar el blend mode del nodo, igual que en CSS mix-blend-mode:
Normal, Multiply, Screen, Overlay, Darken, Lighten, Color Dodge, Color Burn, Hard Light, Soft Light, Difference, Exclusion, Hue, Saturation, Color, Luminosity.
Grids y guías
Grids del frame
Con un frame seleccionado, en el panel de propiedades hay una sección “Layout grid”. Agrega:
- Grid: Una cuadrícula regular (n×n)
- Columnas: Columnas de ancho fijo o flexible con gutter
- Filas: Equivalente en dirección horizontal
Los grids son solo referencias visuales y no afectan el export. Son muy útiles para asegurar alineación consistente.
Guías
Arrastra desde la regla horizontal (para guías horizontales) o vertical (para guías verticales) al canvas. Las guías son globales al documento y se pueden bloquear o eliminar desde View → Manage guides.
Atajos de teclado esenciales
| Acción | Atajo |
|---|---|
| Agrupar | Cmd+G |
| Desagrupar | Cmd+Shift+G |
| Copiar | Cmd+C |
| Pegar en su lugar | Cmd+Shift+V |
| Duplicar | Cmd+D |
| Traer al frente | Cmd+] |
| Enviar atrás | Cmd+[ |
| Ocultar/mostrar | Cmd+Shift+H |
| Bloquear/desbloquear | Cmd+Shift+L |
| Flatten | Cmd+E |
| Booleana: Unión | Cmd+Alt+U |
| Booleana: Sustracción | Cmd+Alt+S |
| Booleana: Intersección | Cmd+Alt+I |
| Modo edición de path | Enter (con path seleccionado) |
Resumen
En este capítulo has aprendido:
- Todas las herramientas del canvas: rectángulo, elipse, línea, polígono
- La herramienta Pen/Bezier para formas personalizadas
- Texto: tipos, propiedades tipográficas y estilos
- Auto-layout (Flex y Grid) para layouts adaptativos
- Operaciones booleanas para formas complejas
- Manejo de imágenes e integración con Iconify
- Panel de propiedades con fills múltiples, efectos y blend modes
En el próximo capítulo profundizaremos en la IA integrada y el chat de OpenPencil.