Files

172 lines
11 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
identity:
producer-run-id: hyeonworks-vnext-v1-direction-divergence-manual-20260718T1145Z
context-package-sha256: eedcf6c839f69f3df7a30e7ea18b52ed5be3136c2699a2f7fe183eb27e877b30
artifact-kind: visual-direction-concept
artifact-version: 1
direction-id: field-manual
representative-screen-id: dual-entry-shared-lab
visual-thesis: >-
서로 다른 두 단서를 독립 콘텐츠처럼 꾸미지 않고, 한 장의 현장 매뉴얼에서 선택 가능한
Entry 01A·01B와 하나의 Protocol 01로 편성한다. 굵은 번호는 읽을 순서가 아니라 지금
실행할 행동을 지시하고, 모든 큰 선언 바로 뒤에는 선택·예측·실행할 control이나 검증 가능한
값 변화가 따라온다. 제한된 yellow·green·orange 표식은 상태를 장식하지 않고 활성 모듈,
절차 header, 증상 증거만 구분한다. 결과적으로 화면은 marketing poster가 아니라
TX-LOST-UPDATE-01을 Predict → Observe → Compare → Explain → Transfer로 수행하는
교육용 quick-reference manual처럼 작동한다.
concept-invariants:
- "Entry 01A와 Entry 01B는 모두 동일한 TX-LOST-UPDATE-01 및 Protocol 01을 가리킨다."
- "entry mode는 orientation metadata일 뿐, 합류 후 학습 단계·상태·콘텐츠를 분기하지 않는다."
- "활성 딥다이브는 Module 01 하나로 정직하게 표시하고 roadmap은 준비 중으로 구분한다."
- "증상 경로는 실제 장애 진단이 아니라 guided scenario에서 후보 메커니즘을 검증하는 교육 범위다."
- "큰 번호 뒤에는 즉시 실행 가능한 control, 절차, 또는 판독 가능한 evidence가 온다."
reference-clusters:
- id: quick-reference-procedure
reference: aircraft quick reference handbook
useful-signals:
- "행동 순서를 굵은 단계 번호와 짧은 imperative로 분리한다."
- "경계 조건과 주의 사항을 본문이 아닌 별도 rule block으로 둔다."
- "필요한 순간에 빠르게 재진입할 수 있는 선형 scan path를 만든다."
translation:
layout: "두 entry 선택 다음에 0105 공통 protocol을 끊김 없는 procedure strip으로 배치한다."
interaction: "각 단계는 동사 label과 한 개의 주 행동을 가지며 완료 전후에도 순서가 유지된다."
boundary: "실제 운항·안전 매뉴얼의 권위, 위험 등급, emergency 표식은 차용하지 않는다."
- id: controlled-module-system
reference: industrial field service manual
useful-signals:
- "module 번호, revision, 적용 범위를 좁은 metadata rail에 모은다."
- "한정된 spot color와 두꺼운 divider로 section ownership을 드러낸다."
- "rule, checkpoint, result를 서로 다른 블록 형태로 구분한다."
translation:
layout: "MODULE 01 / TX-LOST-UPDATE-01 / GUIDED SCENARIO를 상단 identification band에 묶는다."
interaction: "선택 결과는 가짜 승인 stamp가 아니라 현재 entry와 공통 합류점을 텍스트로 재확인한다."
boundary: "실제 incident 대응, 원격 DB 점검, 현장 인증 완료를 암시하는 표현은 사용하지 않는다."
- id: instructional-hierarchy
reference: Swiss instructional poster
useful-signals:
- "비대칭 대형 숫자와 고정 grid로 주행 방향을 한눈에 만든다."
- "짧은 문장, 넓은 여백, 강한 alignment로 정보 밀도를 통제한다."
- "색보다 크기·위치·선으로 위계와 합류 관계를 설명한다."
translation:
layout: "01A·01B는 동등한 2-up panel, 합류 Protocol 01은 두 panel 전체 폭을 점유한다."
interaction: "focus ring, 선택 marker, 라벨을 함께 사용해 색 없이도 현재 진입을 판독하게 한다."
boundary: "큰 headline만 남는 전시 poster나 제품 가치 선언형 hero로 축약하지 않는다."
layout-grammar:
topology: modular-poster-stack
desktop:
grid: "12-column fixed alignment grid; outer margin 4872px; 24px gutter"
sequence:
- "identification band: MODULE 01, scenario id, guided-scenario boundary"
- "statement band: 두 입구가 하나의 Lab으로 합류한다는 한 문장"
- "entry field: Entry 01A와 01B를 6-column씩 동등하게 배치"
- "merge rule: 두 entry 아래를 가로지르는 명시적 ONE SHARED LAB divider"
- "protocol field: PredictTransfer 다섯 checkpoint를 전체 폭 procedure strip으로 배치"
- "evidence field: 100에서 두 session read/compute/write를 거쳐 70이 되는 compact preview"
- "scope and roadmap: 교육 범위 rule block과 Module 02+ 준비 중 표기"
tablet:
rule: "768px에서 entry는 2-up을 유지하되 protocol은 3+2 row로 감싸고 DOM 순서는 0105를 유지한다."
mobile:
rule: "360390px에서 identification → 01A → 01B → merge → protocol 0105 → evidence → scope 순으로 1-column 재배치한다."
guardrails:
- "가로 timeline이나 드래그를 요구하지 않는다."
- "숫자는 장식 배경이 아닌 section 시작점으로 축소한다."
- "read/compute/write 비교는 같은 필드명을 반복하는 선형 목록으로 제공한다."
alignment-rule: "번호, 제목, control의 왼쪽 시작선을 공유하고 설명 문단은 그 선을 침범하지 않는다."
spacing-rule: "8px base; 한 절차 내부 8/16px, checkpoint 사이 24px, module 사이 48/72px."
interaction-grammar:
entry-selection:
control: "native button 두 개: ‘개념을 알고 있어요’와 ‘증상만 알고 있어요’"
feedback: "선택 marker + ENTRY SELECTED 텍스트 + Protocol 01 합류 안내를 동시에 갱신한다."
shared-core-rule: "어느 버튼을 선택해도 동일 scenario id와 동일 다섯 단계 control을 사용한다."
checkpoint-loop:
- {step: "01 Predict", action: "실행 전 최종값 또는 상태 변화를 선택", evidence: "예측값을 고정해 이후 비교 기준으로 보존"}
- {step: "02 Observe", action: "read/compute/write를 순서대로 실행", evidence: "현재 session·operation·value를 텍스트로 공지"}
- {step: "03 Compare", action: "예측과 실제 70을 나란히 확인", evidence: "일치 여부와 차이를 숫자·문장으로 병기"}
- {step: "04 Explain", action: "동일 초기값 read와 overwrite 인과를 설명", evidence: "필수 인과 checkpoint를 명시"}
- {step: "05 Transfer", action: "새 사례에서 같은 메커니즘 후보를 판별", evidence: "전이 판단과 근거를 함께 제출"}
focus:
rule: "Tab 순서는 시각 순서와 같고, focus-visible은 3px 이중 outline과 offset으로 배경색과 독립시킨다."
keyboard: "Tab, Enter, Space만으로 entry 선택·단서 공개·예측·실행·설명 제출이 가능하다."
state-announcement: "실험 단계 변화와 값 갱신은 aria-live로 짧게 알리되 focus를 자동 이동하지 않는다."
motion: "checkpoint 전환은 160ms 이하의 opacity/position 변화만 허용하고 prefers-reduced-motion에서는 즉시 교체한다."
prohibited:
- "완료를 증명하지 않는 장식 stamp"
- "hover 전용 설명"
- "drag 전용 timeline"
- "entry별 progress 또는 protocol 분기"
type-grammar:
display:
role: "module 번호, entry 번호, protocol 단계"
voice: "condensed sans, uppercase 영문 label, tabular numeral"
scale: "desktop 4888px; mobile 3652px; line-height 0.91.0"
constraint: "설명 문장, 교육 범위, roadmap에는 대형 condensed display를 사용하지 않는다."
instruction:
role: "한국어 제목, 행동 지시, 설명, boundary copy"
voice: "warm humanist sans"
scale: "body 1618px / 1.551.7; action label 1824px / 1.25"
constraint: "한 checkpoint의 핵심 지시는 한 문장, 보조 설명은 두 문장을 넘기지 않는다."
command:
role: "TX-LOST-UPDATE-01, session, read/compute/write, 100→150/70 값"
voice: "monospace with tabular numerals"
scale: "1316px / 1.45"
constraint: "코드·식별자·상태값에만 사용하며 terminal 미학의 전체 화면 mono는 금지한다."
labeling:
rule: "한국어 행동이 먼저 오고 필요한 경우 원어를 병기한다: ‘예측 Predict."
case: "영문 metadata만 uppercase; 한국어 본문과 control label에는 강제 대문자 효과를 쓰지 않는다."
primitive-grammar:
protocol-panel:
anatomy: "step number + imperative + one primary control + evidence line"
rule: "각 panel은 하나의 행동만 소유하고 다음 panel과 2px divider로 연결한다."
numbered-checkpoint:
anatomy: "two-digit index + verb label + state marker"
rule: "번호는 module과 protocol 단계에만 사용하며 설명 카드에는 붙이지 않는다."
rule-block:
anatomy: "RULE label + 범위 문장 + 허용/비허용 경계"
rule: "guided scenario와 실제 장애 진단의 경계를 반드시 한 번 이상 명시한다."
field-stamp:
anatomy: "outlined lozenge + factual state text"
rule: "GUIDED SCENARIO, ACTIVE MODULE처럼 사실인 범주만 표시하며 승인·완료를 가장하지 않는다."
procedure-strip:
anatomy: "0105 ordered cells + persistent connector + current-step marker"
rule: "색을 제거해도 번호, label, marker 형태로 현재 단계와 순서를 읽을 수 있어야 한다."
transfer-ticket:
anatomy: "new-case prompt + mechanism choice + rationale field"
rule: "Protocol 05에서만 사용하고 결과가 진단 확정이 아니라 학습 전이임을 명시한다."
value-token:
anatomy: "semantic label + numeric value + operation text"
rule: "100, 150, 70을 단독 badge로 쓰지 않고 session과 read/write 맥락을 병기한다."
color-grammar:
canvas: {value: "#f2eedf", use: "따뜻한 종이색 바탕", boundary: "질감 효과나 낡은 문서 연출 금지"}
ink: {value: "#18211d", use: "본문·선·기본 control", boundary: "최소 AA 대비 유지"}
manual-yellow: {value: "#e7bd45", use: "활성 Module 01과 shared checkpoint", boundary: "경고색 또는 전체 배경으로 쓰지 않음"}
instruction-green: {value: "#356c5d", use: "protocol header와 현재 절차 marker", boundary: "성공의 유일한 신호로 쓰지 않음"}
evidence-orange: {value: "#d75b32", use: "증상 entry와 overwrite 결과 70", boundary: "장식 stamp와 일반 강조에 남용하지 않음"}
accessibility-grammar:
- "텍스트·control은 WCAG AA 이상 대비를 유지한다."
- "세션·충돌·정답·현재 단계는 색과 함께 텍스트·아이콘·형태로 구분한다."
- "360/768/1280px에서 가로 스크롤 없이 Transfer까지 도달한다."
- "DOM 읽기 순서는 identification에서 교육 범위까지 시각 순서와 일치한다."
- "reduced-motion에서도 정보·순서·상태 표식이 완전히 동일하다."
anti-patterns:
- marketing hero만 있는 poster
- dashboard metric grid
- serif editorial folio
- neon signal trace 또는 terminal theater
- 가짜 완료·승인 stamp
- 실제 incident 대응 매뉴얼을 암시하는 위험 표식
- 두 entry별 별도 protocol·progress·content
- 색만으로 구분한 단계·session·결과
- 활성 콘텐츠 하나를 큰 atlas나 catalogue로 과장하는 표현