diff --git a/assets/models/blender/manifest.json b/assets/models/blender/manifest.json index 4d63627..6392416 100644 --- a/assets/models/blender/manifest.json +++ b/assets/models/blender/manifest.json @@ -507,8 +507,8 @@ "accessory", "hair" ], - "triangles": 5474, - "vertices": 5264 + "triangles": 6030, + "vertices": 5802 }, "npc_dress": { "bounds_godot": { @@ -546,8 +546,8 @@ "accessory", "hair" ], - "triangles": 4900, - "vertices": 4719 + "triangles": 5456, + "vertices": 5128 }, "npc_firefighter": { "bounds_godot": { @@ -587,8 +587,8 @@ "accessory", "hair" ], - "triangles": 5344, - "vertices": 5494 + "triangles": 5900, + "vertices": 5902 }, "npc_guard": { "bounds_godot": { @@ -631,8 +631,8 @@ "accessory", "hair" ], - "triangles": 5046, - "vertices": 5096 + "triangles": 5602, + "vertices": 5684 }, "npc_hoodie": { "bounds_godot": { @@ -672,8 +672,8 @@ "accessory", "hair" ], - "triangles": 5304, - "vertices": 4950 + "triangles": 5860, + "vertices": 5492 }, "npc_jacket": { "bounds_godot": { @@ -713,8 +713,8 @@ "accessory", "hair" ], - "triangles": 4872, - "vertices": 4661 + "triangles": 5428, + "vertices": 5071 }, "npc_vest": { "bounds_godot": { @@ -754,8 +754,8 @@ "accessory", "hair" ], - "triangles": 4980, - "vertices": 4879 + "triangles": 5536, + "vertices": 5375 }, "palm_tree": { "bounds_godot": { diff --git a/assets/models/blender/npc/npc_coat.glb b/assets/models/blender/npc/npc_coat.glb index 99c8eb3..f19541c 100644 Binary files a/assets/models/blender/npc/npc_coat.glb and b/assets/models/blender/npc/npc_coat.glb differ diff --git a/assets/models/blender/npc/npc_coat_ao.png b/assets/models/blender/npc/npc_coat_ao.png index 8b78b48..289c464 100644 Binary files a/assets/models/blender/npc/npc_coat_ao.png and b/assets/models/blender/npc/npc_coat_ao.png differ diff --git a/assets/models/blender/npc/npc_dress.glb b/assets/models/blender/npc/npc_dress.glb index 59f958a..cc68b10 100644 Binary files a/assets/models/blender/npc/npc_dress.glb and b/assets/models/blender/npc/npc_dress.glb differ diff --git a/assets/models/blender/npc/npc_dress_ao.png b/assets/models/blender/npc/npc_dress_ao.png index f6c6d07..e888303 100644 Binary files a/assets/models/blender/npc/npc_dress_ao.png and b/assets/models/blender/npc/npc_dress_ao.png differ diff --git a/assets/models/blender/npc/npc_firefighter.glb b/assets/models/blender/npc/npc_firefighter.glb index 85917d8..f4ba31c 100644 Binary files a/assets/models/blender/npc/npc_firefighter.glb and b/assets/models/blender/npc/npc_firefighter.glb differ diff --git a/assets/models/blender/npc/npc_firefighter_ao.png b/assets/models/blender/npc/npc_firefighter_ao.png index 04821a0..eeef45c 100644 Binary files a/assets/models/blender/npc/npc_firefighter_ao.png and b/assets/models/blender/npc/npc_firefighter_ao.png differ diff --git a/assets/models/blender/npc/npc_guard.glb b/assets/models/blender/npc/npc_guard.glb index a995f76..a868a6d 100644 Binary files a/assets/models/blender/npc/npc_guard.glb and b/assets/models/blender/npc/npc_guard.glb differ diff --git a/assets/models/blender/npc/npc_guard_ao.png b/assets/models/blender/npc/npc_guard_ao.png index 09f9f0b..6c01bd5 100644 Binary files a/assets/models/blender/npc/npc_guard_ao.png and b/assets/models/blender/npc/npc_guard_ao.png differ diff --git a/assets/models/blender/npc/npc_hoodie.glb b/assets/models/blender/npc/npc_hoodie.glb index ae02a14..80ae5c1 100644 Binary files a/assets/models/blender/npc/npc_hoodie.glb and b/assets/models/blender/npc/npc_hoodie.glb differ diff --git a/assets/models/blender/npc/npc_hoodie_ao.png b/assets/models/blender/npc/npc_hoodie_ao.png index 53124bc..6a258df 100644 Binary files a/assets/models/blender/npc/npc_hoodie_ao.png and b/assets/models/blender/npc/npc_hoodie_ao.png differ diff --git a/assets/models/blender/npc/npc_jacket.glb b/assets/models/blender/npc/npc_jacket.glb index e772854..a2a6b23 100644 Binary files a/assets/models/blender/npc/npc_jacket.glb and b/assets/models/blender/npc/npc_jacket.glb differ diff --git a/assets/models/blender/npc/npc_jacket_ao.png b/assets/models/blender/npc/npc_jacket_ao.png index c4c94ad..af85d01 100644 Binary files a/assets/models/blender/npc/npc_jacket_ao.png and b/assets/models/blender/npc/npc_jacket_ao.png differ diff --git a/assets/models/blender/npc/npc_vest.glb b/assets/models/blender/npc/npc_vest.glb index fd9d74f..63d6d1d 100644 Binary files a/assets/models/blender/npc/npc_vest.glb and b/assets/models/blender/npc/npc_vest.glb differ diff --git a/assets/models/blender/npc/npc_vest_ao.png b/assets/models/blender/npc/npc_vest_ao.png index f0cace6..bcdaae8 100644 Binary files a/assets/models/blender/npc/npc_vest_ao.png and b/assets/models/blender/npc/npc_vest_ao.png differ diff --git a/docs/3d-model-review.md b/docs/3d-model-review.md index be31ae8..158bd4e 100644 --- a/docs/3d-model-review.md +++ b/docs/3d-model-review.md @@ -51,14 +51,14 @@ with the runtime 4× fabric repeat). | Character | Tris / verts | Height / feet | Materials | Authored td (px/m) | Fabric effective (px/m) | Verdict | | --- | --- | --- | --- | --- | --- | --- | -| `npc_casual` | 4,482 / 4,260 | 1.824 / +0.000 | 7 | 106.8–122.2 | 429–440 | Contract pass; visual accepted 0.9.4 | -| `npc_jacket` | 4,872 / 4,662 | 1.824 / +0.000 | 7 | 100.3–113.7 | 409–413 | Contract pass; visual accepted 0.9.4 | -| `npc_coat` | 5,474 / 5,265 | 1.824 / +0.000 | 7 | 75.3–81.4 | 307–310 | Contract pass; visual accepted 0.9.4 | -| `npc_vest` | 4,980 / 4,879 | 1.819 / +0.000 | 9 | 85.5–99.3 | 362–366 | Contract pass; visual accepted 0.9.4 | -| `npc_dress` | 4,900 / 4,719 | 1.825 / +0.000 | 7 | 81.9–89.0 | 338–339 | Contract pass; visual accepted 0.9.4 | -| `npc_hoodie` | 5,304 / 4,950 | 1.856 / +0.000 | 7 | 89.5–98.6 | 359–364 | Contract pass; visual accepted 0.9.4 | -| `npc_firefighter` | 5,344 / 5,494 | 1.819 / +0.000 | 9 | 64.0–75.1 | 287–290 | Contract pass; lowest density | -| `npc_guard` | 5,046 / 5,096 | 1.819 / +0.000 | 11 | 90.0–100.8 | 374–374 | Contract pass; visual accepted 0.9.4 | +| `npc_casual` | 5,038 / 4,756 | 1.824 / +0.000 | 7 | 106.8–122.2 | 429–440 | Contract pass; face prototype | +| `npc_jacket` | 5,428 / 5,071 | 1.824 / +0.000 | 7 | 100.3–113.7 | 409–413 | Contract pass; face prototype | +| `npc_coat` | 6,030 / 5,802 | 1.824 / +0.000 | 7 | 75.3–81.4 | 307–310 | Contract pass; face prototype | +| `npc_vest` | 5,536 / 5,375 | 1.819 / +0.000 | 9 | 85.5–99.3 | 362–366 | Contract pass; face prototype | +| `npc_dress` | 5,456 / 5,128 | 1.825 / +0.000 | 7 | 81.9–89.0 | 338–339 | Contract pass; face prototype | +| `npc_hoodie` | 5,860 / 5,492 | 1.856 / +0.000 | 7 | 89.5–98.6 | 359–364 | Contract pass; face prototype | +| `npc_firefighter` | 5,900 / 5,902 | 1.819 / +0.000 | 9 | 64.0–75.1 | 287–290 | Contract pass; face prototype (helmet shadow hides the lower lip) | +| `npc_guard` | 5,602 / 5,684 | 1.819 / +0.000 | 11 | 90.0–100.8 | 374–374 | Contract pass; face prototype | | `npc_base` (fallback) | 1,204 / 2,488 | 1.836 / +0.000 | 5 | 70.1–72.9 | 4× on fabric | Contract pass; far below its 6,000/4,000 cap | Blender-side `inspect` counts can differ by ±1 vertex from the glTF accessor count in `audit` @@ -89,14 +89,14 @@ yet reviewed; this document is the place to fill it. | Character | Silhouette | Face @1.85 m | Hands/grip | Weights/pose | Cloth/hair | LOD | Verdict | | --- | --- | --- | --- | --- | --- | --- | --- | | *(pose evidence blocked: see "Pose evidence is blocked" below)* | | | | | | | | -| `npc_casual` | accept (0.9.4) | P1 (faceted planes) | accept (open palm) | blocked | accept | accept (two-quad impostor) | pending owner | -| `npc_jacket` | accept | P1 | accept | blocked | accept | accept | pending owner | -| `npc_coat` | accept | P1 | accept | blocked | accept (hem 0.76 stride) | accept | pending owner | -| `npc_vest` | accept | P1 | accept | blocked | accept | accept | pending owner | -| `npc_dress` | accept; performer props dominate | P1 | accept | blocked | accept | accept | pending owner | +| `npc_casual` | accept (0.9.4) | accept (face prototype) | accept (open palm) | blocked | accept | accept (two-quad impostor) | pending owner | +| `npc_jacket` | accept | accept (face prototype) | accept | blocked | accept | accept | pending owner | +| `npc_coat` | accept | accept (face prototype) | accept | blocked | accept (hem 0.76 stride) | accept | pending owner | +| `npc_vest` | accept | accept (face prototype) | accept | blocked | accept | accept | pending owner | +| `npc_dress` | accept; performer props dominate | accept (face prototype) | accept | blocked | accept | accept | pending owner | | `npc_hoodie` | accept (hooded criterion) | accept (lower face only) | accept | blocked | accept | accept | pending owner | -| `npc_firefighter` | accept | P1 | accept | blocked | accept | accept | pending owner | -| `npc_guard` | accept | P1 | accept | blocked | accept | accept | pending owner | +| `npc_firefighter` | accept | accept (face prototype) | accept | blocked | accept | accept | pending owner | +| `npc_guard` | accept | accept (face prototype) | accept | blocked | accept | accept | pending owner | ### Gear (18) diff --git a/docs/blender_previews/sheet_npc_baseline.jpg b/docs/blender_previews/sheet_npc_baseline.jpg index c7d7764..6000ce4 100644 Binary files a/docs/blender_previews/sheet_npc_baseline.jpg and b/docs/blender_previews/sheet_npc_baseline.jpg differ