Changelog¶
v1.0.0 — Lanzamiento público¶
El primer lanzamiento público de Octo Vector Bridge — el puente de line art entre Blender, Maya y Toon Boom Harmony.
Destacados¶
- Line art 3D → lápices nativos de Harmony — los trazos de Blender (Grease Pencil o Pencil+) y Maya (Pencil+) se convierten en líneas de lápiz vectoriales editables de Harmony, precisas respecto a la cámara y fotograma a fotograma.
- Ancho variable preservado — presión real por punto desde Grease Pencil; para Pencil+, el ancho y el color aplanados del EPS se reconstruyen muestreando el render raster. WYSIWYG: lo que muestra el Previewer es lo que aterriza.
- Receta por subartlayer (Grease Pencil) — cada subartlayer guarda cómo están configurados sus modificadores Line Art / Thickness: orden de pila, activado/desactivado, tipos de borde y ancho — así un solo modificador Line Art sirve para un contorno y una línea interior. Su Content filtra la escena por colección / objeto / capa (con un interruptor Except y un desplegable de capa con alcance); un interruptor Live Preview (desactivado por defecto) mantiene intactos tu viewport y tu historial de deshacer hasta la exportación; Restore Defaults y Update Defaults from Scene gestionan la línea base propia del artista.
- Export (Harmony → SVG / PDF / AI) — el puente funciona en ambos sentidos. Un botón junto al importador exporta el arte vectorial de un nodo Read — las cuatro capas de arte, grosor exacto por punto, colores y alfa reales — a SVG (mantiene la presión para ida y vuelta), PDF o AI. Lee el dibujo, no el render, así que rigs y efectos nunca dejan la salida en negro. Las capas bitmap aparecen en gris con el motivo; PDF/AI llevan una nota fija de que dibujan un grosor por línea. Blender y Maya ganan también el contenedor AI.
- El árbol Structure — un árbol de dibujos → capas de arte → passes, creado en Blender o Maya y leído de vuelta por el importador de Harmony como el mismo árbol. Es la disposición de carpetas en disco: reordena con las flechas o arrastrando, y la posición se convierte en el índice
NN_de la pila. - Passes de bitmap — un pass puede producir una secuencia PNG además de vectores: un Render Pass o un nodo del Compositor en Blender, o un render de Materials en Maya (cualquier renderer, con su Render Layer y AOV). Líneas y renders caen en el mismo dibujo, en capas de arte distintas.
- Subartlayers de Pencil+ — un modo unificado (Blender y Maya) — una subartlayer filtra tu configuración de Pencil+ por Line y Line Set (con un interruptor Except), y su panel Line Sets es la receta por Line Set: qué tipos de borde genera cada uno (Outline, Object, Intersection, …), Visible y Hidden de forma independiente, más un multiplicador de Thickness que escala de una vez todos los brushes del Line Set. Los generadores crean una subartlayer por Line o por Line + Line Set; un Live Preview y Restore / Update Defaults evitan que la vista previa ensucie tu configuración.
- Trazador Potrace incluido — raster → vector al estilo Image-Trace en Black & White, Greyscale y Colour (median-cut de punto más lejano). B&W traza formas rellenas con Potrace y líneas centrales de lápiz con adelgazamiento Zhang–Suen.
- Importación de bitmap — trae un raster como un bitmap de Toon Boom autocontenido (por defecto) o mantenlo vinculado al archivo original.
- Occlusion — el raycast desde la cámara elimina los trazos ocultos tras la geometría (el descarte que la exportación SVG nativa de Blender no puede hacer) — automáticamente, por capa: toda malla sólida bloquea líneas y desactivar su icono de render la exime; con un overlay WYSIWYG de conservado-frente-a-descartado.
- Import SVG as Grease Pencil (Blender) — un
.svg, o una carpeta entera de exportación del OVB, vuelve como objeto Grease Pencil: una capa por art layer, los grosores por punto como radio del trazo, colores como materiales, la carpeta como secuencia de frames, en el plano de la cámara activa para que una exportación se reimporte donde la cámara la vio. Todo dibujo de una carpeta de exportación entra (objetos separados o layer groups), las curvas siguen siendo Bezier, los números de frame pueden conservarse, y Reload relee el origen en el sitio manteniendo lo que editó en el objeto. - Rellenos y gradientes cruzan el puente (Blender) — el exportador de Blender escribe los rellenos de Grease Pencil como paths rellenos y los materiales de gradiente de dos colores como gradientes SVG; el importador convierte gradientes SVG en materiales de gradiente con el eje en el trazo, y mantiene las curvas como Bezier. En Harmony, las muestras Line y Fill muestran los colores de la fuente en franjas y los cuentan al pasar el cursor.
- Previewer WYSIWYG — encuadre de cámara en espacio de campo, zoom anclado al cursor, paneo con botón central del ratón / Space, papel cebolla (vector y bitmap), snapping y rejilla de campo.
- Dibujos en Original Bitmap — un dibujo puede ser un bitmap plano en lugar de cuatro capas de arte; el selector de capa de arte se convierte en una Recipe que nombra la pila desde la que se aplana, y las pistas vectoriales nunca entran en ella.
- Outliner = grafo de nodos — el árbol que construyes es la red de Harmony que se escribe al hacer Apply: pegs, grupos, composites y agregación de hermanos por orden de pintado. Delete Node (elevar hijos) frente a Delete Hierarchy.
- Inspector por capa de arte — envolvente de grosor + detalle de presión, limpieza de puntos, adelgazamiento de punta y transformaciones de dibujo-completo/peg, cada una por subcapa de arte.
- Brushes de weight-paint + brush de Thickness — Relax, Simplify y Pressure pintan una máscara con mapa de calor de
0..1; el brush no ponderado Thickness esculpe el grosor de línea directamente. Todo no destructivo con un Clear de un clic. - Pivote del gizmo — los gizmos de capa de arte (azul) y de peg (verde) llevan un pivote arrastrable: el arrastre de esquina escala desde él, así un personaje escala desde las plantas de los pies sin moverse. Alt escala desde el centro.
- Paletas — importa a cualquier paleta de la escena o a una nueva, y crea, renombra y recolorea colores directamente en la tarjeta del dibujo. Se vuelven reales al hacer Apply, y un color existente con el mismo RGBA se reutiliza, nunca se duplica.
- Merge split lines — opcionalmente vuelve a unir las piezas de división planar de Harmony en trazos únicos editables, con un toggle maestro de tres estados y anulaciones por capa de arte.
- Subcapas de arte (multipase) — apila varios pases en una capa de arte como objetos vectoriales separados; organizador en tiempo de importación, colapsado limpiamente en una sola capa de arte de Harmony al hacer Apply.
- Un único diálogo de importación — un solo explorador maneja una carpeta, archivos sueltos, una secuencia de imágenes o un solo fotograma, clasificando las capas de arte por carpeta/nombre y asignando por defecto el arte suelto a Line Art.
- Prueba de 30 días + licencia perpetua — una activación vinculada a la máquina cubre Blender, Maya y Harmony, a través de Creem.
Arquitectura¶
- Un único núcleo compartido y neutral respecto al DCC (
ovc_core) con adaptadores finos por host para Blender, Maya y Harmony. - Funciones puras y compartidas de ancho/punto/adelgazamiento se ejecutan de forma idéntica en el Previewer y en el escritor de Harmony — la garantía detrás del WYSIWYG.
- Grafo de nodos emitido a través de un emisor portado al estilo OSA (peg / group / composite, MPI/MPO, agregación de hermanos).
- Binario
potraceincluido — sin instalación externa.
Correcciones — build b79313d (2026-09-03)¶
- Maya: el panel ya no crece más que su ventana — crear un pass estiraba el árbol y empujaba License / Convert fuera del borde derecho; el cuerpo del scroll ahora queda fijado al ancho de la ventana a cualquier tamaño. (build f561fbe)
- Maya: arrastrar y soltar en el árbol Structure — arrastra un pass arriba/abajo de otro, sobre un contenedor (cae al final de él) o sobre un drawing (su contenedor por defecto). Contenedores y drawings no se mueven; las flechas siguen funcionando. (build f561fbe)
- Maya:
+crea el pass en el contenedor que seleccionaste — siempre caía en Line Art, fuera lo que fuera lo marcado en el árbol. (build 0af2a9a) - Maya: se acabó el destello al hacer clic entre passes — reconstruir la sección de ajustes mostraba por un instante widgets descartados como una ventana suelta; ahora se ocultan antes de salir. Los tooltips de las filas del árbol también se fueron (el icono y Produces ya lo dicen). (build 377c3fe)
- Maya: cambiar Produces actualiza los ajustes de abajo al instante — los selectores de Pencil+ o los de layer/pass de Materials solo aparecían tras hacer clic en otro pass. (build cf7e545)
- Harmony: borrar con − un color creado en la app — tras cualquier refresco de la lista el − quedaba habilitado sin selección (el clic no hacía nada), y un color creado desde el selector de una art layer no aparecía en la lista de la paleta del drawing hasta que la página volvía a preguntar. Ambos corregidos. (build ac25ffc)
- Harmony: una importación de bitmap podía dejar una escena que no se deja guardar — Missing folder …/ovb_raster_… / Cannot write palette list. Los dibujos intermedios se escribían en una carpeta temporal, así que la paleta que Harmony grababa junto a ellos apuntaba allí, y la propia importación borraba esa carpeta al salir. Ahora viven en la carpeta del elemento, que es donde la paleta corresponde. (build 947b18e)
- Harmony: las secuencias largas de bitmap se importan mucho más rápido y ya no agotan la memoria — cada fotograma lanzaba hasta dos procesos
utransform(unos 1700 en una secuencia de 840, más de una hora), y toda la importación quedaba en un único bloque de deshacer. Ahora se reutiliza el dibujo ya convertido en vez de reconvertirlo (un lanzamiento por fotograma, o ninguno), y las importaciones largas confirman el bloque de deshacer por tramos para que Harmony pueda liberar memoria. (build 947b18e) - Harmony: las secuencias vectoriales largas ya no agotan la memoria (Import JS error: bad allocation y luego Harmony cerrándose sin mensaje). La importación ahora es en streaming: cada 25 fotogramas se analizan, se escriben, reciben su grosor de línea y se liberan antes de leer los 25 siguientes — medido en una exportación real de 840 fotogramas, el pico del parser bajó de ~0,9 GB retenidos durante toda la importación a ~44 MB. Las importaciones de más de 100 fotogramas también limpian el historial de deshacer de Harmony sobre la marcha, así que las copias de trazos guardadas para deshacer dejan de acumularse (esa importación no se puede deshacer — guarda antes). Un bloque que falla ahora detiene la importación con un mensaje en vez de seguir hasta el cierre. (build cec0dd0)
- Harmony: Checkpoint save (opcional) — una nueva casilla junto a Merge split lines guarda la escena cada 100 fotogramas de una importación larga, para que Harmony pueda liberar los dibujos ya escritos en vez de retenerlos todos hasta el final. Permanece bloqueada (el motivo aparece al pasar el ratón) hasta que la escena se haya guardado en disco. (build cec0dd0)
-
Harmony: los fotogramas de bitmap llegaban vacíos tras el primer checkpoint save — el vector quedaba bien. Harmony renombra la carpeta y el nombre físico del elemento al guardar la escena (su documentación lo dice), y la ruta de bitmap leía ambos una vez antes del bucle, así que cada TVG posterior se escribía donde Harmony ya no mira. Ambos se releen tras cada guardado. (build 8ed7e63)
-
Pencil+ es opcional — Grease Pencil es la fuente por defecto y no necesita nada más. La fuente Pencil+ ahora avisa en lugar de bloquear, y dice claramente que es el Pencil+ 4 Render App de pago de PSOFT (no solo el add-on Line gratuito) el que dibuja las líneas.
- El add-on de Blender no se activaba en una instalación limpia (
No module named pencil_plus) — el núcleo incluido ahora se importa de forma relativa, lo que también elimina los avisos de Policy violation en Preferences. - Se eliminó un traceback que se imprimía al abrir cada archivo.
- Instalador — la barra Octo Tools compartida en Harmony se reconstruye a partir de todas las herramientas instaladas: desinstalar una ya no quita los botones de las demás; los add-ons de Blender se activan automáticamente tras instalar; las descargas llevan el id del release (
1.0.0-<id>) y la ventana del instalador muestra el mismo id. - Panel de Maya recortado a la derecha al seleccionar un pass Pencil+ — las dos columnas de casillas con etiqueta de la tarjeta de receta forzaban la ventana más allá de 480 px. La tarjeta ahora lista cada tipo de borde una vez, con casillas Visible / Hidden sin texto. (build 8fd672d)
Problemas conocidos¶
- Todas las correcciones recientes se validan en modo headless (Qt fuera de pantalla); la validación en vivo dentro del host en Blender / Maya / Harmony está en curso.
- La reconstrucción de ancho variable de Pencil+ depende de un render raster Line limpio; un render con ruido puede suavizar el ancho recuperado.
- El instalador de Windows es el objetivo principal; el empaquetado para macOS y la firma de código están todavía por llegar.
Historial previo al lanzamiento¶
Octo Vector Bridge se desarrolló de forma privada durante finales de 2025 y 2026. El historial público comienza con v1.0.0.