How pazvanti/chronicle works
Chronicle is a local-first novel-authoring and publishing studio. Writers open or create a project, draft and organize chapters, enrich it with annotations and planning/worldbuilding tools, then export publication files or retain a project archive. The graph includes major README capabilities and the sampled app shell, services, and settings; unsampled subsystem links are omitted where implementation ownership cannot be verified.
Main entry points: ExportModal.tsx Export Controls · App.tsx App Shell · CloudFileBrowserModal.tsx Cloud Controls · TtsContext.tsx Audio Context
Components 29
Writing Workspace
- Chapter Editor
src/components/Editor/EditorContainer.tsx - Chapter Binder
src/components/Sidebar/ChapterList.tsx - Reader View
src/components/Reader/ReaderView.tsx - Author Comments
src/components/Comments/CommentsSidebar.tsx - Story Snapshots
src/components/Snapshots/SnapshotsModal.tsx - Snapshot Diff
src/services/diff/snapshotDiffService.ts
Story Development
- Narrative Timeline
src/components/Timeline/TimelineStudio.tsx - Character Codex
src/components/Characters/CharacterStudio.tsx - Location Codex
src/components/Locations/LocationStudio.tsx - Cast Presence
src/services/analysis/presenceAnalysisService.ts
Publishing
- Cover Designer
src/components/Cover/CoverStudio.tsx - Contents Manager
src/components/Toc/TocManager.tsx - Export Controls
src/components/Export/ExportModal.tsx - EPUB Exporter
src/services/epub/epubExporter.ts - Print PDF Typesetter
src/services/epub/pdfBookTypesetter.ts - Shunn Exporter
src/services/epub/shunnManuscriptExporter.ts - Project Archive
src/services/epub/projectFormat.ts
App Runtime
- App Shell
src/App.tsx - Project Context
src/context/EpubContext.tsx - Project Model
src/types/project.ts - App Settings
src/services/epub/settingsStorage.ts
Storage and Audio
- Cloud Controls
src/components/Cloud/CloudFileBrowserModal.tsx - WebDAV Config
src/services/cloud/webdavStorage.ts - WebDAV Client
src/services/cloud/webdavClient.ts - Self-hosted WebDAV
- Audio Context
src/context/TtsContext.tsx - Kokoro TTS Engine
src/services/tts/qwenTtsEngine.ts - Audio Player
src/components/TTS/AudioPlayerBar.tsx
Other components
- Writer
Connections 29
- Writer → App Shell: uses
- App Shell → Project Context: provides context
- Project Context → Project Model: models project
- App Shell → Chapter Editor: renders workspace
- Writer → Chapter Editor: drafts chapters
- Writer → Chapter Binder: organizes chapters
- Writer → Reader View: reads manuscript
- Writer → Author Comments: annotates passages
- Writer → Story Snapshots: reviews revisions
- Story Snapshots → Snapshot Diff: compares snapshots
- Writer → Narrative Timeline: plots story
- Writer → Character Codex: builds dossiers
- Writer → Location Codex: documents settings
- Writer → Cast Presence: analyzes cast
- Writer → Cover Designer: designs cover
- Writer → Contents Manager: edits contents
- Writer → Export Controls: requests export
- Export Controls → EPUB Exporter: exports EPUB
- Export Controls → Print PDF Typesetter: typesets PDF
- Export Controls → Shunn Exporter: formats manuscript
- Export Controls → Project Archive: packages project
- Writer → App Settings: customizes app
- Writer → Cloud Controls: manages sync
- Cloud Controls → WebDAV Config: loads and saves
- Cloud Controls → WebDAV Client: transfers files
- WebDAV Client → Self-hosted WebDAV: syncs remotely
- Writer → Audio Context: proofreads aloud
- Audio Context → Kokoro TTS Engine: generates speech
- Audio Context → Audio Player: plays audio