Summary
웹툰 조립·레터링·검수·패키징 방법론. 렌더된 패널 PNG(말풍선·한글 대사가 이미지에 베이크됨)를 세로 스크롤 뷰어(index.html)로 오버레이 없이 조립하고, letterer의 말풍선/레터링 베이크 명세(대사·생각·외침·나레이션)를 설계하며, 웹툰 QA/검수(패널 수·레퍼런스…
revfactory/webtoon-harness · Archived
웹툰 조립·레터링·검수·패키징 방법론. 렌더된 패널 PNG(말풍선·한글 대사가 이미지에 베이크됨)를 세로 스크롤 뷰어(index.html)로 오버레이 없이 조립하고, letterer의 말풍선/레터링 베이크 ? 패키징을 수행할 때 사용한다. episode-compositor·quality-reviewer·continuity-manager·showrunner와 letterer가 참조한다. 회차를 다시 조립·재조립·수정·보완하거나 재검수·?
npx skills add revfactory/webtoon-harness --skill webtoon-assembly
웹툰 조립·레터링·검수·패키징 방법론. 렌더된 패널 PNG(말풍선·한글 대사가 이미지에 베이크됨)를 세로 스크롤 뷰어(index.html)로 오버레이 없이 조립하고, letterer의 말풍선/레터링 베이크 명세(대사·생각·외침·나레이션)를 설계하며, 웹툰 QA/검수(패널 수·레퍼런스…
This repository is archived — consider an actively maintained alternative.
웹툰 트렌드 리서치 방법론. 웹툰 트렌드 조사, 인기 웹툰 분석, 장르 동향 파?
2 installs웹툰 패널 이미지를 codex-image(codex exec image_generation)로 동시 5장씩 병렬 렌더링하는 스킬. …
1 installs웹툰 시나리오·스토리·대본을 설계/집필할 때 반드시 사용한다. 하이콘?
1 installs웹툰 대본을 50+ 패널 샷리스트로 분해하고, 작화 스타일 가이드와 캐릭터 일관성 토큰을 정제하는 비…
1 installsRelated neighbors and high-traction skills in the same topics — useful to compare before installing.
열린국회정보 Open API를 k-skill-proxy 경유로 호출해 의안 검색·상세와 국회의원 본회의 표결정보를…
1.4K installsOrchestrate the full paper pipeline end-to-end. Manage state propagation between phases (litera…
1.4K installs为 SVG 矢量图创建充满“力量感”与“速度感”的零件组装动画,并支持一键导出 30fps 的透明背景序列帧。…
1.1K installsx86-64 assembly skill for reading, writing, and debugging assembly code. Use when reading GCC/C…
489 installsAArch64 and ARM assembly skill for reading and writing ARM assembly code. Use when reading GCC/…
486 installsUse when implementing speech-to-text, audio transcription, real-time streaming STT, audio intel…
442 installsOther skills from revfactory/webtoon-harness.
npx skills add revfactory/webtoon-harness
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
main
Files included with this skill beyond the listing page.
SKILL.md
15,282 B
SUMMARY.md
805 B
렌더가 끝난 패널을 "읽히는 웹툰"으로 만드는 마지막 공정이다. 조립(세로 스크롤 뷰어) → 레터링(말풍선) → QA/검수 → 연속성 관리 → 최종 패키징까지를 다룬다. 특정 회차에 맞추지 말고 어느 회차에든 적용되게 일반화해 쓴다. {NN} = 2자리 회차 번호.
핵심 원칙(왜 이렇게 하나):
왜: 패널을 한 줄기 세로 스트립으로 이어, 손가락 스크롤만으로 끊김 없이 읽게 만든다.
이 하네스의 말풍선은 in-image 베이크다. 말풍선·한글 대사가 패널 PNG에 이미 그려져 있으므로, 조립은 텍스트 오버레이 없이 패널을 순서대로 잇는 순수 이미지 스트립이다. lettering.md는 오버레이 데이터가 아니라 (a) 패널 간 간격·리듬 힌트, (b) QA가 베이크된 텍스트를 대조할 기준으로만 쓴다.
골격은 assets/viewer-template.html을 쓴다. 외부 의존성 없는 단일 HTML이라 어디서든 열어 검수할 수 있다. 처음부터 새로 짜지 말고 템플릿의 META와 PANELS 데이터 배열만 채운다.
workspace/05panels/ep{NN}/의 PNG를 파일명 오름차순(panel_001 → …)으로 수집한다(panel-validator 통과본).PANELS 배열을 채운다. 한 항목 = 한 패널(말풍선 데이터 없음):``js { src: "../../05panels/ep{NN}/panel001.png", alt: "panel 001", gap: 0 } ` - src는 결과 파일(06assembly/ep{NN}/index.html) 기준 상대경로(../../05panels/...). 또는 패널을 동일 폴더로 복사해 참조해도 된다. - gap은 다음 패널과의 간격(px): 0`=무봉제(연속 컷), 양수=장면 전환/시간 경과/침묵 컷("쿵"). lettering.md의 리듬 힌트와 샷리스트 SCENE BREAK를 근거로 정한다.
--max-w: 720px 중앙 정렬. 폭은 100%로 채우고 높이는 auto.--panel-gap로 제어. 0px=무봉제 연결(한 장면의 연속 컷), 양수=칸 분리(장면 전환·시간 경과). 의미에 맞게 쓴다.<img loading="lazy" decoding="async">. 50+ 패널 회차의 초기 로딩·메모리 부담을 줄인다.img.onerror). 누락을 숨기지 않아야 검수가 잡는다.왜: 대사 위주 고긴장 웹툰에서 말풍선은 정보·감정·반전을 나르는 주된 통로다. 잘못 놓으면 작화가 좋아도 안 읽힌다. 이 하네스에서 말풍선은 이미지에 함께 그려지므로(in-image 베이크), letterer는 이 섹션 규칙으로 ep{NN}_lettering.md(베이크 명세)를 설계하고, prompt-smith가 이를 codex 프롬프트에 담아 렌더하며, panel-validator가 렌더 결과의 텍스트 정확도를 이 파일과 대조한다(episode-compositor는 오버레이하지 않는다).
type)tail)가 화자를 가리킨다.left/right/up/down). 화자 귀속이 한눈에 보여야 한다.--bubble-fs 기준 16~18px급). 모바일 화면에서 작으면 곧 이탈.word-break: keep-all로 한국어 어절이 어색하게 끊기지 않게 한다.ep{NN}_lettering.md 권장 형식 (letterer 출력 → prompt-smith 베이크)### panel_001
- bubble_1: { speaker: 나레, type: narration, text: "비 오는 밤.", position: 상단 중앙, read_order: 1 }
- bubble_2: { speaker: 지호, type: dialogue, text: "…왜 또 너야?", position: 하단 좌측 여백(얼굴 안 가림), read_order: 2 }
### panel_004
- silent: true # 무대사 침묵 컷(말풍선 없음)
text는 대본 원문 그대로(맞춤법·문장부호 포함) — prompt-smith가 따옴표로 베이크하고 validator가 글자 단위로 대조한다.position은 좌표가 아니라 영역 지시(상/하/좌/우/중앙 + 얼굴 회피). 프롬프트가 말풍선 위치를 그리는 근거.왜: 결함은 일찍·객관적으로 잡을수록 재작업이 싸다. 셀 수 있는 것은 스크립트로 측정하고, 의미는 교차 비교로 검증한다. 점진적 QA — 모듈이 완성되는 즉시 검증한다.
2단 검증 분업: 패널 단위 1차 검증(캐릭터/배경/한글/프롬프트 충실도)은 비주얼팀 panel-validator가 렌더 중 생성-검증 루프로 거른다(ep{NN}_validation.md). quality-reviewer는 그 뒤 조립된 회차 전체를 검수하는 끝단 게이트로, validation.md의 ACCEPT-FLAG 패널을 먼저 파악하고 회차 흐름·반전·연속성·플래그 패널의 최종 수용에 집중한다.
| 항목 | 측정/판단 | PASS | FIX | REDO |
|---|---|---|---|---|
| 패널 수 50+ | PNG 개수 카운트 | ≥50 | — | <50(비트 분할 재작업) |
| 손상/0바이트/중복 | 바이트·PNG 헤더·md5 중복 | 모두 정상·고유 | 소수→재렌더 | 다수 손상/중복 |
| 외형 일관성 | refs/ 레퍼런스 대조·육안 | 유지 | 1~2칸 경미 | 인물 식별 깨짐 |
| 배경/장소 연속성 | scene_id↔location 대조 | 씬 내 일관 | 1~2칸 보정 | 씬 중 배경 급변 다발 |
| 말풍선·한글 텍스트 | 베이크 텍스트↔대본 대조 | 정확·가독 | 소수 오탈자/위치 | 대거 깨짐·오독 |
| 대사 흐름 | 인접 패널 이어 읽기 | 자연스러움 | 국소 손질 | 흐름 단절 |
| 반전 전달 | 대본↔패널↔베이크 대사 교차 | 드러남 | 단서 보강 | 반전 미전달 |
| 긴장 곡선 | 흐름·클리프행어 | 우상향+훅 | 늘어짐 손질 | 곡선 붕괴 |
workspace/05panels/ep{NN}/의 panel_*.png 개수를 센다.\x89PNG)로 헤더를 확인한다.md5 -r panel_*.png | awk '{print $1}' | sort | uniq -d — 비어야 정상(서로 다른 패널이 같은 이미지면 사고). EP01에서 실제 발생했으므로 필수. (참조: references/qa-checks.md)가장 비싼 실패는 단절이다: 대본(03episode/ep{NN}scriptfinal.md)·반전 설계(02story/twist-plan.md)엔 반전이 있는데 실제 패널/레터링엔 안 드러나는 경우. 항상 대본 ↔ 레터링 ↔ 패널을 교차로 본다 — 반전이 시각/대사로 표현됐는지, 복선이 앞 패널에 심겼는지.
대상·문제·조치·담당을 명시한다. 예: "panel_023 말풍선이 화자 얼굴을 가림 → 우상단 여백 이동 (담당: letterer/episode-compositor)". 모호어("어색함") 금지.
FIX/REDO는 담당 에이전트(배치→episode-compositor, 작화/외형/손상→panel-artist, 말풍선→letterer, 반전/대사→script-editor·twist-master)에게 보낸다. 루프는 최대 2회, 이후에도 REDO면 showrunner에 에스컬레이션.
왜: 회차가 쌓이면 외형·설정·떡밥이 어긋나기 쉽다. 단일 원장에 누적해야 다음 회차가 모순 없이 이어진다. continuity.md는 덮어쓰지 말고 회차별로 이어 쓴다(과거 상태를 알아야 모순을 잡는다).
추적할 원장:
정본은 02story/(characters/world/series-arc/twist-plan)와 04visual/ 시트다. 산출물이 정본과 충돌하면 산출물이 틀린 것으로 보거나 정본 갱신을 요청한다(임의 판단 금지, 양쪽 기록).
왜: 합격본은 그 자체로 열어보고 배포할 수 있어야 한다. RELEASE는 무엇이 포함됐는지(매니페스트)와 합격 근거, 다음 회차 시드를 함께 담는다.
사인오프 기준: qa_report.md(회차 내 품질)와 continuity.md(회차 간 연속성)를 동시에 만족해야 한다. REDO나 미해결 모순이 있으면 사인오프하지 않고 되돌린다.
_workspace/RELEASE/ep{NN}/ 구조:
RELEASE/ep{NN}/
index.html # 뷰어(상대경로가 깨지지 않게 panels/ 동봉 권장)
panels/ # 패널 PNG 사본(또는 안정적 참조)
qa_report.md # 품질 합격 근거
RELEASE_NOTES.md # 사인오프 판정 · 포함 목록 · 다음 회차 시드
RELEASE_NOTES.md에 적고, 시나리오팀(series-plotter·twist-master)에 넘긴다.workspace/06assembly/ep{NN}/index.html (episode-compositor)workspace/06assembly/ep{NN}/qa_report.md (quality-reviewer)workspace/06assembly/continuity.md (continuity-manager, 누적)_workspace/RELEASE/ep{NN}/ (showrunner)입력 경로: 패널 workspace/05panels/ep{NN}/panel.png, 레터링 workspace/04visual/ep{NN}lettering.md, 확정 대본 workspace/03episode/ep{NN}scriptfinal.md, 반전 설계 workspace/02story/twist-plan.md, 정본 workspace/02story/·workspace/04visual/*.
assets/viewer-template.html. 바로 쓰는 검증 명령은 references/qa-checks.md.