# 🏗️ 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*