init: technical-visualization-haness 하네스 설계
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
# 대체 설명
|
||||
|
||||
Unix Epoch 기준점과 372일 주기의 이전·현재·다음 로테이션을 나타내는 시간축.
|
||||
|
||||
전역 제목·부제·footer는 보이는 캔버스에 포함하지 않는다. 접근성용 SVG `<title>`과 `<desc>`는 보이지 않는 메타데이터로 유지한다.
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"id": "retention-cycle",
|
||||
"visual_grammar": "timeline",
|
||||
"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": [
|
||||
"time axis",
|
||||
"dated markers",
|
||||
"period bracket"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
# Context
|
||||
|
||||
독자가 확인해야 할 질문: **기준일과 현재·다음 로테이션의 시간 간격은 어떻게 되는가?**
|
||||
|
||||
이 fixture는 문서 본문이 이미 문제와 결론을 설명한다고 가정한다. 따라서 SVG에는 다이어그램 관계를 해독하는 데 필요한 기술 레이블만 둔다.
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 20 KiB |
@@ -0,0 +1,44 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1440" height="430" viewBox="0 0 1440 430" role="img" aria-labelledby="title desc">
|
||||
<title id="title">Timeline</title>
|
||||
<desc id="desc">Unix Epoch 기준점과 372일 주기의 이전·현재·다음 로테이션을 나타내는 시간축.</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="430" fill="#FFFFFF"/>
|
||||
<path d="M 25 180 L 1400 180" fill="none" stroke="#34383D" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arrow-ink)" />
|
||||
<circle cx="60" cy="180" r="10" fill="#FFFFFF" stroke="#34383D" stroke-width="1.7" />
|
||||
<text x="60" y="148" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="14" font-weight="700" fill="#34383D" text-anchor="middle">T = 0</text>
|
||||
<text x="60" y="240" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="13" font-weight="500" fill="#34383D" text-anchor="middle">1970-01-01</text>
|
||||
<text x="60" y="267" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="11" font-weight="450" fill="#667085" text-anchor="middle">Unix Epoch (기준점)</text>
|
||||
<circle cx="260" cy="180" r="10" fill="#FFFFFF" stroke="#34383D" stroke-width="1.7" />
|
||||
<text x="260" y="148" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="14" font-weight="700" fill="#34383D" text-anchor="middle">+372d</text>
|
||||
<text x="260" y="240" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="13" font-weight="500" fill="#34383D" text-anchor="middle">1971-01-08</text>
|
||||
<circle cx="450" cy="180" r="10" fill="#FFFFFF" stroke="#34383D" stroke-width="1.7" />
|
||||
<text x="450" y="148" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="14" font-weight="700" fill="#34383D" text-anchor="middle">+744d</text>
|
||||
<text x="450" y="240" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="13" font-weight="500" fill="#34383D" text-anchor="middle">1972-01-15</text>
|
||||
<circle cx="840" cy="180" r="12" fill="#CF6274" stroke="#CF6274" stroke-width="1.5" />
|
||||
<path d="M 840 110 L 840 250" fill="none" stroke="#CF6274" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<text x="840" y="95" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="14" font-weight="700" fill="#CF6274" text-anchor="middle">n=55</text>
|
||||
<text x="840" y="240" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="13" font-weight="700" fill="#CF6274" text-anchor="middle">2026-01-07</text>
|
||||
<text x="840" y="267" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="11" font-weight="450" fill="#667085" text-anchor="middle">직전 로테이션</text>
|
||||
<circle cx="1070" cy="180" r="12" fill="#55B56A" stroke="#55B56A" stroke-width="1.5" />
|
||||
<path d="M 1070 110 L 1070 250" fill="none" stroke="#55B56A" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<text x="1070" y="95" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="14" font-weight="700" fill="#55B56A" text-anchor="middle">● 현재</text>
|
||||
<circle cx="1320" cy="180" r="12" fill="#5A82E4" stroke="#5A82E4" stroke-width="1.5" />
|
||||
<path d="M 1320 110 L 1320 250" fill="none" stroke="#5A82E4" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<text x="1320" y="95" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="14" font-weight="700" fill="#5A82E4" text-anchor="middle">n=56</text>
|
||||
<text x="1320" y="240" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="13" font-weight="700" fill="#5A82E4" text-anchor="middle">2027-01-14</text>
|
||||
<text x="1320" y="267" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="11" font-weight="450" fill="#667085" text-anchor="middle">다음 로테이션 (예상)</text>
|
||||
<text x="650" y="165" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="24" font-weight="600" fill="#8A9097" text-anchor="middle">…</text>
|
||||
<path d="M 840 350 L 840 367 L 1320 367 L 1320 350" fill="none" stroke="#777D85" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<text x="1080" y="405" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="12" font-weight="500" fill="#4B5057" text-anchor="middle">372일 주기 (1년 + 31일 × 12 = 372일)</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 6.3 KiB |
Reference in New Issue
Block a user