Files
novafarma/docs/systems/BLUEPRINT_SYSTEM.md
David Kotnik 00fac6dc43 🚀 Blueprint System, Dark Chibi Animals & Massive Reference Organization
FEATURES:
 Blueprint System: Auto-generated ghost/hologram items for building mode
 ItemManager: Logic for Item/Blueprint switching
 New Animals: Cow, Pig, Bear, Wolf (Dark Noir Chibi Style)

ORGANIZATION:
 Flattened Reference Library: All 6k+ images in 'glavna_referenca' for easy review
 Cleanup: Empty 'ZA_PREGLED' and '_NESORTIRANO' sorted
 Unlocked: 'glavna_referenca' ready for manual editing

STATUS: Ready for DEMO assembly!
2026-01-20 12:16:50 +01:00

60 lines
1.8 KiB
Markdown

# 🏗️ BLUEPRINT SYSTEM & ITEM VISUALIZATION
**Owner:** David Kotnik
**Created:** 20.01.2026
**Status:** Active
---
## 🎯 CORE CONCEPT
The game uses a dual-visualization system for all items:
1. **ITEMS (`assets/slike/items/`)**: Full-color, solid sprites. Used in Inventory, Shops, Drop Items.
2. **BLUEPRINTS (`assets/slike/items/blueprints/`)**: Semi-transparent, holographic "ghost" versions. Used in Build Mode, Placement Preview.
## 📂 FOLDER STRUCTURE
The `blueprints/` folder **mirrors** the `items/` folder structure exactly.
```
assets/slike/items/
├── tools/
│ ├── axe.png (Original)
│ └── hoe.png
└── blueprints/ <-- AUTO-GENERATED MIRROR
└── tools/
├── axe.png (Ghost version)
└── hoe.png
```
## 🤖 AUTO-GENERATION RULE
**Agent Instruction:**
When the User adds a new image to `items/`, you MUST immediately run:
`python3 scripts/generate_blueprints.py`
This script will seamlessly verify all items and generate missing blueprints.
## 💻 CODING STANDARD (Clean Code)
Logic must explicitly distinguish between **Inventory Context** and **Construction Context**.
### ✅ CORRECT USAGE:
```javascript
import { ItemManager } from '../managers/ItemManager';
const itemManager = new ItemManager(this);
// 1. KAI OPENS BACKPACK (Inventory)
// Use normal image
const icon = itemManager.getItemImagePath('tools/axe.png', false);
// 2. KAI IS BUILDING (Construction)
// Use blueprint/ghost image
const preview = itemManager.getItemImagePath('tools/axe.png', true);
```
### ❌ INCORRECT USAGE:
- Hardcoding paths like `assets/slike/items/blueprints/...` manually.
- Using opacity/alpha on normal sprites to simulate blueprints (Performance heavy, looks worse).
- Checking for blueprints existence manually (Trust the auto-gen script).
---
*End of Protocol*