Add investor visual QA evidence gate
This commit is contained in:
@@ -828,7 +828,7 @@ Target deliverable: A small group can join a server, spawn into one biome, gathe
|
|||||||
- [x] Preserve realism as the target: use assets, materials, lighting, and environmental dressing that can survive toward MVP production rather than cosmetic throwaways where practical. Added MVP realism target rules to the shared art/UX/code/asset standards, tied current 0.1.O visual passes to production-directed proxy expectations, and added a verifier that requires Ground Zero materials, water, density/sightline, character, and survival-object docs to point toward production realism instead of cosmetic throwaways.
|
- [x] Preserve realism as the target: use assets, materials, lighting, and environmental dressing that can survive toward MVP production rather than cosmetic throwaways where practical. Added MVP realism target rules to the shared art/UX/code/asset standards, tied current 0.1.O visual passes to production-directed proxy expectations, and added a verifier that requires Ground Zero materials, water, density/sightline, character, and survival-object docs to point toward production realism instead of cosmetic throwaways.
|
||||||
- [x] Define default, recommended, and cinematic investor rendering presets, with ray tracing available only as an optional high-end/cinematic mode and never required for baseline visual credibility. Added `Config/AgrarianRenderingPresets.ini`, `Docs/Rendering/InvestorRenderingPresets.md`, and a verifier that requires Default and Recommended to remain non-ray-traced while Cinematic is the only optional high-end ray-tracing profile.
|
- [x] Define default, recommended, and cinematic investor rendering presets, with ray tracing available only as an optional high-end/cinematic mode and never required for baseline visual credibility. Added `Config/AgrarianRenderingPresets.ini`, `Docs/Rendering/InvestorRenderingPresets.md`, and a verifier that requires Default and Recommended to remain non-ray-traced while Cinematic is the only optional high-end ray-tracing profile.
|
||||||
- [x] Verify the non-ray-traced compatibility/default path still looks credible on common investor, tester, and remote-session hardware. Added a dedicated non-ray-traced default verifier that checks Default and Recommended disable `r.RayTracing`, `r.Lumen.HardwareRayTracing`, and `r.PathTracing`, keeps Cinematic as the only optional ray-tracing profile, and documents that packaged investor demos should launch on Default unless another profile is explicitly selected.
|
- [x] Verify the non-ray-traced compatibility/default path still looks credible on common investor, tester, and remote-session hardware. Added a dedicated non-ray-traced default verifier that checks Default and Recommended disable `r.RayTracing`, `r.Lumen.HardwareRayTracing`, and `r.PathTracing`, keeps Cinematic as the only optional ray-tracing profile, and documents that packaged investor demos should launch on Default unless another profile is explicitly selected.
|
||||||
- [ ] Add packaged-demo visual QA screenshots or short clips for startup credits, character selection, first spawn, terrain, vegetation, water, campfire, shelter, pause menu, and save/quit before each investor build is called ready.
|
- [x] Add packaged-demo visual QA screenshots or short clips for startup credits, character selection, first spawn, terrain, vegetation, water, campfire, shelter, pause menu, and save/quit before each investor build is called ready. Added a full investor-demo visual QA evidence runbook, Windows helper, startup capture expansion, and verifier requiring Sunshine/Moonlight or equivalent real-GPU captures for startup credits, character selection, first spawn, terrain, vegetation, water, campfire, shelter, pause, and save/quit before a packaged build is called investor-ready.
|
||||||
- [ ] Add an investor-demo acceptance gate: no current build should be described as investor visual MVP if menus are confusing, character art is mannequin-only, terrain is flat/tan, foliage is absent or unreadable, or core objects still read as primitive debug shapes.
|
- [ ] Add an investor-demo acceptance gate: no current build should be described as investor visual MVP if menus are confusing, character art is mannequin-only, terrain is flat/tan, foliage is absent or unreadable, or core objects still read as primitive debug shapes.
|
||||||
|
|
||||||
## 0.1.P MVP Audio And Atmosphere
|
## 0.1.P MVP Audio And Atmosphere
|
||||||
|
|||||||
@@ -42,6 +42,16 @@ Required evidence:
|
|||||||
- `06-pause-menu` - Escape opens the pause menu, mouse cursor is visible, and
|
- `06-pause-menu` - Escape opens the pause menu, mouse cursor is visible, and
|
||||||
gameplay is blocked.
|
gameplay is blocked.
|
||||||
- `07-save-quit` - Save & Quit shows the saving segment before closing.
|
- `07-save-quit` - Save & Quit shows the saving segment before closing.
|
||||||
|
- `08-terrain` - Ground Zero terrain reads as shaped coastal terrain, not a
|
||||||
|
flat tan placeholder.
|
||||||
|
- `09-vegetation` - grasses, shrubs, bushes, and trees are visible without
|
||||||
|
hiding interaction targets.
|
||||||
|
- `10-water` - the freshwater source reads as collectable water with bank/edge
|
||||||
|
dressing.
|
||||||
|
- `11-campfire` - the campfire reads as a campfire object, not a primitive
|
||||||
|
debug shape.
|
||||||
|
- `12-shelter` - the primitive shelter reads as a shelter object, not primitive
|
||||||
|
debug blocks.
|
||||||
|
|
||||||
Create `visual-startup-check.txt` in the capture folder with:
|
Create `visual-startup-check.txt` in the capture folder with:
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,44 @@
|
|||||||
|
# Packaged Demo Visual QA Evidence
|
||||||
|
|
||||||
|
Each Windows investor build needs a real-GPU visual evidence set before it is
|
||||||
|
called ready. Headless automation and QEMU guest-agent screenshots can confirm
|
||||||
|
process state, but they cannot prove that the rendered desktop, menus, terrain,
|
||||||
|
foliage, water, and survival objects are visually credible.
|
||||||
|
|
||||||
|
Use Sunshine plus Moonlight, or an equivalent real-GPU desktop capture path, and
|
||||||
|
save evidence under:
|
||||||
|
|
||||||
|
`Saved\VisualQA\InvestorDemo\<version-or-build>\`
|
||||||
|
|
||||||
|
Required screenshots or short clips:
|
||||||
|
|
||||||
|
- `01-startup-credits`
|
||||||
|
- `02-character-selection`
|
||||||
|
- `03-first-spawn`
|
||||||
|
- `04-terrain`
|
||||||
|
- `05-vegetation`
|
||||||
|
- `06-water`
|
||||||
|
- `07-campfire`
|
||||||
|
- `08-shelter`
|
||||||
|
- `09-pause-menu`
|
||||||
|
- `10-save-quit`
|
||||||
|
|
||||||
|
Evidence may be screenshots, a single labeled clip, or a short clip plus stills.
|
||||||
|
Do not commit raw captures to Git; keep them in `Saved\VisualQA` or publish
|
||||||
|
links/paths in release notes.
|
||||||
|
|
||||||
|
Create `visual-qa-summary.txt` beside the captures with:
|
||||||
|
|
||||||
|
- package path;
|
||||||
|
- build/version label;
|
||||||
|
- rendering preset used, normally Default;
|
||||||
|
- capture method, normally Sunshine plus Moonlight;
|
||||||
|
- tester name;
|
||||||
|
- pass/fail result;
|
||||||
|
- visible defects;
|
||||||
|
- whether the build is acceptable for investor viewing.
|
||||||
|
|
||||||
|
The package is not investor visual MVP ready if any required segment is missing
|
||||||
|
or if the first-spawn view still reads as flat terrain, absent foliage,
|
||||||
|
placeholder water, debug-shape campfire/shelter objects, confusing menus, or
|
||||||
|
broken save/quit flow.
|
||||||
@@ -29,6 +29,11 @@ echo 04-loading
|
|||||||
echo 05-first-spawn
|
echo 05-first-spawn
|
||||||
echo 06-pause-menu
|
echo 06-pause-menu
|
||||||
echo 07-save-quit
|
echo 07-save-quit
|
||||||
|
echo 08-terrain
|
||||||
|
echo 09-vegetation
|
||||||
|
echo 10-water
|
||||||
|
echo 11-campfire
|
||||||
|
echo 12-shelter
|
||||||
echo.
|
echo.
|
||||||
echo Create visual-startup-check.txt in the capture folder with package path,
|
echo Create visual-startup-check.txt in the capture folder with package path,
|
||||||
echo launcher used, capture method, tester, pass/fail result, and notes.
|
echo launcher used, capture method, tester, pass/fail result, and notes.
|
||||||
|
|||||||
@@ -0,0 +1,60 @@
|
|||||||
|
@echo off
|
||||||
|
setlocal EnableExtensions
|
||||||
|
|
||||||
|
set "PROJECT_DIR=%~dp0.."
|
||||||
|
set "PACKAGE_DIR=%PROJECT_DIR%\Builds\WindowsDevelopment"
|
||||||
|
set "DEMO_EXE=%PACKAGE_DIR%\AgrarianGame.exe"
|
||||||
|
set "CAPTURE_ROOT=%PROJECT_DIR%\Saved\VisualQA\InvestorDemo"
|
||||||
|
|
||||||
|
if /I "%~1"=="--check-tools" goto CHECK_TOOLS
|
||||||
|
|
||||||
|
call :CHECK_COMMON || exit /b %ERRORLEVEL%
|
||||||
|
|
||||||
|
if not exist "%CAPTURE_ROOT%" mkdir "%CAPTURE_ROOT%" >nul 2>nul
|
||||||
|
|
||||||
|
echo.
|
||||||
|
echo Agrarian investor-demo full visual QA evidence checklist
|
||||||
|
echo --------------------------------------------------------
|
||||||
|
echo Package: "%PACKAGE_DIR%"
|
||||||
|
echo Capture root: "%CAPTURE_ROOT%"
|
||||||
|
echo.
|
||||||
|
echo Use Sunshine plus Moonlight or an equivalent real GPU desktop capture path.
|
||||||
|
echo Do not use QEMU guest-agent screenshots for this visual gate.
|
||||||
|
echo Use the Default rendering preset unless intentionally validating another profile.
|
||||||
|
echo.
|
||||||
|
echo Required capture labels:
|
||||||
|
echo 01-startup-credits
|
||||||
|
echo 02-character-selection
|
||||||
|
echo 03-first-spawn
|
||||||
|
echo 04-terrain
|
||||||
|
echo 05-vegetation
|
||||||
|
echo 06-water
|
||||||
|
echo 07-campfire
|
||||||
|
echo 08-shelter
|
||||||
|
echo 09-pause-menu
|
||||||
|
echo 10-save-quit
|
||||||
|
echo.
|
||||||
|
echo Create visual-qa-summary.txt beside the captures with package path,
|
||||||
|
echo version label, rendering preset, capture method, tester, pass/fail result,
|
||||||
|
echo visible defects, and investor-viewing decision.
|
||||||
|
echo.
|
||||||
|
exit /b 0
|
||||||
|
|
||||||
|
:CHECK_TOOLS
|
||||||
|
call :CHECK_COMMON || exit /b %ERRORLEVEL%
|
||||||
|
echo READY: packaged demo exists and SunshineService is running.
|
||||||
|
exit /b 0
|
||||||
|
|
||||||
|
:CHECK_COMMON
|
||||||
|
if not exist "%DEMO_EXE%" (
|
||||||
|
echo ERROR: Packaged demo executable not found: "%DEMO_EXE%"
|
||||||
|
exit /b 2
|
||||||
|
)
|
||||||
|
|
||||||
|
sc query SunshineService | find /I "RUNNING" >nul 2>nul
|
||||||
|
if errorlevel 1 (
|
||||||
|
echo ERROR: SunshineService is not running. Start Sunshine before the investor visual QA capture.
|
||||||
|
exit /b 3
|
||||||
|
)
|
||||||
|
|
||||||
|
exit /b 0
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
"""Verify the packaged investor-demo visual QA evidence gate is documented."""
|
||||||
|
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
|
||||||
|
ROOT = Path(__file__).resolve().parents[1]
|
||||||
|
DOC = ROOT / "Docs" / "Ops" / "PackagedDemoVisualQAEvidence.md"
|
||||||
|
STARTUP_DOC = ROOT / "Docs" / "Ops" / "PackagedClientGpuStartupVisualTest.md"
|
||||||
|
BAT = ROOT / "Scripts" / "RunWindowsInvestorVisualQACheck.bat"
|
||||||
|
STARTUP_BAT = ROOT / "Scripts" / "RunWindowsGpuStartupVisualCheck.bat"
|
||||||
|
ROADMAP = ROOT / "AGRARIAN_DEVELOPMENT_ROADMAP.md"
|
||||||
|
|
||||||
|
REQUIRED_LABELS = [
|
||||||
|
"01-startup-credits",
|
||||||
|
"02-character-selection",
|
||||||
|
"03-first-spawn",
|
||||||
|
"04-terrain",
|
||||||
|
"05-vegetation",
|
||||||
|
"06-water",
|
||||||
|
"07-campfire",
|
||||||
|
"08-shelter",
|
||||||
|
"09-pause-menu",
|
||||||
|
"10-save-quit",
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
def require(condition, message):
|
||||||
|
if not condition:
|
||||||
|
raise SystemExit(f"FAILED: {message}")
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
doc = DOC.read_text(encoding="utf-8")
|
||||||
|
startup_doc = STARTUP_DOC.read_text(encoding="utf-8")
|
||||||
|
bat = BAT.read_text(encoding="utf-8")
|
||||||
|
startup_bat = STARTUP_BAT.read_text(encoding="utf-8")
|
||||||
|
roadmap = ROADMAP.read_text(encoding="utf-8")
|
||||||
|
|
||||||
|
for token in [
|
||||||
|
"Sunshine plus Moonlight",
|
||||||
|
"Saved\\VisualQA\\InvestorDemo",
|
||||||
|
"visual-qa-summary.txt",
|
||||||
|
"Do not commit raw captures to Git",
|
||||||
|
"Default",
|
||||||
|
"investor visual MVP ready",
|
||||||
|
]:
|
||||||
|
require(token in doc, f"visual QA evidence doc missing {token!r}")
|
||||||
|
|
||||||
|
for label in REQUIRED_LABELS:
|
||||||
|
require(label in doc, f"visual QA evidence doc missing {label!r}")
|
||||||
|
require(label in bat, f"Windows visual QA helper missing {label!r}")
|
||||||
|
|
||||||
|
for token in [
|
||||||
|
"08-terrain",
|
||||||
|
"09-vegetation",
|
||||||
|
"10-water",
|
||||||
|
"11-campfire",
|
||||||
|
"12-shelter",
|
||||||
|
]:
|
||||||
|
require(token in startup_doc, f"startup GPU visual doc missing expanded label {token!r}")
|
||||||
|
require(token in startup_bat, f"startup GPU visual helper missing expanded label {token!r}")
|
||||||
|
|
||||||
|
require("SunshineService" in bat, "Windows visual QA helper must check SunshineService")
|
||||||
|
require("--check-tools" in bat, "Windows visual QA helper must support --check-tools")
|
||||||
|
require(
|
||||||
|
"[x] Add packaged-demo visual QA screenshots or short clips" in roadmap,
|
||||||
|
"0.1.O packaged-demo visual QA evidence roadmap item is not checked off",
|
||||||
|
)
|
||||||
|
|
||||||
|
print("OK: packaged investor-demo visual QA evidence gate is documented and scripted.")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
Reference in New Issue
Block a user