Guard gear fit with headless and Blender regression checks
The Python fit test now caps the glasses at 0.70x head width and requires a positive bag clearance on both the coat and dress. The Godot character suite loads head/back gear on six roles and checks attach parents, head width and brow bounds, and that back gear reaches beyond the 0.26 m body silhouette. Rebuilt and re-baked all 18 gear assets; no-op GLB export churn was reverted. Headless 229/229, Python 87/87.
This commit is contained in:
1 parent
a478bfbf35
commit
1b319c48b7
5 files changed
+82
-8
No files matched your search
@@ -53,7 +53,8 @@ class BuiltAssetTests(unittest.TestCase):
|
||||
self.assertAlmostEqual(coat["reference"]["clothing_radius"], 0.225, places=3)
|
||||
sunglasses = next(row for row in coat["gear"] if row["name"] == "sunglasses")
|
||||
self.assertEqual(sunglasses["attach"], "head")
|
||||
self.assertLess(sunglasses["width"], coat["reference"]["head_width"])
|
||||
self.assertLessEqual(sunglasses["width"],
|
||||
0.70 * coat["reference"]["head_width"])
|
||||
bag = next(row for row in coat["gear"] if row["name"] == "shoulder_bag")
|
||||
self.assertEqual(bag["attach"], "back")
|
||||
self.assertGreaterEqual(bag["x_extent"], 0.2)
|
||||
@@ -64,7 +65,10 @@ class BuiltAssetTests(unittest.TestCase):
|
||||
self.assertEqual(len(row["min"]), 3)
|
||||
self.assertEqual(len(row["max"]), 3)
|
||||
self.assertIn("npc_dress", report)
|
||||
self.assertAlmostEqual(report["npc_dress"]["reference"]["clothing_radius"], 0.26, places=3)
|
||||
dress = report["npc_dress"]
|
||||
self.assertAlmostEqual(dress["reference"]["clothing_radius"], 0.26, places=3)
|
||||
dress_bag = next(row for row in dress["gear"] if row["name"] == "shoulder_bag")
|
||||
self.assertGreater(dress_bag["x_clearance"], 0)
|
||||
|
||||
def test_manifest_covers_catalogue(self):
|
||||
manifest = json.loads(ba.MANIFEST.read_text(encoding="utf-8"))
|
||||
|
||||
Reference in new issue
Block a user