Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
563 commits
Select commit Hold shift + click to select a range
f2d4f66
update: remove launcher-based execution path
esillileu Mar 19, 2026
3c100f3
fix: 프로그레스 바 실시간 표시 — ComfyUI WebSocket으로 step/total 수신
solidSnakesado Mar 19, 2026
d845bb9
docs: 프로그레스 바 실시간 표시 수정 보고서
solidSnakesado Mar 19, 2026
7a84c65
fix: lottie_info null 참조 에러 수정 + select_video에 lottie_info 추가
solidSnakesado Mar 19, 2026
28d3f07
docs: lottie_info null 참조 에러 수정 보고서
solidSnakesado Mar 19, 2026
207791a
feat: BG 제거 시 원본 이미지 마스크 보호 — 캐릭터 내부 흰색 보존
solidSnakesado Mar 19, 2026
14a4bf7
docs: BG 제거 원본 마스크 보호 기능 보고서
solidSnakesado Mar 19, 2026
64ae43b
fix: BG 제거 보호 마스크를 원본 알파 채널 기반으로 전환
solidSnakesado Mar 19, 2026
1aa135c
feat: 캐릭터 밝기 기반 배경색 자동 결정 — 밝은 캐릭터는 검은 배경
solidSnakesado Mar 19, 2026
1a8f00e
feat: Lottie 크기 슬라이더 — 120~512px 조절 가능
solidSnakesado Mar 19, 2026
da5353e
Merge branch 'feat/inpaint-variant-pack-experiment' into dev
esillileu Mar 19, 2026
eff4c32
chore: introduce ref/static-typing branch
esillileu Mar 19, 2026
dce4caa
docs: add 200-line refactor execution plan
esillileu Mar 19, 2026
7331479
refactor: split oversized engine modules
esillileu Mar 19, 2026
13ca42a
refactor: package infra register entrypoints
esillileu Mar 19, 2026
9b0a11b
fix: stabilize prefect runtime validation
esillileu Mar 19, 2026
129b42e
fix: 검은 배경일 때 보호 마스크 스킵 — 검은 잔여물 제거
solidSnakesado Mar 19, 2026
64d7590
refactor: 원본 마스킹 기능 완전 제거 — 순수 flood-fill만 사용
solidSnakesado Mar 19, 2026
5bee8f8
Merge branch 'ref/static-typing' into dev
esillileu Mar 19, 2026
f37a3d2
feat: 원본에 없는 색상 자동 선택 배경 — 마젠타/라임/블루 크로마키
solidSnakesado Mar 19, 2026
90e4094
fix: 크로마키 그린 우선 선택 — WAN 배경 유지율 개선
solidSnakesado Mar 19, 2026
8079fa5
chore: introduce fix/generation branch
esillileu Mar 19, 2026
94df400
revert: 배경색 자동 선택 제거 — 흰색 배경 고정으로 복원
solidSnakesado Mar 19, 2026
331be0c
update: surface hidden region transformer fallback diagnostics
esillileu Mar 19, 2026
7b896fa
update: add generate-verify-v2 patch similarity flow
esillileu Mar 19, 2026
62ffe9b
update: align generate-verify-v2 job spec ref with branch
esillileu Mar 19, 2026
9ffa284
feat: BG 제거 flood-fill → rembg(U2Net) 교체 + Lottie 내보내기 경로 수정
solidSnakesado Mar 19, 2026
339a278
update: normalize and cache patch similarity features
esillileu Mar 19, 2026
9503313
update: merge runtime extra env into worker environment
esillileu Mar 19, 2026
86d1d32
wip
esillileu Mar 19, 2026
5788393
update: support worker bootstrap skip and persistent venv reuse
esillileu Mar 20, 2026
80c0d98
update: add embedded fixed worker runtime
esillileu Mar 20, 2026
750e17c
update: run generate-verify spec inline on fixed worker
esillileu Mar 20, 2026
e160dcb
update: rebuild fixed worker image layout
esillileu Mar 20, 2026
b13caca
update: deploy embedded prefect flows without git source
esillileu Mar 20, 2026
9d08700
update: normalize embedded prefect entrypoints
esillileu Mar 20, 2026
b8ab0b2
update: register embedded prefect deployments with worker image
esillileu Mar 20, 2026
6fc7d05
update: clear docker flow image entrypoint
esillileu Mar 20, 2026
29c03e1
update: configure gpu docker flow job variables
esillileu Mar 20, 2026
69d1718
fix: KEYFRAME_ONLY Lottie 프레임 레이트 불일치 수정 — 프리뷰/내보내기 60fps 통일
solidSnakesado Mar 20, 2026
fac9a94
update: fix gpu docker deployment env assembly
esillileu Mar 20, 2026
1dfdf47
update: remove local tracking and storage defaults
esillileu Mar 20, 2026
6c1af99
fix: 모델 VRAM 표시 — 파라미터 크기별 분리 (14B/5B 개별 테이블)
solidSnakesado Mar 20, 2026
aaab717
update: harden worker prefect runtime
esillileu Mar 20, 2026
bc45a7f
update: make local tiny worker profile complete
esillileu Mar 20, 2026
639db40
update: package delivery bundle for worker runs
esillileu Mar 20, 2026
57a79de
update: embed delivery sources in worker image
esillileu Mar 20, 2026
db13007
update: keep tiny worker fx asset-ref compatible
esillileu Mar 20, 2026
a0f8baa
feat: 저VRAM 프로필 추가 — WAN 2.2 5B + GGUF 텍스트 인코더 (기존 코드 미변경)
solidSnakesado Mar 20, 2026
9287a67
fix: lowvram 워크플로우 VAE를 WAN 2.2 전용으로 교체 (48ch 채널 불일치 해결)
solidSnakesado Mar 20, 2026
8a22b04
docs: 저VRAM 프로필 보고서 갱신 — VAE 48ch 수정 + GGUF 실측 VRAM 반영
solidSnakesado Mar 20, 2026
0c2b5ec
update: align remote mlflow tracker with rest api
esillileu Mar 20, 2026
6687651
feat: WAN 2.1 lowvram 프로필 — 텍스트 인코더 CPU 오프로드로 VRAM ~4.5GB 절감
solidSnakesado Mar 20, 2026
9dadb10
feat: WAN 2.2 TI2V-5B 프로필 추가 — 8GB 이하 VRAM 환경 지원
solidSnakesado Mar 20, 2026
6e89acf
update: fix layerdiffuse decoder dtype and worker log follow
esillileu Mar 20, 2026
98d5307
update: switch real generate verify v2 to patch-only hidden region
esillileu Mar 20, 2026
a05f5f9
docs: 저VRAM 환경 모션 생성 조사 보고서 — WAN 2.2/GGUF/CPU오프로드/lowvram 전수 검토
solidSnakesado Mar 20, 2026
293ebed
update: tune verify-v2 layerdiffuse turbo object generation
esillileu Mar 20, 2026
aee5014
update: enable fp8 layerwise casting for verify-v2 layerdiffuse
esillileu Mar 20, 2026
082a3eb
update: lower verify-v2 object generation size to 384
esillileu Mar 20, 2026
5c68e4f
update: add object-only layerdiffuse flow
esillileu Mar 20, 2026
4be6284
update: switch object layerdiffuse to rootonchair pipeline
esillileu Mar 20, 2026
b8b0e64
update: add peft for rootonchair layerdiffuse
esillileu Mar 20, 2026
3b5756d
update: refresh lock for peft
esillileu Mar 20, 2026
8c324fb
update: switch object-only layerdiffuse to sd15 base
esillileu Mar 20, 2026
e1d7b33
update: fix sd15 layerdiffuse loader
esillileu Mar 20, 2026
ba72200
update: add einops for sd15 layerdiffuse
esillileu Mar 20, 2026
d6f9215
update: support sd15 prompt encoding
esillileu Mar 20, 2026
0567af8
update: convert sd15 tensor outputs to rgba
esillileu Mar 20, 2026
72bfb59
update: batch object generation at 512
esillileu Mar 20, 2026
f40a3c4
update: add staged layerdiffuse object flow
esillileu Mar 20, 2026
c629fee
update: run staged object flow with batch size 1
esillileu Mar 20, 2026
7e93427
update: restore vae decode stack for staged object flow
esillileu Mar 20, 2026
f4e241f
update: use realvisxl for object-only layerdiffuse
esillileu Mar 20, 2026
f0fd660
update: fix sdxl layerdiffuse prompt encoding
esillileu Mar 20, 2026
df811e4
update: load sdxl layerdiffuse lora into unet only
esillileu Mar 20, 2026
e858313
update: downgrade sdxl layerdiffuse offload to model
esillileu Mar 20, 2026
9b836d3
update: reuse object-only sdxl lora loading path
esillileu Mar 20, 2026
8eb4919
update: add hard gpu barriers between generate stages
esillileu Mar 20, 2026
93ea7d7
update: add standard sdxl layerdiffuse path
esillileu Mar 20, 2026
a2ca96f
update: add layerdiffuse stdout debug logs
esillileu Mar 20, 2026
17c8292
update: disable sequential offload for standard sdxl object generation
esillileu Mar 20, 2026
e860555
update: add component-staged sdxl layerdiffuse runtime
esillileu Mar 20, 2026
d8f9b60
update: log staged layerdiffuse runtime devices
esillileu Mar 20, 2026
79efe45
update: force staged layerdiffuse cuda execution device
esillileu Mar 20, 2026
977b419
update: split staged layerdiffuse component loading
esillileu Mar 20, 2026
f19ecd3
update: restore plain layerdiffuse object-only path
esillileu Mar 20, 2026
e04aa82
update: restore layerdiffuse object-only adapter
esillileu Mar 20, 2026
495f1f3
update: run object-only layerdiffuse with batch size 1
esillileu Mar 20, 2026
a6c5bf3
update: run generate-verify-v2 object generation at 384 batch 1
esillileu Mar 20, 2026
ecf267b
update: reload object generator per region in generate-verify-v2
esillileu Mar 20, 2026
866e527
update: add stdout tracing for generate verify v2
esillileu Mar 20, 2026
695471e
update: trace generate-verify-v2 and switch object model to sd15
esillileu Mar 20, 2026
dfe8db8
update: parallelize patch similarity selection
esillileu Mar 20, 2026
1d45983
update: pass through huggingface auth to worker
esillileu Mar 20, 2026
a142420
update: optimize patch similarity selection
esillileu Mar 20, 2026
7004e11
update: run generate verify object generation at 512
esillileu Mar 20, 2026
345ade1
fix: Retry Loop 메모리 누적 해제 — 시도 간 gc.collect() + 프레임 배열 즉시 해제
solidSnakesado Mar 20, 2026
e684b83
update: relax patch selection pruning
esillileu Mar 20, 2026
3fa2dec
chore: WAN 2.2 TI2V-5B 프로필 삭제 — 성능 이슈로 진행 취소
solidSnakesado Mar 20, 2026
40746f0
docs: ComfyUI 설치 가이드 정리 — anim_pipeline 분리 + VRAM별 실행 명령어 추가
solidSnakesado Mar 20, 2026
3a4fbc5
update: add realvisxl verify v2 worker spec
esillileu Mar 20, 2026
e7b7cae
update: stabilize patch similarity fallback
esillileu Mar 21, 2026
5eff9f9
update: log worker env summary
esillileu Mar 21, 2026
b460860
update: unify engine settings injection
esillileu Mar 21, 2026
99745fc
update: improve storage response diagnostics
esillileu Mar 21, 2026
f1b615a
update: add runtime service preflight
esillileu Mar 21, 2026
86e9392
update: add verify smoke job spec and deploy overrides
esillileu Mar 21, 2026
158e708
update: add verify smoke fixture assets
esillileu Mar 21, 2026
570e251
update: restore worker settings for artifact uploads
esillileu Mar 21, 2026
de29e64
update: add mlflow run and linkage diagnostics
esillileu Mar 21, 2026
bcae0e9
update: print mlflow diagnostics to stdout
esillileu Mar 21, 2026
d32f435
update: reuse resolved run settings across engine
esillileu Mar 21, 2026
926163c
update: remove hydra env overrides from runtime config
esillileu Mar 21, 2026
1c1bcb6
update: log flow and mlflow ids in final summary
esillileu Mar 21, 2026
888ea71
update: move orchestrator runtime logic out of contract
esillileu Mar 21, 2026
7fed093
update: document current flow topology
esillileu Mar 21, 2026
56b30fc
update: switch layerdiffuse objects to realvisxl v5
esillileu Mar 21, 2026
0c6588e
update: force sam masking for transparent objects
esillileu Mar 21, 2026
2c1fdc4
fix: RetryLoop logger 미정의 버그 수정 + WAN 문서 docs/wan/ 정리
solidSnakesado Mar 21, 2026
c366fbb
Merge branch 'wan/test' of https://github.com/discoverex/engine into …
solidSnakesado Mar 21, 2026
c9c7304
chore: 리모트에서 추가된 WAN md 3개도 docs/wan/으로 이동
solidSnakesado Mar 21, 2026
1b141ea
update: export intermediate generation artifacts
esillileu Mar 21, 2026
a6c0ef2
chore: .gitignore에 *.deb 추가 — 시스템 패키지 파일 추적 제외
solidSnakesado Mar 21, 2026
de84a7c
docs: Git 그래프 merge 분기 원인 기록
solidSnakesado Mar 21, 2026
c0fc379
update: normalize job spec naming
esillileu Mar 21, 2026
290dba3
update: trace genver2 object prompts and originals
esillileu Mar 21, 2026
7aa30ca
update: mount source repo and configurable worker runtime
esillileu Mar 21, 2026
a0f30b9
update: add worker runtime diagnostics
esillileu Mar 21, 2026
045bd42
fix: MOTION_NEEDED 키프레임 Lottie 60fps 업샘플링 — 프리뷰와 동일 품질
solidSnakesado Mar 21, 2026
7e9c690
update: mount only runtime source paths
esillileu Mar 21, 2026
2581a02
fix: Lottie 좌표 스케일링 + 캔버스 확장 — 프리뷰와 동일한 움직임 크기
solidSnakesado Mar 21, 2026
15a668d
fix: Lottie 네이티브 bezier 보간으로 전환 — LP0017 해결 + 끊김 제거
solidSnakesado Mar 21, 2026
37ee5d4
fix: fr=60 + float ip/op로 Lottie 프레임 끊김 해결
solidSnakesado Mar 21, 2026
40b6e3b
update: split worker model cache mount
esillileu Mar 21, 2026
a1a9fda
fix: 프리컴프 제거 → 직접 레이어 transform 베이크 — 끊김 해결
solidSnakesado Mar 21, 2026
f834443
fix: null parent 방식으로 변경 — 1개 animated + 64개 static 구조
solidSnakesado Mar 21, 2026
e309f9f
fix: fr 업샘플링 제거 — fr=16 + null parent가 가장 부드러움
solidSnakesado Mar 21, 2026
9bedc9c
update: align genobj runtime and worker artifacts
esillileu Mar 21, 2026
f37b999
update: fix hidden-object inpaint layering
esillileu Mar 21, 2026
1b44973
fix: 캔버스 확장 제거 — SVG 뷰포트 확대가 프레임 드롭 원인
solidSnakesado Mar 21, 2026
9cacc39
fix: fr=48(16×3) 정수배 업샘플링 — setSubframe 없이도 부드러운 재생
solidSnakesado Mar 21, 2026
d8dc396
fix: per-segment bezier → linear 보간 — 방향 전환 시 멈춤 해결
solidSnakesado Mar 21, 2026
8a50ec5
fix: 키프레임 속도 + 짤림 수정 — duration_ms 기반 타이밍 + 스케일링 제거
solidSnakesado Mar 21, 2026
bceb9b4
fix: translate 스케일링 복원 — canvas/objSize 비율로 프리뷰 일치
solidSnakesado Mar 21, 2026
9e5b4b0
feat: HTML 뷰어 내보내기 버튼 추가 — 프리뷰와 100% 동일 재생
solidSnakesado Mar 21, 2026
0882940
docs: Lottie 키프레임 통합 리포트 최종 업데이트
solidSnakesado Mar 21, 2026
e6d20a8
update: harden multi-object generate verify flow
esillileu Mar 22, 2026
3d08e3b
update: export and upload intermediate object artifacts
esillileu Mar 22, 2026
5460c03
update: preserve raw alpha in object masking
esillileu Mar 22, 2026
fd58b31
update: add fixed-background objectgen sweep setup
esillileu Mar 22, 2026
214c358
update: add fixed background fixture asset
esillileu Mar 22, 2026
80a72af
update: skip background generation for fixed asset sweeps
esillileu Mar 22, 2026
ba37061
update: align objectgen sweep naming and mlflow experiments
esillileu Mar 22, 2026
149f774
update: add single object debug flow for realvisxl5
esillileu Mar 22, 2026
1c223ea
update: remove outdated deploy clone path and add debug tracking
esillileu Mar 22, 2026
0becd7b
update: switch single object debug to realvisxl5 lightning
esillileu Mar 22, 2026
43b4e02
update: add artifact cli commands
esillileu Mar 22, 2026
5a20ac6
update: split layerdiffuse debug outputs and add obj-quality sweep
esillileu Mar 22, 2026
dcdec82
update: add base-vae single object debug flow
esillileu Mar 22, 2026
19ccde7
update: add sampler sweep for base-vae object debug
esillileu Mar 22, 2026
2ce925d
update: remove rootonchair transparent vae path
esillileu Mar 22, 2026
0938d7f
update: restore layerdiffuse object path and batch genver2 prompts
esillileu Mar 22, 2026
dfd716a
update: simplify layerdiffuse generation and add delivery bundle
esillileu Mar 22, 2026
ff04ff8
update: align realvisxl bg pipeline and patch selection
esillileu Mar 22, 2026
28ad07d
update: tune hidden object runtime and prompts
esillileu Mar 22, 2026
4fcfce8
update: add fixed replay inpaint sweep support
esillileu Mar 22, 2026
7c11a93
update: tune bg prompts and inpaint composition
esillileu Mar 22, 2026
03f87d9
update: add replay fixtures and tune inpaint sizing
esillileu Mar 22, 2026
f5e3fed
update: parallelize naturalness sweep execution
esillileu Mar 23, 2026
1431a8c
update: harden inpaint sweep step settings
esillileu Mar 23, 2026
1632cdc
update: switch exports to object-centric assets
esillileu Mar 23, 2026
483aef4
update: rework upscale modes and export artifacts
esillileu Mar 23, 2026
92f7044
fix: normalize custom realesrgan checkpoints
esillileu Mar 23, 2026
577f68c
fix: pass realesrgan model path as string
esillileu Mar 23, 2026
d21d8a6
feat: 소형 이미지 자동 업스케일링 — 200px 미만 스프라이트를 WAN 전처리 단계에서 업스케일
solidSnakesado Mar 23, 2026
49d44fb
fix: convert legacy esrgan checkpoints for ultrasharp
esillileu Mar 23, 2026
d1c646f
docs: WAN 모델 순차 로드/해제 VRAM 최적화 분석 문서 추가
solidSnakesado Mar 23, 2026
2cca705
update: drop ultrasharp and use realesrgan hiresfix
esillileu Mar 23, 2026
c0bec87
update: sync docs with current engine runtime
esillileu Mar 23, 2026
9618aa1
feat: Real-ESRGAN AI 초해상도 업스케일러 구현 — PIL 보간 → Spandrel 교체
solidSnakesado Mar 23, 2026
8be85aa
docs: Real-ESRGAN AI 초해상도 업스케일러 구현 리포트 추가
solidSnakesado Mar 23, 2026
3aa33ad
fix: animate extra에 flask, flask-cors 의존성 추가
solidSnakesado Mar 23, 2026
15aab53
fix: animate extra에 onnxruntime 의존성 추가 — rembg 백엔드 누락 해결
solidSnakesado Mar 23, 2026
50137a1
chore: WAN 2.2 5B 모델 잔여 참조 제거 — 워크플로우 삭제 + 5B VRAM 테이블 제거
solidSnakesado Mar 23, 2026
f1d2446
fix: RGBA 투명 배경 → 검은 박스 문제 해결 — 업스케일 전 흰색 배경 합성
solidSnakesado Mar 23, 2026
9579532
docs: RGBA 투명 배경 검은 박스 버그 수정 내용 리포트에 추가
solidSnakesado Mar 23, 2026
449bec0
feat: Lottie 변환 시 원본 이미지 크기 자동 적용 — 480x480 대신 원본 크기로 출력
solidSnakesado Mar 23, 2026
837e6c2
fix: Lottie 크기 슬라이더 제거 — 원본 이미지 크기로 자동 결정
solidSnakesado Mar 23, 2026
58e070d
docs: Lottie 원본 이미지 크기 자동 적용 리포트 추가
solidSnakesado Mar 23, 2026
b0afeae
feat: Lottie 캔버스에 투명 배경 여백 추가 — 이미지 크기 유지, 캔버스 1.5배 확장
solidSnakesado Mar 23, 2026
30ebd13
feat: Lottie 기준점을 이미지 좌상단(left-top)으로 변경
solidSnakesado Mar 23, 2026
b1d4552
docs: Lottie 캔버스 확장 + 좌상단 기준점 구현 리포트 추가
solidSnakesado Mar 23, 2026
1eff692
fix: Lottie 캔버스를 480x480 고정 — 이미지 원본 크기 유지, 기준점 좌상단
solidSnakesado Mar 23, 2026
8a55735
fix: KEYFRAME_ONLY Lottie 응답에도 캔버스 크기와 원본 크기 정확히 반환
solidSnakesado Mar 23, 2026
efd311b
docs: Lottie 캔버스 480 고정 + 두 경로 적용 확인 내용 리포트 업데이트
solidSnakesado Mar 23, 2026
9102a94
feat: Lottie 캔버스를 원본 비율 × 배수로 변경 — canvas_scale=4.0 (기본)
solidSnakesado Mar 23, 2026
4471a44
update: restore delivery manifest and patch selection artifacts
esillileu Mar 23, 2026
f2f99a6
sample
esillileu Mar 23, 2026
d01ba63
docs: Lottie 캔버스 원본 비율 × 배수 변경 내용 리포트 업데이트
solidSnakesado Mar 23, 2026
6af3541
update: use normalized object alpha after mask setup
esillileu Mar 23, 2026
abba6fa
fix: Lottie 프레임을 오브젝트 bbox 크롭 후 원본 크기로 리사이즈
solidSnakesado Mar 23, 2026
b329e4e
docs: bbox 크롭 + 업스케일링 경로 확인 내용 리포트 업데이트
solidSnakesado Mar 23, 2026
f258f2f
fix: Lottie bbox를 전체 프레임 통합으로 변경 — 모션 중 날개 잘림 방지
solidSnakesado Mar 23, 2026
64c84b7
docs: 전체 프레임 통합 bbox 잘림 방지 내용 리포트 업데이트
solidSnakesado Mar 23, 2026
dd23920
Merge branch 'fix/obj-gen' into dev
esillileu Mar 23, 2026
27ee2ca
chore: introduce feat/object-quality-sweep branch
esillileu Mar 23, 2026
2d53c27
ops: reorganize job specs and sweep registry
esillileu Mar 23, 2026
1ee7a72
feat: add object generation quality sweep tooling
esillileu Mar 23, 2026
3ec736a
test: cover object generation sweep workflow
esillileu Mar 23, 2026
db141a4
ops: switch prefect deployment naming to purpose-based targets
esillileu Mar 23, 2026
3ae453e
feat: expand object quality sweep policy controls
esillileu Mar 23, 2026
8614437
test: cover object sweep queue and prompt policies
esillileu Mar 23, 2026
ca952f9
feat: classify object sweep runs by prefect state
esillileu Mar 23, 2026
d16624f
test: cover object sweep prefect state collection
esillileu Mar 23, 2026
ea44206
Merge branch 'feat/object-quality-sweep' into dev
esillileu Mar 23, 2026
e336e90
feat: add prefect run aliases for standard job specs
esillileu Mar 23, 2026
40bbe72
docs: update prefect deployment and cli guidance
esillileu Mar 23, 2026
d0cfdf9
chore: introduce feat/prefect-ops-sweep-surface branch
esillileu Mar 23, 2026
bed4e03
feat: add infra ops prefect control plane
esillileu Mar 23, 2026
2cd84c2
test: update prefect ops and sweep coverage
esillileu Mar 23, 2026
eff67d2
docs: document prefect ops sweep workflow
esillileu Mar 23, 2026
fa250b7
chore: merge feat/prefect-ops-sweep-surface into dev
esillileu Mar 23, 2026
47ea451
docs: trim legacy sweep readme
esillileu Mar 23, 2026
b7ff869
docs: remove legacy sweep readme
esillileu Mar 23, 2026
171777d
docs: remove legacy register sweep readme
esillileu Mar 23, 2026
050ea5e
chore: introduce feat/replay-fixture-variant-pack-sweep branch
esillileu Mar 24, 2026
ab123d7
feat: add replay fixture sweep support
esillileu Mar 23, 2026
1103e2d
docs: update prefect run and sweep usage
esillileu Mar 23, 2026
debdc8d
test: cover generic sweep and replay fixture flows
esillileu Mar 23, 2026
2882021
fix: expand replay sweep tracking metrics
esillileu Mar 24, 2026
5d55d3e
test: cover expanded replay tracking metrics
esillileu Mar 24, 2026
5123bcd
fix: repair replay fixture variant pack flow and tracking labels
esillileu Mar 24, 2026
b6fe435
test: cover replay fixture variant pack regressions
esillileu Mar 24, 2026
5f416c4
fix: lower batch queue priority defaults
esillileu Mar 24, 2026
43538e6
Merge branch 'feat/replay-fixture-variant-pack-sweep' of github.com:d…
esillileu Mar 24, 2026
a70dfcf
docs: WAN I2V 도입 전후 프로젝트 진행 이력 PPT 구성안 작성
solidSnakesado Mar 24, 2026
0619c02
docs: PPT 구성안 VAE latent 채널 불일치 설명 보완 (48ch vs 16ch)
solidSnakesado Mar 24, 2026
f6ea906
docs: PPT 구성안에 프로젝트 목표/개요 요약 및 파이프라인 5단계 추가
solidSnakesado Mar 24, 2026
0545a35
docs: 환경변수 예시 파일 추가 (env_exam)
solidSnakesado Mar 24, 2026
9f970ca
docs: PPT 구성안 현재 개발 버전에 맞게 전체 수정
solidSnakesado Mar 24, 2026
4bfaaaf
update: track generate_verify_v2 stages as prefect tasks
esillileu Mar 24, 2026
a6a7b3e
docs: WAN I2V 아키텍처·플로우·현황 요약 문서 추가 및 PPT용 간소화
solidSnakesado Mar 24, 2026
6b244f7
Merge branch 'feat/replay-fixture-variant-pack-sweep' into dev
esillileu Mar 25, 2026
edbce02
Merge branch 'wan/test' into dev
esillileu Mar 25, 2026
6b6ae95
fix: resolve lock
esillileu Mar 25, 2026
0da4055
docs: WAN 개발 문서 58개를 4개 요약 문서로 통합 정리
solidSnakesado Mar 25, 2026
965829c
Merge remote-tracking branch 'origin/wan/test' into dev
esillileu Mar 25, 2026
90f5f13
docs: pre-release cleanup
esillileu Mar 25, 2026
6f26930
docs: pre-release-cleanup
esillileu Mar 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
45 changes: 45 additions & 0 deletions .context/architecture.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Discoverex Architecture & Module Organization

이 문서는 Discoverex 프로젝트의 아키텍처 설계와 모듈 구성의 기준을 정의합니다.

## 1. 헥사고널 아키텍처 (Hexagonal Layout)

이 프로젝트는 헥사고널 아키텍처를 따르며, 도메인 로직과 외부 어댑터를 명확히 분리합니다.

- `src/discoverex/domain`: 캐논 DTO, 불변식, 도메인 서비스 (SSOT)
- `src/discoverex/application/ports`: 모델/스토리지/트래킹/IO/리포팅 인터페이스
- `src/discoverex/application/use_cases`: 파이프라인 오케스트레이션 로직 (`generate`, `verify`, `animate`)
- `src/discoverex/adapters/inbound/cli`: Typer CLI 진입점 (`discoverex`)
- `src/discoverex/adapters/outbound`: 외부 연동 구현체 (HF 모델, MinIO, MLflow 등)
- `src/discoverex/bootstrap`: Hydra 설정을 기반으로 애플리케이션 컨텍스트 조립 (Composition Root)

## 2. 핵심 원칙

- **Scene 중심**: Scene이 시스템의 루트 엔티티이며 모든 파이프라인의 기준입니다.
- **포트 의존성**: 유스케이스는 포트 인터페이스에만 의존하며, 구체적인 어댑터 구현을 직접 참조하지 않습니다.
- **설정 기반 조립**: Hydra 설정을 통해 실행 시점에 어댑터를 동적으로 교체합니다.
- **불변성 유지**: 도메인 객체는 불변식을 유지하며, 어댑터는 캐논 세만틱을 변경할 수 없습니다.

## 3. 모듈 및 레이어링 가이드

- **파일당 단일 책임**: 각 파일은 하나의 책임만 가지며, 200라인 이하 유지를 권장합니다.
- **캡슐화**: `__init__.py`를 적극 활용하여 패키지 내부를 캡슐화하고 안정적인 임포트 경로를 제공합니다.
- **어댑터 분리**: 외부 라이브러리(Transformers, PyTorch 등) 의존성은 반드시 `adapters/outbound` 내부의 특정 어댑터에만 국한시킵니다.

## 4. 제거된 레거시 레이어 (Hard-cut)

아래 레이어들은 더 이상 사용되지 않으며, 새로운 구조로 대체되었습니다.
- `src/discoverex/pipelines`
- `src/discoverex/cli` -> `adapters/inbound/cli`로 이동
- `src/discoverex/generation`
- `src/discoverex/verification`
- `src/discoverex/ux`
- `src/discoverex/storage`
- `src/discoverex/tracking`

## 5. 설정 구조 (Hydra)

`conf/` 디렉토리는 어댑터와 모델의 조립 방식을 정의합니다.
- `conf/models/`: 모델 어댑터 설정 (hidden_region, inpaint, perception, fx)
- `conf/adapters/`: 인프라 어댑터 설정 (artifact_store, metadata_store, tracker)
- `conf/*.yaml`: 실행 파이프라인별 기본 설정 조합
310 changes: 310 additions & 0 deletions .context/canon.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,310 @@
# Discoverex Scene Canonical Spec v1 (엄밀 정의)

> 목적

* 생성/검증/UX/학습 준비 전 파이프라인이 공통으로 사용하는 **단일 Scene 표현**
* 파이프라인 조합이 늘어나도 흔들리지 않는 **전역 계약(Contract)**
* 현재 버전은 **Region-first + bbox-only**

## 실행 책임 경계

* 엔진은 flow 정의, CLI, execution contract, execution context preparation을 소유한다.
* Prefect가 직접 모니터링하는 대상은 엔진의 `run-engine-job` flow다.
* deployment 등록, worker/work pool/queue 운영, scheduling, 외부 job submission은 운영 계층 책임이다.

---

## 1) 용어

* Scene: 배경 + 배치된 구성 + 목표/정답 + 검증 결과를 포함한 퍼즐 아이템 1개
* Region: Scene 좌표계 상의 2D 영역. 현재는 bbox만 사용
* AssetRef: 파일/오브젝트스토리지/URL 등 외부 저장소의 참조 문자열
* Signals: 스코어 산출에 사용된 요약 신호(수치/카운트/간단 통계). 상세 정책은 비포함

---

## 2) 전역 불변 조건(Invariants)

* Scene은 항상 `scene_id`와 `version_id`를 가진다
* 좌표는 **background 이미지의 절대 픽셀 좌표계** 기준이다
* Region geometry는 현재 **bbox-only**
* Answer는 **Region 기반**이다: `answer.answer_region_ids`가 정답의 유일한 판정 기준이다
* Verification은 score 중심이며, `final.pass`는 `logical.pass`와 `perception.pass`에 의해 결정된다(결정 정책 자체는 외부 정책)
* `meta.model_versions`는 실행에 사용된 모델/컴포넌트 버전을 기록한다

---

## 3) 데이터 타입

* `ID`: 문자열. 충돌 방지 목적(예: ULID/UUID). 구체 포맷은 미정
* `Timestamp`: ISO 8601 문자열
* `Score`: 실수(float). 범위는 정책에 의해 정의
* `PassFlag`: boolean
* `JsonDict`: JSON object
* `StringMap`: `{ string: string }`

---

## 4) 최상위 구조

### 4.1 Scene

필수 필드:

* `meta: Meta`
* `background: Background`
* `regions: Region[]` (빈 배열 허용. 단, answer가 존재하면 해당 region_id는 존재해야 함)
* `composite: Composite` (최소 final_image_ref 필요)
* `goal: Goal` (구조만. 정책 상세 미정)
* `answer: Answer`
* `verification: VerificationBundle`
* `difficulty: Difficulty`

선택 필드:

* `objects: ObjectGroup[]` (의미/관계용 grouping. 판정 기준 아님)

---

## 5) Meta

### 5.1 Meta

필수:

* `scene_id: ID`
* `version_id: ID`
* `status: "candidate" | "approved" | "failed"`
* `pipeline_run_id: ID` (해당 Scene version을 생성/갱신한 실행 단위)
* `config_version: string` (생성/검증 정책 묶음 버전. 예: "v1")
* `model_versions: StringMap` (키 예: "hidden_region", "inpaint", "perception", "fx")
* `created_at: Timestamp`
* `updated_at: Timestamp`

권장(옵션):

* `parent_version_id?: ID` (편집/재생성 등으로 파생된 경우)
* `tags?: string[]` (목표 유형 등 검색용)
* `notes?: string` (사람 메모)

불변:

* `scene_id`는 동일 퍼즐 아이템 계열에서 고정, `version_id`는 변경마다 새로 발급

---

## 6) Background

### 6.1 Background

필수:

* `asset_ref: AssetRef`
* `width: int` (px)
* `height: int` (px)

권장(옵션):

* `metadata?: JsonDict` (촬영/출처/라이선스/해상도 등)

---

## 7) Region

### 7.1 Region

필수:

* `region_id: ID`
* `geometry: Geometry`
* `role: "candidate" | "distractor" | "answer" | "object"`
* `source: "candidate_model" | "inpaint" | "fx" | "manual"`
* `attributes: JsonDict` (예: 점수, 임베딩, occlusion ratio 등)
* `version: int` (region 자체 변경 카운트. Scene version과 별개)

선택:

* `linked_object_id?: ID` (ObjectGroup과 연결)

불변/제약:

* geometry 좌표는 background 기준
* bbox는 이미지 경계를 넘지 않는 것을 권장(필수 여부는 정책)

### 7.2 Geometry (bbox-only)

필수:

* `type: "bbox"`
* `bbox: BBox`

미래 확장 슬롯(미구현, 저장만 가능):

* `mask_ref?: AssetRef`

### 7.3 BBox

필수:

* `x: float`
* `y: float`
* `w: float`
* `h: float`

의미:

* (x, y)는 좌상단 기준
* w/h는 양수
* 단위는 px

---

## 8) ObjectGroup (선택)

### 8.1 ObjectGroup

목적:

* 관계/의미 목표에서 여러 region을 하나의 “개념적 객체”로 묶기 위한 보조 구조
* 판정은 region 기준이므로 없어도 됨

필수:

* `object_id: ID`
* `region_ids: ID[]` (해당 Scene.regions에 존재해야 함)

선택:

* `type?: string`
* `properties?: JsonDict`

---

## 9) Composite

### 9.1 Composite

필수:

* `final_image_ref: AssetRef`

권장(옵션):

* `render_meta?: JsonDict` (합성 파라미터 요약, 레이어 링크 등)

---

## 10) Goal

### 10.1 Goal

필수:

* `goal_type: "relation" | "count" | "shape" | "semantic"`
* `constraint_struct: JsonDict` (정책 미정. 구조만 담는다)
* `answer_form: "region_select" | "click_one" | "click_multiple"`

선택:

* `scope_region_ids?: ID[]` (목표 적용 범위를 특정 region 집합으로 제한)

불변:

* Goal은 “검증 가능하도록 구조화된 정보”를 담는다. 문장 여부는 비중요

---

## 11) Answer

### 11.1 Answer

필수:

* `answer_region_ids: ID[]`
* `uniqueness_intent: true`

제약:

* `answer_region_ids`는 Scene.regions 내 region_id의 부분집합
* 현재 기본은 단일 정답을 목표로 하나, 수량 목표를 위해 복수 region도 허용
* 단, 정답 집합 자체는 1개로 수렴해야 함(유일성)

---

## 12) Verification

### 12.1 VerificationBundle

필수:

* `logical: VerificationPart`
* `perception: VerificationPart`
* `final: VerificationFinal`

### 12.2 VerificationPart

필수:

* `score: Score`
* `pass: PassFlag`
* `signals: JsonDict` (예: 후보 수, 혼동 위험 수치 등. 상세 정책은 비포함)

### 12.3 VerificationFinal

필수:

* `total_score: Score`
* `pass: PassFlag`
* `failure_reason: string` (pass면 "" 허용)

제약:

* `failure_reason`는 사람이 읽을 수 있는 요약 문자열
* 별도의 표준 코드 체계는 추후 확정(현재는 string)

---

## 13) Difficulty

### 13.1 Difficulty

필수:

* `estimated_score: Score`
* `source: "rule_based" | "learned"`

권장(옵션):

* `calibration_version?: string`

---

## 14) 저장/참조 규칙(최소)

* Scene은 **단일 JSON**으로 직렬화 가능해야 함
* AssetRef는 다음 중 하나를 지원

* 로컬 경로(개발)
* S3/MinIO 경로(협업)
* 기타 URL
* 권장 디렉토리 규칙(로컬 기준)

* `artifacts/scenes/{scene_id}/{version_id}/scene.json`
* `.../composite.png`
* `.../verification.json` (scene.json에서 파생 가능)

---

## 15) 버전 업그레이드 규칙

* 스키마 변경 시 `config_version`과 별도로 `schema_version` 필드 도입 가능
* v1에서는 schema_version 생략(암묵 v1)

---

## 16) 비목표(명시)

* 세그멘테이션(mask) 계산/판정 로직은 v1에서 구현하지 않는다
* constraint_struct 내부 구조/정책(임계값/규칙)은 본 문서 범위가 아니다
* 모델 학습/데이터셋 설계는 본 문서 범위가 아니다
tmuix
39 changes: 39 additions & 0 deletions .context/capabilities.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Discoverex Current Capabilities & Specs

이 문서는 현재 엔진이 실제로 수행할 수 있는 능력과 구체적인 동작 방식, 그리고 제품화를 위해 해결해야 할 기술적 공백을 정의합니다.

## 1. 현재 실행 능력 (Verified Path)

현재 엔진은 오케스트레이션과 인프라 연동 측면에서 아래의 경로를 안정적으로 지원합니다.

- **실행 체인**: `Job Spec -> Prefect Run -> Worker 실행 -> MinIO 저장 -> MLflow 기록`
- **산출물 보장**: `scene.json`, `verification.json`, `composite.png` 등 캐논 산출물 번들 생성 및 영속화.
- **운영 모드**: 로컬(Local) 및 워커(Worker) 모드 전환 지원. 워커 모드에서는 MinIO와 원격 MLflow 서버를 사용합니다.

## 2. 생성 파이프라인 (`generate`) 상세 동작

`generate` 명령은 `background_asset_ref`를 입력받아 아래 단계로 동작합니다.

1. **Background 조립**: 입력된 참조(Ref)를 바탕으로 베이스 레이어를 생성합니다. (배경 직접 생성은 미지원)
2. **Hidden Region 생성**: 배경 이미지에서 오브젝트가 배치될 후보 영역(BBox)을 추론하거나 고정 레이아웃을 사용합니다.
3. **Region별 Inpaint**: 각 후보 영역을 자연스럽게 메우는 인페인팅을 수행합니다. (현재 프롬프트는 고정 문자열 사용)
4. **Scene 골격 조립**: 생성된 리전들과 정답(첫 번째 리전으로 고정), 목표(Goal) 정보를 결합하여 `Scene` 객체를 만듭니다.
5. **Composite / FX**: 최종 결과물을 합성하고 FX 효과를 적용합니다. (현재 일부 모델은 Placeholder PNG를 생성)
6. **Verification**: 생성된 씬의 논리적/지각적 점수를 측정하고 통과 여부를 판정합니다.

## 3. 기술적 공백 및 제약 사항 (Gaps & Placeholders)

현재 엔진은 "실행 가능한 프레임워크"로서 기능하며, 생성 품질 측면에서는 아래와 같은 Placeholder가 존재합니다.

- **배경 생성 부재**: 텍스트 프롬프트로 배경을 직접 생성하지 않으며, 외부 참조 이미지에 의존합니다.
- **프롬프트 계획 부재**: 유스케이스(관계, 수량 등)에 따른 세만틱 프롬프트 계획 없이 고정된 문자열을 사용하여 오브젝트를 생성합니다.
- **최종 렌더링 한계**: FX 단계에서 실제 고품질 합성 대신 기술적 산출물 요건만 충족하는 Placeholder 이미지가 생성될 수 있습니다.
- **정답 고정 규칙**: 현재는 "추론된 첫 번째 후보가 항상 정답"이라는 파이프라인 규칙을 따릅니다.

## 4. 품질 지표의 의미

최근 검증 실행에서 `scene status=failed`가 발생하는 것은 시스템 오류가 아니라 **품질 게이트(Quality Gate) 탈락**을 의미합니다. 이는 현재 생성 파이프라인의 Placeholder 성격으로 인해 지각적 점수(Perception Score)가 낮게 측정되는 자연스러운 결과입니다.

## 5. 참고 문서
- 아키텍처 및 도메인 모델: `.context/architecture.md`
- 상세 캐논 규격: `.context/canon.md`
Loading
Loading