You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CLAUDE.md
+5-3Lines changed: 5 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -111,6 +111,9 @@ Current state: App running on macOS. FSRS Phase 1 merged. Knowledge graph animat
111
111
- ✓ **Curiosity Engine Phase 1** — Gap analysis + prescriptive recommendations (#99): `GapAnalyzer` (4 gap types), `RecommendationService` (Claude-scored gap-filling), `RecommendationEvaluation` (predicted vs actual edges), `KnowledgeGap`/`Recommendation` models, `RecommendationsScreen`, dashboard curiosity card. Parallelized gap evaluation via `Future.wait`. Null-byte delimited edge keys in evaluation to avoid name collisions.
112
112
- ✓ **Curiosity Engine Phase 2** — One-tap ingest + post-ingest evaluation (#100, #101): `ingestRecommendation()` on `RecommendationNotifier` (fetch→extract→merge→evaluate), `RecommendationIngestStatus`/`RecommendationIngestResult` types, `ingestResults` map on state, `_IngestAction` switch widget (idle/loading/completed/error), `_EvaluationBadge` with color-coded accuracy. `fromJson`/`toJson` on `RecommendationEvaluationResult`. Double-tap guard, `clockProvider` consistency, specific `OutlineApiException`/`ExtractionException` handling.
113
113
- ✓ **Glow Integration** — See new nodes connect in the graph (#103): `ingestedConceptIds` on `RecommendationIngestResult`, `glowNodeIdsProvider` bridges recommendations→dashboard, `GraphPainter` cyan radial halo (3x radius) + bright ring + blurred edge underlay, 4s `AnimationController` fade on `ForceDirectedGraphWidget` with `onGlowComplete` callback, "View in Graph" button on completed recommendation cards navigates to Dashboard tab with glow.
@@ -119,9 +122,8 @@ Current state: App running on macOS. FSRS Phase 1 merged. Knowledge graph animat
119
122
4.**Autonomous ingestion** — With user consent, the system finds, fetches, and ingests gap-filling content automatically. The curiosity engine becomes self-feeding.
120
123
121
124
### Architecture — Next up
122
-
1.**#40** — Local-first Drift/SQLite migration (schema should account for FSRS D/S/R fields + curiosity engine state)
123
-
2.**#41** — CRDT sync layer (depends on #40; FSRS state needs LWW-Register per field)
124
-
3.**#39** — Concept embeddings (#38 done; embedding similarity could predict confusion-based difficulty for FSRS, and improve gap detection by identifying semantically near-miss clusters)
125
+
1.**#41 Phase 6** — Firestore optional: personal features work offline with Drift, auth gate becomes optional, sign-in unlocks sync + social
126
+
2.**#39** — Concept embeddings (#38 done; embedding similarity could predict confusion-based difficulty for FSRS, and improve gap detection by identifying semantically near-miss clusters)
125
127
126
128
### Learning Science Features (Issues #74–#78)
127
129
8.**#74** — Audio/video-synchronized knowledge graph highlighting — nodes light up in sync with narration, connected nodes glow with relationship explanations. Based on Mayer's signaling principle (g=0.38–0.53) and temporal contiguity (d=1.22). Implementation: ElevenLabs TTS with character-level timestamps → concept-to-timerange mapping → `activeConceptsProvider` → existing `glowNodeIdsProvider`. See `docs/FUTURE_DIRECTIONS.md` for full research on AI audio/video tools. Also investigate **Motion Canvas** (https://motioncanvas.io/) for standalone educational video export (3Blue1Brown-style programmatic animation in TypeScript)
0 commit comments