4 Commits
Author SHA1 Message Date
kamilkrzywda 0f360d76cd fix: runtime Box3 scaling + Alpine null-safety
- Replaced hardcoded SPECIES_LENGTH with runtime Box3 measurement
  (model added to parent group BEFORE measuring, so full GLB
  hierarchy transforms are included in world matrices)
- All 9 species now render at correct target size (0.13-0.32u)
- Added optional chaining (?.) to all Alpine template expressions
  referencing store.selectedFish to prevent null-reference errors
- Guarded getFishValue/canBreed calls with null checks
2026-10-08 17:03:37 +00:00
kamilkrzywda 20ab0e91e4 fix: null-guard info panel (x-if) + add runtime scale debug logging 2026-10-08 05:36:44 +00:00
kamilkrzywda eb50f3b56b feat: game state, persistence, UI framework (Alpine+Tailwind), economy system (#10, #11, #12)
- Game state with localStorage save/load + reset (type DELETE to confirm)
- Alpine.js + Tailwind CSS + Lucide UI overlay (HUD bar, shop modal, settings, toasts)
- Economy: fish prices, tank tier costs/capacities, rarity multipliers, sell value formula
- Genetic system: hue/saturation/size/speed/pattern/rarity/gender + breeding inheritance
- Fish selection via raycaster (click fish = select, click empty = drop food)
- Buy/Sell/Breed/Upgrade actions wired to game state
2026-10-07 12:38:18 +00:00
kamilkrzywda c145869f20 feat: project scaffolding - Vite + TypeScript + Three.js (#4) 2026-10-06 19:06:14 +00:00