Aller au contenu

Journal des modifications

v1.0.0 — Version publique

La première version publique d'Octo Vector Bridge — le pont line-art entre Blender, Maya et Toon Boom Harmony.

Points forts

  • Line art 3D → crayons Harmony natifs — les traits de Blender (Grease Pencil ou Pencil+) et de Maya (Pencil+) deviennent des lignes de crayon vectorielles Harmony éditables, fidèles à la caméra et image par image.
  • Largeur variable préservée — véritable pression par point issue de Grease Pencil ; pour Pencil+, la largeur et la couleur EPS aplaties sont reconstruites par échantillonnage du rendu raster. WYSIWYG : ce que montre le Previewer est ce qui atterrit.
  • Traceur Potrace intégré — raster → vecteur façon Image-Trace en Black & White, Greyscale et Colour (median-cut par point le plus éloigné). Le tracé B&W remplit les formes avec Potrace et les axes centraux de crayon avec l'amincissement Zhang–Suen.
  • Export (Harmony → SVG / PDF / AI) — le pont va dans les deux sens. Un bouton à côté de l'importateur exporte le dessin vectoriel d'un nœud Read — les quatre art layers, l'épaisseur exacte par point, les vraies couleurs et l'alpha — en SVG (garde la pression pour l'aller-retour), PDF ou AI. Il lit le dessin, pas le rendu : rigs et effets ne noircissent jamais la sortie. Les art layers bitmap sont grisés avec la raison ; PDF/AI portent une note permanente : une largeur par trait. Blender et Maya gagnent aussi le conteneur AI.
  • L'arbre Structure — un arbre de drawings → art layers → passes, composé dans Blender ou Maya et relu par l'importateur Harmony comme le même arbre. Il est la structure de dossiers sur le disque : réordonnez avec les flèches ou par glisser, et la position devient l'index de pile NN_.
  • Passes bitmap — une passe peut produire une séquence PNG en plus des vecteurs : un Render Pass ou un nœud du Compositor dans Blender, ou un rendu Materials dans Maya (n'importe quel moteur, avec son Render Layer et ses AOV). Traits et rendus atterrissent dans le même drawing, sur des art layers différents.
  • Import bitmap — importez un raster en tant que bitmap Toon Boom autonome (par défaut) ou gardez-le lié au fichier d'origine.
  • Occlusion — le raycast depuis la caméra supprime les traits masqués derrière la géométrie (le culling que l'export SVG natif de Blender ne sait pas faire) — automatiquement, par couche : chaque maillage solide bloque les lignes et désactiver son icône de rendu l'exempte ; avec une superposition WYSIWYG conservé-vs-supprimé.
  • Import SVG as Grease Pencil (Blender) — un .svg, ou un dossier d'export OVB entier, revient en objet Grease Pencil : un calque par art layer, les épaisseurs par point en rayon du trait, les couleurs en matériaux, le dossier en séquence d'images, sur le plan de la caméra active pour qu'un export se réimporte là où la caméra l'a vu. Chaque dessin d'un dossier d'export entre (objets séparés ou layer groups), les courbes restent Bézier, les numéros d'image peuvent être conservés, et Reload relit la source sur place en gardant vos modifications de l'objet.
  • Remplissages et dégradés traversent le pont (Blender) — l'exportateur Blender écrit les remplissages Grease Pencil en paths remplis et les matériaux dégradés à deux couleurs en dégradés SVG ; l'importateur transforme les dégradés SVG en matériaux dégradés, l'axe sur le trait, et garde les courbes en Bézier. Dans Harmony, les pastilles Line et Fill montrent les couleurs de la source en bandes et les comptent au survol.
  • Previewer WYSIWYG — cadrage caméra en field-space, zoom ancré au curseur, pan bouton du milieu / Space, pelure d'oignon (vecteur et bitmap), snapping et grille de field.
  • Outliner = node graph — l'arborescence que vous construisez est le réseau Harmony écrit à l'Apply : pegs, groups, composites et agrégation de fratrie par ordre de peinture. Delete Node (remonte les enfants) vs Delete Hierarchy.
  • Inspector par art-layer — enveloppe d'épaisseur + détail de pression, nettoyage des points, effilage de pointe, et transformations de dessin entier / peg, chacune par subartlayer.
  • Drawings en Original Bitmap — un drawing peut être un seul bitmap aplati au lieu de quatre art layers ; le sélecteur d'art layer devient une Recipe qui nomme la pile à partir de laquelle il est aplati, et les pistes vectorielles n'y entrent jamais.
  • Brosses de weight-paint + brosse Thickness — Relax, Simplify et Pressure peignent un masque 0..1 en carte de chaleur ; la brosse Thickness non pondérée sculpte directement l'épaisseur du trait. Tout est non destructif avec un Clear en un clic.
  • Merge split lines — rejoint optionnellement les morceaux issus du planar-split d'Harmony en traits éditables uniques, avec un bouton maître à trois états et des surcharges par art-layer.
  • Subartlayers (multi-pass) — empilez plusieurs passes sur un même art layer en tant qu'objets vectoriels distincts ; organisateur au moment de l'import, réuni proprement en un seul art layer Harmony à l'Apply.
  • Pivot du gizmo — les gizmos d'art layer (bleu) et de peg (vert) portent un pivot déplaçable : tirer un coin met à l'échelle à partir de lui, si bien qu'un personnage se met à l'échelle depuis la plante des pieds sans dériver. Alt met à l'échelle depuis le centre.
  • Palettes — importez dans n'importe quelle palette de la scène ou dans une nouvelle, et créez, renommez et recolorez les couleurs directement dans la carte du drawing. Elles deviennent réelles à l'Apply, et une couleur existante de même RGBA est réutilisée, jamais dupliquée.
  • Recette par subartlayer (Grease Pencil) — chaque subartlayer mémorise la configuration de ses modificateurs Line Art / Thickness : ordre de pile, activation, edge types et largeur — de sorte qu'un seul modificateur Line Art serve un contour et une ligne intérieure. Son Content filtre la scène par collection / objet / couche (avec un bouton Except et un menu déroulant de couche à portée limitée) ; un bouton Live Preview (désactivé par défaut) laisse votre vue et votre historique d'annulation intacts jusqu'à l'export ; Restore Defaults et Update Defaults from Scene gèrent la référence propre à l'artiste.
  • Subartlayers Pencil+ — un seul mode unifié (Blender et Maya) — un subartlayer filtre votre configuration Pencil+ par Line et Line Set (avec un bouton Except), et son panneau Line Sets est la recette par Line Set : quels edge types chacun génère (Outline, Object, Intersection, …), Visible et Hidden indépendamment, plus un multiplicateur Thickness qui met à l'échelle toutes les brosses du Line Set d'un coup. Les générateurs créent un subartlayer par Line ou par Line + Line Set ; un Live Preview et Restore / Update Defaults empêchent l'aperçu de salir votre configuration.
  • Une seule boîte de dialogue d'import — un unique parcours gère un dossier, des fichiers en vrac, une séquence d'images ou une seule image, classant les art layers par dossier/nom et affectant par défaut l'art libre à Line Art.
  • Essai de 30 jours + licence perpétuelle — une activation liée à la machine couvre Blender, Maya et Harmony, via Creem.

Architecture

  • Un cœur unique partagé et neutre vis-à-vis du DCC (ovc_core) avec de fins adaptateurs par hôte pour Blender, Maya et Harmony.
  • Des fonctions pures et partagées de largeur / point / effilage s'exécutent de manière identique dans le Previewer et dans le module d'écriture Harmony — la garantie derrière le WYSIWYG.
  • Node graph émis via un émetteur porté de style OSA (peg / group / composite, MPI/MPO, agrégation de fratrie).
  • Binaire potrace intégré — aucune installation externe.

Correctifs — build b79313d (2026-09-03)

  • Maya : le panneau ne dépasse plus sa fenêtre — créer un pass étirait l'arbre et poussait License / Convert hors du bord droit ; le corps du scroll est maintenant calé sur la largeur de la fenêtre, quelle qu'elle soit. (build f561fbe)
  • Maya : glisser-déposer dans l'arbre Structure — glissez un pass au-dessus/au-dessous d'un autre, sur un conteneur (il y arrive en dernier) ou sur un drawing (son conteneur par défaut). Conteneurs et drawings restent en place ; les flèches fonctionnent toujours. (build f561fbe)
  • Maya : + crée le pass dans le conteneur sélectionné — il atterrissait toujours dans Line Art, quel que soit l'élément surligné dans l'arbre. (build 0af2a9a)
  • Maya : plus de flash en cliquant d'un pass à l'autre — la reconstruction de la section de réglages affichait un instant des widgets retirés comme une fenêtre isolée ; ils sont maintenant masqués avant d'être retirés. Les infobulles des lignes de l'arbre ont aussi disparu (l'icône et Produces le disent déjà). (build 377c3fe)
  • Maya : changer Produces met à jour immédiatement les réglages en dessous — les sélecteurs Pencil+ ou ceux de layer/pass de Materials n'apparaissaient qu'après un clic sur un autre pass. (build cf7e545)
  • Harmony : supprimer avec − une couleur créée dans l'app — après tout rafraîchissement de la liste, le − restait actif sans sélection (le clic ne faisait rien), et une couleur créée depuis le sélecteur d'une art layer n'apparaissait pas dans la liste de la palette du drawing tant que la page ne redemandait pas. Les deux sont corrigés. (build ac25ffc)
  • Harmony : un import bitmap pouvait laisser une scène impossible à enregistrerMissing folder …/ovb_raster_… / Cannot write palette list. Les dessins intermédiaires étaient écrits dans un dossier temporaire, donc la palette qu'Harmony écrivait à côté d'eux y pointait, et l'import supprimait ce dossier en partant. Ils vivent maintenant dans le dossier de l'élément, là où la palette a sa place. (build 947b18e)
  • Harmony : les longues séquences bitmap s'importent bien plus vite et n'épuisent plus la mémoire — chaque image lançait jusqu'à deux processus utransform (environ 1700 pour une séquence de 840, plus d'une heure), et tout l'import tenait dans un seul bloc d'annulation. Le dessin déjà converti est maintenant réutilisé au lieu d'être reconverti (un lancement par image, ou aucun), et les imports longs valident le bloc d'annulation par tranches pour qu'Harmony puisse libérer la mémoire. (build 947b18e)
  • Harmony : les longues séquences vectorielles n'épuisent plus la mémoire (Import JS error: bad allocation, puis Harmony qui se ferme sans message). L'import se fait maintenant en streaming : toutes les 25 images sont analysées, écrites, dotées de leur épaisseur de trait puis libérées avant la lecture des 25 suivantes — mesuré sur un export réel de 840 images, le pic du parseur est passé d'environ 0,9 Go retenus pendant tout l'import à ~44 Mo. Les imports de plus de 100 images vident aussi l'historique d'annulation d'Harmony au fil de l'eau, si bien que les copies de traits gardées pour l'annulation ne s'accumulent plus (un tel import n'est pas annulable — enregistrez d'abord). Un bloc qui échoue arrête maintenant l'import avec un message au lieu de continuer jusqu'au plantage. (build cec0dd0)
  • Harmony : Checkpoint save (optionnel) — une nouvelle case à côté de Merge split lines enregistre la scène toutes les 100 images d'un import long, pour qu'Harmony puisse libérer les dessins déjà écrits au lieu de tous les garder jusqu'à la fin. Elle reste verrouillée (la raison apparaît au survol) tant que la scène n'a pas été enregistrée sur le disque. (build cec0dd0)
  • Harmony : les images bitmap arrivaient vides après le premier checkpoint save — le vecteur était correct. Harmony renomme le dossier et le nom physique de l'élément à l'enregistrement de la scène (sa documentation le dit), et le chemin bitmap lisait les deux une fois avant la boucle : chaque TVG suivant était écrit là où Harmony ne regarde plus. Les deux sont relus après chaque enregistrement. (build 8ed7e63)

  • Pencil+ est optionnel — Grease Pencil est la source par défaut et ne demande rien. La source Pencil+ avertit désormais au lieu de bloquer, et dit clairement que c'est le Pencil+ 4 Render App payant de PSOFT (pas seulement l'add-on Line gratuit) qui trace les lignes.

  • L'add-on Blender ne s'activait pas sur une installation neuve (No module named pencil_plus) — le noyau embarqué est maintenant importé en relatif, ce qui supprime aussi les avertissements Policy violation dans les Preferences.
  • Un traceback affiché à chaque ouverture de fichier a disparu.
  • Installeur — la barre Octo Tools partagée dans Harmony est reconstruite à partir de tous les outils installés : désinstaller un outil ne supprime plus les boutons des autres ; les add-ons Blender sont activés automatiquement après l'installation ; les téléchargements portent l'id du release (1.0.0-<id>) et la fenêtre de l'installeur affiche le même id.
  • Panneau Maya tronqué à droite dès qu'un pass Pencil+ était sélectionné — les deux colonnes de cases étiquetées de la carte de recette forçaient la fenêtre au-delà de 480 px. La carte liste maintenant chaque type d'arête une fois, avec des cases Visible / Hidden sans texte. (build 8fd672d)

Problèmes connus

  • Tous les correctifs récents sont validés en mode headless (Qt offscreen) ; la validation en direct dans l'hôte, sur Blender / Maya / Harmony, est en cours.
  • La reconstruction de largeur variable de Pencil+ dépend d'un rendu raster Line propre ; un rendu bruité peut adoucir la largeur récupérée.
  • L'installateur Windows est la cible principale ; le packaging macOS et la signature de code restent à venir.

Historique pré-version

Octo Vector Bridge a été développé en privé à partir de fin 2025 et en 2026. L'historique public commence avec la v1.0.0.