ZeMarmot

ZeMarmot

Page vérifiée Creado el 4 de abril de 2016 Contacto

ZeMarmot Monthly report: August 2019

- 0
  • [ français — English below ]

    Encore un mois des plus mouvementés! 😃 Voyons donc ce qu'il s'est passé dans notre studio associatif:

    # Animation

    Aryeom a continué à travailler sur une scène assez longue. Plus que des mots, on vous montre quelques images animés dans la vidéo ci-dessus. Quelques séquences furent animées ce mois-ci, d'autres sont un peu plus vieilles. Vous remarquerez que pas tout n'est animé encore.

    Nous avons aussi inclus une petite séquence qui va direct à la poubelle, par transparence du fonctionnement du travail d'animateur. Ici, petite erreur 😅, une entrée de terrier fut oubliée! Par conséquent nous avons animé la marmotte qui court vers le mauvais terrier! (pourquoi en effet irait-elle se cacher dans un trou au loin si elle en a un juste à ses pieds? Ce serait une erreur de script). Comme dans tout travail, les erreurs font partie du quotidien. Il faut savoir faire avec. De même qu'en développement, pour quelques lignes de code que vous voyez, si vous saviez le nombre de lignes qui furent testées puis jetées!…

    # Santé

    Aryeom a aussi eu quelques problèmes d'épaule et de dos dernièrement, donc elle a encore eu une série de rendez-vous chez la kinésithérapeute. En parallèle, nous avons cherché à améliorer ses conditions de travail, ce qui n'est pas une tâche aisée, car son travail est stressant pour le corps presque par nature (passer des heures à dessiner). On se dit qu'il faudra qu'on fasse un article dédié sur le sujet des positions et du matériel un jour, car c'est un sujet intéressant et surtout très important pour tous les artistes numériques.

    # Prise en charge des greffons Python 3, JavaScript et Lua dans GIMP 3

    Côté GIMP, un sujet de longue date était le besoin de passer à la prise en charge de Python 3 (GIMP prend actuellement en charge les plug-ins en Python 2, or la fin de vie de Python 2 est programmée pour janvier 2020!) mais personne ne semblait prêt à travailler sur ce port. Sur ZeMarmot, nous n'avons pas urgemment besoin de cela, mais nous sommes conscient que c'est un prérequis nécessaire pour GIMP. C'est un pari sur le long terme. Jehan a donc décidé de s'y pencher. De manière surprenante ce ne fut pas si complexe. En juste quelques heures, on avait un greffon démo tournant avec Python 3. Par contre, comme le diable se cache dans les détails, c'est vraiment tout les petits détails qui ont pris 3 semaines à être mis en place.

    Comme cette nouvelle implémentation est basée sur GObject Introspection (une suite d'outil qui extrait les métadonnées d'une bibliothèque C pour permettre la création de bindings, c'est à dire une liaison avec d'autres languages), GIMP a en fait obtenu la prise en charge d'autres langages, potentiellement.

    À ce jour, nous avons confirmé la prise en charge des langages suivants (c'est à dire que nous avons écrit des greffons de démonstration et fonctionnels): Python 2 et 3 (vous remarquerez que la prise en charge de Python 2 n'a pas disparu, bien que nous ne ferons pas d'effort particulier dans ce sens), JavaScript et Lua.

    # Meilleur accompagnements des développeurs de greffons

    Vous vous rappelez sûrement que Jehan travaille aussi avec passion sur le système de gestion des extensions de GIMP. Pour nous, c'est en fait le même sujet. GIMP a eu beaucoup de greffons tiers dans son histoire, celle-ci étant longue de nombreuses années. Mais on voit clairement que ces greffons sont peu maintenus, perdus sur des sites abandonnés sur le web, et parfois même certains extrêmement intéressants n'ont pas le suivi qu'ils méritent. Il existe aussi de nombreux tutoriels sur le web, et bien sûr sur le site officiel de GIMP même, mais la qualité de ces tutoriels laisse souvent à désirer.

    Un de nos souhaits est donc d'améliorer l'écosystème de greffons, non nécessairement en quantité, mais surtout en qualité. Bien sûr, il faudra que nous écrivions de meilleurs tutoriels d'une part. Une autre étape est d'avoir des exemples concrets à suivre. Nous avons donc créé dans GIMP 3 un nouveau sous-menu "Développement" qui contient des greffons de démonstrations dans tous les languages officiellement confirmés. Ces greffons afficheront leur propre code dans une fenêtre et font tous le même traitement simple (inversion de couleur avec GEGL) sur l'image active. Un lien est aussi cliquable si vous souhaitez accéder à la dernière version du code en ligne pour le lire dans de meilleurs conditions.

    # Interface de greffon GIMP améliorée

    Mitch, notre cher mainteneur, a sauté sur le train des greffons et a fait un superbe travail (comme toujours) pour rendre l'interface (API) bien plus agréable pour créer des greffons. Pendant ce temps, Jehan a aussi rendu l'interface orientée objet. Un des effets de bord sympathique est que le code des scripts sera bien plus simples.

    Ainsi l'équivalent de ce code C:

    > dup = gimp_image_duplicate (image);

    est:

    > dup = image.duplicate()

    (désolé si vous n'êtes pas trop dans la technique, cela n'est peut-être pas très excitant! 🤔)

    # Travail en cours: communication bi-directionnelle avec les greffons

    Une autre conséquence très sympa sera qu'on veut se raccrocher aux systèmes de signaux de GObject pour fournir une infrastructure de signaux de GIMP vers les greffons. En effet l'une des limitations majeures du système de greffon actuel est que la communication est à sens unique: les greffons peuvent contacter GIMP pour obtenir des informations, mettre à jour des images ou demander des changements; par contre GIMP ne peut pas contacter les greffons, hormis au moment du lancement.

    Notamment les greffons ne sont pas notifiés lorsque des images sont crées, supprimées, lors des calques sont ajoutés, mis à jour, déplacés ou retirés, ou quand diverses actions sont faites.

    Nous avons nous-même un cas d'usage puisque le GIMP que nous utilisons a en fait une petite modification sur la façon donc les calques sont renommés automatiquement (vous savez, lorsque vous créez un calque et qu'il s'appelle "Copie de calque" ou encore "Calque #1", puis "Calque #2", etc.) Nous voulions un algorithme de renommage légèrement différent mais cela ne fut jamais intégré à GIMP car cela change une logique à laquelle les gens se sont habitués depuis des dizaines d'années. Ce n'est pas un problème. GIMP n'est pas que pour nous et c'est normal de faire des compromis pour le cas général. Par contre, ne serait-il pas mieux si les greffons autorisaient à personnaliser GIMP, chacun selon ses spécificités d'usage?

    Je me rappelle aussi de demandes de fonctionnalités que nous avons dû refuser dans le passé car ils allaient contre l'usage acquis. Par exemple on se souvient de quelqu'un qui voulait utiliser les couleurs d'avant et arrière plan d'une manière particulière avec des retournements automatiques. Nous avons bien entendu dû refuser car les concepts d'avant/arrière plan sont simples par concept et ne doivent pas être ainsi dévoyés pour des usages particuliers. Cependant ce jour là, j'aurais aimé pouvoir répondre à cette personne « désolé, nous ne changerons pas GIMP, mais vous pouvez faire très facilement ce que vous souhaitez avec un greffon ».

    Si tout se passe bien, nous pourrons bientôt dire ce genre de choses aux gens! Bien que Jehan ait déjà une implementation fonctionnelle (ce n'est donc pas théorique, la fonctionnalité est quasiment là), c'est encore considéré comme travail en cours car nous discutons des implémentations alternatives qui pourraient être meilleures techniquement.

    Notons finalement que nous sommes conscients que les deux exemples peuvent paraître absurdes. Pourquoi le nommage automatique des calques ou l'usage des couleurs de premier ou d'arrière plan importerait tant? Individuellement ce n'est pas si grave. Mais qu'importe si on considère ces quelques exemples comme peu pertinents pour soi? C'est la possibilité de faire de GIMP ce que l'on veut qui importe! Pouvoir améliorer ses outils soi-même, bidouiller son processus de travail, se simplifier la vie et améliorer ses tâches quotidiennes en intégrant des changements qui peut-être n'ont aucun sens pour le commun des gens mais font toute la différence pour soi! Qui peut juger de cela sinon soi-même?

    C'est ainsi que ce qui importe sont des logiques saines par défaut et la possibilité de personnalisés ces logiques pour les modeler à nos usages particuliers. Cela n'en ferait-il pas un outil ultime?

    Nous espérons donc que vous avez apprécié notre rapport d'août!

    À bientôt! 👋

    Équipe ZeMarmot

  • [ English ]

    This month was a bit hectic… again! 😃 Here is what happened lately in our non-profit studio:

    # Animation

    Aryeom continued working on a long scene, but more than words, we thought we'd show you some more images this month in the above video. Some parts are newly done, some were done before, and you'll note that some cuts are not animated yet.

    In the video, we also included a small cut which is going to the trash. We did it for transparency of how animation works, and the errors anyone can make 😅. In this case, because a burrow hole was forgotten, she animated the wrong marmot's movements (why would the marmot go and hide in a far-away burrow when there is one just under! It would clearly be a script error). It's actually quite interesting to see that in any job, errors are part of the job. Just as in software development too, you can only see a small part of the code. To get there, how many lines of code were tested then trashed away?!

    # Health

    Aryeom also has some back and shoulder issues, hence have been seeing (again) a physiotherapist lately. So we have been working on improving a bit her work conditions. It's hard because her job is inherently very difficult and straining for the body. I think we should do a dedicated post at some point about the issue of work positions and material, because it is quite an important topic for any digital artist out there.

    # Support of Python 3, JavaScript and Lua plug-ins in GIMP 3

    On GIMP side, a long-running topic has been supporting Python 3 plug-ins (GIMP currently supports Python 2 plug-ins, whose end of life support is supposed to be on January 2020!) but nobody seemed able or willing to work on it. We don't necessarily need this urgently for ZeMarmot but it is obviously a hard requirement for GIMP as a whole, so Jehan decided to give it a look. Unexpectedly it was quite easy and we got a working proof-of-concept Python 3 plug-in in just a few hours. As we all know, the details is what really takes time, so in the end, it took a whole 3 weeks. Since the new implementation is based on GObject Introspection (tools to extract metadata from a C library, hence allowing to create bindings from other languages), we even gained simultaneously support for many other languages.

    The new supported languages for GIMP plug-ins which have been confirmed so far (i.e. we were at least able to create demo plug-ins) are: Python 2 and 3 (yep we didn't even lose Python 2 support, though we obviously won't give much efforts there), JavaScript and Lua.

    # Better accompany plug-in developers

    You know Jehan is also working on the extension management system and website. This is a whole and same topic actually. Up to now, GIMP has a lot of plug-ins because it has been there for so long. But maintenance over time is not often there and finding support for plug-in creation has always been a hard task (there are some tutorials on the web, and of course on the official GIMP website too, but seriously most are terrible).

    We'd like to get a saner plug-in ecosystem so we'll try to write up some better tutorial in the future. And as a first step, we decided to write a demo plug-in for every supported language we confirmed to work. So in GIMP 3, you will find a new "Development" menu with demo plug-ins. They show their own code and all do the same very simple image manipulation (inverting colors with GEGL). A link is also present which sends you to the last version of the source code online, in case you want to see the code in better conditions, or simply download it.

    # Improved GIMP API

    Mitch, our dear maintainer, jumped in on the plug-in train and did an awesome work (as usual) to improve the existing API. Creating plug-ins has become much nicer now. In the meantime, Jehan worked to add object-orientation in the API. One of the nice side effects is that introspected bindings are now nicer to write. So for instance the Python equivalent of:

    > dup = gimp_image_duplicate (image);

    is:

    > dup = image.duplicate()

    (sorry if you are not into techniques and don't see the point of this part! 🤔)

    # Work-in-progress: bi-directional communication with plug-ins

    The other very cool side effect it will have is that we want to be able to hook into the signal system of GObject to provide core to plug-in signalling. Basically one of the most crucial limitations of GIMP plug-ins is that it is mostly mono-directional: plug-ins mostly contact GIMP core to get information, or to request changes, to update images, and so on; on the other hand GIMP cannot tell anything to plug-ins, except at start.

    In particular plug-ins don't get notified when images get created or removed, when layers are created, updated, reordered or deleted, or when various actions are done.

    We have one such example ourselves. Atop our own builds of GIMP, we have a commit for different automatic renaming of the layers (you know, when you create a new layer and it is named "Layer Copy", then "Layer #1", "Layer #2" and so on). We wanted something different but our commit never made it to GIMP because it just changes logics people have been getting used to for dozens of years. Well it's fine. GIMP is not just for us and it's normal to make compromises. Yet it would be nice if plug-ins were able to customize GIMP how people want it for personal use cases.

    I also remember someone who once made a report because one was using the foreground/background colors in a specific way and wanted some automatic color switch or something. Anyway this obviously had to be refused. FG/BG colors have a specific usage logic and we can't change this to cater to anyone whim. Yet I always wished I had been able to tell this person « sorry we won't change GIMP, but you could very easily make a plug-in which does this for you ».

    Well hopefully we soon will. Though Jehan already has a working implementation (so it's nothing theoretical, it's basically nearly there), this is still work-in-progress as we are discussing alternative implementations which may be technically better.

    Also note that both the layer naming or the FG/BG colors examples may sound silly. One might wonder why it matters so much. Well these individually don't matter much. Really. I would perfectly agree if someone thought our wish to different automatic naming algorithm was a bit useless; as much as I find the desire to use FG/BG colors in unexpected ways weird too. But who cares? The point is to give people the possibility to use GIMP however they want, and however it will improve, simplify or speed up their workflow. Who is anyone else to judge if it actually helps them?

    Sane defaults and good customization support is a very good bargain in our opinion. Wouldn't it make it an even better tool?

    We hope you enjoyed our August report!

    See you soon! 👋

    ZeMarmot team

  • [ English — français plus bas ]

    Hey all!

    When it comes to reports, we definitely procrastinate… a lot! We know we need to communicate more. Fortunately you are all awesome, so thanks for understanding!

    When it comes to animation and code though, we are definitely not procrastinating (actually our way of procrastinating away from communication is to work more!). So here is a quick'n dirty report of what happened in the last months.

    Animation

    The video above shows some extracts of animation work by Aryeom. We are sorry for the video quality. These are actually concatenated videos we posted on social networks and most of the time, end of day, we'd just take a quick phone video of the screen (yeah no kidding! It's not like these are finale renders so we kind of take the ugly shortcut) to publish while on the bus.

    Anyway that's a lot of work here, hundreds of images, redone animations, experiments, hair tearing, and so on. And as you can see, she even worked with some basic 3D (in Blender) for a broken glass effect. I don't know, if ever you like what she does, don't hesitate to tell Aryeom. It's really a hard work! She even got some small tendinitis on the left shoulder recently and has to see the physiotherapist again. Send her some love!

    GIMP development

    On coding side, so much has happened since we last talked that it would take a novel to tell it all:

    Recently we ported the GIMP API for plug-ins to GObject Introspection. In less technical terms, it means that GIMP 3 will support plug-ins in Python 3. But even more, it should be possible to make plug-ins in any language with a GObject Introspection binding. Who knows if we'll soon see plug-ins in JavaScript, Go, Objective Caml or any other fancy script language in the future?

    As a general rule, the work on making GIMP 3 a reality is really really going strong lately. Don't ask us for a date! We won't give any. Not because we don't want, but simply committing to a deadline is just not possible (or would be a lie). Nevertheless even in our studio, we are discussing of maybe moving to using the development branch for the production of ZeMarmot. We are that much confident that GIMP 3 dev code is getting very good.

    We worked with our macOS contributor to set up a public repository on GNOME infrastructure for the macOS package of GIMP in order for the package creation and continuous integration to be as transparent as possible. The ultimate goal is to come up with a set of rules for proper packaging, for the sake of security with a building chain of trust. We have been discussing with other third party packagers, for instance the AppImage one (we met him during Libre Graphics Meeting), and we are talking of applying such rules to welcome more packages as "official". Of course, it takes time, and since we are kind of juggling with so much (and since we don't need packaging ourselves; working on this is purely for the sake of the community), it still happens a bit too slowly.

    ‣ There are also the other projects we started and kind of left hanging. For one, we have wanted to get touch support in GIMP 3. We started some development, but nothing advanced enough to be pushed yet. Hopefully we can continue working on this soon.

    The other thing I worked on was multi-selection of layers, especially for organization purpose (when you work with several dozen of layers and want to reorganize half of them in layer groups or such, this is just so tedious you want to cry!). Unfortunately this is also one of these projects which I had to leave in a completely unusable state after several days of work. It will definitely need some dedication if we want to make this happen (we welcome contributions by the way!).

    Still in the main development branch, we contributed quite a bit to port file support plug-ins in particular for the "space invasion" project, quite a long-term project now (we were already talking about this at the GIMP 2.10.8 release news, 8 months ago), whose goal is to better handle color profiles. So that's mostly for people needing some advanced color support, as you can imagine.

    We also improved the interaction with the Free Select tool: when you do a quick copy or cut, with alt+shift or alt+ctrl respectively, you won't have to commit the selection anymore (Free Selection is a tool which Aryeom uses a lot so these kinds of productivity details matter quite a lot to us).

    There are much more which either is not worth listing (many bug fixes, some minor features in TIFF and HEIF support, etc.) or simply I don't remember. This is still the gist of it.

    But really the major big project I have been working on in the last few weeks (I haven't mentioned it above because it's just not to be put on same value for us) is that I am redoing from scratch our animation support in GIMP. Yep, you read it well! I am not crazy either!

    Actually I started to hate my own plug-in and code. It was very advanced and huge. But it was becoming harder and harder to maintain. It was a bit depressing even. You might have wondered why the plug-in had never been released officially in GIMP so far. This is because I just never thought we reached a quality level where it was releasable material. We had never been really happy about what we did. As simple as that.

    Instead we are now going (hard)core! Animation will become a native feature! This will be 100 times better as we will bring new concepts to images making file organization a lot more manageable too. And we already have a lot of code facilities in GIMP to deal with complex code, such as multi-threading (this was one of the problem in the plug-in as I had to reimplement a lot of multi-threading helper code which we already had in GIMP itself), or management of huge memory. The fact that plug-in communication with GIMP core is one-sided is also a terrible efficiency issue. I think with our plug-ins needing such advanced features, we just reached the limits of what the GIMP plug-in API can provide (a long term project would really be to improve this API drastically!).

    In just a few weeks, I am actually already pretty happy of what I got so far (even though still not releasable). Hopefully it will continue this way!

    So yeah, dropping years of code was a very huge decision, but I am very happy we did it. Sometimes it's just better to know when you made something wrong and drop it.

    And here it is! I hope you like what you are seeing/reading, because it's the result of a lot of sweat and hard work. We love Free Software, we love Libre animation, we love marmots (free marmots!), and we love you for supporting us!

    Thanks all!

    Jehan, on behalf of ZeMarmot team

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

    [ Français ]

    Bonjour à tous!

    Vous le savez depuis le temps: on procrastine nos rapports pas-toujours-si-mensuels à mort! On sait: on devrait communiquer plus, mais c'est dur. On vous remercie d'ailleurs de tout cœur pour être compréhensifs et nous soutenir!

    Par contre, quand il s'agit d'animation ou de développement, là on ne procrastine plus (c'est plutôt l'inverse: c'est ainsi qu'on procrastine pour ne pas avoir à fare nos rapports!). Voici donc notre rapport rapide pour les 2 derniers mois.

    ZeMarmot: animation

    La vidéo plus haut montre des extraits du travail d'animation par Aryeom. Désolé de la qualité vidéo. Ce sont en fait des vidéos prises avec un téléphone et concaténées. Sans rire, quand on veut juste publier un extrait sur les réseaux sociaux en fin de journée, on fait juste une vidéo vite fait de l'écran (c'est pas comme si c'était un rendu final!) en partant pour ensuite publier dans notre trajet en bus. Ne nous en veuillez pas trop! 😛

    Quoiqu'il en soit, ces quelques images représentent un travail assez énorme. Des centaines d'images, pour certaines faites et refaites de nombreuses fois, des expériences gardées ou jetées, des cheveux arrachés. Y a de tout ça dans ces images! Dernièrement elle a même travaillé un peu avec de la 3D simple (dans Blender) pour intégrer quelques effets. D'ailleurs si vous aimez ce que fait Aryeom, ne pas hésiter à lui dire! C'est vraiment un travail de monstre et de fourmi à la fois qu'elle abat. Ce n'est pas facile tous les jours. Dernièrement elle a même eu à nouveau une tendinite qui s'est réveillée dans l'épaule gauche et voit un kiné. Envoyez lui vos encouragements!

    GIMP: développement logiciel

    Côté code, énormément a bougé aussi. Voici une petite liste non-exhaustive:

    Récemment nous portons l'API pour greffons dans GIMP pour le système GObject Introspection. En terme moins technique, ça signifie juste que GIMP 3 prendra en charge les plug-ins écrits en Python 3. Encore mieux, il devrait être possible de faire des plug-ins dans tout langage qui a un module GObject Introspection. Qui sait, on verra peut-être apparaître des plug-ins JavaScript, Go, Objective Caml ou dans d'autres langages très bientôt?

    Le travail pour faire de GIMP 3 une réalité bat son plein de manière générale. Bon, nous demandez pas une date, on n'en donne pas. On ne sait pas. Par contre on hésite même dernièrement à se mettre à utiliser la branche de développement pour la production de ZeMarmot. Eh oui, on est à ce point confiant dans la qualité croissante du code en développement.

    On a travaillé avec notre contributeur macOS pour faire un dépôt public sur l'infrastructure GNOME pour le paquet macOS, permettant ainsi plus de transparence et une intégration continue publique. Le but final est de mettre au point des règles claires pour assurer la chaîne de confiance de création d'un paquet binaire. Nous discutons d'ailleurs aussi avec d'autres mainteneurs de paquets tiers, comme celui qui fait un AppImage (nous l'avons aussi rencontré à Libre Graphics Meeting), et espérons à terme pouvoir accueillir plus de paquets comme étant "officiels". Bon, tout cela prend du temps et comme on jongle avec les priorités (et aussi que nous n'avons pas besoin de paquets de notre côté; c'est essentiellement pour la communauté), ça arrive tout doucement. Mais ça arrive…

    J'ai commencé d'autres petits projets de fonctionnalités que j'ai pour le moment mis de côté. Par exemple, on voulait la prise en charge tactile pour GIMP 3. J'ai commencé un peu à coder dans ce sens, mais ai dû mettre en pause. J'espère pouvoir bientôt reprendre.

    Une autre fonctionnalité sur laquelle j'ai essayé de m'atteler est la multi-sélection de calques, en particulier pour l'organisation (imaginez: vous travaillez avec des dizaines de calques et avez besoin de déplacer une moitié d'entre eux dans des groupes de calques mais devez le faire un par un… de quoi pleurer!). Malheureusement je n'ai pas pu finir ce projet non plus pour l'instant. J'espère pouvoir le reprendre (à moins que quelqu'un veuille contribuer! Nous acceptons les patchs avec joie!).

    Toujours dans la branche de développement, nous avons amélioré pas mal de plug-ins de prise en charge de formats d'image dans le cadre du projet "space invasion". Maintenant presque un projet long terme puisqu'on en parlait déjà à la sortie de GIMP 2.10.8, il y a 8 mois. Heureusement ce projet arrive proche de la fin. Le but est une meilleure prise en charge des profils de couleurs, donc pour les personne avec des besoins un peu avancés.

    Nous avons aussi amélioré l'interaction de l'outil de sélection à main levée: quand vous faites une copie ou coupe rapide (avec alt+shift ou alt+ctrl respectivement), il n'est plus nécessaire de valider la sélection. Étant donné qu'Aryeom utilise énormément cet outil de sélection à main levée, ces détails de productivité sont particulièrement importants pour nous.

    Il y a bien sûr plus (pas tout ne mérite son paragraphe; on a aussi quelques micro-fonctionnalités dans des prises en charge de fichiers TIFF ou HEIF par exemple, et bien sûr de nombreuses corrections de bugs; j'ai sûrement aussi oublié des choses…). C'est toutefois le gros de notre travail récent.

    Mais en vrai, le project majeur du moment, c'est que j'ai décidé de refaire la prise en charge de l'animation de zéro! Oui vous avez bien lu. Non je ne suis pas fou! Pour résumer, mon plug-in était vraiment un énorme travail, très avancé, des milliers de ligne de code et il était pas si mal. Mais il devenait inmaintenable. Je pense qu'on atteignait les limites de l'interface de plug-ins de GIMP. Sincèrement j'en était arrivé à détester travailler sur ce plug-in et presque à déprimer. C'est pour cela qu'il n'est jamais sorti dans les versions stables de GIMP. On n'a jamais trouvé qu'il était suffisamment bon.

    Alors des fois, il faut savoir quand on doit faire demi-tour. Depuis quelques semaines, j'implémente la prise en charge de l'animation native dans GIMP. Cela va ouvrir énormément de portes, va énormément simplifier l'organisation des fichiers (puisque les concepts d'animation seront intégrés), et permettre un code plus efficace. L'un des problèmes par exemple était que je devais réimplémenter la gestion multi-thread (alors que le cœur de GIMP a des utilitaires très poussés pour la gestion des threads, et mon plug-in en faisait un gros usage!); un autre est que la communication entre les plug-ins et le cœur de GIMP est dans une seule direction. Tout cela rendait le développement inefficace et frustrant (un projet futur que j'ai est justement d'améliorer un jour tout cela drastiquement).

    Quoiqu'il en soit, en à peine quelques semaines, je suis plutôt content des avancées. Espérons que cela continue dans cette lancée. Et oui, clairement jeter des années de code ainsi fait peine, mais des fois, c'est juste nécessaire, et je regrette pas une seconde de l'avoir fait.

    Voilà! J'espère donc que vous aurez aimé notre petit rapport. C'est le résultat de beaucoup de sueur et de travail. On aime le logiciel et l'animation Libres, les marmottes (libres aussi!), et on vous aime, vous qui soutenez nos efforts et notre projet!

    Merci à tous!

    Jehan, au nom de l'équipe ZeMarmot

Can marmots drink coconut?

- 0
  • [ English — français plus bas ]

    While production got a bit slow from mid-April to mid-May for personal reasons, Aryeom is back 100% on the movie now. Here is some more work-in-progress work of ZeMarmot animation film, still the "line test" step.

    Director's comment on this cut: "I should touch more the timing." ⏱️ Animation timing is indeed one of the most important factor for good animation.

    Right now, we are at Libre Graphics Meeting 2019 in Saarbrücken, Germany. Tomorrow at 10:25 AM, Jehan will present some of his most recent development work on GIMP. If ever you happen to be there, do not hesitate to come and say hi.

    Otherwise, the talks should be recorded (and hopefully there will be a live streaming too, though info is still a bit fuzzy) for later viewing. 🙂

    See you all!

    ZeMarmot team

    [ français ]

    Alors que la production de ZeMarmot a un peu ralenti de mi-avril à mi-mai pour raisons personnelles, Aryeom est maintenant de retour à 100% sur le film. Voici un nouvel exemple de travail en court, toujours l'étape de "line test".

    Commentaire de la réalisatrice sur cette séquence: "Je dois retravailler le timing." ⏱️ Comme toujours, le timing est l'un des critères principaux pour une animation de qualité.

    En ce moment, nous nous trouvons à Saarbrücken, Allemagne, pour le Libre Graphics Meeting 2019. Demain matin, à 10h25, Jehan présentera d'ailleurs certaines des fonctionnalités récentes qu'il a développées sur GIMP. Si vous vous trouvez dans le coin, n'hésitez pas à passer faire un coucou!

    Sinon, les conférences devraient de toutes façons être enregistrées pour visionnage ultérieure, et je pense qu'il est censé y avoir du streaming des conférences également (à confirmer! On n'a pas trop d'infos là dessus). 🙂

    À plus!

    Équipe ZeMarmot

Another WIP line test animation

- 0
  • [ English ­- français plus bas ]

    Lately Aryeom has been working on the animation for the above cut featuring ZeMarmot and the friendly Arctic Tern bird seen in various other images.

    To be more accurate, this step is what is called a "line test". This is the step where you experiment the animation (possibly redrawing the same images many times until one likes the movement), with rougher lines and no colors. Once the animator is happy with the result, only then the animation can move up to the "cleanup" process, where lines will be cleaned, then finally to colorization, shading and possibly more effects.

    It is often said that animators correspond to the "actors" of live action movies, except that they act as any moving thing or living being in their films. For instance Aryeom is "playing" marmots or flying birds here. Indeed animators don't just draw still images. They work on movements, expressions or feelings. In other words: they act life in their drawing.

    We hope you appreciate Aryeom's acting, then! 🎥

    [ français ]

    Ces jours-ci, Aryeom a travaillé sur l'animation de cette séquence mettant en scène notre cher ZeMarmot et le sympathique oiseau Sterne Arctique, que vous avez déjà pu voir dans d'autres images.

    Cette étape du travail est ce qu'on appelle le "line test". C'est l'étape où l'animateur expérimentera avec l'animation (éventuellement en redessinant les mêmes images de nombreuses fois jusqu'à trouver le mouvement adéquat), avec des lignes en ébauche et sans couleur. Une fois que l'animateur est heureux du résultat, on peut passer à l'étape de "cleanup" (nettoyage), où les lignes seront alors nettoyées pou retirer l'aspect brouillon, puis enfin la colorisation, l'ombrage et éventuellement des effets additionnels.

    On dit souvent que les animateurs correspondent aux "acteurs" des films avec prises de vue réelles, hormis qu'elles/ils ne jouent pas seulement des humains, mais toute chose ou être vivant qui bouge dans leurs films. Par exemple on peut dire ici qu'Aryeom "joue" les marmottes ou oiseaux! En effet, un animateur ne dessine pas des images statiques. Leur rôle est réellement de travailler sur les mouvements, les expressions et sentiments. En d'autres termes, les animateurs représentent la vie dans leurs dessins.

    Nous espérons donc que vous aimez le jeu d'acteur d'Aryeom! 🎥

WIP v2 - first sequence of ZeMarmot

- 0
  • Yesterday Aryeom continued tweaking this sequence for my grand (hole) opening 🐾! Can you spot the differences?

    It may still not be the finale version, this is work-in-progress, as usual. 😃

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

    Hier Aryeom a continué à travailler sur la séquence d'ouverture (du terrier!) 🐾! Voyez-vous les différences?

    Ce n'est peut-être pas encore la version finale. C'est du travail en cours, comme d'habitude. 😃

WIP - first sequence of ZeMarmot

- 0

  • [ English ­— français plus bas ]

    « My little hands work a lot to get out of my burrow. »

    ZeMarmot 💪💪

    These days, Aryeom have been working on the first sequence of ZeMarmot animation (you may have seen a very raw draft version of it on early videos). To be fair, she is not very happy with it yet. We'll see how and if it will change later! :-)

    [ français ]

    « Mes petites mains travaillent dur pour sortir du terrier. »

    ZeMarmot 💪💪

    Ces jours-ci, Aryeom a travaillé sur la première séquence du film ZeMarmot (vous avez pu reconnaître celle-ci dont une ancienne version très brute/brouillon fut visible dans de vieilles vidéos). Pour tout dire, Aryeom n'est pas encore très contente du résultat. On verra comment et si elle décide d'améliorer ce plan dans le futur.

Animation WIP of ZeMarmot movie

- 0

  • [ English — français plus bas ]

    « Hi marmots!

    In Paris, the spring has come… I feel like meeting someone! This marmot I’m greeting is a guardian marmot in my territory. » (ZeMarmot)

    A quick work-in-progress from the cut Aryeom is animating these days. You may have seen this cut in earlier videos. Back then, it was only made of some major keyframes. Aryeom drew now all the keyframes and most of the inbetweens. This is how you do animations, by steps (or layer of work), adding images between previously drawn images (these images are therefore called "inbetweens").

    You will note that usually the main animators would only do the key frames, then leave the inbetweens to their assistants (called inbetweeners as you may expect), so that they can quickly switch to the next cut. On ZeMarmot, we don't have such luxury. Aryeom does it all! She is like a 100-people team 👩🏻‍🎨👩‍🎨👨‍🎨👩🏽‍🎨👨🏻‍🎨 by herself!

    ZeMarmot team

    [ français ]

    « Salut les marmottes!

    À Paris, le printemps est arrivé! Ça me donne envie de rencontrer des gens! Cette marmote à qui je dis bonjour est une marmotte gardienne de mon territoire. » (ZeMarmot)

    Voici donc le travail en cours d'Aryeom ces derniers jours. Vous avez peut-être déjà aperçu cette séquence dans de vieilles vidéos. La version que vous avez peut-être vue à l'époque ne contenait que les images clés principales. Depuis Aryeom a dessiné toutes les images clés et la plupart des inbetweens. C'est ainsi qu'on anime, par étapes, en ajoutant des images entre celles dessinées précédemment par couches de travail successives. Ces images sont appelés des "inbetweens".

    Notons aussi que normalement les animateurs principaux se chargent seulement de dessiner les images clés et laissent les inbetweens à leurs assistants (appelés "inbetweeners" de manière non surprenante!), leur permettant alors de rapidement passer aux séquences suivantes. Pour ZeMarmot, nous n'avons malheureusement pas ce luxe. Aryeom fait tout, dans tous les rôles!
    Elle est un peu comme une équipe de 100 personnes 👩🏻‍🎨👩‍🎨👨‍🎨👩🏽‍🎨👨🏻‍🎨 à elle seule!

    L'équipe de ZeMarmot

More artwork of another cut

- 0

  • Aryeom is still working hard on the image cuts of the various scenes. Here is how will look yet another cut!

    Aryeom continue son travail sur les diverses scènes. Voici à quoi ressemblera encore une autre séquence!
  • [ English — français plus bas ]

    Hi all!

    We noticed we forgot to publish this blog post link on our Patreon page (some of you maye have already read it): English version of the post! A bit shameful of us, sorry, really! Anyway better late than never!

    This is a bit of a review of ZeMarmot work in 2018 (as well as some things done with our non-profit LILA), both on software and art side, as well as our dreams for the future.

    We have really started this new year with a lot of hope and smiles and you should soon see a lot of very cool updates. This is all thanks to you, all our supporters, that we can continue. Thanks all, and let's have a great 2019! We wish you all the best there is!

    ZeMarmot team

    [ français ]

    Bonsoir à tous!

    Nous nous sommes rendus compte avoir oublié de poster ce lien de notre blog (que certains d'entre vous ont donc peut-être déjà lu): la version française est disponible. Vraiment désolé de ce hic!

    Il s'agit d'un petit compte rendu du travail de ZeMarmot en 2018 (ainsi que de choses faites avec l'association LILA), côté logiciel et art, de même que l'expression de notre vision pour ce projet.

    Cette année 2019 commence avec beaucoup d'espoir et de sourires et vous pouvez vous attendre à voir pas mal de "news" sympa. C'est grâce à vous tous, nos soutiens, que nous pouvons ainsi continuer. Merci à tous, et nous vous souhaitons tout ce qu'il y a de meilleur!

    L'équipe ZeMarmot