Decide MVP shelter building style
This commit is contained in:
@@ -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.
|
||||||
|
|||||||
@@ -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()
|
||||||
Reference in New Issue
Block a user