# Lua-Skript-API von pxstud.io — Dokument lesen

> Teil der Lua-Skript-Referenz von pxstud.io, deren Übersicht (https://pxstud.io/de/docs/scripting.md) die Konventionen erklärt. Die Optionsgruppen und Typen, auf die sie verweist, stehen in https://pxstud.io/de/docs/scripting/option-groups.md und https://pxstud.io/de/docs/scripting/types.md. Alles in einer Datei (auf Englisch): https://pxstud.io/llms-full.txt. Das Verzeichnis der ganzen Website (auf Englisch): https://pxstud.io/llms.txt.

## Dokument lesen
Jedes Feld des Dokumentmodells und wie ein Skript es liest. Pixeldaten sind nie Teil eines strukturellen Lesezugriffs; sie kommen von den Pixel-Massenfunktionen.

- **Sprite**: id; width; height; colorMode (ColorMode); palette; paletteChanges über app.getPalette; colorCycles über app.getColorCycles; paletteGroups; paletteLock; colorDepth; transparentIndex; pixelRatio; userData; layers über app.getLayers; frames über app.getFrames; cels über app.getCels; tags über app.getTags; slices über app.getSlices; tilemapInstances über app.getTilemap; tilemapCels über app.getCels; referenceTransforms über app.getReferenceTransform; contentLinks über app.getLinkedFrames; grid (nicht gelesen: Ansichtseinstellung des Editors (Dialog Raster-Einstellungen) – Skripte sehen die Kunst, nicht das Overlay); guides (nicht gelesen: Ansichtseinstellung des Editors (Ansicht > Hilfslinien) – Skripte sehen die Kunst, nicht das Overlay); perspective (nicht gelesen: Ansichtseinstellung des Editors (Ansicht > Perspektivraster) – Skripte sehen die Kunst, nicht das Overlay)
- **Layer**: id; name; type (LayerType); parentId; collapsed; isolated; opacity; visible; locked; movementLocked; background; clipped; draft; continuous; effects; blendMode (BlendMode); userData; referenceSource als reference ({ width, height } des importierten Bilds; seine Pixel sind nicht lesbar); tileset als tileset ({ tileWidth, tileHeight, tileCount, matchFlipH, matchFlipV, matchRotate, baseIndex, name?, id? }; Tile-Bilder über app.getTilePixels)
- **Frame**: id; order als index (0 = erster Frame); durationMs; color; locked
- **Cel**: layerId; frameId; x; y; width; height; opacity; zIndex; link als linkedTo (der Frame, dessen Bild ein verknüpftes Cel teilt); userData; pixels (nicht gelesen: Pixeldaten – lies sie mit app.getImage); text (nicht gelesen: der bearbeitbare Text des Textwerkzeugs, gezeichnet mit den Schriften des Editors; Skripte sehen seine Pixel); tween (nicht gelesen: die Tween-Spanne, die an diesem Keyframe beginnt (das Rezept des Editors); Skripte sehen die Pixel der Zwischenbilder); generated (nicht gelesen: markiert ein Zwischenbild, das ein Tween geschrieben hat; Skripte sehen es als gewöhnliches Cel)
- **Tag**: id; name; fromFrameId; toFrameId; color; direction (TagDirection); repeat; userData
- **Slice**: id; name; x; y; width; height; center; pivot; keys als keyFrameIds (IDs von Frames, die einen neuen Key beginnen (Grenzen, Mitte und Pivot ändern sich ab dort); x, y, width, height, center und pivot sind der Key, der auf dem abgefragten Frame gilt (app.getSlices(frameId)), sonst der des ersten Frames); userData
- **Tileset**: tileWidth; tileHeight; tiles als tileCount (das Bild jedes Tiles über app.getTilePixels); matchFlipH; matchFlipV; matchRotate; id; name; baseIndex; userData; tileUserData (nicht gelesen: Benutzerdaten pro Tile, aus .aseprite-Dateien übernommen; noch kein Skriptbefehl liest oder setzt sie)
- **Tile placement**: x; y; tileIndex; flipH; flipV; rotate90
- **Reference placement**: layerId; frameId; x; y; width; height
- **Selection**: bounds; mask über app.getSelectionMask
