How wep-56/ezvenera works
EZVenera is a Flutter comic-reading app for Windows and Android, built around compatible Venera plugins. The main user journey is to choose a source, browse or search for comics, open a comic and chapter, then read its pages. The map also includes local reading, downloads, personal library state, settings, and backup/sync capabilities documented in the README. The tree identifies these subsystems, but most Dart implementation was not sampled, so detailed call wiring is shown only where the documented workflow supports it.
Main entry points: main_shell.dart Navigation shell · plugin_runtime.dart Plugin runtime · search_page.dart Catalog and search · comic_details_page.dart Comic details
Components 24
App experience
- App bootstrap
lib/src/bootstrap/app_bootstrap.dart - App shell
lib/src/app.dart - Navigation shell
lib/src/shell/main_shell.dart - Source browsing
lib/src/pages/sources_page.dart - Catalog and search
lib/src/pages/search_page.dart - Comic details
lib/src/pages/comic_details_page.dart
Plugin sources
- Plugin runtime
lib/src/plugin_runtime/plugin_runtime.dart - Source parser
lib/src/plugin_runtime/parser/plugin_source_parser.dart - Source repository
lib/src/plugin_runtime/repository/plugin_source_repository.dart - Source index
lib/src/plugin_runtime/repository/source_index.dart - Runtime controller
lib/src/plugin_runtime/plugin_runtime_controller.dart - Plugin JS engine
lib/src/plugin_runtime/engine/plugin_js_engine.dart - Plugin image services
lib/src/plugin_runtime/services/plugin_image_loader.dart
Reading and library
- Online reader
lib/src/pages/reader_page.dart - Reader support
lib/src/reader/reader_image_cache.dart - Downloads
lib/src/downloads/download_controller.dart - Local comics
lib/src/local_library/local_library_controller.dart - Favorites and history
lib/src/library/favorite_controller.dart
Settings and backup
- Settings and updates
lib/src/settings/settings_controller.dart - Backup and restore
lib/src/backup/backup_service.dart - WebDAV sync
lib/src/backup/webdav_auto_sync.dart
Other components
- Comic reader
- Device storage
- WebDAV service
Connections 29
- Comic reader → App bootstrap: launches
- App bootstrap → App shell: starts
- App shell → Navigation shell: presents
- Navigation shell → Source browsing: opens
- Navigation shell → Catalog and search: opens
- Catalog and search → Comic details: selects comic
- Source browsing → Plugin runtime: uses sources
- Catalog and search → Plugin runtime: searches
- Comic details → Plugin runtime: loads details
- Plugin runtime → Source repository: accesses sources
- Source repository → Source parser: parses plugins
- Source repository → Source index: indexes sources
- Plugin runtime → Runtime controller: dispatches calls
- Runtime controller → Plugin JS engine: executes plugin
- Comic details → Online reader: opens chapter
- Online reader → Plugin runtime: loads pages
- Online reader → Reader support: uses cache
- Plugin runtime → Plugin image services: loads images
- Navigation shell → Downloads: opens downloads
- Downloads → Device storage: stores files
- Navigation shell → Local comics: opens local comics
- Local comics → Device storage: reads comics
- Navigation shell → Favorites and history: opens library
- Favorites and history → Device storage: persists state
- Navigation shell → Settings and updates: opens settings
- Navigation shell → Backup and restore: starts backup
- Backup and restore → Device storage: reads and writes
- Backup and restore → WebDAV sync: syncs backups
- WebDAV sync → WebDAV service: uploads and restores