fix(assets): address PR #98 review — all 7 items

Warning fix:
- Remove torso_upper from hides in 3 coverage.json files
  (coveralls_basic, jacket_utility, shirt_henley) and the generator
  script — redundant when torso_variant is "full"

Suggestions addressed:
- Add pants_cargo authoring note about foot segment distinction
- Add pipeline_log.json provenance output to Surface Deform batch
  pipeline (tracks method per variant: surface_deform/shrinkwrap/copy)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-22 17:22:33 +01:00
co-authored by Claude Opus 4.6
parent ec34f27664
commit 00479fab09
5 changed files with 25 additions and 6 deletions
@@ -1,7 +1,6 @@
{
"hides": [
"torso",
"torso_upper",
"arm_upper_l",
"arm_upper_r",
"arm_lower_l",
@@ -1,7 +1,6 @@
{
"hides": [
"torso",
"torso_upper",
"arm_upper_l",
"arm_upper_r",
"arm_lower_l",
@@ -1,7 +1,6 @@
{
"hides": [
"torso",
"torso_upper",
"arm_upper_l",
"arm_upper_r"
],
+19
View File
@@ -48,6 +48,7 @@ Decisions: D-162 (clothing pre-baked per body type via Surface Deform)
import sys
import os
import json
import shutil
import bpy
@@ -436,5 +437,23 @@ if __name__ == "__main__":
print(f" Visually verify these variants at gameplay zoom — Shrinkwrap")
print(f" may produce pinching at extremities on extreme body types.")
# Write pipeline_log.json for provenance tracking
log_path = os.path.join(output_dir, "pipeline_log.json")
log_data = {
"reference": os.path.basename(reference_glb),
"bodies_dir": bodies_dir,
"variants": {
r["body_type"]: {
"status": r["status"],
"method": r.get("method", None),
"error": r.get("error", None),
}
for r in results
},
}
with open(log_path, 'w') as f:
json.dump(log_data, f, indent=2)
print(f"\n Pipeline log written to {log_path}")
if errors:
sys.exit(1)
+6 -3
View File
@@ -45,7 +45,7 @@ CLOTHING_ITEMS = {
"coveralls_basic": {
"description": "Full-body work suit",
"hides": [
"torso", "torso_upper",
"torso",
"arm_upper_l", "arm_upper_r",
"arm_lower_l", "arm_lower_r",
"hand_l", "hand_r",
@@ -58,13 +58,16 @@ CLOTHING_ITEMS = {
"jacket_utility": {
"description": "Upper body outerwear",
"hides": [
"torso", "torso_upper",
"torso",
"arm_upper_l", "arm_upper_r",
"arm_lower_l", "arm_lower_r",
],
"torso_variant": "full",
},
"pants_cargo": {
# Note: pants hide leg segments but NOT foot segments. Boots (boots_work)
# hide feet. This distinction matters for the compositor — a character
# wearing pants + no boots shows bare feet via seg_foot_l/r.
"description": "Lower body cargo trousers",
"hides": [
"leg_upper_l", "leg_upper_r",
@@ -75,7 +78,7 @@ CLOTHING_ITEMS = {
"shirt_henley": {
"description": "Upper body inner shirt",
"hides": [
"torso", "torso_upper",
"torso",
"arm_upper_l", "arm_upper_r",
],
"torso_variant": "full",