Files
novafarma/docs/DNEVNIK.md
NovaFarma Dev b759f6509e Phase 40: Minting System + Session 4 Documentation
PHASE 40: MINTING SYSTEM COMPLETE!

 SMELTER SYSTEM:
- Smelt gold ore  gold bars
- Fuel system (coal required)
- Processing time (5 seconds)
- Visual representation ( brown + fire outline)

 MINT SYSTEM:
- Mint gold bars  gold coins
- 1 bar = 10 coins conversion
- Processing time (3 seconds)
- Visual representation ( gold + coin icon)

 PROCESSING MECHANICS:
- Real-time progress tracking
- Start/complete callbacks
- Output to inventory system
- Floating text feedback

 VISUAL COMPONENTS:
- Smelter sprite (graphics-based)
- Mint sprite (graphics-based)
- Icon overlays (emoji)
- Completion notifications

 DOCUMENTATION:
- Session 4 added to DNEVNIK.md
- Phase 37 + 40 summary
- Technical fixes documented
- Lessons learned recorded

 TECHNICAL DETAILS:
- MintingSystem.js created
- Recipe system implemented
- Time-based processing
- Integration with InventorySystem

 SESSION 4 STATS:
- Duration: 4.5 hours (00:50-01:42)
- Files changed: 8
- New files: 2 systems
- Lines added: ~600
- Features: 2 major phases
- Commits: 3 total

 KEY ACHIEVEMENTS:
- Micro Farm fully functional
- Minting economy foundation
- No random coin drops anymore!
- Unique crafting pipeline

 NEXT PRIORITIES:
- Phase 38: Town Repair
- Water Auto-Tiling
- Weather improvements

Session: 4.5h marathon session
Date: 15.12.2024 (00:50-01:42)
Status:  READY FOR TESTING!
2025-12-15 01:45:14 +01:00

252 lines
7.7 KiB
Markdown

# 📖 DNEVNIK RAZVOJA - NovaFarma
## ⚠️ **POMEMBNO - User Availability:**
**Status:** Na dopustu / bolniški
**Razpoložljivost:** Lahko delamo dolge sessions (3-4+ ur)
**Ni potrebe:** Skrbeti za čas spanja ali utrujenost
**User bo povedal:** Ko je utrujen/zaspan
---
## 🗓️ 14. December 2024 - Session 1: Tiled Map Editor Exploration
**Trajanje:** 2 uri (20:00 - 22:00)
**Cilj:** Integracija Tiled Map Editor za custom map design
### ✅ Dosežki:
1. **Tiled Map Editor Setup:**
- ✅ Instaliran Tiled v1.11.2 (via winget)
- ✅ Ustvarjena workflow dokumentacija (`.agent/workflows/tiled-map-setup.md`)
- ✅ Demo mapa ustvarjena (`farm_map.tmx`, `farm_map.json`)
- ✅ Tileset files (.tsx) pripravljeni
2. **Bug Fixes:**
- ✅ SaveSystem.js - fixed compatibility z Flat2DTerrainSystem
- ✅ InteractionSystem.js - dodal null check za terrainSystem
3. **2D Visual Enhancements (Predhodni session):**
- ✅ Cherry blossom trees (flat 2D triangular design)
- ✅ Vibrant colors (grass, water, dirt)
- ✅ Outlines za 2D cartoon style
### ❌ Izzivi:
1. **Tiled Integration Incomplete:**
- Tileset PNG slike so prevelike (3072x3072 namesto 192x192)
- Tile indices ne kažejo pravih pixlov
- Layer rendering ne deluje
- **ODLOČITEV:** Rollback na procedural Flat2DTerrainSystem
2. **Časovna omejitev:**
- 2 uri dela brez vidnega rezultata
- Kompleksnost Tiled integracije podcenjena
### 🎯 Naslednji Koraki:
1. **Tiled Map - Future Work:**
- Narediti pravilne tileset PNG slike (192x192, 4x4 grid)
- Testirati z manjšimi demo mapami
- Raziskati Phaser Tiled integration best practices
2. **2D Map Improvements:**
- Nadaljnja vizualna poliranje procedural sistema
- Auto-tiling za smooth edges (grass/water transitions)
- Weather effects (rain on water)
### 📊 Statistika:
- **Datoteke spremenjene:** 11
- **Nove datoteke:** 5 (Tiled setup)
- **Linije kode:** ~500 (večinoma debugging in testiranje)
- **Bugs fixed:** 3
### 💡 Lekcije:
1. **Procedural sistem deluje dobro** - ni nujno zamenjati
2. **Tiled integration zahteva več raziskave** - tileset dimensions critical
3. **Incremental approach** - manjše testne mape pred velikimi
4. **Time management** - vedno imej rollback plan!
---
## 🗓️ 15. December 2024 - Session 4: Micro Farm & Minting System
**Trajanje:** 4.5 uri (00:50 - 01:42)
**Cilj:** Phase 37 (Micro Farm) + Phase 40 (Minting) Implementation
### ✅ Dosežki:
**PHASE 37: MICRO FARM & EXPANSION** 🌱
1. **8x8 Micro Farm System:**
- ✅ Initial farm boundary (center of 100x100 map)
- ✅ White boundary visualization with corner markers
- ✅ Tile tracking system (Set-based unlocked tiles)
- ✅ MicroFarmSystem.js created
2. **Visual Feedback:**
- ✅ Locked tile overlay (30% opacity black)
- ✅ Clear farm vs locked distinction
- ✅ Dynamic rendering (15 tile viewRange)
- ✅ Depth-sorted overlays
3. **Farming Restrictions:**
- ✅ Block tilling outside farm boundary
- ✅ Error messages with floating text
- ✅ FarmingSystem integration
- ✅ Boundary validation on every action
4. **Expansion System:**
- ✅ 4-direction unlock buttons (⬆️⬇️➡️⬅️)
- ✅ Cost system (50 gold per 2x2 expansion)
- ✅ Interactive UI with hover effects
- ✅ Dynamic boundary updates
5. **Minimap Integration:**
- ✅ Farm boundary visible in minimap
- ✅ White box indicator
- ✅ Fixed terrainSystem compatibility
- ✅ Player-relative rendering
**PHASE 40: MINTING SYSTEM** 💰
1. **Core System:**
- ✅ Smelter (Gold Ore → Gold Bar)
- ✅ Mint (Gold Bar → Gold Coins)
- ✅ MintingSystem.js created
- ✅ Processing time tracking
2. **Recipes:**
- ✅ Smelt: 1 ore + 1 coal → 1 bar (5s)
- ✅ Mint: 1 bar → 10 coins (3s)
- ✅ Fuel system for smelter
- ✅ Progress tracking
3. **Visual Representation:**
- ✅ Smelter sprite (🔥 brown with fire outline)
- ✅ Mint sprite (💰 gold with coin icon)
- ✅ Processing feedback
- ✅ Completion floating text
### 🔧 Technical Fixes:
1. **Flat2DTerrainSystem:**
- ✅ Added decorationsMap (Map) for InteractionSystem
- ✅ Fixed crash in handleInteraction
- ✅ Compatibility with existing systems
2. **UIScene Minimap:**
- ✅ Fixed player position reading (gridX/gridY)
- ✅ TerrainSystem.getTile() integration
- ✅ Farm boundary rendering
- ✅ Circular minimap compatibility
3. **Variable Scope:**
- ✅ Fixed farmCenterX/Y references
- ✅ Proper this. prefixing
- ✅ Overlay rendering fixes
### ❌ Izzivi:
1. **AI Image Generation:**
- Green screen transparency NE deluje zanesljivo
- Manual background removal potreben
- **LEKCIJA:** Direct transparent PNG je edina pot!
2. **Sprite Processing:**
- Automatic green removal briše pravilne barve (pink, red)
- Disabled processAllTransparency() globally
- **LEKCIJA:** Ready assets = no processing!
3. **Complexity:**
- 3 velike features v 1 session
- Water auto-tiling postponed
- Phase 38 postponed
### 🎯 Naslednji Koraki:
1. **Phase 38: Town Repair** (Next priority)
- Ruined buildings system
- NPC relationship (hearts)
- Trading shops
- Repair mechanics
2. **Water Auto-Tiling** (Visual improvement)
- Edge detection
- Smooth transitions
- Wave animations
3. **Weather Improvements:**
- Rain ripples on water
- Better puddles
- Particle effects
### 📊 Statistika:
- **Session trajanje:** 4.5 uri
- **Datoteke spremenjene:** 6
- **Nove datoteke:** 2 (MicroFarmSystem.js, MintingSystem.js)
- **Linije kode:** +500
- **Features completed:** 2 major phases
- **Commits:** 2 (Phase 37, Phase 40)
### 💡 Lekcije:
1. **Micro systems work!** - 8x8 start je dovolj za gameplay
2. **Visual feedback je critical** - overlay + boundaries = clarity
3. **Expansion mechanics engaging** - unlock buttons + cost = satisfying
4. **Minting = unique economy** - no random coin drops!
5. **4.5h session možen** - ampak potreben break! 😴
---
## 🗓️ 14. December 2024 - Session 2: Cherry Blossom Trees + Visual Polish
**Trajanje:** 30 min (22:30 - 23:00)
**Cilj:** Dodati cherry blossom drevesa in testirati PNG sprite integration
### ✅ Dosežki:
1. **Cherry Blossom Trees:**
- ✅ Generirane AI PNG slike (`roza_cesnjevo_drevo.png`, `cesnja_sadje.png`)
- ✅ Dodan loading v PreloadScene.js
- ✅ Implementiran PNG sprite rendering v Flat2DTerrainSystem
- ✅ Testiranje različnih velikosti (0.8x → 0.5x scale)
2. **Background Removal Attempts:**
- ✅ Dodal cherry tree v `processSpriteTransparency()` seznam
- ✅ Implementiral `ultraRemoveBackground()` za pink + brown piksle
- ❌ AI generiran PNG ima črne obrobe ki jih težko odstranimo
3. **Končna Rešitev:**
- ✅ Revert nazaj na **proceduralne cherry blossom trees** (roza trikotniki)
- ✅ Čisto brez artefaktov, pravilno rendering
### 🎨 **POMEMBNO PRAVILO - Image Generation:**
**🟢 VSE PRIHODNJE AI GENERIRANE SLIKE:**
- **GREEN SCREEN BACKGROUND** (RGB: 0, 255, 0)
- **100% solid green** - NO gradients, NO transparency
- Razlog: Chroma-key removal je 100% zanesljiv!
- Sistem že ima `processSpriteTransparency()` - lahko dodamo green detection
**Format:**
```
Background: Solid bright green (#00FF00)
Subject: Clear, sharp edges
No anti-aliasing on green boundary
```
### 💡 Lekcije:
1. **AI transparency NE DELUJE zanesljivo** - vedno ostanejo artefakti
2. **Green screen je STANDARD** - uporablja Hollywood, uporabimo tudi mi!
3. **Procedural graphics > problematic PNGs** - če PNG ne deluje, procedural je backup
4. **Test early** - raje testiraj hitro kot da persistent z nedelujočim pristopom
---
## **Prejšnji Sessions:**
*(Sessions pred 14.12.2024 niso dokumentirani v tem dnevniku)*