"보드는 레퍼런스가 어디에 얼마나 크게 놓였는지를 기억해. 정작 레퍼런스 자체는 안 갖고 있고. 배치를 가진 게 라이브러리를 가진 건 아니거든."
PureRef 같은 판인데, 오래 남고 엔진이 갖고 있다
레퍼런스 보드는 익숙한 그 판이야. 끝이 없다시피 한 화면에서 레퍼런스 이미지를 밀고 확대하고 늘어놓으면서 관찰하는 곳. PureRef 같은 도구가 하던 그 일이지. 다른 점은 Loomis 가 보드를 자기 것으로 갖고 있다는 거야. 보드는 진짜 미술 스터디 상태거든. 레퍼런스를 어떻게 늘어놨는지가 네 연습의 일부라, 브라우저를 새로고침해도 접속 주소가 바뀌어도 기기를 옮겨도 남아 있어야 해. 그래서 보드가 데스크톱 앱의 로컬 파일에 갇혀 있지 않고, 엔진이 지키는 상태로 살아.
가리키기만 하고 복사는 안 한다
여기가 소유의 핵심이야. 보드는 Eagle 레퍼런스를 번호로 늘어놔. 원본마다 가리키는 표를 저장해두고 실제 이미지는 필요할 때 읽어오는 거지. Eagle 라이브러리를 Loomis 쪽으로 복사해 두 번째 창고를 만들지 않아. 보드가 실제로 저장하는 건 배치야. 레퍼런스가 어디 놓였고 얼마나 크고 얼마나 돌아갔고 위아래 순서가 어떻고 잠겨 있는지, 원본은 안 건드리는 자르기까지. 자리와 픽셀을 딱 갈라놓은 거야. 픽셀은 Eagle 것, 자리는 보드 것. Eagle 에서 원본을 고치면 그걸 가리키던 모든 보드가 바로 바뀐 걸 보여줘. 어긋날 사본이 애초에 없었으니까.
딱 하나의 예외
예외가 정확히 하나 있는데 일부러 아주 좁게 냈어. Eagle 에서 고른 게 아니라 보드에 직접 붙이거나 떨군 이미지는 보드 안에 바이트를 가져. 가리킬 Eagle 번호가 없으니까. 대신 그 바이트는 단단히 묶여 있어. 그 보드를 통해서만 접근되고, Eagle 로 슬쩍 들어가는 일도 없고, 보드가 지워질 때 같이 사라져. 편의를 위한 예외지만 두 번째 라이브러리로 자라기를 거부하는 거야. 예외를 이렇게 좁게 낸 덕에 소유 규칙이 온전히 남아. 떠도는 바이트를 위한 작고 경계 분명한 자리 하나, 그게 전부고 다른 데는 없어.
소유 경계가 시스템을 작게 지킨다
물러나서 보면 이 가족의 한 가지 책임 원칙을 미디어에 적용한 거야. 원본은 Eagle 이, 배치는 Loomis 가, 네이티브 창은 Cinder 가 갖는다. 각 시스템이 딱 하나를 갖고, 경계 너머는 흡수하는 대신 가리켜. 그래서 아무것도 뭐든 다 담는 창고로 부풀지 않아. 보드가 미디어 라이브러리가 되지 않고, Loomis 가 Eagle 이 되지 않고, 데스크톱 창은 Cinder 몫으로 남지. 이 규칙이 가족 전체를 관통해. 바이너리는 그걸 가진 시스템에 머물고, 나머지는 전부 사본이 아니라 표를 쥐고 있는 거야.