diff --git a/Game/GigLine/Content/Hollywood/DemoMap.umap b/Game/GigLine/Content/Hollywood/DemoMap.umap index 44f8723..8d5cc73 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:66c7b6b25565c82ea47c120ad9f34395398941fa7b76723c847f89c85f355838 -size 790771 +oid sha256:e8e8e6056aad9c395b764c79c57098470c582875ab290860fd625de46017d552 +size 790759 diff --git a/Game/GigLine/Content/Hollywood/Site/M_Asphalt.uasset b/Game/GigLine/Content/Hollywood/Site/M_Asphalt.uasset index 0703900..272e7e8 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:8113cea62d459d08e17410a4c13362c61b1b224e438e412f6543732f70e5ea5d +oid sha256:1e9423cc6c4cbe910e4ec7189bbb671792d796009eef22f1f8be77c86f7af682 size 10019 diff --git a/Game/GigLine/Content/Hollywood/Site/M_Concrete.uasset b/Game/GigLine/Content/Hollywood/Site/M_Concrete.uasset index 43d1210..60afdce 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:12c21fd232255beffa0cf6ba332f2f35609752858253ccdd104acfb499652847 +oid sha256:4e13cba57f3a37b4794628d98af64266c3c6009d4991a73f0271e52c4658b98d size 10024 diff --git a/Game/GigLine/Content/Hollywood/Site/M_FacadeBanner.uasset b/Game/GigLine/Content/Hollywood/Site/M_FacadeBanner.uasset index f04e4fa..294bd46 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:32f7888ef1780f13828f0793edfc0c46f415bc3630e39a342441dfdbf3734064 +oid sha256:4af9fa5a26da127df682673e37893e6224ad0c1e66f38a5a18831fc32874c4e9 size 11419 diff --git a/Game/GigLine/Content/Hollywood/Site/M_FacadeGlass.uasset b/Game/GigLine/Content/Hollywood/Site/M_FacadeGlass.uasset index 86fcfd1..ec83a9e 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:6123a7c8a5e9e16050fdfc49645fcefc87639843b037eaac4251ef4cf9045b45 +oid sha256:c7737882d41b07886e0a1fc9daa112ee524210e7b4f1f3db8e92834d5a0de13e size 11414 diff --git a/Game/GigLine/Content/Hollywood/Site/M_FacadeStone.uasset b/Game/GigLine/Content/Hollywood/Site/M_FacadeStone.uasset index a9eae77..eab7036 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:b768fb597e1c394d22940ec45022b0dad3f6701cd133960c38adb003b855960f +oid sha256:e71ca19260cb15c7e9efb804e0620b1cf39329ba4f9b75fa6f536175612a80cc size 17083 diff --git a/Game/GigLine/Content/Hollywood/Site/M_FacadeStoneShadow.uasset b/Game/GigLine/Content/Hollywood/Site/M_FacadeStoneShadow.uasset index b23d899..b7c8c7b 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:e5b42cb1a79926a45292a0d4efba0442fceecfb1c4cf90765383204e72db0a14 +oid sha256:dd62a90211e75fb21e3d07d1fc62a6433d7f8295be2b30de48ffcdda14551614 size 17113 diff --git a/Game/GigLine/Content/Hollywood/Site/M_Ground.uasset b/Game/GigLine/Content/Hollywood/Site/M_Ground.uasset index 9786fa4..5bed471 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:3c2cf596c9f1cc226cef51cc0584af7d3d21fe000732e7368e0f1caee4b9d900 +oid sha256:6afa6e8f93e5330104374f5c129b70cc07d3c997189303a1e6ffbbb5b186ac91 size 10014 diff --git a/Game/GigLine/Content/Hollywood/Site/M_KerbConcrete.uasset b/Game/GigLine/Content/Hollywood/Site/M_KerbConcrete.uasset index 89c4741..5d0bb9b 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:119d6f42402cd555f1b7981f88348677c724d5e3bac01b8dbb933d800f5a1216 +oid sha256:8c05a19d449d1eec60f1fe847d7b7c179ed8b4d7a60f7dee15d436baf3768620 size 10044 diff --git a/Game/GigLine/Content/Hollywood/Site/M_RoadPaint.uasset b/Game/GigLine/Content/Hollywood/Site/M_RoadPaint.uasset index d03854c..f1b5082 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:cc864aa3afd2c398f674b39238afa0cf475a1339c75e453005ee9adf762198e1 +oid sha256:560fcdbdf6e84d32aaa3a6c89cf93e2feffaa322b403a413305bc1cdc9a68cfd size 10029 diff --git a/Game/GigLine/Content/Hollywood/Site/M_Stucco.uasset b/Game/GigLine/Content/Hollywood/Site/M_Stucco.uasset index cc31b68..63d715c 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:843edb566f4dd0490aa34cf352fb20a5e0dff7cca684f6aaa70600921477bd27 +oid sha256:ed7d707b0c3b4583a1561e55a019588a346ba23988016deb925cac19df2f2827 size 11389 diff --git a/Game/GigLine/Content/Hollywood/Site/Terrain_DEM.uasset b/Game/GigLine/Content/Hollywood/Site/Terrain_DEM.uasset index 7d8305b..37b3595 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:653bc6721818ae1991832be8fc8f982d08b9a2e90ef9c76461664f2a30d7643f +oid sha256:be54ed748c11716b53db5237515450a4792e2420e1c478a8fc91578c370bb814 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 368c9f4..07b9162 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:b62efa4776e7f650ab47e3ba8e652e5ef5595398da5240f46989cd30a2796aea +oid sha256:e30cc022c78b364abb4997b81fe47f2009558e92706a7b54d7bed3916848f929 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 4462727..b90ef07 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:4515a910914ac627e631c9e755f8d23a595a32e1bc94c99c9790add75c87f17c +oid sha256:700a855abb616493289d3461187ce4b4585105b8fef91194dec0e02ccd3dfe1c 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 e23808e..03b0c7a 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:677b8028974e213e0999977311344110012088e571235c04aa78e5b4f0ef4092 +oid sha256:05ff69bcef569136c79bd50461ad8482012748b1dcfae6c76db42b5591ab51b6 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 638a4b6..1fa500d 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:3518efa68d81f07fd8b000b3b703d4edcddc5481e4cc08c07363cb675337e5a9 +oid sha256:18c8c4ca546b1613ba02819b02246ba1b963f9bba6d985eec69fbb6e2d31ec34 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 8011db9..045b538 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:c61e497ebb3806092250ad4dda54dda11e9fd33fb3b251cd8083cad5a816345d +oid sha256:68b1f2c7636535ff11b10812c13f3bcd27249c0281292f94b2907d54fafb748e 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 cdce932..6249830 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:3fbbde29f459c00f5dc702fb1a4d22746bea8328734c9fde4d5ee7d5d22811fb +oid sha256:4bfbe619983c6a667ca3472c96cd3c0311f317f71735601bfb1cf7a07e93c9cc 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 bc038a8..53bc171 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:fa82c5833a002fa2eaf5538dd24fc1836e76c0c13658f70b8d33f1eea4965fd7 +oid sha256:e14562d78d3b74e6da8ff4dad9bf9488e2dba2ab8e76f6545749841d64099228 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 922c438..db219f2 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:066498d03ac532ec9df49446ad531349483a5ab2293456618703eb6e14cbfbbb +oid sha256:d8d044bbe2cd6bc90cb12755183602c5bebcd12486e13c819e2403533a8e0983 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 9227bb5..6881292 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:0d55641cb9d85be0b08b5dad91ebf17d7197200fff055a89bc453ccdc56a77db +oid sha256:6d375b8f355a77780aeedaf7935ff22401d15c0160ad5c15334f33afb849bd1a 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 efcacd5..c794efe 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:f78529722048adbf397e254cbdcce293dcaf2ffcab1c9ebf1c14f2e2de66a19c +oid sha256:c8e51714656b1bb5d2723e2874ce2fcddceff1d5bdc30337d15af750a44b0962 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 81b61d0..a826c92 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:1520abbba5573e8ab6132e7b81f772ee20ca195c808af30bb89f301466726459 +oid sha256:2097251b310e95ff95972b09e72e83d49d31e0085f60cd4d046c41af5a40bcb4 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 e95be74..4381fed 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:31455245092bba468439b5659172ea94552382b89b404bf685755a20bbda513e +oid sha256:e2e27c8ba84ab0b9067bb494841a91f76a224f3d273ff5d8f062efae0ced9ee4 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 43778af..7db9e61 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:83a09ea5883aee80be03c7f3e73afc190d4c92408233633164c97b7953e4a871 +oid sha256:50e9319fa32ee1da11a61f01a41703fab32faa464761017da75e563f5d722afb 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 ec239ea..d7077d5 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:4f5df2e7900669431e3f9ac6c676ada5d32d98e95e1a6433844a02803791385b +oid sha256:8164bf77fad88ddd369d5e33a8ac8427079f57b7b905900f15eec0bfcb8d4227 size 72413 diff --git a/Game/GigLine/Content/Test/ReviewMap.umap b/Game/GigLine/Content/Test/ReviewMap.umap index b771d6e..fca4bd9 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:3eda62300964b27943bbb15e827fcba371d9a01f59932407ee641ed50fdb2188 -size 30542 +oid sha256:2d05bcc27f359ef220100fb9bcd8e79ad9eba96037c4e353f4dbc7dc8e4f5094 +size 38294 diff --git a/Screenshots/README.md b/Screenshots/README.md index 3e19943..8d72852 100644 --- a/Screenshots/README.md +++ b/Screenshots/README.md @@ -1,36 +1,111 @@ -# Screenshots — demo-map visual review +# Screenshots -Rendered captures of **the demo map only** — what a player sees when the demo runs. Generated by [`Tools/render_screenshots.sh`](../Tools/render_screenshots.sh); the PNGs are committed so a reviewer sees exactly what the build rendered. +Two reviews in one file: -The review staging map (`/Game/Test/ReviewMap`) is not part of this set: it exists to hold the camera list and the hero detail rig, and it is not what ships. +- **ReviewMap** stages imported assets on their own — individual objects, the Blender import, the camera angles and the lighting comparison. Nothing from the game map is involved. +- **DemoMap** is the actual game map as it is being developed: the street, the buildings, the player and the vehicle in their real placement. -## How to regenerate +Both capture passes are produced by [`Tools/render_screenshots.sh`](../Tools/render_screenshots.sh); the asset renders come from [`Tools/blender_screenshots.py`](../Tools/blender_screenshots.py). -```bash -Tools/render_screenshots.sh --verify -``` +## Status -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. +**This is the only place approval state and issue notes are recorded.** Every image requires a fresh approval because every image changed. -## Status at a glance +| # | Part | Item | Status | Note | +| --- | --- | --- | --- | --- | +| 1 | ReviewMap | [character feet](review/review-character-feet.png) | ☐ pending | | +| 2 | ReviewMap | [character](review/review-character.png) | ☐ pending | | +| 3 | ReviewMap | [ground contact](review/review-ground-contact.png) | ☐ pending | | +| 4 | ReviewMap | [hero facade front](review/review-hero-facade-front.png) | ☐ pending | | +| 5 | ReviewMap | [hero facade oblique](review/review-hero-facade-oblique.png) | ☐ pending | | +| 6 | ReviewMap | [hero portals](review/review-hero-portals.png) | ☐ pending | | +| 7 | ReviewMap | [npc prefab](review/review-npc-prefab.png) | ☐ pending | | +| 8 | ReviewMap | [overview](review/review-overview.png) | ☐ pending | | +| 9 | ReviewMap | [player placement](review/review-player-placement.png) | ☐ pending | | +| 10 | ReviewMap | [scale cubes](review/review-scale-cubes.png) | ☐ pending | | +| 11 | ReviewMap | [shadow compare](review/review-shadow-compare.png) | ☐ pending | | +| 12 | ReviewMap | [vehicle](review/review-vehicle.png) | ☐ pending | | +| 13 | DemoMap | [crossing](demo/review-demo-crossing.png) | ☐ pending | | +| 14 | DemoMap | [feet](demo/review-demo-feet.png) | ☐ pending | | +| 15 | DemoMap | [north buildings](demo/review-demo-north-buildings.png) | ☐ pending | | +| 16 | DemoMap | [retail frontage](demo/review-demo-retail-frontage.png) | ☐ pending | | +| 17 | DemoMap | [spawn view](demo/review-demo-spawn-view.png) | ☐ pending | character and car float | +| 18 | DemoMap | [street level](demo/review-demo-street-level.png) | ☐ pending | character and car float | +| 19 | DemoMap | [third person front](demo/review-demo-third-person-front.png) | ☐ pending | character and car float | +| 20 | DemoMap | [third person walk](demo/review-demo-third-person-walk.png) | ☐ pending | character and car float | +| 21 | DemoMap | [third person](demo/review-demo-third-person.png) | ☐ pending | character and car float | +| 22 | DemoMap | [vehicle](demo/review-demo-vehicle.png) | ☐ pending | | +| 23 | DemoMap | [wheel](demo/review-demo-wheel.png) | ☐ pending | | -**This is the only place approval state is recorded.** Every image below requires a fresh approval because all of them changed; a note in this table is the record, and the per-shot sections describe what a shot should show rather than whether it passed. +**Status:** ☐ pending · ☑ approved · ☒ rejected. "ReviewMap" rows are asset staging; "DemoMap" rows are the game map. -| # | Shot | Status | Note | -| --- | --- | --- | --- | -| 1 | [spawn-view](#1-spawn-view) | ☐ pending | character and car float | -| 2 | [street-level](#2-street-level) | ☐ pending | character and car float | -| 3 | [crossing](#3-crossing) | ☐ pending | | -| 4 | [north-buildings](#4-north-buildings) | ☐ pending | | -| 5 | [retail-frontage](#5-retail-frontage) | ☐ pending | | -| 6 | [third-person](#6-third-person) | ☐ pending | character and car float | -| 7 | [third-person-front](#7-third-person-front) | ☐ pending | character and car float | -| 8 | [third-person-walk](#8-third-person-walk) | ☐ pending | character and car float | -| 9 | [vehicle](#9-vehicle) | ☐ pending | | -| 10 | [feet](#10-feet) | ☐ pending | | -| 11 | [wheel](#11-wheel) | ☐ pending | | +## Blender vs UE -**Status:** ☐ pending · ☑ approved · ☒ rejected. + + +### Blender vs in-game + +Regenerated by `Tools/build_comparison_md.py`; everything between the markers is rewritten, so edit outside them. + +- Captures: `Screenshots/review/` and `Screenshots/demo/` (23 files) +- Blender renders: `Screenshots/blender/` (22 files), made by `Tools/blender_screenshots.py` + +Left is what the engine draws, right is what Blender has. A gap between them is the import problem, not a taste problem: scale, material colour, missing parts and split systems all show up here before they show up in a review. + +### Side by side + +| In-game | Blender | Shot | +| --- | --- | --- | +| | | `review-character-feet.png` | +| | | `review-character.png` | +| | — | `review-ground-contact.png` | +| | — | `review-hero-facade-front.png` | +| | — | `review-hero-facade-oblique.png` | +| | — | `review-hero-portals.png` | +| | — | `review-npc-prefab.png` | +| | — | `review-overview.png` | +| | — | `review-player-placement.png` | +| | — | `review-scale-cubes.png` | +| | — | `review-shadow-compare.png` | +| | | `review-vehicle.png` | +| | — | `review-demo-crossing.png` | +| | — | `review-demo-feet.png` | +| | — | `review-demo-north-buildings.png` | +| | — | `review-demo-retail-frontage.png` | +| | — | `review-demo-spawn-view.png` | +| | — | `review-demo-street-level.png` | +| | | `review-demo-third-person-front.png` | +| | | `review-demo-third-person-walk.png` | +| | | `review-demo-third-person.png` | +| | | `review-demo-vehicle.png` | +| | — | `review-demo-wheel.png` | + +7 of 23 in-game captures have a Blender counterpart; the rest are street and building shots whose meshes come from the Geo pipeline rather than a .blend. + +Approval and issue notes are recorded only in the status table at the top of this file. + + + +## ReviewMap — asset staging + +The staging map (`/Game/Test/ReviewMap`, built by [`Tools/ue_build_review_map.py`](../Tools/ue_build_review_map.py)) always stages the assets the latest Blender import produced: the character with its hair, clothing and materials, the vehicle's five systems, the scale cubes, the NPC prefab and the hero facade. + +| Shot | Shows | +| --- | --- | +| ![](review/review-character-feet.png) | `review-character-feet.png` | +| ![](review/review-character.png) | `review-character.png` | +| ![](review/review-ground-contact.png) | `review-ground-contact.png` | +| ![](review/review-hero-facade-front.png) | `review-hero-facade-front.png` | +| ![](review/review-hero-facade-oblique.png) | `review-hero-facade-oblique.png` | +| ![](review/review-hero-portals.png) | `review-hero-portals.png` | +| ![](review/review-npc-prefab.png) | `review-npc-prefab.png` | +| ![](review/review-overview.png) | `review-overview.png` | +| ![](review/review-player-placement.png) | `review-player-placement.png` | +| ![](review/review-scale-cubes.png) | `review-scale-cubes.png` | +| ![](review/review-shadow-compare.png) | `review-shadow-compare.png` | +| ![](review/review-vehicle.png) | `review-vehicle.png` | + +## DemoMap — in-game ## 1. Spawn view @@ -212,36 +287,3 @@ Resolved and removed from this list on 2026-11-09: - "The El Capitan Theatre has no marquee or blade sign" — `Tools/ue_stage_theatre_trim.py` stages all six trim actors; verified in `/tmp/gigline/theatre-import.txt`. - "Materials are not yet created in Blender or fully integrated" — contradicted by the scene conventions above: every surface carries a look-dev material built in `Tools/ue_build_demo_map.py`. - - - -## Blender vs in-game - -Regenerated by `Tools/build_comparison_md.py`; everything between the markers is rewritten, so edit outside them. - -- In-game captures: `Screenshots/demo/` (11 files) -- Blender renders: `Screenshots/blender/` (22 files), made by `Tools/blender_screenshots.py` - -Left is what the engine draws, right is what Blender has. A gap between them is the import problem, not a taste problem: scale, material colour, missing parts and split systems all show up here before they show up in a review. - -### Side by side - -| In-game | Blender | Shot | -| --- | --- | --- | -| | — | `review-demo-crossing.png` | -| | — | `review-demo-feet.png` | -| | — | `review-demo-north-buildings.png` | -| | — | `review-demo-retail-frontage.png` | -| | — | `review-demo-spawn-view.png` | -| | — | `review-demo-street-level.png` | -| | | `review-demo-third-person-front.png` | -| | | `review-demo-third-person-walk.png` | -| | | `review-demo-third-person.png` | -| | | `review-demo-vehicle.png` | -| | — | `review-demo-wheel.png` | - -4 of 11 in-game captures have a Blender counterpart; the rest are street and building shots whose meshes come from the Geo pipeline rather than a .blend. - -Approval and issue notes are recorded only in the status table at the top of this file. - - diff --git a/Screenshots/demo/review-demo-crossing.png b/Screenshots/demo/review-demo-crossing.png index c081f5e..e820798 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:a54a6906e12d8cc43a29f7db5014d4f1c87d6e749372c5d1ad3991a5b0ed4a68 -size 3040622 +oid sha256:fa4440e0ee315185460d2cb857c910944508caae4c4cbb825c912f437346f94a +size 3038398 diff --git a/Screenshots/demo/review-demo-feet.png b/Screenshots/demo/review-demo-feet.png index dd0c4a0..4c3e566 100644 --- a/Screenshots/demo/review-demo-feet.png +++ b/Screenshots/demo/review-demo-feet.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9546d4cffd4350d4d690108d81c5e4d4db4b858f51962bd60d984e2544fa1354 -size 2863136 +oid sha256:9d45705f88b2bd95f69bf93a974ccedfece1b6212f803d2e672952a26cd7c834 +size 2860757 diff --git a/Screenshots/demo/review-demo-north-buildings.png b/Screenshots/demo/review-demo-north-buildings.png index 6d4ab18..56a66d5 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:ac1c17aaf2b5624e0c46c81d8abf1b77e327602a37bb2596cc6c7f833f8dfb4d -size 2596266 +oid sha256:ecad7be96c671f077c71058d6ebc300dc7f8b3438f224c386c8b7d147312a335 +size 2598985 diff --git a/Screenshots/demo/review-demo-retail-frontage.png b/Screenshots/demo/review-demo-retail-frontage.png index fdb204a..3df2eb7 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:9a317db65c66b222046dea689305db27d1ad2a7cdf612ff4bc19d91456a41ef5 -size 2470185 +oid sha256:46cd18f38a1d8337c3f88ff772e8bddad07f11ad4533071d9b3ed8a1fe00efe3 +size 2468688 diff --git a/Screenshots/demo/review-demo-spawn-view.png b/Screenshots/demo/review-demo-spawn-view.png index 3f915aa..41b60d7 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:18701b437ef1040cc32b49c6478e362aded91f2300ac46a27538be1258838162 -size 2877752 +oid sha256:5e8c4fbc9dfa291532e3fc100c5456ffdf360b7903e01add827e5446a84bea42 +size 2876459 diff --git a/Screenshots/demo/review-demo-street-level.png b/Screenshots/demo/review-demo-street-level.png index d8a8def..24c5932 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:d97dcb2e8d3d6a6b2cd0cc9b8f1a9d081231fa2f07a176be8794834baea9c00e -size 2754595 +oid sha256:488cf3c330f7c4e49194a447305d10fa5a15ddc489c164fa398896d80cce9fcc +size 2756207 diff --git a/Screenshots/demo/review-demo-third-person-front.png b/Screenshots/demo/review-demo-third-person-front.png index 99a9304..1551664 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:b25c9a3a6f14e7b0d397ec8653734530196fb60bd3b9c0b35470724b1cfb568c -size 2779065 +oid sha256:0057090fa8103aa59a5ac9e730add40023feeb06e7a13cd41c0134ad25beda14 +size 2780529 diff --git a/Screenshots/demo/review-demo-third-person-walk.png b/Screenshots/demo/review-demo-third-person-walk.png index 2470dba..d053791 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:ff4c0f854e4ac2ca62710a10255226240d186582eb8daeea068e43c51e1640ee -size 2169983 +oid sha256:e56462c9564b9ab71da51f8de66534b730d6e834d27f0a57083fcb767b74967c +size 2170342 diff --git a/Screenshots/demo/review-demo-third-person.png b/Screenshots/demo/review-demo-third-person.png index 7535e3e..2d047e6 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:9dbb7d06be7625329a30563aebf27209cddaad70be0a73a733df8260431c16ce -size 2936234 +oid sha256:f8553eeb7c9c638c0f9d4e4768f814d09820262f4fab3bbd723a5300b7849ca9 +size 2933420 diff --git a/Screenshots/demo/review-demo-vehicle.png b/Screenshots/demo/review-demo-vehicle.png index f5b9f03..734e9e9 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:d8581abfd44679af683e619c671912667db40f4f7a14dad4d8f91eb7a60a05d2 -size 2977323 +oid sha256:56048e15b5333ed602620ac9472252efc641dad7cf47890db78d2e9f411e318f +size 2977090 diff --git a/Screenshots/demo/review-demo-wheel.png b/Screenshots/demo/review-demo-wheel.png index d0086ef..32b58e9 100644 --- a/Screenshots/demo/review-demo-wheel.png +++ b/Screenshots/demo/review-demo-wheel.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a8a93573b7ad3ed94c66a4bfd9db149cfe2af9728523239bc28703c0ebec1976 -size 2798645 +oid sha256:d92d28fb07eca01ac9092ad3c30ac7757902e88a25561361684f4afbc25db2a6 +size 2795686 diff --git a/Screenshots/review/review-character-feet.png b/Screenshots/review/review-character-feet.png new file mode 100644 index 0000000..2859136 --- /dev/null +++ b/Screenshots/review/review-character-feet.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:619c5617afaba38b0e72223151a6b09571e20cad793f0bd82dfe1e07193bba79 +size 2014744 diff --git a/Screenshots/review/review-character.png b/Screenshots/review/review-character.png new file mode 100644 index 0000000..f31214f --- /dev/null +++ b/Screenshots/review/review-character.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c0a9fd5500f7000b7c3194b7cfe3795c9a3417210b730b0f8282e7904a3647d +size 2337464 diff --git a/Screenshots/review/review-ground-contact.png b/Screenshots/review/review-ground-contact.png new file mode 100644 index 0000000..e82e979 --- /dev/null +++ b/Screenshots/review/review-ground-contact.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4df1d6d8a47f9c20e41677128b1e71fbdaba7be0785a7b66a6ef15b091ff188 +size 1770961 diff --git a/Screenshots/review/review-hero-facade-front.png b/Screenshots/review/review-hero-facade-front.png new file mode 100644 index 0000000..d505dd9 --- /dev/null +++ b/Screenshots/review/review-hero-facade-front.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ff793f14ef7528c87537bc93c6734077724c437c5c43ef5c22a8962cf193190 +size 2330892 diff --git a/Screenshots/review/review-hero-facade-oblique.png b/Screenshots/review/review-hero-facade-oblique.png new file mode 100644 index 0000000..af3622e --- /dev/null +++ b/Screenshots/review/review-hero-facade-oblique.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:925731fbf215e360b3411127b94232f88578617fa232c4c978e55702d4e63632 +size 1576304 diff --git a/Screenshots/review/review-hero-portals.png b/Screenshots/review/review-hero-portals.png new file mode 100644 index 0000000..5fc4409 --- /dev/null +++ b/Screenshots/review/review-hero-portals.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15ca71e7650e5212de2675c66898cd2f4cd3df353cef52dbbb027047ba4c74f6 +size 1327492 diff --git a/Screenshots/review/review-npc-prefab.png b/Screenshots/review/review-npc-prefab.png new file mode 100644 index 0000000..d060f25 --- /dev/null +++ b/Screenshots/review/review-npc-prefab.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9c147ff0e06c6340403f2e28a20f2e726531e415c552226471483d386cb1aa2 +size 1723036 diff --git a/Screenshots/review/review-overview.png b/Screenshots/review/review-overview.png new file mode 100644 index 0000000..951819c --- /dev/null +++ b/Screenshots/review/review-overview.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5f4899d0d1398207b317c7f477a162ce4d9a71aab763003d019b5f84cd7ce27 +size 2451550 diff --git a/Screenshots/review/review-player-placement.png b/Screenshots/review/review-player-placement.png new file mode 100644 index 0000000..c2dbfae --- /dev/null +++ b/Screenshots/review/review-player-placement.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e8aa336f67e2902f21e2b808d228f4d04660cec2e0eb5ef3fbf229407d98b514 +size 1642872 diff --git a/Screenshots/review/review-scale-cubes.png b/Screenshots/review/review-scale-cubes.png new file mode 100644 index 0000000..323fb80 --- /dev/null +++ b/Screenshots/review/review-scale-cubes.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47dec4349e2f72e3d828151d83d0811d6bd8dd5b3d848a8bb5c9271c69f961c2 +size 1799988 diff --git a/Screenshots/review/review-shadow-compare.png b/Screenshots/review/review-shadow-compare.png new file mode 100644 index 0000000..9425f8d --- /dev/null +++ b/Screenshots/review/review-shadow-compare.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4d363d183d70d721c4e7ffca85ae63f2785899f771da1bdcc999826e6ef87bc +size 1805446 diff --git a/Screenshots/review/review-vehicle.png b/Screenshots/review/review-vehicle.png new file mode 100644 index 0000000..54292f5 --- /dev/null +++ b/Screenshots/review/review-vehicle.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d8109efce42370adf2f737fd6ed9a94d58bcc3dac0dc3fab2b113bdee924d41 +size 2519685 diff --git a/Tools/build_comparison_md.py b/Tools/build_comparison_md.py index bcc6684..6193c2f 100644 --- a/Tools/build_comparison_md.py +++ b/Tools/build_comparison_md.py @@ -23,6 +23,7 @@ import shutil import subprocess DEMO_DIR = "Screenshots/demo" +REVIEW_DIR = "Screenshots/review" BLENDER_DIR = "Screenshots/blender" OUT = "Screenshots/README.md" BEGIN = "" @@ -43,6 +44,12 @@ SHOT_ALIASES = { } +def review_shots(): + if not os.path.isdir(REVIEW_DIR): + return [] + return sorted(f for f in os.listdir(REVIEW_DIR) if f.endswith(".png")) + + def demo_shots(): if not os.path.isdir(DEMO_DIR): return [] @@ -95,15 +102,15 @@ def image_cell(path, width=520): def build(): - shots = demo_shots() + shots = review_shots() + demo_shots() renders = blender_renders() lines = [ - "## Blender vs in-game", + "### Blender vs in-game", "", "Regenerated by `Tools/build_comparison_md.py`; everything between the markers is", "rewritten, so edit outside them.", "", - f"- In-game captures: `{DEMO_DIR}/` ({len(shots)} files)", + f"- Captures: `{REVIEW_DIR}/` and `{DEMO_DIR}/` ({len(shots)} files)", f"- Blender renders: `{BLENDER_DIR}/` ({len(renders)} files), made by `Tools/blender_screenshots.py`", "", "Left is what the engine draws, right is what Blender has. A gap between them is the", @@ -121,7 +128,7 @@ def build(): match = best_blender_match(shot, renders) paired[shot] = match lines.append( - f"| {image_cell(f'{DEMO_DIR}/{shot}')} " + f"| {image_cell(f'{REVIEW_DIR if shot in review_shots() else DEMO_DIR}/{shot}')} " f"| {image_cell(f'{BLENDER_DIR}/{match}' if match else None)} " f"| `{shot}` |") if not shots: diff --git a/Tools/render_screenshots.sh b/Tools/render_screenshots.sh index 23170d2..c5603d1 100755 --- a/Tools/render_screenshots.sh +++ b/Tools/render_screenshots.sh @@ -69,6 +69,33 @@ done [ "$found" = "1" ] || { echo "ERROR: no demo screenshots found"; exit 1; } ls -1 "$REPO/Screenshots/demo" +echo "== 6b/7 capture the review map (asset staging) ==" +# The ReviewMap stages the models on their own - imported assets, camera angles and the +# lighting comparison - which is a different question from "does the game map look right". +# Its shots collect into Screenshots/review/ so the two reviews stay separate. +rm -rf "$REPO"/Game/GigLine/Saved/Screenshots/* 2>/dev/null || true +mkdir -p "$REPO/Game/GigLine/Saved/Screenshots/LinuxEditor" +"$ENGINE/Engine/Binaries/Linux/UnrealEditor-Cmd" "$PROJ" /Game/Test/ReviewMap \ + -game -windowed -ResX=1920 -ResY=1080 -nopause -nosplash -stdout + +echo "== 6c/7 collect the review-map screenshots ==" +mkdir -p "$REPO/Screenshots/review" +rm -f "$REPO"/Screenshots/review/review-*.png +found_review=0 +for src in \ + "$REPO/Game/GigLine/Saved/Screenshots"/*/review-*.png \ + "$REPO/Game/GigLine/Saved/Screenshots"/*/*/review-*.png \ + "$HOME/.config/Epic/GigLine/Saved/Screenshots"/*/review-*.png; do + [ -e "$src" ] || continue + case "$(basename "$src")" in + *demo-*) : ;; + *) cp -f "$src" "$REPO/Screenshots/review/"; found_review=1 ;; + esac +done +[ "$found_review" = "1" ] || echo "WARN: no review-map screenshots found" +ls -1 "$REPO/Screenshots/review" 2>/dev/null | head -20 + + # The scene audit is a gate: a wrong-material or misplaced actor is exactly the # kind of failure that still renders plausibly. if grep -q "failure(s) ==" /tmp/gigline/scene-audit.txt 2>/dev/null; then diff --git a/Tools/ue_build_review_map.py b/Tools/ue_build_review_map.py index 9a7d5c5..da3bbf7 100644 --- a/Tools/ue_build_review_map.py +++ b/Tools/ue_build_review_map.py @@ -192,6 +192,32 @@ try: else: log("MISSING: /Script/GigLine.GigLineCharacter") + # --- vehicle, from the latest Blender import ------------------------------ + # Staged from the same assets the demo map uses, so the review always shows what + # Tools/vehicle_from_template.py most recently produced rather than a copy that can + # drift. The panels are plain static meshes because the vehicle pawn keeps its + # physics only. + vehicle_origin = unreal.Vector(-1600.0, 600.0, 0.0) + vehicle_systems = ("SM_Vehicle_Body", "SM_Vehicle_Trim", "SM_Vehicle_Glass", + "SM_Vehicle_Lights", "SM_Vehicle_Wheels") + staged_vehicle = 0 + for index, mesh_name in enumerate(vehicle_systems): + mesh = unreal.EditorAssetLibrary.load_asset(f"/Game/Hollywood/Vehicle/{mesh_name}") + if not mesh: + log(f"MISSING vehicle system: {mesh_name}") + continue + piece = spawn(unreal.StaticMeshActor, vehicle_origin, f"Review_Vehicle_{index:02d}") + if piece: + piece.static_mesh_component.set_static_mesh(mesh) + piece.static_mesh_component.set_mobility(unreal.ComponentMobility.STATIC) + if mesh_name == "SM_Vehicle_Body": + paint = unreal.EditorAssetLibrary.load_asset( + "/Game/Hollywood/Vehicle/M_Vehicle_HatchPaint") + if paint: + piece.static_mesh_component.set_material(0, paint) + staged_vehicle += 1 + log(f"staged: {staged_vehicle} vehicle systems at the staging area") + # --- NPC prefab ----------------------------------------------------------- # The reusable NPC person: a collision capsule + visible MPFB body, standing # feet on Z 0, placed clear of the pawn so the prefab reads on its own. @@ -211,6 +237,10 @@ try: cams = [ # wide scene: character, both cubes, floor ("overview", unreal.Vector(700, -900, 620), unreal.Vector(0, 300, 80)), + # the vehicle staging, three-quarter front, same framing idea as the demo shot + ("vehicle", unreal.Vector(-900, -200, 260), unreal.Vector(-1600, 600, 90)), + # ground-level contact check: feet on the floor, shadow at the contact point + ("character-feet", unreal.Vector(220, -420, 45), unreal.Vector(0, 0, 25)), # the MPFB mannequin, mid shot ("character", unreal.Vector(200, -300, 160), unreal.Vector(0, 0, 85)), # both cubes from the south: contact shadow vs cast shadow