조립하기¶
Assemble은 OSA에서 유일하게 파괴적인 동사다. 그 앞의 모든 것은 계획이고, 이것이 계획이 Harmony 장면이 되는 순간이다.
무엇을 하는가¶
스테이징 트리를 순회하며, 한 번의 패스로:
- 노드를 만든다 — peg, group, composite, backdrop, read, 이펙트, 제너레이터.
- 포트를 연결한다 — 초록 트랜스폼 계층과 파란 컴포지트 계층, 둘 다.
- 어트리뷰트를 쓴다 — composite mode, alignment, alpha, blend mode, 이펙트 값, z-depth.
- 아트를 임포트한다 — 엘리먼트와 노출로, art layer 하나씩, 프레임 하나씩.
- 그래프를 배치한다 — Wide Bus 그리드로, 백드롭은 안쪽에서 바깥으로 측정한다.
- 스택을 평탄화한다 — 장면이 실제로 저장할 수 있는 형태로 스테이징 트리를 다시 쓴다 (Original Bitmap 참고).
누르기 전에¶
Assemble 버튼은 오른쪽 아래 Cancel 옆에 있고, 잠긴다: 피드백 바가 차단 오류를 보여주는 동안에는 버튼이 비활성이다. OSA는 스스로 틀렸다고 아는 트리를 조립하게 두지 않는다.
그 위의 피드백 바가 차단 사유를 색으로 담고 있으므로, "왜 버튼이 회색이지?"에 대한 답은 늘 화면에 있다.
리포트¶
Assemble은 자신이 한 일이 아니라 장면이 거부한 것을 보고한다. 빌드할 때마다 소리치는 리포트는 배경 소음이므로, 이 구분은 의도적이다:
| 표식 | 의미 |
|---|---|
| FALHA (실패) | 요청했는데 일어나지 않았다 |
| nota (노트) | 일어났지만, 요청한 그대로는 아니다 |
각 줄은 종류, 대상, 그리고 어디서 일어났는지를 말한다:
FALHA import-failed sky: source file not found [Top/BG/sky]
nota degraded can: vector track skipped in Original Bitmap
어휘는 닫혀 있다 — 모든 실패는 다음 종류 중 하나다:
| 종류 | 의미 |
|---|---|
no-bridge |
Harmony는 있는데 스크립트 브리지가 끝내 열리지 않았다 |
import-failed |
아트가 디스크에 도달하지 못했다 |
no-artwork |
나를 것이 없었다 (노트) |
element-swap |
Original Bitmap 드로잉이 TVG로 남았다 |
unresolved |
그 노드에 해당하는 컬럼이나 엘리먼트가 없다 |
drawing-failed |
Drawing.create가 거부됐다 |
exposure-failed |
column.setEntry가 거부됐다 |
utransform |
변환이 거부됐거나 아무것도 만들어내지 못했다 |
node-failed |
노드 생성이 거부됐다 |
plan-error |
하나의 플랜을 커밋하는 중 예외 |
phase-error |
한 페이즈 전체에서 예외 |
format-mismatch |
확장자가 파일 내용에 대해 거짓말을 한다 |
degraded |
됐지만, 요청한 대로는 아니다 (노트) |
cancelled |
당신이 빌드를 중단했다 |
unaddressable |
노드가 존재한다고 주장하지만 어디인지 말하지 못한다 |
취소¶
Cancel은 빌드를 멈춘다. 이미 쓰인 것을 되돌리지는 않는다.
Assemble은 트랜잭션이 아니다
Harmony의 undo는 빌드 전체를 하나의 쓰기로 누적하므로, 중간에 취소하면 이미 만들어진 노드는 남는다. 그것은 선택이 아니라 호스트의 성질이다 — 그리고 평탄화 단계가 소스가 실제로 안착한 드로잉만 건드리는 이유이기도 하다: 취소 후에도 스테이징 트리는 도달하지 못한 모든 것을 여전히 설명한다.
빌드가 잘못되면 정직한 복구는 Harmony 자신의 undo다. 그 다음 트리를 고치고 다시 조립하라.
다시 조립하기¶
같은 트리를 다시 조립할 수 있다. 이미 장면에 있는 노드는 있는 자리에서 편집된다 — 이름이 바뀌고, 어트리뷰트가 다시 쓰이고, 절대 복제되지 않고 절대 이동하지 않는다 — 그리고 이후 슬롯은 다시 기존으로 표시되므로, 다음 누름은 또 하나의 갱신이다.
존재한다고 말하면서 어디인지 말하지 못하는 노드는 다시 만들어지지 않고 unaddressable로 보고된다. 다시 만들면 그것이 둘이 되기 때문이다.
이에 대한 전용 페이지가 있다. 임포트된 체인에서 트리의 루트가 왜 Top이 아닌지도 거기 있다: 조립된 장면 재편집하기.
Generate + Assemble¶
Staging 툴바의 Generate Magnet Tree + Assemble 버튼은 두 단계를 한 번에 한다: 활성 magnet마다 슈퍼 노드를 하나씩 만들고 그것들을 곧장 Node View로 조립한다.
이것은 독립적으로 동작한다 — 아트도, 스테이징도, 끌어다 놓은 것도 필요 없다. 빈 장면에서 목적지 계층을 스스로 만들어내며, 그것이 샷을 시작하는 사람에게 리깅된 빈 장면을 건네는 방법이다.
무엇을 만드는지는 활성 Preference Set의 Magnet Generator 레시피에서 온다: 어떤 magnet이 존재하는지, 어떤 것이 활성인지, 그 순서, 각각이 태어날 때 갖는 컴포넌트, 그리고 백드롭 색. preference set을 바꾸면 결과 전체가 바뀌므로, 상단 바의 콤보를 먼저 확인하라. Magnets를 보라.
빌드 이후¶
스테이징 트리는 장면에 맞게 다시 쓰인다: 스택이 평탄화되고, 안착한 트랙은 자기 레이어로 접히며, 평탄화된 각 행은 출처를 유지한다 — 아트가 어디서 왔는지, 타입은 무엇인지, 썸네일은 무엇인지.
그 이후에도 슬롯은 새 트랙을 계속 받는다. 평탄화는 끝이 아니라 바탕이다: 다음 합성은 이제 장면에 있는 것 위에 합성한다.