Files
animation/tools/tailor/md_view_probe.py
T
jeremy 3ba86b2ea8 feat: clothing lane, character sources, and DCC bridges
Bulk import of the working lanes that were living untracked on the PC.

Content:
- characters/  Lena/male body lanes, bakes, texture work, run logs
- clothing/    garment pipeline, configs, gates, contract docs
- garments/    MD-authored garment sources (.zprj/.zpac)
- UAL-Lib/     Universal Animation Library 2 source (.blend/.fbx/.glb)
- tools/       blender_bridge, iclone_bridge, md_bridge, tailor, glm_agent
- docs/, plans/, dev/, .agents/plans/

Repo hygiene:
- .gitattributes: LFS now covers .blend, .zprj, .zpac, .obj, .npy and the
  Reallusion .iAvatar/.ccAvatar/.ccRestore containers. Without this the
  ~3.8 GB in this commit would land as raw blobs. .png/.jpg are left out
  on purpose — ~250 are already tracked raw and converting them would
  rewrite every one without shrinking history.
- .gitignore: exclude /accurig/ (~1 GB AccuRig program files, redistributable
  from Reallusion, nothing authored here) and /dev/null/ (git-lfs hook copies
  dropped by a `>/dev/null` redirect on Windows).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 15:55:43 -07:00

33 lines
1.1 KiB
Python

# Probe: load a .zprj and shoot it from every camera view point.
#
# python tools/md_bridge.py --exec "ZPRJ=r'...zprj'" ; then --file this
# or set ZPRJ below. Every screenshot in this repo is SetCamViewPoint(2) = front,
# so back-side defects have never been looked at. This finds the back index and
# gives us a full set.
import os
import tempfile
ZPRJ = globals().get("ZPRJ", r"C:\Users\Jeremy\tinqs\animation\tools\tailor\lena_pari_v3.zprj")
report = {"zprj": ZPRJ}
try:
report["load"] = import_api.ImportZprj(ZPRJ)
except TypeError as e:
zop = ApiTypes.ImportZPRJOption()
report["load_retry"] = "%s -> ImportZPRJOption" % e
report["load"] = import_api.ImportZprj(ZPRJ, zop)
utility_api.Refresh3DWindow()
shots = {}
for vp in range(8):
try:
utility_api.SetCamViewPoint(vp)
utility_api.Refresh3DWindow()
path = os.path.join(tempfile.gettempdir(), "tinqs_md_view_%d.png" % vp)
export_api.ExportSnapshot3D(path)
shots[vp] = path
except Exception as e:
shots[vp] = "%s: %s" % (type(e).__name__, e)
report["shots"] = shots
result = report