Skip to content

Brand Template Contract

easylogic edited this page Sep 20, 2026 · 1 revision

공통 브랜드·템플릿: 기존 기능과 최소 연결 계약

작성일: 2026-09-20. 연결: #293. 기준 main: 4661328fc6f20e44b5e42897499b12da3c9ad26b. 상태: 소스·검사 정의 조사와 설계 제안. 브랜드 적용 실행·화면 비교·고객 검증은 미완료다.

판단

브랜드 값과 적용 기록을 공유하고, 제품별 문서 구조는 유지한다. 첫 비교는 기존 이슈대로 Slides와 Site다. 새 테마 엔진이나 공통 레이아웃 모델을 만들 이유는 이번 조사에서 확인하지 못했다.

브랜드가 바뀌어도 기존 문서를 자동으로 바꾸지 않는다. 문서는 적용한 버전과 값을 보관한다. 사용자가 갱신 미리보기를 보고 받도록 한다. 업무 템플릿은 새 문서의 시작점이며, 연결된 브랜드 값의 갱신과 다른 동작이다.

확인한 기능과 차이

제품·계층 확인한 사실 공통 계약에 미치는 영향
Slides 테마 12개 색 slot, major/minor 글꼴 slot, master의 theme 연결이 있다. theme: 참조와 직접 값을 구분한다. 역할을 기존 slot에 매핑한다. 슬라이드 크기·master·layout을 공통 브랜드 값으로 복사하지 않는다.
Slides 라이브러리·변수 다른 deck의 카드와 값을 가져온다. 변수에는 fromDeck, fromValue가 남는다. 같은 이름을 가져오면 기존 값을 교체한다. 출처 기능을 재사용한다. 그러나 기존 import를 반복 호출하는 것만으로 ‘수동 변경 유지’를 달성할 수 없다.
변수의 원본 변경 판정 비교할 원본·기준값이 없으면 variableBehindSource는 false다. false만 보고 ‘최신’으로 표시하면 안 된다. 미상·접근 불가를 별도로 판정해야 한다.
Site 색·글꼴 이름 있는 변수와 var: 참조가 있다. 문서의 bodyFace/headingFace는 현재 FACES의 네 선택값에 연결된다. Slides의 임의 글꼴 문자열을 그대로 Site의 face ID에 넣지 않는다. 지원하는 매핑과 대체를 보여 준다.
Site 이미지 자산 asset:이름 참조를 문서 자산으로 해석하는 경로가 있다. 브랜드 로고는 출처·내용·제품 자산 ID의 매핑이 필요하다. URL 문자열만 같다고 같은 자산으로 보지 않는다.
Word 스타일 docDefaults와 Body/Heading 계열 styleDef를 문서에 저장한다. 기존 정의가 기본값보다 우선한다. 후속 적용은 문서 기본값·명명 스타일에 매핑한다. 기존 사용자 스타일을 일괄 교체하지 않는다.
Note 본문 중심 모델과 별도 호스트 경계가 있다. Note kit는 본문 강조와 페이지 전체 디자인의 책임을 구분한다. Word·Slides의 페이지 테마를 Note 본문에 강제하지 않는다. 호스트 표시와 문서 내 강조를 따로 검토한다.

근거: Slides 테마, 라이브러리, 변수 출처·가져오기, Site 글꼴 선택과 단위, Site 자산, Word 기본 스타일, Note 책임 경계.

템플릿이라는 이름의 차이

Slides의 templates.ts는 테마·master·layout을 가진 일반 deck을 시작점으로 만든다. Site의 template 검사는 페이지의 자체 본문을 component의 slot에 넣어 그리는 경로를 다룬다. 하나는 시작 문서, 다른 하나는 페이지가 따르는 구조일 수 있다. 같은 ‘템플릿’ 메뉴 이름만으로 갱신 의미를 통일하지 않는다.

공통 업무 템플릿의 첫 계약은 제품별 native 문서 + 적용할 브랜드 버전 + 템플릿 출처로 제한하는 안이다. 생성한 문서는 독립 편집한다. 템플릿 v2가 나와도 기존 v1 문서의 내용·배치를 바꾸지 않는다. Site에서 이미 연결된 페이지 template의 동작은 별도 표시하고 기존 의미를 유지한다.

근거: Slides 시작 템플릿, Site template 검사 정의. 이번 회차는 검사 정의를 읽었고 실행하지 않았다.

최소 공통 값 제안

공통 의미 Slides 첫 매핑 Site 첫 매핑 첫 범위의 제한
주요 강조색 지정 theme accent slot 또는 명명 변수 중 문서별 한 경로 선택 명명 색 변수와 이를 쓰는 요소 두 경로를 동시에 써서 우선순위를 모호하게 만들지 않음
기본 글자·배경색 기존 dark/light slot의 실제 사용 위치 확인 명명 변수와 본문·배경 사용 위치 지정 이름만 같은 값을 선언하고 화면 적용 완료로 표시하지 않음
제목·본문 글꼴 역할 major/minor headingFace/bodyFace의 지원 선택값 같은 역할과 같은 실제 글꼴은 다름. 대체가 있으면 표시
로고 해당 문서의 이미지 요소와 제품 저장 형식 문서 자산과 이미지 요소 위치·크기·여백은 제품 템플릿에 둠. 첫 지원 이미지 형식은 인수 전에 고정

brand ID, brand version, 계약 schema version, 역할별 값, 로고 내용 식별값·출처, 제품별 매핑 버전을 구분한다. 문서에는 적용 당시 값과 매핑을 함께 보관한다. 현재 공개 API의 필드명이 아니라 필요한 의미를 정의한 것이다. 브랜드 이름이나 변수 이름만으로 서로 다른 브랜드를 합치지 않는다.

글자 크기·행간·여백은 첫 공통 값에서 제외한다. Site의 baseSize는 twips로 저장하고 화면에서 px로 변환한다. Word의 글꼴 크기와 문단 간격도 제품 고유 규칙이 있다. 같은 숫자를 복사해 같은 모습이라고 주장하지 않는다. Slides 좌표, Word 페이지 배치, Site 반응형 규칙을 공통 템플릿으로 강제하지 않는다.

수동 변경을 보존하는 갱신

필드마다 이전에 적용한 값, 현재 값, 새 브랜드 값을 구분한다. 수동 변경 모드도 기록한다. 값이 우연히 같다는 이유만으로 수동 설정을 브랜드 추종으로 바꾸지 않는다.

상태 기본 제안
브랜드를 따르는 값이며 현재 값이 적용 기준과 같음 새 값을 미리보기 후보에 포함
현재 값이 다르거나 사용자가 수동 설정을 선택함 현재 값 유지. ‘브랜드 값으로 되돌리기’를 별도 선택으로 제공
기존 자료라 적용 기준·모드를 모름 미상 표시. 자동 교체하지 않고 명시적 연결을 받음
원본 브랜드·자산을 읽지 못함 문서 안의 마지막 적용값으로 계속 열기. 확인 불가 표시
새 버전에서 역할이 사라짐 기존 값 유지와 연결 해제를 미리 보여 줌. 사용 중인 값을 조용히 삭제하지 않음

값 갱신과 별개로 해당 역할을 쓰는 요소에 직접 서식을 준 경우도 확인한다. 직접 서식과 문서 변수의 수동 변경은 다른 계층이다. 미리보기는 ‘변경됨·유지됨·대체됨·확인 불가’를 위치와 함께 설명한다. 저장 직전 문서·브랜드 버전·매핑이 바뀌면 다시 확인한다.

이는 기존 Slides의 명시적 ‘값 가져오기’ 동작을 결함으로 판정하거나 바꾸라는 뜻이 아니다. 기존 import의 덮어쓰기 의미를 유지하고, 브랜드 갱신에는 별도 판단을 둔다는 제안이다. 해당 차이는 기존 import 검사에서도 확인했다.

글꼴·로고·내보내기

첫 시제품은 설치·다운로드를 요구하지 않는 지원 글꼴 선택부터 비교한다. 지원하지 않는 브랜드 글꼴은 매핑 가능한 대체안을 보여 주고 동의를 받는다. 임의 글꼴이 Site의 현재 문서 face 선택에서 그대로 지원된다고 표시하지 않는다. 글꼴 변경 뒤에는 줄바꿈과 넘침을 다시 확인한다.

로고는 확보한 자산의 출처와 사용할 수 있는 범위를 별도로 기록한다. 이 회차에서 실제 브랜드 로고나 글꼴 파일을 수집·재배포하지 않았다. 필요한 자산이 없으면 비어 있는 상태와 대체 표시를 명확히 한다. 제품 간 자산 복사와 백업·내보내기에서 해당 참조가 어떻게 유지되는지 확인한다. 외부 URL만 가진 경우 오프라인 이용을 보장하지 않는다.

기존 문서를 여는 데 최신 브랜드 서버의 응답을 필수로 만들지 않는다. 편집 화면, 저장 후 재열기, 실제 사용할 내보내기 형식을 각각 확인한다. 편집 화면에서 보인다는 이유로 모든 파일 형식이나 게시 결과의 글꼴·로고 보존을 보장하지 않는다. Site의 실제 공개 게시는 이 연구 범위가 아니다.

합성 인수 예제와 순서

설계용 브랜드 B1 v1: 주요색 #2563EB, 기본 글자 #172033, 배경 #FFFFFF, 제목·본문은 시스템 산세리프 역할. 로고는 다음 구현 검사에서 자체 제작한 고정 이미지를 사용한다. 지금은 이미지 fixture를 생성하거나 적용하지 않았다. B1 v2는 주요색만 #0F766E로 변경한다. 실제 회사 브랜드가 아니다.

  1. 같은 v1을 Slides 한 문서와 Site 한 문서에 적용한다. 매핑된 역할을 실제로 쓰는 위치를 지정한다.
  2. 한 위치의 색을 수동으로 바꾸고 다른 위치는 브랜드를 따르게 둔다. 두 제품을 저장·재열기한다.
  3. v2 미리보기에서 추종 위치만 변경 후보가 되고 수동 변경은 유지되는지 확인한다. 취소하면 바이트가 바뀌지 않아야 한다.
  4. 갱신 후 두 제품의 역할별 값·로고 참조·글꼴 대체 표시를 비교한다. 픽셀 배치가 같아야 한다는 조건은 넣지 않는다.
  5. 구버전 열기, 원본 접근 불가, 지원하지 않는 글꼴, 로고 누락, 역할 삭제, 이름 충돌, 저장 실패, undo/redo를 확인한다. 실제 연결한 편집 경로의 기존 transaction 정책을 따른다.

위 순서는 인수 계획이며 통과 기록이 아니다. 기존 theme·variable·template 검사를 회귀 근거로 재사용하되 두 제품의 화면·파일 교환 검증을 대신하지 않는다. Word는 명명 스타일 매핑, Note는 호스트와 본문 역할 경계가 남아 있어 이번 두 제품 시제품의 지원 제품으로 표시하지 않는다.

제품·사업 검증과 후속

고객에게 확인할 가치는 동일 브랜드 자료를 만드는 시간, 변경 후 고쳐야 하는 위치, 잘못 적용한 서식 수다. 기존 템플릿 선택만으로 충분하면 갱신 연결의 우선순위를 낮춘다. 브랜드 관리 기능만으로 유료 전환이 생긴다고 가정하지 않는다. #289의 고객 업무와 #296의 구매·운영 책임 조사에 연결한다.

#293은 열린 P2 제안으로 유지한다. 구현 준비 순서는 제품별 지원 표·fixture 고정 → 버전 고정 적용 → 수동 변경을 보존하는 갱신 미리보기 → 저장·재열기·실제 출력 확인이다. 테마 엔진 교체, 템플릿 마켓 결제, 자동 게시, 글꼴 배포, 모바일 화면 검사는 포함하지 않는다.

Clone this wiki locally