97 lines
3.5 KiB
Markdown
97 lines
3.5 KiB
Markdown
# 📓 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 (8–18px)
|
||
- Hitrost: 420–700 px/s (hiter, naraven)
|
||
- Alpha: 0.25–0.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*
|