# Redimensionar, recortar y efectos

Redimensiona, recorta, rota y voltea todo el sprite, aplica efectos y ajustes de color, y retrocede por el historial de deshacer.

_Los atajos están escritos para Windows y Linux. En un Mac, usa ⌘ Cmd donde dice Ctrl y ⌥ Option donde dice Alt._

El menú **Sprite** cambia el sprite como un todo: su tamaño, su lienzo, su orientación. Los efectos y
ajustes del menú **Filtro** recolorean y filtran los píxeles de una celda o de muchas. Cada
uno es un único paso de deshacer.

## Tamaño del sprite y tamaño del lienzo

- Sprite > Tamaño del sprite... (`Ctrl+Alt+I`) **escala** el sprite a un nuevo **Ancho** y
  **Alto** (de 1 a 4096 píxeles). Cada celda se redimensiona con escalado por vecino más cercano, así que los píxeles siguen
  nítidos y no aparecen colores nuevos; los slices, los tilesets y la selección se escalan con él. El ancho y el
  alto son independientes: calcula tú el otro lado para mantener las proporciones.
- Sprite > Tamaño del lienzo... (`Alt+C`) cambia el tamaño del **lienzo** sin
  escalar el arte. Elige un **Anclaje** en la cuadrícula de 3×3: dónde queda el arte existente en el nuevo
  lienzo (el centro lo mantiene centrado; la esquina superior izquierda hace crecer o encoger el lienzo hacia
  la derecha y hacia abajo). Con el anclaje central, una diferencia impar pone la columna extra a la derecha
  y la fila extra arriba, de modo que al reducirlo de nuevo se deshace exactamente. El arte que queda fuera de un
  lienzo más pequeño no se pierde: se conserva más allá del borde, fuera de la vista, y vuelve si el lienzo
  crece otra vez (como en Aseprite). La capa de fondo se recorta al lienzo, y se rellena con el
  color de fondo cuando crece.

## Recortar a la selección y recortar sprite

- Sprite > Recortar a la selección hace que el lienzo sea el rectángulo delimitador de la selección. Necesita una selección
  ([Seleccionar y transformar](https://pxstud.io/es/docs/manual/guides/selection.md)). Una selección que sobrepasa el lienzo lo hace crecer
  por ese lado.
- Sprite > Recortar reduce el lienzo al rectángulo más pequeño que contiene lo dibujado,
  en todos los fotogramas. Mira el sprite tal como se muestra: las capas ocultas no cuentan, y un color
  de borde sólido (como un fondo opaco) se recorta igual que la transparencia. Cuando dos bordes opuestos
  son sólidos con colores distintos, o no hay nada dibujado, el sprite se deja como está.

Igual que Tamaño del lienzo, tanto Recortar a la selección como Recortar sprite conservan el arte fuera del nuevo lienzo en lugar de eliminarlo.

## Rotar y voltear el lienzo

Sprite > Girar 90° a la derecha y Sprite > Girar 90° a la izquierda giran todo el sprite un cuarto de vuelta (el ancho
y el alto se intercambian), y Sprite > Voltear lienzo horizontalmente y Sprite > Voltear lienzo verticalmente lo reflejan. Actúan
sobre todas las capas y fotogramas, incluidas las capas bloqueadas, y arrastran consigo los slices y la selección.
El arte que sobrepasa el borde del lienzo gira y se refleja con el resto, así que al volver a girar se restaura.

Para girar o voltear solo la selección o una celda, usa **Edición > Transformar** o los volteos del menú Capa
(consulta [Seleccionar y transformar](https://pxstud.io/es/docs/manual/guides/selection.md#moving-and-transforming)).

## Propiedades del sprite y proporción de píxel

Archivo > Renombrar sprite... muestra el nombre y el tamaño del sprite y su número de capas y fotogramas, y
tiene:

- **Modo de color**: RGB, Escala de grises o Indexado ([Color y paletas](https://pxstud.io/es/docs/manual/guides/color.md#color-modes));
- **Color transparente**, el índice de la paleta que representa la transparencia (sprites indexados);
- **Proporción de píxel**: 1:1, 2:1, 1:2 o **Personalizada** (cada lado de 1 a 255);
- **datos de usuario**: un color, una nota y propiedades personalizadas para el sprite ([más abajo](https://pxstud.io/es/docs/manual/guides/document.md#user-data-and-custom-properties)).

No cambia nada hasta que eliges **Guardar**, que aplica todo a la vez; un paso de deshacer
revierte juntos el modo de color, el color transparente, la proporción de píxel y los datos de usuario. **Cancelar** deja el
sprite como estaba.

La **proporción de píxel** hace que los píxeles no sean cuadrados, como los mostraban algunas consolas y computadoras antiguas: a
2:1 cada píxel es el doble de ancho que de alto. El lienzo muestra el sprite estirado; los píxeles
en sí no cambian. Las exportaciones siguen teniendo un píxel de archivo por píxel de sprite a menos que actives **Aplicar
proporción de píxel** en el cuadro de diálogo Exportar ([Abrir, importar y exportar](https://pxstud.io/es/docs/manual/guides/import-export.md#export)).
También puedes fijar la proporción de píxel al crear un sprite.

## Datos de usuario y propiedades personalizadas

Todo lo que se puede anotar tiene una sección **Datos de usuario** en su cuadro de diálogo de propiedades: el sprite,
una capa o grupo, una celda, una etiqueta, un slice y un tileset (**Propiedades del tileset**). Contiene un
**color** (no en las etiquetas, que tienen el suyo), una **nota** y **propiedades personalizadas**: valores con nombre
que un juego o una herramienta lee de los datos exportados. Los slices exportan los suyos en el JSON de la hoja de sprites,
y los archivos `.aseprite` conservan todos, así que vuelven al reabrir el archivo.

Las propiedades se agrupan por **espacio de nombres**. **Tuyas** es la lista simple; **Añadir espacio de nombres de extensión**
crea una lista que pertenece a una extensión con nombre, como hacen las extensiones de Aseprite. En cada lista:

- **Añadir propiedad** añade una fila con un nombre, un tipo y un valor; **Añadir elemento** hace lo mismo dentro de un
  vector. Las flechas mueven una fila hacia arriba o hacia abajo y la papelera la quita.
- Elige el **tipo** de un valor: Boolean, Null, String, UUID, un número entero de un tamaño dado
  (Int8 a UInt64), Fixed, Float o Double, Point (X, Y), Size (W, H), Rect (X, Y, W, H), o un
  **Vector** (una lista) o **Map** (propiedades con nombre) que contiene más filas. Cambiar el tipo de una fila
  conserva su valor donde el nuevo tipo lo permite.
- Un valor que no encaja con su tipo (un UInt8 de 300, un UUID con la forma incorrecta, un nombre repetido)
  se marca en su fila, y **Guardar** espera a que se corrija. Los números enteros se comprueban contra el
  rango de su tipo.

**Editar como JSON** muestra las mismas propiedades como texto, para copiar y pegar. Todo excepto
texto, verdadero/falso y números simples se escribe como `{ "$type": "uint8", "value": 7 }`; los scripts usan
la misma forma con `app.setUserData`. Para volver a las filas, el JSON tiene que ser válido.

## Duplicar un sprite

Sprite > Duplicar sprite copia el sprite, con todas sus capas, fotogramas y slices, en un nuevo
sprite llamado "_nombre_ copy" en el mismo proyecto.

## Efectos y ajustes

El menú Filtro tiene los mismos filtros que el menú Edición de Aseprite (Brillo/Contraste,
Tono/Saturación y Curva de color calculan sus colores a su manera; consulta cada uno más abajo):

- **Tono y color:** Filtro > Brillo/Contraste..., Filtro > Tono/Saturación...,
  Filtro > Curva de color..., Filtro > Niveles..., Filtro > Umbral..., Filtro > Mapa de degradado... y
  Filtro > Balance de color...;
- **Reemplazar y reducir colores:** Filtro > Invertir color... (`Ctrl+I`),
  Filtro > Reemplazar color..., Filtro > Posterizar... y Filtro > Reducir colores...;
- **Formas:** Filtro > Contorno..., Filtro > Sombra proyectada..., Filtro > Antialias... y
  Filtro > Sombreado automático...;
- **Filtros de vecindad:** Filtro > Eliminar motas... y Filtro > Matriz de convolución....

Cada uno abre un cuadro de diálogo. Mientras está abierto, el lienzo muestra una **vista previa en vivo** de la celda activa; desactiva
**Vista previa** para comparar. **Aceptar** aplica el efecto como un único paso de deshacer, **Cancelar** deja el
sprite como estaba.

**Qué cambian.** Con una selección, un efecto solo cambia los píxeles que hay dentro; sin ella,
cambia toda la celda. El cuadro de diálogo indica cuál. **Aplicar a** elige las celdas:

| Aplicar a | Celdas |
| - | - |
| **Celda activa** | La celda en la que estás (la opción predeterminada, cuando su capa se puede editar). |
| **Celdas seleccionadas en la línea de tiempo** | Las celdas seleccionadas en la línea de tiempo. |
| **Todos los fotogramas de esta capa** | La celda de la capa activa en cada fotograma. |
| **Todas las capas de este fotograma** | La celda de cada capa en el fotograma actual. |
| **Todo** | Todas las celdas del sprite. |

Los efectos funcionan en capas de imagen. Brillo/Contraste, Tono/Saturación, Curva de color, Invertir
color, Reemplazar color y Posterizar también funcionan en capas de tilemap: editan los tiles que la celda
coloca, así que cambian todas las colocaciones de esos tiles. Las tres últimas opciones omiten las capas
bloqueadas u ocultas, y las capas que el efecto no admite, y te dicen cuántas celdas dejaron fuera. Los
elementos de menú solo aparecen atenuados cuando ninguna capa admite el efecto. Cuando la capa activa no admite
el efecto (está bloqueada, oculta, es un grupo, o un tilemap para los demás efectos), el cuadro de diálogo
empieza en **Todo**.

En la capa de fondo los efectos nunca cambian el alfa, porque no tiene transparencia: las opciones de alfa
se ignoran ahí, y Reemplazar color cambia solo el color.

### Sprites indexados

En un sprite indexado, los ajustes de color (todo excepto Eliminar motas, Matriz de convolución,
Reducir colores, Sombra paralela, Antialias y Sombreado automático, que siempre reasignan) tienen una opción **Indexado**:

- **Reasignar al más cercano** (la predeterminada) cambia los píxeles y luego ajusta cada uno a su color
  más cercano de la paleta. La paleta se queda como está.
- **Modificar paleta** cambia las entradas de la paleta que usan las celdas elegidas, en lugar de los píxeles. Cada
  píxel que usa esas entradas cambia, en cualquier celda, y la selección se ignora. En un sprite
  cuya paleta cambia con el tiempo, se edita la paleta propia de cada fotograma.

## Los efectos

### Contorno

Dibuja un contorno alrededor de las formas, bordeándolas contra los píxeles transparentes.

![El cuadro de diálogo Contorno: un color, Ubicación en Exterior, Aplicar a en Celda activa, una matriz de 3 por 3 con los cuatro vecinos laterales activados, preajustes Círculo y Cuadrado, y las casillas Tratar también un color como fondo y Vista previa](https://pxstud.io/manual/images/guides/document-outline.light.webp)

_El cuadro de diálogo Contorno_

- **Color:** el color del contorno; empieza siendo el color de primer plano. En un sprite indexado, elige una
  entrada de la paleta.
- **Ubicación:** **Exterior** pinta los píxeles transparentes que tocan la forma, así que la forma crece;
  **Interior** repinta los píxeles del borde de la propia forma, así que conserva su tamaño. El borde del lienzo no
  cuenta como transparente, así que una forma que se sale del lienzo no se contornea por ese lado.
- **Matriz:** cuáles de los ocho vecinos cuentan como contiguos. **Círculo** usa los cuatro
  de arriba, abajo y los lados (sin esquinas); **Cuadrado** usa los ocho. Haz clic en una celda para cambiarla.
- **Tratar también un color como fondo:** un **Color de fondo** que cuenta como vacío, igual que la transparencia,
  para contornear arte dibujado sobre un color sólido.

### Posterizar

**Niveles** (de 2 a 32, 4 por omisión): cuántos pasos conserva cada canal de color. Menos niveles dan un color
más plano y marcado.

### Eliminar motas

Quita píxeles sueltos aislados con un filtro de mediana: cada píxel toma el valor central de los píxeles
que lo rodean. **Ventana** fija el área, de 1 × 1 a 9 × 9 (3 × 3 por omisión); las ventanas más grandes suavizan
más.

### Matriz de convolución

Aplica un filtro de núcleo sobre los píxeles.

- **Preajuste:** Identidad, Desenfoque gaussiano 3x3 (el predeterminado, igual que el Blur 3x3 de Aseprite), Desenfoque de caja
  3x3, Desenfoque gaussiano 5x5, Desenfoque de caja 5x5, Enfocar, Detección de bordes, Relieve, Sobel horizontal y Sobel
  vertical. Un desenfoque gaussiano da más peso a los píxeles centrales, así que es más suave que un desenfoque de caja, que
  pesa todos los píxeles por igual. Editar un peso lo convierte en **Personalizado**.
- **Tamaño:** de 1 × 1 a 9 × 9, y la cuadrícula de pesos que se puede editar.
- **Divisor:** entre qué se divide la suma ponderada; **Auto (suma del núcleo)** lo calcula.
- **Sesgo:** se suma a cada resultado (de -255 a 255).
- **Rojo**, **Verde**, **Azul**, **Alfa:** qué canales cambia (el alfa viene desactivado).
- **Bordes:** en el borde de la celda, **Fijados** repite los píxeles del borde, **En mosaico** da la vuelta hacia
  el otro lado.

### Reducir colores

Asigna el arte a unos pocos colores, opcionalmente con tramado, sin cambiar el modo de color: una forma rápida
de dar una paleta limitada a arte pintado o importado, o de previsualizar cómo se vería en color
indexado. Se conserva la transparencia.

- **Colores:** **Generar a partir de las celdas** elige los mejores **Colores** (de 2 a 256) de todas las celdas
  que cubre **Aplicar a**, mostrados como muestras; **La paleta del sprite** usa la paleta en su lugar (sin su
  entrada transparente).
- **Tramado** y **Cantidad:** las mismas opciones que al convertir a indexado
  ([Modos de color](https://pxstud.io/es/docs/manual/guides/color.md#color-modes)). Elige un patrón ordenado para animación.

### Brillo/Contraste

**Brillo** y **Contraste**, cada uno de -100 a 100. El brillo suma la misma cantidad a cada
canal (a 100, 255 niveles: el negro se vuelve blanco), y luego el contraste aleja los canales
del gris medio o los acerca a él (a -100 todo es gris medio, a 100 casi todos los canales son
0 o 255). La versión de Aseprite es distinta: escala el brillo, así que el negro sigue siendo negro.

### Tono/Saturación

- **Modo:** **HSV**, **HSL** u **OKLCH**. En HSV el tercer control deslizante es **Valor**, que mueve el
  canal más brillante hacia el máximo o el cero; en HSL y OKLCH es **Luminosidad**, que se mueve hacia
  el blanco o el negro.
- **OKLCH** es perceptual: al girar el tono se conserva la luminosidad percibida de cada color, así que los amarillos
  no se vuelven más brillantes ni los azules más oscuros como ocurre en HSV o HSL, y **Saturación** escala
  el croma. Un color empujado más allá de lo que la pantalla puede mostrar pierde saturación en lugar de cambiar de tono
  o de luminosidad. Úsalo para recolorear un sprite entero manteniendo legible su sombreado.
- **Tono** (de -180 a 180), **Saturación**, **Valor** o **Luminosidad**, y **Alfa** (cada uno de -100 a
  100\). Los valores positivos de Luminosidad, Valor y Alfa mueven esa parte del camino restante hasta el máximo: +50 lleva el
  negro a gris medio y los píxeles semitransparentes a tres cuartos de opacidad. Los negativos reducen la escala, así que
  -100 llega a negro o transparente. El de Aseprite multiplica en su lugar, así que ahí el negro sigue siendo negro.

### Niveles

Fija dónde quedan el negro, el blanco y los tonos medios, por canal: **Negro de entrada** y **Blanco de entrada**
(de 0 a 255) son los valores que pasan a ser el más oscuro y el más claro; **Tonos medios** (gamma, de 0,10 a 5)
aclara (por encima de 1) u oscurece (por debajo de 1) lo que hay entre medias; **Negro de salida** y **Blanco de salida** limitan
el rango que puede usar el resultado, y un blanco de salida por debajo del negro invierte el canal. Elige **RGB**
para cambiar los tres canales a la vez, o **Rojo**, **Verde** o **Azul** para cambiar uno después
(no en sprites en escala de grises, que tienen un solo canal gris).

### Umbral

Convierte cada píxel en uno de dos colores según su brillo: **Nivel** (de 0 a 255) es el brillo que necesita un
píxel para tomar el color **Igual o por encima** en lugar del color **Por debajo** (negro y blanco por
omisión). El brillo es la misma luma que usa Aseprite para la escala de grises. Los píxeles conservan su propio alfa.

### Mapa de degradado

Recolorea el arte según el brillo a través de un degradado: los píxeles más oscuros toman el color del primer punto,
los más claros el del último, y el resto lo que hay entre medias. Añade puntos, fija su **Posición** y
color, y elige el espacio en el que se **Mezclan**: **RGB**, **OKLab** (pasos de aspecto uniforme, el predeterminado)
u **OKLCH**. **Invertir** recorre el degradado de claro a oscuro. Los píxeles conservan su propio alfa.

### Balance de color

Desplaza el color de un rango tonal: elige **Sombras**, **Tonos medios** o **Luces** y mueve los controles
**Cian - Rojo**, **Magenta - Verde** y **Amarillo - Azul** (de -100 a 100). Cada píxel se
desplaza según lo oscuro o claro que sea, de modo que las sombras se funden con los tonos medios y los tonos medios con las luces.
**Conservar luminosidad** (activado por omisión) restituye la luminosidad que cambió el desplazamiento, para que solo se mueva
el color. En sprites en escala de grises hay un único control de **Luminosidad**.

### Sombra paralela

Escribe una sombra en las celdas. **Estilo** puede ser **Sombra paralela** (desplazamiento **Horizontal** y **Vertical**, hasta
10 píxeles en cada sentido), **Resplandor** (sin desplazamiento) o **Sombra interior** (sobre el arte, a lo largo del borde
opuesto al desplazamiento). **Expansión** la hace crecer hasta 10 píxeles, con forma **Redonda**, **Cuadrada** o
de **Rombo**, y la **Opacidad** del color determina con qué intensidad se ve. **Suavidad** (hasta 8
píxeles) difumina su borde; en 0 el borde es duro. **Bordes** indica cómo se dibuja un borde suave:
**Tramados** (el valor por defecto: un patrón de tramado del único color de la sombra que no se mueve
cuando se mueve el arte), **Nítidos** (cortado a media intensidad) o **Suaves** (píxeles
semitransparentes). Tramados y Nítidos no añaden colores intermedios. Una sombra fuera del arte hace crecer la celda (hasta el borde del
lienzo) y queda debajo de él. En un sprite indexado el resultado se ajusta a la paleta.

**Añadir como efecto de capa** en este cuadro de diálogo y en los demás ajustes mantiene los mismos valores activos
en lugar de escribirlos: consulta [Efectos de capa](https://pxstud.io/es/docs/manual/guides/layers.md#layer-effects).

### Antialias

Suaviza los escalones donde un color se encuentra con otro, como lo hacen a mano los artistas de pixel art: no es un
desenfoque, sino unos pocos colores intermedios junto a cada escalón. Elige **Color A** y **Color B** (empiezan siendo
los colores de primer plano y de fondo; las muestras bajo cada uno son los colores más usados de la capa). Los bordes
rectos, las esquinas y las diagonales a 45 grados siguen nítidos. Cuanto más largo es el tramo recto antes de un
escalón, más píxeles reciben un color intermedio, hasta **Colores intermedios** (de 1 a 4, mezclados de A a B en
OKLCH). **Suavizar en** elige el lado que se repinta: **Color B** (por defecto: alrededor de la forma, lo mejor para una
línea sobre un fondo conocido), **Color A** (dentro de la forma, para que su silueta no crezca; una línea de un píxel se
deja tal cual) o **Ambos**. **Intensidad** fija hasta dónde llega el suavizado a lo largo de cada tramo (100: hasta la
mitad del tramo). Con **Colores** en **Solo paleta** se usan los colores de paleta más cercanos; los sprites indexados
siempre lo hacen.

Para suavizar un contorno sobre un fondo transparente, pon la **Opacidad** del Color B a 0 (cualquier píxel
transparente) y marca **Cualquier color visible es A**: los intermedios son los propios colores del borde
desvaneciéndose. Los colores de paleta no pueden desvanecerse, así que con **Solo paleta** (y en sprites indexados) se
vuelven sólidos o desaparecen. **Añadir como efecto de capa** lo mantiene en vivo; en un sprite con profundidad de color
el resultado se queda en esa profundidad.

### Sombreado automático

Sombrea colores planos de una pasada, como los artistas de pixel art añaden luces y sombras a mano.
**Sombrear** es **Solo el color base** (los píxeles del **Color base**; las muestras bajo **Colores
más comunes** son los colores más usados de la celda) o **Cada color plano** (cada color recibe su
propia rampa). La luz viene del **Ángulo de la luz**, en grados en sentido antihorario desde la
derecha: 90 es arriba, 135 arriba a la izquierda (el valor por defecto). Los píxeles cerca del borde
que mira a la luz reciben hasta **Luces** pasos más claros (de 0 a 5) y los cercanos al borde opuesto
hasta **Sombras** pasos más oscuros, el borde mismo el más intenso; cada paso tiene **Ancho de paso**
píxeles de profundidad (de 1 a 4). Una parte de 1 píxel de grosor conserva su color y una de 2
píxeles recibe una luz y una sombra, así que las partes finas nunca se vuelven del todo oscuras.

Los pasos se calculan a partir del color en OKLCH. **Desplazamiento de tono** gira las luces hacia un
amarillo cálido y las sombras hacia un azul frío, como hacen los artistas de pixel art, y **Croma por
paso** hace cada paso más (o menos) colorido. **Luz de contorno** añade una luz fina a lo largo del
borde exterior del lado en sombra; **Contorno más oscuro** pinta el borde exterior de la forma un
paso más oscuro que la sombra más profunda. **Colores** en **Solo paleta** toma los colores más
cercanos de la paleta; los sprites indexados siempre lo hacen.

Las muestras bajo **Pasos (de oscuro a claro)** muestran el resultado. **Editar estos colores** los
copia en **Rampa**, donde puedes cambiar cualquiera: una rampa se recorre para cada color que
contiene, en cualquier sentido. **Usar los tonos de la tinta Sombreado** copia la rampa de la tinta
Sombreado (un Sombreado automático nuevo parte de ella cuando contiene el color base). **Añadir como
efecto de capa** lo mantiene en vivo, así que el arte redibujado se vuelve a sombrear; su ángulo de
luz se puede animar para girar la luz a lo largo de una animación. En un sprite con profundidad de
color, el resultado se queda en esa profundidad.

### Curva de color

Reasigna valores a través de una curva que dibujas. Elige un **Canal**: **Valor** (rojo, verde y azul por igual),
**Rojo**, **Verde**, **Azul** o **Alfa**. Cada canal tiene su propia curva, suave, que se curva
por los puntos sin sobrepasarlos (Aseprite une sus puntos con líneas rectas). En un sprite en escala de grises
los canales son **Valor** y **Alfa**.

En el editor de curvas, haz clic para añadir un punto, arrastra un punto para moverlo y haz doble clic en uno para quitarlo.
Debajo, la lista **Puntos** tiene la entrada y la salida de cada punto como campos numéricos, con
botones **Quitar** y **Añadir punto** (en medio del hueco más ancho), así que la curva también se puede editar
con el teclado. **Restablecer canal** endereza la curva del canal actual. La curva Valor se aplica primero,
y luego las de un solo canal.

### Invertir color

Invierte los canales que marques: **Rojo**, **Verde** y **Azul** están activados, **Alfa** no. Los píxeles
totalmente transparentes siguen siendo transparentes. En un sprite en escala de grises hay un solo canal **Gris** en lugar de
los tres colores (también en Matriz de convolución).

### Reemplazar color

Cambia unos colores por otros.

- **Desde** y **Hasta**: los colores (entradas de la paleta en un sprite indexado). O marca **Reemplazar por
  transparente**. **Añadir fila** añade otro par Desde y Hasta; **Quitar fila** quita uno. Todas las
  filas se aplican a la vez, un píxel toma la primera fila con la que coincide, y un color reemplazado nunca
  se vuelve a reemplazar por una fila posterior, así que las filas pueden intercambiar dos colores.
- **Tolerancia** (de 0 a 255): cuánto puede alejarse un píxel del color Desde y aun así ser reemplazado; 0
  toma solo ese color exacto.

## Historial de deshacer

El botón de historial bajo **Deshacer** y **Rehacer** en la barra de herramientas (o Edición > Historial de deshacer) abre
el panel Historial de deshacer junto a la barra de herramientas: a su izquierda cuando la barra de herramientas está a la derecha, y si no,
en el lado que tenga espacio. Lista cada paso que puedes deshacer, del más antiguo al más reciente, con **Original** (el
sprite antes del paso más antiguo) arriba. El paso actual se resalta con un punto relleno, y
los pasos que has deshecho (que rehacer recuperaría) aparecen atenuados. Cada paso muestra la hora a la que se hizo
(y la fecha, si no fue hoy); pasa el cursor sobre él para ver la fecha y hora completas. Haz clic en cualquier fila para llevar
el sprite a ese punto. Haz clic de nuevo en el botón, o pulsa **Esc** en el panel, para cerrarlo.

Deshacer nunca tira el trabajo. Si deshaces unos pasos y luego haces un cambio nuevo, los pasos que
deshiciste se quedan en el árbol como una **rama**, dibujada a partir del paso donde tomaste otro camino. Cada
nivel de ramificación tiene su propio color. Un paso con ramas tiene una flecha al lado: haz clic en ella para plegarlas
(el paso muestra entonces cuántos pasos hay ocultos) o desplegarlas. Las ramas empiezan desplegadas
hasta tres niveles de profundidad; las más profundas empiezan plegadas.
Haz clic en cualquier fila de una rama para volver a ella. Rehacer sigue la rama que visitaste más recientemente.
El historial se conserva con el sprite y va con él en los archivos `.pxstudio` que descargas: abre
uno y su historial vuelve.

**Ponle nombre a un paso** para encontrarlo después: pasa el puntero por encima y haz clic en su botón
**...**, o haz clic derecho en él (con el teclado, pulsa la tecla Menú o Shift+F10 sobre él), y elige
**Nombrar paso...**. Un paso con nombre muestra su nombre delante de su etiqueta habitual, con una
etiqueta y un borde de color, para que destaque en un historial largo. Ponerle nombre a un paso no
cambia el sprite ni añade nada a deshacer. Los nombres se guardan con el historial: después de recargar,
en tus otros dispositivos con Sync y en los archivos `.pxstudio` que descargas. El mismo menú tiene
**Renombrar paso...** y **Quitar nombre**.

Ponerle nombre a un paso también conserva el sprite tal como estaba en ese paso como una versión con
nombre, con el mismo nombre, en Sprite > Historial de versiones.... El paso sale del historial cuando está
entre los más antiguos que se descartan, pero la versión se queda hasta que la elimines. Renombrar un
paso o quitarle el nombre deja su versión como está.

La línea inferior muestra cuánta memoria usa el historial y cuántos pasos contiene en todas las
ramas, de un máximo de 1000. Pasado ese límite, los pasos más antiguos se descartan primero. [Cómo se organiza tu trabajo](https://pxstud.io/es/docs/manual/concepts/how-work-is-organized.md#what-undo-covers)
explica qué cubre deshacer.

## En scripts

Los scripts también pueden hacer todo esto: consulta [Document](https://pxstud.io/es/docs/scripting/document.md) y
[Adjustments](https://pxstud.io/es/docs/scripting/adjustments.md) en la referencia de scripting (el esquema está en
[Drawing](https://pxstud.io/es/docs/scripting/drawing.md)).
