① 영향 없음 영향 없음
검색 슬롯이 되지 않고, 대치하지 않고, 벌점도 받지 않는다. 화면에는 원문이 남는다.
← 미리디 기술 사전 / Title·Subtitle·Description 대치
텍스트 노드의 RLSC role 9종을 검색·대치에 영향이 없는 것, 대치되지 않으면 원문을 두는 것, 대치되지 않으면 임시 문구를 띄우는 것으로 가르고, iUi 실서비스·aippt-prisonbreak·mordor-wiki 정본이 각각 어떻게 정했는지 나란히 놓는다.
검색 슬롯이 되지 않고, 대치하지 않고, 벌점도 받지 않는다. 화면에는 원문이 남는다.
검색·대치 구조에는 들어가지만 사용자 글을 받지 못하면 컴포넌트 원문을 그대로 둔다.
대치가 채우는 본문이다. 못 채우면 role에 맞는 임시 문구(「제목을 입력해주세요.」 등)가 뜨고 순위 벌점을 받는다.
두 저장소가 Background 하나에서 갈렸다. iUi는 2026-10-23에 Background를 본문이 아닌 role로 옮겼다(c2e8981fd). aippt 벤더 사본은 그 하루 전인 2026-10-22에 iUi 5057e8954를 떠 왔기 때문에 아직 옛 갈래다 (vendor-manifest.json). 그래서 지금 iUi는 ① 영향 없음, aippt 실서비스는 ③ 임시 문구이다.
나머지 여덟 role은 같다. ① 영향 없음은 Decoration·Separator·Annotation(+ iUi만 Background), ② 원문는 Marker, ③ 임시 문구은 Title·Subtitle·Highlight·Description이다. ③ 임시 문구이라도 원문이 구조 토큰(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 | ① 영향 없음 2026-10-23 바뀜 · 전에는 ③ 임시 문구(잠정)였다 | ③ 임시 문구 벤더가 아직 옛 갈래 | 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. 2026-10-23에 iUi가 ① 영향 없음로 옮겼다(c2e8981fd — 「워터마크처럼 배경에 깔린 글자」). 직전 판까지는 ③ 임시 문구이면서 코드 주석이 「아직」이라고 적어 두었고, 이 문서는 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만 있다.
Background. iUi가 2026-10-23에 본문이 아닌 role로 옮겼는데(c2e8981fd), aippt 벤더 사본은 그 하루 전인 2026-10-22에 iUi 5057e8954를 떠 왔다(vendor-manifest.json). 그래서 같은 Background 글자가 iUi에서는 원문으로 남고 aippt 실서비스에서는 임시 문구를 받는다. 벤더를 다시 떠 오면 사라지는 차이이고, 이 문서에서 두 실서비스가 갈린 유일한 자리다.
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·Background 넷이다 — 2026-10-23에 Background가 들어왔다. 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 쌍둥이 — 2026-10-23에 셋에서 넷으로(Background 추가) |
| 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의 고정 커밋에서 읽었다(작업 트리는 보지 않았다). 2026-10-25 재대조에서는 직전 판이 근거로 든 경로 20개를 옛 커밋과 지금 커밋 사이로 git diff해 바뀐 것만 다시 읽었다 — iUi에서 decoration.ts·nodeTextPolicy.ts·title_candidate.rs가 Background 때문에 바뀌었고, align.rs·shape.rs의 변경은 TableItem 나눠 담기(MOR-2683)와 리팩터라 role과 무관했다. aippt와 mordor-wiki는 근거로 든 경로가 모두 그대로였다. 바뀐 줄에 맞춰 permalink의 줄 번호를 다시 맞췄다. aippt·mordor-wiki는 조사를 맡긴 결과를 받은 뒤 결론을 좌우하는 줄(role-v2.md 196·200·202·212·219~262, IIS 게이트 172행, PoC slotRoleOf)을 원문과 다시 대 봤다. 옛 comp-sign의 getRoleLeafName 매핑과 Background·Separator가 옛 경로에서 받는 문구는 확인하지 않았다.