liriodendron 0.2.0

Procedural Pixellized 2D Textures Generator with TUI
Sprint 2
--------

Le premier objectif du Sprint 2 est de renforcer les fonctionnalités déjà
existantes pour permettre à l'utilisateur d'avoir plus de contrôle sur ce
qu'il fait et sur l'outils en fonction de ses besoins:

 - Choix du format des textures générées
 - Choix de la taille des pixels sur la texture
 - Possibilité de paramétrer la mémoire et le nombre de threads que l'outils
peut utiliser à l'execution
 - Possibilité d'annuler ou refaire des actions sur l'espace de travail
 - Réinitialiser la grille à l'aide d'un raccourci clavier
 - Personnaliser les ratios des pixels Corps/Vide et Corps/Bordure de la
brosse

Le second objectif du Sprint 2 est de mettre en place un second algorithme
de génération afin de générer des textures plus complexes grâces à plusieurs
grilles de génération:

 - Ajout d'une grille de génération
 - Suppression d'une grille de génération

---------------------------------------------------------------------

## Issues à réaliser

id | User story | Difficulté | Priorité | Planification
:---: | :--- | :---: | :---: | :---:
ADD GRID | En tant qu'Utilisateur, je souhaite avoir accès à un raccourci clavier me permettant d'ajouter une grille de génération à mon espace de travail. En utilisant ce raccourci, l'ancienne grille est alors cachée par la nouvelle. La nouvelle grille est composée de cellules vides et est aux mêmes dimensions que les autres grilles. L'ancienne grille est toujours disponible via un onglet au dessus de la grille de génération qui s'ouvre au moment de l'ajout de la nouvelle grille. Afin de pouvoir generer des textures complexes composées de plusieurs textures, cette fonctionnalité doit être mise à ma disposition. | 3 | Normale | Sprint 2
DELETE GRID | En tant qu'Utilisateur, je souhaite avoir accès à un raccourci clavier me permettant de supprimer la grille de génération courante de mon espace de travail. En utilisant ce raccourci, un message apparait pour confirmer ma decision. Si j'accepte la grille de génération courante est supprimée. Afin de pouvoir supprimer les brouillons, cette fonctionnalité doit être mise à ma disposition. | 3 | Normale | Sprint 2
FORMAT | En tant qu'Utilisateur, je souhaite avoir accès à un selecteur me permettant de choisir parmi différents formats pour générer ma texture. J'ai le choix entre PDF, JPG et ZIP. Afin que mes textures soient compatibles avec un maximum d'autres applications, cette fonctionnalité doit être mise à ma disposition. | 1 | Elevée | Sprint 2
PIXEL CELL RATIO | En tant qu'Utilisateur, je souhaite, à l'aide de 2 ratios distincts, pouvoir exprimer combien de pixel représente une cellule sur une grille de génération et combien de pixel représente une cellule sur une grille de pattern. Par défaut, la valeur de ces ratio est 4 pixels = 1 cellule. Au minimum, la valeur de ces ratio est 1 pixel = 1 cellule. Tant que le selecteur de génération de couleur n'est pas positionné sur l'option "PATTERN TILING", le ratio qui s'applique à la grille de pattern n'est pas apparant. Afin de générer des textures pixellisées et une coloration pixellisée à ma convenance, cette fonctionnalité doit être mise à ma disposition. | 1 | Elevée | Sprint 2
LOG OPTIMIZATION | En tant qu'Uilisateur, je souhaite pouvoir lancer l'application en ligne de commande avec un argument pour specifier les paramètres du journal. Je souhaite parametrer le nombre d'actions maximum retenues par le journal et le nombre de cellules des différentes grilles de génération et grilles de pattern dont le contenu est sauvegardé. Par défaut respectivement 256 et 32768. Lorsque c'est le cas l'application se lance un mode Interface Utilisateur en prenant en compte les paramètres rentrés. Afin que l'application puisse au mieux répondre à mes besoins (performance ou gros projet), cette fonctionnalité doit être mise à ma disposition. | 3 | Moyenne | Sprint 2
TASKSMANAGER OPTIMIZATION | En tant qu'Uilisateur, je souhaite pouvoir lancer l'application en ligne de commande avec un argument pour specifier les paramètres du manageur de tâche. Je souhaite parametrer le nombre de threads présent dans la threadpool du manageur de tâche au démarrage de l'outils et le nombre maximum de tâches en attente dans la file d'attente lorsque tous les threads de la threadpool sont occupés au démarrage de l'application. Par défaut respectivement 4 et 4. Lorsque c'est le cas l'application se lance un mode Interface Utilisateur en prenant en compte les paramètres rentrés. Afin que l'application puisse au mieux répondre à mes besoins (performance ou gros projet), cette fonctionnalité doit être mise à ma disposition. | 3 | Moyenne | Sprint 2
UNDO | En tant qu'Utilisateur, je souhaite avoir accès à un raccourci clavier pour annuler ma dernière action. En l'utilisant, la dernière action effectuée sur l'espace de travail (qu'il s'agisse des grilles de génération ou des paramètres de génération) est annulée. Cela n'annule pas une sauvegarde ou une generation de textures. Cette action peut être utilisée plusieurs fois d'affilée et autant de fois que d'actions ont été réalisées sur l'espace de travail courant. Afin d'annuler des actions non pertinentes sur mon espace de travail courant, cette fonctionnalité doit être mise à ma disposition. | 5 | Normale | Sprint 2
REDO | En tant qu'Utilisateur, je souhaite avoir accès à un raccourci clavier pour réeffectuer une action annulée. En l'utilisant, la dernière action annulée est reeffectuée sur l'espace de travail (qu'il s'agisse des grilles de génération ou des paramètres de génération). Cela ne refait pas une sauvegarde ou une génération de textures. Cette action peut être utilisée plusieurs dois d'affilée et autant de fois que d'actions ont été annulées. Afin de refaire des actions annulées sur mon espace de travail courant, cette fonctionnalité doit être mise à ma disposition. | 5 | Normale | Sprint 2
CLEAR GRID | En tant qu'Utilisateur, je souhaite avoir accès à un raccourci clavier pour nettoyer le contenu de la grille de génération courante. En l'utilisant, le contenu de la grille de génération courante est remplacé par des cellules représentant des pixels vides. Un message demandant la confirmation de cette action apparait avant cela. Afin d'effacer le contenu d'une grille de génération plus rapidement, cette fonctionnalité doit être mise à ma disposition. | 2 | Normale | Sprint 2
BRUSH RATIO | En tant qu'Utilisateur, je souhaite avoir accès à des ratios me permettant de parametrer les pixels Corps/Vide et Corps/Bordure de ma brosse. En augmentant le ratio d'un côté à l'aide d'un raccourci clavier, cela diminue le ratio de l'autre côté. Le Minimum-Maximum est 1-99 pour ce ratio. Par défaut la valeur de ce ratio est 50-50. Afin de paramétrer la génération procédurale qui agit sur les textures, cette fonctionnalité doit être mise à ma disposition. | 2 | Normale | Sprint 2