kinemotion 0.54.0__tar.gz → 0.59.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.
- kinemotion-0.59.0/.basic-memory/development/i18n-implementation-plan-for-validation-messages.md +102 -0
- kinemotion-0.59.0/.basic-memory/project-management/i18n-documentation-cleanup-completed.md +102 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.claude/settings.local.json +16 -11
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.github/workflows/release.yml +30 -26
- {kinemotion-0.54.0 → kinemotion-0.59.0}/CHANGELOG.md +34 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/PKG-INFO +1 -1
- kinemotion-0.59.0/docs/development/I18N-README.md +327 -0
- kinemotion-0.59.0/docs/development/i18n-architecture-diagram.md +455 -0
- kinemotion-0.59.0/docs/development/i18n-cheat-sheet.md +379 -0
- kinemotion-0.59.0/docs/development/i18n-quick-start-guide.md +753 -0
- kinemotion-0.59.0/docs/development/i18n-summary.md +343 -0
- kinemotion-0.59.0/docs/development/i18n-validation-messages-specification.md +819 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/package.json +3 -1
- kinemotion-0.59.0/frontend/src/App.i18n.integration.test.tsx +211 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/src/App.tsx +9 -5
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/src/components/ErrorDisplay.tsx +13 -9
- kinemotion-0.59.0/frontend/src/components/LanguageSwitcher.css +43 -0
- kinemotion-0.59.0/frontend/src/components/LanguageSwitcher.test.tsx +169 -0
- kinemotion-0.59.0/frontend/src/components/LanguageSwitcher.tsx +31 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/src/components/ResultsDisplay.tsx +37 -35
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/src/components/UploadForm.test.tsx +2 -2
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/src/components/UploadForm.tsx +16 -14
- kinemotion-0.59.0/frontend/src/hooks/useLanguage.test.ts +186 -0
- kinemotion-0.59.0/frontend/src/hooks/useLanguage.ts +35 -0
- kinemotion-0.59.0/frontend/src/i18n/config.ts +44 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/src/main.tsx +1 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/src/test/setup.ts +25 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/yarn.lock +46 -1
- {kinemotion-0.54.0 → kinemotion-0.59.0}/pyproject.toml +26 -24
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/__init__.py +2 -1
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/api.py +1 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/uv.lock +86 -157
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/README.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/api/api-reference-quick-commands.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/api/cloud-run-cpu-specifications-investigation.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/api/supabase-authentication-setup-guide.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/authentication/auth-provider-comparison-december-2025.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/authentication/auth-providers-comparison-december-2025.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/authentication/supabase-authentication-quick-start.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/authentication/supabase-authentication-setup-guide.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/authentication/supabase-authentication-technical-guide.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/authentication/supabase-google-oauth-setup-guide.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/authentication/supabase-production-setup-guide.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/authentication/supabase-quick-start-guide.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/biomechanics/camera-angle-empirical-validation-results-45-superior-for-media-pipe.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/biomechanics/camera-perspective-analysis-45deg-vs-lateral.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/biomechanics/cmj-landing-detection-window-validation.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/biomechanics/cmj-physiological-bounds-for-validation.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/biomechanics/cmj-validation-implementation-complete.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/biomechanics/drop-jump-vs-cmj-key-differences.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/biomechanics/technical-implementation-45deg-perspective-correction.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/codebase/codebase-architecture-overview.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/codebase/validation-architecture-visual-hierarchy-after-refactoring.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/codebase/validation-code-duplication-evidence.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/codebase/validation-module-architecture-analysis.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/codebase/validation-refactoring-complete-architecture-improvement.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/deployment/automated-deployment-setup-git-hub-actions-with-workload-identity-federation.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/deployment/backend-repository-split-migration-guide.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/deployment/backend-repository-split-step-by-step-execution-guide.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/deployment/cloud-run-security-least-privilege-service-account-setup.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/deployment/cors-and-memory-issues-production-debugging-guide.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/deployment/current-kinemotion-architecture-correct-deployment-setup.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/deployment/frontend-repository-split-migration-guide.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/deployment/frontend-repository-split-step-by-step-execution-guide.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/deployment/production-deployment-guide-vercel-google-cloud-run.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/deployment/quick-deployment-commands-vercel-and-cloud-run.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/deployment/vercel-monorepo-deployment-best-practice.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/athlete-pose3d-and-cross-platform-determinism-investigation-complete.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/athlete-pose3d-final-strategy-accuracy-and-robustness.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/athlete-pose3d-media-pipe-enhancement-plan.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/athlete-pose3d-phase-1-implementation-complete.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/backend-authentication-and-logging-status.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/backend-code-coverage-analysis.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/backend-code-duplication-analysis.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/backend-granular-logging-implementation.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/backend-kinemotion-decoupling-strategy.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/backend-sonar-cloud-integration-status.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/basic-memory-naming-hook-analysis.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/ci-caching-issue-investigation-deep-squat-test-failure.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/ci-vs-local-test-failure-investigation.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/claude-code-hook-configuration.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/cmj-phase-detection-testing-gap-analysis.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/commit-review-r2-video-storage-migration-fe74d1f.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/comprehensive-timing-instrumentation.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/cross-platform-determinism-analysis-final-results.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/development-standards-quality-gates.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/drop-jump-detection-complete-fix-all-metrics-within-target.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/drop-jump-detection-failure-analysis-per-video-breakdown.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/drop-jump-fix-drop-start-successful-landing-and-takeoff-remain.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/fast-api-app.py Refactoring Plan - Modular Architecture.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/fast-api-refactoring-completion-summary.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/feature-request-system-configuration.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/follow-up-improvements-to-r2-video-storage-migration.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/frontend-dependencies-analysis-nov-2025.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/google-oauth-setup-script-final-review-production-ready.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/google-oauth-setup-script-review-issues-and-recommendations.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/hook-complete-audit-summary.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/hook-configuration-audit.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/hook-quick-reference.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/keyboard-interrupt-test-suite-failure-analysis.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/model-import-conflict-resolution-fast-api-refactoring.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/non-deterministic-analysis-root-cause-and-solution.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/optimal-timing-implementation-summary.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/p0-p1-p2-test-suite-fixes-final-report.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/pose-detection-baseline-evaluation-results.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/pose-detection-optimization-complete-success-summary.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/pose-detection-parameter-optimization-framework.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/structured-logging-implementation-complete.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/structured-logging-implementation.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/supabase-dashboard-navigation-december-2025.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/supabase-database-integration-setup.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/test-coverage-asymmetry-analysis-cmj-vs-drop-jump.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/test-coverage-equivalence-achievement-summary.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/test-suite-comprehensive-review-december-2025.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/test-suite-comprehensive-review-structure-and-gaps.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/test-suite-p0-p1-p2-fixes-complete-report.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/test-suite-p0-p1-p2-fixes-progress-report.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/unused-and-experimental-features-strategy.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/unused-code-detection-prompt-template.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/unused-code-identification-and-decorator-application-december-2025.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/unused-code-verification-final-pass-december-2025.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/using-multiple-mcp-reasoning-servers-simultaneously.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/velocity-threshold-empirical-validation-study.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/development/vercel-authentication-options-for-user-id-tracking.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/project-management/documentation-audit-december-2025.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/project-management/issue-12-mvp-scaffolding-complete.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/project-management/issue-12-unblocked-tasks-breakdown.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/project-management/issue-12-use-real-metrics-now.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/project-management/kinemotion-project-setup-complete.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/project-management/kinemotion-supabase-production-configuration.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/project-management/mcp-sequential-thinking-alternatives-analysis.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/project-management/performance-optimization-pose-tracker-pool-timing-instrumentation-complete.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/project-management/project-state-summary-december-2025.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/project-management/specialized-subagents-routing-guide.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/project-management/supabase-setup-instructions-for-kinemotion.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/project-management/version-mismatch-analysis-kinemotion-0370-vs-0300.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/strategy/deployment-decision-analysis-for-kinemotion.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/strategy/mvp-feedback-collection-plan.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/strategy/mvp-first-strategic-direction.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/strategy/mvp-validation-checkpoints.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/strategy/pose2sim-migration-evaluation-and-strategy.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/strategy/strategic-priority-tasks-current-roadmap.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.basic-memory/strategy/third-party-auth-providers-with-free-tiers-december-2025.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.claude/agents/biomechanics-specialist.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.claude/agents/computer-vision-engineer.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.claude/agents/devops-cicd-engineer.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.claude/agents/frontend-developer.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.claude/agents/ml-data-scientist.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.claude/agents/project-manager.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.claude/agents/python-backend-developer.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.claude/agents/qa-test-engineer.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.claude/agents/technical-writer.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.cursor/mcp.json +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.dockerignore +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.envrc +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.gitattributes +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.github/dependabot.yml +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.github/pull_request_template.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.github/workflows/deploy-backend.yml +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.github/workflows/docs.yml +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.github/workflows/test.yml +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.gitignore +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.mcp.json +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.pre-commit-config.yaml +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.readthedocs.yml +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.serena/.gitignore +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.serena/memories/backend-cors-fastapi-middleware-order.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.serena/memories/camera-perspective-validation-study.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.serena/memories/code_style_and_conventions.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.serena/memories/current-project-architecture.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.serena/memories/deployment-checklist-and-known-issues.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.serena/memories/deployment-setup-complete.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.serena/memories/github-project-setup-summary.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.serena/memories/mvp-first-strategy.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.serena/memories/mvp-roadmap-and-priorities.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.serena/memories/project_overview.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.serena/memories/specialist-agents-routing.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.serena/memories/suggested_commands.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.serena/project.yml +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.tool-versions +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/.vercelignore +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/CLAUDE.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/CODE_OF_CONDUCT.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/CONTRIBUTING.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/Dockerfile +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/GEMINI.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/LICENSE +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/README.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/SECURITY.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/.coveragerc +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/.dockerignore +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/.env.example +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/Dockerfile +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/README.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/docs/fly-deployment.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/docs/implementation-summary.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/docs/setup.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/docs/tests.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/pyproject.toml +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/src/kinemotion_backend/__init__.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/src/kinemotion_backend/analysis_api.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/src/kinemotion_backend/app/__init__.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/src/kinemotion_backend/app/config.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/src/kinemotion_backend/app/dependencies.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/src/kinemotion_backend/app/exceptions.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/src/kinemotion_backend/app/main.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/src/kinemotion_backend/app.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/src/kinemotion_backend/auth.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/src/kinemotion_backend/database.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/src/kinemotion_backend/logging_config.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/src/kinemotion_backend/middleware.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/src/kinemotion_backend/models/__init__.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/src/kinemotion_backend/models/database.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/src/kinemotion_backend/models/responses.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/src/kinemotion_backend/models/storage.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/src/kinemotion_backend/routes/__init__.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/src/kinemotion_backend/routes/analysis.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/src/kinemotion_backend/routes/database.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/src/kinemotion_backend/routes/health.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/src/kinemotion_backend/routes/platform.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/src/kinemotion_backend/services/__init__.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/src/kinemotion_backend/services/analysis_service.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/src/kinemotion_backend/services/storage_service.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/src/kinemotion_backend/services/validation.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/src/kinemotion_backend/services/video_processor.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/src/kinemotion_backend/types.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/src/kinemotion_backend/utils/__init__.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/src/kinemotion_backend/utils/rate_limiter.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/supabase-schema.sql +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/tests/README.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/tests/__init__.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/tests/conftest.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/tests/test_api_endpoints.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/tests/test_error_handling.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/tests/test_health.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/tests/test_r2_integration.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/backend/tests/test_validation.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/README.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/api/cmj.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/api/core.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/api/dropjump.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/api/overview.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/development/agents-guide.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/development/errors-findings.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/development/feature-request-system.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/development/feedback-system-setup.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/development/test-suite-review-december-2025.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/development/testing-standards.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/development/testing.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/development/type-hints.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/development/validation-plan.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/development/validation-roadmap.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/development/wallball-norep-detection.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/guides/bulk-processing.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/guides/camera-setup.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/guides/cloud-run-deployment.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/guides/cmj-guide.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/guides/cmj-recording-protocol-es.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/guides/cmj-recording-protocol.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/guides/deployment-checklist.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/guides/local-testing.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/guides/setup-issue-12.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/index.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/quick-start.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/reference/cloud-run-quick-reference.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/reference/json-output-format.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/reference/json-structure-comparison.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/reference/parameters.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/reference/pose-systems.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/paper-downloader/HOW-TO-FIND-DOIS.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/paper-downloader/README.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/paper-downloader/dois.txt +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/paper-downloader/download.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/paper-downloader/pyproject.toml +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/paper-downloader/uv.lock +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/sports-biomechanics-pose-estimation.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/MANUAL-DOWNLOAD-GUIDE.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/README.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/convert_pdfs.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/athlete-monitoring/2001_Foster_Session-RPE-Training-Monitoring.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/athlete-monitoring/2015_Buchheit_GPS-Accelerometers-Stride-Stiffness.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/athlete-monitoring/2018_Flatt_HRV-Recovery-Swimmers.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/athlete-monitoring/2018_Saw_Training-Camps-Monitoring.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/athlete-monitoring/2018_Ward_Putting-i-in-Team.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/injury-prevention/2011_Petersen_Nordic-Hamstring-Prevention.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/injury-prevention/2011_Wilk_Shoulder-GIRD-Baseball-Pitchers.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/injury-prevention/2012_Hewit_Multidirectional-Leg-Asymmetry.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/injury-prevention/2015_Ford_Hip-Neuromuscular-Exercise-Valgus.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/injury-prevention/2015_Mosler_Hip-Groin-Pain-Factors.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/injury-prevention/2015_Sconce_Nordic-Hamstring-Validity.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/injury-prevention/2016_Mendez-Villanueva_Hamstring-MRI-Regional.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/injury-prevention/2016_Read_Youth-Soccer-Injury-Risk.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/injury-prevention/2017_Mason-Mackay_Ankle-Dorsiflexion-Landing.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/injury-prevention/2017_Mendiguchia_Hamstring-Treatment-Algorithm.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/injury-prevention/2018_Balsalobre-Fernandez_Ankle-Dorsiflexion-App.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/injury-prevention/2018_Bramah_Pathological-Gait-Running-Injuries.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/injury-prevention/2020_Fidai_Fatigue-Knee-Valgus-Youth.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/jump-performance/2011_Harper_10-to-5-Jump-Test.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/jump-performance/2012_Samozino_Optimal-Force-Velocity-Profile.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/jump-performance/2014_Samozino_FV-Imbalance.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/jump-performance/2016_Jimenez-Reyes_Force-Velocity-Training.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/jump-performance/2016_Morin-Samozino_Power-Force-Velocity-Profiles.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/jump-performance/2018_Garcia-Ramos_Two-Point-Method-Optimization.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/jump-performance/2022_Wells_Golf-Clubhead-CMJ.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/running-biomechanics/2005_Morin_Running-Stiffness-Measurement.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/running-biomechanics/2015_Balsalobre-Fernandez_Strength-Training-Running-Economy.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/running-biomechanics/2016_Balsalobre-Fernandez_iPhone-Running-Mechanics.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/running-biomechanics/2016_Moore_Economical-Running-Technique.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/running-biomechanics/2020_Filter_Curve-Sprint-Test-Soccer.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/running-biomechanics/2020_Harper_Horizontal-Deceleration-Radar.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/running-biomechanics/2021_vanOeveren_Running-Biomechanics-Synthesis.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/running-biomechanics/2024_Bramah_Sprint-Mechanics-Assessment-Score.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/smartphone-technology/2015_Balsalobre-Fernandez_iPhone-Vertical-Jump.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/smartphone-technology/2022_Bishop_MyJumpLab-Validation.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/velocity-based-training/2011_Jidovtseff_Load-Velocity-1RM-Prediction.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/velocity-based-training/2016_Conceicao_Movement-Velocity-Lower-Limb.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/velocity-based-training/2016_Pareja-Blanco_Velocity-Loss-Training.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/velocity-based-training/2017_Balsalobre-Fernandez_Barbell-Velocity-1RM.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/velocity-based-training/2020_Balsalobre-Fernandez_Barbell-Trajectory-Snatch.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/markdown/velocity-based-training/2023_Balsalobre-Fernandez_AI-Barbell-Velocity.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/online-references-for-papers.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/athlete-monitoring/2001_Foster_Session-RPE-Training-Monitoring.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/athlete-monitoring/2015_Buchheit_GPS-Accelerometers-Stride-Stiffness.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/athlete-monitoring/2018_Flatt_HRV-Recovery-Swimmers.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/athlete-monitoring/2018_Saw_Training-Camps-Monitoring.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/athlete-monitoring/2018_Ward_Putting-i-in-Team.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/injury-prevention/2011_Petersen_Nordic-Hamstring-Prevention.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/injury-prevention/2011_Wilk_Shoulder-GIRD-Baseball-Pitchers.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/injury-prevention/2012_Hewit_Multidirectional-Leg-Asymmetry.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/injury-prevention/2015_Ford_Hip-Neuromuscular-Exercise-Valgus.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/injury-prevention/2015_Mosler_Hip-Groin-Pain-Factors.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/injury-prevention/2015_Sconce_Nordic-Hamstring-Validity.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/injury-prevention/2016_Mendez-Villanueva_Hamstring-MRI-Regional.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/injury-prevention/2016_Read_Youth-Soccer-Injury-Risk.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/injury-prevention/2017_Mason-Mackay_Ankle-Dorsiflexion-Landing.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/injury-prevention/2017_Mendiguchia_Hamstring-Treatment-Algorithm.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/injury-prevention/2018_Balsalobre-Fernandez_Ankle-Dorsiflexion-App.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/injury-prevention/2018_Bramah_Pathological-Gait-Running-Injuries.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/injury-prevention/2020_Fidai_Fatigue-Knee-Valgus-Youth.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/jump-performance/2011_Harper_10-to-5-Jump-Test.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/jump-performance/2012_Samozino_Optimal-Force-Velocity-Profile.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/jump-performance/2014_Samozino_FV-Imbalance.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/jump-performance/2016_Jimenez-Reyes_Force-Velocity-Training.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/jump-performance/2016_Morin-Samozino_Power-Force-Velocity-Profiles.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/jump-performance/2018_Garcia-Ramos_Two-Point-Method-Optimization.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/jump-performance/2022_Wells_Golf-Clubhead-CMJ.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/running-biomechanics/2005_Morin_Running-Stiffness-Measurement.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/running-biomechanics/2015_Balsalobre-Fernandez_Strength-Training-Running-Economy.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/running-biomechanics/2016_Balsalobre-Fernandez_iPhone-Running-Mechanics.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/running-biomechanics/2016_Moore_Economical-Running-Technique.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/running-biomechanics/2020_Filter_Curve-Sprint-Test-Soccer.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/running-biomechanics/2020_Harper_Horizontal-Deceleration-Radar.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/running-biomechanics/2021_vanOeveren_Running-Biomechanics-Synthesis.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/running-biomechanics/2024_Bramah_Sprint-Mechanics-Assessment-Score.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/smartphone-technology/2015_Balsalobre-Fernandez_iPhone-Vertical-Jump.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/smartphone-technology/2022_Bishop_MyJumpLab-Validation.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/velocity-based-training/2011_Jidovtseff_Load-Velocity-1RM-Prediction.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/velocity-based-training/2016_Conceicao_Movement-Velocity-Lower-Limb.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/velocity-based-training/2016_Pareja-Blanco_Velocity-Loss-Training.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/velocity-based-training/2017_Balsalobre-Fernandez_Barbell-Velocity-1RM.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/velocity-based-training/2020_Balsalobre-Fernandez_Barbell-Trajectory-Snatch.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/research/thirdparty/pdfs/velocity-based-training/2023_Balsalobre-Fernandez_AI-Barbell-Velocity.pdf +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/1-STRATEGIC_SUMMARY.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/2-STRATEGIC_ANALYSIS.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/MVP_FEEDBACK_COLLECTION.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/MVP_VALIDATION_CHECKPOINTS.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/README.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/STYLE_GUIDE.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/BACKEND_ARCHITECTURE/01-executive-summary.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/BACKEND_ARCHITECTURE/02-technical-assessment.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/BACKEND_ARCHITECTURE/03-refactoring-roadmap.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/BACKEND_ARCHITECTURE/README.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/BIOMECHANICS/01-executive-summary.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/BIOMECHANICS/02-technical-assessment.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/BIOMECHANICS/03-reference-guide.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/BIOMECHANICS/README.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/COMPUTER_VISION/01-executive-summary.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/COMPUTER_VISION/02-real-time-architecture.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/COMPUTER_VISION/03-implementation-checklist.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/COMPUTER_VISION/README.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/CONSOLIDATED/01-agent-consensus.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/CONSOLIDATED/02-critical-findings.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/CONSOLIDATED/03-roadmap-adjustments.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/CONSOLIDATED/04-decision-points.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/CONSOLIDATED/README.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/CONSOLIDATED/risk-register.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/CONSOLIDATED/timeline-roadmap.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/DEVOPS_CI_CD/01-executive-summary.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/DEVOPS_CI_CD/02-infrastructure-assessment.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/DEVOPS_CI_CD/03-implementation-roadmap.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/DEVOPS_CI_CD/README.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/ML_DATA_SCIENCE/01-executive-summary.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/ML_DATA_SCIENCE/02-technical-assessment.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/ML_DATA_SCIENCE/03-parameter-specifications.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/ML_DATA_SCIENCE/README.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/QA_TESTING/01-executive-summary.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/QA_TESTING/02-roadmap-assessment.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/QA_TESTING/03-testing-checklists.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/QA_TESTING/README.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/TECHNICAL_WRITING/01-executive-summary.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/TECHNICAL_WRITING/02-documentation-strategy.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/TECHNICAL_WRITING/03-action-plan.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/agent-assessments/TECHNICAL_WRITING/README.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/strategy/pose2sim-migration-evaluation.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/technical/framerate.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/technical/implementation-details.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/technical/imu-metadata.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/technical/real-time-analysis.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/technical/triple-extension.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/translations/es/camera-setup.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/validation/determinism-test.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/validation/known-height-validation.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/docs/validation-status.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/examples/bulk/README.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/examples/bulk/bulk_processing.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/examples/bulk/simple_example.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/examples/programmatic_usage.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/.editorconfig +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/.env.example +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/.gitattributes +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/.gitignore +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/.yarn/releases/yarn-4.12.0.cjs +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/.yarnrc.yml +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/README.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/index.html +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/src/App.test.tsx +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/src/components/Auth.tsx +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/src/components/ErrorBoundary.tsx +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/src/components/FeatureRequestButton.tsx +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/src/components/FeedbackForm.css +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/src/components/FeedbackForm.tsx +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/src/components/LoadingSpinner.tsx +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/src/components/RecentUploads.tsx +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/src/components/ResultsDisplay.test.tsx +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/src/components/ResultsSkeleton.tsx +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/src/config/links.ts +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/src/hooks/useAnalysis.test.ts +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/src/hooks/useAnalysis.ts +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/src/hooks/useAuth.ts +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/src/hooks/useBackendVersion.ts +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/src/hooks/useDatabaseStatus.ts +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/src/hooks/useRecentUploads.ts +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/src/index.css +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/src/lib/supabase.ts +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/src/types/api.ts +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/src/vite-env.d.ts +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/vercel.json +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/frontend/vite.config.ts +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/justfile +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/local_dev.sh +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/mkdocs.yml +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/presentation/.gitignore +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/presentation/README.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/presentation/demos/.gitignore +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/presentation/demos/README.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/presentation/demos/api_demo.ipynb +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/presentation/demos/batch_processing_demo.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/presentation/demos/sample_data/.gitkeep +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/presentation/presentation_guide.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/presentation/revealjs/.gitignore +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/presentation/revealjs/Makefile +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/presentation/revealjs/README.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/presentation/revealjs/slides.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/presentation/speaker_script.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/requirements-docs.txt +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/samples/cmjs/README.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/scripts/README.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/scripts/SCRIPTS_QUICKREF.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/scripts/analyze_determinism_variance.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/scripts/basic-memory-utils.sh +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/scripts/debug_contact_states.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/scripts/debug_detection.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/scripts/find_unused_features.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/scripts/generate_test_data.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/scripts/optimize_detection_params.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/scripts/plot_cmj_velocities.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/scripts/plot_validation_results.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/scripts/plot_velocities.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/scripts/prepare_ground_truth.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/scripts/project/README.md +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/scripts/project/add-issue.sh +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/scripts/project/batch-set-fields.sh +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/scripts/project/helpers.sh +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/scripts/project/list.sh +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/scripts/project/set-field.sh +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/scripts/project/set-status.sh +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/scripts/project/summary.sh +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/scripts/project.sh +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/scripts/setup-github-deploy.sh +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/scripts/setup-google-oauth.sh +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/scripts/setup-supabase-local.sh +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/scripts/setup-supabase-production.sh +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/scripts/test_acceleration_standing.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/scripts/test_determinism.sh +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/scripts/test_drop_start_debug.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/scripts/validate_known_heights.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/sonar-project.properties +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/cli.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/cmj/__init__.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/cmj/analysis.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/cmj/api.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/cmj/cli.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/cmj/debug_overlay.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/cmj/joint_angles.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/cmj/kinematics.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/cmj/metrics_validator.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/cmj/validation_bounds.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/core/__init__.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/core/auto_tuning.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/core/cli_utils.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/core/debug_overlay_utils.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/core/determinism.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/core/experimental.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/core/filtering.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/core/formatting.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/core/metadata.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/core/pipeline_utils.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/core/pose.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/core/quality.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/core/smoothing.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/core/timing.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/core/validation.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/core/video_io.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/dropjump/__init__.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/dropjump/analysis.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/dropjump/api.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/dropjump/cli.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/dropjump/debug_overlay.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/dropjump/kinematics.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/dropjump/metrics_validator.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/dropjump/validation_bounds.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/src/kinemotion/py.typed +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/__init__.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/cli/__init__.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/cli/test_cmj.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/cli/test_dropjump.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/cli/test_imports.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/cmj/__init__.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/cmj/test_analysis.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/cmj/test_api.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/cmj/test_cli.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/cmj/test_joint_angles.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/cmj/test_kinematics.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/cmj/test_physiological_bounds.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/conftest.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/core/__init__.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/core/test_auto_tuning.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/core/test_cli_utils.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/core/test_filtering.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/core/test_formatting.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/core/test_metadata.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/core/test_pipeline_utils.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/core/test_pose.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/core/test_quality.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/core/test_smoothing.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/core/test_timing.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/core/test_validation.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/core/test_video_io.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/dropjump/__init__.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/dropjump/test_adaptive_threshold.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/dropjump/test_analysis.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/dropjump/test_api.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/dropjump/test_cli.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/dropjump/test_contact_detection.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/dropjump/test_kinematics.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/dropjump/test_physiological_bounds.py +0 -0
- {kinemotion-0.54.0 → kinemotion-0.59.0}/tests/dropjump/test_validation_integration.py +0 -0
kinemotion-0.59.0/.basic-memory/development/i18n-implementation-plan-for-validation-messages.md
ADDED
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: i18n Implementation Plan for Validation Messages
|
|
3
|
+
type: note
|
|
4
|
+
permalink: development/i18n-implementation-plan-for-validation-messages
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Internationalization (i18n) Implementation Plan for Validation Messages
|
|
8
|
+
|
|
9
|
+
## Executive Summary
|
|
10
|
+
|
|
11
|
+
Implementing i18n for validation messages in the Kinemotion backend using **Option B: Structured Data + Frontend Translation** approach. This decouples the backend from translation logic and aligns with REST API best practices.
|
|
12
|
+
|
|
13
|
+
## Current State Analysis
|
|
14
|
+
|
|
15
|
+
### Validator Structure
|
|
16
|
+
- **Location**: `src/kinemotion/cmj/metrics_validator.py` and `src/kinemotion/dropjump/metrics_validator.py`
|
|
17
|
+
- **ValidationResult Flow**:
|
|
18
|
+
1. Validators generate formatted messages: `"Flight time 0.600s within expected range for recreational"`
|
|
19
|
+
2. Messages stored in `ValidationIssue` objects with metric, value, bounds, severity
|
|
20
|
+
3. Sent to frontend via `CMJMetrics.validation_result` → `to_dict()`
|
|
21
|
+
|
|
22
|
+
### Current Message Examples
|
|
23
|
+
```python
|
|
24
|
+
# ERROR
|
|
25
|
+
result.add_error("flight_time", f"Flight time {flight_time:.3f}s below frame rate resolution limit")
|
|
26
|
+
|
|
27
|
+
# WARNING
|
|
28
|
+
result.add_warning("flight_time", f"Flight time {flight_time:.3f}s outside typical range [{min:.3f}-{max:.3f}]s for {profile}")
|
|
29
|
+
|
|
30
|
+
# INFO
|
|
31
|
+
result.add_info("flight_time", f"Flight time {flight_time:.3f}s within expected range for {profile}")
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Metrics with Validation Messages
|
|
35
|
+
**CMJ Validator** (16 validation methods):
|
|
36
|
+
- Multiple validation checks generating 30+ message variants
|
|
37
|
+
|
|
38
|
+
**Drop Jump Validator** (6 validation methods):
|
|
39
|
+
- Multiple validation checks generating 15+ message variants
|
|
40
|
+
|
|
41
|
+
## Design: Structured Data Approach (Option B)
|
|
42
|
+
|
|
43
|
+
### Why This Approach?
|
|
44
|
+
- Decouples backend from translation logic
|
|
45
|
+
- Stable API contract (language-independent)
|
|
46
|
+
- Frontend-only updates for new languages
|
|
47
|
+
- Follows REST API best practices
|
|
48
|
+
- Separates concerns: backend = validation logic, frontend = presentation/translation
|
|
49
|
+
|
|
50
|
+
## New Validation Response Structure
|
|
51
|
+
|
|
52
|
+
**After (Proposed)**:
|
|
53
|
+
```json
|
|
54
|
+
{
|
|
55
|
+
"status": "PASS_WITH_WARNINGS",
|
|
56
|
+
"issues": [
|
|
57
|
+
{
|
|
58
|
+
"severity": "warning",
|
|
59
|
+
"metric": "flight_time",
|
|
60
|
+
"message_key": "validation.flight_time.outside_range",
|
|
61
|
+
"value": 0.600,
|
|
62
|
+
"bounds": [0.400, 0.500],
|
|
63
|
+
"context": {
|
|
64
|
+
"min": 0.400,
|
|
65
|
+
"max": 0.500,
|
|
66
|
+
"profile": "recreational",
|
|
67
|
+
"unit": "s"
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
],
|
|
71
|
+
"athlete_profile": "recreational"
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Message Key Naming Convention
|
|
76
|
+
|
|
77
|
+
Pattern: `validation.[metric].[condition]`
|
|
78
|
+
|
|
79
|
+
Examples:
|
|
80
|
+
- `validation.flight_time.within_range` - Value in expected range (INFO)
|
|
81
|
+
- `validation.flight_time.outside_range` - Value outside but physically possible (WARNING)
|
|
82
|
+
- `validation.flight_time.below_minimum` - Below frame rate resolution (ERROR)
|
|
83
|
+
- `validation.jump_height.no_jump` - Essentially no jump detected (ERROR)
|
|
84
|
+
|
|
85
|
+
## Implementation Summary
|
|
86
|
+
|
|
87
|
+
### Phase 1: Backend Changes
|
|
88
|
+
1. Add `message_key` and `context` fields to `ValidationIssue`
|
|
89
|
+
2. Update `add_error()`, `add_warning()`, `add_info()` methods
|
|
90
|
+
3. Update all 22 validation methods in both validators
|
|
91
|
+
4. Update `to_dict()` serialization
|
|
92
|
+
|
|
93
|
+
### Phase 2: Frontend Changes
|
|
94
|
+
1. Create translation files (en, es, fr, de, ja, etc.)
|
|
95
|
+
2. Implement i18next or react-intl
|
|
96
|
+
3. Update ValidationIssue component to use message_key + context
|
|
97
|
+
4. Add language selection UI
|
|
98
|
+
|
|
99
|
+
### Phase 3: Backward Compatibility
|
|
100
|
+
- Keep `message` field for old clients
|
|
101
|
+
- Message_key is optional
|
|
102
|
+
- Gradual migration over 2-3 releases
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: i18n Documentation Cleanup - Completed
|
|
3
|
+
type: note
|
|
4
|
+
permalink: project-management/i18n-documentation-cleanup-completed
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# i18n Documentation Cleanup - Completed ✅
|
|
8
|
+
|
|
9
|
+
**Date**: December 14, 2024
|
|
10
|
+
**Status**: Complete with all tests passing (70/70)
|
|
11
|
+
|
|
12
|
+
## What Was Cleaned Up
|
|
13
|
+
|
|
14
|
+
### 1. Deleted Redundant Files (11 files)
|
|
15
|
+
**From frontend/ directory:**
|
|
16
|
+
- `I18N_ARCHITECTURE.md`
|
|
17
|
+
- `I18N_IMPLEMENTATION_GUIDE.md`
|
|
18
|
+
- `I18N_QUICK_START.md`
|
|
19
|
+
- `I18N_SUMMARY.md`
|
|
20
|
+
- `I18N_TESTING_GUIDE.md`
|
|
21
|
+
- `I18N-FEATURE-COMPLETE.md`
|
|
22
|
+
- `I18N-SETUP-COMPLETE.md`
|
|
23
|
+
- `I18N-TESTS-SUMMARY.md`
|
|
24
|
+
- `README_I18N.md`
|
|
25
|
+
|
|
26
|
+
**From project root:**
|
|
27
|
+
- `I18N_DELIVERABLES.md`
|
|
28
|
+
- `I18N_IMPLEMENTATION_SUMMARY.txt`
|
|
29
|
+
|
|
30
|
+
**Reason**: These were documentation artifacts from the implementation process. Information is redundant with actual code and source of truth.
|
|
31
|
+
|
|
32
|
+
### 2. Retained & Clarified Documentation (6 files)
|
|
33
|
+
**Location**: `docs/development/i18n-*.md`
|
|
34
|
+
|
|
35
|
+
All files relate to **v0.60.0 future work** - backend internationalization of validation messages:
|
|
36
|
+
- `I18N-README.md` (updated with forward-looking notice)
|
|
37
|
+
- `i18n-summary.md`
|
|
38
|
+
- `i18n-quick-start-guide.md`
|
|
39
|
+
- `i18n-cheat-sheet.md`
|
|
40
|
+
- `i18n-architecture-diagram.md`
|
|
41
|
+
- `i18n-validation-messages-specification.md`
|
|
42
|
+
|
|
43
|
+
**Update Made**: Added warning header to `I18N-README.md` clarifying:
|
|
44
|
+
- These docs are for **v0.60.0 roadmap work** (backend message i18n)
|
|
45
|
+
- Current implementation (v0.58.0) frontend UI i18n is in actual source code
|
|
46
|
+
- Users should refer to `frontend/` components for current implementation
|
|
47
|
+
|
|
48
|
+
### 3. Basic Memory Documentation
|
|
49
|
+
**Location**: `.basic-memory/development/i18n-implementation-plan-for-validation-messages.md`
|
|
50
|
+
|
|
51
|
+
This is properly placed and serves as internal reference material.
|
|
52
|
+
|
|
53
|
+
## Current State
|
|
54
|
+
|
|
55
|
+
### Frontend i18n (COMPLETED - v0.58.0)
|
|
56
|
+
✅ Implementation files:
|
|
57
|
+
- `src/i18n/config.ts`
|
|
58
|
+
- `src/hooks/useLanguage.ts` & tests
|
|
59
|
+
- `src/components/LanguageSwitcher.tsx` & tests
|
|
60
|
+
- `src/i18n/locales/` - Translation files (en, es, fr)
|
|
61
|
+
|
|
62
|
+
✅ All 70 tests passing:
|
|
63
|
+
- 7 test files
|
|
64
|
+
- 70 test functions
|
|
65
|
+
- Components, hooks, and integration tests
|
|
66
|
+
|
|
67
|
+
### Backend i18n (PLANNED - v0.60.0)
|
|
68
|
+
📋 Documentation in `docs/development/i18n-*.md`:
|
|
69
|
+
- Complete specification for adding i18n support to validation messages
|
|
70
|
+
- Step-by-step implementation guide
|
|
71
|
+
- Architecture diagrams
|
|
72
|
+
- Testing strategy
|
|
73
|
+
|
|
74
|
+
## Verification Results
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
Test Files 7 passed (7)
|
|
78
|
+
Tests 70 passed (70)
|
|
79
|
+
No broken imports or references
|
|
80
|
+
All existing tests unaffected
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Best Practices Applied
|
|
84
|
+
|
|
85
|
+
1. **Single Source of Truth**: Documentation in `docs/` for future work, implementation in source code
|
|
86
|
+
2. **Clear Separation**: Frontend (current) vs Backend (future) clearly distinguished
|
|
87
|
+
3. **Reduced Clutter**: Removed process artifacts, kept reference material
|
|
88
|
+
4. **Proper Organization**: Future work docs properly indexed with clear reading guides
|
|
89
|
+
|
|
90
|
+
## Final Adjustments
|
|
91
|
+
|
|
92
|
+
✅ Removed specific version references from future-work docs:
|
|
93
|
+
- Changed "v0.60.0" to generic descriptions ("minor version bump", "future release")
|
|
94
|
+
- Updated migration timeline to use phases instead of version numbers
|
|
95
|
+
- Changed deployment steps to use placeholders instead of specific tags
|
|
96
|
+
- This allows the docs to remain accurate regardless of when the feature is implemented
|
|
97
|
+
|
|
98
|
+
## Next Steps
|
|
99
|
+
|
|
100
|
+
- When implementing backend i18n, follow guides in `docs/development/i18n-*.md`
|
|
101
|
+
- Update basic memory with progress on backend implementation
|
|
102
|
+
- Docs are version-agnostic and ready for future use
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"includeCoAuthoredBy": false,
|
|
3
|
+
"attribution": {
|
|
4
|
+
"commit": "",
|
|
5
|
+
"pr": ""
|
|
6
|
+
},
|
|
3
7
|
"permissions": {
|
|
4
8
|
"allow": [
|
|
5
9
|
"Bash(cat:*)",
|
|
@@ -19,6 +23,14 @@
|
|
|
19
23
|
"Bash(uv run ruff:*)",
|
|
20
24
|
"Bash(uv sync:*)",
|
|
21
25
|
"Bash(wget:*)",
|
|
26
|
+
"WebFetch(domain:docs.sonarsource.com)",
|
|
27
|
+
"WebFetch(domain:github.com)",
|
|
28
|
+
"WebFetch(domain:pypi.org)",
|
|
29
|
+
"WebFetch(domain:raw.githubusercontent.com)",
|
|
30
|
+
"WebFetch(domain:realpython.com)",
|
|
31
|
+
"WebFetch(domain:sonarcloud.io)",
|
|
32
|
+
"WebFetch(domain:www.pyopensci.org)",
|
|
33
|
+
"WebFetch(domain:www.sonarsource.com)",
|
|
22
34
|
"mcp__basic-memory__build_context",
|
|
23
35
|
"mcp__basic-memory__edit_note",
|
|
24
36
|
"mcp__basic-memory__list_directory",
|
|
@@ -37,10 +49,10 @@
|
|
|
37
49
|
"mcp__github-project-manager__list_projects",
|
|
38
50
|
"mcp__ref__ref_read_url",
|
|
39
51
|
"mcp__ref__ref_search_documentation",
|
|
40
|
-
"mcp__sequential__sequentialthinking",
|
|
41
52
|
"mcp__sequential-thinking__generate_summary",
|
|
42
53
|
"mcp__sequential-thinking__process_thought",
|
|
43
54
|
"mcp__sequential-thinking__sequentialthinking",
|
|
55
|
+
"mcp__sequential__sequentialthinking",
|
|
44
56
|
"mcp__serena__check_onboarding_performed",
|
|
45
57
|
"mcp__serena__edit_memory",
|
|
46
58
|
"mcp__serena__find_file",
|
|
@@ -57,17 +69,10 @@
|
|
|
57
69
|
"mcp__serena__search_for_pattern",
|
|
58
70
|
"mcp__serena__think_about_task_adherence",
|
|
59
71
|
"mcp__serena__write_memory",
|
|
60
|
-
"mcp__web-search__freebird_fetch",
|
|
61
|
-
"mcp__web-search__freebird_search",
|
|
62
|
-
"WebFetch(domain:docs.sonarsource.com)",
|
|
63
|
-
"WebFetch(domain:github.com)",
|
|
64
|
-
"WebFetch(domain:pypi.org)",
|
|
65
|
-
"WebFetch(domain:realpython.com)",
|
|
66
|
-
"WebFetch(domain:sonarcloud.io)",
|
|
67
|
-
"WebFetch(domain:www.pyopensci.org)",
|
|
68
|
-
"WebFetch(domain:www.sonarsource.com)",
|
|
69
72
|
"mcp__sonarqube__search_sonar_issues_in_projects",
|
|
70
|
-
"mcp__sonarqube__show_rule"
|
|
73
|
+
"mcp__sonarqube__show_rule",
|
|
74
|
+
"mcp__web-search__freebird_fetch",
|
|
75
|
+
"mcp__web-search__freebird_search"
|
|
71
76
|
]
|
|
72
77
|
},
|
|
73
78
|
"enableAllProjectMcpServers": true
|
|
@@ -46,39 +46,43 @@ jobs:
|
|
|
46
46
|
- name: Install dependencies
|
|
47
47
|
run: uv sync
|
|
48
48
|
|
|
49
|
-
- name:
|
|
49
|
+
- name: Bump version and create changelog
|
|
50
|
+
id: cz
|
|
51
|
+
uses: commitizen-tools/commitizen-action@master
|
|
52
|
+
with:
|
|
53
|
+
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
54
|
+
git_name: github-actions
|
|
55
|
+
git_email: github-actions@github.com
|
|
56
|
+
|
|
57
|
+
- name: Create GitHub Release
|
|
58
|
+
if: steps.cz.outputs.version != steps.cz.outputs.previous_version
|
|
59
|
+
run: |
|
|
60
|
+
VERSION="${{ steps.cz.outputs.version }}"
|
|
61
|
+
TAG="kinemotion-v${VERSION}"
|
|
62
|
+
|
|
63
|
+
# Extract the changelog for this version from CHANGELOG.md
|
|
64
|
+
CHANGELOG_SECTION=$(sed -n "/## kinemotion-v${VERSION}/,/^## /p" CHANGELOG.md | head -n -1)
|
|
65
|
+
|
|
66
|
+
gh release create "$TAG" \
|
|
67
|
+
--title "$TAG" \
|
|
68
|
+
--notes "$CHANGELOG_SECTION" \
|
|
69
|
+
--repo "${{ github.repository }}"
|
|
50
70
|
env:
|
|
51
71
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
52
|
-
run: |
|
|
53
|
-
git config user.name "github-actions"
|
|
54
|
-
git config user.email "github-actions@github.com"
|
|
55
|
-
uv run semantic-release version
|
|
56
72
|
|
|
57
|
-
- name:
|
|
73
|
+
- name: Set release info for downstream jobs
|
|
58
74
|
id: get_version
|
|
59
75
|
run: |
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
# Check if semantic-release created a new release by checking if there's a new tag
|
|
63
|
-
if git describe --exact-match --tags HEAD 2>/dev/null; then
|
|
76
|
+
echo "version=${{ steps.cz.outputs.version }}" >> $GITHUB_OUTPUT
|
|
77
|
+
if [ "${{ steps.cz.outputs.version }}" != "${{ steps.cz.outputs.previous_version }}" ]; then
|
|
64
78
|
echo "released=true" >> $GITHUB_OUTPUT
|
|
65
79
|
else
|
|
66
80
|
echo "released=false" >> $GITHUB_OUTPUT
|
|
67
81
|
fi
|
|
68
82
|
|
|
69
|
-
- name:
|
|
83
|
+
- name: Build distribution packages
|
|
70
84
|
if: steps.get_version.outputs.released == 'true'
|
|
71
|
-
run:
|
|
72
|
-
VERSION=${{ steps.get_version.outputs.version }}
|
|
73
|
-
TAG="kinemotion-v${VERSION}"
|
|
74
|
-
RELEASE_NAME="kinemotion-v${VERSION}"
|
|
75
|
-
|
|
76
|
-
gh release create "$TAG" \
|
|
77
|
-
--title "$RELEASE_NAME" \
|
|
78
|
-
--generate-notes \
|
|
79
|
-
--repo "${{ github.repository }}"
|
|
80
|
-
env:
|
|
81
|
-
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
85
|
+
run: uv build
|
|
82
86
|
|
|
83
87
|
- name: Publish to PyPI
|
|
84
88
|
if: steps.get_version.outputs.released == 'true'
|
|
@@ -104,7 +108,7 @@ jobs:
|
|
|
104
108
|
- name: Checkout repository
|
|
105
109
|
uses: actions/checkout@v6
|
|
106
110
|
with:
|
|
107
|
-
ref: v${{ needs.release.outputs.version }}
|
|
111
|
+
ref: kinemotion-v${{ needs.release.outputs.version }}
|
|
108
112
|
|
|
109
113
|
- name: Set up Docker Buildx
|
|
110
114
|
uses: docker/setup-buildx-action@v3
|
|
@@ -122,9 +126,9 @@ jobs:
|
|
|
122
126
|
with:
|
|
123
127
|
images: ghcr.io/${{ github.repository }}
|
|
124
128
|
tags: |
|
|
125
|
-
type=semver,pattern={{version}},value
|
|
126
|
-
type=semver,pattern={{major}}.{{minor}},value
|
|
127
|
-
type=semver,pattern={{major}},value
|
|
129
|
+
type=semver,pattern={{version}},value=${{ needs.release.outputs.version }}
|
|
130
|
+
type=semver,pattern={{major}}.{{minor}},value=${{ needs.release.outputs.version }}
|
|
131
|
+
type=semver,pattern={{major}},value=${{ needs.release.outputs.version }}
|
|
128
132
|
type=raw,value=latest
|
|
129
133
|
env:
|
|
130
134
|
DOCKER_METADATA_ANNOTATIONS_LEVELS: manifest,index
|
|
@@ -7,6 +7,40 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
<!-- version list -->
|
|
9
9
|
|
|
10
|
+
## kinemotion-v0.59.0 (2025-12-15)
|
|
11
|
+
|
|
12
|
+
### Feat
|
|
13
|
+
|
|
14
|
+
- add comprehensive frontend i18n support with 3 languages
|
|
15
|
+
|
|
16
|
+
## kinemotion-v0.58.0 (2025-12-14)
|
|
17
|
+
|
|
18
|
+
### Feat
|
|
19
|
+
|
|
20
|
+
- update fallback version to match current release
|
|
21
|
+
|
|
22
|
+
### Fix
|
|
23
|
+
|
|
24
|
+
- add build step before publishing to PyPI
|
|
25
|
+
|
|
26
|
+
## kinemotion-v0.57.0 (2025-12-14)
|
|
27
|
+
|
|
28
|
+
### Feat
|
|
29
|
+
|
|
30
|
+
- export __version__ in public API
|
|
31
|
+
|
|
32
|
+
## kinemotion-v0.56.0 (2025-12-14)
|
|
33
|
+
|
|
34
|
+
### Feat
|
|
35
|
+
|
|
36
|
+
- try releases again
|
|
37
|
+
|
|
38
|
+
## kinemotion-v0.55.0 (2025-12-14)
|
|
39
|
+
|
|
40
|
+
### Feat
|
|
41
|
+
|
|
42
|
+
- test new release workflow
|
|
43
|
+
|
|
10
44
|
## v0.54.0 (2025-12-14)
|
|
11
45
|
|
|
12
46
|
### Continuous Integration
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: kinemotion
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.59.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
|