Changelog¶
v1.0.0 — Lançamento público¶
O primeiro lançamento público do Octo Vector Bridge — a ponte de line art entre Blender, Maya e Toon Boom Harmony.
Destaques¶
- Line art 3D → lápis nativos do Harmony — traços do Blender (Grease Pencil ou Pencil+) e do Maya (Pencil+) viram linhas de lápis vetoriais editáveis do Harmony, fiéis à câmera e quadro a quadro.
- Largura variável preservada — pressão real por ponto do Grease Pencil; para o Pencil+, a largura e a cor do EPS achatado são reconstruídas amostrando o render raster. WYSIWYG: o que o Previewer mostra é o que chega.
- Traçador Potrace incluído — raster → vetor no estilo Image-Trace em Black & White, Greyscale e Colour (median-cut de ponto mais distante). B&W traça formas preenchidas com Potrace e linhas centrais de lápis com thinning de Zhang–Suen.
- Export (Harmony → SVG / PDF / AI) — a ponte anda nos dois sentidos. Um botão ao lado do importador exporta a arte vetorial de um Read node — as quatro art layers, espessura exata por ponto, cores e alfa reais — para SVG (mantém a pressão para round-trip), PDF ou AI. Lê o desenho, não o render, então rig e efeito nunca deixam a saída preta. Art layers bitmap aparecem cinzas com o motivo; PDF/AI trazem uma nota fixa de que desenham uma largura por linha. Blender e Maya ganham o contêiner AI também.
- A árvore Structure — uma árvore de drawings → art layers → passes, autorada no Blender ou no Maya e lida de volta pelo importador do Harmony como a mesma árvore. Ela é o layout de pastas no disco: reordene com as setas ou arrastando, e a posição vira o índice
NN_da pilha. - Passes de bitmap — um passe pode produzir uma sequência PNG além de vetores: um Render Pass ou um nó do Compositor no Blender, ou um render de Materials no Maya (qualquer renderer, com seu Render Layer e AOV). Linhas e renders caem no mesmo drawing, em art layers diferentes.
- Importação de bitmap — traga um raster como um Toon Boom bitmap autocontido (padrão) ou mantenha-o vinculado ao arquivo original.
- Receita por subartlayer (Grease Pencil) — cada subartlayer guarda como seus modifiers Line Art / Thickness estão configurados: ordem da pilha, on/off, edge types e largura — de modo que um único modifier Line Art serve a um outline e a um inline. Seu Content filtra a cena por collection / objeto / layer (com um alternador Except e um dropdown de layer com escopo); um alternador Live Preview (desligado por padrão) mantém seu viewport e histórico de undo intocados até a exportação; Restore Defaults e Update Defaults from Scene gerenciam a baseline do próprio artista.
- Subartlayers do Pencil+ — um único modo unificado (Blender e Maya) — uma subartlayer filtra sua configuração do Pencil+ por Line e Line Set (com um alternador Except), e seu painel Line Sets é a receita por Line Set: quais edge types cada um gera (Outline, Object, Intersection, …), Visible e Hidden de forma independente, mais um multiplicador Thickness que escala todos os brushes do Line Set de uma vez. Geradores criam uma subartlayer por Line ou por Line + Line Set; um Live Preview e Restore / Update Defaults impedem que o preview suje sua configuração.
- Oclusão — o raycast de câmera remove traços escondidos atrás de geometria (o descarte que a exportação SVG nativa do Blender não consegue fazer). Todo mesh sólido bloqueia linhas; desligue o ícone de render de um mesh para isentá-lo. É decidido por layer — um layer de Line Art exporta como está, arte desenhada à mão leva o raycast — com uma sobreposição WYSIWYG de mantidos-vs-descartados e um opt-out Export as-is por subartlayer.
- Import SVG as Grease Pencil (Blender) — um
.svg, ou uma pasta inteira de export do OVB, volta como objeto Grease Pencil: uma camada por art layer, as larguras por ponto como raio do traço, cores como materiais, pasta como sequência de frames, no plano da câmera ativa para que um export reimporte onde a câmera o viu. Todo desenho de uma pasta de export entra (objetos separados ou layer groups), curvas continuam Bezier, números de frame podem ser mantidos, e Reload relê a origem no lugar mantendo o que você editou no objeto. - Fills e gradientes atravessam a ponte (Blender) — o exporter do Blender escreve fills do Grease Pencil como paths preenchidos e materiais de gradiente de duas cores como gradientes SVG; o importer transforma gradientes SVG em materiais de gradiente com o eixo no traço, e mantém curvas como Bezier. No Harmony, os swatches Line e Fill mostram as cores da fonte em faixas e as contam no hover.
- Previewer WYSIWYG — enquadramento de câmera em field-space, zoom ancorado no cursor, pan com botão do meio / Space, onion skin (vetor e bitmap), snapping e field grid.
- Drawings em Original Bitmap — um drawing pode ser um bitmap achatado em vez de quatro art layers; o seletor de art layer vira uma Recipe que diz de qual pilha ele é achatado, e trilhas vetoriais nunca entram nela.
- Outliner = node graph — a árvore que você constrói é a rede do Harmony escrita no Apply: pegs, groups, composites e agregação de irmãos por ordem de pintura. Delete Node (eleva filhos) vs Delete Hierarchy.
- Inspector por art layer — envelope de espessura + detalhe de pressão, limpeza de pontos, tip taper e transformações de drawing-inteiro/peg, cada um por subartlayer.
- Pincéis de weight-paint + pincel Thickness — Relax, Simplify e Pressure pintam uma máscara
0..1com mapa de calor; o pincel não-ponderado Thickness esculpe o peso da linha diretamente. Todos não-destrutivos com um Clear de um clique. - Pivô do gizmo — os gizmos de art layer (azul) e de peg (verde) têm um pivô arrastável: o arrasto de canto escala a partir dele, então um personagem escala pela sola do pé sem sair do lugar. Alt escala pelo centro.
- Paletas — importe para qualquer paleta da cena ou para uma nova, e crie, renomeie e recolora cores direto no card do drawing. Elas viram reais no Apply, e uma cor existente com o mesmo RGBA é reaproveitada, nunca duplicada.
- Merge split lines — opcionalmente rejunta os pedaços do split planar do Harmony em traços editáveis únicos, com um alternador mestre tri-estado e sobrescritas por art layer.
- Subartlayers (multi-pass) — empilhe vários passos numa art layer como objetos vetoriais separados; organizador em tempo de importação, colapsado de forma limpa numa art layer do Harmony no Apply.
- Um diálogo de importação — uma única navegação dá conta de uma pasta, arquivos avulsos, uma sequência de imagens ou um quadro isolado, classificando art layers por pasta/nome e caindo arte avulsa em Line Art por padrão.
- Teste de 30 dias + licença perpétua — uma ativação vinculada à máquina cobre Blender, Maya e Harmony, via Creem.
Arquitetura¶
- Um único core compartilhado e neutro em relação ao DCC (
ovc_core) com adaptadores finos por host para Blender, Maya e Harmony. - Funções puras e compartilhadas de largura/ponto/taper rodam de forma idêntica no Previewer e no escritor do Harmony — a garantia por trás do WYSIWYG.
- Node graph emitido através de um emissor no estilo OSA portado (peg / group / composite, MPI/MPO, agregação de irmãos).
- Binário
potraceincluído — sem instalação externa.
Correções — build b79313d (2026-09-03)¶
- Maya: o painel não fica mais mais largo que a janela — criar um pass esticava a árvore e empurrava License / Convert pra fora da borda direita; o corpo do scroll agora fica preso à largura da janela em qualquer tamanho. (build f561fbe)
- Maya: arrastar e soltar na árvore Structure — arraste um pass acima/abaixo de outro, sobre um container (cai por último nele) ou sobre um drawing (seu container padrão). Containers e drawings ficam no lugar; as setas continuam funcionando. (build f561fbe)
- Maya: o
+cria o pass no container que você selecionou — sempre caía em Line Art, fosse o que fosse que estivesse marcado na árvore. (build 0af2a9a) - Maya: acabou o flash ao clicar entre passes — a reconstrução da seção de settings mostrava por um instante widgets descartados como uma janela solta; agora eles são escondidos antes de sair. Os tooltips das linhas da árvore também saíram (o ícone e o Produces já dizem isso). (build 377c3fe)
- Maya: trocar o Produces atualiza os settings abaixo na hora — os pickers do Pencil+ ou os de layer/pass do Materials só apareciam depois de clicar em outro pass. (build cf7e545)
- Harmony: deletar com − uma cor criada no app — depois de qualquer refresh da lista o − ficava habilitado sem seleção (o clique não fazia nada), e uma cor criada pelo picker de uma art layer não aparecia na lista da paleta do drawing até a página perguntar de novo. Ambos corrigidos. (build ac25ffc)
- Harmony: um import de bitmap podia deixar a cena sem conseguir salvar — Missing folder …/ovb_raster_… / Cannot write palette list. Os desenhos intermediários eram escritos numa pasta temporária, então a paleta que o Harmony gravava ao lado deles apontava pra lá, e o próprio import apagava essa pasta ao terminar. Agora eles ficam na pasta do elemento, que é onde a paleta pertence. (build 947b18e)
- Harmony: sequências longas de bitmap importam muito mais rápido e não estouram mais a memória — cada frame disparava até dois processos
utransform(cerca de 1700 numa sequência de 840 frames, mais de uma hora), e o import inteiro ficava num único bloco de undo. Agora o desenho já convertido é reaproveitado em vez de reconvertido (um disparo por frame, ou nenhum), e imports longos fecham o bloco de undo em fatias para o Harmony poder liberar memória. (build 947b18e) - Harmony: sequências vetoriais longas não estouram mais a memória (Import JS error: bad allocation e depois o Harmony fechando sem mensagem). O import agora é em streaming: a cada 25 frames ele analisa, escreve, aplica a espessura e libera antes de ler os próximos 25 — medido numa exportação real de 840 frames, o pico do parser caiu de ~0,9 GB retidos o import inteiro para ~44 MB. Imports acima de 100 frames também limpam o histórico de undo do Harmony enquanto avançam, então as cópias de traço guardadas para o undo param de se acumular (esse import não é desfazível — salve antes). Um chunk que falha agora interrompe o import com mensagem em vez de seguir até o crash. (build cec0dd0)
- Harmony: Checkpoint save (opt-in) — um novo checkbox ao lado de Merge split lines salva a cena a cada 100 frames de um import longo, para o Harmony poder liberar os desenhos já escritos em vez de segurar todos até o fim. Fica travado (o motivo aparece ao passar o mouse) até a cena ter sido salva em disco. (build cec0dd0)
-
Harmony: frames de bitmap vinham vazios depois do primeiro checkpoint save — o vetor ficava certo. O Harmony renomeia a pasta e o nome físico do elemento quando a cena é salva (a documentação dele diz isso), e o caminho do bitmap lia os dois uma vez antes do laço, então todo TVG seguinte era escrito onde o Harmony não olha mais. Os dois são relidos após cada save. (build 8ed7e63)
-
Pencil+ é opcional — Grease Pencil é a fonte padrão e não precisa de nada. A fonte Pencil+ agora avisa em vez de bloquear, e diz claramente que é o Pencil+ 4 Render App pago da PSOFT (não só o add-on Line gratuito) que desenha as linhas.
- Add-on do Blender não ativava numa instalação limpa (
No module named pencil_plus) — o core vendorizado agora é importado relativo, o que também elimina os avisos de Policy violation nas Preferences. - Um traceback impresso a cada abertura de arquivo foi removido.
- Instalador — a barra Octo Tools compartilhada no Harmony é reconstruída a partir de todas as ferramentas instaladas: desinstalar uma não apaga mais os botões das outras; os add-ons do Blender são habilitados automaticamente após instalar; os downloads levam o id do release (
1.0.0-<id>) e a janela do instalador mostra o mesmo id. - Painel do Maya cortado à direita ao selecionar um pass Pencil+ — as duas colunas de checkboxes com rótulo do card de receita forçavam a janela além de 480 px. O card agora lista cada tipo de edge uma vez, com caixas Visible / Hidden sem texto. (build 8fd672d)
Problemas conhecidos¶
- Todas as correções recentes são validadas headless (Qt offscreen); a validação ao vivo no host em Blender / Maya / Harmony está em andamento.
- A reconstrução de largura variável do Pencil+ depende de um elemento de render Line raster limpo; um render ruidoso pode suavizar a largura recuperada.
- O instalador Windows é o alvo principal; o empacotamento macOS e a assinatura de código ainda estão por vir.
Histórico pré-lançamento¶
O Octo Vector Bridge foi desenvolvido de forma privada ao longo do fim de 2025 e 2026. O histórico público começa com a v1.0.0.