_posetools.extract_pose_landmarks reuses the MediaPipe model download/cache via the private _pose_estimator._get_model_path() (TODO already in code, added during #353 review). Promote it to a small public helper so cross-module use isn't coupled to a private name. Related: revisit the Solutions-vs-Tasks API preference (use_solutions = hasattr(mp, 'solutions')) once the legacy family is fully retired — also marked in-code.
🤖 Generated with Claude Code
_posetools.extract_pose_landmarksreuses the MediaPipe model download/cache via the private_pose_estimator._get_model_path()(TODO already in code, added during #353 review). Promote it to a small public helper so cross-module use isn't coupled to a private name. Related: revisit the Solutions-vs-Tasks API preference (use_solutions = hasattr(mp, 'solutions')) once the legacy family is fully retired — also marked in-code.🤖 Generated with Claude Code