kinemotion 0.36.1__tar.gz → 0.37.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of kinemotion might be problematic. Click here for more details.

Files changed (482) hide show
  1. {kinemotion-0.36.1 → kinemotion-0.37.0}/.claude/settings.local.json +3 -2
  2. {kinemotion-0.36.1 → kinemotion-0.37.0}/CHANGELOG.md +13 -0
  3. {kinemotion-0.36.1 → kinemotion-0.37.0}/PKG-INFO +1 -1
  4. {kinemotion-0.36.1 → kinemotion-0.37.0}/backend/src/kinemotion_backend/app.py +81 -0
  5. kinemotion-0.37.0/docs/strategy/pose2sim-migration-evaluation.md +269 -0
  6. {kinemotion-0.36.1 → kinemotion-0.37.0}/pyproject.toml +1 -1
  7. {kinemotion-0.36.1 → kinemotion-0.37.0}/uv.lock +1 -1
  8. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/README.md +0 -0
  9. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/api/api-reference-quick-commands.md +0 -0
  10. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/api/supabase-authentication-setup-guide.md +0 -0
  11. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/authentication/auth-provider-comparison-december-2025.md +0 -0
  12. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/authentication/auth-providers-comparison-december-2025.md +0 -0
  13. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/authentication/supabase-authentication-quick-start.md +0 -0
  14. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/authentication/supabase-authentication-setup-guide.md +0 -0
  15. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/authentication/supabase-authentication-technical-guide.md +0 -0
  16. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/authentication/supabase-google-oauth-setup-guide.md +0 -0
  17. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/authentication/supabase-production-setup-guide.md +0 -0
  18. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/authentication/supabase-quick-start-guide.md +0 -0
  19. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/biomechanics/camera-perspective-analysis-45deg-vs-lateral.md +0 -0
  20. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/biomechanics/cmj-landing-detection-window-validation.md +0 -0
  21. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/biomechanics/cmj-physiological-bounds-for-validation.md +0 -0
  22. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/biomechanics/cmj-validation-implementation-complete.md +0 -0
  23. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/biomechanics/drop-jump-vs-cmj-key-differences.md +0 -0
  24. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/biomechanics/technical-implementation-45deg-perspective-correction.md +0 -0
  25. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/codebase/codebase-architecture-overview.md +0 -0
  26. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/codebase/validation-architecture-visual-hierarchy-after-refactoring.md +0 -0
  27. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/codebase/validation-code-duplication-evidence.md +0 -0
  28. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/codebase/validation-module-architecture-analysis.md +0 -0
  29. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/codebase/validation-refactoring-complete-architecture-improvement.md +0 -0
  30. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/deployment/automated-deployment-setup-git-hub-actions-with-workload-identity-federation.md +0 -0
  31. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/deployment/backend-repository-split-migration-guide.md +0 -0
  32. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/deployment/backend-repository-split-step-by-step-execution-guide.md +0 -0
  33. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/deployment/cloud-run-security-least-privilege-service-account-setup.md +0 -0
  34. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/deployment/cors-and-memory-issues-production-debugging-guide.md +0 -0
  35. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/deployment/current-kinemotion-architecture-correct-deployment-setup.md +0 -0
  36. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/deployment/frontend-repository-split-migration-guide.md +0 -0
  37. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/deployment/frontend-repository-split-step-by-step-execution-guide.md +0 -0
  38. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/deployment/production-deployment-guide-vercel-google-cloud-run.md +0 -0
  39. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/deployment/quick-deployment-commands-vercel-and-cloud-run.md +0 -0
  40. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/deployment/vercel-monorepo-deployment-best-practice.md +0 -0
  41. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/backend-authentication-and-logging-status.md +0 -0
  42. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/backend-code-coverage-analysis.md +0 -0
  43. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/backend-code-duplication-analysis.md +0 -0
  44. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/backend-kinemotion-decoupling-strategy.md +0 -0
  45. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/backend-sonar-cloud-integration-status.md +0 -0
  46. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/basic-memory-naming-hook-analysis.md +0 -0
  47. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/ci-caching-issue-investigation-deep-squat-test-failure.md +0 -0
  48. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/ci-vs-local-test-failure-investigation.md +0 -0
  49. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/claude-code-hook-configuration.md +0 -0
  50. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/cmj-phase-detection-testing-gap-analysis.md +0 -0
  51. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/development-standards-quality-gates.md +0 -0
  52. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/frontend-dependencies-analysis-nov-2025.md +0 -0
  53. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/google-oauth-setup-script-final-review-production-ready.md +0 -0
  54. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/google-oauth-setup-script-review-issues-and-recommendations.md +0 -0
  55. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/hook-complete-audit-summary.md +0 -0
  56. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/hook-configuration-audit.md +0 -0
  57. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/hook-quick-reference.md +0 -0
  58. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/keyboard-interrupt-test-suite-failure-analysis.md +0 -0
  59. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/p0-p1-p2-test-suite-fixes-final-report.md +0 -0
  60. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/structured-logging-implementation-complete.md +0 -0
  61. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/structured-logging-implementation.md +0 -0
  62. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/supabase-dashboard-navigation-december-2025.md +0 -0
  63. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/test-coverage-asymmetry-analysis-cmj-vs-drop-jump.md +0 -0
  64. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/test-coverage-equivalence-achievement-summary.md +0 -0
  65. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/test-suite-comprehensive-review-december-2025.md +0 -0
  66. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/test-suite-comprehensive-review-structure-and-gaps.md +0 -0
  67. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/test-suite-p0-p1-p2-fixes-complete-report.md +0 -0
  68. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/test-suite-p0-p1-p2-fixes-progress-report.md +0 -0
  69. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/unused-and-experimental-features-strategy.md +0 -0
  70. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/unused-code-detection-prompt-template.md +0 -0
  71. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/unused-code-identification-and-decorator-application-december-2025.md +0 -0
  72. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/unused-code-verification-final-pass-december-2025.md +0 -0
  73. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/using-multiple-mcp-reasoning-servers-simultaneously.md +0 -0
  74. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/development/vercel-authentication-options-for-user-id-tracking.md +0 -0
  75. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/project-management/documentation-audit-december-2025.md +0 -0
  76. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/project-management/issue-12-mvp-scaffolding-complete.md +0 -0
  77. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/project-management/issue-12-unblocked-tasks-breakdown.md +0 -0
  78. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/project-management/issue-12-use-real-metrics-now.md +0 -0
  79. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/project-management/kinemotion-project-setup-complete.md +0 -0
  80. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/project-management/kinemotion-supabase-production-configuration.md +0 -0
  81. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/project-management/mcp-sequential-thinking-alternatives-analysis.md +0 -0
  82. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/project-management/project-state-summary-december-2025.md +0 -0
  83. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/project-management/specialized-subagents-routing-guide.md +0 -0
  84. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/project-management/supabase-setup-instructions-for-kinemotion.md +0 -0
  85. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/strategy/deployment-decision-analysis-for-kinemotion.md +0 -0
  86. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/strategy/mvp-feedback-collection-plan.md +0 -0
  87. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/strategy/mvp-first-strategic-direction.md +0 -0
  88. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/strategy/mvp-validation-checkpoints.md +0 -0
  89. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/strategy/strategic-priority-tasks-current-roadmap.md +0 -0
  90. {kinemotion-0.36.1 → kinemotion-0.37.0}/.basic-memory/strategy/third-party-auth-providers-with-free-tiers-december-2025.md +0 -0
  91. {kinemotion-0.36.1 → kinemotion-0.37.0}/.claude/agents/biomechanics-specialist.md +0 -0
  92. {kinemotion-0.36.1 → kinemotion-0.37.0}/.claude/agents/computer-vision-engineer.md +0 -0
  93. {kinemotion-0.36.1 → kinemotion-0.37.0}/.claude/agents/devops-cicd-engineer.md +0 -0
  94. {kinemotion-0.36.1 → kinemotion-0.37.0}/.claude/agents/frontend-developer.md +0 -0
  95. {kinemotion-0.36.1 → kinemotion-0.37.0}/.claude/agents/ml-data-scientist.md +0 -0
  96. {kinemotion-0.36.1 → kinemotion-0.37.0}/.claude/agents/project-manager.md +0 -0
  97. {kinemotion-0.36.1 → kinemotion-0.37.0}/.claude/agents/python-backend-developer.md +0 -0
  98. {kinemotion-0.36.1 → kinemotion-0.37.0}/.claude/agents/qa-test-engineer.md +0 -0
  99. {kinemotion-0.36.1 → kinemotion-0.37.0}/.claude/agents/technical-writer.md +0 -0
  100. {kinemotion-0.36.1 → kinemotion-0.37.0}/.claude/hooks/fix-basic-memory-names.sh +0 -0
  101. {kinemotion-0.36.1 → kinemotion-0.37.0}/.cursor/mcp.json +0 -0
  102. {kinemotion-0.36.1 → kinemotion-0.37.0}/.dockerignore +0 -0
  103. {kinemotion-0.36.1 → kinemotion-0.37.0}/.gitattributes +0 -0
  104. {kinemotion-0.36.1 → kinemotion-0.37.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  105. {kinemotion-0.36.1 → kinemotion-0.37.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  106. {kinemotion-0.36.1 → kinemotion-0.37.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  107. {kinemotion-0.36.1 → kinemotion-0.37.0}/.github/dependabot.yml +0 -0
  108. {kinemotion-0.36.1 → kinemotion-0.37.0}/.github/pull_request_template.md +0 -0
  109. {kinemotion-0.36.1 → kinemotion-0.37.0}/.github/workflows/deploy-backend.yml +0 -0
  110. {kinemotion-0.36.1 → kinemotion-0.37.0}/.github/workflows/docs.yml +0 -0
  111. {kinemotion-0.36.1 → kinemotion-0.37.0}/.github/workflows/release.yml +0 -0
  112. {kinemotion-0.36.1 → kinemotion-0.37.0}/.github/workflows/security.yml +0 -0
  113. {kinemotion-0.36.1 → kinemotion-0.37.0}/.github/workflows/test.yml +0 -0
  114. {kinemotion-0.36.1 → kinemotion-0.37.0}/.gitignore +0 -0
  115. {kinemotion-0.36.1 → kinemotion-0.37.0}/.mcp.json +0 -0
  116. {kinemotion-0.36.1 → kinemotion-0.37.0}/.pre-commit-config.yaml +0 -0
  117. {kinemotion-0.36.1 → kinemotion-0.37.0}/.readthedocs.yml +0 -0
  118. {kinemotion-0.36.1 → kinemotion-0.37.0}/.serena/.gitignore +0 -0
  119. {kinemotion-0.36.1 → kinemotion-0.37.0}/.serena/memories/backend-cors-fastapi-middleware-order.md +0 -0
  120. {kinemotion-0.36.1 → kinemotion-0.37.0}/.serena/memories/camera-perspective-validation-study.md +0 -0
  121. {kinemotion-0.36.1 → kinemotion-0.37.0}/.serena/memories/code_style_and_conventions.md +0 -0
  122. {kinemotion-0.36.1 → kinemotion-0.37.0}/.serena/memories/current-project-architecture.md +0 -0
  123. {kinemotion-0.36.1 → kinemotion-0.37.0}/.serena/memories/deployment-checklist-and-known-issues.md +0 -0
  124. {kinemotion-0.36.1 → kinemotion-0.37.0}/.serena/memories/deployment-setup-complete.md +0 -0
  125. {kinemotion-0.36.1 → kinemotion-0.37.0}/.serena/memories/github-project-setup-summary.md +0 -0
  126. {kinemotion-0.36.1 → kinemotion-0.37.0}/.serena/memories/mvp-first-strategy.md +0 -0
  127. {kinemotion-0.36.1 → kinemotion-0.37.0}/.serena/memories/mvp-roadmap-and-priorities.md +0 -0
  128. {kinemotion-0.36.1 → kinemotion-0.37.0}/.serena/memories/project_overview.md +0 -0
  129. {kinemotion-0.36.1 → kinemotion-0.37.0}/.serena/memories/specialist-agents-routing.md +0 -0
  130. {kinemotion-0.36.1 → kinemotion-0.37.0}/.serena/memories/suggested_commands.md +0 -0
  131. {kinemotion-0.36.1 → kinemotion-0.37.0}/.serena/project.yml +0 -0
  132. {kinemotion-0.36.1 → kinemotion-0.37.0}/.tool-versions +0 -0
  133. {kinemotion-0.36.1 → kinemotion-0.37.0}/.vercelignore +0 -0
  134. {kinemotion-0.36.1 → kinemotion-0.37.0}/CLAUDE.md +0 -0
  135. {kinemotion-0.36.1 → kinemotion-0.37.0}/CODE_OF_CONDUCT.md +0 -0
  136. {kinemotion-0.36.1 → kinemotion-0.37.0}/CONTRIBUTING.md +0 -0
  137. {kinemotion-0.36.1 → kinemotion-0.37.0}/Dockerfile +0 -0
  138. {kinemotion-0.36.1 → kinemotion-0.37.0}/GEMINI.md +0 -0
  139. {kinemotion-0.36.1 → kinemotion-0.37.0}/LICENSE +0 -0
  140. {kinemotion-0.36.1 → kinemotion-0.37.0}/README.md +0 -0
  141. {kinemotion-0.36.1 → kinemotion-0.37.0}/SECURITY.md +0 -0
  142. {kinemotion-0.36.1 → kinemotion-0.37.0}/backend/.dockerignore +0 -0
  143. {kinemotion-0.36.1 → kinemotion-0.37.0}/backend/.env.example +0 -0
  144. {kinemotion-0.36.1 → kinemotion-0.37.0}/backend/Dockerfile +0 -0
  145. {kinemotion-0.36.1 → kinemotion-0.37.0}/backend/README.md +0 -0
  146. {kinemotion-0.36.1 → kinemotion-0.37.0}/backend/docs/fly-deployment.md +0 -0
  147. {kinemotion-0.36.1 → kinemotion-0.37.0}/backend/docs/implementation-summary.md +0 -0
  148. {kinemotion-0.36.1 → kinemotion-0.37.0}/backend/docs/setup.md +0 -0
  149. {kinemotion-0.36.1 → kinemotion-0.37.0}/backend/docs/tests.md +0 -0
  150. {kinemotion-0.36.1 → kinemotion-0.37.0}/backend/pyproject.toml +0 -0
  151. {kinemotion-0.36.1 → kinemotion-0.37.0}/backend/src/kinemotion_backend/__init__.py +0 -0
  152. {kinemotion-0.36.1 → kinemotion-0.37.0}/backend/src/kinemotion_backend/auth.py +0 -0
  153. {kinemotion-0.36.1 → kinemotion-0.37.0}/backend/src/kinemotion_backend/logging_config.py +0 -0
  154. {kinemotion-0.36.1 → kinemotion-0.37.0}/backend/src/kinemotion_backend/middleware.py +0 -0
  155. {kinemotion-0.36.1 → kinemotion-0.37.0}/backend/tests/README.md +0 -0
  156. {kinemotion-0.36.1 → kinemotion-0.37.0}/backend/tests/__init__.py +0 -0
  157. {kinemotion-0.36.1 → kinemotion-0.37.0}/backend/tests/conftest.py +0 -0
  158. {kinemotion-0.36.1 → kinemotion-0.37.0}/backend/tests/test_api_endpoints.py +0 -0
  159. {kinemotion-0.36.1 → kinemotion-0.37.0}/backend/tests/test_error_handling.py +0 -0
  160. {kinemotion-0.36.1 → kinemotion-0.37.0}/backend/tests/test_health.py +0 -0
  161. {kinemotion-0.36.1 → kinemotion-0.37.0}/backend/tests/test_r2_integration.py +0 -0
  162. {kinemotion-0.36.1 → kinemotion-0.37.0}/backend/tests/test_validation.py +0 -0
  163. {kinemotion-0.36.1 → kinemotion-0.37.0}/backend/uv.lock +0 -0
  164. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/README.md +0 -0
  165. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/api/cmj.md +0 -0
  166. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/api/core.md +0 -0
  167. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/api/dropjump.md +0 -0
  168. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/api/overview.md +0 -0
  169. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/development/agents-guide.md +0 -0
  170. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/development/errors-findings.md +0 -0
  171. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/development/test-suite-review-december-2025.md +0 -0
  172. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/development/testing-standards.md +0 -0
  173. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/development/testing.md +0 -0
  174. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/development/type-hints.md +0 -0
  175. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/development/validation-plan.md +0 -0
  176. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/development/validation-roadmap.md +0 -0
  177. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/development/wallball-norep-detection.md +0 -0
  178. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/guides/bulk-processing.md +0 -0
  179. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/guides/camera-setup.md +0 -0
  180. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/guides/cloud-run-deployment.md +0 -0
  181. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/guides/cmj-guide.md +0 -0
  182. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/guides/cmj-recording-protocol-es.md +0 -0
  183. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/guides/cmj-recording-protocol.md +0 -0
  184. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/guides/deployment-checklist.md +0 -0
  185. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/guides/local-testing.md +0 -0
  186. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/guides/setup-issue-12.md +0 -0
  187. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/index.md +0 -0
  188. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/quick-start.md +0 -0
  189. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/reference/cloud-run-quick-reference.md +0 -0
  190. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/reference/json-output-format.md +0 -0
  191. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/reference/json-structure-comparison.md +0 -0
  192. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/reference/parameters.md +0 -0
  193. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/reference/pose-systems.md +0 -0
  194. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/paper-downloader/HOW-TO-FIND-DOIS.md +0 -0
  195. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/paper-downloader/README.md +0 -0
  196. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/paper-downloader/dois.txt +0 -0
  197. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/paper-downloader/download.py +0 -0
  198. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/paper-downloader/pyproject.toml +0 -0
  199. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/paper-downloader/uv.lock +0 -0
  200. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/sports-biomechanics-pose-estimation.md +0 -0
  201. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/MANUAL-DOWNLOAD-GUIDE.md +0 -0
  202. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/README.md +0 -0
  203. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/convert_pdfs.py +0 -0
  204. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/athlete-monitoring/2001_Foster_Session-RPE-Training-Monitoring.md +0 -0
  205. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/athlete-monitoring/2015_Buchheit_GPS-Accelerometers-Stride-Stiffness.md +0 -0
  206. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/athlete-monitoring/2018_Flatt_HRV-Recovery-Swimmers.md +0 -0
  207. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/athlete-monitoring/2018_Saw_Training-Camps-Monitoring.md +0 -0
  208. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/athlete-monitoring/2018_Ward_Putting-i-in-Team.md +0 -0
  209. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/injury-prevention/2011_Petersen_Nordic-Hamstring-Prevention.md +0 -0
  210. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/injury-prevention/2011_Wilk_Shoulder-GIRD-Baseball-Pitchers.md +0 -0
  211. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/injury-prevention/2012_Hewit_Multidirectional-Leg-Asymmetry.md +0 -0
  212. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/injury-prevention/2015_Ford_Hip-Neuromuscular-Exercise-Valgus.md +0 -0
  213. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/injury-prevention/2015_Mosler_Hip-Groin-Pain-Factors.md +0 -0
  214. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/injury-prevention/2015_Sconce_Nordic-Hamstring-Validity.md +0 -0
  215. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/injury-prevention/2016_Mendez-Villanueva_Hamstring-MRI-Regional.md +0 -0
  216. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/injury-prevention/2016_Read_Youth-Soccer-Injury-Risk.md +0 -0
  217. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/injury-prevention/2017_Mason-Mackay_Ankle-Dorsiflexion-Landing.md +0 -0
  218. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/injury-prevention/2017_Mendiguchia_Hamstring-Treatment-Algorithm.md +0 -0
  219. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/injury-prevention/2018_Balsalobre-Fernandez_Ankle-Dorsiflexion-App.md +0 -0
  220. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/injury-prevention/2018_Bramah_Pathological-Gait-Running-Injuries.md +0 -0
  221. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/injury-prevention/2020_Fidai_Fatigue-Knee-Valgus-Youth.md +0 -0
  222. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/jump-performance/2011_Harper_10-to-5-Jump-Test.md +0 -0
  223. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/jump-performance/2012_Samozino_Optimal-Force-Velocity-Profile.md +0 -0
  224. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/jump-performance/2014_Samozino_FV-Imbalance.md +0 -0
  225. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/jump-performance/2016_Jimenez-Reyes_Force-Velocity-Training.md +0 -0
  226. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/jump-performance/2016_Morin-Samozino_Power-Force-Velocity-Profiles.md +0 -0
  227. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/jump-performance/2018_Garcia-Ramos_Two-Point-Method-Optimization.md +0 -0
  228. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/jump-performance/2022_Wells_Golf-Clubhead-CMJ.md +0 -0
  229. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/running-biomechanics/2005_Morin_Running-Stiffness-Measurement.md +0 -0
  230. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/running-biomechanics/2015_Balsalobre-Fernandez_Strength-Training-Running-Economy.md +0 -0
  231. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/running-biomechanics/2016_Balsalobre-Fernandez_iPhone-Running-Mechanics.md +0 -0
  232. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/running-biomechanics/2016_Moore_Economical-Running-Technique.md +0 -0
  233. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/running-biomechanics/2020_Filter_Curve-Sprint-Test-Soccer.md +0 -0
  234. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/running-biomechanics/2020_Harper_Horizontal-Deceleration-Radar.md +0 -0
  235. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/running-biomechanics/2021_vanOeveren_Running-Biomechanics-Synthesis.md +0 -0
  236. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/running-biomechanics/2024_Bramah_Sprint-Mechanics-Assessment-Score.md +0 -0
  237. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/smartphone-technology/2015_Balsalobre-Fernandez_iPhone-Vertical-Jump.md +0 -0
  238. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/smartphone-technology/2022_Bishop_MyJumpLab-Validation.md +0 -0
  239. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/velocity-based-training/2011_Jidovtseff_Load-Velocity-1RM-Prediction.md +0 -0
  240. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/velocity-based-training/2016_Conceicao_Movement-Velocity-Lower-Limb.md +0 -0
  241. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/velocity-based-training/2016_Pareja-Blanco_Velocity-Loss-Training.md +0 -0
  242. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/velocity-based-training/2017_Balsalobre-Fernandez_Barbell-Velocity-1RM.md +0 -0
  243. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/velocity-based-training/2020_Balsalobre-Fernandez_Barbell-Trajectory-Snatch.md +0 -0
  244. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/markdown/velocity-based-training/2023_Balsalobre-Fernandez_AI-Barbell-Velocity.md +0 -0
  245. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/online-references-for-papers.md +0 -0
  246. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/athlete-monitoring/2001_Foster_Session-RPE-Training-Monitoring.pdf +0 -0
  247. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/athlete-monitoring/2015_Buchheit_GPS-Accelerometers-Stride-Stiffness.pdf +0 -0
  248. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/athlete-monitoring/2018_Flatt_HRV-Recovery-Swimmers.pdf +0 -0
  249. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/athlete-monitoring/2018_Saw_Training-Camps-Monitoring.pdf +0 -0
  250. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/athlete-monitoring/2018_Ward_Putting-i-in-Team.pdf +0 -0
  251. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/injury-prevention/2011_Petersen_Nordic-Hamstring-Prevention.pdf +0 -0
  252. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/injury-prevention/2011_Wilk_Shoulder-GIRD-Baseball-Pitchers.pdf +0 -0
  253. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/injury-prevention/2012_Hewit_Multidirectional-Leg-Asymmetry.pdf +0 -0
  254. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/injury-prevention/2015_Ford_Hip-Neuromuscular-Exercise-Valgus.pdf +0 -0
  255. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/injury-prevention/2015_Mosler_Hip-Groin-Pain-Factors.pdf +0 -0
  256. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/injury-prevention/2015_Sconce_Nordic-Hamstring-Validity.pdf +0 -0
  257. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/injury-prevention/2016_Mendez-Villanueva_Hamstring-MRI-Regional.pdf +0 -0
  258. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/injury-prevention/2016_Read_Youth-Soccer-Injury-Risk.pdf +0 -0
  259. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/injury-prevention/2017_Mason-Mackay_Ankle-Dorsiflexion-Landing.pdf +0 -0
  260. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/injury-prevention/2017_Mendiguchia_Hamstring-Treatment-Algorithm.pdf +0 -0
  261. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/injury-prevention/2018_Balsalobre-Fernandez_Ankle-Dorsiflexion-App.pdf +0 -0
  262. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/injury-prevention/2018_Bramah_Pathological-Gait-Running-Injuries.pdf +0 -0
  263. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/injury-prevention/2020_Fidai_Fatigue-Knee-Valgus-Youth.pdf +0 -0
  264. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/jump-performance/2011_Harper_10-to-5-Jump-Test.pdf +0 -0
  265. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/jump-performance/2012_Samozino_Optimal-Force-Velocity-Profile.pdf +0 -0
  266. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/jump-performance/2014_Samozino_FV-Imbalance.pdf +0 -0
  267. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/jump-performance/2016_Jimenez-Reyes_Force-Velocity-Training.pdf +0 -0
  268. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/jump-performance/2016_Morin-Samozino_Power-Force-Velocity-Profiles.pdf +0 -0
  269. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/jump-performance/2018_Garcia-Ramos_Two-Point-Method-Optimization.pdf +0 -0
  270. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/jump-performance/2022_Wells_Golf-Clubhead-CMJ.pdf +0 -0
  271. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/running-biomechanics/2005_Morin_Running-Stiffness-Measurement.pdf +0 -0
  272. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/running-biomechanics/2015_Balsalobre-Fernandez_Strength-Training-Running-Economy.pdf +0 -0
  273. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/running-biomechanics/2016_Balsalobre-Fernandez_iPhone-Running-Mechanics.pdf +0 -0
  274. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/running-biomechanics/2016_Moore_Economical-Running-Technique.pdf +0 -0
  275. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/running-biomechanics/2020_Filter_Curve-Sprint-Test-Soccer.pdf +0 -0
  276. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/running-biomechanics/2020_Harper_Horizontal-Deceleration-Radar.pdf +0 -0
  277. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/running-biomechanics/2021_vanOeveren_Running-Biomechanics-Synthesis.pdf +0 -0
  278. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/running-biomechanics/2024_Bramah_Sprint-Mechanics-Assessment-Score.pdf +0 -0
  279. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/smartphone-technology/2015_Balsalobre-Fernandez_iPhone-Vertical-Jump.pdf +0 -0
  280. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/smartphone-technology/2022_Bishop_MyJumpLab-Validation.pdf +0 -0
  281. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/velocity-based-training/2011_Jidovtseff_Load-Velocity-1RM-Prediction.pdf +0 -0
  282. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/velocity-based-training/2016_Conceicao_Movement-Velocity-Lower-Limb.pdf +0 -0
  283. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/velocity-based-training/2016_Pareja-Blanco_Velocity-Loss-Training.pdf +0 -0
  284. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/velocity-based-training/2017_Balsalobre-Fernandez_Barbell-Velocity-1RM.pdf +0 -0
  285. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/velocity-based-training/2020_Balsalobre-Fernandez_Barbell-Trajectory-Snatch.pdf +0 -0
  286. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/research/thirdparty/pdfs/velocity-based-training/2023_Balsalobre-Fernandez_AI-Barbell-Velocity.pdf +0 -0
  287. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/1-STRATEGIC_SUMMARY.md +0 -0
  288. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/2-STRATEGIC_ANALYSIS.md +0 -0
  289. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/MVP_FEEDBACK_COLLECTION.md +0 -0
  290. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/MVP_VALIDATION_CHECKPOINTS.md +0 -0
  291. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/README.md +0 -0
  292. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/STYLE_GUIDE.md +0 -0
  293. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/BACKEND_ARCHITECTURE/01-executive-summary.md +0 -0
  294. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/BACKEND_ARCHITECTURE/02-technical-assessment.md +0 -0
  295. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/BACKEND_ARCHITECTURE/03-refactoring-roadmap.md +0 -0
  296. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/BACKEND_ARCHITECTURE/README.md +0 -0
  297. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/BIOMECHANICS/01-executive-summary.md +0 -0
  298. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/BIOMECHANICS/02-technical-assessment.md +0 -0
  299. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/BIOMECHANICS/03-reference-guide.md +0 -0
  300. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/BIOMECHANICS/README.md +0 -0
  301. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/COMPUTER_VISION/01-executive-summary.md +0 -0
  302. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/COMPUTER_VISION/02-real-time-architecture.md +0 -0
  303. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/COMPUTER_VISION/03-implementation-checklist.md +0 -0
  304. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/COMPUTER_VISION/README.md +0 -0
  305. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/CONSOLIDATED/01-agent-consensus.md +0 -0
  306. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/CONSOLIDATED/02-critical-findings.md +0 -0
  307. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/CONSOLIDATED/03-roadmap-adjustments.md +0 -0
  308. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/CONSOLIDATED/04-decision-points.md +0 -0
  309. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/CONSOLIDATED/README.md +0 -0
  310. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/CONSOLIDATED/risk-register.md +0 -0
  311. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/CONSOLIDATED/timeline-roadmap.md +0 -0
  312. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/DEVOPS_CI_CD/01-executive-summary.md +0 -0
  313. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/DEVOPS_CI_CD/02-infrastructure-assessment.md +0 -0
  314. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/DEVOPS_CI_CD/03-implementation-roadmap.md +0 -0
  315. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/DEVOPS_CI_CD/README.md +0 -0
  316. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/ML_DATA_SCIENCE/01-executive-summary.md +0 -0
  317. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/ML_DATA_SCIENCE/02-technical-assessment.md +0 -0
  318. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/ML_DATA_SCIENCE/03-parameter-specifications.md +0 -0
  319. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/ML_DATA_SCIENCE/README.md +0 -0
  320. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/QA_TESTING/01-executive-summary.md +0 -0
  321. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/QA_TESTING/02-roadmap-assessment.md +0 -0
  322. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/QA_TESTING/03-testing-checklists.md +0 -0
  323. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/QA_TESTING/README.md +0 -0
  324. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/TECHNICAL_WRITING/01-executive-summary.md +0 -0
  325. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/TECHNICAL_WRITING/02-documentation-strategy.md +0 -0
  326. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/TECHNICAL_WRITING/03-action-plan.md +0 -0
  327. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/strategy/agent-assessments/TECHNICAL_WRITING/README.md +0 -0
  328. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/technical/framerate.md +0 -0
  329. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/technical/implementation-details.md +0 -0
  330. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/technical/imu-metadata.md +0 -0
  331. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/technical/real-time-analysis.md +0 -0
  332. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/technical/triple-extension.md +0 -0
  333. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/translations/es/camera-setup.md +0 -0
  334. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/validation/determinism-test.md +0 -0
  335. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/validation/known-height-validation.md +0 -0
  336. {kinemotion-0.36.1 → kinemotion-0.37.0}/docs/validation-status.md +0 -0
  337. {kinemotion-0.36.1 → kinemotion-0.37.0}/examples/bulk/README.md +0 -0
  338. {kinemotion-0.36.1 → kinemotion-0.37.0}/examples/bulk/bulk_processing.py +0 -0
  339. {kinemotion-0.36.1 → kinemotion-0.37.0}/examples/bulk/simple_example.py +0 -0
  340. {kinemotion-0.36.1 → kinemotion-0.37.0}/examples/programmatic_usage.py +0 -0
  341. {kinemotion-0.36.1 → kinemotion-0.37.0}/frontend/.editorconfig +0 -0
  342. {kinemotion-0.36.1 → kinemotion-0.37.0}/frontend/.env.example +0 -0
  343. {kinemotion-0.36.1 → kinemotion-0.37.0}/frontend/.gitattributes +0 -0
  344. {kinemotion-0.36.1 → kinemotion-0.37.0}/frontend/.gitignore +0 -0
  345. {kinemotion-0.36.1 → kinemotion-0.37.0}/frontend/.yarn/releases/yarn-4.12.0.cjs +0 -0
  346. {kinemotion-0.36.1 → kinemotion-0.37.0}/frontend/.yarnrc.yml +0 -0
  347. {kinemotion-0.36.1 → kinemotion-0.37.0}/frontend/README.md +0 -0
  348. {kinemotion-0.36.1 → kinemotion-0.37.0}/frontend/index.html +0 -0
  349. {kinemotion-0.36.1 → kinemotion-0.37.0}/frontend/package.json +0 -0
  350. {kinemotion-0.36.1 → kinemotion-0.37.0}/frontend/src/App.tsx +0 -0
  351. {kinemotion-0.36.1 → kinemotion-0.37.0}/frontend/src/components/Auth.tsx +0 -0
  352. {kinemotion-0.36.1 → kinemotion-0.37.0}/frontend/src/components/ErrorBoundary.tsx +0 -0
  353. {kinemotion-0.36.1 → kinemotion-0.37.0}/frontend/src/components/ErrorDisplay.tsx +0 -0
  354. {kinemotion-0.36.1 → kinemotion-0.37.0}/frontend/src/components/LoadingSpinner.tsx +0 -0
  355. {kinemotion-0.36.1 → kinemotion-0.37.0}/frontend/src/components/RecentUploads.tsx +0 -0
  356. {kinemotion-0.36.1 → kinemotion-0.37.0}/frontend/src/components/ResultsDisplay.tsx +0 -0
  357. {kinemotion-0.36.1 → kinemotion-0.37.0}/frontend/src/components/ResultsSkeleton.tsx +0 -0
  358. {kinemotion-0.36.1 → kinemotion-0.37.0}/frontend/src/components/UploadForm.tsx +0 -0
  359. {kinemotion-0.36.1 → kinemotion-0.37.0}/frontend/src/hooks/useAnalysis.ts +0 -0
  360. {kinemotion-0.36.1 → kinemotion-0.37.0}/frontend/src/hooks/useAuth.ts +0 -0
  361. {kinemotion-0.36.1 → kinemotion-0.37.0}/frontend/src/hooks/useBackendVersion.ts +0 -0
  362. {kinemotion-0.36.1 → kinemotion-0.37.0}/frontend/src/hooks/useRecentUploads.ts +0 -0
  363. {kinemotion-0.36.1 → kinemotion-0.37.0}/frontend/src/index.css +0 -0
  364. {kinemotion-0.36.1 → kinemotion-0.37.0}/frontend/src/lib/supabase.ts +0 -0
  365. {kinemotion-0.36.1 → kinemotion-0.37.0}/frontend/src/main.tsx +0 -0
  366. {kinemotion-0.36.1 → kinemotion-0.37.0}/frontend/src/types/api.ts +0 -0
  367. {kinemotion-0.36.1 → kinemotion-0.37.0}/frontend/src/vite-env.d.ts +0 -0
  368. {kinemotion-0.36.1 → kinemotion-0.37.0}/frontend/vercel.json +0 -0
  369. {kinemotion-0.36.1 → kinemotion-0.37.0}/frontend/vite.config.ts +0 -0
  370. {kinemotion-0.36.1 → kinemotion-0.37.0}/frontend/yarn.lock +0 -0
  371. {kinemotion-0.36.1 → kinemotion-0.37.0}/justfile +0 -0
  372. {kinemotion-0.36.1 → kinemotion-0.37.0}/local_dev.sh +0 -0
  373. {kinemotion-0.36.1 → kinemotion-0.37.0}/mkdocs.yml +0 -0
  374. {kinemotion-0.36.1 → kinemotion-0.37.0}/presentation/.gitignore +0 -0
  375. {kinemotion-0.36.1 → kinemotion-0.37.0}/presentation/README.md +0 -0
  376. {kinemotion-0.36.1 → kinemotion-0.37.0}/presentation/demos/.gitignore +0 -0
  377. {kinemotion-0.36.1 → kinemotion-0.37.0}/presentation/demos/README.md +0 -0
  378. {kinemotion-0.36.1 → kinemotion-0.37.0}/presentation/demos/api_demo.ipynb +0 -0
  379. {kinemotion-0.36.1 → kinemotion-0.37.0}/presentation/demos/batch_processing_demo.py +0 -0
  380. {kinemotion-0.36.1 → kinemotion-0.37.0}/presentation/demos/sample_data/.gitkeep +0 -0
  381. {kinemotion-0.36.1 → kinemotion-0.37.0}/presentation/presentation_guide.md +0 -0
  382. {kinemotion-0.36.1 → kinemotion-0.37.0}/presentation/revealjs/.gitignore +0 -0
  383. {kinemotion-0.36.1 → kinemotion-0.37.0}/presentation/revealjs/Makefile +0 -0
  384. {kinemotion-0.36.1 → kinemotion-0.37.0}/presentation/revealjs/README.md +0 -0
  385. {kinemotion-0.36.1 → kinemotion-0.37.0}/presentation/revealjs/slides.md +0 -0
  386. {kinemotion-0.36.1 → kinemotion-0.37.0}/presentation/speaker_script.md +0 -0
  387. {kinemotion-0.36.1 → kinemotion-0.37.0}/requirements-docs.txt +0 -0
  388. {kinemotion-0.36.1 → kinemotion-0.37.0}/samples/cmjs/README.md +0 -0
  389. {kinemotion-0.36.1 → kinemotion-0.37.0}/scripts/README.md +0 -0
  390. {kinemotion-0.36.1 → kinemotion-0.37.0}/scripts/SCRIPTS_QUICKREF.md +0 -0
  391. {kinemotion-0.36.1 → kinemotion-0.37.0}/scripts/analyze_determinism_variance.py +0 -0
  392. {kinemotion-0.36.1 → kinemotion-0.37.0}/scripts/basic-memory-utils.sh +0 -0
  393. {kinemotion-0.36.1 → kinemotion-0.37.0}/scripts/debug_contact_states.py +0 -0
  394. {kinemotion-0.36.1 → kinemotion-0.37.0}/scripts/debug_detection.py +0 -0
  395. {kinemotion-0.36.1 → kinemotion-0.37.0}/scripts/find_unused_features.py +0 -0
  396. {kinemotion-0.36.1 → kinemotion-0.37.0}/scripts/generate_test_data.py +0 -0
  397. {kinemotion-0.36.1 → kinemotion-0.37.0}/scripts/optimize_detection_params.py +0 -0
  398. {kinemotion-0.36.1 → kinemotion-0.37.0}/scripts/plot_cmj_velocities.py +0 -0
  399. {kinemotion-0.36.1 → kinemotion-0.37.0}/scripts/plot_validation_results.py +0 -0
  400. {kinemotion-0.36.1 → kinemotion-0.37.0}/scripts/plot_velocities.py +0 -0
  401. {kinemotion-0.36.1 → kinemotion-0.37.0}/scripts/prepare_ground_truth.py +0 -0
  402. {kinemotion-0.36.1 → kinemotion-0.37.0}/scripts/project/README.md +0 -0
  403. {kinemotion-0.36.1 → kinemotion-0.37.0}/scripts/project/add-issue.sh +0 -0
  404. {kinemotion-0.36.1 → kinemotion-0.37.0}/scripts/project/batch-set-fields.sh +0 -0
  405. {kinemotion-0.36.1 → kinemotion-0.37.0}/scripts/project/helpers.sh +0 -0
  406. {kinemotion-0.36.1 → kinemotion-0.37.0}/scripts/project/list.sh +0 -0
  407. {kinemotion-0.36.1 → kinemotion-0.37.0}/scripts/project/set-field.sh +0 -0
  408. {kinemotion-0.36.1 → kinemotion-0.37.0}/scripts/project/set-status.sh +0 -0
  409. {kinemotion-0.36.1 → kinemotion-0.37.0}/scripts/project/summary.sh +0 -0
  410. {kinemotion-0.36.1 → kinemotion-0.37.0}/scripts/project.sh +0 -0
  411. {kinemotion-0.36.1 → kinemotion-0.37.0}/scripts/setup-github-deploy.sh +0 -0
  412. {kinemotion-0.36.1 → kinemotion-0.37.0}/scripts/setup-google-oauth.sh +0 -0
  413. {kinemotion-0.36.1 → kinemotion-0.37.0}/scripts/setup-supabase-local.sh +0 -0
  414. {kinemotion-0.36.1 → kinemotion-0.37.0}/scripts/setup-supabase-production.sh +0 -0
  415. {kinemotion-0.36.1 → kinemotion-0.37.0}/scripts/test_acceleration_standing.py +0 -0
  416. {kinemotion-0.36.1 → kinemotion-0.37.0}/scripts/test_determinism.sh +0 -0
  417. {kinemotion-0.36.1 → kinemotion-0.37.0}/scripts/test_drop_start_debug.py +0 -0
  418. {kinemotion-0.36.1 → kinemotion-0.37.0}/scripts/validate_known_heights.py +0 -0
  419. {kinemotion-0.36.1 → kinemotion-0.37.0}/sonar-project.properties +0 -0
  420. {kinemotion-0.36.1 → kinemotion-0.37.0}/src/kinemotion/__init__.py +0 -0
  421. {kinemotion-0.36.1 → kinemotion-0.37.0}/src/kinemotion/api.py +0 -0
  422. {kinemotion-0.36.1 → kinemotion-0.37.0}/src/kinemotion/cli.py +0 -0
  423. {kinemotion-0.36.1 → kinemotion-0.37.0}/src/kinemotion/cmj/__init__.py +0 -0
  424. {kinemotion-0.36.1 → kinemotion-0.37.0}/src/kinemotion/cmj/analysis.py +0 -0
  425. {kinemotion-0.36.1 → kinemotion-0.37.0}/src/kinemotion/cmj/cli.py +0 -0
  426. {kinemotion-0.36.1 → kinemotion-0.37.0}/src/kinemotion/cmj/debug_overlay.py +0 -0
  427. {kinemotion-0.36.1 → kinemotion-0.37.0}/src/kinemotion/cmj/joint_angles.py +0 -0
  428. {kinemotion-0.36.1 → kinemotion-0.37.0}/src/kinemotion/cmj/kinematics.py +0 -0
  429. {kinemotion-0.36.1 → kinemotion-0.37.0}/src/kinemotion/cmj/metrics_validator.py +0 -0
  430. {kinemotion-0.36.1 → kinemotion-0.37.0}/src/kinemotion/cmj/validation_bounds.py +0 -0
  431. {kinemotion-0.36.1 → kinemotion-0.37.0}/src/kinemotion/core/__init__.py +0 -0
  432. {kinemotion-0.36.1 → kinemotion-0.37.0}/src/kinemotion/core/auto_tuning.py +0 -0
  433. {kinemotion-0.36.1 → kinemotion-0.37.0}/src/kinemotion/core/cli_utils.py +0 -0
  434. {kinemotion-0.36.1 → kinemotion-0.37.0}/src/kinemotion/core/debug_overlay_utils.py +0 -0
  435. {kinemotion-0.36.1 → kinemotion-0.37.0}/src/kinemotion/core/determinism.py +0 -0
  436. {kinemotion-0.36.1 → kinemotion-0.37.0}/src/kinemotion/core/experimental.py +0 -0
  437. {kinemotion-0.36.1 → kinemotion-0.37.0}/src/kinemotion/core/filtering.py +0 -0
  438. {kinemotion-0.36.1 → kinemotion-0.37.0}/src/kinemotion/core/formatting.py +0 -0
  439. {kinemotion-0.36.1 → kinemotion-0.37.0}/src/kinemotion/core/metadata.py +0 -0
  440. {kinemotion-0.36.1 → kinemotion-0.37.0}/src/kinemotion/core/pose.py +0 -0
  441. {kinemotion-0.36.1 → kinemotion-0.37.0}/src/kinemotion/core/quality.py +0 -0
  442. {kinemotion-0.36.1 → kinemotion-0.37.0}/src/kinemotion/core/smoothing.py +0 -0
  443. {kinemotion-0.36.1 → kinemotion-0.37.0}/src/kinemotion/core/validation.py +0 -0
  444. {kinemotion-0.36.1 → kinemotion-0.37.0}/src/kinemotion/core/video_io.py +0 -0
  445. {kinemotion-0.36.1 → kinemotion-0.37.0}/src/kinemotion/dropjump/__init__.py +0 -0
  446. {kinemotion-0.36.1 → kinemotion-0.37.0}/src/kinemotion/dropjump/analysis.py +0 -0
  447. {kinemotion-0.36.1 → kinemotion-0.37.0}/src/kinemotion/dropjump/cli.py +0 -0
  448. {kinemotion-0.36.1 → kinemotion-0.37.0}/src/kinemotion/dropjump/debug_overlay.py +0 -0
  449. {kinemotion-0.36.1 → kinemotion-0.37.0}/src/kinemotion/dropjump/kinematics.py +0 -0
  450. {kinemotion-0.36.1 → kinemotion-0.37.0}/src/kinemotion/dropjump/metrics_validator.py +0 -0
  451. {kinemotion-0.36.1 → kinemotion-0.37.0}/src/kinemotion/dropjump/validation_bounds.py +0 -0
  452. {kinemotion-0.36.1 → kinemotion-0.37.0}/src/kinemotion/py.typed +0 -0
  453. {kinemotion-0.36.1 → kinemotion-0.37.0}/tests/__init__.py +0 -0
  454. {kinemotion-0.36.1 → kinemotion-0.37.0}/tests/cli/__init__.py +0 -0
  455. {kinemotion-0.36.1 → kinemotion-0.37.0}/tests/cli/test_cmj.py +0 -0
  456. {kinemotion-0.36.1 → kinemotion-0.37.0}/tests/cli/test_dropjump.py +0 -0
  457. {kinemotion-0.36.1 → kinemotion-0.37.0}/tests/cli/test_imports.py +0 -0
  458. {kinemotion-0.36.1 → kinemotion-0.37.0}/tests/cmj/__init__.py +0 -0
  459. {kinemotion-0.36.1 → kinemotion-0.37.0}/tests/cmj/test_analysis.py +0 -0
  460. {kinemotion-0.36.1 → kinemotion-0.37.0}/tests/cmj/test_api.py +0 -0
  461. {kinemotion-0.36.1 → kinemotion-0.37.0}/tests/cmj/test_joint_angles.py +0 -0
  462. {kinemotion-0.36.1 → kinemotion-0.37.0}/tests/cmj/test_kinematics.py +0 -0
  463. {kinemotion-0.36.1 → kinemotion-0.37.0}/tests/cmj/test_physiological_bounds.py +0 -0
  464. {kinemotion-0.36.1 → kinemotion-0.37.0}/tests/conftest.py +0 -0
  465. {kinemotion-0.36.1 → kinemotion-0.37.0}/tests/core/__init__.py +0 -0
  466. {kinemotion-0.36.1 → kinemotion-0.37.0}/tests/core/test_auto_tuning.py +0 -0
  467. {kinemotion-0.36.1 → kinemotion-0.37.0}/tests/core/test_filtering.py +0 -0
  468. {kinemotion-0.36.1 → kinemotion-0.37.0}/tests/core/test_formatting.py +0 -0
  469. {kinemotion-0.36.1 → kinemotion-0.37.0}/tests/core/test_metadata.py +0 -0
  470. {kinemotion-0.36.1 → kinemotion-0.37.0}/tests/core/test_pose.py +0 -0
  471. {kinemotion-0.36.1 → kinemotion-0.37.0}/tests/core/test_quality.py +0 -0
  472. {kinemotion-0.36.1 → kinemotion-0.37.0}/tests/core/test_smoothing.py +0 -0
  473. {kinemotion-0.36.1 → kinemotion-0.37.0}/tests/core/test_validation.py +0 -0
  474. {kinemotion-0.36.1 → kinemotion-0.37.0}/tests/core/test_video_io.py +0 -0
  475. {kinemotion-0.36.1 → kinemotion-0.37.0}/tests/dropjump/__init__.py +0 -0
  476. {kinemotion-0.36.1 → kinemotion-0.37.0}/tests/dropjump/test_adaptive_threshold.py +0 -0
  477. {kinemotion-0.36.1 → kinemotion-0.37.0}/tests/dropjump/test_analysis.py +0 -0
  478. {kinemotion-0.36.1 → kinemotion-0.37.0}/tests/dropjump/test_api.py +0 -0
  479. {kinemotion-0.36.1 → kinemotion-0.37.0}/tests/dropjump/test_contact_detection.py +0 -0
  480. {kinemotion-0.36.1 → kinemotion-0.37.0}/tests/dropjump/test_kinematics.py +0 -0
  481. {kinemotion-0.36.1 → kinemotion-0.37.0}/tests/dropjump/test_physiological_bounds.py +0 -0
  482. {kinemotion-0.36.1 → kinemotion-0.37.0}/tests/dropjump/test_validation_integration.py +0 -0
@@ -5,6 +5,7 @@
5
5
  "Bash(cat:*)",
6
6
  "Bash(chmod:*)",
7
7
  "Bash(curl:*)",
8
+ "Bash(ffmpeg:*)",
8
9
  "Bash(ffprobe:*)",
9
10
  "Bash(find:*)",
10
11
  "Bash(gh run view:*)",
@@ -37,6 +38,7 @@
37
38
  "mcp__ref__ref_read_url",
38
39
  "mcp__ref__ref_search_documentation",
39
40
  "mcp__sequential__sequentialthinking",
41
+ "mcp__sequential-thinking__generate_summary",
40
42
  "mcp__sequential-thinking__process_thought",
41
43
  "mcp__sequential-thinking__sequentialthinking",
42
44
  "mcp__serena__check_onboarding_performed",
@@ -63,8 +65,7 @@
63
65
  "WebFetch(domain:realpython.com)",
64
66
  "WebFetch(domain:sonarcloud.io)",
65
67
  "WebFetch(domain:www.pyopensci.org)",
66
- "WebFetch(domain:www.sonarsource.com)",
67
- "Bash(ffmpeg:*)"
68
+ "WebFetch(domain:www.sonarsource.com)"
68
69
  ]
69
70
  },
70
71
  "enableAllProjectMcpServers": true,
@@ -7,6 +7,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  <!-- version list -->
9
9
 
10
+ ## v0.37.0 (2025-12-09)
11
+
12
+ ### Chores
13
+
14
+ - Organize permissions list and add sequential-thinking tool
15
+ ([`64aaf72`](https://github.com/feniix/kinemotion/commit/64aaf72b44fbb3561f84ec5e12f9ec14c2d0d05b))
16
+
17
+ ### Features
18
+
19
+ - **backend**: Add determinism testing endpoints for M1 vs Intel comparison
20
+ ([`8447790`](https://github.com/feniix/kinemotion/commit/8447790f6aef2bd11fdfa086ce4e67b5226de9e2))
21
+
22
+
10
23
  ## v0.36.1 (2025-12-08)
11
24
 
12
25
  ### Bug Fixes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kinemotion
3
- Version: 0.36.1
3
+ Version: 0.37.0
4
4
  Summary: Video-based kinematic analysis for athletic performance
5
5
  Project-URL: Homepage, https://github.com/feniix/kinemotion
6
6
  Project-URL: Repository, https://github.com/feniix/kinemotion
@@ -682,6 +682,87 @@ async def analyze_local_video(
682
682
  # ========== Error Handlers ==========
683
683
 
684
684
 
685
+ @app.get("/determinism/platform-info", tags=["Determinism"])
686
+ async def get_platform_info() -> dict[str, Any]:
687
+ """Get platform info for cross-platform determinism testing."""
688
+ import platform
689
+
690
+ import cv2
691
+ import numpy as np
692
+
693
+ return {
694
+ "platform": {
695
+ "machine": platform.machine(),
696
+ "processor": platform.processor(),
697
+ "python_version": platform.python_version(),
698
+ },
699
+ "libraries": {
700
+ "numpy": np.__version__,
701
+ "opencv": cv2.__version__,
702
+ },
703
+ }
704
+
705
+
706
+ @app.post("/determinism/extract-landmarks", tags=["Determinism"])
707
+ async def extract_landmarks_determinism(video: UploadFile = File(...)) -> JSONResponse: # noqa: B008
708
+ """Extract raw MediaPipe landmarks for cross-platform comparison."""
709
+ import platform
710
+
711
+ from kinemotion.core.pose import PoseTracker
712
+ from kinemotion.core.video_io import VideoProcessor
713
+
714
+ with tempfile.NamedTemporaryFile(delete=False, suffix=".MOV") as tmp:
715
+ content = await video.read()
716
+ tmp.write(content)
717
+ tmp_path = tmp.name
718
+
719
+ try:
720
+ tracker = PoseTracker()
721
+ video_proc = VideoProcessor(tmp_path)
722
+
723
+ all_landmarks = []
724
+ frame_idx = 0
725
+
726
+ while True:
727
+ ret, frame = video_proc.cap.read()
728
+ if not ret:
729
+ break
730
+
731
+ landmarks = tracker.process_frame(frame)
732
+
733
+ if landmarks:
734
+ frame_landmarks = {
735
+ "frame": frame_idx,
736
+ "landmarks": {
737
+ name: {
738
+ "x": float(coords[0]),
739
+ "y": float(coords[1]),
740
+ "visibility": float(coords[2]),
741
+ }
742
+ for name, coords in landmarks.items()
743
+ },
744
+ }
745
+ else:
746
+ frame_landmarks = {"frame": frame_idx, "landmarks": None}
747
+
748
+ all_landmarks.append(frame_landmarks)
749
+ frame_idx += 1
750
+
751
+ video_proc.close()
752
+
753
+ return JSONResponse(
754
+ content={
755
+ "video_filename": video.filename,
756
+ "platform": platform.machine(),
757
+ "num_frames": frame_idx,
758
+ "landmarks": all_landmarks,
759
+ }
760
+ )
761
+
762
+ finally:
763
+ os.unlink(tmp_path)
764
+
765
+
685
766
  @app.exception_handler(HTTPException)
686
767
  async def http_exception_handler(request: Any, exc: HTTPException) -> JSONResponse:
687
768
  """Handle HTTP exceptions with consistent response format."""
@@ -0,0 +1,269 @@
1
+ # Pose2Sim Migration Evaluation and Strategy
2
+
3
+ **Date:** 2025-12-08
4
+ **Analysis Method:** Sequential thinking + Multi-tool research (exa, ref, serena, basic-memory)
5
+ **Decision:** DEFER to Phase 2+ (post-MVP)
6
+
7
+ ______________________________________________________________________
8
+
9
+ ## Executive Summary
10
+
11
+ **Recommendation: DO NOT migrate to Pose2Sim during MVP phase (Weeks 1-3)**
12
+
13
+ Pose2Sim would provide 67-73% accuracy improvement but requires:
14
+
15
+ - 2-4 weeks integration time (delays MVP launch)
16
+ - $2,000-5,000 hardware investment (premature before market validation)
17
+ - Multi-camera setup (adds complexity for users)
18
+ - Batch processing only (may conflict with real-time needs)
19
+
20
+ **Strategic timing is wrong.** Focus on MVP launch, gather user feedback, then reassess based on validated market needs.
21
+
22
+ ______________________________________________________________________
23
+
24
+ ## Current State Analysis
25
+
26
+ ### MediaPipe Monocular (Kinemotion Current)
27
+
28
+ - **Joint angle error:** ~10-15°
29
+ - **Position RMSE:** 56mm
30
+ - **Ankle/knee visibility:** 18-27% (lateral view, occlusion issues)
31
+ - **Cost:** $0 (single camera/smartphone)
32
+ - **Setup time:** Minutes
33
+ - **Processing:** Real-time capable
34
+ - **Architecture:** PoseTracker class wraps MediaPipe, processes frames sequentially
35
+
36
+ ### Recent Optimizations (Dec 2025)
37
+
38
+ - 92% improvement in detection accuracy (within 5 frames target)
39
+ - Fixed non-deterministic analysis (temporal averaging)
40
+ - 45° oblique angle validated as optimal for MediaPipe
41
+
42
+ ______________________________________________________________________
43
+
44
+ ## Pose2Sim Technical Analysis
45
+
46
+ ### Accuracy Improvements
47
+
48
+ | Metric | Current (MediaPipe) | Pose2Sim | Improvement |
49
+ | --------------------- | ------------------- | --------- | -------------- |
50
+ | Joint angle error | ~10-15° | 3-4° | **67-73%** ↓ |
51
+ | Position RMSE | 56mm | 30-40mm | **29-46%** ↓ |
52
+ | Ankle/knee visibility | 18-27% | 80-95% | **3-5x** ↑ |
53
+ | CMC correlation | Not available | 0.90-0.98 | Research-grade |
54
+
55
+ ### Technical Requirements
56
+
57
+ - **Hardware:** 4-8 RGB cameras (1080p+, 60-240 Hz)
58
+ - **Sync:** Hardware preferred, software acceptable
59
+ - **Calibration:** ChArUco board, intrinsic + extrinsic
60
+ - **Compute:** GPU recommended but NOT required (CPU works, 2-3x slower)
61
+ - **Software:** Python, OpenSim, pose2sim package
62
+
63
+ ### Integration Architecture
64
+
65
+ **Pose2Sim Pipeline:**
66
+
67
+ ```python
68
+ from Pose2Sim import Pose2Sim
69
+
70
+ Pose2Sim.calibration() # Camera calibration
71
+ Pose2Sim.poseEstimation() # 2D pose (uses OpenPose/MediaPipe/AlphaPose)
72
+ Pose2Sim.triangulation() # 3D reconstruction
73
+ Pose2Sim.filtering() # Butterworth smoothing (6 Hz)
74
+ Pose2Sim.kinematics() # OpenSim inverse kinematics
75
+ ```
76
+
77
+ **Kinemotion Integration Points:**
78
+
79
+ 1. Replace `PoseTracker` class (src/kinemotion/core/pose.py)
80
+ 1. Modify `process_dropjump_video()` / `process_cmj_video()` (src/kinemotion/api.py)
81
+ 1. Keep existing: smoothing, signed velocity, backward search, analysis logic
82
+ 1. Add: multi-camera input handling, calibration management, OpenSim output parsing
83
+
84
+ ______________________________________________________________________
85
+
86
+ ## Cost-Benefit Analysis
87
+
88
+ ### Investment Required
89
+
90
+ | Item | Cost | Time |
91
+ | ---------------------------------- | ---------------- | ------------- |
92
+ | 4-8 RGB cameras (1080p, 60-120 Hz) | $2,000-3,000 | 1 week |
93
+ | Optional GPU for faster 2D pose | $1,000-2,000 | N/A |
94
+ | Integration development | $0 (internal) | 2-4 weeks |
95
+ | Testing & validation | $0 (internal) | 1 week |
96
+ | **Total** | **$2,000-5,000** | **3-5 weeks** |
97
+
98
+ ### Benefits
99
+
100
+ - **Accuracy:** Research-grade (publishable validation studies)
101
+ - **Credibility:** Gold-standard validation vs Vicon/Qualisys
102
+ - **Market differentiation:** Can claim highest accuracy in market
103
+ - **Biomechanical validity:** OpenSim constraints ensure physically plausible poses
104
+ - **Multi-view:** Eliminates occlusion problems (45° + frontal + lateral)
105
+
106
+ ### Risks
107
+
108
+ - **Complexity:** Multi-camera setup increases user friction
109
+ - **Cost barrier:** $2-5k hardware may limit adoption
110
+ - **No real-time:** Batch processing only (if real-time needed, Pose2Sim won't work)
111
+ - **Integration delay:** 3-5 weeks delays MVP launch and market feedback
112
+ - **Premature optimization:** Unknown if accuracy is validated user pain point
113
+
114
+ ______________________________________________________________________
115
+
116
+ ## Go/No-Go Decision Framework
117
+
118
+ **Phase 1 (MVP - Weeks 1-3): GO = 0/5 ❌**
119
+
120
+ | Criteria | Status | Weight |
121
+ | ---------------------------------------- | ---------------------- | -------- |
122
+ | Is MediaPipe accuracy blocking adoption? | ❌ NO (no users yet) | Critical |
123
+ | User feedback demanding better accuracy? | ❌ NO (pre-launch) | Critical |
124
+ | Research publication planned? | ⚠️ TBD (not immediate) | High |
125
+ | Can afford 3-5 week delay? | ❌ NO (Week 3 of MVP) | Critical |
126
+ | $2-5k justified by revenue? | ❌ NO (pre-revenue) | High |
127
+
128
+ **Recommendation: DEFER**
129
+
130
+ **Phase 2+ (Post-MVP): Reassess when GO ≥ 3/5**
131
+
132
+ Wait for:
133
+
134
+ 1. MVP launch (Week 3)
135
+ 1. User feedback (Weeks 4-8)
136
+ 1. Market validation (revenue/engagement)
137
+ 1. Feature prioritization from actual users
138
+
139
+ ______________________________________________________________________
140
+
141
+ ## Phased Migration Roadmap (IF NEEDED)
142
+
143
+ ### Immediate (Week 4 - Post-MVP Launch)
144
+
145
+ **Action:** Test OpenCap as low-risk validation
146
+
147
+ - Record sample videos with 2 smartphones
148
+ - Upload to opencap.ai, download results
149
+ - Compare accuracy vs MediaPipe on validation dataset
150
+ - Assess if improvement justifies complexity
151
+ - **Cost:** $0, **Time:** 2-3 days
152
+
153
+ ### Short-term (Weeks 5-8 - IF accuracy validated as pain point)
154
+
155
+ **Action:** Implement hybrid architecture
156
+
157
+ - Create `Pose2SimAdapter` class alongside `PoseTracker`
158
+ - Add `--multi-camera` flag to CLI
159
+ - Keep MediaPipe for single-camera (backward compatible)
160
+ - Add Pose2Sim for research-grade offline analysis
161
+ - Share analysis logic (smoothing, metrics calculation)
162
+ - **Cost:** $2-3k (cameras), **Time:** 2-4 weeks
163
+
164
+ ### Long-term (Months 2-3 - IF market demands it)
165
+
166
+ **Action:** Full Pose2Sim integration
167
+
168
+ - Multi-camera calibration UI
169
+ - Batch processing optimization
170
+ - OpenSim biomechanical constraints
171
+ - Validation study publication (if academic goals)
172
+ - Market as "research-grade" premium tier
173
+ - **Cost:** $2-5k, **Time:** 4-6 weeks
174
+
175
+ ______________________________________________________________________
176
+
177
+ ## Alternative: OpenCap Comparison
178
+
179
+ ### OpenCap Advantages vs Pose2Sim
180
+
181
+ - **Cost:** $0 (use existing smartphones)
182
+ - **Setup:** Minutes (no calibration needed)
183
+ - **Processing:** Cloud-based (no local compute)
184
+ - **Accuracy:** ~4-6° joint angle errors (vs 3-4° for Pose2Sim)
185
+ - **Biomechanics:** Automatic OpenSim constraints
186
+
187
+ ### OpenCap Disadvantages
188
+
189
+ - **Internet required:** Cloud processing dependency
190
+ - **Less control:** Can't customize pipeline
191
+ - **Validation:** Still emerging (fewer published studies than Pose2Sim)
192
+ - **Output format:** May require parsing/conversion
193
+
194
+ ### Recommendation
195
+
196
+ **Test OpenCap first** (Week 4) before committing to Pose2Sim hardware investment.
197
+
198
+ ______________________________________________________________________
199
+
200
+ ## Key Technical Insights
201
+
202
+ ### GPU Requirements
203
+
204
+ - **OpenCap:** NO GPU needed (cloud processing)
205
+ - **Pose2Sim:** GPU only speeds up 2D pose step (3-5x faster)
206
+ - With GPU: ~2-5 min per camera (1000 frames)
207
+ - With CPU: ~10-30 min per camera (1000 frames)
208
+ - **Recommendation:** CPU-only Pose2Sim acceptable for research use
209
+
210
+ ### Current Architecture (Kinemotion)
211
+
212
+ - **PoseTracker:** Wraps MediaPipe, processes frames sequentially
213
+ - **API entry points:** `process_dropjump_video()`, `process_cmj_video()` (376-628 lines)
214
+ - **Data flow:** Video → PoseTracker.process_frame() → landmarks → smoothing → analysis → metrics
215
+ - **Integration points:** Replace PoseTracker or add parallel Pose2Sim path
216
+
217
+ ### Integration Complexity
218
+
219
+ - **Low:** OpenCap (parse output, feed to existing analysis)
220
+ - **Medium:** Hybrid Pose2Sim (new code path, keep MediaPipe)
221
+ - **High:** Full Pose2Sim replacement (breaking change)
222
+
223
+ ______________________________________________________________________
224
+
225
+ ## Strategic Recommendation
226
+
227
+ ### Phase 1 (NOW): Ship MVP with MediaPipe
228
+
229
+ **Focus:** Get product in coaches' hands, gather feedback
230
+
231
+ - Current accuracy sufficient for initial validation
232
+ - Real-time capability preserved (may be needed)
233
+ - No hardware barriers for early adopters
234
+ - Fast time-to-market
235
+
236
+ ### Phase 2 (Week 4+): Market-Driven Decision
237
+
238
+ **If users say:** "Accuracy is not good enough" → Pose2Sim migration
239
+ **If users say:** "Real-time feedback is critical" → Stay with MediaPipe
240
+ **If users say:** "Both accuracy and real-time needed" → Hybrid architecture
241
+
242
+ ### Key Principle
243
+
244
+ **Optimize for learning, not accuracy.** Ship fast, validate with real users, then invest based on validated needs rather than technical possibilities.
245
+
246
+ ______________________________________________________________________
247
+
248
+ ## References
249
+
250
+ - **Pose2Sim validation:** Pagnon et al. (2022), Sensors 22(7), 2712
251
+ - **Stereo MediaPipe:** Dill et al. (2024), Sensors 24(23), 7772
252
+ - **AthletePose3D dataset:** Yeung et al. (2025), arXiv:2503.07499
253
+ - **Kinemotion docs:** docs/reference/pose-systems.md, docs/research/sports-biomechanics-pose-estimation.md
254
+ - **Current architecture:** src/kinemotion/core/pose.py, src/kinemotion/api.py
255
+
256
+ ______________________________________________________________________
257
+
258
+ ## Conclusion
259
+
260
+ Pose2Sim migration is **technically feasible** (2-4 weeks, $2-5k) and would provide **67-73% accuracy improvement**, but **strategic timing is wrong**.
261
+
262
+ **Action:** Focus on MVP launch (Phase 1), gather real market feedback, then decide based on validated user needs rather than technical possibilities.
263
+
264
+ **Next steps:**
265
+
266
+ 1. Complete MVP launch (Week 3)
267
+ 1. Collect user feedback (Weeks 4-8)
268
+ 1. Test OpenCap if accuracy emerges as pain point (Week 4)
269
+ 1. Reassess Pose2Sim decision when GO score ≥ 3/5
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "kinemotion"
3
- version = "0.36.1"
3
+ version = "0.37.0"
4
4
  description = "Video-based kinematic analysis for athletic performance"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10,<3.13"
@@ -894,7 +894,7 @@ wheels = [
894
894
 
895
895
  [[package]]
896
896
  name = "kinemotion"
897
- version = "0.36.1"
897
+ version = "0.37.0"
898
898
  source = { editable = "." }
899
899
  dependencies = [
900
900
  { name = "click" },