Lock wall-material decision: wood + stone, custom-authored

Wood walls (early game) custom-authored on top of FG_Houses warm-brown
timber palette to preserve the Stardew-cabin warmth that's the project's
aesthetic anchor. ~½ day of pixel art for corner/T/cap/cross variants.

Stone walls (upgrade material) imported from FG_Fortress autotile-solvable
as-is. Both materials plug into the same WallMaterial enum / construction
pipeline. Phase 5 estimate bumped from 2-3 wks to 2.5-3.5 wks.

Phase 1 wall-rendering test now specified: use FG_Fortress as the
drop-in test material; wood walls land in Phase 5 alongside the
authoring task.

Iconic Homestead $19.99 fallback formally not needed.

memory.md decisions table now includes the wall locks; the original
3-option open question collapsed to a back-reference. art.md got a
new 'Wall-material decision' section replacing the options block.

Wolf-sprite question still open; Ventilatore search dispatched.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
megaproxy 2026-05-10 20:13:22 +01:00
parent 128294c14f
commit 57d7d626cf
3 changed files with 27 additions and 15 deletions

View file

@ -101,15 +101,20 @@ Even with the bundle, these need authoring or sourcing:
- [x] **Grave marker****`Retro Graveyard 16x16 Tileset [Kingdom Explorer]` confirmed in Tier 3.** Path: `Ultimate Farming RPG Tier 3/Retro Graveyard 16x16 Tileset [Kingdom Explorer]/Tilesets/KE_Graveyard.png`. Contents: tombstones (varied), wooden crosses, grave mounds, crypt entries, skeletal markers, ground-transition tiles. Direct use in Phase 14.
- [ ] **License attribution credits document** — kick off the list now; add to it as packs come in. Include Kingdom Explorer (likely separate license from ElvGames — check `License.txt`).
## Wall-material decision (consequence of the audit)
## Wall-material decision (locked 2026-05-10)
The `FG_Houses` non-autotile finding is the biggest live blocker. `architecture.md` and `implementation.md` Phase 5 assume the player paints walls and they auto-junction. Options now under consideration (in `memory.md` Open questions):
**Player builds in two materials: wood (early) → stone (upgrade).** Both visible in MVP.
1. **Fortress-stone-only** — player walls use `FG_Fortress` exclusively. `FG_Houses` becomes static prebuilt-shelter art (no construction verb for cabins). Aesthetic shifts toward Going Medieval; loses some of the cute-cabin Stardew warmth.
2. **Custom-author wood walls** on top of `FG_Houses` (~½1 day per material). Preserves aesthetic; delays Phase 5 by ~3 days.
3. **Mix**: `FG_Houses` static = starter shelter (drop-in, can't deconstruct), `FG_Fortress` autotile = player-built upgrade walls. Two materials, no custom art investment, but loses the "build your own first cabin" beat.
- **Wood walls** are the day-one player-buildable material. Source pack: `Houses Tileset 2 Seasons [Farming Game]/Tilesets/FG_Houses.png` (the warm-brown timber + blue-roof palette). The audit found this pack is **not autotile-solvable as-is** — pieces are pre-built house compositions, not modular variants. Authoring task: **extract or paint corner / T-junction / cap / cross variants** for a Godot 4 Wang-style terrain. Estimated cost ~½ day. Lands in **Phase 5** (implementation.md).
- **Stone walls** are the upgrade material. Source pack: `Fortress Tileset 2 Seasons [Farming Game]/Tilesets/FG_Fortress.png` (tan stonework with dark-grid mortar). The audit found this pack is **autotile-solvable as-is** — ~2030 modular pieces are present. Authoring task: import as TileSet, build the terrain definition, sample-test on a small map. Estimated cost ~few hours. Lands in **Phase 5** (alongside wood).
- Choosing both materials matches the aesthetic anchor: Stardew-cabin warmth carries the early game; the stone upgrade gestures toward Going Medieval as the colony grows. Loses the Fortress-stone-only "pure Going Medieval" option but keeps the project's design DNA intact.
- **Phase 5 wall sub-tasks** (record-keeping for implementation.md):
1. Author wood-wall corner/T/cap variants on top of FG_Houses (~½ day, custom pixel art on existing tiles)
2. Build Godot TileSet terrain for wood walls (~½ day, in editor)
3. Build Godot TileSet terrain for stone walls (FG_Fortress, ~few hours, mostly assembly)
4. Phase 5's existing wall/floor/door rendering logic stays unchanged — both materials plug in via the same WallMaterial enum / data path.
Decision needed before Phase 1 wall-tileset import (Phase 1 needs at least one wall material to render).
Iconic Homestead $19.99 fallback **not needed** — the bundle covers both materials with ~½ day of art work.
## Tileset prep (the gotcha)

View file

@ -66,7 +66,10 @@ The five items from `memory.md` *Open questions / Audit*. None of these need cod
**Goal:** an 80×80 map with the locked camera UX. No pawns yet; just a navigable empty world.
- [ ] `TileMap` with 6 layers per `architecture.md`: 0 Terrain · 1 Floor · 2 Wall · 3 Designation · 4 Roof · 5 Fog. Set z-indices, modulate, etc.
- [ ] Tileset import: at least one terrain (grass) + one floor + one wall material from ElvGames bundle. Skip autotile for now if Phase 0.5 audit hasn't completed.
- [ ] Tileset import (audit complete, so we can be specific):
- **Terrain (grass):** `Forest Tileset 4 Seasons/Tilesets/FG_Forest_Spring.png` (or `FG_Grounds.png` for cleaner ground).
- **Wall (test material):** `Fortress Tileset 2 Seasons/Tilesets/FG_Fortress.png` — autotile-solvable, drops in clean. Wood walls (custom-authored on FG_Houses) wait for Phase 5; Phase 1 doesn't need both materials, just *something* to render.
- **Floor:** placeholder from `FG_Grounds` or similar — final floor variants in Phase 5.
- [ ] Generate an 80×80 placeholder map (procgen later — for now, a hand-painted test map saved as a `.tscn` is fine)
- [ ] Tick loop: `Sim` runs at 20 Hz, render free-runs at 60 Hz, decoupled. Pawn-position lerping comes in Phase 2.
- [ ] Speed control: 1× / Fast (5×) / Ultra (12×) / Pause. Buttons fixed top-bar. Per `architecture.md` table — sim-tick queue scales by speed factor.
@ -134,14 +137,19 @@ The five items from `memory.md` *Open questions / Audit*. None of these need cod
---
## Phase 5 — Building, walls, floors, containers (~23 weeks)
## Phase 5 — Building, walls, floors, containers (~2.53.5 weeks; was ~23, bumped for wood-wall art authoring)
**Goal:** the player can shape the world. End of phase: build a functional cabin.
**Goal:** the player can shape the world. End of phase: build a functional wooden cabin, with stone fortress walls available as the upgrade material.
- [ ] Designation paint mode (controller reused later by stockpile-paint, no-roof, etc.) — drag-paints ghosts on Layer 3, green-if-placeable / red-if-blocked
- [ ] `BuildJob` queue on `World`, with material requirements
- [ ] Construction WorkProvider: nearest-job-first, hauls materials → walks to ghost → works N ticks → swaps Layer 3 ghost for real Layer 2 wall (autotile fixes neighbours) → updates pathfinder
- [ ] **Walls:** wood, stone (autotile per Phase 0.5 audit outcome — fall back to manually-painted variants if autotile pieces are missing)
- [ ] **Walls — wood (locked-in via 2026-05-10 audit):**
- **Art:** author corner / T-junction / cap / cross variants on top of `FG_Houses.png` warm-brown timber + blue-roof palette (~½ day pixel art). Bundle has the visual language; the modular pieces don't exist yet.
- **TileSet:** Wang-style terrain definition in Godot, hand-painted variant assignment.
- [ ] **Walls — stone (autotile-solvable as-is):**
- Import `FG_Fortress.png` tan stonework directly. Build TileSet terrain (~few hours, mostly assembly).
- [ ] **WallMaterial enum / data path:** wood vs stone is a tag on the BuildJob; the construction pipeline is identical for both. Wood unlocked from start; stone unlocked once player has stone resource (one-step craft from raw stone? — TBD in Phase 6, not here).
- [ ] **Floors:** wood plank, stone, dirt-cleared
- [ ] **Doors:** simple swing-open furniture; pawns walk through; pathfinder treats as walkable, walls don't
- [ ] **Containers (crates):** furniture entity, 4 stacks, 16-chip filter, 5 priorities, all-neighbours-blocked fallback (locked: hold then drop after ~5 sim sec)