timelabs 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +30 -20
- package/package.json +1 -1
- package/skills/web-design/claude-code/SKILL.md +270 -0
- package/skills/web-design/claude-code/analyze/analyze-benchmark-rules.md +229 -0
- package/skills/web-design/claude-code/analyze/analyze-benchmark.md +302 -0
- package/skills/web-design/claude-code/analyze/analyze-mockup.md +572 -0
- package/skills/web-design/claude-code/collect/collect-app.md +258 -0
- package/skills/web-design/claude-code/collect/collect-desktop.md +231 -0
- package/skills/web-design/claude-code/collect/collect-hybrid.md +222 -0
- package/skills/web-design/claude-code/collect/collect-style.md +155 -0
- package/skills/web-design/claude-code/collect/collect-type.md +42 -0
- package/skills/web-design/claude-code/collect/collect-video.md +239 -0
- package/skills/web-design/claude-code/collect/collect-web.md +279 -0
- package/skills/web-design/claude-code/defs/ai-recommend/01-style-design-recommend.md +64 -0
- package/skills/web-design/claude-code/defs/ai-recommend.md +58 -0
- package/skills/web-design/claude-code/defs/app-layouts/02-utility.md +54 -0
- package/skills/web-design/claude-code/defs/app-layouts/03-social.md +71 -0
- package/skills/web-design/claude-code/defs/app-layouts/04-game.md +54 -0
- package/skills/web-design/claude-code/defs/app-layouts/05-fintech.md +62 -0
- package/skills/web-design/claude-code/defs/app-layouts/06-healthcare.md +66 -0
- package/skills/web-design/claude-code/defs/app-layouts/07-ecommerce.md +63 -0
- package/skills/web-design/claude-code/defs/app-layouts/08-education.md +88 -0
- package/skills/web-design/claude-code/defs/app-layouts/09-creative.md +86 -0
- package/skills/web-design/claude-code/defs/app-layouts.md +59 -0
- package/skills/web-design/claude-code/defs/app-motions/01-utility.md +51 -0
- package/skills/web-design/claude-code/defs/app-motions/02-social.md +55 -0
- package/skills/web-design/claude-code/defs/app-motions/03-game.md +52 -0
- package/skills/web-design/claude-code/defs/app-motions/04-fintech.md +52 -0
- package/skills/web-design/claude-code/defs/app-motions/05-healthcare.md +52 -0
- package/skills/web-design/claude-code/defs/app-motions/06-ecommerce.md +55 -0
- package/skills/web-design/claude-code/defs/app-motions/07-education.md +54 -0
- package/skills/web-design/claude-code/defs/app-motions/08-creative.md +53 -0
- package/skills/web-design/claude-code/defs/app-motions/10-intensity-preset-motion.md +12 -0
- package/skills/web-design/claude-code/defs/app-motions.md +64 -0
- package/skills/web-design/claude-code/defs/component-specs/01-set-component.md +24 -0
- package/skills/web-design/claude-code/defs/component-specs/02-features-flow.md +51 -0
- package/skills/web-design/claude-code/defs/component-specs/03-system-visual.md +193 -0
- package/skills/web-design/claude-code/defs/component-specs/04-interaction-pattern-visual.md +61 -0
- package/skills/web-design/claude-code/defs/component-specs/domains/admin.md +55 -0
- package/skills/web-design/claude-code/defs/component-specs/domains/dashboard.md +60 -0
- package/skills/web-design/claude-code/defs/component-specs/domains/erp.md +68 -0
- package/skills/web-design/claude-code/defs/component-specs/domains/saas.md +65 -0
- package/skills/web-design/claude-code/defs/component-specs.md +24 -0
- package/skills/web-design/claude-code/defs/design-guide-sections.md +37 -0
- package/skills/web-design/claude-code/defs/desktop-layouts/01-utility.md +69 -0
- package/skills/web-design/claude-code/defs/desktop-layouts/02-data.md +71 -0
- package/skills/web-design/claude-code/defs/desktop-layouts/03-creative.md +73 -0
- package/skills/web-design/claude-code/defs/desktop-layouts/04-communication.md +71 -0
- package/skills/web-design/claude-code/defs/desktop-layouts/05-game.md +73 -0
- package/skills/web-design/claude-code/defs/desktop-layouts/06-business.md +74 -0
- package/skills/web-design/claude-code/defs/desktop-layouts.md +49 -0
- package/skills/web-design/claude-code/defs/desktop-motions/01-utility.md +56 -0
- package/skills/web-design/claude-code/defs/desktop-motions/02-data.md +60 -0
- package/skills/web-design/claude-code/defs/desktop-motions/03-creative.md +60 -0
- package/skills/web-design/claude-code/defs/desktop-motions/04-communication.md +57 -0
- package/skills/web-design/claude-code/defs/desktop-motions/05-game.md +55 -0
- package/skills/web-design/claude-code/defs/desktop-motions/06-business.md +52 -0
- package/skills/web-design/claude-code/defs/desktop-motions.md +75 -0
- package/skills/web-design/claude-code/defs/hybrid-layouts/01-web_mobile.md +81 -0
- package/skills/web-design/claude-code/defs/hybrid-layouts/02-web_desktop.md +78 -0
- package/skills/web-design/claude-code/defs/hybrid-layouts/03-mobile_desktop.md +79 -0
- package/skills/web-design/claude-code/defs/hybrid-layouts/04-all.md +81 -0
- package/skills/web-design/claude-code/defs/hybrid-layouts.md +49 -0
- package/skills/web-design/claude-code/defs/hybrid-motions/01-web_mobile.md +69 -0
- package/skills/web-design/claude-code/defs/hybrid-motions/02-web_desktop.md +69 -0
- package/skills/web-design/claude-code/defs/hybrid-motions/03-mobile_desktop.md +74 -0
- package/skills/web-design/claude-code/defs/hybrid-motions/04-all.md +96 -0
- package/skills/web-design/claude-code/defs/hybrid-motions/07-intensity-preset-motion.md +16 -0
- package/skills/web-design/claude-code/defs/hybrid-motions.md +65 -0
- package/skills/web-design/claude-code/defs/ia-patterns/01-management-dashboard.md +37 -0
- package/skills/web-design/claude-code/defs/ia-patterns/05-video.md +33 -0
- package/skills/web-design/claude-code/defs/ia-patterns/06-video_saas-saas.md +37 -0
- package/skills/web-design/claude-code/defs/ia-patterns.md +85 -0
- package/skills/web-design/claude-code/defs/icon-mappings/04-mapping-design-system.md +25 -0
- package/skills/web-design/claude-code/defs/icon-mappings.md +49 -0
- package/skills/web-design/claude-code/defs/icon-usage.md +56 -0
- package/skills/web-design/claude-code/defs/illustration-guide.md +44 -0
- package/skills/web-design/claude-code/defs/image-strategies/01-landing.md +76 -0
- package/skills/web-design/claude-code/defs/image-strategies/02-dashboard.md +51 -0
- package/skills/web-design/claude-code/defs/image-strategies/03-ecommerce.md +47 -0
- package/skills/web-design/claude-code/defs/image-strategies/04-blog.md +58 -0
- package/skills/web-design/claude-code/defs/image-strategies/05-saas.md +56 -0
- package/skills/web-design/claude-code/defs/image-strategies/06-portfolio.md +62 -0
- package/skills/web-design/claude-code/defs/image-strategies/08-strategy-common-image.md +57 -0
- package/skills/web-design/claude-code/defs/image-strategies.md +58 -0
- package/skills/web-design/claude-code/defs/seo-guide.md +79 -0
- package/skills/web-design/claude-code/defs/styles/02-style-list.md +421 -0
- package/skills/web-design/claude-code/defs/styles/03-custom-animation-keyframes.md +39 -0
- package/skills/web-design/claude-code/defs/styles.md +50 -0
- package/skills/web-design/claude-code/defs/tokens/01-token-format.md +75 -0
- package/skills/web-design/claude-code/defs/tokens/02-token-scope.md +251 -0
- package/skills/web-design/claude-code/defs/tokens.md +24 -0
- package/skills/web-design/claude-code/defs/video-compositions/01-composition-single.md +66 -0
- package/skills/web-design/claude-code/defs/video-compositions/02-composition-multi.md +66 -0
- package/skills/web-design/claude-code/defs/video-compositions/03-composition-parametric.md +81 -0
- package/skills/web-design/claude-code/defs/video-compositions.md +37 -0
- package/skills/web-design/claude-code/defs/video-motions/01-animation-basic.md +49 -0
- package/skills/web-design/claude-code/defs/video-motions/02-animation.md +52 -0
- package/skills/web-design/claude-code/defs/video-motions/03-reference.md +17 -0
- package/skills/web-design/claude-code/defs/video-motions/05-pattern-composition.md +61 -0
- package/skills/web-design/claude-code/defs/video-motions/06-transition-effects.md +49 -0
- package/skills/web-design/claude-code/defs/video-motions/07-audio-sync.md +29 -0
- package/skills/web-design/claude-code/defs/video-motions.md +55 -0
- package/skills/web-design/claude-code/defs/web-layouts/01-landing.md +101 -0
- package/skills/web-design/claude-code/defs/web-layouts/02-dashboard.md +85 -0
- package/skills/web-design/claude-code/defs/web-layouts/03-ecommerce.md +73 -0
- package/skills/web-design/claude-code/defs/web-layouts/04-blog.md +69 -0
- package/skills/web-design/claude-code/defs/web-layouts/05-saas.md +83 -0
- package/skills/web-design/claude-code/defs/web-layouts/06-portfolio.md +62 -0
- package/skills/web-design/claude-code/defs/web-layouts.md +38 -0
- package/skills/web-design/claude-code/defs/web-motions/01-landing.md +91 -0
- package/skills/web-design/claude-code/defs/web-motions/02-dashboard.md +55 -0
- package/skills/web-design/claude-code/defs/web-motions/03-ecommerce.md +52 -0
- package/skills/web-design/claude-code/defs/web-motions/04-blog.md +57 -0
- package/skills/web-design/claude-code/defs/web-motions/05-saas.md +49 -0
- package/skills/web-design/claude-code/defs/web-motions/06-portfolio.md +73 -0
- package/skills/web-design/claude-code/defs/web-motions/08-intensity-preset-motion.md +14 -0
- package/skills/web-design/claude-code/defs/web-motions.md +55 -0
- package/skills/web-design/claude-code/gen/gen-design-guide/01-project-overview.md +304 -0
- package/skills/web-design/claude-code/gen/gen-design-guide-interaction/01-interaction-motion.md +129 -0
- package/skills/web-design/claude-code/gen/gen-design-guide-interaction/04-project-video.md +69 -0
- package/skills/web-design/claude-code/gen/gen-design-guide-interaction.md +45 -0
- package/skills/web-design/claude-code/gen/gen-design-guide.md +43 -0
- package/skills/web-design/claude-code/gen/gen-tokens/01-generate-process.md +318 -0
- package/skills/web-design/claude-code/gen/gen-tokens/02-structure-output-file.md +31 -0
- package/skills/web-design/claude-code/gen/gen-tokens/03-connect-frontend.md +150 -0
- package/skills/web-design/claude-code/gen/gen-tokens.md +54 -0
- package/skills/web-design/claude-code/gen/gen-video.md +73 -0
- package/skills/web-design/claude-code/verify/verify-components.md +52 -0
- package/skills/web-design/claude-code/verify/verify-motions.md +74 -0
- package/skills/web-design/claude-code/verify/verify-pipeline.md +69 -0
- package/skills/web-design/claude-code/verify/verify-report.md +75 -0
- package/skills/web-design/claude-code/verify/verify-responsive.md +49 -0
- package/skills/web-design/claude-code/verify/verify-tokens.md +84 -0
- package/skills/test-skill/claude-code/SKILL.md +0 -7
- package/skills/test-skill/cursor/test-skill.md +0 -7
- package/skills/test-skill/openclaw/SKILL.md +0 -13
- package/skills/test-skill/skill.json +0 -6
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# 2. 웹 + PC (`web_desktop`)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### WD-M1. Web-Native Bridge (웹-네이티브 브릿지)
|
|
5
|
+
|
|
6
|
+
```
|
|
7
|
+
기법: 웹 모션을 데스크톱 네이티브 경험으로 확장
|
|
8
|
+
전략: 웹 코어 모션 + 데스크톱 윈도우 시스템 모션
|
|
9
|
+
|
|
10
|
+
Shared (Web Core):
|
|
11
|
+
- Page transition: crossfade (200ms)
|
|
12
|
+
- Modal/Dialog: scale + fade (250ms)
|
|
13
|
+
- List animation: stagger slide-in
|
|
14
|
+
|
|
15
|
+
Desktop Extension:
|
|
16
|
+
- Window open/close: system-aware animation
|
|
17
|
+
- Tray notification: slide-in from system tray
|
|
18
|
+
- Multi-window: window spawn transition
|
|
19
|
+
- Frameless drag: custom titlebar interaction
|
|
20
|
+
|
|
21
|
+
강도: moderate
|
|
22
|
+
적합: SaaS + 데스크톱 클라이언트 (Slack, Notion 스타일)
|
|
23
|
+
구현: CSS (공유) + Electron/Tauri API (데스크톱)
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### WD-M2. Dashboard Sync (대시보드 싱크)
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
기법: 웹/데스크톱 대시보드 동일 모션 + 실시간 동기화
|
|
30
|
+
전략: 차트/데이터 전환 공유, 데스크톱에서 네이티브 알림 확장
|
|
31
|
+
|
|
32
|
+
Shared:
|
|
33
|
+
- KPI count-up animation
|
|
34
|
+
- Chart morph transition
|
|
35
|
+
- Skeleton loading shimmer
|
|
36
|
+
- Data table row animation
|
|
37
|
+
|
|
38
|
+
Desktop Extension:
|
|
39
|
+
- Native notification (OS notification center)
|
|
40
|
+
- Background sync indicator (tray icon pulse)
|
|
41
|
+
- Always-on-top widget mode
|
|
42
|
+
|
|
43
|
+
강도: subtle ~ moderate
|
|
44
|
+
적합: 분석 도구, 모니터링, 관리자 패널
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### WD-M3. Productivity Focus (생산성 집중)
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
기법: 빠른 전환, 키보드 중심, 최소 모션
|
|
51
|
+
전략: 반복 작업에 방해 없는 수준의 미니멀 모션
|
|
52
|
+
|
|
53
|
+
Shared:
|
|
54
|
+
- Instant page switch (crossfade 150ms)
|
|
55
|
+
- Form validation: subtle shake + red
|
|
56
|
+
- Toast: slide-in (200ms) + auto-dismiss (3s)
|
|
57
|
+
- Command palette: fade-in (150ms)
|
|
58
|
+
|
|
59
|
+
Desktop Extension:
|
|
60
|
+
- Global shortcut → window focus (instant)
|
|
61
|
+
- Quick switcher: Cmd+K / Ctrl+K style
|
|
62
|
+
|
|
63
|
+
강도: subtle
|
|
64
|
+
적합: 프로젝트 관리, 노트, 문서 편집
|
|
65
|
+
특징: 키보드 단축키 피드백 > 시각 모션
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# 3. 모바일 + PC (`mobile_desktop`)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### MD-M1. Companion App (컴패니언 앱)
|
|
5
|
+
|
|
6
|
+
```
|
|
7
|
+
기법: 모바일 = 경량 컴패니언, PC = 풀 기능
|
|
8
|
+
전략: 각 플랫폼 네이티브 최적화 + 상태 동기화 모션
|
|
9
|
+
|
|
10
|
+
Mobile (터치 최적화):
|
|
11
|
+
- Tab navigation: slide (300ms)
|
|
12
|
+
- Card press: scale(0.97) + haptic
|
|
13
|
+
- Pull to refresh: spring animation
|
|
14
|
+
- Bottom sheet: slide-up (spring)
|
|
15
|
+
|
|
16
|
+
Desktop (마우스/키보드 최적화):
|
|
17
|
+
- Sidebar navigation: instant switch
|
|
18
|
+
- Card hover: subtle shadow + scale(1.01)
|
|
19
|
+
- Context menu: fade-in (150ms)
|
|
20
|
+
- Modal: scale + fade (250ms)
|
|
21
|
+
|
|
22
|
+
Sync indicator:
|
|
23
|
+
↻ 동기화 중... (spin icon, both platforms)
|
|
24
|
+
|
|
25
|
+
강도: moderate
|
|
26
|
+
적합: 메신저 (모바일) + 관리자 (PC)
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### MD-M2. Mirrored Experience (미러링 경험)
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
기법: 두 플랫폼에서 거의 동일한 경험
|
|
33
|
+
전략: 공통 모션 토큰 정의, 플랫폼별 네이티브 렌더링
|
|
34
|
+
|
|
35
|
+
Motion Tokens (공유):
|
|
36
|
+
motion.duration.fast = 200ms
|
|
37
|
+
motion.duration.normal = 350ms
|
|
38
|
+
motion.duration.slow = 500ms
|
|
39
|
+
motion.easing.default = [0.4, 0, 0.2, 1]
|
|
40
|
+
motion.spring.default = { damping: 15, stiffness: 150 }
|
|
41
|
+
|
|
42
|
+
Mobile Implementation:
|
|
43
|
+
→ React Native Reanimated / SwiftUI .animation
|
|
44
|
+
|
|
45
|
+
Desktop Implementation:
|
|
46
|
+
→ Electron CSS transitions / Tauri + CSS
|
|
47
|
+
|
|
48
|
+
강도: moderate
|
|
49
|
+
적합: 게임 (모바일+PC), 크리에이티브 도구
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### MD-M3. Role-Based Motion (역할 기반)
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
기법: 플랫폼 역할에 따라 모션 레벨 차별화
|
|
56
|
+
전략: 모바일(소비) = 풍부한 모션, PC(생산) = 최소 모션
|
|
57
|
+
|
|
58
|
+
Mobile (소비 중심):
|
|
59
|
+
- Rich transitions (slide, fade, spring)
|
|
60
|
+
- Gesture-based interactions (swipe, pinch)
|
|
61
|
+
- Achievement/reward animations
|
|
62
|
+
- 강도: moderate ~ dramatic
|
|
63
|
+
|
|
64
|
+
Desktop (생산 중심):
|
|
65
|
+
- Minimal transitions (crossfade, instant)
|
|
66
|
+
- Keyboard-first interactions
|
|
67
|
+
- Data-focused feedback
|
|
68
|
+
- 강도: subtle
|
|
69
|
+
|
|
70
|
+
적합: 학습 앱, 피트니스 트래커+대시보드
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# 4. 전체 플랫폼 (`all` = 웹 + 모바일 + PC)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### A-M1. Universal Token System (유니버설 토큰)
|
|
5
|
+
|
|
6
|
+
```
|
|
7
|
+
기법: 단일 모션 토큰 → 3플랫폼 자동 변환
|
|
8
|
+
전략: Style Dictionary로 모션 토큰 관리
|
|
9
|
+
|
|
10
|
+
tokens/motion.json:
|
|
11
|
+
{
|
|
12
|
+
"motion": {
|
|
13
|
+
"duration": {
|
|
14
|
+
"instant": { "value": "100ms" },
|
|
15
|
+
"fast": { "value": "200ms" },
|
|
16
|
+
"normal": { "value": "350ms" },
|
|
17
|
+
"slow": { "value": "600ms" }
|
|
18
|
+
},
|
|
19
|
+
"easing": {
|
|
20
|
+
"default": { "value": "cubic-bezier(0.4, 0, 0.2, 1)" },
|
|
21
|
+
"enter": { "value": "cubic-bezier(0, 0, 0.2, 1)" },
|
|
22
|
+
"exit": { "value": "cubic-bezier(0.4, 0, 1, 1)" },
|
|
23
|
+
"spring": { "value": "cubic-bezier(0.175, 0.885, 0.32, 1.275)" }
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
Web Output: → CSS Custom Properties
|
|
29
|
+
iOS Output: → Swift UIView.animate parameters
|
|
30
|
+
Android Output: → Kotlin ObjectAnimator values
|
|
31
|
+
Desktop Output: → Electron CSS / Tauri CSS
|
|
32
|
+
|
|
33
|
+
강도: moderate (토큰으로 전체 제어)
|
|
34
|
+
적합: 대규모 크로스플랫폼 서비스
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### A-M2. Progressive Enhancement (점진적 향상)
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
기법: 플랫폼 역량에 따라 모션 점진적 확장
|
|
41
|
+
전략: 최소 공통분모 → 플랫폼별 확장
|
|
42
|
+
|
|
43
|
+
Level 0 (모든 플랫폼):
|
|
44
|
+
- opacity transition (fade)
|
|
45
|
+
- simple transform (translate, scale)
|
|
46
|
+
|
|
47
|
+
Level 1 (+ 모바일):
|
|
48
|
+
- touch gesture (swipe, pinch)
|
|
49
|
+
- haptic feedback
|
|
50
|
+
- spring physics
|
|
51
|
+
|
|
52
|
+
Level 2 (+ 데스크톱):
|
|
53
|
+
- hover effects
|
|
54
|
+
- cursor interactions
|
|
55
|
+
- multi-window transitions
|
|
56
|
+
- system tray animations
|
|
57
|
+
|
|
58
|
+
Level 3 (+ 고사양):
|
|
59
|
+
- particle effects
|
|
60
|
+
- 3D transforms
|
|
61
|
+
- shader effects
|
|
62
|
+
- complex physics
|
|
63
|
+
|
|
64
|
+
강도: adaptive (기기별 자동 조정)
|
|
65
|
+
적합: 범용 서비스, 점진적 출시
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### A-M3. Brand Motion Identity (브랜드 모션)
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
기법: 브랜드 아이덴티티를 모션으로 통일
|
|
72
|
+
전략: 시그니처 모션 정의 → 모든 플랫폼 일관 적용
|
|
73
|
+
|
|
74
|
+
Brand Signature:
|
|
75
|
+
- Easing: 브랜드 고유 커브 (예: bouncy, sharp, smooth)
|
|
76
|
+
- Duration: 브랜드 속도감 (예: fast-paced, relaxed)
|
|
77
|
+
- Pattern: 시그니처 전환 (예: slide-right, zoom-morph)
|
|
78
|
+
|
|
79
|
+
모든 플랫폼에서:
|
|
80
|
+
┌─────────┐ ┌─────────┐
|
|
81
|
+
│ Screen A│ ──→ │ Screen B│
|
|
82
|
+
└─────────┘ └─────────┘
|
|
83
|
+
동일한 brand easing + duration
|
|
84
|
+
|
|
85
|
+
차이점:
|
|
86
|
+
- iOS: UIKit/SwiftUI 네이티브 렌더링
|
|
87
|
+
- Android: Compose/XML 네이티브 렌더링
|
|
88
|
+
- Web: CSS/JS 렌더링
|
|
89
|
+
- Desktop: Electron/Tauri CSS 렌더링
|
|
90
|
+
|
|
91
|
+
강도: moderate (브랜드 가이드 기준)
|
|
92
|
+
적합: 브랜드 통합 서비스, 글로벌 앱
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# 모션 강도 프리셋 (하이브리드)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
| 프리셋 | `motion_intensity` | 웹 | 모바일 | 데스크톱 | 설명 |
|
|
5
|
+
|--------|-------------------|----|--------|---------|------|
|
|
6
|
+
| **Subtle** | `subtle` | 150-250ms | 150-300ms | 100-250ms | 빠르고 정확 |
|
|
7
|
+
| **Moderate** | `moderate` | 300-500ms | 300-500ms | 250-500ms | 균형 잡힌 |
|
|
8
|
+
| **Dramatic** | `dramatic` | 600-1000ms | 500-800ms | 500-1000ms | 임팩트 |
|
|
9
|
+
| **Adaptive** | `adaptive` | 기기별 자동 | 기기별 자동 | 기기별 자동 | 기기 역량 기반 |
|
|
10
|
+
| **None** | `none` | 0ms | 0ms | 0ms | 모션 없음 |
|
|
11
|
+
|
|
12
|
+
> 각 플랫폼의 접근성 설정 자동 대응:
|
|
13
|
+
> - Web: `prefers-reduced-motion`
|
|
14
|
+
> - iOS: `UIAccessibility.isReduceMotionEnabled`
|
|
15
|
+
> - Android: `Settings.Global.ANIMATOR_DURATION_SCALE`
|
|
16
|
+
> - Desktop: `systemPreferences.getAnimationSettings()`
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# 혼합(멀티플랫폼) 모션/인터랙션 패턴 정의
|
|
2
|
+
|
|
3
|
+
> 참조 위치: `stages/stage2-hybrid-motion.md`에서 분기 사용
|
|
4
|
+
> platform_combo별 크로스플랫폼 모션 전략 정의
|
|
5
|
+
> Dependencies: 없음 (독립 참조 데이터)
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 핵심 원칙
|
|
10
|
+
|
|
11
|
+
멀티플랫폼 모션은 **일관성**과 **플랫폼 네이티브 느낌** 사이의 균형이 핵심:
|
|
12
|
+
|
|
13
|
+
| 원칙 | 설명 |
|
|
14
|
+
|------|------|
|
|
15
|
+
| **Shared Motion Language** | 모든 플랫폼에서 동일한 모션 의도 (duration, easing 통일) |
|
|
16
|
+
| **Platform Adaptation** | 실행 환경에 맞는 네이티브 피드백 (iOS haptic, Android ripple 등) |
|
|
17
|
+
| **Token-Driven** | 모션 토큰을 정의하고 플랫폼별 변환 |
|
|
18
|
+
| **Progressive Enhancement** | 저사양 기기에서 모션 축소/제거 |
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 1. 웹 + 모바일 (`web_mobile`)
|
|
23
|
+
|
|
24
|
+
> 상세: `defs/hybrid-motions/01-web_mobile.md` 참조
|
|
25
|
+
|
|
26
|
+
기법: 뷰포트별 모션 자동 적응
|
|
27
|
+
## 2. 웹 + PC (`web_desktop`)
|
|
28
|
+
|
|
29
|
+
> 상세: `defs/hybrid-motions/02-web_desktop.md` 참조
|
|
30
|
+
|
|
31
|
+
기법: 웹 모션을 데스크톱 네이티브 경험으로 확장
|
|
32
|
+
## 3. 모바일 + PC (`mobile_desktop`)
|
|
33
|
+
|
|
34
|
+
> 상세: `defs/hybrid-motions/03-mobile_desktop.md` 참조
|
|
35
|
+
|
|
36
|
+
기법: 모바일 = 경량 컴패니언, PC = 풀 기능
|
|
37
|
+
## 4. 전체 플랫폼 (`all` = 웹 + 모바일 + PC)
|
|
38
|
+
|
|
39
|
+
> 상세: `defs/hybrid-motions/04-all.md` 참조
|
|
40
|
+
|
|
41
|
+
기법: 단일 모션 토큰 → 3플랫폼 자동 변환
|
|
42
|
+
## 크로스플랫폼 모션 토큰 구조
|
|
43
|
+
|
|
44
|
+
모든 hybrid 프로젝트에 공통 적용:
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
design-tokens/
|
|
48
|
+
motion/
|
|
49
|
+
duration.json # 시간 값
|
|
50
|
+
easing.json # 이징 커브
|
|
51
|
+
spring.json # 스프링 물리값 (모바일용)
|
|
52
|
+
intensity.json # 강도 프리셋
|
|
53
|
+
platform/
|
|
54
|
+
web.json # 웹 전용 오버라이드
|
|
55
|
+
ios.json # iOS 전용 오버라이드
|
|
56
|
+
android.json # Android 전용 오버라이드
|
|
57
|
+
desktop.json # 데스크톱 전용 오버라이드
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## 모션 강도 프리셋 (하이브리드)
|
|
63
|
+
|
|
64
|
+
> 상세: `defs/hybrid-motions/07-intensity-preset-motion.md` 참조
|
|
65
|
+
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# web (SaaS / 대시보드 / 관리 콘솔)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
```
|
|
5
|
+
GNB (Global Navigation Bar)
|
|
6
|
+
│
|
|
7
|
+
├── Dashboard (대시보드)
|
|
8
|
+
│ ├── KPI 카드 (4~6개)
|
|
9
|
+
│ ├── 실시간 차트
|
|
10
|
+
│ └── 최근 알림 리스트
|
|
11
|
+
│
|
|
12
|
+
├── {도메인} Management (주요 엔티티 관리)
|
|
13
|
+
│ ├── 리스트 (테이블 + 필터 + 페이지네이션)
|
|
14
|
+
│ ├── 상세 (슬라이드 패널 또는 상세 페이지)
|
|
15
|
+
│ └── 생성/편집 (폼 / 모달)
|
|
16
|
+
│
|
|
17
|
+
├── Monitoring (모니터링) — 선택적
|
|
18
|
+
│ ├── 리소스 대시보드
|
|
19
|
+
│ └── 시계열 차트
|
|
20
|
+
│
|
|
21
|
+
├── Settings (설정)
|
|
22
|
+
│ ├── 일반 설정
|
|
23
|
+
│ ├── API 키 관리
|
|
24
|
+
│ └── 알림 설정
|
|
25
|
+
│
|
|
26
|
+
├── User Management (사용자 관리)
|
|
27
|
+
│ ├── 사용자 목록
|
|
28
|
+
│ └── 역할/권한 관리
|
|
29
|
+
│
|
|
30
|
+
└── Profile (프로필) — GNB 우측
|
|
31
|
+
├── 프로필 편집
|
|
32
|
+
├── 테마 전환
|
|
33
|
+
└── 로그아웃
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**네비게이션**: 좌측 사이드바 (Desktop 240px, Tablet 64px, Mobile 하단 탭)
|
|
37
|
+
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# video (순수 비디오)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
```
|
|
5
|
+
Composition 구조 (Remotion Studio 기반)
|
|
6
|
+
│
|
|
7
|
+
├── Root.tsx (진입점)
|
|
8
|
+
│ └── <Composition> 등록
|
|
9
|
+
│
|
|
10
|
+
├── compositions/ (컴포지션별 폴더)
|
|
11
|
+
│ ├── Intro/
|
|
12
|
+
│ │ ├── Intro.tsx # 인트로 장면
|
|
13
|
+
│ │ └── schema.ts # InputProps 스키마
|
|
14
|
+
│ ├── MainContent/
|
|
15
|
+
│ │ ├── MainContent.tsx # 메인 콘텐츠
|
|
16
|
+
│ │ └── schema.ts
|
|
17
|
+
│ └── Outro/
|
|
18
|
+
│ ├── Outro.tsx # 아웃트로
|
|
19
|
+
│ └── schema.ts
|
|
20
|
+
│
|
|
21
|
+
├── components/ (재사용 컴포넌트)
|
|
22
|
+
│ ├── AnimatedText.tsx
|
|
23
|
+
│ ├── FadeIn.tsx
|
|
24
|
+
│ └── Background.tsx
|
|
25
|
+
│
|
|
26
|
+
└── lib/ (유틸리티)
|
|
27
|
+
├── animations.ts
|
|
28
|
+
├── colors.ts
|
|
29
|
+
└── fonts.ts
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
**네비게이션**: 없음 (컴포지션 → Sequence 흐름)
|
|
33
|
+
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# video_saas (비디오 SaaS)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
```
|
|
5
|
+
이중 구조: 웹앱 + Remotion 엔진
|
|
6
|
+
|
|
7
|
+
[웹앱 — saas_frontend 기반 IA]
|
|
8
|
+
GNB (상단 바)
|
|
9
|
+
│
|
|
10
|
+
├── Dashboard (비디오 관리)
|
|
11
|
+
│ ├── 비디오 목록 (카드 그리드 + 필터)
|
|
12
|
+
│ ├── 렌더 큐 (진행 상태 + 이력)
|
|
13
|
+
│ └── 사용량 통계
|
|
14
|
+
│
|
|
15
|
+
├── Editor (비디오 에디터)
|
|
16
|
+
│ ├── 타임라인 패널
|
|
17
|
+
│ ├── 미리보기 (Remotion Player)
|
|
18
|
+
│ ├── 속성 패널 (InputProps 에디터)
|
|
19
|
+
│ └── 에셋 라이브러리
|
|
20
|
+
│
|
|
21
|
+
├── Templates (템플릿 갤러리)
|
|
22
|
+
│ ├── 카테고리별 필터
|
|
23
|
+
│ ├── 미리보기 Player
|
|
24
|
+
│ └── 커스터마이즈 → Editor
|
|
25
|
+
│
|
|
26
|
+
├── Settings (설정)
|
|
27
|
+
│ ├── API 키
|
|
28
|
+
│ ├── 렌더 설정 (해상도, 코덱)
|
|
29
|
+
│ └── 저장소 설정
|
|
30
|
+
│
|
|
31
|
+
└── Profile (프로필)
|
|
32
|
+
|
|
33
|
+
[Remotion 엔진 — 별도 패키지]
|
|
34
|
+
compositions/ → components/ → lib/
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
**네비게이션**: 좌측 사이드바 (웹앱) + Remotion Studio (개발 시)
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# project_type별 IA 패턴
|
|
2
|
+
|
|
3
|
+
> 참조: `gen/gen-design-guide.md` 섹션 2에서 사용
|
|
4
|
+
> Dependencies: 없음 (독립 참조 데이터)
|
|
5
|
+
|
|
6
|
+
## web (SaaS / 대시보드 / 관리 콘솔)
|
|
7
|
+
|
|
8
|
+
> 상세: `defs/ia-patterns/01-management-dashboard.md` 참조
|
|
9
|
+
|
|
10
|
+
GNB (Global Navigation Bar)
|
|
11
|
+
## web (랜딩 / 마케팅 / 포트폴리오)
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
GNB (상단 고정 바)
|
|
15
|
+
│
|
|
16
|
+
├── Hero 섹션
|
|
17
|
+
├── Features 섹션
|
|
18
|
+
├── Pricing 섹션 — 선택적
|
|
19
|
+
├── Testimonials 섹션 — 선택적
|
|
20
|
+
├── FAQ 섹션 — 선택적
|
|
21
|
+
├── Contact / CTA 섹션
|
|
22
|
+
└── Footer
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**네비게이션**: 상단 GNB 고정, 스크롤 시 배경 불투명, 모바일 햄버거
|
|
26
|
+
|
|
27
|
+
## app (모바일)
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
Tab Bar (하단 탭 4~5개)
|
|
31
|
+
│
|
|
32
|
+
├── Tab 1: Home (홈 / 대시보드)
|
|
33
|
+
│ ├── 요약 카드
|
|
34
|
+
│ └── 최근 활동
|
|
35
|
+
│
|
|
36
|
+
├── Tab 2: {주요 기능}
|
|
37
|
+
│ ├── 리스트 (FlatList / 무한 스크롤)
|
|
38
|
+
│ └── 상세 (스택 네비게이션)
|
|
39
|
+
│
|
|
40
|
+
├── Tab 3: {보조 기능}
|
|
41
|
+
│ └── 카테고리별 그리드/리스트
|
|
42
|
+
│
|
|
43
|
+
├── Tab 4: Notifications (알림)
|
|
44
|
+
│ └── 알림 리스트 (읽음/안읽음)
|
|
45
|
+
│
|
|
46
|
+
└── Tab 5: Profile (프로필)
|
|
47
|
+
├── 프로필 편집
|
|
48
|
+
├── 설정
|
|
49
|
+
└── 로그아웃
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**네비게이션**: 하단 탭 바 (iOS 스타일) + 스택 네비게이션
|
|
53
|
+
|
|
54
|
+
## desktop (Electron / Tauri)
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
Title Bar (커스텀 타이틀 바)
|
|
58
|
+
│
|
|
59
|
+
├── Sidebar (좌측 패널, 리사이즈 가능)
|
|
60
|
+
│ ├── 프로젝트/파일 트리
|
|
61
|
+
│ ├── 최근 항목
|
|
62
|
+
│ └── 즐겨찾기
|
|
63
|
+
│
|
|
64
|
+
├── Main Content (중앙 에디터)
|
|
65
|
+
│ ├── 탭 바 (멀티 탭)
|
|
66
|
+
│ ├── 에디터/뷰어 영역
|
|
67
|
+
│ └── 상태 바 (하단)
|
|
68
|
+
│
|
|
69
|
+
└── Panel (우측 패널, 토글 가능)
|
|
70
|
+
├── 속성/설정
|
|
71
|
+
└── 미리보기
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**네비게이션**: 좌측 트리 + 탭 시스템, 키보드 단축키 중심
|
|
75
|
+
|
|
76
|
+
## video (순수 비디오)
|
|
77
|
+
|
|
78
|
+
> 상세: `defs/ia-patterns/05-video.md` 참조
|
|
79
|
+
|
|
80
|
+
Composition 구조 (Remotion Studio 기반)
|
|
81
|
+
## video_saas (비디오 SaaS)
|
|
82
|
+
|
|
83
|
+
> 상세: `defs/ia-patterns/06-video_saas-saas.md` 참조
|
|
84
|
+
|
|
85
|
+
이중 구조: 웹앱 + Remotion 엔진
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# 디자인 시스템 참조 매핑 (섹션 8)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### config.frontend별 참조
|
|
5
|
+
|
|
6
|
+
| config.frontend | 1순위 | 2순위 | 컴포넌트 라이브러리 |
|
|
7
|
+
|---|---|---|---|
|
|
8
|
+
| `nextjs` | Shadcn/UI | Tailwind UI | `@shadcn/ui` |
|
|
9
|
+
| `react_vite` | Shadcn/UI | Tailwind UI | `@shadcn/ui` |
|
|
10
|
+
| `vue3_vite` | PrimeVue | Ant Design Vue | `primevue` |
|
|
11
|
+
| `nuxt` | Nuxt UI | PrimeVue | `@nuxt/ui` |
|
|
12
|
+
| `react_native` | React Native Paper | NativeBase | `react-native-paper` |
|
|
13
|
+
| `flutter` | Material Design 3 | Cupertino | (Flutter 내장) |
|
|
14
|
+
| `electron` | Shadcn/UI | Radix UI | `@shadcn/ui` |
|
|
15
|
+
| `tauri` | Shadcn/UI | Radix UI | `@shadcn/ui` |
|
|
16
|
+
|
|
17
|
+
### 기능별 벤치마킹 (web SaaS만)
|
|
18
|
+
|
|
19
|
+
| 화면 | 벤치마크 | 참고 요소 |
|
|
20
|
+
|---|---|---|
|
|
21
|
+
| 대시보드 | Grafana | 패널 레이아웃, 시계열 차트 |
|
|
22
|
+
| 데이터 관리 | AWS EC2 Console | 인스턴스 리스트, 필터, 상태 뱃지 |
|
|
23
|
+
| 모니터링 | Datadog | 리소스 메트릭, 알림 임계치 |
|
|
24
|
+
| 설정 | GitHub Settings | 폼 구성, 토글, 저장 동작 |
|
|
25
|
+
| 전체 레이아웃 | Vercel Dashboard | 사이드바, 미니멀 톤, 다크 모드 |
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# project_type별 아이콘 & 참조 매핑
|
|
2
|
+
|
|
3
|
+
> 참조: `gen/gen-design-guide.md` 섹션 4e, 8에서 사용
|
|
4
|
+
> Dependencies: 없음 (독립 참조 데이터)
|
|
5
|
+
|
|
6
|
+
## web (SaaS) 기본 메뉴 아이콘
|
|
7
|
+
|
|
8
|
+
| 메뉴 | Lucide 아이콘 |
|
|
9
|
+
|---|---|
|
|
10
|
+
| Dashboard | `LayoutDashboard` |
|
|
11
|
+
| Management | `Server` (또는 도메인별 변경) |
|
|
12
|
+
| Monitoring | `Activity` |
|
|
13
|
+
| Settings | `Settings` |
|
|
14
|
+
| Users | `Users` |
|
|
15
|
+
| Profile | `UserCircle` |
|
|
16
|
+
| Help | `HelpCircle` |
|
|
17
|
+
|
|
18
|
+
## 공통 액션 아이콘
|
|
19
|
+
|
|
20
|
+
| 동작 | Lucide 아이콘 |
|
|
21
|
+
|---|---|
|
|
22
|
+
| 추가/생성 | `Plus` |
|
|
23
|
+
| 편집 | `Pencil` |
|
|
24
|
+
| 삭제 | `Trash2` |
|
|
25
|
+
| 검색 | `Search` |
|
|
26
|
+
| 필터 | `SlidersHorizontal` |
|
|
27
|
+
| 내보내기 | `Download` |
|
|
28
|
+
| 새로고침 | `RefreshCw` |
|
|
29
|
+
| 더보기 | `MoreVertical` |
|
|
30
|
+
| 닫기 | `X` |
|
|
31
|
+
| 복사 | `Copy` |
|
|
32
|
+
| 외부 링크 | `ExternalLink` |
|
|
33
|
+
|
|
34
|
+
## 공통 상태 아이콘
|
|
35
|
+
|
|
36
|
+
| 상태 | Lucide 아이콘 | 색상 |
|
|
37
|
+
|---|---|---|
|
|
38
|
+
| 성공 / Active | `CheckCircle` | `--color-success` |
|
|
39
|
+
| 경고 / Pending | `AlertTriangle` | `--color-warning` |
|
|
40
|
+
| 에러 / Stopped | `XCircle` | `--color-error` |
|
|
41
|
+
| 정보 | `Info` | `--color-info` |
|
|
42
|
+
| 비활성 / Offline | `MinusCircle` | `--text-disabled` |
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## 디자인 시스템 참조 매핑 (섹션 8)
|
|
47
|
+
|
|
48
|
+
> 상세: `defs/icon-mappings/04-mapping-design-system.md` 참조
|
|
49
|
+
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# 아이콘 사용 가이드
|
|
2
|
+
|
|
3
|
+
> Dependencies: `defs/icon-mappings.md`
|
|
4
|
+
> 아이콘 토큰 값: defs/tokens.md § 9 참조
|
|
5
|
+
> 참조원: `gen/gen-design-guide.md` 섹션 4e, `defs/component-specs.md`
|
|
6
|
+
|
|
7
|
+
## 1. 컴포넌트별 아이콘 크기 규칙
|
|
8
|
+
|
|
9
|
+
> 상세: `defs/icon-usage/01-component-icon-size.md` 참조
|
|
10
|
+
|
|
11
|
+
## 2. 아이콘 색상 규칙
|
|
12
|
+
|
|
13
|
+
> 상세: `defs/icon-usage/02-icon-rules-color.md` 참조
|
|
14
|
+
|
|
15
|
+
## 3. 아이콘-텍스트 정렬 규칙
|
|
16
|
+
|
|
17
|
+
```css
|
|
18
|
+
/* 수평 정렬 (인라인) */
|
|
19
|
+
.icon-inline {
|
|
20
|
+
display: inline-flex;
|
|
21
|
+
align-items: center;
|
|
22
|
+
gap: var(--icon-gap);
|
|
23
|
+
vertical-align: middle;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/* 수직 정렬 (스택) */
|
|
27
|
+
.icon-stack {
|
|
28
|
+
display: flex;
|
|
29
|
+
flex-direction: column;
|
|
30
|
+
align-items: center;
|
|
31
|
+
gap: var(--icon-gap);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/* 아이콘이 텍스트보다 큰 경우 (카드 등) */
|
|
35
|
+
.icon-feature {
|
|
36
|
+
display: flex;
|
|
37
|
+
align-items: flex-start;
|
|
38
|
+
gap: var(--icon-gap-lg);
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## 4. 프레임워크별 import 패턴
|
|
45
|
+
|
|
46
|
+
> 상세: `defs/icon-usage/04-pattern-framework.md` 참조
|
|
47
|
+
|
|
48
|
+
import { Home, Search, Bell, Settings } from 'lucide-react';
|
|
49
|
+
## 5. 아이콘 접근성 규칙
|
|
50
|
+
|
|
51
|
+
> 상세: `defs/icon-usage/05-icon-rules-a11y.md` 참조
|
|
52
|
+
|
|
53
|
+
## 6. 아이콘 호버/인터랙션 패턴
|
|
54
|
+
|
|
55
|
+
> 상세: `defs/icon-usage/06-icon-hover-interaction.md` 참조
|
|
56
|
+
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# 일러스트 가이드
|
|
2
|
+
|
|
3
|
+
> Dependencies: `defs/styles.md`
|
|
4
|
+
> 참조원: `gen/gen-design-guide.md` 섹션 5, `defs/component-specs.md`
|
|
5
|
+
|
|
6
|
+
## 1. 스타일별 일러스트 톤 매칭
|
|
7
|
+
|
|
8
|
+
> 상세: `defs/illustration-guide/01-style-illustration.md` 참조
|
|
9
|
+
|
|
10
|
+
## 2. 사용 위치별 규칙
|
|
11
|
+
|
|
12
|
+
> 상세: `defs/illustration-guide/02-rules-usage-location.md` 참조
|
|
13
|
+
|
|
14
|
+
Desktop: 기본 크기
|
|
15
|
+
## 3. 색상 동기화 규칙
|
|
16
|
+
|
|
17
|
+
> 상세: `defs/illustration-guide/03-rules-color-sync.md` 참조
|
|
18
|
+
|
|
19
|
+
/* 일러스트 SVG에 CSS 변수 바인딩 */
|
|
20
|
+
## 4. 일러스트 라이브러리 가이드
|
|
21
|
+
|
|
22
|
+
> 상세: `defs/illustration-guide/04-illustration-library-guide.md` 참조
|
|
23
|
+
|
|
24
|
+
## 5. 일러스트 접근성
|
|
25
|
+
|
|
26
|
+
| 유형 | 처리 |
|
|
27
|
+
|------|------|
|
|
28
|
+
| 의미 있는 일러스트 | `role="img"` + `aria-label="설명"` |
|
|
29
|
+
| 장식 일러스트 | `aria-hidden="true"` |
|
|
30
|
+
| Empty State 일러스트 | 텍스트 설명이 반드시 동반 (일러스트만 단독 사용 금지) |
|
|
31
|
+
| 애니메이션 일러스트 | `prefers-reduced-motion: reduce` 시 정지 |
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 6. 일러스트 vs 아이콘 판단 기준
|
|
36
|
+
|
|
37
|
+
| 상황 | 선택 | 이유 |
|
|
38
|
+
|------|------|------|
|
|
39
|
+
| 기능 설명 (3~5개 나열) | 아이콘 48px | 일관성, 빠른 인지 |
|
|
40
|
+
| 빈 상태 (데이터 없음) | 일러스트 200px | 감정 전달, 분위기 |
|
|
41
|
+
| 에러/404 | 일러스트 300px | 사용자 불안 완화 |
|
|
42
|
+
| 온보딩 | 일러스트 300px | 스토리텔링 |
|
|
43
|
+
| 대시보드 위젯 | 아이콘 24~32px | 공간 효율 |
|
|
44
|
+
| 성공 완료 | 일러스트 200px 또는 아이콘 64px | 규모에 따라 |
|