Calques
Crée, organise et configure des calques. Les groupes sont des dossiers de calques : le parentId d'un calque nomme son groupe (nil au niveau supérieur) et les positions d'app.moveLayer comptent à l'intérieur d'un groupe (0 = en bas). Masquer ou verrouiller un groupe masque ou verrouille tout ce qu'il contient. Un groupe à pleine opacité avec le mode de fusion "normal" est en transparence (ses calques se fondent directement dans ce qui est dessous) sauf si son indicateur isolated est activé ; un groupe isolé, ou toute autre opacité ou mode, compose d'abord ses calques ensemble. (25 fonctions)
app.addAdjustmentLayer(name?, effects?, parentId?) — modifie, annulable
Ajoute un calque de réglage au-dessus de tous les autres calques (ou dans le groupe parentId) : il ne contient aucun pixel, et ses effets modifient tout ce qui est composé en dessous dans son groupe (ou toute l'image), sur chaque image, à l'opacité du calque. Écrête-le pour ne modifier que le calque du dessous. Le rend actif.
name(string, facultatif) — Par défaut "Adjustment N".effects(table, facultatif) — Ses effets, comme pour app.setLayerEffects (types de couleur et par pixel uniquement). Omis = aucun pour l'instant.parentId(string, facultatif) — Un groupe où l'ajouter (au-dessus de ses calques) ; omis = le niveau supérieur.
Renvoie (string) : L'id du nouveau calque.
app.addGroup(name?, parentId?) — modifie, annulable
Ajoute un nouveau groupe de calques vide au-dessus de tous les autres calques (ou dans le groupe parentId) et le rend actif. Mets-y des calques avec app.moveLayer ou app.groupLayers.
name(string, facultatif) — Par défaut "Group N".parentId(string, facultatif) — Un groupe où l'imbriquer (au-dessus de ses calques) ; omis = le niveau supérieur.
Renvoie (string) : L'id du nouveau groupe.
app.addLayer(name?, parentId?) — modifie, annulable
Ajoute un nouveau calque vierge au-dessus de tous les autres calques (ou au-dessus des calques du groupe parentId) et le rend actif.
name(string, facultatif) — Par défaut "Layer N".parentId(string, facultatif) — Un groupe où l'ajouter (au-dessus de ses calques) ; omis = le niveau supérieur.
Renvoie (string) : L'id du nouveau calque.
app.backgroundFromLayer(layerId?, backgroundColor?) — modifie, annulable, refusée sur un calque verrouillé
Calque > « Arrière-plan depuis le calque » : convertit un calque d'image en calque Arrière-plan du sprite : déplacé tout en bas, nommé "Background" et rendu totalement opaque (les pixels transparents prennent la couleur d'arrière-plan). Lève une erreur si le sprite a déjà un calque Arrière-plan.
layerId(string, facultatif) — Le calque d'image à convertir ; omis = le calque d'image le plus bas.backgroundColor(color, facultatif) — Ce qui remplit les pixels transparents. Par défaut, la couleur d'arrière-plan actuelle.
Renvoie (string) : L'id du calque converti.
app.bakeLayerEffects(layerId) — modifie, annulable, refusée sur un calque verrouillé
Rend les effets activés d'un calque d'image dans tous ses cels et les retire, en une seule étape d'annulation. Les cels s'agrandissent pour contenir ombres et contours (limités au canevas) ; les sprites indexés ramènent le résultat à la palette de chaque image. Lève une erreur sur un calque verrouillé ou sans effets.
layerId(string)
Ne renvoie rien.
app.duplicateLayer(layerId) — modifie, annulable
Clone un calque (un groupe avec tout son contenu) et chaque cel peint dessus, en insérant la copie juste au-dessus de l'original et en la rendant active.
layerId(string)
Renvoie (string) : L'id du calque copié.
app.flattenGroup(layerId) — modifie, annulable, refusée sur un calque verrouillé
Remplace un groupe et tout son contenu par un calque d'image (mêmes id, nom, opacité, mode de fusion et place) contenant ses calques composés ensemble sur chaque image. Les calques masqués, brouillon et de référence qu'il contient sont supprimés, comme avec Aplatir.
layerId(string) — Le groupe à aplatir.
Ne renvoie rien.
app.flattenSprite(visibleOnly?, backgroundColor?) — modifie, annulable
Calque > Aplatir : fusionne tous les calques de niveau supérieur (masqués compris) en un seul calque, image par image, exactement comme ils s'affichent une fois montrés ; avec visibleOnly, seulement les visibles, en gardant les masqués. Un calque Arrière-plan visible reste l'Arrière-plan (totalement opaque) ; sinon le résultat est un nouveau calque nommé Flattened. Lève une erreur s'il n'y a rien à aplatir.
visibleOnly(boolean, facultatif) — Aplatir le visible : n'aplatit que les calques de niveau supérieur visibles et garde les masqués. False par défaut : tout, calques masqués compris.backgroundColor(color, facultatif) — Uniquement quand le résultat est le calque Arrière-plan (un Arrière-plan visible est aplati) : ce qui remplit les pixels que rien ne couvre. Par défaut, la couleur d'arrière-plan actuelle.
Ne renvoie rien.
app.getActiveLayerId() — lit
L'id du calque actuellement actif, ou nil s'il n'y en a pas.
Renvoie (string) : Id de calque ou nil.
app.getLayer(layerId) — lit
Un calque, dans la même forme qu'une entrée d'app.getLayers, ou nil s'il n'y a pas de tel calque.
layerId(string)
Renvoie (table) : Table de calque ou nil.
app.getLayers() — lit
Chaque calque, de bas en haut (un groupe se place juste au-dessus de ses calques), sous la forme { id, name, type ("image" | "tilemap" | "reference" | "group"), parentId (le groupe qui le contient ; nil au niveau supérieur), depth (0 = niveau supérieur), index (0 = bas de toute la pile), position (emplacement parmi les calques de son parent, 0 = bas ; ce que prend app.moveLayer), opacity (0-1), visible, locked, movementLocked, background (true sur le calque d'arrière-plan), clipped (un masque d'écrêtage : n'apparaît que là où le calque non écrêté le plus proche en dessous a des pixels), continuous (app.duplicateFrame lie ses cels au lieu de les copier), blendMode, collapsed (groupes), tileset = { tileWidth, tileHeight, tileCount, matchFlipH, matchFlipV, matchRotate } (calques de tilemap), reference = { width, height } (calques de référence) }. visible/locked/movementLocked sont les indicateurs propres au calque ; un groupe masqué, verrouillé ou au mouvement verrouillé masque, verrouille ou fige aussi tout ce qu'il contient.
Renvoie (table) : Tableau de tables de calque.
app.getReferenceTransform(layerId, frameId) — lit
Où se trouve l'image d'un calque de référence sur une image, sous la forme { x, y, width, height } en pixels du sprite, ou nil si elle est vide à cet endroit.
layerId(string) — Un calque de référence.frameId(string)
Renvoie (table) : Table de transformation ou nil.
app.groupLayers(layerIds, name?) — modifie, annulable
Met des calques (des groupes avec tout leur contenu) dans un nouveau groupe à la position du plus haut, en gardant leur ordre, et rend le groupe actif.
layerIds(table) — Tableau d'ids de calques, tous dans le même groupe (ou tous au niveau supérieur).name(string, facultatif) — Par défaut "Group N".
Renvoie (string) : L'id du nouveau groupe.
app.layerFromBackground() — modifie, annulable
Calque > « Calque depuis l'arrière-plan » : transforme le calque Arrière-plan en calque ordinaire (la transparence et le déplacement sont de nouveau permis). Lève une erreur si le sprite n'a pas de calque Arrière-plan.
Renvoie (string) : L'id du calque converti.
app.mergeLayerDown(layerId) — modifie, annulable, refusée sur un calque verrouillé
Compose un calque (ou un groupe entier, tel qu'il s'affiche) sur le calque situé juste en dessous dans le même groupe, puis le supprime ; une base d'écrêtage emmène avec elle ses calques écrêtés. Le résultat a le même aspect, et le calque du dessous finit à 100 % d'opacité et en mode de fusion normal. Lève une erreur s'il n'y a rien en dessous dans son groupe, si ce qui est en dessous n'est pas un calque d'image, ou si un calque non écrêté fusionnerait sur un calque écrêté.
layerId(string)
Ne renvoie rien.
app.mergeLayers(layerIds) — modifie, annulable, refusée sur un calque verrouillé
Fusionne des calques (des groupes avec tout leur contenu) en un seul calque d'image exactement comme ils s'affichent ensemble, à la position du plus haut et avec son nom, et le rend actif. Si l'Arrière-plan en fait partie, le résultat est l'Arrière-plan.
layerIds(table) — Tableau de deux ids de calques ou plus, tous dans le même groupe (ou tous au niveau supérieur). Les masqués sont fusionnés aussi.
Renvoie (string) : L'id du calque fusionné.
app.mergeLayerUp(layerId) — modifie, annulable, refusée sur un calque verrouillé
Fusionne un calque d'image dans le calque situé juste au-dessus dans le même groupe : le résultat a exactement l'aspect d'un Fusionner vers le bas de ce calque, mais prend son nom et son étiquette de couleur. Lève une erreur s'il n'y a rien au-dessus dans son groupe ou s'il ne s'agit pas d'un calque d'image.
layerId(string)
Ne renvoie rien.
app.moveLayer(layerId, position, parentId?) — modifie, annulable
Déplace un calque (un groupe avec tout son contenu) à une nouvelle position, éventuellement dans un autre groupe. Lève une erreur si on déplace un groupe dans lui-même.
layerId(string)position(number) — Son rang parmi les autres calques du parent après le déplacement (0 = en bas), limité à la plage valide.parentId(string, facultatif) — Le groupe où le déplacer ; "" = le niveau supérieur ; omis = reste dans son groupe actuel.
Ne renvoie rien.
app.removeLayer(layerId) — modifie, annulable
Retire un calque et tous les cels peints dessus ; retirer un groupe retire tout ce qu'il contient. Lève une erreur si cela ne laissait aucun calque (hors groupe).
layerId(string)
Ne renvoie rien.
app.setActiveLayer(layerId) — modifie
Rend un calque actif (ce que fait un clic dessus dans le panneau des calques). Ce n'est pas une modification annulable.
layerId(string)
Ne renvoie rien.
app.setLayerEffects(layerId, effects) — modifie, annulable
Définit les effets non destructifs d'un calque : les opérations s'exécutent sur les pixels du calque (les enfants composés d'un groupe) à chaque composition du sprite, dans l'ordre, et ne sont jamais écrites dans les cels (c'est ce que fait app.bakeLayerEffects). Permis sur un calque verrouillé. Pas pour les calques de référence ; le calque Arrière-plan n'accepte que les effets de couleur.
layerId(string)effects(table) — La liste complète des effets du calque, du bas vers le haut ({}l'efface). Chaque entrée est{ kind = "levels", ...that effect's fields, enabled = true }; lis la liste actuelle avecapp.getLayers, modifie-la et repasse-la (les entrées gardent leurid). Types : brightnessContrast, hueSaturation, colorCurve, levels, threshold, gradientMap, colorBalance, invert, replaceColor, posterize prennent les champs de l'ajustement app.* correspondant ; outline prendplace,width,shape,color; shadow prendplace,dx,dy,spread,shape,softness(0-8 px de bord adouci),edge("dithered", "hard" ou "smooth" : comment un bord adouci est dessiné),color; noise (amount,size,mono,seed), dither (pattern,levels,strength), scanlines (period,thickness,offset,strength,mask), vignette (strength,radius,softness,color), paletteSwap (from,to,tolerance), blur (radius,shape,edge,colors), bloom (threshold,radius,intensity,edge,colors), edgeDetect (strength,mode,invert,color), smoother (size), pixelate (size), chromatic (dx,dy), wave (axis,amplitude,wavelength,phase), bend (axis,amount), distortion (axis,band,amount,density,seed), parallax (shift), echo (count,dx,dy,fade), antiAlias (a,anyA,b,steps,into,strength,colors: comme app.antiAlias), autoShade (target,base,angle,highlights,shadows,width,hueShift,chroma,rim,outline,colors,ramp: comme app.autoShade). Blur et bloom peuvent s'aligner pour le pixel art :edgevaut "smooth", "hard" ou "dithered",colorsvaut "any" ou "palette" (la palette de l'image, la valeur par défaut dans les sprites indexés). Anime un paramètre numérique ou de couleur avectracks = { dx = { { frame = frameId, value = 0 }, { frame = otherFrameId, value = 4, easing = ... } } }(le chemin est le champ, ouvalue.gamma,shadows.red, etc. ; un easing manquant est linéaire) ettiming = "frames"ou"time". Chaque couleur (color,below,above,from,to, lacolord'un point de dégradé,a,b,base, lavalued'une image clé de couleur) est"#rgb","#rrggbb","#rrggbbaa"ou{ r, g, b, a }(avaut 255 par défaut) ; les listes de couleurs (fromettode paletteSwap,rampd'autoShade) les acceptent aussi, alpha ignoré. Les lectures (app.getLayers) renvoient les couleurs sous forme de tables{ r, g, b, a }et les listes de couleurs sous forme de chaînes"#rrggbb".
Ne renvoie rien.
app.setLayerProps(layerId, props) — modifie, annulable
Met à jour une ou plusieurs propriétés d'un calque ou d'un groupe.
layerId(string)props(table) — Les clés omises restent inchangées.name(string) — Le nom du calque.opacity(number 0–1) — Opacité du calque. Un groupe en dessous de 1 compose d'abord ses calques ensemble (il est isolé).visible(boolean) — Si le calque est affiché (et, pour les scripts, exporté). Un groupe masqué masque tout ce qu'il contient.locked(boolean) — Le contenu d'un calque verrouillé ne peut être modifié par rien, scripts compris. Verrouiller un groupe verrouille tout ce qu'il contient.movementLocked(boolean) — Les cels d'un calque au mouvement verrouillé ne peuvent pas être déplacés (movePixels, moveCels, un décalage de transformPixels, le placement de référence) ; peindre fonctionne toujours. Verrouiller le mouvement d'un groupe verrouille tout ce qu'il contient.clipped(boolean) — Masque d'écrêtage : le calque n'apparaît que là où le calque non écrêté le plus proche en dessous dans le même groupe (sa base) a des pixels, et le mode de fusion de la base s'applique à toute la pile. Pas pour les calques de référence ni le calque Arrière-plan.draft(boolean) — Calque brouillon : affiché pendant que tu travailles mais jamais exporté, aplati ni tamponné (un groupe brouillon emporte tout ce qu'il contient). Pas pour les calques de référence ni le calque Arrière-plan.continuous(boolean) — Calque continu (celui d'Aseprite) : Nouvelle image (app.duplicateFrame sanslinked) lie le cel de ce calque à celui de l'original au lieu de le copier. Pas pour les groupes.isolated(boolean) — Groupes uniquement : compose d'abord les calques du groupe seuls, puis fusionne le résultat comme une seule image (le groupe Normal de Photoshop). Désactivé, un groupe en fusion normale et à l'opacité 1 est en transparence : ses calques se fondent directement dans ce qui est dessous. Tout autre mode de fusion ou toute autre opacité isole quand même le groupe.blendMode(BlendMode: "normal" | "multiply" | "screen" | "overlay" | "darken" | "lighten" | "color-dodge" | "color-burn" | "hard-light" | "soft-light" | "difference" | "exclusion" | "hue" | "saturation" | "color" | "luminosity" | "addition" | "subtract" | "divide") — Comment le calque se fond avec ceux du dessous. Un groupe avec un mode autre que "normal" compose d'abord ses calques ensemble (il est isolé).
Ne renvoie rien.
app.setReferenceTransform(layerId, frameId, x, y, width, height) — modifie, annulable, refusée sur un calque verrouillé
Repositionne/redimensionne le placement d'un calque de référence sur une image (dans l'espace du sprite). Une largeur ou une hauteur <= 0 l'efface à la place (vide sur cette image). Lève une erreur si layerId n'est pas un calque de référence.
layerId(string)frameId(string)x(number)y(number)width(number)height(number)
Ne renvoie rien.
app.stampVisible(name?) — modifie, annulable
Ajoute un nouveau calque contenant tout ce qui est visible, image par image, exactement comme Aplatir le ferait (calques de référence et brouillon exclus) mais en gardant tous les calques, au-dessus du bloc de niveau supérieur du calque actif, et le rend actif.
name(string, facultatif) — Par défaut "Visible".
Renvoie (string) : L'id du nouveau calque.
app.ungroupLayer(layerId) — modifie, annulable
Retire un groupe en remontant ses calques à sa place. Leurs propres propriétés sont conservées ; l'opacité, le mode de fusion et la visibilité du groupe sont abandonnés, pas appliqués.
layerId(string) — Un groupe.
Ne renvoie rien.
En Markdown : layers.md.