Initial Dansori character workspace
This commit is contained in:
@@ -0,0 +1,274 @@
|
||||
> ⚠️ **아카이브** (소스 이미지 생성 기록). 이소리는 완성됨 — 현재 베이스 = `INTERACTIVE_RIG_HANDOFF.md` + `LeeSori_Profile/`.
|
||||
|
||||
# LeeSori Image Generation Progress Handoff
|
||||
|
||||
Date: 2026-07-03
|
||||
Workspace: `D:\Work_AI\Dansori\Characters_Build_Docs`
|
||||
|
||||
## Current Goal
|
||||
|
||||
Generate all remaining `LeeSori` character image assets according to `LeeSori/_RUN_ORDER.md`.
|
||||
|
||||
Generation/save rule used in this session:
|
||||
- Each `## <filename>.png` heading in a generation `.md` is treated as one required image.
|
||||
- Output is saved under the `Images/` folder next to that `.md`, using the exact heading filename.
|
||||
- Existing files are not regenerated.
|
||||
- **⚠️ 투명 알파 재작성 규칙 (2026-07-03 갱신):** 모든 LeeSori 이미지는 **진짜 투명 알파 PNG — 32-bit RGBA (`Format32bppArgb`), 배경 alpha=0** 로 저장한다. 흰색/회색/체커보드/매트 배경 채움이나 불투명 24-bit(`Format24bppRgb`) 저장 금지.
|
||||
- **주의:** 이 세션 이전에 저장된 기존 이소리 자산(대부분)은 24-bit 불투명(≈#EFEFEF 배경)이라 위 규칙에 **미달** → 사용자가 이미지 AI에 **전량 투명 알파로 재의뢰**할 예정. hairmask만 이미 32-bit 투명.
|
||||
- Hair masks were generated locally from the corresponding base head image as black background + white hair region masks.
|
||||
|
||||
## Completed Before This Handoff
|
||||
|
||||
### Already complete at start or verified complete
|
||||
|
||||
- `LeeSori/Base/Base.md`: 23 / 23 complete
|
||||
- `LeeSori/Accessories/Accessories.md`: 11 / 11 complete
|
||||
- `LeeSori/Hair/Hair.md`: 88 / 88 complete
|
||||
|
||||
### Completed during this session
|
||||
|
||||
- `LeeSori/Hair/Hair_LongNeat.md`: 22 / 22 complete
|
||||
- `LeeSori/Hair/Hair_ShortNeat.md`: 22 / 22 complete
|
||||
- `LeeSori/Hair/Hair_WaveLNeat.md`: 21 / 22 complete
|
||||
|
||||
`Hair_WaveLNeat.md` has all expression/head files complete. The only missing file is:
|
||||
|
||||
- `LeeSori/Hair/Images/sori_hairmask_waveLneat.png`
|
||||
|
||||
The attempted command to generate this mask was interrupted before completion, so treat it as not generated unless a file check proves otherwise.
|
||||
|
||||
## Current Counts
|
||||
|
||||
Expected `LeeSori` asset count considered in this pass:
|
||||
|
||||
- Base: 23
|
||||
- Accessories: 11
|
||||
- Hair main/neat docs: 176 total
|
||||
- Variations: 116 total
|
||||
|
||||
Current remaining missing count: 139
|
||||
|
||||
Breakdown:
|
||||
|
||||
- `LeeSori/Hair/Hair_WaveLNeat.md`: 1 missing
|
||||
- `LeeSori/Hair/Hair_WaveSNeat.md`: 22 missing
|
||||
- `LeeSori/Variations/DressShort/DressShort.md`: 23 missing
|
||||
- `LeeSori/Variations/DressLong/DressLong.md`: 23 missing
|
||||
- `LeeSori/Variations/Jeans/Jeans.md`: 23 missing
|
||||
- `LeeSori/Variations/Tshirt/Tshirt.md`: 23 missing
|
||||
- `LeeSori/Variations/CeoPantsuit/CeoPantsuit.md`: 24 missing
|
||||
|
||||
## Next Immediate Step
|
||||
|
||||
1. Generate the missing `waveLneat` mask:
|
||||
|
||||
`LeeSori/Hair/Images/sori_hairmask_waveLneat.png`
|
||||
|
||||
Use the same local mask-generation approach as previous masks, using:
|
||||
|
||||
`LeeSori/Hair/Images/sori_head_waveLneat.png`
|
||||
|
||||
2. Continue `LeeSori/_RUN_ORDER.md` with:
|
||||
|
||||
`LeeSori/Hair/Hair_WaveSNeat.md`
|
||||
|
||||
Required files:
|
||||
|
||||
- `sori_head_waveSneat.png`
|
||||
- `sori_head_waveSneat_neutral.png`
|
||||
- `sori_head_waveSneat_blink.png`
|
||||
- `sori_head_waveSneat_talk.png`
|
||||
- `sori_head_waveSneat_talk_wide.png`
|
||||
- `sori_head_waveSneat_smile.png`
|
||||
- `sori_head_waveSneat_positive.png`
|
||||
- `sori_head_waveSneat_negative.png`
|
||||
- `sori_head_waveSneat_confused.png`
|
||||
- `sori_head_waveSneat_wink.png`
|
||||
- `sori_head_waveSneat_surprised.png`
|
||||
- `sori_head_waveSneat_laugh.png`
|
||||
- `sori_head_waveSneat_thinking.png`
|
||||
- `sori_head_waveSneat_cool.png`
|
||||
- `sori_head_waveSneat_love.png`
|
||||
- `sori_head_waveSneat_shy.png`
|
||||
- `sori_head_waveSneat_sad.png`
|
||||
- `sori_head_waveSneat_pout.png`
|
||||
- `sori_head_waveSneat_sleepy.png`
|
||||
- `sori_head_waveSneat_proud.png`
|
||||
- `sori_head_waveSneat_playful.png`
|
||||
- `sori_hairmask_waveSneat.png`
|
||||
|
||||
Recommended pattern:
|
||||
|
||||
- Generate `sori_head_waveSneat.png`.
|
||||
- Copy it as `sori_head_waveSneat_neutral.png`.
|
||||
- Generate the 19 expression variants from the base.
|
||||
- Generate `sori_hairmask_waveSneat.png` locally from the base.
|
||||
|
||||
## Variation Assets Still Not Started
|
||||
|
||||
All Variation `Images/` folders were empty at the time of this handoff.
|
||||
|
||||
### DressShort, 23 files
|
||||
|
||||
- `sori_body_dressS_apose.png`
|
||||
- `sori_body_dressS_torso.png`
|
||||
- `sori_body_dressS_arm_r.png`
|
||||
- `sori_body_dressS_arm_l.png`
|
||||
- `sori_body_dressS_legs.png`
|
||||
- `sori_body_dressS_idle_full.png`
|
||||
- `sori_body_dressS_idle_upper.png`
|
||||
- `sori_body_dressS_wave.png`
|
||||
- `sori_body_dressS_handwave.png`
|
||||
- `sori_body_dressS_listen.png`
|
||||
- `sori_body_dressS_present.png`
|
||||
- `sori_body_dressS_dj.png`
|
||||
- `sori_body_dressS_piano.png`
|
||||
- `sori_body_dressS_control.png`
|
||||
- `sori_body_dressS_thumbsup.png`
|
||||
- `sori_body_dressS_heart.png`
|
||||
- `sori_body_dressS_clap.png`
|
||||
- `sori_body_dressS_peace.png`
|
||||
- `sori_body_dressS_armscross.png`
|
||||
- `sori_body_dressS_shrug.png`
|
||||
- `sori_body_dressS_point.png`
|
||||
- `sori_body_dressS_cheer.png`
|
||||
- `sori_body_dressS_joy.png`
|
||||
|
||||
### DressLong, 23 files
|
||||
|
||||
- `sori_body_dressL_apose.png`
|
||||
- `sori_body_dressL_torso.png`
|
||||
- `sori_body_dressL_arm_r.png`
|
||||
- `sori_body_dressL_arm_l.png`
|
||||
- `sori_body_dressL_legs.png`
|
||||
- `sori_body_dressL_idle_full.png`
|
||||
- `sori_body_dressL_idle_upper.png`
|
||||
- `sori_body_dressL_wave.png`
|
||||
- `sori_body_dressL_handwave.png`
|
||||
- `sori_body_dressL_listen.png`
|
||||
- `sori_body_dressL_present.png`
|
||||
- `sori_body_dressL_dj.png`
|
||||
- `sori_body_dressL_piano.png`
|
||||
- `sori_body_dressL_control.png`
|
||||
- `sori_body_dressL_thumbsup.png`
|
||||
- `sori_body_dressL_heart.png`
|
||||
- `sori_body_dressL_clap.png`
|
||||
- `sori_body_dressL_peace.png`
|
||||
- `sori_body_dressL_armscross.png`
|
||||
- `sori_body_dressL_shrug.png`
|
||||
- `sori_body_dressL_point.png`
|
||||
- `sori_body_dressL_cheer.png`
|
||||
- `sori_body_dressL_joy.png`
|
||||
|
||||
### Jeans, 23 files
|
||||
|
||||
- `sori_body_jeans_apose.png`
|
||||
- `sori_body_jeans_torso.png`
|
||||
- `sori_body_jeans_arm_r.png`
|
||||
- `sori_body_jeans_arm_l.png`
|
||||
- `sori_body_jeans_legs.png`
|
||||
- `sori_body_jeans_idle_full.png`
|
||||
- `sori_body_jeans_idle_upper.png`
|
||||
- `sori_body_jeans_wave.png`
|
||||
- `sori_body_jeans_handwave.png`
|
||||
- `sori_body_jeans_listen.png`
|
||||
- `sori_body_jeans_present.png`
|
||||
- `sori_body_jeans_dj.png`
|
||||
- `sori_body_jeans_piano.png`
|
||||
- `sori_body_jeans_control.png`
|
||||
- `sori_body_jeans_thumbsup.png`
|
||||
- `sori_body_jeans_heart.png`
|
||||
- `sori_body_jeans_clap.png`
|
||||
- `sori_body_jeans_peace.png`
|
||||
- `sori_body_jeans_armscross.png`
|
||||
- `sori_body_jeans_shrug.png`
|
||||
- `sori_body_jeans_point.png`
|
||||
- `sori_body_jeans_cheer.png`
|
||||
- `sori_body_jeans_joy.png`
|
||||
|
||||
### Tshirt, 23 files
|
||||
|
||||
- `sori_body_tee_apose.png`
|
||||
- `sori_body_tee_torso.png`
|
||||
- `sori_body_tee_arm_r.png`
|
||||
- `sori_body_tee_arm_l.png`
|
||||
- `sori_body_tee_legs.png`
|
||||
- `sori_body_tee_idle_full.png`
|
||||
- `sori_body_tee_idle_upper.png`
|
||||
- `sori_body_tee_wave.png`
|
||||
- `sori_body_tee_handwave.png`
|
||||
- `sori_body_tee_listen.png`
|
||||
- `sori_body_tee_present.png`
|
||||
- `sori_body_tee_dj.png`
|
||||
- `sori_body_tee_piano.png`
|
||||
- `sori_body_tee_control.png`
|
||||
- `sori_body_tee_thumbsup.png`
|
||||
- `sori_body_tee_heart.png`
|
||||
- `sori_body_tee_clap.png`
|
||||
- `sori_body_tee_peace.png`
|
||||
- `sori_body_tee_armscross.png`
|
||||
- `sori_body_tee_shrug.png`
|
||||
- `sori_body_tee_point.png`
|
||||
- `sori_body_tee_cheer.png`
|
||||
- `sori_body_tee_joy.png`
|
||||
|
||||
### CeoPantsuit, 24 files
|
||||
|
||||
- `sori_body_ceo_apose.png`
|
||||
- `sori_body_ceo_torso.png`
|
||||
- `sori_body_ceo_arm_r.png`
|
||||
- `sori_body_ceo_arm_l.png`
|
||||
- `sori_body_ceo_legs.png`
|
||||
- `sori_body_ceo_idle_full.png`
|
||||
- `sori_body_ceo_idle_upper.png`
|
||||
- `sori_body_ceo_wave.png`
|
||||
- `sori_body_ceo_handwave.png`
|
||||
- `sori_body_ceo_listen.png`
|
||||
- `sori_body_ceo_present.png`
|
||||
- `sori_body_ceo_dj.png`
|
||||
- `sori_body_ceo_piano.png`
|
||||
- `sori_body_ceo_control.png`
|
||||
- `sori_body_ceo_thumbsup.png`
|
||||
- `sori_body_ceo_heart.png`
|
||||
- `sori_body_ceo_clap.png`
|
||||
- `sori_body_ceo_peace.png`
|
||||
- `sori_body_ceo_armscross.png`
|
||||
- `sori_body_ceo_shrug.png`
|
||||
- `sori_body_ceo_point.png`
|
||||
- `sori_body_ceo_cheer.png`
|
||||
- `sori_body_ceo_joy.png`
|
||||
- `acc_glasses_ceo.png`
|
||||
|
||||
## Useful Verification Commands
|
||||
|
||||
PowerShell count/missing check:
|
||||
|
||||
```powershell
|
||||
$rows=@()
|
||||
$targets = @('.\LeeSori\Hair\*.md','.\LeeSori\Base\Base.md','.\LeeSori\Accessories\Accessories.md') + (Get-ChildItem -File .\LeeSori\Variations\*\*.md | ForEach-Object {$_.FullName})
|
||||
foreach($pathPattern in $targets){
|
||||
foreach($md in Get-ChildItem -Path $pathPattern -ErrorAction SilentlyContinue){
|
||||
$imgDir = Join-Path $md.DirectoryName 'Images'
|
||||
$expected = Select-String -LiteralPath $md.FullName -Pattern '^## ' | ForEach-Object { ($_.Line -replace '^##\s+','').Trim() }
|
||||
$existing = if(Test-Path $imgDir){ Get-ChildItem -File $imgDir -Filter *.png | Select-Object -ExpandProperty Name } else { @() }
|
||||
$missing = $expected | Where-Object { $_ -notin $existing }
|
||||
[PSCustomObject]@{
|
||||
Md=$md.FullName.Replace((Resolve-Path .).Path+'\','')
|
||||
Expected=$expected.Count
|
||||
Existing=($expected.Count-$missing.Count)
|
||||
Missing=$missing.Count
|
||||
FirstMissing=($missing|Select-Object -First 1)
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Notes For Next Session
|
||||
|
||||
- Continue from `sori_hairmask_waveLneat.png`.
|
||||
- Then complete `Hair_WaveSNeat.md`.
|
||||
- Then start Variations in `_RUN_ORDER.md`: DressShort, DressLong, Jeans, Tshirt, CeoPantsuit.
|
||||
- For generated files, copy the latest file from:
|
||||
`C:\Users\eKeerar\.codex\generated_images\019f2249-f7c7-75c2-b2d2-b2a6f10e355b`
|
||||
into the appropriate `Images/` folder with the exact `##` filename.
|
||||
- Do not ask before each save; the user explicitly granted write permission for this folder and subfolders.
|
||||
Reference in New Issue
Block a user