feat: imagegen2 아이콘·글리프·일러스트 생성 후 GUI 전면 적용 (투명 배경)
codex noninteractive + imagegen2로 앱 비주얼 에셋 일괄 생성, 코드 생성 차단 (gen-one.sh: FORBID 블록 + 코드파일 감지 + 재시도). 모든 산출물은 플러드필 배경 제거로 진짜 알파 투명 PNG화. 생성 에셋 (assets-gen/): - app-master: 앱 아이콘 마스터 (사이클 화살표, 솔리드 타일 유지) - 카테고리 글리프 8종: image/video/audio/document/data/vector/archive/ai - 일러스트 2종: illus-empty(드롭존), illus-done(완료) - logo-mark: 브랜드 마크 GUI 적용: - 사이드바 헤더 브랜드 → logo-mark - 드롭존 빈 상태 → illus-empty - QuickProgressWindow 완료 → illus-done - AI 작업 패널 → glyph-ai 스파클 - 큐/과거결과 행 라벨 아이콘 → 카테고리 글리프 (CategoryGlyphs 매핑) - 미리보기 placeholder → 형식별 카테고리 글리프 (경고 대신) 앱 아이콘: - app.ico (멀티 크기 16~256) + 윈도우 Icon - MSIX 타일 4종(Square44/150·Wide310·Store) app-master 기반 갱신 - Package 버전 1.0.2.0
BIN
assets-gen/app-master.png
Normal file
|
After Width: | Height: | Size: 1.5 MiB |
55
assets-gen/gen-one.sh
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
#!/usr/bin/env bash
|
||||
# gen-one.sh NAME "PROMPT BODY"
|
||||
# codex imagegen2로 단일 PNG 생성. 코드 파일(.py/.svg/.html/.js)을 쓰면 실패로 보고 최대 3회 재시도.
|
||||
set -u
|
||||
NAME="$1"
|
||||
BODY="$2"
|
||||
ROOT="D:/workspace/Everything2Everthing/assets-gen"
|
||||
DEST="$ROOT/$NAME.png"
|
||||
|
||||
for attempt in 1 2 3 4; do
|
||||
WORK="$(mktemp -d)"
|
||||
# 깨끗한 작업 폴더에서만 쓰게 하고, 결과는 out.png 한 장으로 강제
|
||||
PROMPT=$(cat <<PROMPT
|
||||
You have an image generation tool available (imagegen / image_gen). Use it now.
|
||||
|
||||
TASK: Generate a single PNG image and save it in the current working directory as exactly "out.png".
|
||||
|
||||
IMAGE DESCRIPTION:
|
||||
$BODY
|
||||
|
||||
ABSOLUTE RULES — violating any of these is a hard failure:
|
||||
- You MUST call the image generation tool to produce the picture.
|
||||
- DO NOT write, create, or edit ANY code file of ANY kind: no .py, .svg, .html, .js, .ts, .sh, .json, no Python, no PIL/Pillow, no matplotlib, no cairo, no SVG markup, no canvas, no ASCII art.
|
||||
- DO NOT try to "draw" or "render" the image with code. If you are even slightly tempted to script it, STOP and use the image generation tool instead.
|
||||
- The ONLY file that may exist when you finish is out.png produced by the image generation tool.
|
||||
- After saving, reply with just: DONE
|
||||
PROMPT
|
||||
)
|
||||
echo "$PROMPT" | codex exec --skip-git-repo-check --sandbox workspace-write -C "$WORK" --ephemeral - >/dev/null 2>&1
|
||||
|
||||
# 코드 파일을 썼는지 검사
|
||||
CODE=$(find "$WORK" -type f \( -name '*.py' -o -name '*.svg' -o -name '*.html' -o -name '*.js' -o -name '*.ts' -o -name '*.sh' \) 2>/dev/null | head -1)
|
||||
PNG=$(find "$WORK" -type f -name '*.png' 2>/dev/null | head -1)
|
||||
|
||||
if [ -n "$CODE" ]; then
|
||||
echo "[$NAME] attempt $attempt: codex wrote CODE ($CODE) — reject, retry"
|
||||
rm -rf "$WORK"; continue
|
||||
fi
|
||||
if [ -z "$PNG" ]; then
|
||||
echo "[$NAME] attempt $attempt: no PNG produced — retry"
|
||||
rm -rf "$WORK"; continue
|
||||
fi
|
||||
# 너무 작은 PNG(코드로 만든 단색/플레이스홀더)도 거부
|
||||
SZ=$(stat -c%s "$PNG" 2>/dev/null || echo 0)
|
||||
if [ "$SZ" -lt 120000 ]; then
|
||||
echo "[$NAME] attempt $attempt: PNG too small ($SZ bytes) — likely synthetic, retry"
|
||||
rm -rf "$WORK"; continue
|
||||
fi
|
||||
cp "$PNG" "$DEST"
|
||||
echo "[$NAME] OK ($SZ bytes) -> $DEST"
|
||||
rm -rf "$WORK"
|
||||
exit 0
|
||||
done
|
||||
echo "[$NAME] FAILED after retries"
|
||||
exit 1
|
||||
BIN
assets-gen/glyph-ai.png
Normal file
|
After Width: | Height: | Size: 2.1 MiB |
BIN
assets-gen/glyph-archive.png
Normal file
|
After Width: | Height: | Size: 2.5 MiB |
BIN
assets-gen/glyph-audio.png
Normal file
|
After Width: | Height: | Size: 2.2 MiB |
BIN
assets-gen/glyph-data.png
Normal file
|
After Width: | Height: | Size: 2.4 MiB |
BIN
assets-gen/glyph-document.png
Normal file
|
After Width: | Height: | Size: 2 MiB |
BIN
assets-gen/glyph-image.png
Normal file
|
After Width: | Height: | Size: 2.3 MiB |
BIN
assets-gen/glyph-vector.png
Normal file
|
After Width: | Height: | Size: 2 MiB |
BIN
assets-gen/glyph-video.png
Normal file
|
After Width: | Height: | Size: 2.3 MiB |
BIN
assets-gen/illus-done.png
Normal file
|
After Width: | Height: | Size: 2.5 MiB |
BIN
assets-gen/illus-empty.png
Normal file
|
After Width: | Height: | Size: 1.9 MiB |
BIN
assets-gen/logo-mark.png
Normal file
|
After Width: | Height: | Size: 2.1 MiB |