PIXEL ART FIX PROTOCOL: Systematic workflow for identifying and replacing ONLY pixelated assets while protecting smooth ones (Ana, test sheet). Awaiting user input on which specific NPCs are pixelated.
This commit is contained in:
172
.agent/workflows/pixel_art_fix_protocol.md
Normal file
172
.agent/workflows/pixel_art_fix_protocol.md
Normal file
@@ -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.**
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"activeFile": "assets/maps 🟣/novafarma_clean.tmx",
|
"activeFile": "assets/maps 🟣/MINIMAL_TEMPLATE.tmx",
|
||||||
"expandedProjectPaths": [
|
"expandedProjectPaths": [
|
||||||
"assets/maps"
|
"assets/maps"
|
||||||
],
|
],
|
||||||
@@ -24,13 +24,16 @@
|
|||||||
"scaleInDock": 1
|
"scaleInDock": 1
|
||||||
},
|
},
|
||||||
"assets/maps 🟣/MINIMAL_TEMPLATE.tmx": {
|
"assets/maps 🟣/MINIMAL_TEMPLATE.tmx": {
|
||||||
"scale": 0.5452604166666667,
|
"scale": 0.25,
|
||||||
"selectedLayer": 0,
|
"selectedLayer": 2,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 625.3892444359537,
|
"x": 268,
|
||||||
"y": 465.8324577323527
|
"y": 516
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"assets/maps 🟣/base_level1_tent_1767411185506.tsx": {
|
||||||
|
"scaleInDock": 0.25
|
||||||
|
},
|
||||||
"assets/maps 🟣/fresh_workspace.tmx": {
|
"assets/maps 🟣/fresh_workspace.tmx": {
|
||||||
"scale": 0.23156249999999998,
|
"scale": 0.23156249999999998,
|
||||||
"selectedLayer": 1,
|
"selectedLayer": 1,
|
||||||
@@ -70,6 +73,9 @@
|
|||||||
"assets/maps 🟣/novafarma_clean.tmx#crops_tomatoes": {
|
"assets/maps 🟣/novafarma_clean.tmx#crops_tomatoes": {
|
||||||
"scaleInDock": 1
|
"scaleInDock": 1
|
||||||
},
|
},
|
||||||
|
"assets/maps 🟣/teren_farmland_tilled_style32.tsx": {
|
||||||
|
"scaleInDock": 1
|
||||||
|
},
|
||||||
"assets/maps/01_Ground.tsx": {
|
"assets/maps/01_Ground.tsx": {
|
||||||
"scaleInDock": 1
|
"scaleInDock": 1
|
||||||
},
|
},
|
||||||
@@ -244,15 +250,14 @@
|
|||||||
},
|
},
|
||||||
"last.externalTilesetPath": "/Users/davidkotnik/repos/novafarma/assets/maps",
|
"last.externalTilesetPath": "/Users/davidkotnik/repos/novafarma/assets/maps",
|
||||||
"openFiles": [
|
"openFiles": [
|
||||||
"assets/maps 🟣/fresh_workspace.tmx",
|
"assets/maps 🟣/MINIMAL_TEMPLATE.tmx"
|
||||||
"assets/maps 🟣/novafarma_clean.tmx"
|
|
||||||
],
|
],
|
||||||
"project": "novafarma.tiled-project",
|
"project": "novafarma.tiled-project",
|
||||||
"recentFiles": [
|
"recentFiles": [
|
||||||
|
"assets/maps 🟣/MINIMAL_TEMPLATE.tmx",
|
||||||
"assets/maps 🟣/narava_rastline_grass_flowers_style32.tsx",
|
"assets/maps 🟣/narava_rastline_grass_flowers_style32.tsx",
|
||||||
"assets/maps 🟣/fresh_workspace.tmx",
|
"assets/maps 🟣/fresh_workspace.tmx",
|
||||||
"assets/maps 🟣/novafarma_clean.tmx",
|
"assets/maps 🟣/novafarma_clean.tmx",
|
||||||
"assets/maps 🟣/MINIMAL_TEMPLATE.tmx",
|
|
||||||
"assets/maps/testni_travnik.tmx",
|
"assets/maps/testni_travnik.tmx",
|
||||||
"assets/maps/TownSquare.json",
|
"assets/maps/TownSquare.json",
|
||||||
"assets/maps/NovaFarma.json",
|
"assets/maps/NovaFarma.json",
|
||||||
|
|||||||
BIN
references/npcs/ivan_kovac/master_reference_SMOOTH_FIXED.png
Normal file
BIN
references/npcs/ivan_kovac/master_reference_SMOOTH_FIXED.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 622 KiB |
Reference in New Issue
Block a user