liriodendron 0.2.0

Procedural Pixellized 2D Textures Generator with TUI
id | User story | Difficulté | Priorité | Planification
:---: | :--- | :---: | :---: | :---:
HELP | En tant qu'Utilisateur, je souhaite pouvoir lancer l'application en ligne de commande sans argument ou avec l'argument "-h" ou "--help". Lorsque c'est le cas, l'application imprime une aide concernant les différentes commandes que je peux utiliser en lançant l'application. Afin de savoir comment l'application peut répondre à mes besoins, je souhaite que cette fonctionnalité soit mise à ma disposition. | 1 | Elevée | Sprint 1
GRAPHIC | En qu'Utilisateur, je souhaite pouvoir lancer l'application en ligne de commande avec l'argument "-u" ou "--userinterface". Lorsque c'est le cas, l'application ouvre l'interface utilisateur dans le terminal pour générer des textures. J'ai accès à une grille de génération où chaque cellule représente un certain nombre de pixels de la texture pixellisée que je veux generer. Au démarrage de l'application, la grille de génération est composée de cellules représentant des pixels vides et est de taille 10x10. Afin de générer une texture qui réponde à mes besoins et qui puisse être représentée graphiquement, cette fonctionnalité doit être mise à ma disposition. | 2 | Elevée | Sprint 1
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
RESIZE GRID | En tant qu'Utilisateur, je souhaite avoir accès à deux champs de caractère ne pouvant comporter que des caractères numériques me permettant d'ajuster la largeur et la hauteur de toutes les grilles de génération. La largeur et la hauteur sont les mêmes pour toutes les grilles de génération. Une ligne de pixels vides est ajoutée par le bas de l'espace de travail et une colonne de pixels vides est ajoutée par la droite de l'espace de travail. Par défaut, la taille d'une grille de génération est de 10x10. L'espace de travail a une taille limitée (20x20). Si la taille de l'espace de travail (en largeur et/ou en hauteur) est inférieure à la taille des grilles de génération alors des manivelles sont mises à disposition aux côtés gauche et bas des grilles de génération pour naviguer dessus quelque soit leur taille. Afin de générer des textures plus ou moins grandes, cette fonctionnalité doit être mise à ma disposition. | 1 | Elevée | Sprint 1
GENERATE | En tant qu'Utilisateur, je souhaite avoir accès à un raccourci clavier me permettant de générer des textures. En l'utilisant, la(les) texture(s) est(sont) générée(s) dans le dossier où l'application a été lancée. Le nom des textures générées sont choisis selon les disponiblités dans le dossier courant et suivent un ordre numérique (décimal, hexadecimal ou alphanumérique). Afin de pouvoir générer la(les) texture(s) à partir de mon espace de travail, des grilles de génération, des options et des paramètres selectionnés, cette fonctionnalité doit être mise à ma disposition. | 2 | Elevée | Sprint 1
NEW WORKSPACE | En tant qu'Utilisateur, je souhaite avoir accès à un raccourci clavier me permettant de réinitialiser mon espace de travail. En l'utilisant, un message apparaît me proposant de sauver l'espace de travail courant ou d'annuler l'action. Si l'action n'est pas annulée, l'espace de travail est remis à son état "par défaut". Afin d'avoir un nouvel espace de travail, cette fonctionnalité doit être mise à ma disposition. | 1 | Normale | Sprint
QUIT | En tant qu'Utilisateur, je souhaite avoir accès à un raccourci clavier pour quitter l'application. En l'utilisant, l'application propose de sauver l'espace de travail courant ou d'annuler mon action via un message. Si l'action n'est pas annulée, l'application se ferme. Afin de pouvoir fermer l'application facilement, cette fonctionnalité doit être mise à ma disposition. | 1 | Elevée | Sprint 1
WORKSPACE NAME | En tant qu'Utilisateur je souhaite pouvoir choisir le nom du fichier de sauvegarde de mon espace de travail courant à l'aide d'un champs de caractère vide par défaut. Afin de pouvoir distinguer mes différents espace de travail, cette fonctionnalité doit être mise à ma disposition. | 1 | Normale | Sprint
SAVE WORKSPACE | En tant qu'Utilisateur, je souhaite avoir accès à un raccourci clavier me permettant de sauver mon espace de travail. En utilisant ce raccourci, l'application me propose de choisir un nom de fichier pour l'espace de travail courant. Une fois choisi et validé, un fichier avec l'extension ".liriodendron" est généré dans le dossier où l'application a été lancée. Si le nom de fichier selectionné n'est pas utilisé par un autre fichier dans le dossier courant, un fichier de sauvegarde est généré. Si le nom de fichier selectionné est utilisé par un fichier dans le dossier courant, cela signifie qu'il s'agit d'une ancienne sauvegarde. Le fichier de sauvegarde est donc remplacé par le nouveau. Un fichier de sauvegarde contient toutes les informations et paramètres de l'espace de travail courant encodé dans un format adapté. Afin de pouvoir sauver un espace de travail utilisé recemment, cette fonctionnalité doit être mise à ma disposition. | 5 | Normale | Sprint
LOAD WORKSPACE | En tant qu'Utilisateur, je souhaite pouvoir lancer l'application en ligne de commande dans mon terminal avec en paramètre "-u" ou "--userinterface" puis le nom d'un fichier comportant l'extension ".liriodendron". En effectuant cette action, l'application traduit et charge les données présentes dans le fichier de sauvegarde pour ouvrir un espace de travail. Afin de pouvoir restaurer un espace de travail sauvé ultérieurement, cette fonctionnalité doit être mise à ma disposition. | 5 | Normale | Sprint
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
NB GENERATION | En tant qu'Utilisateur je souhaite avoir accès à un champs de caractères ne comportant que des caractères numériques. Ce champs de caractère représente le nombre de textures que l'application génère lorsque j'utilise le raccourci clavier de génération. Par défaut, la valeur de champs de caractère est 1. Au maximum, la valeur de ce champs de caractère est 500. Afin de pouvoir générer un nombre plus ou moins grand de textures, cette fonctionnalité doit être mise à ma disposition. | 1 | Elevée | Sprint 1
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
CUSTOM SHORTCUTS | En tant qu'Utilisateur, je souhaite modifier les raccourcis clavier définis par l'application. Pour cela, je selectionne une raccourcis clavier parmi ceux présents dans l'espace raccourcis clavier. L'interface propose alors de selectionner un ensemble de touches. Afin de personnaliser et utiliser les combinaisons de touches avec lesquelles je suis familier, cette fonctionnalité doit être mise à ma disposition. | 8 | Faible | Sprint
DEFAULT SHORCUTS | En tant qu'Utilisateur, je souhaite avoir accès à un raccourci clavier pour remettre les raccourcis clavier de l'application par défaut. En l'utilisant, les raccourcis clavier que j'avais personnalisé sont maintenant effacés et remplacés par ceux présents dans l'application après son installation. Afin de rétablir les raccourcis clavier par défaut de l'application, cette fonctionnalité doit être mise à ma disposition. | 8 | Faible | Sprint
AXIS SYMETRY | En tant qu'Utilisateur, je souhaite avoir accès à une option "VERTICAL SYMETRY" et une option "HORIZONTAL SYMETRY". Les deux actions peuvent être selectionnées simultanément. En les selectionnant la grille de génération courante ne connaît aucune modification mais les textures sont générées symétriquement (selon l'axe X et/ou Y). Les autres grilles de générations dans l'espaces de travail dont une option de symétrie dans le même sens n'a pas été selectionnée voient leur taille doubler (en hauteur et/ou en largeur). Si l'option est selectionnée dans une grille de génération alors qu'une option de symetrie dans le même sens est déjà active sur une autre grille de génération alors les dimensions de la grille de génération courante sont divisées par deux (en hauteur et/ou en largeur). Si l'option est déselectionnée sur une grille de génération alors qu'une option de symétrie dans le même sens est active sur une autre grille de génération, la taille de la grille de génération courante est doublée (en largeur et/ou en hauteur). Si l'option est déselectionnée sur une grille de génération alors qu'aucune option de symétrie dans le même sens n'est active sur les autres grilles de génération, la taille des autres grilles est divisée par deux (en hauteur et/ou en largeur). Afin de genérer des textures symétriques selon un axe, cette fonctionnalité doit être mise à ma disposition. | 3 | Normale | Sprint
POINT SYMETRY | En tant qu'Utilisateur, je souhaite avoir accès à une option "POINT SYMETRY VERTICALLY" et une option "POINT SYMETRY HORIZONTALLY". Ces options ne peuvent pas être utilisées simultanément sur une même grille de génération ou entre deux grilles de génération différentes. Aucune de ces options ne peut être utilisée avec une option de symetrie selon un axe sur une même grille de génération. Entre deux grilles de génération différentes, il est possible d'utiliser une symétrie selon un point sur une première grille et une symétrie selon un axe sur une seconde grille si le sens de la symétrie est le même (horizontal ou vertical). En selectionnant l'une des options de symétrie selon un point, la grille de génération courante ne connaît aucune modification mais les textures sont générées symétriquement (selon un point situé sur l'axe X ou l'axe Y). Les autres grilles de générations dans l'espaces de travail dont une option de symétrie dans le même sens n'a pas été selectionnée voient leur taille doubler (en hauteur ou en largeur). Si l'option est selectionnée dans une grille de génération alors qu'une option de symétrie dans le même sens est déjà active sur une autre grille de génération alors les dimensions de la grille de génération courante sont divisées par deux (en hauteur ou en largeur). Si l'option est déselectionnée sur une grille de génération alors qu'une option de symétrie dans le même sens est active sur une autre grille de génération, la taille de la grille de génération courante est doublée (en largeur et/ou en hauteur). Si l'option est déselectionnée sur une grille de génération alors qu'aucune option de symétrie dans le même sens n'est active sur les autres grilles de génération, la taille des autres grilles est divisée par deux (en hauteur et/ou en largeur). Afin de genérer des textures symétriques selon un point, cette fonctionnalité doit être mise à ma disposition. | 5 | Faible | Sprint
ANIMATION | En tant qu'Utilisateur, je souhaite pouvoir lancer l'application en ligne de commande avec en arguments "-a" ou "--animation" puis des fichiers avec l'extension ".liriodendron" ou des textures. Si toutes les grilles de générations de ces fichiers ont la même hauteur, la même largeur, le même format de texture générée et le même ratio Cellule-Pixel, cette ligne de commande ne produit pas d'erreur. Si toutes les textures sont au même format et ont les mêmes dimensions, la ligne de commande de produit pas d'erreur. Si toutes les textures ont le même format que le format de texture générée par les fichiers avec l'extension ".liriodendron", la ligne de commande ne produit pas d'erreur. Si toutes les textures ont les mêmes dimensions que les textures générées par les fichiers avec l'extension ".liriodendron" (en prenant garde au ratio Cellule-Ratio, à la hauteur et à la largeur des grilles de génération), la ligne de commande ne produit pas d'erreur. Cela n'est possible que si la ligne de commande contient 2 noms de fichiers ou plus en arguments. Cela peut-être plusieurs fois le même fichier. Si la ligne de commande contient un ou des fichiers avec l'extension ".liriodendron", l'application propose de spécifier le nombre d'animations texturées à générer (maximum 100 et par défaut 1). Si les arguments de la ligne de commande sont des textures, l'animation est identique, l'application ne propose donc pas de générer plusieurs textures. La(Les) texture(s) générée(s) par cette ligne de commande utilise(nt) les textures ou fichiers dans l'ordre dans lequel ils ont été spécifiés dans la ligne de commande. Le format de la(des) texture(s) générée(s) est le même que celui spécifié dans tous les fichiers avec l'extension ".liriodendron" ou que celui utilisé par les textures. Afin de concevoir des animations pixellisées contenues dans une seule texture, cette fonctionnalité doit être mise à ma disposition. | 5 | Faible | Sprint
BORDER RATIO | En tant qu'Utilisateur, je souhaite avoir accès à un ratio sous la forme d'un champs de caractère ne contenant que des caractères numériques permettant de paramétrer la luminosité de la couleur d'un pixel bordure par rapport à celle d'un pixel corps. Un pixel bordure peut être plus clair qu'un pixel corps. Afin d'avoir des bordures sombres ou lumineuses, cette fonctionnalité doit être mise à ma disposition. | 1 | Normale | Sprint
SHADOWS | En tant qu'utilisateur, je souhaite avoir accès à des schémas d'ombres prédefinies grâce à un selecteur. Celui-ci contiendrait les options suivantes: "NONE", "CIRCULAR", "CROSS", "DIAGONAL_1", "DIAGONAL_2", "DIAG_CROSS", "VERTICAL", "HORIZONTAL", "SHAPE_ADAPTED", "DOWN", "LEFT". Par défaut "NONE". Afin d'appliquer un effet d'ombre sur mes textures, cette fonctionnalité doit être mise à ma disposition. | 3 | Faible | Sprint
SHADOWS INVERSION | En tant qu'Utilisateur, je souhaite avoir accès à une option sous la forme d'une case à cocher comportant la mention "SHADOWS INVERSION". Lorsque cette option est selectionnée (ne peut être selectionnée que si le selecteur SHADOWS contient une option différente de "NONE".), l'ombre appliquée sur la texture est inversée (les endroits assombris sont plus lumineux et inversement). Afin d'avoir un large choix d'ombre prédefinies, cette fonctionnalité doit être mise à ma disposition. | 2 | Faible | Sprint
SHADOWS INTENSITY | En tant qu'Utilisateur, je souhaite avoir accès à un ratio sous la forme d'un champs de caractère ne comportant que des caractères numériques et comportant la mention "SHADOWS INTENSITY". Ce ratio permet de parametrer la diffusion de l'ombre sur ma texture. Par défaut 1. Plus ce ratio est élevé plus les zones d'ombres sont voyantes. Afin d'avoir une ombre plus ou moins voyante sur ma texture cette fonctionnalité doit être mise à ma disposition. | 1 | Faible | Sprint
BRIGHTNESS | En tant qu'Utilisateur, je souhaite avoir accès à un ratio sous la forme d'un champs de caractères ne comportant que des caractères numériques et comportant la mention "BRIGHTNESS". Ce ratio permet de paramétrer la luminosité sur ma texture. Par défaut 1. Plus ce ratio sera élevé plus la couleur globale de la texture sera lumineuse. Afin d'avoir une couleur plus vive ou plus sombre sur ma texture, cette fonctionnalité doit être mise à ma disposition. | 1 | Normale | Sprint
GENERATION SELECTOR | En tant qu'Utilisateur, je souhaite avoir accès à un sélecteur me permettant de choisir parmi 5 options de génération de couleur: "NOISE", "RANDOM", "MULTINOISE", "CELLULAR AUTOMATON" et "PATTERN TILING", et un selecteur me permettant de choisir parmi 3 options de generation de pixel: "NOISE", "RANDOM" et "MULTINOISE". Par défaut "NOISE" pour les deux selecteurs. En selectionnant l'une de ces options, un ensemble de paramètres correspondant à l'option selectionnée, apparait. Afin de colorer et pixelliser ma texture de différentes manières, cette fonctionnalité doit être mise à ma disposition. | 2 | Normale | Sprint
NOISE TYPE | En tant qu'Utilisateur, une fois le sélecteur de génération de couleur ou de génération de pixel positionné sur l'option "NOISE", je souhaite avoir accès à un autre selecteur comportant la mention "NOISE TYPE". Parmi les options proposées par ce selecteur, il y a: "BILLOW", "CHECKERBOARD", "CYLINDERS", "OPENSIMPLEX", "PERLIN", "SUPERSIMPLEX", "VALUE" et "WORLEY". Si le selecteur de génération de couleur ou de génération de pixel est positionné sur l'option "MULTINOISE", le selecteur "MULTINOISE TYPE" propose les options suivantes: "BASICMULTI", "FBM", "HYBRIDMULTI" et "RIDGEDMULTI". Afin d'avoir des générations procédurales de couleur et de pixel qui conviennent à ma texture, cette fonctionnalité doit être mise à ma disposition. | 2 | Normale | Sprint
NOISE SEED | En tant qu'Utilisateur, une fois le sélecteur de génération de couleur ou de génération de pixel positionné sur l'option "NOISE" ou "MULTINOISE", je souhaite avoir accès à un champs de caractère ne contenant que des caractères numériques et comportant la mention "NOISE SEED". En modifiant ce champs, la seed du bruit utilisé est modifiée. Par défaut la valeur de cette option est 0. La limite de minimum et de maximum pour cette valeur est imposée par le stockage de cette valeur en un entier. Afin de varier le bruit autant que necessaire entre deux espaces de travail différents, cette fonctionnalité doit être mise à ma disposition. | 1 | Normale | Sprint
NOISE COLOR INTENSITY | En tant qu'Utilisateur, une fois le selecteur de generation de couleur positionné sur l'option "RAND", "NOISE" ou "MULTINOISE", je souhaite avoir accès à un curseur dont le minimum est 0, le maximum est 1 et comportant la mention "INTENSITY". Par défaut la valeur de ce curseur est 0.2. Plus la valeur de ce curseur est élevée, plus le bruit appliqué sur la couleur est visible. Afin de rendre plus ou moins visible le bruit appliqué sur la couleur de ma texture, cette fonctionnalité doit être mise à ma disposition. | 1 | Normale | Sprint
MULTINOISE PARAMETERS | En tant qu'Utilisateur, une fois le sélecteur de génération de couleur ou de génération de pixel positionné sur l'option "MULTINOISE", je souhaite avoir accès à un curseur allant de 1 à 32 comportant la mention "MULTINOISE OCTAVE" et 3 champs de caractères ne contenant que des caractères numériques comportant les mentions "MULTINOISE LACUNARITY", "MULTINOISE FREQUENCY" et "MULTINOISE PERSISTENCE". Les valeurs par défauts de ces 4 champs, dépendent de la valeur selectionné dans le selecteur "MULTINOISE TYPE". En modifiant ces champs, le bruit multiple utilisé est modifié. Afin de configurer le bruit multiple que j'utilise pour la génération de la couleur ou la génération des pixels, cette fonctionnalité doit être mise à ma disposition. | 1 | Normale | Sprint
NOISE COLOR VARIATION | En tant qu'Utilisateur, une fois le selecteur de génération de couleur positionné sur l'option "NOISE" ou "MULTINOISE", je souhaite avoir accès à un curseur comportant la mention "COLOR VARIATION". Par défaut, ce curseur est à 0. Plus le curseur est élevé plus le nombre de couleur qui peuvent au cours de la génération est élevé. Afin de varier le nombre de couleur sur ma texture, cette fonctionnalité doit être mise à ma disposition. | 3 | Normale | Sprint
NOISE COLOR PICKERS | En tant qu'Utilisateur, une fois le selecteur de génération de couleur positionné sur l'option "NOISE" ou "MULTINOISE", je souhaite avoir accès à 2 selecteurs comportant les mentions "COLOR_1" et "COLOR_2". Ces selecteurs proposent les options suivantes: "RANDOM", des couleurs prédéfinies, "RANDOM PREDEFINED COLOR" et la possibilité de rentrer sa couleur au format hexadecimal. Par défaut, les valeurs de ces selecteurs sont respectivement "RANDOM PREDEFINED COLOR" et "BLACK". En modifiant, le selecteur "COLOR_1", je modifie la couleur principale de ma texture. En modifiant, le selecteur "COLOR_2", je modifie la couleur vers laquelle ma texture tend lorsque le bruit de génération de la couleur se rapporoche de la valeur 0. Afin de choisir les couleurs les plus voyantes sur ma texture, cette fonctionnalité doit être mise à ma disposition. | 3 | Faible | Sprint
CUSTOM NOISE FUNCTION | En tant qu'Utilisateur, je souhaite charger ma fonction de bruit pour generer ma couleur ou mes pixels en ligne de commande. Pour utiliser la fonction de bruit pour la génération de couleur, en lançant l'application, j'ajoute l'argument "-n" ou "--noisefunctioncolor" suivi du nom de mon fichier contenant la fonction de bruit pour generer ma couleur. Pour utiliser la fonction de buit pour générer mes pixels en ligne de commande, j'ajoute l'argument "-N" ou "--noisefunctionpixel" suivi du nom du fichier contenant la fonction de bruit pour générer les pixels de la texture. Le fichier doit avoir l'extension ".rs", doit être écrit en RUST et contenir certaines specifications pour que la ligne de commande ne provoque pas d'erreur. Il n'est ensuite pas possible de modifier le selecteur de generation de bruit si l'option "-N" ou "--noisefunctionpixel" a été utilisée, tant que l'application n'est pas fermée. Il n'est également pas possible de modifier le selecteur de generation de couleur si l'option "-n" ou "--noisefunctioncouleur" a été utilisée, tant que l'application n'est pas fermée. Ces selecteurs sont bloqués sur l'option "CUSTOM NOISE FUNCTION". Afin d'implémenter ma propre fonction de bruit en RUST pour générer la couleur ou les pixels de ma texture, cette fonctionnalité doit être mise à ma disposition. | 13 | Faible | Sprint
OFFSET | En tant qu'Utilisateur, une fois le sélecteur de génération de couleur positionné sur l'option "NOISE", "CELLULAR AUTOMATON" ou "MULTINOISE", ou le selecteur de génération de pixel positionné sur l'option "NOISE" ou "MULTINOISE", je souhaite avoir accès à deux champs de caractère ne contenant que des caractères numériques comportant respectivement les mentions "OFFSET X" et "OFFSET Y". Par défaut, tous les deux à 0. En modifiant ces valeurs, la fonction de génération de la couleur ou de génération des pixels est décalé en X et/ou Y en fonction des valeurs rentrées. Afin de décaler légerement (ou plus amplement) la fonction utilisée par la génération de couleur et la génération de pixel de ma texture et faciliter la création d'animation, cette fonctionnalité doit être mise à ma disposition. | 2 | Faible | Sprint
ZOOM | En tant qu'Utilisateur, une fois le selecteur de géneration de couleur positionné sur l'option "NOISE", "CELLULAR AUTOMATON" ou "MULTINOISE3, ou le selecteur de géneration de pixel positionné sur l'option "NOISE" ou "MULTINOISE", je souhaite avoir accès à un champs de caractère ne contenant que des caractères numériques comportant la mention "ZOOM". Par défaut à 1. En modifiant cette valeur, la fonction utilisée pour la génération de la couleur ou la génération de pixel est zoomée ou dézoomée en fonction de la valeur rentrée. Afin de créer des effets de zoom ou de dézoom sur le fonction utilisée par la génération de couleur et la génération de pixel de ma texture et faciliter la création d'animation, cette fonctionnalité doit être mise à ma disposition. | 2 | Faible | Sprint
SIGNS | En tant qu'Utilisateur, une fois le selecteur de génération de couleur positionné sur l'option "CELLULAR AUTOMATON", je souhaite avoir accès à un curseur comportant la mention "SIGNS". Par défaut la valeur de ce curseur est 3, le minimum est 3, le maximum est 101 et s'incrémente de 2 en 2. Plus le curseur est élevé plus l'automate cellulaire utilise de signes (et donc de couleurs). Afin de génerer des textures plus ou moins colorées, cette fonctionnalité doit être mise à ma disposition. | 5 | Faible | Sprint
CA COLOR PICKERS | En tant qu'Utilisateur, une fois le selecteur de génération de couleur positionné sur l'option "CELLULAR AUTOMATON", je souhaite avoir accès à autant de selecteurs qu'il y a de signes utilisés par l'automate cellulaire. Chaque selecteur comporte la mention "COLOR" + i allant de 1 jusqu'au nombre de signes utilisés par l'automate cellulaire. Ces selecteurs proposent les options suivantes : "RANDOM", des couleurs prédéfinies, "RANDOM PREDEFINED COLOR" et la possibilité de rentrer sa couleur au format hexadecimal. Par défaut les valeurs de ces selecteurs sont "RANDOM PREDEFINED COLOR". En modifiant la couleur de l'un de ces selecteurs, je modifie la couleur représentant un signe employé par l'automate cellulaire. Afin de choisir les couleurs utilisées sur ma texture, cette fonctionnalité doit être mise à ma disposition. | 3 | Faible | Sprint
FRAME | En tant qu'Utilisateur, une fois le selecteur de géneration de couleur positionné sur l'option "CELLULAR AUTOMATON", je souhaite avoir accès à un champs de caractère contenant uniquement des caractères numériques et comportant la mention "FRAME". Plus ce paramètre est grand, plus il faut d'iteration pour calculer les couleurs renvoyées par l'automate cellulaire. Afin de générer des motifs plus ou moins déformés par l'automate cellulaire sur ma texture, cette fonctionnalité doit être mise à ma disposition. | 3 | Faible | Sprint
CUSTOM CA FUNCTION | En tant qu'Utilisateur, je souhaite charger mon automate cellulaire pour generer ma couleur en ligne de commande. Pour utiliser mon automate cellulaire pour la génération de couleur, en lançant l'application, j'ajoute l'argument "-c" ou "--cellularautomaton" suivi du nom de mon fichier contenant mon automate cellulaire pour generer ma couleur. Le fichier doit avoir l'extension ".rs", doit être écrit en RUST et contenir certaines specifications pour que la ligne de commande ne provoque pas d'erreur. Il n'est ensuite pas possible de modifier le selecteur de generation de couleur si cette option a été utilisée. Tant que l'application n'est pas fermée, ce selecteur est bloqué sur l'option "CUSTOM CA FUNCTION". Afin d'implémenter mon propre automate cellulaire en RUST pour générer la couleur de ma texture, cette fonctionnalité doit être mise à ma disposition. | 13 | Faible | Sprint
GRID PATTERN | En tant qu'Utilisateur, une fois que le selecteur de génération de couleur est positionné sur l'option "PATTERN TILING", je souhaite avoir accès à une grille où chaque cellule représente un certain nombre de pixel du pattern pixellisé pour colorer ma texture. Par défaut, la taille de la grille est de 5x5 et la grille est composée de pixels spécifiques de couleur blanche. Afin de génerer une texture où un pattern que j'ai conçu, est appliqué par pavage, cette fonctionnalité doit être mise à ma disposition. | 8 | Faible | Sprint
RESIZE GRID PATTERN | En tant qu'Utilisateur, une fois que le selecteur de génération de couleur est positionné sur l'option "PATTERN TILING", je souhaite avoir accès à deux champs de caractère ne pouvant comporter que des caractères numériques me permettant d'ajuster la largeur et la hauteur de la grille de pattern. Une ligne de pixels spécifiques de couleur blanche est ajoutée par le bas et une colonne de pixels spécifiques de couleur blanche par la droite de la grille de pattern. L'espace de travail a une taille limitée (8x8). Si la taille de la grille de pattern est supérieure à la taille de l'espace de travail alors des manivelles sont mises à disposition sur les côtés bas et gauche de la grille de pattern pour naviguer dessus quelque soit sa taille. Afin de dessiner un pattern plus ou moins grand sur ma texture, cette fonctionnalité doit être mise à ma disposition. | 1 | Faible | Sprint
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
BRUSH | En tant qu'Utilisateur, je souhaite avoir accès à une brosse. Celle-ci permet, à l'aide de la souris, de remplir/vider les cellules de la grille de génération ou de colorer/blanchir la grille de pattern. Un clic gauche remplit la cellule de la grille de génération ou modifie une cellule de la grille de pattern sur laquelle la souris se trouve. Un clic droit efface le contenu de la cellule de la grille de génération ou blanchit la cellule de la grille de pattern sur laquelle la souris se trouve. La brosse peut remplir une cellule de la grille de generation par: un pixel Corps/Vide, un pixel Corps/Bordure, un pixel Bordure, un pixel Corps ou un pixel Specifique de couleur. Ces options sont présentes dans un selecteur et definissent les actions possibles que la brosse peut effectuer. L'action courante de la brosse est mise en évidence dans le selecteur. La brosse peut uniquement modifier une cellule de la grille de pattern par un pixel Specifique de couleur. Afin de pouvoir modifier le contenu de mes grilles de generations ou de ma grille de pattern, cette fonctionnalité doit être mise à ma disposition. | 5 | Elevée | Sprint 1
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
CLEAR PATTERN | En tant qu'Utilisateur, une fois que le selecteur de génération de couleur est positionné sur l'option "PATTERN TILING", je souhaite avoir accès à un raccourci clavier me permettant de nettoyer le contenu de la grille de pattern. En l'utilisant, le contenu de la grille de pattern est remplacé par des cellules représentant des pixels spécifiques de couleur blanche. Un message demandant la confirmation de cette action apparait avant cela. Afin d'effacer le contenu d'une grille de pattern plus rapidement, cette fonctionnalité doit être mise à ma disposition. | 2 | Faible | Sprint
SLICING GRID SIZE | En tant qu'Utilisateur, une fois que le selecteur de génération de couleur est positionné sur l'option "PATTERN TILING",  je souhaite avoir accès à 2 champs de caractère ne pouvant contenir que des caractères numériques et comportant la mention "SLICING GRID WIDTH" et "SLICING GRID HEIGTH". Plus ces paramètres sont élevés, plus la grille de découpage du pattern découpe le pattern en morceaux fins. Par défaut les valeurs de ces champs de caractères sont 2. Ces valeurs ne peuvent qu'être des diviseurs de la taille de la grille de pattern. Afin de découper mon pattern et construire un pavage qui me convienne, cette fonctionnalité doit être mise à ma disposition. | 8 | Faible | Sprint
SWITCH VIEW | En tant qu'Utilisateur, je souhaite avoir accès à un raccourci clavier me permettant de modifier l'application pour qu'elle passe entre la "vue Paramètres" et la "vue Edition". Par défaut l'application est en "vue Edition". En "vue Edition" j'ai accès à la grille de génération, à la section raccourcis clavier et à la section Brosse. En "vue Paramètres", j'ai accès à toutes les sections sauf à celle de la grille de génération. En utilisant la combinaison de touches, l'application passe d'une vue à l'autre. Afin d'avoir une meilleur visibilité de mes grilles de generation et des différentes fonctionnalités de l'application, cette fonctionnalité doit être mise à ma disposition | 3 | Elevée | Sprint 1
LOG VALUES | En tant qu'Utilisateur, je souhaite avoir accès à un compteur me permettant de savoir le nombre de pixels que je peux encore remplir sur les grilles de generation et de pattern. Lorsque j'ai franchi ce seuil, un message apparait et me dit qu'il n'est pas possible de remplir plus de cellules sur les grilles lorsque je tente de remplir une cellule d'une grille. Il propose les solutions suivantes: effacer le contenu de certaines cellules, ou quitter l'application et la relancer en paramétrant le log avec une meilleure capacité. Afin d'avoir une application performante je souhaite que cette fonctionnalité soit mise à ma disposition. | 3 | Elevée | Sprint 1
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
TUTORIAL | En tant qu'Utilisateur, je souhaite avoir pouvoir lancer l'application en ligne de commande avec l'argument "-t" ou "--tutorial". Lorsque c'est le cas, l'application passe en mode "Tutorial" et me fait passer un tutoriel. Afin d'être eduqué sur les différentes fonctionnalités présentes sur l'application, cette fonctionnalité doit être mise à ma disposition | 8 | Faible | Sprint