v0.4: Acid system rework + Iron material + heat conductivity

- Acid now uses acid_resist + health-based damage (not instant delete)
- Acid dissolve speeds: Wood ~2s, Dirt ~2.8s, Stone ~4.3s, Iron immune
- New material: Iron (ID 16) - silver, static, acid-proof, heat-conductive
- Iron texture: bright highlights for metallic shine
- Iron reflects light (light_block: 150)
- Iron heat_conduct: 200 - conducts heat quickly through entire block
- Improved heat transfer formula (divisor 255→200)
- Updated AGENTS.md status
- No player code (rolled back for fresh start)
This commit is contained in:
2026-07-10 10:06:34 +02:00
parent 2c23216152
commit 26d5733e1e
6 changed files with 55 additions and 23 deletions
+5 -1
View File
@@ -169,6 +169,10 @@ Jedes Material bekommt deterministische Pixel-Variation basierend auf Grid-Koord
- **Material-Palette**: Leiste am unteren Bildschirmrand, Farb-Swatch + Name + Taste
- **FPS-Anzeige**: Oben rechts, grün, alle 500ms aktualisiert
### Player-System (Phase 4 — in Arbeit)
Player-Material (7) existiert als grüner Pixel-Cluster. `move_player(dx, dy)`-API in `physics.rs` via WASM exportiert (`engine.movePlayer`). Aktueller Ansatz: Clear+Place (alle Player-Zellen löschen, an Zielposition neu setzen), all-or-nothing bei Kollision mit Solids. Gravitation: `dy=1` jede Frame. Horizontal-Input: Pfeiltasten separat. Kamera: folgt Player-Zentrum (Scan 200×200 Region um letzte Position, cached). Offen: Cluster-Form stabil halten (kreisrund), Sprung-Mechanik, Schadenssystem.
## Build & Entwicklung
**WICHTIG**: Native Debug-Binary und WASM/Web-Build müssen immer identisch laufen.
@@ -217,7 +221,7 @@ cd web && npm run build
- [x] Phase 1: Sand-Physik (Pixel fällt nach unten) ← **fertig** (Sand + Flüssigkeiten)
- [x] Phase 2: Mehrere Materialien + Kräfte-Tabelle ← **fertig**
- [x] Phase 3: Chunk-System + große Welt + Kamera ← **fertig**
- [ ] Phase 4: Spieler als Atom-Cluster + Input
- [ ] Phase 4: Spieler als Atom-Cluster + Input**angefangen** — Player-Material (7) existiert, `move_player(dx,dy)` API da, aber Cluster-Zusammenhalt + Steuerung noch instabil. Ansatz: Player-Zellen als Gruppe bewegen (clear+place, nicht swap), Gravitation separat von Horizontalbewegung, Kamera folgt Player-Zentrum.
- [ ] Phase 5: Erweiterungen (Items, Player-Interaktion, Editor, ...)
## Namenskonventionen