① 영향 없음 영향 없음
검색 슬롯이 되지 않고, 대치하지 않고, 벌점도 받지 않는다. 화면에는 원문이 남는다.
2026-10-25 보관. 1.0.0 → 1.1.0 · MINOR: iUi 가 Background 를 본문이 아닌 role 로 옮기기(2026-10-23) 전 판입니다. 본문과 자동 동기화 표는 보관 당시 내용입니다.
현재 기준과 원본 보기 → · 보관 목록← 미리디 기술 사전 / Title·Subtitle·Description 대치
텍스트 노드의 RLSC role 9종을 검색·대치에 영향이 없는 것, 대치되지 않으면 원문을 두는 것, 대치되지 않으면 임시 문구를 띄우는 것으로 가르고, iUi 실서비스·aippt-prisonbreak·mordor-wiki 정본이 각각 어떻게 정했는지 나란히 놓는다.
검색 슬롯이 되지 않고, 대치하지 않고, 벌점도 받지 않는다. 화면에는 원문이 남는다.
검색·대치 구조에는 들어가지만 사용자 글을 받지 못하면 컴포넌트 원문을 그대로 둔다.
대치가 채우는 본문이다. 못 채우면 role에 맞는 임시 문구(「제목을 입력해주세요.」 등)가 뜨고 순위 벌점을 받는다.
실서비스 기준으로는 두 저장소가 같다. aippt는 iUi 265a476c0의 decoration.ts·nodeTextPolicy.ts를 벤더 사본으로 그대로 쓴다(aippt #2641, 2026-10-20). ① 영향 없음은 Decoration·Separator·Annotation, ② 원문는 Marker, ③ 임시 문구은 Title·Subtitle·Highlight·Description·Background(잠정)다. ③ 임시 문구이라도 원문이 구조 토큰(vs·TAM/SAM/SOM·숫자가 아닌 한 글자)이면 원문으로 둔다.
「aippt 다른 경로」는 실서비스가 아닌 PoC(src/lib/visual-summary/binding.ts)와 I.I.S. 정합성 게이트다. 「옛 comp-sign」은 iUi /comp-match와 aippt 벤더 사본에 함께 남은 경로다.
| role | iUi 실서비스(comp-frame) | aippt 실서비스(벤더) | aippt 다른 경로 | 옛 comp-sign | mordor-wiki 정본 |
|---|---|---|---|---|---|
Title | ③ 임시 문구 | ③ 임시 문구 | PoC: 반복 단위 안이면 비운다 | ③ 임시 문구 | ③ 임시 문구 A Class · 임시 문구 표 |
Description | ③ 임시 문구 | ③ 임시 문구 | PoC: 비운다 | ③ 임시 문구 | ③ 임시 문구 A Class |
Subtitle | ③ 임시 문구 | ③ 임시 문구 | PoC: 비운다 | ③ 임시 문구 | ③ 임시 문구 B Class |
Highlight | ③ 임시 문구 | ③ 임시 문구 | PoC: Other → 비운다 | ③ 임시 문구 숫자 모양이면 원문 | ③ 임시 문구 숫자 모양(01·100%)은 원문 |
Background | ③ 임시 문구 잠정 · 전용 문구 없이 기본 문구 | ③ 임시 문구 잠정 | PoC: 비운다 | ③ 임시 문구 | 정하지 않음 C Class |
Marker | ② 원문 순서형 카테고리는 순번 01…로 다시 매긴다 | ② 원문 나눠 담기 2쪽부터 순번 | PoC: 순번 재매김 · IIS 게이트: 보존 | ① 영향 없음 시그니처·대치에서 제외 | 충돌 아래 4번 |
Decoration | ① 영향 없음 | ① 영향 없음 | IIS 게이트: 보존 | ① 영향 없음 Deco만 비교 | ① 영향 없음 — 정의는 이미지 요소 |
Separator | ① 영향 없음 | ① 영향 없음 | IIS 게이트: 누락으로 셈 | ③ 임시 문구 | 정하지 않음 C Class |
Annotation | ① 영향 없음 | ① 영향 없음 | IIS 게이트: 누락으로 셈 | ③ 임시 문구 | ① 영향 없음 규칙 명시(MOR-1813) |
Separator. iUi는 MOR-2753에서 ① 영향 없음로 정했다. 정본 role-v2는 C Class라고만 적는다. 규약에 한 줄을 더해야 한다.
Background. iUi는 ③ 임시 문구으로 두면서 「아직」이라고 적었다(decoration.ts:42 — 2.6판에 8행뿐). 정본은 정하지 않았다. C Class 정의(「내용이 누락되어도 사용자가 손을 댈 필요가 없다고 느낄 수도」)로 보면 ① 영향 없음에 가깝게 읽힌다 — 이건 해석이다.
글자 Decoration. 정본은 Decoration을 「장식적 목적으로 배치되는 이미지 요소」로 정의한다(role-v2.md:200). 글자 Decoration을 원문으로 두는 건 iUi가 넓힌 해석이다. content-binding-contract의 DECO는 「비우거나 제거 가능」이라 원문 유지와도 맞지 않는다(content-binding-contract.md:204).
Marker. role-v2는 「Decoration과 달리 내용 대치(컨텐츠 교체) 시 함께 변경되어야 하는 요소」라고 적는다(role-v2.md:196). 같은 위키의 실측 문서는 comp-sign 코드가 Marker를 「대치 대상에서 제외 + 원본 유지」로 처리하며 그게 설계라고 적고, role-v2의 B Class 서술을 고치자고 제안한다(marker-role-engine-consumption-as-is.md:16, marker-role-engine-consumption-as-is.md:187). iUi는 그 밖의 카테고리에서 원문, 순서형에서 순번을 다시 매긴다(04).
숫자 원문. 정본 평가 문서는 Highlight의 숫자 모양(01·100%)을 원문으로 둔다고 적는다(comp-sign shouldPreserveText 기준). iUi 실서비스는 MOR-2627 이후 숫자라서 원문으로 두는 폴백이 없다 — 임시 문구다(decideUnreplacedNode). MOR-2627 정책이 정본에 실려 있지 않은 것은 감사 티켓 MOR-2833이 다룬다.
원문 잔존을 보는 시각. I.I.S. 정합성 게이트 문서는 구조에 참조되지 않은 글이 원문으로 남는 것을 오류로 본다(iis-consistency-gate.md:33). 그런데 ① 영향 없음·② 원문는 원문 유지가 의도된 동작이다. 게이트의 예외 후보에는 Decoration만 있다.
aippt I.I.S. 정합성 게이트. isPreservedByReplacement가 Marker·Deco·Decoration만 보존으로 본다. Separator·Annotation 노드가 구조에 없으면 누락으로 센다 — MOR-2753이 반영되지 않았다.
옛 comp-sign 경로. helpers.ts:746가 Marker와 Deco만 건너뛴다. Separator·Annotation은 ③ 임시 문구이 된다. 이름도 'Deco'만 비교해서, RLSC leaf가 Decoration이면 걸리지 않을 수 있다 — 이름을 줄이는 getRoleLeafName은 확인하지 못했다.
aippt PoC. slotRoleOf가 Title·Subtitle·Description·Marker만 가르고 나머지를 Other로 본다. 반복 단위 안의 Annotation도 비워진다. 코드 주석에 실서비스는 comp-frame이라고 적혀 있어 운영 영향은 없다.
marker 슬롯으로 넣는다. 질의 Frame은 marker 필드를 만들지 않고, 모양 비트도 없다(marker_field_does_not_allocate_a_shape_bit). 후보를 거르거나 stage를 나누는 데 쓰이지 않는다.ProcessFlow_*·Progression_*·TimelineSchedule_*, ordered_categories.rs:13). 정렬 규칙 d(place_markers)가 marker 슬롯을 순번 01·02…로 채운다. 원문 「STEP 1」 자리에 「01」이 바인딩으로 들어간다.blank·preserve로 남고, decideUnreplacedNode가 role Marker를 보고 원문을 둔다.그래서 「대치에 쓰지 않는 노드」로 정확히 묶이는 건 Decoration·Separator·Annotation 셋이다. Marker는 사용자 글을 받지 않는다는 점만 같다. Rust role_keeps_original는 넷을 함께 보지만, 그 뜻은 「원문을 남긴다」가 아니라 「사용자 글을 받지 않는다」다. TS에는 이 쌍둥이가 없다 — isNonContentRole는 세 role만 보고, 적재기의 preserveTextNodesOf는 Marker만 본다. 세 role은 서버가 node_roles 컬럼으로 거른다.
role-v2의 「Role Priority Classes」(role-v2.md:219)는 내용 대치에서 그 role이 빠지면 얼마나 어색한지로 중요도를 나눈다. 원문으로 둘지 임시 문구를 띄울지는 이 등급이 아니라 role마다 붙은 설명에 있다.
| 등급 | 정의(원문) | role |
|---|---|---|
| A Class | 「내용대치시 누락되거나 내용이 주입되지 않으면 이상하게 느낄 수 있는 핵심 요소들」 | Title, Description |
| B Class | 「누락되는 경우 사용자가 그 사실을 인지하기는 쉽지만 스스로 채워넣거나 수정해도 될 것이라고 인지하기 쉬운 것」 | Subtitle, Highlight, Marker |
| C Class | 「애초에 Component 단위로 포함될 필요가 없거나, 내용이 누락되어도 사용자가 손을 댈 필요가 없다고 느낄 수도 있는 요소들」 | Separator, Decoration, Background, Annotation |
packages·src·rust에서 참조 0건). 실서비스는 ELEMENT_ROLE_KINDS(content·marker·nonContent)로 가른다.graph-leaf-matching-algorithm.md:63).role-v2.md:212).| 저장소 | 자리 | 무엇 |
|---|---|---|
| iUi | ELEMENT_ROLE_KINDS | role 9종 → content·marker·nonContent 표(정본) |
| iUi | nonContentTextIds | 적재기가 nonContent 노드를 슬롯 후보에서 뺀다 |
| iUi | decideUnreplacedNode | 대치되지 않은 노드: Marker·nonContent → 원문, 구조 토큰 → 원문, 그 밖 → 임시 문구 |
| iUi | classifyPreservableText | 원문을 token·number·other로 가른다(role은 보지 않는다) |
| iUi | placeholders.ts:62 | role별 임시 문구 표(Title·Subtitle·Desc·Hl·default) |
| iUi | NON_CONTENT_ROLES | Rust 쌍둥이 |
| aippt | vendor decoration.ts | iUi 표의 벤더 사본 |
| aippt | role-v2.ts:67 | Annotation 규칙(코드 쪽 role 정의) |
| mordor-wiki | role-v2.md:202 | Decoration은 「Component 내용대치가 되지 않는 꾸밈요소」 |
| mordor-wiki | role-v2.md:212 | Annotation 「(1) 템플릿 간 내용 대치 시 내용이 변경되지 않는다 (2) 요약문이 배정되는 슬롯으로 쓰이지 않는다」 |
| mordor-wiki | placeholder-effect.md:184 | 임시 문구 표(평가 문서) |
세 저장소 모두 fetch한 origin/main의 고정 커밋에서 읽었다(작업 트리는 보지 않았다). aippt·mordor-wiki는 조사를 맡긴 결과를 받은 뒤 결론을 좌우하는 줄(role-v2.md 196·200·202·212·219~262, IIS 게이트 172행, PoC slotRoleOf)을 원문과 다시 대 봤다. 옛 comp-sign의 getRoleLeafName 매핑과 Background·Separator가 옛 경로에서 받는 문구는 확인하지 않았다.