Classify investor demo as systems first

This commit is contained in:
2026-05-19 09:54:25 -07:00
parent 25e20c89c1
commit 2a336fff67
7 changed files with 101 additions and 4 deletions
+1 -1
View File
@@ -816,7 +816,7 @@ Target deliverable: A small group can join a server, spawn into one biome, gathe
## 0.1.O Investor Visual MVP And Menu Polish ## 0.1.O Investor Visual MVP And Menu Polish
- [ ] Reclassify the current investor demo as systems-first, not investor visual MVP, until the visual/menu quality gate below is complete. - [x] Reclassify the current investor demo as systems-first, not investor visual MVP, until the visual/menu quality gate below is complete. Added an explicit investor-demo status document, legal notice wording, startup notice wording, packaged README classification, and verification so the current demo is presented as a systems-first investor prototype until 0.1.O visual/menu gates are actually complete.
- [ ] Replace the native painted MVP frontend with a proper UMG menu flow using real button widgets, hover/pressed states, keyboard/controller focus, mouse click targets, and predictable back/escape behavior. - [ ] Replace the native painted MVP frontend with a proper UMG menu flow using real button widgets, hover/pressed states, keyboard/controller focus, mouse click targets, and predictable back/escape behavior.
- [ ] Make startup credits, character selection, server/join, loading, pause, save, and quit feel like separate intentional segments, with no impression that gameplay has started underneath the UI. - [ ] Make startup credits, character selection, server/join, loading, pause, save, and quit feel like separate intentional segments, with no impression that gameplay has started underneath the UI.
- [ ] Add a visually verified packaged-client startup test using Sunshine/Moonlight or another real GPU desktop capture path, because QEMU guest-agent screenshots cannot validate the interactive rendered desktop. - [ ] Add a visually verified packaged-client startup test using Sunshine/Moonlight or another real GPU desktop capture path, because QEMU guest-agent screenshots cannot validate the interactive rendered desktop.
+39
View File
@@ -0,0 +1,39 @@
# Agrarian Investor Demo Status
Current classification: systems-first investor prototype.
The current investor demo should not be described as an investor visual MVP.
It proves the survival, persistence, multiplayer, terrain, weather, fire,
shelter, menu-flow, and packaging foundations, but it remains visually below
the realism bar expected for investor-facing excitement.
## Visual MVP Gate
The build can be reclassified as investor visual MVP only after the 0.1.O
visual/menu quality gate is complete and verified:
- menus use intentional widget-driven segments with reliable mouse, keyboard,
controller focus, back, and escape behavior;
- startup credits, character selection, server/join, loading, pause, save, and
quit read as separate presentation states instead of gameplay under overlays;
- young-adult male and female character choices no longer look like mannequin
placeholders;
- survival objects, resource pickups, water, wildlife, shelter, and fire read
as believable MVP objects rather than debug shapes;
- Ground Zero terrain, grasses, brush, shrubs, bushes, trees, rocks, water,
lighting, and color variation communicate grounded coastal-scrub realism;
- non-ray-traced default/compatibility rendering remains credible on common
investor, tester, and remote-session hardware;
- optional ray tracing is reserved for cinematic/high-end presentation and is
never required for baseline visual credibility;
- packaged-demo visual QA screenshots or clips are captured from a real GPU
desktop path before the build is called visually ready.
## Current Demo Language
Use this wording until the visual gate is complete:
```text
Agrarian systems-first investor prototype - visual MVP gate pending.
Not for public distribution.
```
+5 -1
View File
@@ -9,7 +9,11 @@ Agrarian
Copyright (c) 2026 Agrarian Studio. All rights reserved. Copyright (c) 2026 Agrarian Studio. All rights reserved.
Investor demo build. Not for public distribution. Systems-first investor prototype. Visual MVP gate pending.
Not for public distribution.
Do not describe the current build as an investor visual MVP until the 0.1.O
visual/menu quality gate is complete and verified.
## Unreal Engine Notice ## Unreal Engine Notice
+4
View File
@@ -20,6 +20,7 @@ set "DX11_LAUNCHER=%PACKAGE_DIR%\Start Agrarian Demo - Compatibility DX11.cmd"
set "PREREQ_LAUNCHER=%PACKAGE_DIR%\Install Prerequisites.cmd" set "PREREQ_LAUNCHER=%PACKAGE_DIR%\Install Prerequisites.cmd"
set "README_FILE=%PACKAGE_DIR%\README-Investor-Demo.txt" set "README_FILE=%PACKAGE_DIR%\README-Investor-Demo.txt"
set "DEMO_VERSION=Investor Demo v0.1.N - Build 2026.05.18" set "DEMO_VERSION=Investor Demo v0.1.N - Build 2026.05.18"
set "DEMO_CLASSIFICATION=Systems-first investor prototype - visual MVP gate pending."
> "%DEFAULT_LAUNCHER%" echo @echo off > "%DEFAULT_LAUNCHER%" echo @echo off
>> "%DEFAULT_LAUNCHER%" echo cd /d "%%~dp0" >> "%DEFAULT_LAUNCHER%" echo cd /d "%%~dp0"
@@ -75,6 +76,7 @@ set "DEMO_VERSION=Investor Demo v0.1.N - Build 2026.05.18"
> "%README_FILE%" echo Agrarian investor demo > "%README_FILE%" echo Agrarian investor demo
>> "%README_FILE%" echo. >> "%README_FILE%" echo.
>> "%README_FILE%" echo Version: %DEMO_VERSION% >> "%README_FILE%" echo Version: %DEMO_VERSION%
>> "%README_FILE%" echo Classification: %DEMO_CLASSIFICATION%
>> "%README_FILE%" echo. >> "%README_FILE%" echo.
>> "%README_FILE%" echo Start with: Start Agrarian Demo.cmd >> "%README_FILE%" echo Start with: Start Agrarian Demo.cmd
>> "%README_FILE%" echo. >> "%README_FILE%" echo.
@@ -86,6 +88,8 @@ set "DEMO_VERSION=Investor Demo v0.1.N - Build 2026.05.18"
>> "%README_FILE%" echo This investor build defaults to the Windows compatibility renderer so it opens reliably across more demo machines and remote sessions. >> "%README_FILE%" echo This investor build defaults to the Windows compatibility renderer so it opens reliably across more demo machines and remote sessions.
>> "%README_FILE%" echo The main project remains DX12-first for future Unreal 5 rendering work. >> "%README_FILE%" echo The main project remains DX12-first for future Unreal 5 rendering work.
>> "%README_FILE%" echo If you specifically want to test DX12, use: Start Agrarian Demo - DX12.cmd >> "%README_FILE%" echo If you specifically want to test DX12, use: Start Agrarian Demo - DX12.cmd
>> "%README_FILE%" echo.
>> "%README_FILE%" echo This build proves core systems first. Do not describe it as the investor visual MVP until the 0.1.O visual/menu quality gate is complete and visually verified.
echo Installed investor demo launchers in: echo Installed investor demo launchers in:
echo %PACKAGE_DIR% echo %PACKAGE_DIR%
@@ -0,0 +1,50 @@
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
REQUIRED = {
ROOT / "Docs" / "Investor" / "InvestorDemoStatus.md": [
"Current classification: systems-first investor prototype.",
"should not be described as an investor visual MVP",
"visual/menu quality gate is complete",
"non-ray-traced default/compatibility rendering remains credible",
"packaged-demo visual QA screenshots or clips",
],
ROOT / "Docs" / "Legal" / "InvestorDemoNotices.md": [
"Systems-first investor prototype. Visual MVP gate pending.",
"Do not describe the current build as an investor visual MVP",
],
ROOT / "Source" / "AgrarianGame" / "AgrarianDemoNoticeActor.h": [
"Systems-first investor prototype - visual MVP gate pending",
],
ROOT / "Source" / "AgrarianGame" / "AgrarianDemoNoticeWidget.h": [
"Systems-first investor prototype - visual MVP gate pending",
],
ROOT / "Scripts" / "InstallWindowsDemoLaunchers.bat": [
"DEMO_CLASSIFICATION=Systems-first investor prototype - visual MVP gate pending.",
"Classification: %DEMO_CLASSIFICATION%",
"Do not describe it as the investor visual MVP",
],
ROOT / "AGRARIAN_DEVELOPMENT_ROADMAP.md": [
"[x] Reclassify the current investor demo as systems-first, not investor visual MVP",
],
}
def main():
missing = []
for path, snippets in REQUIRED.items():
text = path.read_text(encoding="utf-8")
for snippet in snippets:
if snippet not in text:
missing.append(f"{path.relative_to(ROOT)} missing {snippet!r}")
if missing:
raise SystemExit("Investor demo systems-first status verification failed:\n" + "\n".join(missing))
print("PASS: investor demo is classified as systems-first until the visual MVP gate is complete.")
if __name__ == "__main__":
main()
@@ -26,7 +26,7 @@ public:
FText VersionLabel = FText::FromString(TEXT("Investor Demo v0.1.N - Build 2026.05.18")); FText VersionLabel = FText::FromString(TEXT("Investor Demo v0.1.N - Build 2026.05.18"));
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Agrarian|Demo") UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Agrarian|Demo")
FText DemoNotice = FText::FromString(TEXT("Beta prototype build - not for public distribution")); FText DemoNotice = FText::FromString(TEXT("Systems-first investor prototype - visual MVP gate pending"));
protected: protected:
virtual void BeginPlay() override; virtual void BeginPlay() override;
@@ -21,7 +21,7 @@ public:
FText VersionLabel = FText::FromString(TEXT("Investor Demo v0.1.N - Build 2026.05.18")); FText VersionLabel = FText::FromString(TEXT("Investor Demo v0.1.N - Build 2026.05.18"));
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Agrarian|Demo") UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Agrarian|Demo")
FText DemoNotice = FText::FromString(TEXT("Beta prototype build - not for public distribution")); FText DemoNotice = FText::FromString(TEXT("Systems-first investor prototype - visual MVP gate pending"));
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Agrarian|Demo") UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Agrarian|Demo")
FText CopyrightNotice = FText::FromString(TEXT("Copyright (c) 2026 Agrarian Studio. All rights reserved.")); FText CopyrightNotice = FText::FromString(TEXT("Copyright (c) 2026 Agrarian Studio. All rights reserved."));