Ir para o conteúdo

Re-editando uma cena montada

Vídeo tutorial — em breve

O Assemble não é uma porta de mão única. Uma vez que os nós de um slot existem no Node View, o OSA para de criá-los e começa a editá-los onde estão.

Novo e existente

Todo componente no Inspector carrega uma marca dizendo qual dos dois ele é:

Marca Significa
+ novo — este nó ainda não existe; o Assemble vai criá-lo
(quadrado) existente — este nó está no Node View; o Assemble vai editá-lo
cinza o componente está desmarcado, então nada acontece de qualquer jeito

A árvore pinta só um desses estados — existente — e deixa toda outra linha sem marca. Uma marca em cada linha é textura, não sinal; o Inspector é onde você obtém a resposta por componente.

É uma forma, não uma cor

As marcas são desenhadas na própria cor do rótulo, então a leitura sobrevive a uma troca de tema e a um leitor daltônico. + contra um quadrado é a diferença, não roxo contra ciano.

O que "editado no lugar" significa

Para um slot marcado como existente, o Assemble não cria um segundo nó e não move o primeiro. Ele:

  • renomeia o nó se você renomeou o slot,
  • reescreve os atributos que você mudou — composite mode, alignment, blend mode, valores de efeito, cor e título do backdrop,
  • deixa a posição do nó no Node View em paz,
  • e marca o slot como existente de novo depois, para que o próximo Assemble seja outra atualização e não uma duplicata.

Esse último ponto é o que torna o Assemble seguro de apertar repetidamente. É o ritmo normal de trabalho: montar, olhar no Harmony, voltar, mudar algo, montar de novo.

Um nó que afirma existir mas não sabe dizer onde é relatado como unaddressable e deixado em paz, porque reconstruí-lo te daria dois deles. Veja Montando a cena.

A árvore não é "Top"

Esta é a parte que surpreende as pessoas, e é todo o sentido da seção anterior.

Para nós novos, a raiz da árvore de staging significa Top — o nível de topo do Node View. Esse é o padrão, e para uma cena que você está construindo do zero é a única leitura sensata.

Para nós existentes, a raiz da árvore é um endereço. Uma linha de nível 0 que veio da cena representa a raiz da cadeia que foi importada — o nó mais externo do que você trouxe — e tudo abaixo dela é a posição real daquela cadeia no Harmony, não uma cópia dela no Top.

Então a mesma indentação significa duas coisas diferentes dependendo de onde a linha veio, e a marca te diz qual:

Uma linha de nível 0 que é… Fica em
nova (+) Top
existente (▪) onde quer que a cadeia dela realmente more na cena

Onde os filhos novos pousam

Anexe algo novo a um slot existente e ele é criado dentro do contexto daquele slot no Harmony — não no Top.

O OSA resolve esse contexto para uma âncora, nesta prioridade:

GROUP  >  PEG  >  COMP  >  DRAWING

Group vem primeiro por um motivo medido: com o peg tendo prioridade, um filho novo de um super node P+G estava nascendo fora do grupo. O grupo é o contexto dos filhos — exatamente como no caminho de criação, onde marcar Group põe os filhos dentro dele.

Então:

  • adicione um drawing sob um hero=P-G-C existente e ele aparece dentro de hero-G, ligado em hero-C;
  • adicione um efeito e ele pousa na cadeia daquele slot, na faixa que o Wide Bus reservou para ele.

Nada viaja para o Top só porque a linha está indentada sob uma linha de nível 0 na sua árvore.

Movendo coisas

O que você move O que acontece no Assemble
Uma linha nova, em qualquer lugar ela é criada no novo lugar; nada a reconectar
Uma linha existente dentro da cadeia dela os pegs são reconectados para bater com o novo parentesco
A raiz de uma cadeia importada a cadeia inteira é reconectada sob a nova posição
Nada — você só adiciona linhas novas os nós novos vão para a posição da própria cadeia, onde quer que ela esteja conectada

A última linha é a que vale memorizar: se você não mover a cadeia importada, adicionar a ela também não a move. As peças novas se encaixam na cadeia onde a cadeia já está.

O caminho virtual

O campo Path do Inspector mostra o endereço para o qual um slot resolve, e ele se lê como os próprios caminhos do Node View:

Top/ParentGroup-G/SelfGroup-G/Element-C

A regra do que aparece nele:

  • ancestrais contribuem só se forem groups — um peg ou um backdrop no meio não adiciona um nível, porque nenhum dos dois cria um no Harmony;
  • o próprio slot contribui com o group dele (se tiver), depois com o comp ou o drawing;
  • pegs, backdrops e efeitos nunca aparecem — eles estão dentro do nível, não são um nível próprio.

Um slot sem arquivo por trás mostra New Node (Memory). Isso não é um erro — significa que essa linha ainda não tem endereço, porque nunca foi montada.

Retomando uma cena

O Magnetize Scene lê o Node View existente através dos seus magnets e coloca em staging o que encontra — é assim que você reabre uma cena que montou ontem, ou uma que outra pessoa construiu, e segue editando como slots.

Tudo que ele traz chega marcado como existente, com endereço, então as regras desta página valem desde o primeiro aperto.