4.3 KiB
Technical Deliverables & Ownership
TODO (team): Fill in real owner names and confirm/adjust milestone dates. The breakdown below is a first-pass mapping of the existing codebase into deliverables, derived from the current architecture (see
architecture.md), so the team has a concrete starting point to assign in Jira rather than starting from a blank page. Contributor branches observed in git history:Gabriel,Harine,Khalil,QiYing,YongWei's-Branch,au-au,jingwen— use these as a hint for who's already been working in which area, not as a final assignment.
How to use this doc
Each deliverable below should become one Jira Epic. Break each into Stories/Tasks under that epic, assign an owner per story, and link the epic back to the relevant row here (add the Jira link in the "Jira Epic" column once created).
Deliverables
| # | Deliverable | Description | Owner | Jira Epic | M1 | M2 | M3 |
|---|---|---|---|---|---|---|---|
| 1 | Native menu shell | OpenGL ES 3.0 game-state menu (GameStateManager, states, UIRenderer, PlatformBridge) |
TBD | TBD | Menu states render and navigate; touch input works | Menu3State fully launches bowling flow (menu integration gap closed) |
Polish: transitions, settings persistence, no dropped frames |
| 2 | Camera capture pipeline | CameraX integration (CameraXController, CameraViewModel, CameraPermissions) |
TBD | TBD | Preview + front/back switch working on a real device | Stable recording with audio track; portrait + landscape | Robustness across device models; error handling for camera/permission edge cases |
| 3 | Pose detection & landmark processing | ML Kit integration, smoothing (PoseAnalyzer, PoseLandmarkSmoother, AnkleHipMovingAverageFilter, PoseFrame) |
TBD | TBD | Raw landmarks streamed from camera frames | Smoothing tuned to reduce jitter | Accuracy validated against recorded test sessions |
| 4 | Step & phase detection | LiveStepDetector, StepDetector, StepCountingSession, PosePhaseDetector |
TBD | TBD | Step count works for a straight-line approach | Phase segmentation (stance/approach/release) accurate for standard 4-5 step approaches | Edge cases (different approach lengths/styles) handled |
| 5 | Joint angle analysis | PoseAngleCalculator |
TBD | TBD | Ankle/hip angle computed at one key frame | Angles computed across full phase set | Feedback thresholds tuned against real coaching input |
| 6 | Pose overlay rendering | PoseOverlayView, PoseSkeletonRenderer |
TBD | TBD | Skeleton draws over live preview | Overlay stays in sync at speed/rotation | Visual polish (styling, confidence-based rendering) |
| 7 | Session feedback UI | FeedbackUI, StepCounterUiController |
TBD | TBD | Step count visible on screen | Phase + angle feedback surfaced live | Full session summary screen |
| 8 | Debug/session logging & tuning tools | DebugSessionLogger, DetectorSettings, ParameterEditorActivity, AdminAuth/AdminLoginPrompt |
TBD | TBD | Session data logged to file | Parameter editor allows live threshold tuning | Admin gating hardened; logs exportable for review |
| 9 | Documentation & repo hygiene | README.md, docs/, .gitignore, repo structure |
Harine (initial scaffold) | TBD | Docs skeleton + README exist (this commit) | Architecture/deliverables kept in sync with code changes | Docs reviewed each milestone; onboarding-tested by a teammate |
| 10 | CI/CD | Automated build/test pipeline (.github/workflows/) |
TBD | TBD | Basic workflow: build APK on push/PR | Add unit test run to pipeline | Add instrumented test run and/or lint/static analysis gate |
| 11 | Testing | Unit + instrumented tests (app/src/test, app/src/androidTest) |
TBD | TBD | Replace template stub tests with real coverage of at least one detector | Coverage for step/phase detection logic | Coverage for camera/UI integration paths where feasible |
Milestone definitions (fill in actual dates)
- M1 — Target date: TBD: Core pipeline demonstrable end-to-end (capture → pose → step count) on a real device, even if rough.
- M2 — Target date: TBD: Feature-complete for the core bowling analysis flow (phases, angles, feedback UI), menu integration closed, basic CI running.
- M3 — Target date: TBD: Polish, testing, and hardening pass; documentation finalized; ready for demo/submission.