# API di scripting Lua di pxstud.io — Lettura del documento

> Parte del riferimento di scripting Lua di pxstud.io, la cui panoramica (https://pxstud.io/it/docs/scripting.md) ne spiega le convenzioni. I gruppi di opzioni e i tipi a cui rimanda sono in https://pxstud.io/it/docs/scripting/option-groups.md e https://pxstud.io/it/docs/scripting/types.md. Tutto in un unico file (in inglese): https://pxstud.io/llms-full.txt. L'indice dell'intero sito (in inglese): https://pxstud.io/llms.txt.

## Lettura del documento
Ogni campo del modello del documento e come uno script lo legge. I dati dei pixel non fanno mai parte di una lettura strutturale: arrivano dalle funzioni pixel in blocco.

- **Sprite**: id; width; height; colorMode (ColorMode); palette; paletteChanges tramite app.getPalette; colorCycles tramite app.getColorCycles; paletteGroups; paletteLock; colorDepth; transparentIndex; pixelRatio; userData; layers tramite app.getLayers; frames tramite app.getFrames; cels tramite app.getCels; tags tramite app.getTags; slices tramite app.getSlices; tilemapInstances tramite app.getTilemap; tilemapCels tramite app.getCels; referenceTransforms tramite app.getReferenceTransform; contentLinks tramite app.getLinkedFrames; grid (non letto: impostazione di visualizzazione dell'editor (finestra Impostazioni griglia): gli script vedono l'opera, non la sovrapposizione); guides (non letto: impostazione di visualizzazione dell'editor (Visualizza > Guide): gli script vedono l'opera, non la sovrapposizione); perspective (non letto: impostazione di visualizzazione dell'editor (Visualizza > Griglia prospettica): gli script vedono l'opera, non la sovrapposizione)
- **Layer**: id; name; type (LayerType); parentId; collapsed; isolated; opacity; visible; locked; movementLocked; background; clipped; draft; continuous; effects; blendMode (BlendMode); userData; referenceSource come reference ({ width, height } dell'immagine importata; i suoi pixel non sono leggibili); tileset come tileset ({ tileWidth, tileHeight, tileCount, matchFlipH, matchFlipV, matchRotate, baseIndex, name?, id? }; le immagini dei tile tramite app.getTilePixels)
- **Frame**: id; order come index (0 = primo fotogramma); durationMs; color; locked
- **Cel**: layerId; frameId; x; y; width; height; opacity; zIndex; link come linkedTo (il fotogramma la cui immagine è condivisa da un cel collegato); userData; pixels (non letto: dati dei pixel: leggili con app.getImage); text (non letto: il testo modificabile dello strumento Testo, disegnato con i font dell'editor; gli script ne vedono i pixel); tween (non letto: l'intervallo di tween che parte da questo keyframe (la ricetta dell'editor); gli script vedono i pixel degli intermedi); generated (non letto: indica un intermedio scritto da un tween; gli script lo vedono come un normale cel)
- **Tag**: id; name; fromFrameId; toFrameId; color; direction (TagDirection); repeat; userData
- **Slice**: id; name; x; y; width; height; center; pivot; keys come keyFrameIds (id dei fotogrammi da cui inizia una nuova chiave (da lì in poi cambiano limiti, centro e pivot); x, y, width, height, center e pivot sono la chiave in vigore sul fotogramma richiesto (app.getSlices(frameId)), altrimenti quella del primo fotogramma); userData
- **Tileset**: tileWidth; tileHeight; tiles come tileCount (l'immagine di ogni tile tramite app.getTilePixels); matchFlipH; matchFlipV; matchRotate; id; name; baseIndex; userData; tileUserData (non letto: dati utente per tile, conservati dai file .aseprite; nessun comando degli script li legge o li imposta per ora)
- **Tile placement**: x; y; tileIndex; flipH; flipV; rotate90
- **Reference placement**: layerId; frameId; x; y; width; height
- **Selection**: bounds; mask tramite app.getSelectionMask
