모듈 간 연동
연동은 단방향입니다. 본문이 자료로 축적되고 이름 변경 시에도 고유성을 유지하며 삭제는 보호되고 AI 작성도 동일한 확인 카드를 거칩니다.
방향: 각본 → 자료 보관함
Loomworld의 모듈 간 연동에는 명확한 방향이 있습니다. 작가가 본문에 작성한 내용은 자료 보관함의 기록으로 차곡차곡 축적되지만, 반대로 자료 모듈에서 수동으로 생성한 항목은 각본의 특정 행이 삭제되었다고 해서 함께 사라지지 않습니다. 이 대원칙은 "시스템이 알아서 제멋대로 내용을 바꾸지 않을까?"라는 대부분의 우려에 명확한 답을 줍니다. 시스템은 절대 임의로 변경하지 않습니다.
집필 중 자동으로 이뤄지는 3가지 연결
- 인물(Character) 행을 확정(Enter 입력, 커서 이동, 에디터 포커스 아웃)하면, 공백 제거 및 대소문자 정규화를 거쳐 별칭을 포함한 인물 명부에서 이름을 검색합니다. 일치하는 항목이 있으면 즉시 바인딩되고, 없으면 단역(Minor) 등급으로 새 인물 카드가 자동 생성됩니다. 입력을 잠시 멈추거나 이름을 입력하다 만 상태에서는 카드가 생성되지 않습니다.
- 씬(Scene) 노드의 장소 역시 확정 시 동일한 규칙에 따라 장소 보관함과 대조되며, 일치하는 장소가 없으면 새 카드가 생성됩니다.
- 일반 본문에 [오래된 회중시계]와 같이 대괄호로 둘러싸인 이름을 작성하고 확정하면 소품 보관함과 대조하여 없으면 새 소품을 생성하며, 해당 행에 소품 참조가 기록됩니다.
오프닝 도입부 작성 및 이어 쓰기 기능도 동일한 규칙을 따릅니다. 모델이 스트리밍으로 텍스트를 출력하는 동안에는 완성되지 않은 씬 헤더나 이름 조각이 임시 버퍼에 머물 뿐 어떠한 카드도 생성하지 않습니다. 생성이 완전히 완료되거나 중단 또는 실패로 종료될 때 비로소 전체 텍스트가 노드로 분석되므로, 글자 단위로 조각난 불완전한 카드가 생성되지 않습니다.
여전히 직접 관리해야 하는 영역
인물 관계, 소유권, 챕터별 상태 변화, 복선 앵커, 순위표 점수, 지도 배치 좌표, 캔버스 내 위치 등은 작가가 직접 결정해야 하는 고유 영역입니다. 시스템은 임의로 인물의 동기를 추측하거나 애정 관계를 단정하지 않으며, 본문에 \"그가 검을 집어 들었다\"라고 썼다고 해서 검이라는 소품 카드를 멋대로 만들지 않습니다.
시공간(Scene setting)의 장소 입력은 예외적인 케이스입니다. 입력을 확정하면 장소 카드가 생성되거나 재사용될 수 있지만, 이는 해당 씬의 주 장소 하위 트리 내에서만 이루어집니다. 바인딩 대상을 바꾸어도 이름 자체가 바뀌지 않으며, 비우거나 삭제하더라도 참조만 해제될 뿐 원본 기록은 삭제되지 않습니다.
이름 변경 및 삭제 시 연쇄 영향
- 이름 변경은 안전하게 격리됩니다. 세력 카드의 이름을 바꾸면 인물 태그, 명부 그룹, 순위표 및 어시스턴트가 읽어들이는 내용이 함께 갱신됩니다. 장소 이름을 바꾸면 평면 레이블과 각본 내 참조에 최신 이름이 표시됩니다. 시스템은 표면적인 텍스트가 아닌 불변의 고유 식별자(Identity)를 저장하기 때문입니다.
- 삭제 작업은 신중한 연쇄 검증을 거칩니다. 인물을 삭제하면 연결된 관계선이 함께 삭제됩니다. 씬이나 시공간(또는 해당 하위 트리 전체)에서 여전히 참조 중인 장소는 삭제할 수 없으며, 참조가 남아 있는 동안에는 상위 계층을 변경할 수 없습니다. 스토리라인을 삭제하면 그 안의 이벤트들이 함께 삭제됩니다. 챕터나 씬을 삭제하면 이를 가리키던 복선 및 타임라인 앵커가 깨끗이 정리되어 고아 ID(Dangling ID)가 남지 않습니다.
- 지도는 오직 시각적 표현에만 영향을 줍니다. 특정 맵 배치를 삭제하면 해당 뷰에서의 렌더링만 제거될 뿐 장소 카드 자체나 다른 뷰의 지오메트리, 서브 맵은 전혀 손상되지 않습니다.
- 세력 '분류 해제'는 파급 효과 확인 창을 거칩니다. 한 번의 업데이트로 인물 기본 소속, 챕터별 키프레임, 순위표 필터를 일괄 정리하며, 실행 취소(Undo) 한 번으로 모든 변경을 원래대로 되돌릴 수 있습니다.
장별 상태 변화 읽기 메커니즘
인물 및 소품의 챕터별 변화는 데이터를 읽는 시점에 병합됩니다. 기본값은 이야기 시작 시점의 상태를 나타내며, 특정 챕터의 키프레임은 다음 변화가 나타날 때까지 효력을 유지합니다. 특정 챕터의 유효 상태를 조회할 때 그 이후의 미래 시점 변화가 유출되어 섞여 들어가지 않습니다. 변화 내역 전체를 확인하려면 시작과 끝 챕터를 모두 지정해야 하며, 각 변화 전후의 상태가 순서대로 반환됩니다.
AI 역시 동일한 기준으로 상태를 읽습니다. 상태를 조회할 때는 반드시 기준 챕터를 명시해야 하며, 해당 챕터 기준의 나이, 직업, 소속 세력 및 단계 상태가 반환됩니다. 세력은 카드의 현재 정식 명칭과 고유 ID로 표현되며, 인물 관계 그래프는 이름이나 별칭 추측이 아닌 유효한 공식 참조만을 바탕으로 소속 관계를 형성합니다.
AI의 작성 작업도 동일한 규칙 적용
어시스턴트는 본문에서 무언가를 인식했다고 해서 임의로 자료를 수정하지 않습니다. 모든 쓰기 작업은 승인 카드를 거쳐 실행됩니다. 한 장의 카드에 최대 8개의 원자적 작업이 포함되며 단일 트랜잭션으로 커밋됩니다. 사용자가 승인하기 전에 대상 데이터가 다른 곳에서 이미 변경되었다면, 몰래 덮어쓰지 않고 카드 전체의 적용을 거부합니다. 승인된 작업은 프로젝트의 실행 취소 스택에 기록되어 한 번의 실행 취소로 전체를 되돌릴 수 있습니다. 삭제 작업의 경우 본문 등장 횟수, 관계선, 하위 트리, 역방향 링크, 라인 내 이벤트, 각본 앵커 등의 영향 범위를 카드에 먼저 명시합니다.
자세한 내용은 AI 협업 개요 문서를 참고하시기 바랍니다.
제한 사항 및 문제 해결
- 연동은 철저히 단방향입니다. 자료 카드의 변경이 각본 본문을 마음대로 다시 쓰지 않으며, 각본의 수정이 작가를 대신해 세계관 설정이나 인물 관계를 채워 넣지도 않습니다.
- 자동 생성은 오직 정규화된 이름과 등록된 별칭만을 기준으로 매칭됩니다. 서로 다른 두 이름이 동일 인물임을 나타내려면 시스템이 알아서 추측하기를 기대하지 말고 카드에 직접 별칭을 추가하시기 바랍니다.
- 외부에서 가져온 프로젝트 팩에 고아 ID(Dangling ID)가 존재하는 경우 가져오기 과정에서 기본값, 챕터별 키프레임, 순위표 조건을 정리하고 요약 정보를 안내하며, 동명의 다른 카드에 임의로 바인딩하지 않습니다.