# API de scripting Lua de pxstud.io — Lectura del documento

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

## Lectura del documento
Todos los campos del modelo del documento y cómo los lee un script. Los datos de píxeles nunca forman parte de una lectura estructural; vienen de las funciones de píxeles en bloque.

- **Sprite**: id; width; height; colorMode (ColorMode); palette; paletteChanges mediante app.getPalette; colorCycles mediante app.getColorCycles; paletteGroups; paletteLock; colorDepth; transparentIndex; pixelRatio; userData; layers mediante app.getLayers; frames mediante app.getFrames; cels mediante app.getCels; tags mediante app.getTags; slices mediante app.getSlices; tilemapInstances mediante app.getTilemap; tilemapCels mediante app.getCels; referenceTransforms mediante app.getReferenceTransform; contentLinks mediante app.getLinkedFrames; grid (no se lee: ajuste de vista del editor (diálogo Ajustes de la cuadrícula); los scripts ven el arte, no la superposición); guides (no se lee: ajuste de vista del editor (Vista > Guías); los scripts ven el arte, no la superposición); perspective (no se lee: ajuste de vista del editor (Vista > Cuadrícula de perspectiva); los scripts ven el arte, no la superposición)
- **Layer**: id; name; type (LayerType); parentId; collapsed; isolated; opacity; visible; locked; movementLocked; background; clipped; draft; continuous; effects; blendMode (BlendMode); userData; referenceSource como reference ({ width, height } de la imagen importada; sus píxeles no se pueden leer); tileset como tileset ({ tileWidth, tileHeight, tileCount, matchFlipH, matchFlipV, matchRotate, baseIndex, name?, id? }; las imágenes de los tiles, con app.getTilePixels)
- **Frame**: id; order como index (0 = primer fotograma); durationMs; color; locked
- **Cel**: layerId; frameId; x; y; width; height; opacity; zIndex; link como linkedTo (el fotograma cuya imagen comparte una celda vinculada); userData; pixels (no se lee: datos de píxeles; léelos con app.getImage); text (no se lee: el texto editable de la herramienta Texto, dibujado con las fuentes del editor; los scripts ven sus píxeles); tween (no se lee: el tramo de interpolación que empieza en este fotograma clave (la receta del editor); los scripts ven los píxeles de los intermedios); generated (no se lee: marca un intermedio escrito por una interpolación; los scripts lo ven como una celda normal)
- **Tag**: id; name; fromFrameId; toFrameId; color; direction (TagDirection); repeat; userData
- **Slice**: id; name; x; y; width; height; center; pivot; keys como keyFrameIds (ids de fotograma que inician una clave nueva (los límites, el centro y el pivote cambian a partir de ahí); x, y, width, height, center y pivot son la clave vigente en el fotograma consultado (app.getSlices(frameId)), o si no la del primer fotograma); userData
- **Tileset**: tileWidth; tileHeight; tiles como tileCount (la imagen de cada tile, con app.getTilePixels); matchFlipH; matchFlipV; matchRotate; id; name; baseIndex; userData; tileUserData (no se lee: datos de usuario por tile, conservados de los archivos .aseprite; ningún comando de script los lee ni los establece todavía)
- **Tile placement**: x; y; tileIndex; flipH; flipV; rotate90
- **Reference placement**: layerId; frameId; x; y; width; height
- **Selection**: bounds; mask mediante app.getSelectionMask
