Tulip 3.5.0 a été suffisamment poli pour être enfin distribué.
Cette version ne fait qu’amorcer des changements excitants dans l’interface graphique de Tulip pour le rendre plus ergonomique. L’importation CSV est un bon exemple de la voie que nous suivons pour rendre des fonctionnalités avancées plus accessibles. Nous avons aussi amélioré les temps de rendu de manière significative, et corrigé un grand nombre de bogues, dont beaucoup ont été rapportés durant le développement de la version 3.5.
Un grand merci à tous ceux qui ont rapporté des bogues et aux testeurs des versions bêta et RC, qui nous ont aidés à stabiliser cette version plus que toute autre auparavant !
Importation CSV
L’importation CSV a été réécrite de zéro, et prend à présent la forme d’un wizard.
Plus facile à utiliser et plus robuste que son prédécesseur, il rend agréable l’importation de données au format CSV !
Changement dans l’interface
L’interface a été modifiée çà et là, pour rendre l’expérience utilisateur plus agréable.
Le color mapping a subi un ravalement de façade, le rendant bien plus puissant que le précédent, et permettant de choisir parmi des « mappins » prédéfinis, ou bien de composer le vôtre aisément.
Les interacteurs offrent à présent un retour lorsque la souris passe au-dessus d’un nœud ou d’une arête (p. ex. l’interacteur d’ajout de nœuds change le curseur pour indiquer qu’il est impossible de créer un nouveau nœud là où il y en a déjà un).
La fenêtre qui s’affiche lorsque plusieurs contrôleurs sont installés est à présent plus facile d’utilisation, et l’interface de gestion de greffons arbore des boutons « appliquer » et « annuler » bien pratiques.
L’interacteur « baguette magique » a été revu pour être plus puissant et facile d’utilisation. Il permet dorénavant des opérations ensemblistes sur la sélection (remplacer, ajouter à, intersection de, retirer à).
Python
Note : c’est la version 2.7 de Python qui est utilisée et non la version 3.
Nous avons enfin intégré la possibilité d’écrire des scripts Python pour Tulip ! Il est possible d’accéder au cœur de l’API de Tulip et à une partie de la librairie Tulip OpenGL (tulip-ogl). Cette vue Python va permettre de créer rapidement des prototypes d’algorithmes, de générer des graphes et tout ce que vous pourrez imaginer !
Des exemples de scripts se trouvent sur cette page.
Disponibilité pour Linux
Nous avons modifié la manière dont nous distribuons les binaires Linux, car générer des paquets pour chaque distribution était une charge trop lourde pour notre petite équipe.
Nous avons opté pour un système similaire à ce que nous avons sous Windows et MacOS X, et qui est déjà employé par des logiciels tels que Skype ou TexMaker.
Ceci nous permet d’utiliser la version de Qt de notre choix, plutôt que de maintenir notre code rétro-compatible avec toutes les versions de Qt que certaines distributions estiment stables.
Mais surtout, ceci nous permet d’être certains que les exécutables que vous utiliserez ont été construits de la même manière que les greffons que nous distribuons, ce qui les rendra plus stables, et nous permet également de rendre le serveur de greffons accessible à tous les utilisateurs de Linux.
Sous le capot
Tulip 3.5 a vu de nombreux réusinages et optimisations, et a augmenté la vitesse de rendu des arêtes de plus de 200 %. Beaucoup de code inutile a été retiré, et nous avons fait de grands pas vers un code OpenGL qui n’utilise plus les display lists !
Nous nous sommes enfin débarrassés des autotools pour passer complètement à CMake, ce qui réduit les temps de compilation significativement ; mais cela nous a également permis d’utiliser d’autres compilateurs C++.
En outre, le code a été nettoyé en profondeur, car nous avons activé les options « -Wall »
et « -Wextra »
de GCC, et, de plus de 400 warnings, il n’en reste plus qu’une poignée.
La plupart de ces warnings n’indiquaient qu’un problème de style (plus de 300 warnings de paramètres non-utilisés, et une centaine de comparaisons entre entiers signés et non-signés), et à présent tout warning « dangereux » sera repéré immédiatement.
Tulip est maintenant compilable avec Visual Studio (seules les versions 2008 et 2010 ont été testées), car nous savons que beaucoup de gens utilisent ce compilateur, et il leur est à présent possible d’utiliser Tulip au sein d’un projet Visual Studio.
Visual Studio n’est pas officiellement supporté, et certaines fonctionnalités ne sont pas encore accessibles aux utilisateurs de cette version (pas de serveur de greffons, et certains greffons ne peuvent pas être compilés avec Visual Studio).
Nous avons aussi modifié le code de manière à ce qu’il soit compilable avec Clang 2.8, qui a l’énorme avantage de donner des warnings lisibles par de simples humains.
Clang n’est pas officiellement supporté non plus.
CPack nous offre à présent la création de paquets Windows (via NSIS) et MacOS X.