This repository has been archived on 2026-05-24. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
AgrarianGameArchive/Scripts/verify_mvp_realism_target.py
T

67 lines
2.0 KiB
Python

from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
REQUIRED_SNIPPETS = {
"Docs/ArtUxCodeAndAssetStandards.md": [
"## MVP Realism Target Rules",
"production-directed proxies, not final art",
"avoid cosmetic-only changes",
"real-world biome references",
],
"Docs/CharactersAndObjects/MvpReadableSurvivalObjectProxies.md": [
"Final realistic art should replace these proxies",
"without changing survival",
],
"Docs/Terrain/GroundZeroNaturalEnvironmentPass.md": [
"coastal scrub",
"drive density and shape selection from land-cover",
],
"Docs/Terrain/GroundZeroWaterSourceVisualPass.md": [
"production water material",
"bank geometry",
],
"Docs/Terrain/GroundZeroDensitySightlineTuning.md": [
"coastal scrub biome",
"without hiding the first playable survival loop",
],
"Scripts/setup_ground_zero_demo_map.py": [
'M_AGR_GZ_Terrain_CoastalScrub',
'M_AGR_GZ_Tree_CoastalOak',
'M_AGR_GZ_Shrub_CoyoteBrush',
'M_AGR_GZ_Grass_DryCoastal',
'M_AGR_GZ_Stone_Sandstone',
'SIGHTLINE_TUNING_CONFIG',
],
"AGRARIAN_DEVELOPMENT_ROADMAP.md": [
"[x] Preserve realism as the target",
"production realism",
"cosmetic throwaways",
],
}
def main():
failures = []
for relative_path, snippets in REQUIRED_SNIPPETS.items():
path = ROOT / relative_path
if not path.exists():
failures.append(f"missing {relative_path}")
continue
text = path.read_text(encoding="utf-8")
for snippet in snippets:
if snippet not in text:
failures.append(f"{relative_path} missing snippet: {snippet}")
if failures:
raise SystemExit("MVP realism target verification failed:\n" + "\n".join(failures))
print("PASS: MVP realism target standards are documented and wired to 0.1.O visual gates.")
if __name__ == "__main__":
main()