Ship the WeChat hot-update catalogs and the camp, TideWhale T2, UI atlas, and animation-lab work.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
udx
2026-10-24 18:04:41 +08:00
co-authored by Cursor
parent 6ebc9401ce
commit 45e62132c8
1432 changed files with 2971856 additions and 2798 deletions
@@ -0,0 +1,23 @@
"""Reimport the six review GLBs and compare their deformation to source audits."""
import json
import sys
from pathlib import Path
sys.path.insert(0,str(Path(__file__).resolve().parent))
from bl_compare_mixamo_soma import audit
folder=Path(sys.argv[sys.argv.index('--')+1])
source=json.loads((folder/'comparison.json').read_text())+json.loads((folder/'comparison_local.json').read_text())
results=[]
for variant,prefix in [('raw','TokenRig41'),('local','TokenRigLocal')]:
for label in ['Walking','Breathing Idle','Happy Idle']:
path=folder/'animations'/variant/(label.replace(' ','_')+'.glb')
item=audit('Export '+variant+' '+label,path,None,folder/'review')
expected=next(x for x in source if x['label']==prefix+' '+label)
actual=item['animation']
assert actual['range']==expected['animation']['range'],(path,actual['range'])
errors={n:abs(actual['summary'][n]['max_edge_stretch']-expected['animation']['summary'][n]['max_edge_stretch']) for n in actual['summary']}
assert max(errors.values())<.001,(path,errors)
results.append({'file':str(path),'frames':actual['range'],'max_stretch_difference_from_source':errors,'bones':len(item['bones'])})
(folder/'export_verification.json').write_text(json.dumps(results,indent=2),encoding='utf-8')
print('EXPORTS_VERIFIED',len(results))