# Comment ton travail est organisé

Projets, sprites, calques, images et cels, et tes bibliothèques de palettes, de pinceaux et de scripts, et où chaque élément est conservé.

Tout ce que tu crées dans pxstud.io s'emboîte en quelques éléments imbriqués. Les connaître aide pour
presque tout le reste : ce que l'annulation peut défaire, ce que contient un fichier téléchargé et ce
que Sync copie sur tes autres appareils.

## Les éléments

```
Project
└── Sprite                     one image or animation (a .pxstudio file)
    ├── Layers                 stacked drawings; groups hold other layers
    ├── Frames                 the steps of the animation
    │   └── Cels               what one layer shows on one frame
    ├── Tags                   named ranges of frames
    ├── Slices                 named rectangles (hitboxes, 9-slices, export areas)
    ├── Palette                the sprite's colors
    └── Tilesets               the tiles of tilemap layers

Your library: palettes, brushes and scripts, used across all your sprites
```

**Projet.** Un dossier nommé de sprites. Tu peux en avoir autant que tu veux et passer de l'un à
l'autre dans le menu **Projet**. Un projet ne contient rien d'autre que ses sprites.

**Sprite.** Une image ou une animation : sa taille, son mode colorimétrique, ses calques, ses images
et tout ce qui suit. Chaque sprite s'ouvre dans son propre onglet. Son nom appartient au projet, pas
au dessin, donc un fichier `.pxstudio` téléchargé prend le nom du sprite comme nom de fichier.

**Calque.** Les calques s'empilent de bas en haut, et chacun peut être affiché, masqué, verrouillé et
fusionné indépendamment ([Calques](https://pxstud.io/fr/docs/manual/guides/layers.md)). Il en existe quatre sortes :

- les **calques d'image**, le type habituel, qui contiennent des pixels ;
- les **groupes**, qui contiennent d'autres calques ;
- les **calques de référence**, une image à décalquer, jamais exportée ;
- les **calques de tilemap**, peints avec les tuiles d'un tileset.

Le calque **Arrière-plan** est un calque d'image soumis à quelques règles : il est opaque, tout en
bas, et ne peut pas être déplacé.

**Image.** Une étape de l'animation, avec sa durée d'affichage (en millisecondes). Une image fixe est
un sprite d'une seule image.

**Cel.** Le point de rencontre d'un calque et d'une image : ce que ce calque montre dans cette image.
Un sprite de 3 calques et 4 images compte jusqu'à 12 cels. Un cel peut être **vide** (rien n'y est
encore dessiné), et les cels d'un même calque peuvent être **liés** pour que plusieurs images
partagent un même dessin : dessiner sur l'un d'eux les modifie tous. Le pixel art comporte souvent
de l'espace vide, donc un cel ne stocke que la partie du canevas sur laquelle tu as dessiné.

**Étiquette.** Une plage d'images nommée et colorée (« marche », « saut ») avec un sens de lecture :
avant, arrière, aller-retour ou aller-retour inversé, et le nombre de répétitions. Les exports peuvent
n'utiliser que les images d'une étiquette.

**Slice.** Un rectangle nommé sur le canevas, sans pixels propres, qui sert à marquer des hitboxes,
des zones d'export ou des repères de mise à l'échelle 9-slice. Un slice peut changer d'une image à
l'autre.

**Palette.** La liste de couleurs du sprite. Sa signification dépend du **mode colorimétrique** du
sprite :

- **RGBA :** chaque pixel a sa propre couleur, avec transparence. La palette est un ensemble de
  nuanciers où piocher.
- **Niveaux de gris :** des nuances de gris, avec transparence.
- **Indexé :** chaque pixel _est_ une entrée de la palette, donc recolorer une entrée recolore tous les
  pixels qui l'utilisent. Une entrée (la première, sauf si tu changes) compte comme transparente.

Une palette peut aussi changer en cours d'animation, à partir d'une image donnée.

**Tileset.** Les tuiles avec lesquelles peint un calque de tilemap. Repeindre une tuile la met à jour
partout où elle est placée, et plusieurs calques de tilemap peuvent partager un même tileset.

**Ta bibliothèque.** Les palettes, pinceaux et scripts que tu crées, enregistres ou forkes vivent dans
ta propre bibliothèque, en dehors de tout sprite, pour que tu puisses les utiliser dans tous. L'éditeur
fournit aussi des palettes et des pinceaux intégrés. Choisir une palette de la bibliothèque copie ses
couleurs dans le sprite ; la modifier plus tard ne change pas les sprites qui l'utilisent déjà.

## Le contexte d'édition

Tes **couleurs de premier plan et d'arrière-plan**, le **pinceau** et les **options de chaque outil**
ne font partie d'aucun sprite. Un seul jeu est partagé par tous les onglets : changer de sprite
conserve ton pinceau et tes couleurs. Ils sont réinitialisés quand tu recharges la page. (Une
[disposition enregistrée](https://pxstud.io/fr/docs/manual/guides/workspace.md#layouts) peut te rendre tes réglages d'outils.)

## Ce que couvre l'annulation

Chaque sprite a **son propre historique des annulations**. Tout ce qui modifie le sprite peut être
annulé : le dessin, les calques, les images, les cels, les étiquettes, les slices, la palette, le
redimensionnement, et la sélection aussi.

Ces actions **ne peuvent pas** être annulées :

- renommer un projet ou un sprite ;
- les modifications des palettes, pinceaux et scripts de ta bibliothèque ;
- tes couleurs, ton pinceau et les options d'outils ;
- le calque ou l'image actifs, et la façon dont l'espace de travail est organisé ;
- les noms que tu donnes aux étapes d'annulation.

L'historique est enregistré avec le sprite : il est toujours là après la fermeture de son onglet ou
le rechargement de la page, et, avec Sync, sur tes autres appareils aussi. Les étapes les plus
anciennes sont supprimées au-delà de 1 000.

## Versions

L'annulation revient en arrière pas à pas, et ses étapes les plus anciennes sont supprimées. Pour
conserver durablement un état d'un sprite, **nomme-le** : Sprite > Historique des versions... > **Nommer cette version...**
garde le sprite tel qu'il est maintenant sur cet appareil, jusqu'à ce que tu supprimes la version.
Depuis la même liste, tu peux **Comparer** une version avec le sprite actuel (côte à côte, ou avec
chaque pixel modifié marqué), la **Restaurer** (une étape que tu peux annuler) ou la télécharger
sous forme de fichier `.pxstudio` (sans historique des annulations : une version n'en a pas).
Nommer une étape dans le panneau [Historique des annulations](https://pxstud.io/fr/docs/manual/guides/document.md#undo-history)
garde aussi une version : le sprite tel qu'il était à cette étape.

Avec Sync, le cloud conserve aussi des versions antérieures de chaque sprite : chaque enregistrement
du dernier jour, puis une par jour pendant 30 jours, puis une par semaine pendant un an. Nomme-en une
(le bouton épingle) et elle est conservée durablement sur chaque appareil ; son stockage compte dans
ton forfait jusqu'à ce que tu retires le nom.

## Le même sprite dans deux onglets

Un sprite ne peut être modifié que dans un seul onglet du navigateur à la fois. Ouvre-le dans un
deuxième onglet et il y est en lecture seule, avec une note en haut ; tout ce que le premier onglet
enregistre y apparaît. Choisis **Modifier ici** pour déplacer l'édition vers le deuxième onglet : le
premier enregistre et passe en lecture seule. Quand l'onglet d'édition ferme le sprite, un autre
onglet qui l'a ouvert prend le relais.

## Où les éléments sont conservés

| Élément | Conservation |
| - | - |
| Projets et sprites | Dans ce navigateur, enregistrés au fil de ton travail. Avec Sync, aussi dans ton compte. |
| Tes palettes, pinceaux et scripts | Dans ce navigateur. Avec Sync, aussi dans ton compte ; les versions publiées des scripts sont dans la bibliothèque de scripts. |
| Palettes et pinceaux intégrés | Dans l'éditeur lui-même. |
| Scripts avec un cœur | Dans ton compte, avec une copie dans ce navigateur pour fonctionner hors ligne. |
| Dispositions, préférences et raccourcis | Dans ce navigateur uniquement. |
| Couleurs, pinceau et options d'outils | Uniquement tant que la page est ouverte. |
| Historique des annulations | Avec le sprite : dans ce navigateur, avec Sync dans ton compte, et dans les fichiers `.pxstudio` que tu télécharges. |
| Versions nommées | Dans ce navigateur. Les versions cloud que tu nommes sont dans ton compte. |

## Les fichiers que tu peux télécharger

- **Un fichier `.pxstudio`** (Fichier > Enregistrer sous...) contient un sprite : sa taille et son mode
  colorimétrique, sa palette, ses calques, images, cels, étiquettes, slices, tilesets, sa grille,
  ses images de référence et son historique des annulations. Il n'inclut pas les versions nommées,
  la sélection ni rien de ce qui est en dehors du sprite. Rouvre-le avec Fichier > Ouvrir..., et
  l'annulation reprend là où elle en était.
- **Tout d'un coup :** sur [la page de ton compte](https://app.pxstud.io/account), **Ce navigateur > Tout exporter (.zip)**
  télécharge un zip de tous les sprites de chaque projet (en fichiers `.pxstudio`, avec leur historique des annulations) et de tes palettes
  (`.gpl`), pinceaux et scripts. Cela fonctionne hors ligne, et déconnecté.
