feat(mindmachine): implement Android MVP app scaffold, session flows, safety gating, and tests
This commit is contained in:
126
TASKS.md
Normal file
126
TASKS.md
Normal file
@@ -0,0 +1,126 @@
|
||||
# MindMachine - Task List
|
||||
|
||||
## 1. Product Definition
|
||||
- [ ] Review and approve `REQUIREMENTS.md`
|
||||
- [ ] Confirm target platform for version 1
|
||||
- [ ] Confirm MVP scope
|
||||
- [ ] Decide final built-in presets for v1
|
||||
- [ ] Confirm safety language and disclaimer wording
|
||||
- [ ] Decide whether version 1 is Android-only
|
||||
|
||||
## 2. UX / Product Design
|
||||
- [ ] Create user flow diagram
|
||||
- [ ] Define onboarding flow
|
||||
- [ ] Define safety warning flow
|
||||
- [ ] Define preset selection screen
|
||||
- [ ] Define session setup screen
|
||||
- [ ] Define active session screen
|
||||
- [ ] Define completion screen
|
||||
- [ ] Define simple settings screen
|
||||
- [ ] Define cardboard-holder guidance content
|
||||
|
||||
## 3. Technical Planning
|
||||
- [ ] Choose app architecture
|
||||
- [ ] Define project module/package structure
|
||||
- [ ] Select audio generation approach
|
||||
- [ ] Select visual rendering approach
|
||||
- [ ] Define timing/synchronization strategy
|
||||
- [ ] Define persistence model for presets/settings
|
||||
- [ ] Define interruption handling strategy
|
||||
|
||||
## 4. Project Setup
|
||||
- [ ] Create project repository
|
||||
- [ ] Initialize native mobile project
|
||||
- [ ] Configure formatting/linting
|
||||
- [ ] Configure unit test framework
|
||||
- [ ] Configure UI/integration test foundation
|
||||
- [ ] Create initial README
|
||||
|
||||
## 5. Core Domain Models
|
||||
- [ ] Implement `SessionPreset`
|
||||
- [ ] Implement `SessionConfig`
|
||||
- [ ] Implement `SessionState`
|
||||
- [ ] Implement `AudioConfig`
|
||||
- [ ] Implement `VisualConfig`
|
||||
- [ ] Implement safety acknowledgment state
|
||||
|
||||
## 6. Session Engine
|
||||
- [ ] Implement session timer/orchestrator
|
||||
- [ ] Implement start session flow
|
||||
- [ ] Implement pause/resume logic
|
||||
- [ ] Implement stop logic
|
||||
- [ ] Implement completion behavior
|
||||
- [ ] Add tests for timing and session transitions
|
||||
|
||||
## 7. Audio Engine
|
||||
- [ ] Implement stereo tone generation
|
||||
- [ ] Implement binaural beat configuration
|
||||
- [ ] Implement audio lifecycle management
|
||||
- [ ] Handle headphone/output changes
|
||||
- [ ] Handle audio interruptions safely
|
||||
- [ ] Add tests for config and lifecycle behavior
|
||||
|
||||
## 8. Visual Engine
|
||||
- [ ] Implement full-screen rendering surface
|
||||
- [ ] Implement flash pattern
|
||||
- [ ] Implement pulse/fade pattern
|
||||
- [ ] Implement alternating pattern option
|
||||
- [ ] Connect pattern timing to session state
|
||||
- [ ] Add tests for visual timing logic where practical
|
||||
|
||||
## 9. Safety Features
|
||||
- [ ] Implement first-run safety acknowledgment
|
||||
- [ ] Block session start until warnings are acknowledged
|
||||
- [ ] Add seizure / photo-sensitivity warning text
|
||||
- [ ] Add headphone requirement warning
|
||||
- [ ] Add runtime stop/pause behavior for unsafe output changes
|
||||
- [ ] Add tests for safety guardrails
|
||||
|
||||
## 10. UI Implementation
|
||||
- [ ] Implement onboarding screen
|
||||
- [ ] Implement home/preset list screen
|
||||
- [ ] Implement session setup screen
|
||||
- [ ] Implement active session screen
|
||||
- [ ] Implement completion screen
|
||||
- [ ] Implement settings screen
|
||||
- [ ] Ensure controls are large and clear
|
||||
|
||||
## 11. Presets and Settings
|
||||
- [ ] Add Relax preset
|
||||
- [ ] Add Focus preset
|
||||
- [ ] Add Sleep Prep preset
|
||||
- [ ] Add custom session editor (if in v1)
|
||||
- [ ] Persist recent settings
|
||||
- [ ] Validate user-entered parameter ranges
|
||||
|
||||
## 12. Holder Guidance / Documentation
|
||||
- [ ] Write concise holder-building instructions
|
||||
- [ ] Add fit and comfort guidance
|
||||
- [ ] Add safe positioning guidance
|
||||
- [ ] Add end-user usage instructions
|
||||
- [ ] Review for clarity and brevity
|
||||
|
||||
## 13. Testing
|
||||
- [ ] Unit test session state transitions
|
||||
- [ ] Unit test preset validation
|
||||
- [ ] Unit test safety rules
|
||||
- [ ] Integration test session start/stop
|
||||
- [ ] Integration test interruption handling
|
||||
- [ ] UI test onboarding and preset selection
|
||||
- [ ] UI test active session controls
|
||||
- [ ] Manual test with real stereo headphones
|
||||
|
||||
## 14. Pre-Release Review
|
||||
- [ ] Review wording for medical/safety compliance
|
||||
- [ ] Review usability in low-light conditions
|
||||
- [ ] Review comfort assumptions around phone holder
|
||||
- [ ] Review battery/heat impact during longer sessions
|
||||
- [ ] Review failure modes and recovery behavior
|
||||
|
||||
## 15. Nice-to-Have After MVP
|
||||
- [ ] Ambient sound mixing
|
||||
- [ ] Printable holder template
|
||||
- [ ] More advanced visual patterns
|
||||
- [ ] Guided voice sessions
|
||||
- [ ] Session history
|
||||
- [ ] Expanded preset library
|
||||
Reference in New Issue
Block a user