Prepare roadmap for 0.2 homesteading

This commit is contained in:
2026-05-19 16:15:35 -07:00
parent 64d0603680
commit c742a172da
4 changed files with 204 additions and 5 deletions
+72
View File
@@ -0,0 +1,72 @@
# Codebase Readiness Review
Date: 2026-05-19
Scope: source code, build scripts, verification scripts, config files, and the
roadmap after completion of `0.1.R`.
## 0.1 Completion Check
All `0.1.A` through `0.1.R` roadmap checkboxes are complete. The remaining
unchecked roadmap items before `Version 0.2` are North Star and philosophy
statements, not incomplete `0.1` implementation tasks.
## Current Strengths
- Core gameplay systems are separated into recognizable Unreal classes:
character, controller, game state, survival, inventory, crafting, building,
persistence, weather, resource nodes, wildlife, shelter, campfire, water, UI,
and automation.
- Server-authoritative paths are already present for core multiplayer actions
such as crafting, item use/drop/splitting, travel, save/load, respawn, fire,
resource depletion, wildlife state, world actors, and weather state.
- Persistence has a central subsystem and explicit world actor/resource/player
capture paths, which is the right base for 0.2 homesteading.
- The project now has broad verifier coverage for roadmap promises and MVP
guardrails. This is useful for preventing accidental regression while the team
moves into larger systems.
- The Windows build pipeline, package script, visual QA gate, and Linux server
target are established enough to keep milestone work shippable.
## Cleanup Findings
- `AgrarianEditorAutomationLibrary.cpp` is doing too much. It contains map
import, gameplay smoke tests, persistence tests, and setup helpers in one
large file. It should be split by responsibility before 0.2 adds claiming,
farming, storage, and household tests.
- The MVP frontend is still implemented as runtime-created widget trees. This
has been effective for fast iteration, but 0.2 should move toward reusable
UMG widgets, shared styling, and a cleaner input/navigation model.
- Placeholder/proxy meshes are intentionally still present for resources,
shelters, campfires, water, wildlife, and characters. 0.2 should replace the
highest-impact placeholders with durable realistic assets while preserving
data-driven class behavior.
- Several systems use hard-coded Ground Zero, MVP, and automation constants.
These are acceptable for 0.1 but should move toward data assets, config, or
tile metadata as 0.2 introduces claims, crops, animals, storage, and
homestead state.
- Admin/dev console commands currently share runtime controller paths. Before
broader testing, privileged commands need a clearer authority, role, and
audit boundary so tester tools do not become gameplay exploits.
- Verifier scripts are useful but numerous. 0.2 should add a grouped verifier
runner so milestone verification is one command with explicit categories.
## Low-Risk Cleanup Applied
- Removed duplicate `SavingAndQuit` branch logic from the MVP frontend continue
flow. Behavior is unchanged, but the control path is now easier to read.
## 0.2 Engineering Priorities
- Keep land claims, farming, storage, household tasks, and future economy state
server-authoritative from the first implementation pass.
- Add schema/version fields when introducing new persistent records.
- Use data assets for claim rules, crop definitions, animal definitions,
storage container definitions, and early profession/knowledge topics.
- Create focused automation helpers by domain instead of expanding the current
monolithic editor automation file.
- Replace placeholder visuals in the order investors and testers notice them:
terrain material, grasses/shrubs/trees, water, character bodies/clothing,
resource objects, fire/smoke, shelter pieces, and wildlife.
- Keep ray tracing optional. The default non-ray-traced path must remain the
baseline for demo readability and remote testing.