From fd2ad4b39191be1ea6430614abc29707e6dfbe59 Mon Sep 17 00:00:00 2001 From: Zwitschi Date: Mon, 9 Nov 2026 16:55:59 +0100 Subject: [PATCH] test(review): judge every shot from the targets file, and record that all nine fail --shots was parsing a table shape the README no longer has, so it silently found nothing. It now reads Tools/visual_targets.json, the same file the render gate uses, and reports one line per shot with the model's verdict and reasoning. The result is not good news and is committed as such: 0 of 9 shots judged 'yes'. Shot 7 shows the scene itself wrong - a disassembled car floating over a blank surface with no street or buildings in frame - and the others fail for missing detail rather than for a broken frame. visual_loop --verify still reports 9/9, because it only measures exposure and size. A warning now sits at the top of Screenshots/README.md: treat every image there as stale until the scene is fixed. The cause is not yet identified - the map builder's recent changes are 15 lines of vehicle staging, which does not explain a missing street. --- Game/GigLine/Content/Hollywood/DemoMap.umap | 4 +- .../Content/Hollywood/Site/M_Asphalt.uasset | 2 +- .../Content/Hollywood/Site/M_Concrete.uasset | 2 +- .../Hollywood/Site/M_FacadeBanner.uasset | 2 +- .../Hollywood/Site/M_FacadeGlass.uasset | 2 +- .../Hollywood/Site/M_FacadeStone.uasset | 2 +- .../Hollywood/Site/M_FacadeStoneShadow.uasset | 2 +- .../Content/Hollywood/Site/M_Ground.uasset | 2 +- .../Hollywood/Site/M_KerbConcrete.uasset | 2 +- .../Content/Hollywood/Site/M_RoadPaint.uasset | 2 +- .../Content/Hollywood/Site/M_Stucco.uasset | 2 +- .../Content/Hollywood/Site/Terrain_DEM.uasset | 2 +- .../Hollywood/Textures/T_Asphalt_BC.uasset | 2 +- .../Hollywood/Textures/T_Asphalt_R.uasset | 2 +- .../Hollywood/Textures/T_Concrete_BC.uasset | 2 +- .../Hollywood/Textures/T_Concrete_R.uasset | 2 +- .../Textures/T_StoneAshlar_BC.uasset | 2 +- .../Hollywood/Textures/T_StoneAshlar_R.uasset | 2 +- .../Hollywood/Textures/T_Stucco_BC.uasset | 2 +- .../Hollywood/Textures/T_Stucco_R.uasset | 2 +- .../Theatre/SM_Trim_BladeSign.uasset | 2 +- .../Theatre/SM_Trim_BladeSignBracket.uasset | 2 +- .../Theatre/SM_Trim_BladeSignFrame.uasset | 2 +- .../Theatre/SM_Trim_MarqueeCanopy.uasset | 2 +- .../Theatre/SM_Trim_MarqueeFascia.uasset | 2 +- .../Theatre/SM_Trim_MarqueeSoffit.uasset | 2 +- Game/GigLine/Content/Test/ReviewMap.umap | 2 +- Screenshots/README.md | 2 + Screenshots/demo/review-demo-crossing.png | 4 +- .../demo/review-demo-north-buildings.png | 4 +- .../demo/review-demo-retail-frontage.png | 4 +- Screenshots/demo/review-demo-spawn-view.png | 4 +- Screenshots/demo/review-demo-street-level.png | 4 +- .../demo/review-demo-third-person-front.png | 4 +- .../demo/review-demo-third-person-walk.png | 4 +- Screenshots/demo/review-demo-third-person.png | 4 +- Screenshots/demo/review-demo-vehicle.png | 4 +- Tools/judge_screenshot.py | 45 +++++++++---------- 38 files changed, 70 insertions(+), 69 deletions(-) diff --git a/Game/GigLine/Content/Hollywood/DemoMap.umap b/Game/GigLine/Content/Hollywood/DemoMap.umap index 928635a..b0c7e55 100644 --- a/Game/GigLine/Content/Hollywood/DemoMap.umap +++ b/Game/GigLine/Content/Hollywood/DemoMap.umap @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6846baa521fda37a1fd933fbe9b35f817c021be632f266f56cd605e2fd513374 -size 791467 +oid sha256:db87cc849b7bfe4f4345e5c4286966e4ec789f99dd945c1160ba3d1d09738cd0 +size 793185 diff --git a/Game/GigLine/Content/Hollywood/Site/M_Asphalt.uasset b/Game/GigLine/Content/Hollywood/Site/M_Asphalt.uasset index 02110f4..9af0e49 100644 --- a/Game/GigLine/Content/Hollywood/Site/M_Asphalt.uasset +++ b/Game/GigLine/Content/Hollywood/Site/M_Asphalt.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:57a074d5a39fce014d7201d1f3b77d9ebd9f0cc83abef0d9c2ede21d3f48d6b3 +oid sha256:3fc3f5241a99bbc1ce9c25d45ad82af0a4787251affd751cb8bee6aa99753456 size 10019 diff --git a/Game/GigLine/Content/Hollywood/Site/M_Concrete.uasset b/Game/GigLine/Content/Hollywood/Site/M_Concrete.uasset index 93e6bf6..dacaa31 100644 --- a/Game/GigLine/Content/Hollywood/Site/M_Concrete.uasset +++ b/Game/GigLine/Content/Hollywood/Site/M_Concrete.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:db060433bbc2a02620448a1ec37c6aee437dbf7ccc3cb3eb0266d0811e88db4a +oid sha256:94711674e93d74b7717b1de17a4f59aa490560a2f901291816d7fe5978b53463 size 10024 diff --git a/Game/GigLine/Content/Hollywood/Site/M_FacadeBanner.uasset b/Game/GigLine/Content/Hollywood/Site/M_FacadeBanner.uasset index 8a1b8f6..57acf1f 100644 --- a/Game/GigLine/Content/Hollywood/Site/M_FacadeBanner.uasset +++ b/Game/GigLine/Content/Hollywood/Site/M_FacadeBanner.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3883f499044899bcc8e5e5184e5f98c815f0465315f3b8320f5984654e57cab5 +oid sha256:49df36cc0fd28fc2fe1b17dafea05fbf4e8c84a83906be75c8e9c8fe8dfbba32 size 11419 diff --git a/Game/GigLine/Content/Hollywood/Site/M_FacadeGlass.uasset b/Game/GigLine/Content/Hollywood/Site/M_FacadeGlass.uasset index 03c090d..dcf84fd 100644 --- a/Game/GigLine/Content/Hollywood/Site/M_FacadeGlass.uasset +++ b/Game/GigLine/Content/Hollywood/Site/M_FacadeGlass.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b2fb0187b4f6762846aa47501f157fe241eab22a9fcc04f7a3ac6b875122bdc7 +oid sha256:3f0556e39deca10a2f4c3a0b64427fbd00459656381b7677d3c986f5ea5fdef9 size 11414 diff --git a/Game/GigLine/Content/Hollywood/Site/M_FacadeStone.uasset b/Game/GigLine/Content/Hollywood/Site/M_FacadeStone.uasset index c772541..f27baa6 100644 --- a/Game/GigLine/Content/Hollywood/Site/M_FacadeStone.uasset +++ b/Game/GigLine/Content/Hollywood/Site/M_FacadeStone.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ef4566c9d2a39873addfc11a8e7ef4f586cfeed5c6a2ba4d480067ea3c5d5150 +oid sha256:96b4544f3c2b3f8daabbf1a64f3e029b202ddf12e308647a9fc1f93352b746dd size 17083 diff --git a/Game/GigLine/Content/Hollywood/Site/M_FacadeStoneShadow.uasset b/Game/GigLine/Content/Hollywood/Site/M_FacadeStoneShadow.uasset index 59076af..7ddc26d 100644 --- a/Game/GigLine/Content/Hollywood/Site/M_FacadeStoneShadow.uasset +++ b/Game/GigLine/Content/Hollywood/Site/M_FacadeStoneShadow.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6d0962422bf14b1ddb2a04366a8f1ec44ac3ce9312aa2581570486397a28dc78 +oid sha256:c80d060a0c6c6fd70f8fc914847ed8656a7143fd1b2256c8d82658b40237c7f4 size 17113 diff --git a/Game/GigLine/Content/Hollywood/Site/M_Ground.uasset b/Game/GigLine/Content/Hollywood/Site/M_Ground.uasset index 7bb1544..1f85231 100644 --- a/Game/GigLine/Content/Hollywood/Site/M_Ground.uasset +++ b/Game/GigLine/Content/Hollywood/Site/M_Ground.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d52810732473b644940a0c33f36c481df72a0787a36452cbcb48f025d6f14eb4 +oid sha256:7ddea032ebd69d3378a8426c8e75a83bb703bb561db5fc058a4a1017caaabdda size 10014 diff --git a/Game/GigLine/Content/Hollywood/Site/M_KerbConcrete.uasset b/Game/GigLine/Content/Hollywood/Site/M_KerbConcrete.uasset index b7eab3f..e3bea0e 100644 --- a/Game/GigLine/Content/Hollywood/Site/M_KerbConcrete.uasset +++ b/Game/GigLine/Content/Hollywood/Site/M_KerbConcrete.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3865687d51b7b24713d40056c4cc9f317d73e9e8fde2cd85cba3d033f3eae68e +oid sha256:5224c2912ba78fcf903489db54cb49d21a8b1d26276078631acce7bcd6e55113 size 10044 diff --git a/Game/GigLine/Content/Hollywood/Site/M_RoadPaint.uasset b/Game/GigLine/Content/Hollywood/Site/M_RoadPaint.uasset index 0c08a92..2f660f8 100644 --- a/Game/GigLine/Content/Hollywood/Site/M_RoadPaint.uasset +++ b/Game/GigLine/Content/Hollywood/Site/M_RoadPaint.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:23c0b73cbc3e8369906b1e047bafc16a8cdd260b9db659aef06046a9caaa9a3e +oid sha256:da7c7973d3f69423d3da49973e8c4a9b36267348f94bd00983c729186dc5345f size 10029 diff --git a/Game/GigLine/Content/Hollywood/Site/M_Stucco.uasset b/Game/GigLine/Content/Hollywood/Site/M_Stucco.uasset index 460405e..cbddb42 100644 --- a/Game/GigLine/Content/Hollywood/Site/M_Stucco.uasset +++ b/Game/GigLine/Content/Hollywood/Site/M_Stucco.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:29224ed00fe5607efc8439b3e4915ccebe4fd25ad20723513ab00d7f69f94790 +oid sha256:111009254ab5a5026f8ef2c844b47fde96c04e7d593d124da134f8f242acc797 size 11389 diff --git a/Game/GigLine/Content/Hollywood/Site/Terrain_DEM.uasset b/Game/GigLine/Content/Hollywood/Site/Terrain_DEM.uasset index 7d1cde9..df1efdc 100644 --- a/Game/GigLine/Content/Hollywood/Site/Terrain_DEM.uasset +++ b/Game/GigLine/Content/Hollywood/Site/Terrain_DEM.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2a426e91e8a57221701729d4714beb7c8c9556ca3440700bd93f0fa57fd1f983 +oid sha256:0595f379e68d6671e8973443489d770b3053cd83c067b9127c106e4b0f9c337c size 357901 diff --git a/Game/GigLine/Content/Hollywood/Textures/T_Asphalt_BC.uasset b/Game/GigLine/Content/Hollywood/Textures/T_Asphalt_BC.uasset index db192f8..fcb4218 100644 --- a/Game/GigLine/Content/Hollywood/Textures/T_Asphalt_BC.uasset +++ b/Game/GigLine/Content/Hollywood/Textures/T_Asphalt_BC.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:709010f64c821ba4dc2b45afc61435a7543c4aec5bdb7c570c2db22f3325f8b6 +oid sha256:51666d50e5d8e144061bd92826cfb14a2cc1e8579bdb5e18d2b4cee3fd489a44 size 70879 diff --git a/Game/GigLine/Content/Hollywood/Textures/T_Asphalt_R.uasset b/Game/GigLine/Content/Hollywood/Textures/T_Asphalt_R.uasset index 27c999b..b510a89 100644 --- a/Game/GigLine/Content/Hollywood/Textures/T_Asphalt_R.uasset +++ b/Game/GigLine/Content/Hollywood/Textures/T_Asphalt_R.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6989826840117e28c57e781367780af8899ad5cbcb871c30433252703e898224 +oid sha256:2cd8b0a4d5c6c76e1bb7c96f181989b296a29b425d161b1c09079e7bdfb71db4 size 29011 diff --git a/Game/GigLine/Content/Hollywood/Textures/T_Concrete_BC.uasset b/Game/GigLine/Content/Hollywood/Textures/T_Concrete_BC.uasset index cef8a61..0812956 100644 --- a/Game/GigLine/Content/Hollywood/Textures/T_Concrete_BC.uasset +++ b/Game/GigLine/Content/Hollywood/Textures/T_Concrete_BC.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e521a43ab4320385b596a98552cac9cd987d2515278769065e323d0d290db5c7 +oid sha256:5e1c583646e26090b2cc3016301117634ad811279abae2db40e166990810a7e4 size 58568 diff --git a/Game/GigLine/Content/Hollywood/Textures/T_Concrete_R.uasset b/Game/GigLine/Content/Hollywood/Textures/T_Concrete_R.uasset index 5c64d82..e6df403 100644 --- a/Game/GigLine/Content/Hollywood/Textures/T_Concrete_R.uasset +++ b/Game/GigLine/Content/Hollywood/Textures/T_Concrete_R.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3f73dcf6f53d8ccad5b87e0807cc3b02b3126ca72ada145bbc45bccbc9b86111 +oid sha256:56a7245d032843a599537b7f567ed80daccaf10483f3e02022a4488af63fbbdd size 17517 diff --git a/Game/GigLine/Content/Hollywood/Textures/T_StoneAshlar_BC.uasset b/Game/GigLine/Content/Hollywood/Textures/T_StoneAshlar_BC.uasset index 264908f..d1b1949 100644 --- a/Game/GigLine/Content/Hollywood/Textures/T_StoneAshlar_BC.uasset +++ b/Game/GigLine/Content/Hollywood/Textures/T_StoneAshlar_BC.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:64324292e11f9bc8e73a43dec2c37f7ac83429a4d50020d5edb8a1d808dcdb0f +oid sha256:89919c1986e464655fec9aee3955e69d131e34caeecb1c98459d292381feab1f size 40610 diff --git a/Game/GigLine/Content/Hollywood/Textures/T_StoneAshlar_R.uasset b/Game/GigLine/Content/Hollywood/Textures/T_StoneAshlar_R.uasset index ed0967d..aee83d9 100644 --- a/Game/GigLine/Content/Hollywood/Textures/T_StoneAshlar_R.uasset +++ b/Game/GigLine/Content/Hollywood/Textures/T_StoneAshlar_R.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b55167f97b678cc4c4ded2fc45aa4a8a0eee84dfd8c74e5b4de0296a29d7688a +oid sha256:2d274b8d1af8c28ba051c36d3b0c75cb5cab62a0956838d741a0d81b246c5412 size 18770 diff --git a/Game/GigLine/Content/Hollywood/Textures/T_Stucco_BC.uasset b/Game/GigLine/Content/Hollywood/Textures/T_Stucco_BC.uasset index fb2b92a..aa976fc 100644 --- a/Game/GigLine/Content/Hollywood/Textures/T_Stucco_BC.uasset +++ b/Game/GigLine/Content/Hollywood/Textures/T_Stucco_BC.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:98e59ba5fbf6b47218e7ecffd9a33010be5835ac53f93b1bfad133bad97286d0 +oid sha256:6baacdd1aa3eecc1248141932ce45ce5bc1b7d18cb8d61c023990e5a48c32bfe size 62746 diff --git a/Game/GigLine/Content/Hollywood/Textures/T_Stucco_R.uasset b/Game/GigLine/Content/Hollywood/Textures/T_Stucco_R.uasset index c34903b..c9c33b9 100644 --- a/Game/GigLine/Content/Hollywood/Textures/T_Stucco_R.uasset +++ b/Game/GigLine/Content/Hollywood/Textures/T_Stucco_R.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a453143fb7cb0149f5e5c0a0f94c225bf8dce84af7e90e318380a878e83d2fdc +oid sha256:0e76c0b224f1746b379057686608104e9df6ca0c06cd5e007dc15732e9e488d2 size 17541 diff --git a/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_BladeSign.uasset b/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_BladeSign.uasset index 68e48b1..d341567 100644 --- a/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_BladeSign.uasset +++ b/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_BladeSign.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c7dbddcfac224daf2b22ba7ef9a22b13393cef6d93927b5f6df814cd1879da18 +oid sha256:dbe0de6d1b45556ea501256c33f9fd1f7ad11e6395030ebfeb1d435fbb55a7ac size 72330 diff --git a/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_BladeSignBracket.uasset b/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_BladeSignBracket.uasset index 075b9a5..641fb0e 100644 --- a/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_BladeSignBracket.uasset +++ b/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_BladeSignBracket.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:08b107a2df050822d78bf07670e59892de8ce615666068b9e756b405a01a5133 +oid sha256:5883f62e936aab05628092cd4b0d5b6e18c9d16961e2714a8a40e3f0f709285b size 72466 diff --git a/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_BladeSignFrame.uasset b/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_BladeSignFrame.uasset index 87e1ef8..df54e9e 100644 --- a/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_BladeSignFrame.uasset +++ b/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_BladeSignFrame.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a2f29a34e1b3aa0f8d0d7481272bebb42ba8a308df9a456bae2c6a4cb108bf82 +oid sha256:8e04d3c400a4262d7e7d8b7e041614d690af591098de83d40b44846290e08474 size 72406 diff --git a/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_MarqueeCanopy.uasset b/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_MarqueeCanopy.uasset index 1148bc3..62d1e0f 100644 --- a/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_MarqueeCanopy.uasset +++ b/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_MarqueeCanopy.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2ff123250bc27b04bb3e56af44da0773a213ede26435c932614d0f47d4695aa0 +oid sha256:7934c60fa520476af1e34c4fbc10f6250aa8328b82e3a33793b27f5ced33ffe8 size 72370 diff --git a/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_MarqueeFascia.uasset b/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_MarqueeFascia.uasset index ee7323d..9d8a9d5 100644 --- a/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_MarqueeFascia.uasset +++ b/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_MarqueeFascia.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c76ed7d7446762df4880090de0aadba6e362ba4b7d3079f35014c07feace62cd +oid sha256:61f5976bacd7bc4bd40207f341c60d722c9a6579b2743f3f760b2a1280f2718b size 72438 diff --git a/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_MarqueeSoffit.uasset b/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_MarqueeSoffit.uasset index aa211ad..ce35884 100644 --- a/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_MarqueeSoffit.uasset +++ b/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_MarqueeSoffit.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:60a225b09b1da360ef13ba3f0fa3c95deee873af16cfdd92ac15739734a9ecc6 +oid sha256:903fdb817e1acef75efb97f5d28ab1153ab5377df2e82bec8fb820f7aab0b25d size 72413 diff --git a/Game/GigLine/Content/Test/ReviewMap.umap b/Game/GigLine/Content/Test/ReviewMap.umap index 5d1b5e4..5a74b02 100644 --- a/Game/GigLine/Content/Test/ReviewMap.umap +++ b/Game/GigLine/Content/Test/ReviewMap.umap @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7037728f0ef8ce4a44dc8678bfe1c8d2de8f9ca3ec575f19b7fb66ffec1a6b06 +oid sha256:476a3e65a04e3df43393d9d5a8135c776cbf436c34978b9a6ffb0bdbf1ab3f50 size 30542 diff --git a/Screenshots/README.md b/Screenshots/README.md index 400ee95..81ea83c 100644 --- a/Screenshots/README.md +++ b/Screenshots/README.md @@ -12,6 +12,8 @@ Tools/render_screenshots.sh --verify Stages the demo shot cameras, runs the game on `/Game/Hollywood/DemoMap`, copies the PNGs into `Screenshots/demo/` and then runs [`Tools/visual_loop.py`](../Tools/visual_loop.py) `--verify` to check that each shot still shows the content its expectation describes. About a minute. +> **WARNING — the current capture set is broken (2026-11-09).** All nine shots were judged `no` by the vision model, and shot 7 shows the scene itself wrong: a disassembled car floating over a blank surface with no street or buildings in frame. `--verify` still reports 9/9 because it only measures exposure and size. Treat every image in this file as stale until this is fixed; the cause is not yet identified. + ## Status at a glance Every shot is embedded below, in order, so the whole review happens in this file. diff --git a/Screenshots/demo/review-demo-crossing.png b/Screenshots/demo/review-demo-crossing.png index 753d73a..c43a8ee 100644 --- a/Screenshots/demo/review-demo-crossing.png +++ b/Screenshots/demo/review-demo-crossing.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1b074434a02c309d8ed8681a388b45d5beed97e22ba6c221290c13c33f76984d -size 3041476 +oid sha256:58a73bed3e19946d54d503fa709f871b88ccd18a623d623962577e8abc87ddba +size 2985154 diff --git a/Screenshots/demo/review-demo-north-buildings.png b/Screenshots/demo/review-demo-north-buildings.png index a5ec239..d3c9e63 100644 --- a/Screenshots/demo/review-demo-north-buildings.png +++ b/Screenshots/demo/review-demo-north-buildings.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:206d5e1c8e36d38d55b1031db9d600447eb3c1891c45e01e81f8b77d505fa95a -size 2597469 +oid sha256:523d1f6e069ba46547df6104fd11188738bf3aa82182bab50540e55de1a826f8 +size 2596802 diff --git a/Screenshots/demo/review-demo-retail-frontage.png b/Screenshots/demo/review-demo-retail-frontage.png index 42fc8f1..b933943 100644 --- a/Screenshots/demo/review-demo-retail-frontage.png +++ b/Screenshots/demo/review-demo-retail-frontage.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:763162c1e5818b325aada59d6ed768d6affa54419ad50ca6df6c9d7f6b009aac -size 2472801 +oid sha256:5f8e7f8567907ac3a8e268a8d8629ce28024bd2f3bdfc7f82c22cf3430be4463 +size 2469856 diff --git a/Screenshots/demo/review-demo-spawn-view.png b/Screenshots/demo/review-demo-spawn-view.png index 9a50375..6be9926 100644 --- a/Screenshots/demo/review-demo-spawn-view.png +++ b/Screenshots/demo/review-demo-spawn-view.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9bac3bce09d644f3a166f640cd270be41792d2cab399dbb7cb9167802f0db80b -size 2871353 +oid sha256:0fe8e6a43db74024b7900c78f9f57f08b2443fea7f442b91f25157cbd392cfcb +size 2850297 diff --git a/Screenshots/demo/review-demo-street-level.png b/Screenshots/demo/review-demo-street-level.png index 60fd6ce..7e9e888 100644 --- a/Screenshots/demo/review-demo-street-level.png +++ b/Screenshots/demo/review-demo-street-level.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4e546bbfba026973215a9a02af11eb84952db477c1e43d51a6e2b9541e6a80cf -size 2745464 +oid sha256:19a167c8769e52d5379c0b50dc91921df4b568a33ff96f08c669afbfe5913798 +size 2740834 diff --git a/Screenshots/demo/review-demo-third-person-front.png b/Screenshots/demo/review-demo-third-person-front.png index e9bafc0..0f306a7 100644 --- a/Screenshots/demo/review-demo-third-person-front.png +++ b/Screenshots/demo/review-demo-third-person-front.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:088491f77a8594547aab0b24f81d075cc2ba098c867f4b082fea72800b232c23 -size 2781176 +oid sha256:969872e5e748a32a70b861413965885cb7074ea119ec1b303a8b120415a5bd36 +size 2777779 diff --git a/Screenshots/demo/review-demo-third-person-walk.png b/Screenshots/demo/review-demo-third-person-walk.png index fa38999..7c0e92b 100644 --- a/Screenshots/demo/review-demo-third-person-walk.png +++ b/Screenshots/demo/review-demo-third-person-walk.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0fe868c2c863fa6833ddbb258f147d45a57394eab514899fe5f3abb8cbb82cb1 -size 2168829 +oid sha256:3f8c2c44dbae59f9c68a3201cc65810b6dc5eac556ae7df6b25865e132fbd786 +size 2251820 diff --git a/Screenshots/demo/review-demo-third-person.png b/Screenshots/demo/review-demo-third-person.png index 39ba44a..0d0afac 100644 --- a/Screenshots/demo/review-demo-third-person.png +++ b/Screenshots/demo/review-demo-third-person.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:38c6ea2cd58590e86ae95370f751e0d0970092595d8adc56b571a78f0d60b613 -size 2939297 +oid sha256:5aa81c793eadb383ee3362f733a8e78a7ecb94269e5f43c3504ed5de4ee6f4b1 +size 2936154 diff --git a/Screenshots/demo/review-demo-vehicle.png b/Screenshots/demo/review-demo-vehicle.png index 959eecf..3832162 100644 --- a/Screenshots/demo/review-demo-vehicle.png +++ b/Screenshots/demo/review-demo-vehicle.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f2fc2be20d0b00e4ed979fbc88b948663a1725454940b197442ce098281b8600 -size 2961103 +oid sha256:5ac21f00381f8d293e9fa2214892b0e383b0d83b3377da8f4e8b0eeee61285f1 +size 2921800 diff --git a/Tools/judge_screenshot.py b/Tools/judge_screenshot.py index e13f877..1f0e556 100755 --- a/Tools/judge_screenshot.py +++ b/Tools/judge_screenshot.py @@ -112,26 +112,27 @@ def judge(api_key, image_path, expect, model, timeout=60): return json.loads(m.group(0)) -def parse_shots_from_readme(): - """Parse the Screenshots/README.md tables into (path, expected) pairs.""" - readme = os.path.join(PROJECT_ROOT, "Screenshots", "README.md") - if not os.path.isfile(readme): - sys.exit(f"error: no {readme}") - text = open(readme, encoding="utf-8").read() +def parse_shots_from_targets(): + """Read the review shots and their expectations from Tools/visual_targets.json. + + Parsing the README's tables broke when the README was restructured into per-shot + sections with the comparison table appended: the old parser looked for a table whose + first cell held a backticked `review-` name. The targets file is the same source the + render gate uses, so it is both stable and the thing the expectations are written to. + """ + targets_path = os.path.join(PROJECT_ROOT, "Tools", "visual_targets.json") + if not os.path.isfile(targets_path): + sys.exit(f"error: no {targets_path}") + import json + with open(targets_path) as handle: + data = json.load(handle) rows = [] - # Each table row: | File | ... | ... | What it shows | - for line in text.splitlines(): - if not line.strip().startswith("|"): + for target in data.get("targets", []): + shot = target.get("shot") or "" + expect = target.get("expect") or "" + if not shot or not expect: continue - cells = [c.strip() for c in line.strip().strip("|").split("|")] - if not cells or "`review-" not in cells[0]: - continue - fname = re.search(r"`(review-[^`]+\.png)`", cells[0]) - if not fname: - continue - # the last cell is the "What it shows" description - expect = cells[-1] - rows.append((fname.group(1), expect)) + rows.append((shot, expect)) return rows @@ -151,16 +152,14 @@ def main(): api_key = load_api_key() if args.shots: - shots = parse_shots_from_readme() + shots = parse_shots_from_targets() if not shots: - sys.exit("error: no review shots found in Screenshots/README.md") - # Only review-map shots (skip the demo/ ones which have a preview column too). - shots = [s for s in shots if "/demo/" not in s[0]] + sys.exit("error: no shots found in Tools/visual_targets.json") n = len(shots) print(f"Judging {n} screenshots with {args.model} ...") ok = 0 for i, (fname, expect) in enumerate(shots, 1): - path = os.path.join(PROJECT_ROOT, "Screenshots", fname.replace("Screenshots/", "")) + path = os.path.join(PROJECT_ROOT, fname) if not os.path.isfile(path): print(f"[{i}/{n}] {fname}: MISSING (skip)") continue