4 Commits
Author SHA1 Message Date
midnight-masala 7518594440 Merge remote-tracking branch 'origin/au-au' into au-au
# Conflicts:
#	app/src/main/java/com/example/jnicpp/bowling/BowlingCameraActivity.kt
#	app/src/main/res/layout-land/activity_bowling_camera.xml
#	app/src/main/res/layout/activity_bowling_camera.xml
2026-09-07 21:26:18 +08:00
midnight-masalaandClaude Sonnet 5 e7a9c2b140 Add live per-step form feedback based on joint angles
Extends pose angle tracking with knee bend (hip-knee-ankle), then uses
it alongside the existing elbow/shoulder angles in a new
PoseStageAdvisor to give a short live cue for whichever step of the
approach is in progress: push-away on step 2, downswing on step 3,
backswing on step 4, and knee-bend/arm-extension on the final step.
Thresholds are starting defaults, not measured coaching data, and are
expected to be retuned against real approach footage.

Also fixes a layout bug found while testing this live: the new
feedback text was chained via ConstraintLayout's toBottomOf to the
step banner above it, so whenever that banner was hidden (GONE) the
feedback text rendered at its collapsed zero-height position instead
of staying put, landing on top of the recording indicator. Both now
sit in a plain vertical LinearLayout, which collapses GONE children
correctly.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-07 21:22:11 +08:00
midnight-masala 7af128d575 steps
identify the steps
2026-09-07 21:03:41 +08:00
midnight-masalaandClaude Sonnet 5 2bb7c6ca7b Add live final-position feedback and fix step detection accuracy
Shows a live banner as each step of the approach is counted, ending in
"FINAL POSITION - RELEASE!" once the 5th footfall lands. Also fixes
LiveStepDetector's peak-prominence check, which compared a candidate
footfall only to its immediate neighboring frame and silently dropped
real steps that landed across several closely-spaced frames; it now
tracks the true rise/fall trough on each side instead. Switches
PoseAnalyzer to ML Kit's faster base pose model (the accurate model was
starving the peak detector of frames on unaccelerated hardware), and
makes LiveStepDetector's stillness-based reset toggleable, currently
off for easier testing against recorded reference clips.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-07 20:58:03 +08:00