# API de scripts Lua de pxstud.io — Commandes internes

> Fait partie de la référence de scripts Lua de pxstud.io, dont la vue d'ensemble (https://pxstud.io/fr/docs/scripting.md) explique les conventions. Les groupes d'options et les types auxquels elle renvoie se trouvent dans https://pxstud.io/fr/docs/scripting/option-groups.md et https://pxstud.io/fr/docs/scripting/types.md. Tout dans un seul fichier (en anglais) : https://pxstud.io/llms-full.txt. L'index de tout le site (en anglais) : https://pxstud.io/llms.txt.

## Commandes internes
Le moteur compte 173 commandes. Ces 25 ne sont pas appelables depuis les scripts, chacune pour la raison indiquée ; toutes les autres font partie de l'API ci-dessus.

- `addReferenceLayer` — la charge utile contient une ReferenceSource brute (pixels d'image en pleine résolution décodés d'un fichier importé) : un script ne peut pas la construire
- `autoSlice` — une commande de l'éditeur (Sprite > Auto-slice) ; les scripts trouvent leurs propres régions et appellent app.addSlice
- `insertFrame` — mécanique d'annulation/rétablissement : la charge utile contient une Frame brute et un instantané Map<CelKey, Cel>, qu'un script ne peut pas construire
- `insertLayer` — mécanique d'annulation/rétablissement : la charge utile contient des objets Layer bruts et des instantanés Map<CelKey, Cel>/Map<CelKey, ReferenceTransform>, qu'un script ne peut pas construire
- `insertSlice` — mécanique d'annulation/rétablissement : restaure un slice supprimé à sa position d'origine ; les scripts utilisent app.addSlice
- `insertTag` — mécanique d'annulation/rétablissement : la charge utile contient un instantané Tag brut, qu'un script ne peut pas construire
- `insertTilemapTile` — la charge utile contient des tampons de pixels capturés et des listes d'instances pour l'annulation : mécanique interne, l'inverse de removeTilemapTile
- `pasteCels` — la charge utile est un instantané du presse-papiers produit par extractCels (des tableaux RGBA typés par cel), qu'un script ne construit pas ; les scripts copient avec app.moveCels / app.linkCels ou setPixel
- `replaceDocument` — mécanique d'annulation/rétablissement : la charge utile contient un instantané complet du Sprite, qu'un script ne peut pas construire
- `replaceLayerContent` — mécanique d'annulation/rétablissement pour convertToTilemap / convertToNormalLayer : la charge utile contient un instantané des cels et des placements d'un calque
- `restoreCel` — mécanique d'annulation/rétablissement : la charge utile contient un instantané Cel brut (ou null), qu'un script ne peut pas construire
- `restoreCelRegion` — mécanique d'annulation : la partie d'un cel remplacée par une écriture de pixels, capturée par le moteur
- `restoreCels` — mécanique d'annulation/rétablissement : la charge utile contient des instantanés Cel bruts (ou des suppressions), qu'un script ne peut pas construire
- `restoreDocumentParts` — mécanique d'annulation/rétablissement pour les fusions, l'aplatissement, la conversion de l'arrière-plan, la géométrie du canevas et les remappages de palette : la charge utile contient des calques, des cels et des placements bruts
- `restoreFrameDurations` — mécanique d'annulation/rétablissement pour setAllFrameDurations : app.setAllFrameDurations / app.setFrameDuration couvrent déjà les vrais cas d'usage des scripts
- `restoreLayerTree` — mécanique d'annulation/rétablissement pour groupLayers / ungroupLayer : la charge utile contient l'ordre complet des calques et des objets Layer de groupe bruts ; les scripts utilisent app.groupLayers, app.ungroupLayer et app.moveLayer
- `restoreMoveState` — mécanique d'annulation pour movePixels : la charge utile contient un instantané exact de Cel et de Selection qu'un script n'a pas à construire
- `restorePalette` — mécanique d'annulation/rétablissement pour les ajustements de couleur d'une palette : définit la palette telle quelle, sans remapper les pixels (app.setPalette remappe)
- `restoreTilemapState` — mécanique d'annulation/rétablissement pour paintTilemapPixels : la charge utile contient des tampons de tuiles capturés et une liste d'instances
- `setCelText` — l'éditeur dessine le texte avec ses propres polices et envoie les pixels avec ; un script n'a pas de polices, il dessine donc le texte sous forme de pixels (app.pastePixels)
- `setColorCycles` — mécanique d'annulation/rétablissement : restaure la liste des cycles de couleurs ; les scripts utilisent app.addColorCycle et consorts
- `setGrid` — réglage d'affichage de l'éditeur (la boîte de dialogue Réglages de la grille) : il positionne une superposition et l'aimantation, il ne change pas l'illustration qu'un script produit
- `setGuides` — réglage d'affichage de l'éditeur (Affichage > Repères) : les repères positionnent une superposition et l'aimantation, ils ne changent pas l'illustration qu'un script produit
- `setPerspective` — réglage d'affichage de l'éditeur (Affichage > Grille de perspective) : il positionne une superposition, il ne change pas l'illustration qu'un script produit
- `setSlices` — mécanique d'annulation/rétablissement : restaure la liste de slices remplacée par autoSlice
