name: tane description: "Tanemaki — local-first, encrypted, decentralized traditional-seed inventory." publish_to: 'none' version: 0.1.0+1 environment: sdk: ^3.11.5 resolution: workspace dependencies: flutter: sdk: flutter flutter_localizations: sdk: flutter commons_core: path: ../../packages/commons_core # State management (Cubit-first). Drift streams are the source of truth. flutter_bloc: ^9.1.1 equatable: ^2.0.5 # Stream combinators (StreamGroup) for reactive multi-table reads. async: ^2.11.0 # Encrypted local database. NOTE: do NOT add sqlite3_flutter_libs / drift_flutter # — their bundled plain SQLite collides (same symbols) with SQLCipher and # segfaults on desktop. SQLCipher is the only native sqlite provider here. drift: ^2.28.0 sqlite3: ^2.7.5 sqlcipher_flutter_libs: ^0.6.5 # Dependency injection composition root. get_it: ^8.0.3 # i18n (Weblate-friendly JSON per locale). slang: ^4.7.0 slang_flutter: ^4.7.0 # Secure key storage (OS keystore). flutter_secure_storage: ^9.2.4 # Routing + media + paths. go_router: ^14.6.2 image_picker: ^1.1.2 # On-device OCR (Tesseract, Apache-2.0/BSD) to suggest a name from a packet # photo. Offline, no Google/cloud. Mobile-only; other platforms use a no-op. flutter_tesseract_ocr: ^0.4.31 # Pure-Dart image preprocessing (grayscale/contrast/upscale) before OCR to # lift accuracy on blurry packet photos. image: ^4.3.0 # Save/open dialogs for the inventory export/import (MIT license). file_picker: ^10.1.2 # Pure-Dart PDF generation (Apache-2.0) for the printable "what I share" # catalog. No platform channels, so the whole flow is host-testable. pdf: ^3.11.3 path: ^1.9.0 path_provider: ^2.1.5 cupertino_icons: ^1.0.8 material_symbols_icons: ^4.2951.0 url_launcher: ^6.3.2 package_info_plus: ^9.0.1 # Optional coarse device location (BSD-3) to set the sharing area without # typing a code. Low accuracy only; the value is immediately reduced to a # low-precision geohash. Behind an interface so it's fakeable and pluggable. geolocator: ^13.0.1 dev_dependencies: flutter_test: sdk: flutter integration_test: sdk: flutter flutter_lints: ^6.0.0 build_runner: ^2.4.13 drift_dev: ^2.28.0 slang_build_runner: ^4.7.0 mocktail: ^1.0.4 flutter_launcher_icons: ^0.14.4 flutter_native_splash: ^2.4.7 # App launcher icon: a white sprout on brand green (#2F7D34) for strong # contrast. Regenerate with: dart run flutter_launcher_icons flutter_launcher_icons: image_path: assets/icon.png android: true ios: true remove_alpha_ios: true adaptive_icon_background: "#2F7D34" adaptive_icon_foreground: assets/icon_foreground.png web: generate: true image_path: assets/icon.png background_color: "#2F7D34" theme_color: "#2F7D34" windows: generate: true image_path: assets/icon.png icon_size: 256 # Native splash: white sprout on brand green, a darker green in dark mode. # Regenerate with: dart run flutter_native_splash:create flutter_native_splash: color: "#2F7D34" color_dark: "#22521E" image: assets/splash_logo.png android_12: image: assets/splash_logo.png color: "#2F7D34" color_dark: "#22521E" flutter: uses-material-design: true # Seed strings for slang live under lib/i18n (not a Flutter asset; compiled). assets: - assets/catalog/species.json - assets/logo.png # Bundled so the Linux runner can use it as the GTK window icon. - assets/icon.png # Tesseract OCR language data (tessdata_fast: eng + spa). Bundled for # offline, on-device label OCR on mobile. - assets/tessdata/ - assets/tessdata_config.json # Real packet photos for the on-device OCR validation integration test. # Remove before shipping if you don't want them in the bundle. - assets/ocr_fixtures/ # Embedded in generated PDFs (printable catalog). DejaVu covers Latin # (extended), Cyrillic and Greek; like the OCR packs, PDF fonts are a # per-locale resource — swap in wider coverage (Arabic, CJK) as locales # land. Free license (Bitstream Vera / public domain additions). - assets/fonts/DejaVuSans.ttf - assets/fonts/DejaVuSans-Bold.ttf fonts: # Custom seed-themed icon glyphs (chars a–k). See docs/mockups/seedks-glyphs.png. - family: seedks fonts: - asset: fonts/seedks.ttf