diff --git a/.agent/workflows/pixel_art_fix_protocol.md b/.agent/workflows/pixel_art_fix_protocol.md new file mode 100644 index 000000000..5c2a90099 --- /dev/null +++ b/.agent/workflows/pixel_art_fix_protocol.md @@ -0,0 +1,172 @@ +# 🔒 PIXEL ART FIX PROTOCOL - Protect Good Assets + +**Purpose:** Identify and replace ONLY pixelated images, protect already-smooth Style 32 assets. + +--- + +## ✅ PROTECTED ASSETS (DO NOT TOUCH) + +**These are LOCKED - already smooth Style 32:** + +### **Main Characters:** +- ✅ `/references/main_characters/ana/master_reference_nobg.png` - **GOLD STANDARD** +- ✅ `/references/main_characters/ana/master_reference.png` - **GOLD STANDARD** + +### **Test Assets:** +- ✅ `/references/BIOME_CROP_TEST_SHEET.png` - **SMOOTH QUALITY CONFIRMED** + +### **Any asset USER confirms is smooth:** +- User will specify which assets are already good +- These remain untouched + +--- + +## 🔴 IDENTIFY PIXELATED ASSETS (Need Regeneration) + +**Process:** +1. User identifies which portraits/sprites are pixelated +2. Create list of files needing regeneration +3. Regenerate ONLY those files +4. Replace old pixelated versions + +--- + +## 📋 REGENERATION CHECKLIST + +**For EACH pixelated asset identified:** + +### **Step 1: Verify Old File Exists** +```bash +ls -la references/npcs/[npc_name]/master_reference.png +``` + +### **Step 2: View Original (Note Details)** +- Character name +- Features (hair, clothes, piercings) +- Pose/angle + +### **Step 3: Generate Smooth Replacement** +**Prompt Template:** +``` +[Character Name] portrait. EXACT Style 32 matching Ana reference quality: +SMOOTH vector-style lines (NOT pixel art), +5px thick black outlines #000000, +anti-aliased curves, +high-resolution 256x256px rendering, +flat cel shading, +NO pixelation, NO stair-stepping, NO chunky pixels, +[Character specific features: hair color, outfit, etc.], +Film-quality polish, Cult of the Lamb aesthetic, +Transparent background. +``` + +### **Step 4: Verify Quality** +- [ ] Smooth lines (no stair-stepping) +- [ ] 5px black outlines +- [ ] Matches Ana's smoothness level +- [ ] High resolution +- [ ] Vibrant colors + +### **Step 5: Replace Old File** +```bash +# Backup old (optional) +mv references/npcs/[npc]/master_reference.png references/npcs/[npc]/master_reference_OLD_PIXELATED.png + +# Copy new smooth version +cp ~/.gemini/.../[new_smooth_file].png references/npcs/[npc]/master_reference.png +``` + +### **Step 6: Update Manifest** +```bash +python3 scripts/generate_asset_manifest.py +git add -A +git commit -m "Fixed pixelated [NPC name] portrait - replaced with smooth Style 32 version" +``` + +--- + +## 🎯 BATCH REPLACEMENT WORKFLOW + +### **Phase 1: Identification** +**USER PROVIDES LIST of pixelated assets:** +``` +Example: +- ivan_kovac: PIXELATED ❌ +- kustos: PIXELATED ❌ +- tehnik: PIXELATED ❌ +- pek: SMOOTH ✅ (keep) +- sivilja: SMOOTH ✅ (keep) +``` + +### **Phase 2: Regeneration (Only Pixelated)** +For each PIXELATED asset: +1. View original +2. Generate smooth replacement +3. Verify quality +4. Replace file +5. Commit change + +### **Phase 3: Confirmation** +``` +Report to user: +"Regenerated [X] pixelated portraits: +- [NPC 1]: FIXED ✅ +- [NPC 2]: FIXED ✅ +- [NPC 3]: FIXED ✅ + +Protected [Y] already-smooth assets: +- Ana: PROTECTED ✅ +- [Other smooth NPCs]: PROTECTED ✅ + +All pixelated images are now replaced with smooth Style 32 versions." +``` + +--- + +## 🚫 WHAT NOT TO DO + +**NEVER:** +- ❌ Regenerate Ana's smooth reference (it's the gold standard) +- ❌ Regenerate test sheet (already smooth) +- ❌ Blindly regenerate everything without checking +- ❌ Replace smooth assets with new versions (keep originals) +- ❌ Generate without viewing original first + +**ALWAYS:** +- ✅ Ask user which assets are pixelated +- ✅ Protect confirmed smooth assets +- ✅ Only regenerate confirmed pixelated ones +- ✅ Verify smoothness before replacing +- ✅ Keep backups of old files (optional) + +--- + +## 📋 CURRENT STATUS + +**Awaiting USER input:** +- Which NPCs are pixelated? (need regeneration) +- Which NPCs are already smooth? (protect) +- Which main characters need fixing? (Kai, Gronk?) + +**Once USER provides list:** +- Execute batch regeneration ONLY for pixelated assets +- Protect all smooth assets +- Confirm completion + +--- + +## 🎯 QUALITY STANDARD + +**Every regenerated asset must match:** +- Ana's smoothness level (GOLD STANDARD) +- Test sheet quality (CONFIRMED SMOOTH) +- 5px outlines, no pixelation +- Film-quality polish + +**If regenerated asset is still pixelated:** +- Auto-reroll (max 3 attempts) +- Report to user if can't achieve smoothness + +--- + +**AWAITING USER INPUT: Please specify which NPCs/characters are pixelated and need fixing.** diff --git a/novafarma.tiled-session b/novafarma.tiled-session index 9fd0e47aa..0a393d103 100644 --- a/novafarma.tiled-session +++ b/novafarma.tiled-session @@ -1,5 +1,5 @@ { - "activeFile": "assets/maps 🟣/novafarma_clean.tmx", + "activeFile": "assets/maps 🟣/MINIMAL_TEMPLATE.tmx", "expandedProjectPaths": [ "assets/maps" ], @@ -24,13 +24,16 @@ "scaleInDock": 1 }, "assets/maps 🟣/MINIMAL_TEMPLATE.tmx": { - "scale": 0.5452604166666667, - "selectedLayer": 0, + "scale": 0.25, + "selectedLayer": 2, "viewCenter": { - "x": 625.3892444359537, - "y": 465.8324577323527 + "x": 268, + "y": 516 } }, + "assets/maps 🟣/base_level1_tent_1767411185506.tsx": { + "scaleInDock": 0.25 + }, "assets/maps 🟣/fresh_workspace.tmx": { "scale": 0.23156249999999998, "selectedLayer": 1, @@ -70,6 +73,9 @@ "assets/maps 🟣/novafarma_clean.tmx#crops_tomatoes": { "scaleInDock": 1 }, + "assets/maps 🟣/teren_farmland_tilled_style32.tsx": { + "scaleInDock": 1 + }, "assets/maps/01_Ground.tsx": { "scaleInDock": 1 }, @@ -244,15 +250,14 @@ }, "last.externalTilesetPath": "/Users/davidkotnik/repos/novafarma/assets/maps", "openFiles": [ - "assets/maps 🟣/fresh_workspace.tmx", - "assets/maps 🟣/novafarma_clean.tmx" + "assets/maps 🟣/MINIMAL_TEMPLATE.tmx" ], "project": "novafarma.tiled-project", "recentFiles": [ + "assets/maps 🟣/MINIMAL_TEMPLATE.tmx", "assets/maps 🟣/narava_rastline_grass_flowers_style32.tsx", "assets/maps 🟣/fresh_workspace.tmx", "assets/maps 🟣/novafarma_clean.tmx", - "assets/maps 🟣/MINIMAL_TEMPLATE.tmx", "assets/maps/testni_travnik.tmx", "assets/maps/TownSquare.json", "assets/maps/NovaFarma.json", diff --git a/references/npcs/ivan_kovac/master_reference_SMOOTH_FIXED.png b/references/npcs/ivan_kovac/master_reference_SMOOTH_FIXED.png new file mode 100644 index 000000000..4e9839539 Binary files /dev/null and b/references/npcs/ivan_kovac/master_reference_SMOOTH_FIXED.png differ