docs: dev log 2026-03-02 (dež + BuildingSystem)

This commit is contained in:
2026-03-02 20:43:37 +01:00
parent 4cbb198d7a
commit 35153eeacf

View File

@@ -0,0 +1,96 @@
# 📓 Dev Log — 2026-03-02 (Ponedeljek)
**Seja:** Popoldanska / Večerna
**Trajanje:** ~22 minut aktivnega dela
**Git commit:** `4cbb198d7`
---
## ✅ Opravljeno danes
### 1. 🌧️ Popravki dežnega sistema (Rain System)
**Problem:** Dež je padal samo na enem koncu mape (levi rob) in izgledal kot "bela eksplozija" — preveč gost, preveč bel.
**Rešitve (3 iteracije):**
| Iteracija | Problem | Rešitev |
|-----------|---------|---------|
| v1 | Dež samo levo | `min: 0, max: this.scale.width` → zamenjano z `startFollow(kai)` |
| v2 | Bela eksplozija 😂 | `frequency: 10` preveč → zmanjšano na `frequency: 30`, `quantity: 3` |
| v3 | Vzorci / stolpci kapljic | **Celotna zamenjava** sprite emitter → **procedural canvas** sistem |
**Končna implementacija (v3 — procedural):**
- `160` naključnih kapljic kot kratke diagonalne črtice (818px)
- Hitrost: 420700 px/s (hiter, naraven)
- Alpha: 0.250.55 (prozorno — otok in Kai vedno vidna)
- Pravi `Math.random()` razmestitev — brez vzorcev ali "stebrov"
- Črtice so svetlo modre (`0xaaddff`) z rahlim nagibom v levo
- Vsaka kapljica se ob izhodu iz zaslona teleportira nazaj na vrh (recycling)
**Bug fix:** `SyntaxError: Identifier 'viewW' has already been declared`
→ Preimenovano v `rainViewW` / `rainViewH`
---
### 2. 🏗️ Building System (`src/systems/BuildingSystem.js`)
**Nov modul** za postavljanje stavb na otok.
**Funkcionalnosti:**
- **[B]** tipka — odpre/zapre Build Mode
- **[Esc]** — izhod iz Build Mode
- **Stranski panel** (desno) z ikonami stavb:
- 🏕️ Šotor (`sotor`)
- 🔥 Taborni ogenj (`campfire`)
- 💧 Zbirač dežja (`rain_catcher`)
- 🏗️ Betonski temelj (`foundation_concrete`)
- **Ghost preview** — slika sledi mišu
- Zelena = veljavna postavitev (na otoku)
- Rdeča = neveljavna (zunaj otoka / v oceanu)
- **Klik = postavi** stavbo s fizičnim colliderjem
- **Y-sorting** — Kai se skrije za stavbo ko gre zadaj, pride pred njo ko gre spredaj
- **Static physics body** — Kai ne more hoditi skozi stavbe
- **Spawn animacija** `Back.out` (stavba "potrdi" pozicijo)
**Merjenje:** Stavbe skalirajo glede na Kai višino (64px):
- Šotor = 2.5× Kai = 160px
- Zbirač dežja = 2.0× Kai = 128px
- Temelj = 2.0× Kai = 128px
- Ogenj = 1.0× Kai = 64px
---
## 🚧 Znane omejitve / Za naslednjič
- [ ] Stavbe se ne shranjujejo med sejami (ni persistence/save sistema)
- [ ] Building panel je fiksiran na desni — ne upošteva zoom-a kamere
- [ ] Šotor in ogenj nima animacij (campfire bi moral goreti)
- [ ] Nima `Demolish` (rušenje postavljenih stavb)
- [ ] Zvočni efekti ob postavitvi stavb (placeholder potreben)
- [ ] `foundation_concrete` assetov je malo — potrebno generirati hiše/kmečke zgradbe
---
## 💡 Ideje za naslednjo sejo
1. **Save/Load sistem** — shrani placed buildings v `localStorage` → ohrani stanje med restart-om
2. **Campfire animacija** — flickering light z Graphics ali sprite sheet
3. **Hiša** — generirati asset `hisa_osnovna.png` in dodati v BuildingSystem katalog
4. **Rušenje stavb** — desni klik = odstranjuje zgradbo v build modu
5. **Build Grid** — opcijsko prikaži mrežo pri gradnji za lažje poravnavanje
6. **Zvok dežja** — proceduralni Web Audio API šum (beli šum + filter)
---
## 📊 Stanje projekta
**Git:** `master` — 2 commita pred origin
**Zmogljivost:** Scena deluje brez performance problemov (160 rain drops @ 60fps ✅)
**Faza:** Demo Faza 1 — aktivni razvoj
---
*Dev log zapisan: 2026-03-02 ob 20:42*
*Naslednja seja: TBD*