TALA 레이아웃 엔진의 오픈소스 공개
1. 이게 뭔가요?
복잡한 소프트웨어 구조도를 그릴 때 상자의 배치와 연결선을 보기 좋게 자동으로 정렬해 주는 테라스트럭트의 엔진 TALA가 오픈소스로 공개되었습니다. TALA는 다이어그램 작성 도구인 D2 v0.9.0 버전에 기본 탑재되었으며, 모질라 퍼블릭 라이선스 2.0에 따라 누구나 코드를 확인하고 수정할 수 있습니다.
2. 왜 화제인가요?
기존 자동 정렬 엔진들은 한쪽 방향으로 흐르는 단순 순서도에 최적화되어 있어, 여러 구성 요소가 얽힌 복잡한 시스템 아키텍처를 화이트보드에 그린 것처럼 자연스럽게 표현하기 어려웠습니다. TALA는 연결선을 가로세로 직각으로 깔끔하게 정리해 주며, 상자의 위치나 크기를 직접 지정하더라도 복잡한 연결 경로를 컴퓨터가 알아서 최적으로 이어주기 때문에 큰 관심을 받고 있습니다.
3. 핵심 내용
TALA는 화이트보드 위에 자유롭게 배치하는 형태에 가깝게 작동하는 직각 배치 중심 엔진입니다. 다양한 그래프 연구 논문의 아이디어와 독자적인 기술을 결합해 대칭성, 요소 간 평균 거리, 시각적 흐름, 유사한 역할을 하는 상자 묶음 처리 등 사람이 보기에 정돈되었다고 느끼는 여러 미적 기준을 종합적으로 계산합니다.
이 엔진은 사용자가 상자 위치와 크기를 직접 지정하는 방식뿐만 아니라, 특정 상자만 좌표를 고정하고 나머지는 자동 배치에 맡기는 혼합 방식을 지원합니다. 인공지능 모델은 평면 위에 상자를 흩뿌려 배치하는 작업은 잘하지만 복잡한 연결선 경로는 매끄럽게 그리지 못하는데, TALA를 활용하면 인공지능이 대략적인 위치만 잡아주어도 선이 꼬이지 않도록 엔진이 알아서 이어줍니다.
다만 알고리즘 내부의 무작위성 때문에 상자를 단 하나만 추가해도 전체 배점이 달라지면서 다이어그램 전체 배치가 완전히 바뀔 수 있습니다. 또한 한 방향으로 길게 이어지는 전형적인 유향 비순환 그래프 구조에서는 기존 다그레나 엘크 방식이 더 자연스러울 수 있으며, 요소가 늘어날수록 계산 처리 시간이 비선형적으로 증가하는 한계가 있습니다.
4. 나에게 어떤 영향이 있나요?
시스템 설계도를 그려야 하는 사용자는 D2 최신 버전을 설치해 실행 옵션을 지정하거나, 외부 서버 전송 없이 브라우저 내부에서만 동작하는 공식 웹 시험 환경에서 바로 써볼 수 있습니다. 다만 규모가 커질수록 처리 시간이 늘어나고 요소 수정 시 전체 배치가 크게 바뀔 수 있으므로, 단순 순서도는 기존 엔진을 쓰고 복잡한 시스템 아키텍처에는 TALA를 쓰는 등 목적에 맞춰 선택하는 것이 좋습니다.