init: technical-visualization-haness 하네스 설계
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
# 대체 설명
|
||||
|
||||
BFF 사용자 요청 처리와 worker·queue·translator 기반 번역 적재 파이프라인을 두 경계로 나눈 구조.
|
||||
|
||||
전역 제목·부제·footer는 보이는 캔버스에 포함하지 않는다. 접근성용 SVG `<title>`과 `<desc>`는 보이지 않는 메타데이터로 유지한다.
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"id": "localization-pipeline",
|
||||
"visual_grammar": "two_zone_pipeline",
|
||||
"reader_question": "사용자 언어 처리와 번역 데이터 적재는 어느 경계에서 분리되는가?",
|
||||
"diagram_only": true,
|
||||
"visible_text_scope": [
|
||||
"node labels",
|
||||
"boundary labels",
|
||||
"edge labels",
|
||||
"state/time annotations required to decode the relation"
|
||||
],
|
||||
"forbidden_visible_elements": [
|
||||
"global title",
|
||||
"subtitle paragraph",
|
||||
"footer",
|
||||
"takeaway band",
|
||||
"pattern number",
|
||||
"generator watermark",
|
||||
"decorative metric card",
|
||||
"gradient",
|
||||
"drop shadow",
|
||||
"glow"
|
||||
],
|
||||
"palette_policy": "grayscale plus one primary accent; status colors only when semantic",
|
||||
"required_renderer_capabilities": [
|
||||
"two-zone boundary",
|
||||
"pipeline loop",
|
||||
"sketch-neutral theme"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
# Context
|
||||
|
||||
독자가 확인해야 할 질문: **사용자 언어 처리와 번역 데이터 적재는 어느 경계에서 분리되는가?**
|
||||
|
||||
이 fixture는 문서 본문이 이미 문제와 결론을 설명한다고 가정한다. 따라서 SVG에는 다이어그램 관계를 해독하는 데 필요한 기술 레이블만 둔다.
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 54 KiB |
@@ -0,0 +1,82 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1440" height="650" viewBox="0 0 1440 650" role="img" aria-labelledby="title desc">
|
||||
<title id="title">Localization pipeline</title>
|
||||
<desc id="desc">BFF 사용자 요청 처리와 worker·queue·translator 기반 번역 적재 파이프라인을 두 경계로 나눈 구조.</desc>
|
||||
<metadata>{"generator":"examples/build_examples.py","version":"0.3.0","canvas_policy":"diagram-only","decorative_effects":false}</metadata>
|
||||
<defs>
|
||||
<marker id="arrow-ink" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#24272B"/></marker>
|
||||
<marker id="arrow-muted" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#667085"/></marker>
|
||||
<marker id="arrow-blue" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#1677FF"/></marker>
|
||||
<marker id="arrow-green" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#00A86B"/></marker>
|
||||
<marker id="arrow-red" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#D94B4B"/></marker>
|
||||
<marker id="arrow-purple" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#7556D8"/></marker>
|
||||
<marker id="arrow-white" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#FFFFFF"/></marker>
|
||||
<marker id="arrow-yellow" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#E7C51D"/></marker>
|
||||
</defs>
|
||||
<rect width="1440" height="650" fill="#FFFFFF"/>
|
||||
<rect x="35" y="45" width="665" height="545" fill="#FFFDF7" stroke="#C9BFA5" stroke-width="1.3" rx="10" />
|
||||
<rect x="42" y="37" width="302.8" height="20" fill="#FFFFFF" rx="2" />
|
||||
<text x="49" y="50" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="11" font-weight="600" fill="#424242" text-anchor="start">Backend BFF Handling · 사용자 요청 및 서비스 레이어</text>
|
||||
<rect x="745" y="45" width="660" height="545" fill="#FFFDF7" stroke="#C9BFA5" stroke-width="1.3" rx="10" />
|
||||
<rect x="752" y="37" width="290.3" height="20" fill="#FFFFFF" rx="2" />
|
||||
<text x="759" y="50" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="11" font-weight="600" fill="#424242" text-anchor="start">Translation Pipeline · 데이터 번역 및 적재 레이어</text>
|
||||
<rect x="70" y="220" width="90" height="175" fill="#FFFDF7" stroke="#4A4A47" stroke-width="1.7" rx="10" />
|
||||
<path d="M 82 242 L 148 242" fill="none" stroke="#4A4A47" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M 82 369 L 148 369" fill="none" stroke="#4A4A47" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<circle cx="115" cy="382" r="3" fill="#4A4A47" />
|
||||
<text x="115" y="305" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="15" font-weight="700" fill="#24272B" text-anchor="middle">배민앱</text>
|
||||
<text x="115" y="425" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="11" font-weight="500" fill="#667085" text-anchor="middle">Accept-Language 헤더</text>
|
||||
<rect x="245" y="120" width="220" height="120" fill="#FBFBF8" stroke="#5D6268" stroke-width="1.5" rx="3" />
|
||||
<text x="355" y="144" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="14" font-weight="700" fill="#24272B" text-anchor="middle">목록 / 상세</text>
|
||||
<rect x="265" y="160" width="36" height="16" fill="#EFEFE9" stroke="#8A8F95" stroke-width="0.8" rx="2" />
|
||||
<path d="M 313 167 L 435 167" fill="none" stroke="#858A90" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M 313 174 L 400 174" fill="none" stroke="#B0B4B8" stroke-width="0.9" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<rect x="265" y="183" width="36" height="16" fill="#EFEFE9" stroke="#8A8F95" stroke-width="0.8" rx="2" />
|
||||
<path d="M 313 190 L 435 190" fill="none" stroke="#858A90" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M 313 197 L 400 197" fill="none" stroke="#B0B4B8" stroke-width="0.9" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<rect x="265" y="206" width="36" height="16" fill="#EFEFE9" stroke="#8A8F95" stroke-width="0.8" rx="2" />
|
||||
<path d="M 313 213 L 435 213" fill="none" stroke="#858A90" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M 313 220 L 400 220" fill="none" stroke="#B0B4B8" stroke-width="0.9" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<rect x="245" y="350" width="220" height="120" fill="#FBFBF8" stroke="#5D6268" stroke-width="1.5" rx="3" />
|
||||
<text x="355" y="374" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="14" font-weight="700" fill="#24272B" text-anchor="middle">장바구니 / 주문</text>
|
||||
<rect x="265" y="390" width="36" height="16" fill="#EFEFE9" stroke="#8A8F95" stroke-width="0.8" rx="2" />
|
||||
<path d="M 313 397 L 435 397" fill="none" stroke="#858A90" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M 313 404 L 400 404" fill="none" stroke="#B0B4B8" stroke-width="0.9" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<rect x="265" y="413" width="36" height="16" fill="#EFEFE9" stroke="#8A8F95" stroke-width="0.8" rx="2" />
|
||||
<path d="M 313 420 L 435 420" fill="none" stroke="#858A90" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M 313 427 L 400 427" fill="none" stroke="#B0B4B8" stroke-width="0.9" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<rect x="265" y="436" width="36" height="16" fill="#EFEFE9" stroke="#8A8F95" stroke-width="0.8" rx="2" />
|
||||
<path d="M 313 443 L 435 443" fill="none" stroke="#858A90" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M 313 450 L 400 450" fill="none" stroke="#B0B4B8" stroke-width="0.9" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<text x="355" y="260" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="12" font-weight="600" fill="#24272B" text-anchor="middle">다국어 정책 화면</text>
|
||||
<text x="355" y="490" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="12" font-weight="600" fill="#24272B" text-anchor="middle">다국어 정책 화면</text>
|
||||
<polygon points="555,205 641,205 665,229 665,425 555,425" fill="#FFFDF7" stroke="#4A4A47" stroke-width="2.2" />
|
||||
<path d="M 641 205 L 641 229 L 665 229" fill="none" stroke="#4A4A47" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<text x="610" y="325" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="25" font-weight="700" fill="#24272B" text-anchor="middle">FDH</text>
|
||||
<path d="M 160 275 L 245 205" fill="none" stroke="#4A4A47" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arrow-ink)" />
|
||||
<path d="M 160 340 L 245 410" fill="none" stroke="#4A4A47" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arrow-ink)" />
|
||||
<path d="M 465 180 L 555 260" fill="none" stroke="#4A4A47" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arrow-ink)" />
|
||||
<rect x="468.9" y="182" width="72.3" height="20" fill="#FFFDF7" rx="2" />
|
||||
<text x="505" y="195" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="11" font-weight="600" fill="#24272B" text-anchor="middle">lang param</text>
|
||||
<path d="M 465 410 L 555 365" fill="none" stroke="#4A4A47" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arrow-ink)" />
|
||||
<rect x="468.9" y="379" width="72.3" height="20" fill="#FFFDF7" rx="2" />
|
||||
<text x="505" y="392" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="11" font-weight="600" fill="#24272B" text-anchor="middle">lang param</text>
|
||||
<rect x="820" y="110" width="150" height="65" fill="#FFFDF7" stroke="#4A4A47" stroke-width="1.5" rx="8" />
|
||||
<text x="895" y="147.5" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="15" font-weight="700" fill="#24272B" text-anchor="middle">가게 / 메뉴</text>
|
||||
<rect x="985" y="225" width="170" height="82" fill="#FFFDF7" stroke="#4A4A47" stroke-width="1.7" rx="8" />
|
||||
<text x="1070" y="271" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="16" font-weight="700" fill="#24272B" text-anchor="middle">FDH Worker</text>
|
||||
<rect x="1210" y="235" width="135" height="62" fill="#FFFDF7" stroke="#4A4A47" stroke-width="1.6" rx="8" />
|
||||
<text x="1277.5" y="271" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="16" font-weight="700" fill="#24272B" text-anchor="middle">Queue</text>
|
||||
<rect x="985" y="410" width="170" height="82" fill="#FFFDF7" stroke="#4A4A47" stroke-width="1.7" rx="8" />
|
||||
<text x="1070" y="456" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="16" font-weight="700" fill="#24272B" text-anchor="middle">LLM Translator</text>
|
||||
<path d="M 895 175 L 1050 225" fill="none" stroke="#4A4A47" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arrow-ink)" />
|
||||
<rect x="946.5" y="175" width="47" height="20" fill="#FFFDF7" rx="2" />
|
||||
<text x="970" y="188" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="11" font-weight="600" fill="#24272B" text-anchor="middle">이벤트</text>
|
||||
<path d="M 1155 260 C 1180 260, 1185 260, 1210 260" fill="none" stroke="#4A4A47" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arrow-ink)" />
|
||||
<path d="M 1277 297 C 1295 360, 1230 445, 1155 451" fill="none" stroke="#4A4A47" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arrow-ink)" />
|
||||
<path d="M 985 451 C 900 451, 900 320, 985 267" fill="none" stroke="#4A4A47" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arrow-ink)" />
|
||||
<text x="1070" y="360" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="13" font-weight="600" fill="#24272B" text-anchor="middle">LLM 기반 자동 번역</text>
|
||||
<path d="M 985 267 L 665 315" fill="none" stroke="#4A4A47" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arrow-ink)" />
|
||||
<rect x="780.9" y="271" width="78.2" height="21" fill="#FFFDF7" rx="2" />
|
||||
<text x="820" y="285" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="12" font-weight="600" fill="#24272B" text-anchor="middle">다국어 적재</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 11 KiB |
Reference in New Issue
Block a user