You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

요약: WPF Blend가 30년간 축적한 애니메이션 정의 체계를 Pencil 디자인 도구에 이식하고, AI 하네스 시스템으로 조사→구현→평가 루프를 반복하여 37개 애니메이션 컴포넌트 템플릿을 자체 구축한 여정을 공유합니다.

대상 독자: UI/UX에 관심 있는 개발자, 디자인 시스템 관리자

첨부 파일: 디자인아이디어.pen (Pencil 디자인 파일) | index.html (AICC 데모 페이지)

1. WPF Blend — MS의 디자이너-개발자 협업 도구

Microsoft의 Blend for Visual Studio는 WPF(Windows Presentation Foundation) 생태계에서 디자이너와 개발자를 연결하는 핵심 도구입니다. 2006년 WPF와 함께 등장한 이래, XAML이라는 공통 언어를 중심으로 두 역할이 같은 파일을 서로 다른 관점에서 편집하는 워크플로우를 제공해 왔습니다.

XAML — 디자이너와 개발자의 공통 언어

XAML(eXtensible Application Markup Language)은 UI의 구조, 스타일, 애니메이션을 모두 선언적으로 정의합니다. 디자이너는 Blend의 비주얼 에디터에서 드래그&드롭으로 요소를 배치하고, 개발자는 같은 .xaml 파일을 Visual Studio에서 코드로 편집합니다. 결과물은 동일한 파일이므로 버전 충돌 없이 협업이 가능합니다.

Storyboard — 시각적 타임라인 애니메이션

Blend의 가장 강력한 기능은 Storyboard 타임라인 에디터입니다. 디자이너가 키프레임을 찍고 속성 변화를 시각적으로 편집하면, Blend가 이를 XAML Storyboard 코드로 자동 변환합니다.

WPF Storyboard 예시 — 버튼 Hover 애니메이션
<Storyboard>
  <DoubleAnimation
    Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleX)"
    From="1.0" To="1.08" Duration="0:0:0.3">
    <DoubleAnimation.EasingFunction>
      <CubicEase EasingMode="EaseOut"/>
    </DoubleAnimation.EasingFunction>
  </DoubleAnimation>
</Storyboard>

ResourceDictionary — 애니메이션 자산의 공유

WPF의 ResourceDictionary 체계는 스타일, 템플릿, 애니메이션을 별도 파일로 분리하여 프로젝트 전체에서 재사용할 수 있게 합니다. 이 메커니즘 덕분에 WPF 생태계에는 수십 년간 축적된 방대한 애니메이션 패턴 라이브러리가 존재합니다 — MaterialDesignInXAML, MahApps.Metro, WPF UI(Fluent) 등이 대표적입니다.


2. Pencil — AI 시대의 디자인 협업

MCP를 통한 AI-디자이너 협업

Pencil은 .pen 파일 형식으로 디자인을 관리하는 모던 디자인 도구입니다. 핵심적인 차별점은 MCP(Model Context Protocol)를 통해 AI와 직접 협업할 수 있다는 것입니다. AI가 batch_design 명령으로 프레임, 텍스트, 도형을 배치하고, get_screenshot으로 결과를 시각적으로 검증하는 — 마치 디자이너가 캔버스에서 작업하는 것과 같은 워크플로우가 가능합니다.

정적 디자인의 한계와 애니메이션 표현의 도전

그러나 Pencil은 본질적으로 정적 디자인 도구입니다. Blend처럼 타임라인 에디터나 Storyboard가 없습니다. 애니메이션의 “Before → After” 상태를 나란히 배치하거나, 화살표로 전환을 암시하는 것이 최선입니다.

이것은 모든 정적 디자인 도구(Figma, Sketch 포함)가 공유하는 근본적 한계입니다. 애니메이션 이펙트를 위한 리소스는 보통 유료 플러그인이나 별도 프로토타이핑 도구(ProtoPie, Principle)에 의존합니다.

아이디어 — WPF의 30년 애니메이션 자산을 활용하면?

여기서 발상의 전환이 시작됩니다. WPF 생태계가 수십 년간 축적한 애니메이션 패턴 — Storyboard, EasingFunction, Transform 조합들을 Pencil의 디자인 카드로 변환하면 어떨까요?

  • WPF의 DoubleAnimation + ScaleTransform → Pencil에서 “작은 상태 → 큰 상태” 나란히 배치

  • WPF의 ColorAnimation → Pencil에서 3단계 그라데이션 카드

  • WPF의 RotateTransform → Pencil에서 회전 호(arc) 표시

정적 이미지로도 애니메이션의 의도와 메커니즘을 충분히 전달할 수 있습니다. 그리고 이 정적 카드들이 모이면, 웹 개발 시 참조할 수 있는 애니메이션 컴포넌트 라이브러리가 됩니다.


3. 하네스 루프 — 조사→구현→평가의 자가 개선 사이클

아이디어를 실행에 옮기기 위해, BloomLabs Content Harness의 평가 시스템을 디자인 워크플로우에 확장 적용했습니다.

Case P 평가: WPF → Pencil

WPF 애니메이션을 조사하여 Pencil 디자인 카드로 시각화하는 작업을 3축으로 평가합니다:

평가축

만점

핵심 기준

P1. 리서치 신규성

35

기존 .pen 파일과 중복 없이 새로운 기법을 추가했는가

P2. 시각화 표현력

35

Before→After 상태 전환을 직관적으로 표현했는가

P3. 메타 완결성

30

XAML 스니펫과 출처가 정확하게 기록되었는가

Case W 평가: Pencil → HTML

Pencil에서 설계한 애니메이션을 실제 HTML/CSS/JS로 구현할 때의 품질을 측정합니다:

평가축

만점

핵심 기준

W1. 디자인 커버리지

35

.pen의 컴포넌트를 얼마나 많이 HTML에 반영했는가

W2. 애니메이션 충실도

35

정적 디자인을 동적 애니메이션으로 정확히 변환했는가

W3. 독창적 확장

30

디자인에 없는 창의적 인터랙션을 추가했는가

왜 셀프 업그레이드 방식인가

Figma 커뮤니티나 유료 애니메이션 라이브러리(LottieFiles, ProtoPie 등)를 구매하는 것도 방법입니다. 하지만 우리가 선택한 접근은 다릅니다:

  1. WPF의 공개 자료를 조사하여 애니메이션 패턴을 수집

  2. Pencil로 시각화하여 디자인 카드 형태로 축적

  3. 하네스로 평가하여 품질을 정량화하고 개선점을 식별

  4. 다시 조사하여 부족한 영역을 보강

이 루프를 반복하면 외부 의존 없이 자체적으로 애니메이션 자산을 확보할 수 있으며, 평가 시스템 덕분에 품질이 측정 가능합니다.

RPG 보너스: Case P와 Case W를 연속 실행하면 양쪽 모두 60점 이상일 때 XP 1.3배 파이프라인 보너스가 적용됩니다.

게임의 레벨/업적평가 살펴보기


4. 완성된 37개 애니메이션 템플릿 — 11개 카테고리 갤러리

두 차례의 조사→구현 사이클을 통해 11개 카테고리, 37개 WPF 애니메이션 컴포넌트를 Pencil 디자인 카드로 완성했습니다. 아래는 Pencil에서 익스포트한 각 카테고리의 프레임 이미지와 컴포넌트 소개입니다.

원본 — WPF Blend Animation Ideas (5개)

최초 조사에서 확보한 5개 핵심 애니메이션 패턴입니다. Glass Effect Button(MouseEnter 시 투명 오버레이 페이드인), Animated Sidebar Menu(ToggleButton으로 Width 65→230px 전환), Rotating Loading Spinner(RotateTransform 무한 회전), Sliding Expandable Panel(TranslateTransform 슬라이드), Color-Animated Content Control(ColorAnimation으로 상태별 색상 전환). 이 5개가 전체 라이브러리의 출발점이 되었습니다.

CAT1 — Data Input Controls 데이터 입력 컨트롤 (3개)

사용자 입력 시 발생하는 마이크로 인터랙션입니다. Floating Label TextBox(포커스 시 라벨이 위로 올라가며 축소 + 색상 변화), Animated ComboBox(드롭다운 ScaleY 0→1 펼침 + Opacity 페이드), Material Toggle Switch(노브 TranslateX 이동 + 트랙 색상 전환). 폼 UI의 완성도를 높이는 필수 애니메이션들입니다.

CAT2 — Feedback & Notification 피드백 & 알림 (3개)

시스템 상태를 사용자에게 전달하는 패턴입니다. Snackbar/Toast(하단에서 슬라이드 업 + 3초 후 자동 퇴장), Animated Progress Bar(Indeterminate 슬라이딩 + Value 기반 스무스 필), Badge Counter Pop(값 변경 시 Scale 1→1.3→1.0 ElasticEase 바운스). 사용자 피드백 UX의 기본기입니다.

CAT3 — Navigation & Transitions 네비게이션 & 전환 (3개)

화면 간 이동의 자연스러움을 담당합니다. Page/Content Transition(Old=왼쪽 슬라이드아웃+페이드, New=오른쪽 슬라이드인), Tab Control Slide(방향에 따른 좌/우 슬라이드 + Opacity 0.3→1), Hamburger→X Morph(3줄 아이콘의 RotateTransform + TranslateTransform으로 X자 변환). SPA 네비게이션에 직접 적용 가능합니다.

CAT4 — Decorative & Background 장식 & 배경 (3개)

페이지의 분위기를 결정하는 배경 효과입니다. Animated Gradient BG(GradientStop 색상/오프셋 순환 + AutoReverse), Particle/Floating Dots(다수 Ellipse의 staggered 부유 애니메이션), Pulsing Glow Effect(DropShadowEffect BlurRadius/Opacity 호흡 펄스). 랜딩페이지의 시각적 임팩트를 크게 높입니다.

CAT5 — 3D Transform & Shape Morph (3개)

2차 조사에서 새로 도입한 3D 변환 패러다임입니다. Flip Card 3D(ScaleTransform.ScaleX 1→-1 + 90° 지점에서 Visibility 교체), Morphing Shape(BezierSegment의 PointAnimation으로 사각형→원형 보간), Elastic/Spring(ElasticEase Oscillations=3으로 오버슈트 바운스). 기존 카테고리에 없던 완전히 새로운 차원의 애니메이션입니다.

CAT6 — Path & Trajectory 경로 & 궤적 (3개)

오브젝트의 이동 궤적을 다루는 패턴입니다. Path Follower(DoubleAnimationUsingPath로 베지어 곡선 따라 이동 + DoesRotateWithTangent), Parallax Scrolling(배경/중경/전경 3개 레이어에 각각 0.2x/0.5x/1.0x 속도 적용), Drag & Drop(마우스 추적 TranslateTransform + 놓을 때 BounceEase 스냅백). 공간감과 인터랙션 깊이를 더합니다.

CAT7 — Text & Sequential 텍스트 & 순차 (3개)

텍스트와 리스트의 등장 연출입니다. Typewriter Text(StringAnimationUsingKeyFrames로 한 글자씩 타이핑 + 깜빡이는 커서), Marquee Ticker(TranslateTransform.X를 캔버스 너비만큼 무한 루프), Staggered List Entrance(ItemContainerStyle에서 BeginTime을 인덱스×0.05s로 오프셋하여 순차 등장). 콘텐츠 발견 경험을 극적으로 개선합니다.

CAT8 — Interactive UI Controls 인터랙티브 컨트롤 (3개)

사용자 조작에 즉각 반응하는 컨트롤입니다. Ripple Effect Button(클릭 지점에 Ellipse 스폰 + ScaleTransform 0→50 확산 + Opacity 페이드), Accordion Sections(LayoutTransform ScaleY로 레이아웃 리플로우 + 화살표 RotateTransform 180°), Animated Tooltip(Opened 이벤트 시 Opacity+TranslateY 슬라이드인 + DropShadowEffect). Material Design 느낌의 풍부한 피드백을 제공합니다.

CAT9 — Data Visualization & Loading 데이터 시각화 (3개)

데이터를 시각적으로 전달하는 패턴입니다. Skeleton Shimmer(LinearGradientBrush의 GradientStop.Offset을 -1→2로 스위핑하는 로딩 플레이스홀더), Circular Progress(Ellipse의 StrokeDashOffset으로 원형 진행률 표시 + RotateTransform -90°로 12시 시작), Animated Bar Chart(Rectangle.Height를 0→목표값까지 staggered BeginTime으로 캐스케이드). 대시보드 UI에 필수적인 데이터 애니메이션입니다.

CAT10 — Ambient & Decorative FX 앰비언트 효과 (3개)

배경의 생동감을 더하는 고급 효과입니다. Wave Ripple BG(ShaderEffect HLSL로 sin(X×Frequency)×Amplitude 물결 + Phase 애니메이션), Breathing Pulse(ScaleTransform 1.0→1.15 AutoReverse + SineEase로 유기적 호흡), Marching Ants Border(StrokeDashOffset 0→6 무한 애니메이션으로 선택 영역 표시). 섬세한 디테일이 전문성을 보여줍니다.

CAT11 — Celebration & Advanced 축하 & 고급 (3개)

특수 상황의 연출 효과입니다. Confetti Burst(Canvas에 다수 Rectangle 스폰 + 랜덤 색상/회전/속도 + 중력 KeyFrames), Zoom/Pinch(MouseWheel.Delta로 ScaleTransform 스무스 줌 + CubicEase 300ms), Animated Tooltip(ToolTip.Opened 이벤트 기반 Opacity+TranslateY 진입 + DropShadow). 사용자 경험의 감성적 완성도를 높이는 고급 기법입니다.


다운로드

Pencil 앱에서 .pen 파일을 열어 각 카드를 확인하고, 필요한 컴포넌트를 자신의 프로젝트에 복사하여 사용할 수 있습니다. 이 스킬은 모던하고 심플한 애니메이션 효과를 지원합니다.


5. 실전 적용 — 노리의 여행 에필로그 홈페이지

축적한 애니메이션 템플릿의 실전 활용을 검증하기 위해, “여행하는 노리의 에필로그” 테마의 개인 홈페이지를 제작했습니다. Pencil 디자인 파일의 22개 애니메이션 이펙트를 하나의 페이지에 적용하는 것이 목표였습니다.

Hero — 첫인상의 모든 것

첫 화면에서 6가지 이펙트가 동시에 작동합니다: Animated Gradient BG(배경 그라디언트 흐름), Floating Particles(컬러 파티클 25개 부유), Rotating Spinner(3중 회전 링), Pulsing Glow(“노리” 이름 펄스), Typewriter Text(여행 문구 타이핑), Glass Effect Button(CTA 2종).

About — 아코디언과 컬러 필

Accordion Sections(CAT8)로 자기소개를 3단 접기/펼치기로 구현하고, Color-Animated Pills(CAT1)로 스킬 태그가 자동 순환하며 하이라이트됩니다. 스크롤 시 Scroll RevealElastic/Spring(CAT5) 진입 애니메이션이 적용됩니다.

Travels — 3D 플립 카드

Flip Card 3D(CAT5)가 핵심입니다. 4개 여행지 카드에 마우스를 올리면 Y축 180° 회전하며 뒷면의 여행 스토리가 나타납니다. CSS perspective + backface-visibility로 구현했으며, Elastic/Spring 진입 애니메이션과 결합됩니다.

Gallery — 순차 등장 그리드

Staggered List Entrance(CAT7)로 6개 사진 카드가 스크롤 시 순차적으로 등장합니다. IntersectionObserver로 뷰포트 진입을 감지하고, 각 아이템에 index×80ms 지연을 적용하여 캐스케이드 효과를 만듭니다.

Statistics — 원형 차트와 바 차트

데이터 시각화 카테고리(CAT9)의 3가지를 모두 적용했습니다: Circular Progress(SVG stroke-dashoffset으로 원형 진행률 4개), Animated Bar Chart(대륙별 방문 횟수 5개 바 캐스케이드), Parallax Scrolling(CAT6, 배경 레이어 0.15x 속도 차이).

Journey — 타임라인 슬라이드

Sliding Expandable Panel(원본 CAT)을 타임라인에 적용했습니다. 각 연도 아이템이 스크롤 시 왼쪽에서 슬라이드인하며, 색상이 다른 Breathing Pulse(CAT10) 도트가 시간의 흐름을 표현합니다.

Contact — 플로팅 라벨과 축하 효과

Floating Label TextBox(CAT1)로 3개 입력 필드를 구현하고, 전송 시 Toast/Snackbar(CAT2)가 우하단에서 슬라이드인합니다. 동시에 Confetti Burst(CAT11)가 60개 컬러 파티클을 터뜨려 축하 효과를 연출합니다.

적용된 22개 애니메이션 매핑

#

.pen 이펙트

HTML 적용 위치

카테고리

1

Animated Gradient BG

전체 배경 그라디언트 흐름

CAT4

2

Floating Particles

배경 25개 컬러 파티클 부유

CAT4

3

Rotating Spinner

Hero 3중 회전 링

원본

4

Pulsing Glow

“노리” 이름 펄스 이펙트

CAT4

5

Typewriter Text

Hero 여행 문구 타이핑

CAT7

6

Glass Effect Button

Hero CTA (primary + glass)

원본

7

Ripple Effect

버튼 클릭 시 ripple

CAT8

8

Marquee Ticker

여행 명언 무한 스크롤

CAT7

9

Accordion

About Me 3단 접기/펼치기

CAT8

10

Color-Animated Pills

스킬 태그 순환 하이라이트

원본

11

Flip Card 3D

여행지 4개 카드 뒤집기

CAT5

12

Staggered List

갤러리 사진 순차 등장

CAT7

13

Circular Progress

여행 통계 원형 차트 4개

CAT9

14

Animated Bar Chart

대륙별 방문 횟수 바 차트

CAT9

15

Parallax Scrolling

통계 섹션 배경 패럴랙스

CAT6

16

Elastic/Spring

카드/통계 엘라스틱 등장

CAT5

17

Sliding Expandable

타임라인 아이템 슬라이드

원본

18

Breathing Pulse

네비 온라인 도트 + 타임라인 도트

CAT10

19

Floating Label

컨택트 폼 3개 필드

CAT1

20

Toast/Snackbar

메시지 전송 시 슬라이드인 알림

CAT2

21

Confetti Burst

폼 전송 시 축하 파티클

CAT11

22

Scroll Reveal

모든 섹션 스크롤 진입 애니

공통

11개 카테고리 중 9개 카테고리의 이펙트가 단일 페이지에 적용되었습니다. 기존 원본(4개) + CAT1~11에서 18개를 활용하여 총 22개 애니메이션이 자연스럽게 통합됩니다.

데모 확인: nori-homepage.html 파일을 브라우저에서 열면 모든 애니메이션을 직접 확인할 수 있습니다.


6. 마무리 — 다음 스텝

이번 여정을 통해 확인한 것들:

  1. WPF의 애니메이션 체계는 웹에도 유효합니다. Storyboard/Easing/Transform의 개념은 CSS @keyframes/transition/transform과 1:1 대응됩니다.

  2. Pencil + MCP는 AI 시대의 디자인 협업 모델입니다. 정적 디자인의 한계를 “상태 전환 카드” 패턴으로 극복할 수 있습니다.

  3. 하네스의 평가 루프는 디자인에도 적용 가능합니다. Case P/W 평가로 품질을 측정하고 개선 방향을 식별합니다.

  4. 셀프 업그레이드 방식은 외부 의존을 줄입니다. 유료 리소스 없이도 37개 템플릿을 구축했습니다.

다음 단계로는:

  • 2차 조사에서 확보한 20개 컴포넌트의 .xaml 샘플 파일 생성 (독립 실행 가능한 WPF Window)

  • Pencil 디자인 카드를 재사용 가능한 컴포넌트(reusable)로 전환하여 다른 .pen 파일에서 참조 가능하게 개선

  • 더 많은 실전 랜딩페이지에 적용하여 Case W 평가 루프를 반복

애니메이션 리소스는 사서 쓰는 것만이 답이 아닙니다. WPF라는 거인의 어깨 위에 서서, AI와 함께 디자인하고, 하네스로 평가하면 — 스스로 성장하는 디자인 시스템을 만들 수 있습니다.


작성일: 2026-03-28 | BloomLabs Content Harness v0.8.0 | Pencil Design Skill v1.3.0

  • No labels