Files
animation/tools/tailor/md_probe_v3.py
T

40 lines
1.5 KiB
Python
Raw Normal View History

# Probe: bind the v3 levers before using them.
#
# md_piupiu_v3.py needs four calls this repo has never made. Their signatures are
# NOT in tools/md_bridge/api_docs.json (48 harvested entries only), and the skill's
# rule is introspect-don't-trust-docs — overloaded pybind11 functions also break
# inspect.signature(), so read __doc__.
#
# python tools/md_bridge.py --file tools/tailor/md_probe_v3.py
#
# Read-only: creates no patterns, imports no avatar, simulates nothing. Safe to
# run in a live session at any point.
report = {}
TARGETS = [
("pattern_api", "SetAddlThicknessCollision"),
("pattern_api", "GetAddlThicknessCollisionValue"),
("pattern_api", "SetPatternPieceElastic"),
("pattern_api", "SetPatternPieceElasticStrength"),
("pattern_api", "SetPatternPieceElasticStrengthRatio"),
("pattern_api", "SetPatternPieceElasticTotalLength"),
("pattern_api", "SetPatternPieceElasticSegmentLength"),
("pattern_api", "SetPatternPieceSolidifyStrengthen"),
("pattern_api", "SetParticleDistanceOfPattern"),
("pattern_api", "GetLineLength"),
("utility_api", "SetSimulationSelfCollisionAvoidanceStiffness"),
("utility_api", "SetAvatarSoftBodyStiffness"),
]
mods = {"pattern_api": pattern_api, "utility_api": utility_api,
"fabric_api": fabric_api, "utility": utility_api}
for mod_name, fn_name in TARGETS:
fn = getattr(mods[mod_name], fn_name, None)
if fn is None:
report[fn_name] = "ABSENT"
else:
report[fn_name] = (getattr(fn, "__doc__", None) or "<no docstring>").strip()
result = report