How skye-cyber/organon works
Organon is a digital reader for Aristotle’s six-treatise Organon. Readers open the workspace, navigate and read paragraphs with Bekker references, then annotate, search, look up terms, and track reading progress. The React store coordinates reader state and persistence through a Tauri bridge to SQLite; search and dictionary features also include local/on-device and optional web-backed paths. The README documents several capabilities whose detailed implementation was not sampled, so those branches are included with documented relationships only.
Main entry points: App.tsx App shell · readerStore.ts Reader state · SearchModal.tsx Search dialog · Reader.tsx Reader
Components 24
Reader workspace
- Reader
src/components/Reader.tsx - Contents
src/components/SidebarTOC.tsx - Reader controls
src/components/Header.tsx - Typography
src/components/TypographyPopover.tsx - Focus mode
src/components/ZenModeControls.tsx - Reading goals
src/components/ReadingProgress.tsx - App shell
src/App.tsx
Study tools
- Notes and highlights
src/components/NotesPanel.tsx - Text selection
src/components/SelectionPopover.tsx - Shortcut reference
src/components/KeyboardShortcutsModal.tsx
Search and lookup
- Search dialog
src/components/SearchModal.tsx - Semantic search
src/lib/semanticSearch.ts - Dictionary lookup
src/lib/dictionaryApi.ts - Dictionary card
src/components/DictionaryModal.tsx
State and storage
- Reader state
src/store/readerStore.ts - Tauri API bridge
src/lib/tauriApi.ts - Native commands
src-tauri/src/commands.rs - SQLite persistence
src-tauri/src/db.rs - Tauri setup
src-tauri/src/lib.rs
Other components
- Organon text
data/organon_english.json - Paragraph vectors
data/embeddings.json - Reader
- Dictionary API
- Wikipedia
Connections 30
- Reader → App shell: opens
- App shell → Reader controls: renders
src/App.tsx - App shell → Contents: renders
src/App.tsx - App shell → Reader: renders
src/App.tsx - App shell → Notes and highlights: renders
src/App.tsx - App shell → Text selection: renders
src/App.tsx - App shell → Search dialog: renders
src/App.tsx - App shell → Dictionary card: renders
src/App.tsx - App shell → Focus mode: renders
src/App.tsx - App shell → Reading goals: renders
src/App.tsx - Reader → Reader state: reads state
src/components/Reader.tsx - Contents → Reader state: reads state
src/components/SidebarTOC.tsx - Reader controls → Reader state: reads state
src/components/Header.tsx - Typography → Reader state: updates settings
src/components/TypographyPopover.tsx - Notes and highlights → Reader state: uses state
src/components/NotesPanel.tsx - Text selection → Reader state: uses state
src/components/SelectionPopover.tsx - Search dialog → Reader state: reads corpus
src/components/SearchModal.tsx - Search dialog → Semantic search: runs semantic search
src/components/SearchModal.tsx - Search dialog → Reader: jumps to text
README.md - Reader state → Dictionary lookup: looks up terms
src/store/readerStore.ts - Dictionary card → Reader state: uses state
src/components/DictionaryModal.tsx - Dictionary lookup → Dictionary API: requests definitions
src/lib/dictionaryApi.ts - Dictionary lookup → Wikipedia: requests context
src/lib/dictionaryApi.ts - Reader state → Tauri API bridge: uses persistence API
src/store/readerStore.ts - Tauri API bridge → Native commands: invokes handlers
README.md - Native commands → SQLite persistence: uses database
src-tauri/src/commands.rs - Tauri setup → Native commands: registers handlers
src-tauri/src/lib.rs - Tauri setup → SQLite persistence: initializes
src-tauri/src/lib.rs - Organon text → Reader: provides text
README.md - Paragraph vectors → Semantic search: supports similarity
README.md