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,38 @@
|
|
|
1
|
+
# 3DS 웹 디자인 레이아웃 패턴 정의
|
|
2
|
+
|
|
3
|
+
> 참조: `stages/stage2-web-layout.md`에서 사용
|
|
4
|
+
> 웹 유형(`config.type_detail.web_type`)에 따라 분기
|
|
5
|
+
> Dependencies: 없음 (독립 참조 데이터)
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 랜딩페이지 (`landing`) 전용 레이아웃
|
|
10
|
+
|
|
11
|
+
> 상세: `defs/web-layouts/01-landing.md` 참조
|
|
12
|
+
|
|
13
|
+
- **구조**: Hero → 섹션 순차 스크롤
|
|
14
|
+
## 대시보드 (`dashboard`) 전용 레이아웃
|
|
15
|
+
|
|
16
|
+
> 상세: `defs/web-layouts/02-dashboard.md` 참조
|
|
17
|
+
|
|
18
|
+
- **구조**: 좌측 고정 사이드바 + 우측 메인 영역
|
|
19
|
+
## 이커머스 (`ecommerce`) 전용 레이아웃
|
|
20
|
+
|
|
21
|
+
> 상세: `defs/web-layouts/03-ecommerce.md` 참조
|
|
22
|
+
|
|
23
|
+
- **구조**: 좌측 필터 사이드바 + 상품 그리드
|
|
24
|
+
## 블로그/콘텐츠 (`blog`) 전용 레이아웃
|
|
25
|
+
|
|
26
|
+
> 상세: `defs/web-layouts/04-blog.md` 참조
|
|
27
|
+
|
|
28
|
+
- **구조**: 메인 콘텐츠 + 우측 사이드바
|
|
29
|
+
## SaaS/웹앱 (`saas`) 전용 레이아웃
|
|
30
|
+
|
|
31
|
+
> 상세: `defs/web-layouts/05-saas.md` 참조
|
|
32
|
+
|
|
33
|
+
- **구조**: 좌측 사이드바 네비 + 메인 콘텐츠 영역
|
|
34
|
+
## 포트폴리오 (`portfolio`) 전용 레이아웃
|
|
35
|
+
|
|
36
|
+
> 상세: `defs/web-layouts/06-portfolio.md` 참조
|
|
37
|
+
|
|
38
|
+
- **구조**: 프로젝트 썸네일 그리드 + 라이트박스
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# 1. 랜딩페이지 (`landing`)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### L-M1. Parallax Scroll (패럴랙스 스크롤)
|
|
5
|
+
|
|
6
|
+
```
|
|
7
|
+
기법: 레이어별 스크롤 속도 차이로 깊이감 표현
|
|
8
|
+
강도: subtle(미묘) | moderate(중간) | dramatic(극적)
|
|
9
|
+
|
|
10
|
+
┌─────────────────────────────┐
|
|
11
|
+
│ ☁️ 배경 (느리게) ← 0.3x │
|
|
12
|
+
│ 🏔️ 중경 (보통) ← 0.6x │
|
|
13
|
+
│ 📱 전경 (빠름) ← 1.0x │
|
|
14
|
+
└─────────────────────────────┘
|
|
15
|
+
↕ scroll
|
|
16
|
+
|
|
17
|
+
적합: 프로모션, 브랜드 스토리텔링
|
|
18
|
+
CSS: transform: translateY(calc(var(--scroll) * speed))
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### L-M2. Fullscreen Snap Scroll (풀스크린 스냅)
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
기법: 섹션 단위 스냅 + 진입 애니메이션
|
|
25
|
+
방향: vertical(수직) | horizontal(수평)
|
|
26
|
+
|
|
27
|
+
┌───────────┐ snap ┌───────────┐
|
|
28
|
+
│ │ ──────→ │ │
|
|
29
|
+
│ Section1 │ scroll │ Section2 │
|
|
30
|
+
│ │ │ ↑ fade │
|
|
31
|
+
└───────────┘ └───────────┘
|
|
32
|
+
|
|
33
|
+
적합: 제품 런칭, 포트폴리오, 스토리
|
|
34
|
+
CSS: scroll-snap-type: y mandatory
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### L-M3. Scroll Reveal (스크롤 리빌)
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
기법: 뷰포트 진입 시 요소 등장 애니메이션
|
|
41
|
+
방식: fade-up | fade-in | slide-left | slide-right | zoom-in | flip
|
|
42
|
+
|
|
43
|
+
Before Viewport │ After Viewport
|
|
44
|
+
│
|
|
45
|
+
[opacity: 0] │ [opacity: 1]
|
|
46
|
+
[translateY: │ [translateY: 0]
|
|
47
|
+
30px] │
|
|
48
|
+
│
|
|
49
|
+
|
|
50
|
+
적합: 범용 (모든 랜딩 레이아웃)
|
|
51
|
+
라이브러리: Intersection Observer API, AOS, Framer Motion
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### L-M4. Kinetic Typography (키네틱 타이포)
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
기법: 텍스트에 모션 적용 (글자별, 단어별, 라인별)
|
|
58
|
+
방식: typewriter | split-char | wave | glitch | scramble
|
|
59
|
+
|
|
60
|
+
H e l l o W o r l d
|
|
61
|
+
↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
|
|
62
|
+
0ms 50 100 150 200 300 350 400 450 500
|
|
63
|
+
stagger delay
|
|
64
|
+
|
|
65
|
+
적합: Hero 섹션, CTA 강조
|
|
66
|
+
라이브러리: GSAP SplitText, Framer Motion
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### L-M5. Video Background Motion (비디오 배경)
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
기법: Hero 배경 비디오 + 오버레이 + 텍스트 모션
|
|
73
|
+
방식: autoplay-loop | scroll-scrub | hover-play
|
|
74
|
+
|
|
75
|
+
┌─────────────────────────────┐
|
|
76
|
+
│ ▶ VIDEO (autoplay, muted) │
|
|
77
|
+
│ ┌───────────────────────┐ │
|
|
78
|
+
│ │ Overlay (gradient) │ │
|
|
79
|
+
│ │ ┌─────────────┐ │ │
|
|
80
|
+
│ │ │ Hero Text │ │ │
|
|
81
|
+
│ │ │ (animated) │ │ │
|
|
82
|
+
│ │ └─────────────┘ │ │
|
|
83
|
+
│ └───────────────────────┘ │
|
|
84
|
+
└─────────────────────────────┘
|
|
85
|
+
|
|
86
|
+
적합: SaaS 데모, 크리에이티브 브랜드
|
|
87
|
+
주의: 성능 최적화 필수 (lazy load, compressed)
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# 2. 대시보드 (`dashboard`)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### D-M1. Micro-interactions (마이크로 인터랙션)
|
|
5
|
+
|
|
6
|
+
```
|
|
7
|
+
기법: 버튼/토글/카드 호버/클릭 피드백
|
|
8
|
+
방식: scale | ripple | color-shift | icon-morph
|
|
9
|
+
|
|
10
|
+
[Button] [Button]
|
|
11
|
+
─hover─→ ┌──────────────┐
|
|
12
|
+
│ scale(1.02) │
|
|
13
|
+
│ shadow: lg │
|
|
14
|
+
└──────────────┘
|
|
15
|
+
|
|
16
|
+
적합: 관리자 패널, 데이터 입력
|
|
17
|
+
CSS: transition + :hover pseudo-class
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
### D-M2. Data Transition (데이터 전환)
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
기법: 숫자/차트 카운트업, 데이터 갱신 애니메이션
|
|
24
|
+
방식: count-up | chart-morph | bar-grow | pie-animate
|
|
25
|
+
|
|
26
|
+
KPI Card
|
|
27
|
+
┌──────────┐
|
|
28
|
+
│ $0 │ ──animate──→ │ $12,450 │
|
|
29
|
+
│ ████░░ │ │ ████████ │
|
|
30
|
+
└──────────┘ └──────────┘
|
|
31
|
+
|
|
32
|
+
적합: 분석 대시보드, KPI 카드
|
|
33
|
+
라이브러리: CountUp.js, Chart.js transitions
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### D-M3. Skeleton Loading (스켈레톤 로딩)
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
기법: 콘텐츠 로딩 중 뼈대 플레이스홀더 애니메이션
|
|
40
|
+
방식: pulse | shimmer | wave
|
|
41
|
+
|
|
42
|
+
Loading Loaded
|
|
43
|
+
┌──────────┐ ┌──────────┐
|
|
44
|
+
│ ░░░░░░░░ │ ──→ │ User Name│
|
|
45
|
+
│ ░░░░░ │ │ Details │
|
|
46
|
+
│ ░░░░░░░ │ │ Content │
|
|
47
|
+
└──────────┘ └──────────┘
|
|
48
|
+
shimmer →→→
|
|
49
|
+
|
|
50
|
+
적합: 모든 대시보드 유형
|
|
51
|
+
CSS: @keyframes shimmer + linear-gradient
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# 3. 이커머스 (`ecommerce`)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### E-M1. Product Hover & Zoom (상품 호버 & 줌)
|
|
5
|
+
|
|
6
|
+
```
|
|
7
|
+
기법: 상품 카드 호버 효과 + 이미지 줌
|
|
8
|
+
방식: image-zoom | quick-view | color-swap | add-to-cart
|
|
9
|
+
|
|
10
|
+
┌─────────┐ hover ┌─────────┐
|
|
11
|
+
│ 📷 │ ────→ │ 📷 🔍 │
|
|
12
|
+
│ 상품명 │ │ 상품명 │
|
|
13
|
+
│ ₩가격 │ │ [담기] │
|
|
14
|
+
└─────────┘ └─────────┘
|
|
15
|
+
|
|
16
|
+
적합: 상품 목록, 카탈로그 그리드
|
|
17
|
+
CSS: transform: scale() + overlay transition
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
### E-M2. Cart & Checkout Animation (장바구니 애니메이션)
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
기법: 장바구니 담기/삭제, 결제 단계 전환
|
|
24
|
+
방식: fly-to-cart | badge-bounce | step-progress | slide-panel
|
|
25
|
+
|
|
26
|
+
[상품] ──→ 🛒+1 (bounce)
|
|
27
|
+
|
|
28
|
+
Step1 ━━● Step2 ━━○ Step3 ━━○
|
|
29
|
+
████████████░░░░░░░░░░░░░░░░
|
|
30
|
+
|
|
31
|
+
적합: 장바구니, 결제 플로우
|
|
32
|
+
라이브러리: Framer Motion layoutId, CSS transitions
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### E-M3. Carousel & Gallery (캐러셀 & 갤러리)
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
기법: 배너/상품 슬라이드 전환 효과
|
|
39
|
+
방식: slide | fade | coverflow | 3d-rotate
|
|
40
|
+
|
|
41
|
+
┌───┬───────────┬───┐
|
|
42
|
+
│ ◀ │ Banner │ ▶ │
|
|
43
|
+
│ │ ←slide→ │ │
|
|
44
|
+
└───┴───────────┴───┘
|
|
45
|
+
● ○ ○ ○ ○
|
|
46
|
+
|
|
47
|
+
적합: 홈 배너, 상품 갤러리
|
|
48
|
+
라이브러리: Swiper.js, Embla Carousel
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# 4. 블로그/콘텐츠 (`blog`)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### B-M1. Reading Progress (읽기 진행률)
|
|
5
|
+
|
|
6
|
+
```
|
|
7
|
+
기법: 스크롤 기반 읽기 진행 바
|
|
8
|
+
위치: top | bottom | side
|
|
9
|
+
|
|
10
|
+
████████████████░░░░░░░░ 68%
|
|
11
|
+
┌─────────────────────────┐
|
|
12
|
+
│ Article Content │
|
|
13
|
+
│ ... │
|
|
14
|
+
└─────────────────────────┘
|
|
15
|
+
|
|
16
|
+
적합: 긴 글, 기술 블로그
|
|
17
|
+
CSS: position: fixed + scroll event
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
### B-M2. Content Fade & Stagger (콘텐츠 페이드)
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
기법: 글 목록/카드 순차 등장
|
|
24
|
+
방식: fade-up-stagger | slide-in | scale-up
|
|
25
|
+
|
|
26
|
+
Card1 ─── 0ms ───→ [visible]
|
|
27
|
+
Card2 ─── 100ms ──→ [visible]
|
|
28
|
+
Card3 ─── 200ms ──→ [visible]
|
|
29
|
+
Card4 ─── 300ms ──→ [visible]
|
|
30
|
+
|
|
31
|
+
적합: 글 목록, 카드 그리드
|
|
32
|
+
CSS: animation-delay 또는 Framer Motion staggerChildren
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### B-M3. Page Flip / Book Turn (페이지 플립)
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
기법: 책장 넘기는 3D 전환 효과
|
|
39
|
+
방식: single-page | double-spread | soft-flip
|
|
40
|
+
|
|
41
|
+
┌─────────┐
|
|
42
|
+
│ │╲
|
|
43
|
+
│ Page │ ╲ ← 3D rotate
|
|
44
|
+
│ 1 │ ╲
|
|
45
|
+
│ │ │
|
|
46
|
+
└─────────┘ │
|
|
47
|
+
╲ │
|
|
48
|
+
╲───┘
|
|
49
|
+
Page 2
|
|
50
|
+
|
|
51
|
+
적합: 매거진 스타일 블로그, 전자책, 포트폴리오
|
|
52
|
+
CSS: perspective + rotateY + backface-visibility
|
|
53
|
+
라이브러리: turn.js, StPageFlip
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# 5. SaaS/웹앱 (`saas`)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### S-M1. Panel & Drawer Transition (패널 전환)
|
|
5
|
+
|
|
6
|
+
```
|
|
7
|
+
기법: 사이드 패널, 모달, 드로어 전환
|
|
8
|
+
방식: slide-over | push-content | fade-scale | morph
|
|
9
|
+
|
|
10
|
+
┌──────┬──────────┐ ┌──────┬───────┬──────┐
|
|
11
|
+
│ Nav │ Content │ ──→ │ Nav │Content│Panel │
|
|
12
|
+
│ │ │ │ │ (push)│←slide│
|
|
13
|
+
└──────┴──────────┘ └──────┴───────┴──────┘
|
|
14
|
+
|
|
15
|
+
적합: 설정, 상세 보기, 편집 모드
|
|
16
|
+
CSS: transform: translateX() + transition
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### S-M2. Drag & Drop Feedback (드래그 앤 드롭)
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
기법: 드래그 중 시각 피드백 + 드롭 전환
|
|
23
|
+
방식: ghost | placeholder | snap-to-grid | reorder
|
|
24
|
+
|
|
25
|
+
[Card A] [Card A] ← ghost
|
|
26
|
+
[Card B] drag→ [ ··· ] ← placeholder
|
|
27
|
+
[Card C] [Card C]
|
|
28
|
+
|
|
29
|
+
적합: 칸반, 리스트 정렬, 파일 관리
|
|
30
|
+
라이브러리: dnd-kit, react-beautiful-dnd
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### S-M3. Toast & Notification (알림 애니메이션)
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
기법: 토스트/알림 팝업 전환
|
|
37
|
+
방식: slide-in | stack | fade | progress-bar
|
|
38
|
+
|
|
39
|
+
┌──────────────────┐
|
|
40
|
+
│ ✅ 저장 완료 │ ← slide-in
|
|
41
|
+
│ ████████░░ 3s │ ← auto-dismiss
|
|
42
|
+
└──────────────────┘
|
|
43
|
+
|
|
44
|
+
적합: 모든 SaaS 유형
|
|
45
|
+
CSS: @keyframes slideIn + setTimeout
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# 6. 포트폴리오 (`portfolio`)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### P-M1. 3D Card Tilt (3D 카드 틸트)
|
|
5
|
+
|
|
6
|
+
```
|
|
7
|
+
기법: 마우스 위치 기반 3D 기울기 + 광택 효과
|
|
8
|
+
방식: tilt-hover | tilt-scroll | gyroscope(mobile)
|
|
9
|
+
|
|
10
|
+
마우스 좌측 마우스 우측
|
|
11
|
+
┌──────────────┐ ╲──────────────╱
|
|
12
|
+
│╲ │ │ │
|
|
13
|
+
│ ╲ Project │ │ Project ╱│
|
|
14
|
+
│ ╲ Card │ │ Card ╱ │
|
|
15
|
+
│ ╲ │ │ ╱ │
|
|
16
|
+
└──────────────┘ ╱──────────────╲
|
|
17
|
+
rotateY(-15deg) rotateY(15deg)
|
|
18
|
+
|
|
19
|
+
적합: 프로젝트 카드, 쇼케이스
|
|
20
|
+
CSS: perspective + rotateX/Y + mousemove event
|
|
21
|
+
라이브러리: vanilla-tilt.js, react-tilt
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### P-M2. Lightbox & Gallery Transition (라이트박스 전환)
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
기법: 이미지 확대/축소 전환 효과
|
|
28
|
+
방식: zoom-morph | fade-scale | slide-gallery | masonry-expand
|
|
29
|
+
|
|
30
|
+
[thumb] click→ ┌─────────────────────┐
|
|
31
|
+
│ │
|
|
32
|
+
│ Expanded Image │
|
|
33
|
+
│ ← → navigate │
|
|
34
|
+
│ │
|
|
35
|
+
└─────────────────────┘
|
|
36
|
+
|
|
37
|
+
적합: 갤러리 그리드, 사진 포트폴리오
|
|
38
|
+
라이브러리: Framer Motion layoutId, GLightbox
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### P-M3. Horizontal Scroll & Reveal (수평 스크롤 리빌)
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
기법: 수평 스크롤 시 프로젝트 순차 등장
|
|
45
|
+
방식: scroll-horizontal | pin-and-slide | stack-cards
|
|
46
|
+
|
|
47
|
+
← scroll direction ←
|
|
48
|
+
|
|
49
|
+
┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐
|
|
50
|
+
│Proj 1│ │Proj 2│ │Proj 3│ │Proj 4│
|
|
51
|
+
│ done │ │reveal│ │ wait │ │ wait │
|
|
52
|
+
└──────┘ └──────┘ └──────┘ └──────┘
|
|
53
|
+
|
|
54
|
+
적합: 크리에이티브 포트폴리오
|
|
55
|
+
라이브러리: GSAP ScrollTrigger, Locomotive Scroll
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### P-M4. Cursor Trail & Custom Cursor (커스텀 커서)
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
기법: 커스텀 커서 + 마우스 트레일 효과
|
|
62
|
+
방식: dot-follow | magnetic | text-cursor | trail-particles
|
|
63
|
+
|
|
64
|
+
●──── cursor (magnetic to links)
|
|
65
|
+
╱
|
|
66
|
+
○ ← trail (delayed follow)
|
|
67
|
+
|
|
68
|
+
적합: 크리에이티브 에이전시, 아티스트
|
|
69
|
+
CSS: cursor: none + JS mousemove tracking
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# 모션 강도 프리셋
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
모든 패턴에 공통 적용 가능한 강도 설정:
|
|
5
|
+
|
|
6
|
+
| 프리셋 | `motion_intensity` | duration | easing | 설명 |
|
|
7
|
+
|--------|-------------------|----------|--------|------|
|
|
8
|
+
| **Subtle** | `subtle` | 200-400ms | ease-out | 미묘한 전환, 비즈니스 |
|
|
9
|
+
| **Moderate** | `moderate` | 400-700ms | ease-in-out | 균형 잡힌, 범용 |
|
|
10
|
+
| **Dramatic** | `dramatic` | 700-1200ms | cubic-bezier | 임팩트, 크리에이티브 |
|
|
11
|
+
| **None** | `none` | 0ms | - | 모션 없음, 접근성 우선 |
|
|
12
|
+
|
|
13
|
+
> `prefers-reduced-motion` 미디어 쿼리 자동 적용:
|
|
14
|
+
> `@media (prefers-reduced-motion: reduce)` → duration: 0, transform: none
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# 웹 모션/인터랙션 패턴 정의
|
|
2
|
+
|
|
3
|
+
> 참조 위치: `stages/stage2-web-motion.md`에서 분기 사용
|
|
4
|
+
> web_type별 추천 모션 패턴 정의
|
|
5
|
+
> Dependencies: 없음 (독립 참조 데이터)
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 공통 모션 카테고리
|
|
10
|
+
|
|
11
|
+
| 카테고리 | 설명 |
|
|
12
|
+
|----------|------|
|
|
13
|
+
| **Scroll Motion** | 스크롤 기반 애니메이션 (Parallax, Reveal, Snap) |
|
|
14
|
+
| **3D Transform** | CSS 3D 변환 (Flip, Tilt, Perspective) |
|
|
15
|
+
| **Page Transition** | 페이지/섹션 간 전환 효과 |
|
|
16
|
+
| **Micro-interaction** | 호버, 클릭, 토글 등 소규모 피드백 |
|
|
17
|
+
| **Loading & Skeleton** | 콘텐츠 로딩 상태 애니메이션 |
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## 1. 랜딩페이지 (`landing`)
|
|
22
|
+
|
|
23
|
+
> 상세: `defs/web-motions/01-landing.md` 참조
|
|
24
|
+
|
|
25
|
+
기법: 레이어별 스크롤 속도 차이로 깊이감 표현
|
|
26
|
+
## 2. 대시보드 (`dashboard`)
|
|
27
|
+
|
|
28
|
+
> 상세: `defs/web-motions/02-dashboard.md` 참조
|
|
29
|
+
|
|
30
|
+
기법: 버튼/토글/카드 호버/클릭 피드백
|
|
31
|
+
## 3. 이커머스 (`ecommerce`)
|
|
32
|
+
|
|
33
|
+
> 상세: `defs/web-motions/03-ecommerce.md` 참조
|
|
34
|
+
|
|
35
|
+
기법: 상품 카드 호버 효과 + 이미지 줌
|
|
36
|
+
## 4. 블로그/콘텐츠 (`blog`)
|
|
37
|
+
|
|
38
|
+
> 상세: `defs/web-motions/04-blog.md` 참조
|
|
39
|
+
|
|
40
|
+
기법: 스크롤 기반 읽기 진행 바
|
|
41
|
+
## 5. SaaS/웹앱 (`saas`)
|
|
42
|
+
|
|
43
|
+
> 상세: `defs/web-motions/05-saas.md` 참조
|
|
44
|
+
|
|
45
|
+
기법: 사이드 패널, 모달, 드로어 전환
|
|
46
|
+
## 6. 포트폴리오 (`portfolio`)
|
|
47
|
+
|
|
48
|
+
> 상세: `defs/web-motions/06-portfolio.md` 참조
|
|
49
|
+
|
|
50
|
+
기법: 마우스 위치 기반 3D 기울기 + 광택 효과
|
|
51
|
+
## 모션 강도 프리셋
|
|
52
|
+
|
|
53
|
+
> 상세: `defs/web-motions/08-intensity-preset-motion.md` 참조
|
|
54
|
+
|
|
55
|
+
모든 패턴에 공통 적용 가능한 강도 설정:
|