Commit a100e9

2026-08-07 11:33:37 admin: init
/dev/null .. 06-feature-matrix.md
@@ 0,0 1,81 @@
+ ---
+ title: Feature Matrix
+ aliases: [Implemented vs Pending, Roadmap Status]
+ tags: [3netra/wiki, features, roadmap]
+ product: 3netra Meta Android App
+ source_repository: 3Netra-ai/3n_meta_android
+ source_ref: origin/prod
+ source_revision: b48aada8fd5427b5db0c02945569963c4ae543c8
+ last_verified: 2026-08-06
+ up: "[[Home]]"
+ ---
+
+ # Feature Matrix โ€” Implemented vs Pending
+
+ > [!info] Legend
+ > โœ… implemented & wired ยท ๐ŸŸก partial/scaffolded ยท โณ pending (PRD/roadmap) ยท โŒ removed/not started
+
+ ## Core Features (PRD ยง5.1)
+
+ | Feature | PRD Priority | Status | Evidence / Notes |
+ |---|---|---|---|
+ | Classroom scene narration | P0 | ๐ŸŸก | Capture/UI and Edge invocation exist, but successful client response is fixed text; hardware gesture delivery is unverified |
+ | Whiteboard & text reading (OCR) | P0 | ๐ŸŸก | Read prompt exists; no OCR engine, hardware double-tap callback, or returned-model-text path |
+ | Classroom/slides mode + notes PDF | P0 | ๐ŸŸก | Bluetooth service has a branch/PDF helper; active Scene UI does not route its Classroom action to that branch |
+ | Emotion detection | P0 | ๐ŸŸก | Prompt and face-name injection exist; Edge response is discarded and no hardware left-double-tap callback was found |
+ | Person identification | P0 | ๐ŸŸก | FaceNet compares against Supabase-fetched CSV embeddings; not local-only, model failures are unsafe, and fallback answer is fixed text |
+ | Academic content filter | P0 | ๐ŸŸก | Enforced via prompts (academic tone, constrained outputs); no separate filter layer yet |
+ | Academic Mode (level vocabulary) | P0 | โœ… | Toggle on Home; appends academic-level instruction to prompts |
+ | Student voice persona | P1 | ๐ŸŸก | Four presentation companions + local selection; no distinct voice/prompt mapping. Active Scene helper retains legacy child filtering |
+ | Activity detection | P1 | ๐ŸŸก | Covered by scene/classroom prompts; no dedicated mode |
+ | Object identification | P1 | ๐ŸŸก | Via chat ("Be My Eyes") free-form questions |
+ | Hallway & navigation alerts | P1 | ๐ŸŸก | `HallwayNavigationService` (โ‰ค12-word cues) exists; not surfaced in UI |
+ | VLM switcher | P1 | ๐ŸŸก | `VisionService.VlmProvider` enum (moondream/llava/GPT4V) in legacy dashboard; not in student UI |
+ | Teacher dashboard | P1 | ๐ŸŸก | PIN-gated face registration + `SupabaseDashboardRepository` + FERPA audit logs; no web portal |
+ | Parent dashboard | P1 | โณ | Schema/planning only |
+ | Offline mode | P2 | โณ | PRD roadmap; `sessions.offline_mode` column exists; context mesh notes "Offline mode: Gemma 3" struck through |
+ | Multi-language support | P2 | ๐ŸŸก | Sarvam translate/TTS for Indic languages in speak path; UI English-only |
+ | Weekly learning summary | P2 | โณ | Today's Story covers daily; weekly report not built |
+
+ ## Interaction Features
+
+ | Feature | Status | Notes |
+ |---|---|---|
+ | Glasses gestures (single/double tap, hold) | ๐ŸŸก | Callable handlers exist; no DAT gesture callback registration was found |
+ | One-shot voice commands (long-press) | ๐ŸŸก | Android speech service exists; no verified DAT trigger or source broadcaster for documented commands |
+ | "Hey Netra" wake word | โŒ | WakeWordService removed per user request; receiver hooks remain; PRD/JIRA AC still open |
+ | AI chat w/ image+video ("Be My Eyes") | ๐ŸŸก | Chat/media UI and Edge invocation exist, but client replaces responses with fixed success text |
+ | Lecture notes + AI summary | ๐ŸŸก | Device transcript and Edge invocation exist; summary response is fixed success text |
+ | Today's Story recap | โœ… | Timeline + "Read My Day Out Loud" |
+ | Emergency SOS | ๐ŸŸก | EmergencyAlertManager service only; no trigger, GPS/summaries TODO |
+ | Smart auto-capture / battery saver | ๐ŸŸก | SmartCaptureController (2s/10s intervals); toggle in settings; scene-change detection TODO |
+ | Recess/playground social | ๐ŸŸก | RecessSocialService exists; not surfaced in UI |
+
+ ## Platform / Infra
+
+ | Item | Status | Notes |
+ |---|---|---|
+ | Supabase auth (email, OTP, Google) | โœ… | gotrue-kt; deep links `threenetra://` |
+ | Firebase โ†’ Supabase migration | โœ… | "Phase 5 complete, Firebase disconnected" (Mayukh log, Jun 2026) |
+ | AWS SAM AI gateway | ๐ŸŸก | Routes are implemented but `AwsBackendService` is unreferenced by production app code; deployment workflow omits its OpenAI parameter |
+ | Encrypted local face embeddings | ๐ŸŸก | Utility exists but is unreferenced; active enrollment/matching uses Supabase |
+ | Realtime settings sync | โœ… | Realtime channel on `student_settings` |
+ | GitHub Actions APK build | โœ… | Pushes to `prod` build and upload a debug APK; no test/lint/release signing gate |
+ | Face recognition w/ local embeddings (README roadmap) | โœ… | Done โ€” README item stale |
+ | Real-time shared classroom materials | โณ | README roadmap |
+ | E2E testing coverage | โณ | README roadmap; unit/instrumented scaffolding only |
+ | Teacher/parent web portals, My School Subjects | โณ | PRD screens not built |
+ | iOS companion app | โณ | PRD mentions iOS/Android; Android only today |
+
+ ## Roadmap (Context Mesh + PRD)
+
+ **Meta glass app roadmap:** OCR, face recognition, emotion, campus navigation, multilingual output, dashboards, and offline support are roadmap/document claims. This audit does **not** promote them to delivered: the active AI client returns fixed success text, local-only face storage is unused, and hardware behavior is untested.
+
+ **PRD phases:** Treat PRD phases and checkmarks as planning evidence. Source supports partial UI/service scaffolding, not verified delivery of an end-to-end VLM, OCR, gesture, dashboard, or safety-navigation release.
+
+ **Q2 epics (org):** Revisit PRD ยท Redesign UI/UX wireframes ยท Redesign website (Fable5 Vercel)
+
+ ---
+
+ > [!tip] Navigation
+ > โฌ…๏ธ [[05-Avatars-Companions|Avatars & Companions]] ยท ๐Ÿ  [[Home]] ยท โžก๏ธ [[07-Services-APIs-Vendors|Services, APIs & Vendors]]
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9