testsAndMisc/horatio/horatio_app/pubspec.yaml
Krzysztof kuhy Rudnicki fa5ccdaa96 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

48 lines
956 B
YAML

name: horatio_app
description: >-
Horatio — the actor's faithful companion for script memorization.
Multiplatform app with dialogue rehearsal and spaced repetition.
publish_to: none
version: 0.1.0
environment:
sdk: ^3.11.0
flutter: ">=3.10.0"
dependencies:
flutter:
sdk: flutter
flutter_bloc: ^9.0.0
equatable: ^2.0.7
go_router: ^17.1.0
flutter_tts: ^4.2.0
file_picker: ^10.3.10
desktop_drop: ^0.7.0
device_preview: ^1.3.1
drift: ^2.22.0
sqlite3_flutter_libs: ^0.6.0+eol
uuid: ^4.5.1
path_provider: ^2.1.0
path: ^1.9.0
intl: ^0.20.2
horatio_core:
path: ../horatio_core
speech_to_text: ^7.3.0
record: ^6.2.0
archive: any
xml: any
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^6.0.0
build_runner: ^2.4.0
drift_dev: ^2.22.0
bloc_test: ^10.0.0
mocktail: ^1.0.0
plugin_platform_interface: any
flutter:
uses-material-design: true
assets:
- assets/public_domain/