작성자: 이소윤
1. 오늘의 목표 (Plan)
- [x] GCP GPU worker를 실제 생성 경로로 안정화한다.
- [x] 로컬 앱과 원격 worker 연결을 복구해 fallback 비율을 낮춘다.
- [x] 배경을 주방/다이닝 중심으로 정리하고, 상품이 식탁 위에 자연스럽게 놓이도록 배치 품질을 개선한다.
- [x] 상품 정체성 유지, 스케일/원근/접지감 문제를 줄인다.
2. 오늘 내가 한 일 (Work Done)
- [86bd97d] 상품 분석 출처(analysisSource)와 이미지 fallback 경로를 추가했다. product-analyzer와 결과 패널에 provenance를 노출하고, 생성 실패 시 이미지 fallback 메타를 남기도록 정리했다. 근거: 생성 파이프라인 상태를 먼저 관측 가능하게 만들 필요가 있었음.
- [2cfe8a0] 원격 worker 호출 시 로컬 파일 경로 대신 이미지 payload 자체를 전달하도록 바꿨다. 업로드 이미지와 스타일 레퍼런스를 data URL로 보내는 구조로 수정했다. 근거: GCP VM이 로컬 파일시스템을 못 봐서 생성이 실패하던 문제를 해결해야 했음.
- [0f749fb] 원격 image worker 추론 시 scheduler 상태 꼬임으로 나던 500 오류를 줄이기 위해 추론 직렬화, scheduler reset, runtime error 기록을 추가했다. 근거: worker가 실제 생성 단계에서 안정적으로 끝까지 응답하도록 만드는 것이 우선이었음.
- [9083d8f] 원격 VM에 저장된 생성 이미지를 로컬 앱이 프록시해 받아오도록 /api/storage-asset 경로를 수정했다. 동시에 프롬프트 길이를 줄여 CLIP truncation을 완화했다. 근거: worker는 200을 반환했지만 화면에서 이미지를 못 띄우던 문제를 해결해야 했음.
- [94bbf4d] 상품 정체성을 유지하기 위해 생성 장면 위에 원본 상품을 다시 합성하는 identity lock 경로를 추가했다. 기존 단순 fallback 합성을 제거하고 worker 생성 경로 중심으로 정리했다. 근거: 상품이 다른 물건으로 변형되는 현상을 막아야 했음.
- [f79ff25] 상품 배치 스케일과 중복 금지 규칙을 하드코딩 대신 상품 분석 정보 기반으로 동적으로 계산하도록 바꿨다. 근거: 카테고리별 특성과 입력 상품 특성에 따라 배치가 달라져야 했음.
- [f04d717] .next 충돌로 dev 서버 CSS가 꼬이던 문제를 줄이기 위해 npm run dev:3014 스크립트를 추가했다. 근거: 로컬 확인 루프를 안정화해야 반복 테스트가 가능했음.
- [2d98783] 배경 생성 프롬프트를 주방/다이닝 테이블 중심으로 강하게 유도하도록 수정했다. 거실/응접실/창가 풍경 쪽으로 빠지는 경향을 줄였다. 근거: 서비스 도메인에 맞는 배경을 먼저 안정화해야 했음.
- [00a24f3] 생성 seed와 asset 응답 캐시를 정리해, 프롬프트를 바꿨는데도 예전 이미지가 계속 재사용되는 문제를 줄였다. 근거: 재생성 결과가 실제 변경을 반영하지 않던 현상을 해소해야 했음.
- [3e5a408] 결과 이미지를 4장 대신 3장으로 줄이고, 식탁 위 앵커 중심 배치로 수정했다. 근거: 레이턴시를 줄이고, 사용자가 실제로 보는 결과를 단순화할 필요가 있었음.
- [e6a4a0e] rembg와 onnxruntime을 도입해 상품 누끼를 더 안정적으로 따도록 했다. 근거: 직사각형 합성 흔적과 배경 잔존 문제를 줄이기 위한 선행 작업이었음.