Spaces:
Paused
Paused
Commit History
-
Merge pull request #2 from MomsVoiceAI/frontend/gradio-ui
Frontend: CSS 분리 + Player Play/Pause/Resume 컨트롤 (sprint #8, #11, #16)8545b1e -
Merge pull request #2 from MomsVoiceAI/frontend/gradio-ui
Frontend: CSS 분리 + Player Play/Pause/Resume 컨트롤 (sprint #8, #11, #16)8072e03 -
feat: full story text display with paragraph highlight on slider
- Load story txt paragraphs on book select (split by blank line) - Render all paragraphs in scrollable panel; current paragraph highlighted in orange - Slider max = paragraph count, updates highlight on drag - Play/Pause show paragraph N / total instead of chunk count - Story-finished triggers when slider reaches last paragraph Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>35ccf3f -
feat: full story text display with paragraph highlight on slider
- Load story txt paragraphs on book select (split by blank line) - Render all paragraphs in scrollable panel; current paragraph highlighted in orange - Slider max = paragraph count, updates highlight on drag - Play/Pause show paragraph N / total instead of chunk count - Story-finished triggers when slider reaches last paragraph Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>f7c2739 -
feat: merge Library + Player into single tab with click-to-play
- Remove separate Companion Player tab - My Library tab now shows book grid on left, player panel on right - Book card onclick triggers hidden gr.Radio → Python callback loads player - Player auto-populates cover, title, synopsis, audio on book selection - Drop/pause/resume/ask/Q&A state machine preserved as-is Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>3408379 -
feat: merge Library + Player into single tab with click-to-play
- Remove separate Companion Player tab - My Library tab now shows book grid on left, player panel on right - Book card onclick triggers hidden gr.Radio → Python callback loads player - Player auto-populates cover, title, synopsis, audio on book selection - Drop/pause/resume/ask/Q&A state machine preserved as-is Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>d4fd4c0 -
feat: replace Unsplash cover URLs with local assets/covers/ PNG paths
- Add COVERS_DIR and cover_path() helper for Gradio file-serving URLs - load_books_from_stories() uses cover_path(slug) per story filename - player_title_info initial HTML uses cover_path() f-string instead of hardcoded Unsplash URL - demo.queue().launch() adds allowed_paths=["assets"] for Gradio to serve local images Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>efe9ede -
feat: replace Unsplash cover URLs with local assets/covers/ PNG paths
- Add COVERS_DIR and cover_path() helper for Gradio file-serving URLs - load_books_from_stories() uses cover_path(slug) per story filename - player_title_info initial HTML uses cover_path() f-string instead of hardcoded Unsplash URL - demo.queue().launch() adds allowed_paths=["assets"] for Gradio to serve local images Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>55cf5ab -
Load book list dynamically from stories/ folder
- Replace hardcoded mock_books with load_books_from_stories() - Title from filename (underscores → spaces), synopsis from first 3 lines of txt - audio_path defaults to None (replaced by TTS at runtime), fallback to willow.wav for UI - Rotate cover images across 10 books Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>c0371e0 -
Load book list dynamically from stories/ folder
- Replace hardcoded mock_books with load_books_from_stories() - Title from filename (underscores → spaces), synopsis from first 3 lines of txt - audio_path defaults to None (replaced by TTS at runtime), fallback to willow.wav for UI - Rotate cover images across 10 books Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>7c65454 -
Add story dropdown + Play/Pause/Resume controls to Player tab (sprint #8)
- Add story selector dropdown + Load button directly inside Companion Player tab - Add Play / Pause / Resume button row with state-driven visibility - Add chunk status indicator (Chunk N / Total) - Wire play_btn → PLAYING, pause_btn → PAUSED state transitions - Sync ask/resume/play/pause button visibility across all state transitions Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>81c371a -
Add story dropdown + Play/Pause/Resume controls to Player tab (sprint #8)
- Add story selector dropdown + Load button directly inside Companion Player tab - Add Play / Pause / Resume button row with state-driven visibility - Add chunk status indicator (Chunk N / Total) - Wire play_btn → PLAYING, pause_btn → PAUSED state transitions - Sync ask/resume/play/pause button visibility across all state transitions Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>f649585 -
Extract inline CSS to static/style.css + add mobile responsive rules
- Move 350-line inline css_code string to static/style.css - app.py reads the file at startup (sprint task #11) - Add @media breakpoints for 768px and 480px (sprint task #16) - Add ::before/::after pulse-ring pseudo-elements for recording UX Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>a54c42a -
Extract inline CSS to static/style.css + add mobile responsive rules
- Move 350-line inline css_code string to static/style.css - app.py reads the file at startup (sprint task #11) - Add @media breakpoints for 768px and 480px (sprint task #16) - Add ::before/::after pulse-ring pseudo-elements for recording UX Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>15ac953 -
Merge pull request #1 from MomsVoiceAI/frontend/gradio-ui
Frontend: Gradio 5-tab UI with full demo loop (steps 4-8)59ea014 -
Merge pull request #1 from MomsVoiceAI/frontend/gradio-ui
Frontend: Gradio 5-tab UI with full demo loop (steps 4-8)8266bb6 -
Add requirements.txt for HF Space deployment
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>b00cb71 -
Add requirements.txt for HF Space deployment
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>a32d63d
-
Add Gradio frontend: 5-tab UI with full demo loop screens
- Build complete Gradio UI (Explore, Bookshelf, Clone Voice Studio, Companion Player, Settings) - Implement Ask/Resume/Finish Q&A flow in Player tab (demo loop steps 4-8) - Add procedural chime audio generation as audio placeholder - Wire state callbacks: book mounting, shelf filter, voice cloning pipeline, subtitle sync, error sandbox - Q&A panel: text + mic input, answer display, answer audio output widget - Story-finished prompt triggered at timeline end; Resume restores PLAYING state Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>33f1f55 -
Add Gradio frontend: 5-tab UI with full demo loop screens
- Build complete Gradio UI (Explore, Bookshelf, Clone Voice Studio, Companion Player, Settings) - Implement Ask/Resume/Finish Q&A flow in Player tab (demo loop steps 4-8) - Add procedural chime audio generation as audio placeholder - Wire state callbacks: book mounting, shelf filter, voice cloning pipeline, subtitle sync, error sandbox - Q&A panel: text + mic input, answer display, answer audio output widget - Story-finished prompt triggered at timeline end; Resume restores PLAYING state Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>fe47bf3 -
Update docs to reflect story_downloader pipeline and 10-story corpus
- README.md: add story_downloader to project structure, add story table, update count - mission.md: update scope from 3-5 to 10 stories, note Gutenberg source - sprint.md: mark repo setup and story tasks done, update file structure with actual stories - tech_stack.md: replace placeholder story list with actual 10 stories and pipeline docs - Remove old Three_LIttle_Pigs.txt reference file (replaced by proper cleaned version)34e6427 -
Update docs to reflect story_downloader pipeline and 10-story corpus
- README.md: add story_downloader to project structure, add story table, update count - mission.md: update scope from 3-5 to 10 stories, note Gutenberg source - sprint.md: mark repo setup and story tasks done, update file structure with actual stories - tech_stack.md: replace placeholder story list with actual 10 stories and pipeline docs - Remove old Three_LIttle_Pigs.txt reference file (replaced by proper cleaned version)7bfa09d -
Add story downloader, cleaner, and 10 TTS-ready children's stories
- gutenberg_downloader.py: reusable Project Gutenberg downloader/parser - download_stories.py: downloads 10 public domain children's stories - clean_stories.py: strips Gutenberg boilerplate for clean TTS input - 10 cleaned stories (691-2912 words each): Beatrix Potter, fairy tales - .gitignore: exclude __pycache__ed5026f -
Add story downloader, cleaner, and 10 TTS-ready children's stories
- gutenberg_downloader.py: reusable Project Gutenberg downloader/parser - download_stories.py: downloads 10 public domain children's stories - clean_stories.py: strips Gutenberg boilerplate for clean TTS input - 10 cleaned stories (691-2912 words each): Beatrix Potter, fairy tales - .gitignore: exclude __pycache__adebe8c -
Add stories directory with Three Little Pigs
550031e -
Add stories directory with Three Little Pigs
d82303d -
Apply design critique fixes + add README
mission.md: - Make voice similarity testable (blind A/B test) - Acknowledge 8s Q&A as compromise, add pre-generated Q&A target - Add repeat-question and story-end behavior to demo loop - Note demo time budget (3min allows ~2 Q&A rounds) sprint.md: - Fix underestimated tasks: #5 (30m->1h), #10 (1h->2h) - Add pre-generated Q&A task (10a) - Add latency measurement (20a) and state machine validation (20b) - Add Day 1 overflow plan - Add future_mobile doc to file structure tech_stack.md: - Add legal state transition rules - Add VRAM budget table (~5-6GB of 16GB T4) - Add concurrency model note - Specify TF-IDF retrieval for Q&A - Add audio format spec (24kHz, 16-bit, mono) future_mobile_app_considerations.md: - Add filler audio strategy for cache miss resume - Clarify REST limitation for interrupt loop - Add app size estimates (20MB thin to 4GB+ on-device) - Add explicit offline fallback decision README.md: - New repo README with demo flow, models, tech stack, quick start53ace40 -
Apply design critique fixes + add README
mission.md: - Make voice similarity testable (blind A/B test) - Acknowledge 8s Q&A as compromise, add pre-generated Q&A target - Add repeat-question and story-end behavior to demo loop - Note demo time budget (3min allows ~2 Q&A rounds) sprint.md: - Fix underestimated tasks: #5 (30m->1h), #10 (1h->2h) - Add pre-generated Q&A task (10a) - Add latency measurement (20a) and state machine validation (20b) - Add Day 1 overflow plan - Add future_mobile doc to file structure tech_stack.md: - Add legal state transition rules - Add VRAM budget table (~5-6GB of 16GB T4) - Add concurrency model note - Specify TF-IDF retrieval for Q&A - Add audio format spec (24kHz, 16-bit, mono) future_mobile_app_considerations.md: - Add filler audio strategy for cache miss resume - Clarify REST limitation for interrupt loop - Add app size estimates (20MB thin to 4GB+ on-device) - Add explicit offline fallback decision README.md: - New repo README with demo flow, models, tech stack, quick start3f26297 -
Add interruptible chunked streaming narration + mobile considerations PRD
c5e89ef -
Add interruptible chunked streaming narration + mobile considerations PRD
c403f04
-
Rewrite PRD for 2-day hackathon + add sprint.md
Critique of previous PRD: - 12-week MVP timeline, COPPA, PostgreSQL, Pinecone, LangChain, multiple user roles, CI/CD — all wildly over-scoped for a hackathon - Replaced with focused 2-day plan: single app.py, no DB, no RAG, stories in-context, stateless demo Changes: - mission.md: hackathon-scoped vision, demo-ready success criteria - tech_stack.md: single-process Gradio app, no infra, minimal deps - sprint.md: hour-by-hour 2-day plan with risk mitigations Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>c054869 -
Rewrite PRD for 2-day hackathon + add sprint.md
Critique of previous PRD: - 12-week MVP timeline, COPPA, PostgreSQL, Pinecone, LangChain, multiple user roles, CI/CD — all wildly over-scoped for a hackathon - Replaced with focused 2-day plan: single app.py, no DB, no RAG, stories in-context, stateless demo Changes: - mission.md: hackathon-scoped vision, demo-ready success criteria - tech_stack.md: single-process Gradio app, no infra, minimal deps - sprint.md: hour-by-hour 2-day plan with risk mitigations Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>61e3968 -
Update PRD: QWEN-TTS-0.6B, Gradio/HF Spaces, gr.Server, Stitch UI
- Replace ElevenLabs with local QWEN-TTS-0.6B for voice cloning and TTS - Replace React Native + GCP with Gradio app on Hugging Face Spaces - Add gr.Server for frontend customization - Add Google Stitch-inspired UI design patterns Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>f495ad5 -
Update PRD: QWEN-TTS-0.6B, Gradio/HF Spaces, gr.Server, Stitch UI
- Replace ElevenLabs with local QWEN-TTS-0.6B for voice cloning and TTS - Replace React Native + GCP with Gradio app on Hugging Face Spaces - Add gr.Server for frontend customization - Add Google Stitch-inspired UI design patterns Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>896ae7d