# API de scripting Lua de pxstud.io — Comandos internos

> Parte de la referencia de scripting Lua de pxstud.io, cuya introducción (https://pxstud.io/es/docs/scripting.md) explica sus convenciones. Los grupos de opciones y los tipos a los que remite están en https://pxstud.io/es/docs/scripting/option-groups.md y https://pxstud.io/es/docs/scripting/types.md. Todo en un solo archivo (en inglés): https://pxstud.io/llms-full.txt. El índice de todo el sitio (en inglés): https://pxstud.io/llms.txt.

## Comandos internos
El motor tiene 173 comandos. Estos 25 no se pueden llamar desde scripts, cada uno por el motivo indicado; todos los demás forman parte de la API de arriba.

- `addReferenceLayer` — el payload lleva un ReferenceSource en bruto (píxeles de imagen a resolución completa decodificados de un archivo importado); un script no puede construirlo
- `autoSlice` — un comando del editor (Sprite > Auto-slice); los scripts encuentran sus propias regiones y llaman a app.addSlice
- `insertFrame` — infraestructura de deshacer/rehacer: el payload lleva un Frame en bruto más una instantánea Map<CelKey, Cel>; un script no puede construirlo
- `insertLayer` — infraestructura de deshacer/rehacer: el payload lleva objetos Layer en bruto más instantáneas Map<CelKey, Cel>/Map<CelKey, ReferenceTransform>; un script no puede construirlas
- `insertSlice` — infraestructura de deshacer/rehacer: restaura un slice eliminado en su posición original; los scripts usan app.addSlice
- `insertTag` — infraestructura de deshacer/rehacer: el payload lleva una instantánea Tag en bruto; un script no puede construirla
- `insertTilemapTile` — el payload lleva búferes de píxeles capturados y listas de instancias para deshacer: infraestructura interna, la inversa de removeTilemapTile
- `pasteCels` — el payload es una instantánea del portapapeles producida por extractCels (arreglos RGBA tipados por celda); un script no la construye; los scripts copian con app.moveCels / app.linkCels o setPixel
- `replaceDocument` — infraestructura de deshacer/rehacer: el payload lleva una instantánea completa del Sprite; un script no puede construirla
- `replaceLayerContent` — infraestructura de deshacer/rehacer para convertToTilemap / convertToNormalLayer: el payload lleva una instantánea de las celdas y colocaciones de una capa
- `restoreCel` — infraestructura de deshacer/rehacer: el payload lleva una instantánea Cel en bruto (o null); un script no puede construirla
- `restoreCelRegion` — infraestructura de deshacer: la parte de una celda que reemplazó una escritura de píxeles, capturada por el motor
- `restoreCels` — infraestructura de deshacer/rehacer: el payload lleva instantáneas Cel en bruto (o eliminaciones); un script no puede construirlas
- `restoreDocumentParts` — infraestructura de deshacer/rehacer para fusiones, aplanado, conversión del fondo, geometría del lienzo y reasignaciones de paleta: el payload lleva capas, celdas y colocaciones en bruto
- `restoreFrameDurations` — infraestructura de deshacer/rehacer para setAllFrameDurations: app.setAllFrameDurations / app.setFrameDuration ya cubren los usos reales en scripts
- `restoreLayerTree` — infraestructura de deshacer/rehacer para groupLayers / ungroupLayer: el payload es un orden de capas completo más objetos Layer de grupo en bruto; los scripts usan app.groupLayers, app.ungroupLayer y app.moveLayer
- `restoreMoveState` — infraestructura de deshacer para movePixels: el payload lleva una instantánea exacta de Cel + Selection que un script no tiene por qué construir
- `restorePalette` — infraestructura de deshacer/rehacer para los ajustes de color de una paleta: establece la paleta tal cual, sin reasignar píxeles (app.setPalette sí reasigna)
- `restoreTilemapState` — infraestructura de deshacer/rehacer para paintTilemapPixels: el payload lleva búferes de tiles capturados y una lista de instancias
- `setCelText` — el editor dibuja el texto con sus propias fuentes y envía los píxeles con él; un script no tiene fuentes, así que dibuja el texto como píxeles (app.pastePixels)
- `setColorCycles` — infraestructura de deshacer/rehacer: restaura la lista de ciclos de color; los scripts usan app.addColorCycle y similares
- `setGrid` — ajuste de vista del editor (el diálogo de configuración de la cuadrícula): coloca una superposición y el ajuste, no cambia el arte que produce un script
- `setGuides` — ajuste de vista del editor (Vista > Guías): las guías colocan una superposición y el ajuste, no cambian el arte que produce un script
- `setPerspective` — ajuste de vista del editor (Vista > Cuadrícula de perspectiva): coloca una superposición, no cambia el arte que produce un script
- `setSlices` — infraestructura de deshacer/rehacer: restaura la lista de slices que reemplazó autoSlice
