Prepare roadmap for 0.2 homesteading
This commit is contained in:
@@ -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.
|
||||
Reference in New Issue
Block a user