/* 아리 — '오늘의 여정' 데이터 (클린 화이트 테마) 하루를 4단계 흐름으로 보고, 작업↔사람↔미팅을 의미 있는 링크로 연결한다. 링크는 DOM 위치를 측정해 실시간 베지어 곡선으로 그린다. */ (function () { /* 클린 화이트 팔레트 */ const C = { blue: "#4f72e0", coral: "#df7256", green: "#4e9b66", violet: "#8b6fd4", amber: "#e0a23c", ink: "#29241f", }; /* ---------- 사람 ---------- */ const people = [ { id: "jiwoo", name: "지우", ini: "지", c: C.blue, me: true, tasks: 4, role: "나 · PM" }, { id: "hyunwoo", name: "현우", ini: "현", c: C.violet, tasks: 2, role: "디자인" }, { id: "minseo", name: "민서", ini: "민", c: C.green, tasks: 2, role: "팀 운영" }, { id: "jaeho", name: "재호", ini: "재", c: C.coral, tasks: 2, role: "데이터" }, { id: "sua", name: "수아", ini: "수", c: C.ink, tasks: 3, role: "리서치" }, ]; const P = Object.fromEntries(people.map((p) => [p.id, p])); /* ---------- 4단계 ---------- */ const stages = [ { id: "s1", title: "아침 준비", time: "06:40 – 09:00", c: C.blue, n: "2" }, { id: "s2", title: "오전 집중", time: "09:00 – 13:00", c: C.coral, n: "4" }, { id: "s3", title: "오후 협업", time: "13:00 – 17:00", c: C.violet, n: "4" }, { id: "s4", title: "마무리 & 내일", time: "17:00 – 23:00", c: C.ink, n: "4" }, ]; /* ---------- 단계별 카드 ---------- */ const cards = { s1: [ { node: "m-sleep", kind: "routine", ic: "moon", title: "수면 7시간 12분", meta: "평소만큼 푹 잔 밤", tag: "컨디션 좋음", tool: "tick", toolC: "ok" }, { node: "m-brief", kind: "routine", ic: "sun", title: "아침 브리핑 확인", meta: "맑음 24° · 출근 23분", tag: "4분 빠름", tool: "cal" }, ], s2: [ { node: "t-report", kind: "task", title: "분기 리포트 초안 마무리", meta: "경영 전략 · 우선", who: "jiwoo", done: false }, { node: "t-wire", kind: "task", title: "온보딩 와이어프레임 피드백", meta: "온보딩 · 우선", who: "hyunwoo", done: false }, { node: "t-interview", kind: "task", title: "사용자 인터뷰 5건 정리", meta: "온보딩 · 리서치", who: "sua", done: false }, { node: "t-welcome", kind: "task", title: "신규 입사자 환영 메일", meta: "팀 운영", who: "minseo", done: true }, ], s3: [ { node: "k-stand", kind: "meet", time: "13:00", title: "팀 데일리 스탠드업", meta: "프로덕트 · 15분", who: "minseo" }, { node: "k-design", kind: "meet", time: "14:00", title: "디자인 리뷰", meta: "온보딩 · 45분", who: "hyunwoo" }, { node: "k-strat", kind: "meet", time: "15:00", title: "분기 전략 미팅", meta: "경영진 · 60분", who: "jaeho", soon: true }, { node: "k-11", kind: "meet", time: "16:30", title: "1:1 — 민서님", meta: "팀 · 30분", who: "minseo" }, ], s4: [ { node: "w-focus", kind: "tile", hi: true, ic: "target", tt: "지금 집중", ts: "분기 리포트 마무리" }, { node: "w-retro", kind: "tile", ic: "send", tt: "회고 배포", ts: "팀 채널 공유" }, { node: "w-health", kind: "tile", ic: "heart", tt: "운동 30분", ts: "주 3/4회" }, { node: "w-next", kind: "tile", ic: "cal", tt: "내일 준비", ts: "일정 4건" }, ], }; /* ---------- 의미 있는 흐름 링크 (from → to, 둘 다 node) ---------- */ const links = [ { from: "m-brief", to: "t-report", c: C.blue }, { from: "t-report", to: "k-strat", c: C.coral }, { from: "t-wire", to: "k-design", c: C.violet }, { from: "t-interview", to: "k-11", c: C.green, dash: true }, { from: "t-welcome", to: "k-stand", c: C.green, dash: true }, { from: "k-strat", to: "w-focus", c: C.ink }, { from: "k-design", to: "w-retro", c: C.violet, dash: true }, { from: "k-11", to: "w-next", c: C.green, dash: true }, ]; /* ---------- 하단 작업 테이블 ---------- */ const rows = [ { star: true, node: "t-report", nm: "분기 리포트 초안", st: "prog", stt: "진행중", date: "09:00", who: "jiwoo" }, { node: "t-wire", nm: "온보딩 와이어프레임 피드백", st: "review", stt: "검토", date: "11:00", who: "hyunwoo" }, { node: "t-interview", nm: "사용자 인터뷰 5건 정리", st: "prog", stt: "진행중", date: "13:30", who: "sua" }, { star: true, node: "t-welcome", nm: "신규 입사자 환영 메일", st: "done", stt: "완료", date: "08:30", who: "minseo" }, { node: "t-card", nm: "구독 결제 카드 갱신", st: "sched", stt: "예정", date: "18:00", who: "jiwoo" }, ]; window.AriJourney = { C, people, P, stages, cards, links, rows }; })();