Försterkreislauf: Setzlinge beim Fällen, Försterhaus, Förster-Job

- Gefällter Baum → 1–2 tree_seed im Stockpile (zufällig)
- Neues Gebäude forester_hut (50 wood): Log-Hütten-Grafik, Klick öffnet Info-Panel
- Zonenmarkierung: Edit-Zone-Tool, Radius 5 Tiles, halbtransparente Overlay-Anzeige
- Neuer JobType 'forester': Nisse pflanzen Setzlinge auf markierten Zonen-Tiles
- Chop-Priorisierung: Zonen-Bäume werden vor natürlichen Bäumen gefällt
- Nisse-Panel & Info-Panel zeigen forester-Priorität-Button

Closes #25

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-23 13:07:36 +00:00
parent b024cf36fb
commit 969a82949e
9 changed files with 629 additions and 39 deletions

View File

@@ -73,3 +73,82 @@ npm run preview # Preview production build locally
- **Systems** read/write state and are updated each game tick via Phaser's `update()`
- **Scenes** are thin orchestrators — logic belongs in systems, not scenes
- **NetworkAdapter** wraps any multiplayer/sync concerns; systems should not call network directly
---
## Gitea Workflow (repo: tekki/nissefolk)
**Tool:** `tea` CLI (installed at `~/.local/bin/tea`, login `zally` configured).
Never use raw `curl` with `${CLAUDE_GITEA_TOKEN}` for Gitea — use `tea` instead.
All `tea` commands run from `~/game` (git remote `gitea` points to the repo).
**Git commands:** Always use `git -C ~/game <cmd>` — never `cd ~/game && git <cmd>` (triggers security prompt).
```bash
# Create PR (always wait for user approval before merging)
# Use ~/scripts/create-pr.sh — pass \n literally for newlines, the script expands them via printf.
# Never use heredocs or $(cat file) — they trigger permission prompts.
~/scripts/create-pr.sh "PR title" "Fixes #N.\n\n## What changed\n- item one\n- item two" feature/xyz
# List open PRs / issues
tea pr list --login zally
tea issue list --login zally
# View a single issue (body + comments)
tea issue --login zally --repo tekki/nissefolk <ISSUE_NUMBER>
# Merge PR — ONLY after explicit user says "merge it"
tea pr merge --login zally --style merge <PR_NUMBER>
# Close issue
tea issue close --login zally --repo tekki/nissefolk <ISSUE_NUMBER>
# List labels
tea labels list --login zally --repo tekki/nissefolk
# Set/remove labels on an issue (use label names, not IDs)
tea issue edit --login zally --repo tekki/nissefolk --add-labels "status: done" <N>
tea issue edit --login zally --repo tekki/nissefolk --remove-labels "status: in discussion" <N>
# Both flags can be combined; --add-labels takes precedence over --remove-labels
tea issue edit <N> --add-labels "status: done" --remove-labels "status: in progress" --repo tekki/nissefolk
# Note: "tea labels" manages label definitions in the repo — not issue assignments
```
**Label IDs** (repo-specific, don't guess):
| ID | Name |
|----|------|
| 1 | feature |
| 2 | improvement |
| 3 | bug |
| 6 | status: backlog |
| 8 | status: ready |
| 9 | status: in progress |
| 10 | status: review |
| 11 | status: done |
**PR workflow rules:**
1. Commit → push branch → `tea pr create`**share URL, stop, wait for user approval**
2. Only merge when user explicitly says so
3. After merge: close issue + set label to `status: done`
**master branch is protected** — direct push is rejected. Always use PRs.
**Routine load issue**
1. Load Issues
if-> If the label is status: ready
-> work as it says
-> use a new branch for each issue
-> test your code
-> commit your code
-> change the issue label
-> do an pr to master
if-> If the label is status: discussion
-> think if you need more information
-> ask questions as comment in gitea
**Issue create**
If i say something like "create an issue about..." you need to attach the labels to it to. Use status: discussion and feature/bug