Decide MVP shelter building style

This commit is contained in:
2026-05-18 10:48:31 -07:00
parent 2f5ce78d59
commit 27be644ae6
3 changed files with 36 additions and 3 deletions
+5 -1
View File
@@ -604,7 +604,11 @@ Target deliverable: A small group can join a server, spawn into one biome, gathe
## 0.1.I Shelter Building ## 0.1.I Shelter Building
- [ ] Decide MVP building style. - [x] Decide MVP building style. MVP shelter building uses a crafted-kit style:
players gather natural materials, craft primitive frame/wall/roof panel
parts, combine them into one placeable primitive shelter, and place that
shelter through the server-authoritative placement component. Fully modular
wall-by-wall building stays deferred to `0.2.E Permanent Structures`.
- [x] Create build placement mode. - [x] Create build placement mode.
- [~] Add ghost preview. - [~] Add ghost preview.
- [x] Add placement validation. - [x] Add placement validation.
+6 -2
View File
@@ -80,8 +80,12 @@ Early runtime systems should remain small and explicit:
- Interaction component/classes: player-facing use/gather/build entry points. - Interaction component/classes: player-facing use/gather/build entry points.
- Resource actors: gatherable wood, stone, fiber, water, wildlife, and future - Resource actors: gatherable wood, stone, fiber, water, wildlife, and future
natural resources. natural resources.
- Buildable actors: campfire, primitive shelter, frames, walls, roof panels, - Buildable actors: campfire, one-piece primitive shelter kits, and later
and later settlement infrastructure. settlement infrastructure. For the version 0.1 MVP, shelter construction is
intentionally kit-based: frame, wall panel, and roof panel items are crafted
as inventory parts and then combined into a single placeable primitive
shelter actor. Fully modular wall-by-wall construction is deferred to
permanent structures so the first survival loop remains reliable.
- Persistence layer: save/load contracts for player and world state. - Persistence layer: save/load contracts for player and world state.
Blueprints can compose and expose these systems, but core replicated behavior Blueprints can compose and expose these systems, but core replicated behavior
@@ -0,0 +1,25 @@
#!/usr/bin/env python3
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
ROADMAP = ROOT / "AGRARIAN_DEVELOPMENT_ROADMAP.md"
TECHNICAL_DESIGN = ROOT / "Docs" / "TechnicalDesignDocument.md"
def require(path: Path, text: str) -> None:
data = " ".join(path.read_text(encoding="utf-8").split())
if text not in data:
raise SystemExit(f"FAIL: {path.relative_to(ROOT)} missing required text: {text}")
def main() -> None:
require(ROADMAP, "[x] Decide MVP building style.")
require(ROADMAP, "crafted-kit style")
require(ROADMAP, "Fully modular wall-by-wall building stays deferred")
require(TECHNICAL_DESIGN, "shelter construction is intentionally kit-based")
require(TECHNICAL_DESIGN, "Fully modular wall-by-wall construction is deferred")
print("PASS: MVP shelter building style decision is documented.")
if __name__ == "__main__":
main()