Montando a cena¶
Assemble é o único verbo destrutivo do OSA. Tudo antes dele é plano; este é o momento em que o plano vira uma cena do Harmony.
O que ele faz¶
Numa passada só, percorrendo a árvore de staging:
- Cria os nós — pegs, groups, composites, backdrops, reads, efeitos, geradores.
- Conecta as portas — a hierarquia verde de transform e a azul de composite, as duas.
- Escreve os atributos — composite modes, alignment, alpha, blend modes, valores de efeito, z-depths.
- Importa a arte — em elementos e exposições, art layer por art layer, frame por frame.
- Faz o layout do grafo — a grade do Wide Bus, com os backdrops medidos de dentro para fora.
- Achata as pilhas — reescreve a árvore de staging na forma que a cena consegue realmente guardar (veja Original Bitmap).
Antes de apertar¶
O botão Assemble fica no canto inferior direito, ao lado de Cancel, e é travado: quando a barra de feedback mostra um erro bloqueante, o botão fica desabilitado. O OSA não deixa você montar uma árvore que ele sabe estar errada.
A barra de feedback acima dele carrega os motivos do bloqueio em cor, então a resposta para "por que o botão está cinza?" está sempre na tela.
O relatório¶
O Assemble relata o que a cena recusou, não o que ela fez. Um relatório que grita em toda build é ruído de fundo, então a distinção é proposital:
| Marca | Significado |
|---|---|
| FALHA | algo foi pedido e não aconteceu |
| nota | aconteceu, só não do jeito pedido |
Cada linha nomeia o tipo, o sujeito e onde aconteceu:
FALHA import-failed sky: source file not found [Top/BG/sky]
nota degraded can: vector track skipped in Original Bitmap
O vocabulário completo é fechado — toda falha tem um destes tipos:
| Tipo | Significa |
|---|---|
no-bridge |
o Harmony está lá e a ponte de script nunca abriu |
import-failed |
a arte nunca chegou ao disco |
no-artwork |
não havia nada para carregar (uma nota) |
element-swap |
um drawing em Original Bitmap continuou TVG |
unresolved |
nenhuma coluna ou elemento para o nó |
drawing-failed |
Drawing.create foi recusado |
exposure-failed |
column.setEntry foi recusado |
utransform |
uma conversão foi recusada ou não produziu nada |
node-failed |
a criação do nó foi recusada |
plan-error |
uma exceção ao commitar um plano |
phase-error |
uma exceção numa fase inteira |
format-mismatch |
a extensão mente sobre o conteúdo do arquivo |
degraded |
feito, mas não como pedido (uma nota) |
cancelled |
você interrompeu a build |
unaddressable |
um nó afirma existir mas não sabe dizer onde |
Cancelando¶
O Cancel para a build. Ele não desfaz o que já foi escrito.
Assemble não é uma transação
O undo do Harmony acumula a build inteira numa única escrita, então cancelar no meio deixa os nós que já foram criados. Isso é uma propriedade do host, não uma escolha — e é por isso que o passo de achatamento só toca em drawings cujas fontes de fato pousaram: depois de um cancelamento, sua árvore de staging ainda descreve tudo que não conseguiu chegar.
Se uma build der errado, a recuperação honesta é o undo do próprio Harmony, e então corrigir a árvore e montar de novo.
Remontando¶
Você pode montar a mesma árvore de novo. Nós que já existem na cena são editados onde estão — renomeados, reatribuídos, nunca duplicados e nunca movidos — e o slot é marcado como existente de novo depois, então o próximo aperto é outra atualização.
Um nó que diz existir mas não consegue dizer onde é relatado como unaddressable em vez de ser reconstruído, porque reconstruir significaria dois deles.
Existe uma página inteira sobre isso, inclusive sobre por que a raiz da árvore não é Top numa cadeia importada: Re-editando uma cena montada.
Generate + Assemble¶
O botão Generate Magnet Tree + Assemble na toolbar do Staging faz os dois passos num aperto só: cria um super node por magnet ativo e os monta direto no Node View.
Ele é autônomo — sem arte, sem staging, nada arrastado para dentro. Numa cena vazia, ele constrói a hierarquia de destino sozinho, que é como você entrega uma cena vazia já preparada para quem começa o plano.
O que ele constrói vem da receita do Magnet Generator do Preference Set ativo: quais magnets existem, quais estão ativos, a ordem deles, os componentes com que cada um nasce, e a cor do backdrop. Trocar de preference set troca o resultado inteiro, então confira primeiro o combo na barra de cima. Veja Magnets.
Depois da build¶
A árvore de staging é reescrita para bater com a cena: as pilhas achatam, as tracks que pousaram colapsam na camada delas, e cada linha achatada mantém sua procedência — de onde a arte veio, o tipo dela, a miniatura.
O slot continua aceitando novas tracks depois disso. O achatado não é o fim, é a base: a próxima composição compõe em cima do que agora está na cena.