testsAndMisc-archive/horatio/horatio_app
Krzysztof kuhy Rudnicki 85edd6ba02 feat: annotations subsystem — core models, drift DB, cubits, and UI
Add the complete annotations feature for marking and annotating script text:

Core models (horatio_core):
- TextMark, LineNote, AnnotationSnapshot, MarkType, NoteCategory
- Script.id field + UUID generation in text_parser

Database layer (horatio_app):
- Drift tables: text_marks, line_notes, annotation_snapshots
- AppDatabase with AnnotationDao (full CRUD + streams + bulk replace)

State management:
- AnnotationCubit: mark/note CRUD, line selection, editing context
- AnnotationHistoryCubit: snapshot save/restore with stream updates

UI components:
- MarkOverlay: colored span rendering for text marks
- NoteIndicator: per-line note count badge
- MarkTypePicker: 6-type ActionChip selector
- NoteEditorSheet: category dropdown + text field bottom sheet
- AnnotationEditorScreen: full editor with long-press marks + note editing
- AnnotationHistoryScreen: snapshot timeline with restore dialog

Wiring:
- main.dart: async DB init with path_provider
- app.dart: RepositoryProvider<AnnotationDao>
- router.dart: /annotations + /annotation-history routes
- role_selection_screen: Annotate Script option
- run.sh: app_codegen step + coverage filtering for generated code

352 tests (105 core + 247 app), 100% branch coverage, zero dead code.
2026-03-29 17:59:26 +02:00
..
assets/public_domain feat(horatio): add Horatio actor script memorization app 2026-03-29 14:44:57 +02:00
lib feat: annotations subsystem — core models, drift DB, cubits, and UI 2026-03-29 17:59:26 +02:00
linux feat(horatio): add Horatio actor script memorization app 2026-03-29 14:44:57 +02:00
test feat: annotations subsystem — core models, drift DB, cubits, and UI 2026-03-29 17:59:26 +02:00
.gitignore feat(horatio): add Horatio actor script memorization app 2026-03-29 14:44:57 +02:00
.metadata feat(horatio): add Horatio actor script memorization app 2026-03-29 14:44:57 +02:00
analysis_options.yaml feat(horatio): add Horatio actor script memorization app 2026-03-29 14:44:57 +02:00
pubspec.lock feat: annotations subsystem — core models, drift DB, cubits, and UI 2026-03-29 17:59:26 +02:00
pubspec.yaml feat: annotations subsystem — core models, drift DB, cubits, and UI 2026-03-29 17:59:26 +02:00
README.md feat(horatio): add Horatio actor script memorization app 2026-03-29 14:44:57 +02:00

horatio_app

A new Flutter project.

Getting Started

This project is a starting point for a Flutter application.

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.