스크린샷 레이아웃 분해기 (이미지 → DOM 계획 → 컴포넌트 맵)
어떤 UI 스크린샷도 섹션, 계층 구조, 코딩 준비가 된 1차 DOM 계획과 함께 구조화된 컴포넌트 맵으로 빠르게 변환합니다.
프롬프트 개요
추천 팁
- 스프린트 간 이름을 안정적으로 유지해 변경 이력을 줄이세요. - 반복되는 UI는 초기에 variant prop으로 캡처하세요. - 디자인과 함께 인터랙티브 요소(호버, 포커스, 클릭)를 확인하세요. - 스크린샷에 필요한 props만 포함한 Storybook 스텁으로 시작하세요.
운영팀 제공NexusAi Technology해결하는 문제
가장 어려운 첫 단계인 시각적 요소를 추측 없이 일관된 컴포넌트 구조와 레이아웃 계획으로 빠르게 변환하는 과정을 가속화합니다.
계층 구조 파싱
시각적 요소를 컴포넌트 트리와 영역으로 변환합니다.
Props/state 계획
명확한 입력과 이벤트 인터페이스를 정의합니다.
반응형 레이아웃 메모
브레이크포인트별 그리드/플렉스 패턴을 제안합니다.
위험 관리
불명확한 상호작용을 조기에 확인하도록 표시합니다.
AI 프롬프트 지침
역할: 시니어 프론트엔드 엔지니어이자 UI 시스템 아키텍트로 활동하세요.
이 작업이 중요한 이유: 스크린샷에서 시작하면 임시 컴포넌트, 명칭 혼란, 재작업이 발생하기 쉽습니다. 명확한 맵은 모호함을 줄이고 코딩 속도를 높입니다.
중요한 제한 사항:
- React + Tailwind 또는 CSS Modules를 가정하세요.
- 필요한 경우 의미론적 HTML 태그와 ARIA 역할을 우선 사용하세요.
- 스크린샷이 암시하는 범위를 넘어 제품 기능을 창작하지 마세요.
사용자 입력:
- 스크린샷 링크 또는 설명
- 브랜드 제약(있다면): 간격 스케일, 글꼴 패밀리, 주요/보조 색상
- 목표 브레이크포인트(예: sm, md, lg, xl)
목표:
1) 레이아웃 영역 식별(헤더, 내비게이션, 메인, 사이드바, 푸터, 대화상자).
2) 이름, 목적, 재사용 가능성을 포함한 컴포넌트 트리 제안.
3) props/state, 데이터 의존성, 이벤트 인터페이스 개요 작성.
4) 핵심 레이아웃을 위한 Tailwind 유틸리티 그룹 또는 CSS 클래스 제안.
분석 작업 흐름:
1) 시각적 계층 구조 파악: 그리드 대 플렉스 패턴, 간격 리듬, 타이포그래피 역할.
2) 반복 및 상호작용 포인트를 기반으로 컴포넌트 경계 초안 작성.
3) 변동성(텍스트, 아이콘, 이미지, 크기, 변형)을 위한 props 정의.
4) 접근성 요구사항(랜드마크, 라벨, 포커스 순서) 기록.
필수 출력 형식:
- ComponentTree: 중첩된 컴포넌트의 글머리표 목록
- ComponentSpecs: 각 컴포넌트별 목적, props, state, aria/roles
- LayoutPlan: 간격, 패딩, 브레이크포인트 메모가 포함된 그리드/플렉스 전략
- Risks: 가정 사항 및 이해관계자 확인이 필요한 영역
품질 관리:
- 이름은 일관되고 설명적이며(컴포넌트는 PascalCase 사용) 명확해야 합니다.
- 슬롯/자식 패턴으로 충분할 경우 깊은 중첩 컴포넌트는 피하세요.
검증 체크리스트:
- 각 컴포넌트가 Storybook에서 독립적으로 렌더링 가능한가?
- props는 재사용에 최소한이면서도 완전한가?
최종 지침: ComponentTree, ComponentSpecs, LayoutPlan, Risks를 별도의 명확한 섹션으로 작성하여 개발자에게 전달할 준비를 하세요.
예상 결과
ComponentTree: - AppLayout - TopBar - SideNav - ContentArea - StatsCard (x3) - DataTable LayoutPlan: - Outer: lg에서 gap-6과 함께 grid-cols-[auto,1fr]; md 이하에서는 SideNav 축소. ComponentSpecs: - StatsCard props: title, value, delta, icon, variant. Risks: - 테이블 행 액션 불명확(아이콘 대 텍스트).
실행 과정
ChatGPT에서 컴포넌트 맵 초안 작성
ChatGPT를 열고 스크린샷 링크와 브랜드 간격/타이포그래피 제약 조건을 붙여넣으세요. ComponentTree, ComponentSpecs, LayoutPlan, Risks를 요청하세요. 구조화된 계층과 1차 DOM 계획을 받아 계획 문서에 복사할 수 있습니다.
10 minStorybook 스텁 생성
에디터(예: VS Code)에서 ComponentTree를 기반으로 빈 React 컴포넌트를 생성하고 ComponentSpecs의 props로 기본 Storybook 스토리를 추가하세요. 이렇게 하면 계획을 실행 가능한 플레이스홀더로 전환할 수 있습니다.
20 min팀과 가정 사항 확인
Risks 섹션과 Storybook 링크를 PM/디자이너와 공유하세요. 결정 사항(예: variant 이름, 브레이크포인트)을 컴포넌트 props에 직접 기록해 코딩 전에 인터페이스를 확정하세요.
15 min
