Files
novafarma/docs/DNEVNIK.md
NovaFarma Dev 344fbc307d Session 3: Tree Variety System Complete
TREE VARIETIES IMPLEMENTED:
- Added 5 tree types: Cherry, Oak, Pine, Dead, Apple
- AI-generated PNG sprites with transparent backgrounds
- Random tree selection for natural diversity
- Growth scaling (0.4-0.6x for variety)

 VISUAL IMPROVEMENTS:
- 2.5D depth sorting (Y-position based)
- Proper shadows matching tree size
- Layered rendering for perspective

 TRANSPARENCY FIXES:
- Disabled automatic sprite processing
- User manually removed green screen backgrounds
- Fixed pink/red color preservation
- Trees now render with proper transparency

 TREE DISTRIBUTION:
- Reduced from ~78 to 10 trees (87% reduction)
- Removed corner forest clusters (too crowded)
- Sparse scattered placement across 100x100 map
- Wider spacing (8-15 tiles apart)
- Small tree sizes (0.35-0.7x scale, ~50% reduction)

 TECHNICAL CHANGES:
- PreloadScene: Added tree sprite loading
- PreloadScene: Disabled processAllTransparency()
- Flat2DTerrainSystem: PNG sprite rendering with fallback
- map2d_data.js: Sparse tree generation
- Green removal threshold: g > 180 (preserves pink/red)

 FILES MODIFIED:
- src/scenes/PreloadScene.js
- src/systems/Flat2DTerrainSystem.js
- data/map2d_data.js
- assets/sprites/tree_*.png (5 new sprites)
- docs/DNEVNIK.md (updated with user availability)

Session: 1.5h (23:28-00:48)
Date: 14-15.12.2024
2025-12-15 00:49:06 +01:00

4.0 KiB

📖 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!

🗓️ 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)