Skip to content

Dev#6

Merged
esillileu merged 563 commits intomainfrom
dev
Apr 2, 2026
Merged

Dev#6
esillileu merged 563 commits intomainfrom
dev

Conversation

@esillileu
Copy link
Copy Markdown
Contributor

No description provided.

esillileu and others added 30 commits March 19, 2026 17:29
comfyui_progress.py 신규 — WebSocket /ws 연결하여 progress 메시지 실시간 수신.
comfyui_client.py — wait_for_completion에서 WS 리스너 시작, 클래스 변수에 저장.
engine_server_helpers.py — HTTP 호출 대신 클래스 변수에서 읽기.

ComfyUI progress 메시지: {"type":"progress","data":{"value":15,"max":30}}
→ 프론트엔드: 15/30 steps (50%) 프로그레스 바 표시

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1. dashboard.html: lottie_info null-safe 체크 추가 (3곳)
2. engine_server_extra.py: /api/select_video 응답에 lottie_info 필드 추가
   (fps, frame_count, duration_ms, file_size_mb)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
원본 이미지(_processed.png)에서 캐릭터 실루엣을 추출하여 보호 마스크 생성.
배경 제거 시 보호 영역 내의 픽셀은 배경으로 판정하지 않음.
나비 날개 흰색 영역 등 배경과 동일 색상인 캐릭터 부분 보존.

동작: video stem에서 _a{N} 제거 → 같은 디렉토리의 .png 파일 탐색
→ flood-fill로 캐릭터 실루엣 추출 → bg_mask &= ~protect

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
기존 flood-fill 보호: 4.6% (날개 흰색 미포함 → 삭제됨)
알파 채널 보호: 35.9% (날개 흰색 완전 포함 → 보존)

원본 입력 이미지의 RGBA 알파 채널(alpha > 128 = 캐릭터)을 보호 마스크로 사용.
알파 없으면 기존 flood-fill 방식으로 fallback.
원본 이미지는 ~/ComfyUI/input/{base}.png에서 자동 탐색.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
preprocessing: 원본 RGBA 이미지의 투명 영역이 10% 이상이고
캐릭터(불투명) 평균 밝기 > 200이면 검은 배경(0,0,0), 아니면 흰색(255,255,255).
retry_state: bg_type="dark"일 때 검은 배경 WAN 프롬프트 (纯黑色背景).
orchestrator: preprocessing 반환값 bg_type을 analysis에 반영.

나비(밝은 날개+투명배경) → 검은 배경 → BG 제거 시 날개 흰색 완벽 보존.
물고기(불투명 배경) → 흰색 배경 (기존 동작 유지).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
대시보드에 Lottie 크기 슬라이더 추가 (기본 512px = 원본 크기).
/api/select_video에 target_size 파라미터 추가.
MultiFormatConverter.convert_with_opts() 메서드 추가.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
검은 배경(mean < 128)은 밝은 캐릭터와 색상 차이 충분하므로
보호 마스크 없이 flood-fill만으로 완벽 분리 가능.
보호 마스크는 흰색 배경 + 밝은 캐릭터일 때만 적용.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
_build_protect_mask, _find_original_input 함수 삭제.
_remove_bg_frame에서 protect 파라미터 제거.
검은 배경 전환으로 캐릭터/배경 색상 분리가 충분하므로 보호 마스크 불필요.
166줄 → 97줄.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
preprocessing: 캐릭터 픽셀과 가장 먼 색상을 5개 후보에서 자동 선택.
나비(흰+검정) → 마젠타(255,0,255), 거리 255.
retry_state: bg_type="chroma" 프롬프트 추가 (纯色背景).
WAN이 마젠타 배경을 유지하는지 테스트 필요.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
마젠타는 WAN에서 유지 안 됨 확인. 크로마키 그린(0,177,64)은
영상 업계 표준으로 유지 가능성 높음.
캐릭터와 거리 > 100이면 크로마키 그린 우선 선택.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
크로마키/검은배경 로직 제거. rembg AI 세그멘테이션 도입 준비.
- preprocessing.py: _detect_bg_color, _find_best_bg_color, _BG_CANDIDATES 삭제
- retry_state.py: "dark"/"chroma" 프롬프트 분기 삭제
- orchestrator.py: bg_type 반환값/주입 제거
WAN은 흰색 배경이 가장 안정적. BG 제거는 rembg로 전환 예정.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- bg_remover.py: RembgBgRemover 신규 (U2Net 시맨틱 세그멘테이션)
  흰 캐릭터 + 흰 배경 문제 해결, FfmpegBgRemover 레거시 보존
- engine_server: Lottie 내보내기 경로 중복 해소 (resolve_lottie)
- pyproject.toml: rembg>=2.0.50 의존성 추가
- YAML: bg_remover 설정 RembgBgRemover로 전환

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
esillileu and others added 29 commits March 24, 2026 04:50
…iscoverex/engine into feat/replay-fixture-variant-pack-sweep
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- 슬라이드 4: 마스크 생성 위치 Stage 2로 이동, 모듈 수 11개로 정정
- 슬라이드 5: Gemini Vision 액션 선정 흐름 명시
- 슬라이드 7: PilMaskGenerator 클래스명 반영
- 슬라이드 8: WAN 2.1 GGUF 3종 모델 명시
- 슬라이드 11: RembgBgRemover + MultiFormatConverter로 현행화
- 슬라이드 13: WAN 2.2 제거 반영
- 부록: 모듈 구조 설명, ComfyUI 12노드 흐름도 + 기능 설명 추가

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- WAN_I2V_ARCHITECTURE_AND_FLOW.md 신규: 제한사항/요구사항/해결방안 3축 정리,
  PPT용 간소화 파이프라인 아키텍처, 플로우차트(마스크 생성 단계 제거)
- WAN_I2V_PIPELINE_SUMMARY.md 신규: 전체 현황 요약
- PPT_WAN_I2V_PROJECT_HISTORY.md 수정: 현재 개발 버전 반영

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- 기존 58개 MD → docs/wan/OLD/ 이동 (로컬 참조용, git 제외)
- 헥사고널 이식 Phase 1~6 요약 (21개 → 1개)
- 이식 후 실전 개발 요약 (6개 → 1개)
- 개발 히스토리·설계 결정 (anim_pipeline README 기반)
- ComfyUI 설치 가이드 유지

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@esillileu esillileu merged commit 547c8a2 into main Apr 2, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants