Lower the bulk-digitization cliff with two more routes on top of the already-landed CSV import and "save and add another": - Photo-first drafts (capture now, catalogue later): burst-capture photos (camera or multi-gallery) into unnamed draft varieties, shown in a "to catalogue" tray, hidden from the main list until named. Adds Variety.isDraft (schema), addDraftVariety/watchDrafts/nameDraft, the triage sheet and the inventory banner. - On-device OCR label suggestion (Tesseract, offline, no Google): a "Suggest name from photo" button in the naming dialog behind a LabelTextExtractor interface (Tesseract on Android/iOS, no-op elsewhere). Reads the largest print via hOCR bounding boxes, drops boilerplate/low-confidence noise, preprocesses (grayscale, contrast, upscale) and sweeps rotations (0-315 deg) so tilted packets still read. Bundles tessdata_fast eng+spa; validated on-device against real packets. The photo is written to a temp file deleted immediately in a finally block (the plugin needs a path) - a bounded, documented exception to no-plaintext-at-rest. This commit also carries the co-developed schema evolution v5 to v8 that shares these files (organic flag, species viability years, crop calendar, lot provenance/abundance/preservation format, condition checks) plus their exports/migrations and i18n. Tests: CSV/draft/OCR unit + widget + migration green in isolation. Note: the full widget suite currently hangs (>10 min) - under investigation.
42 lines
1.5 KiB
Text
42 lines
1.5 KiB
Text
# This file tracks properties of this Flutter project.
|
|
# Used by Flutter tool to assess capabilities and perform upgrades etc.
|
|
#
|
|
# This file should be version controlled and should not be manually edited.
|
|
|
|
version:
|
|
revision: "00b0c91f06209d9e4a41f71b7a512d6eb3b9c694"
|
|
channel: "stable"
|
|
|
|
project_type: app
|
|
|
|
# Tracks metadata for the flutter migrate command
|
|
migration:
|
|
platforms:
|
|
- platform: root
|
|
create_revision: 00b0c91f06209d9e4a41f71b7a512d6eb3b9c694
|
|
base_revision: 00b0c91f06209d9e4a41f71b7a512d6eb3b9c694
|
|
- platform: android
|
|
create_revision: 00b0c91f06209d9e4a41f71b7a512d6eb3b9c694
|
|
base_revision: 00b0c91f06209d9e4a41f71b7a512d6eb3b9c694
|
|
- platform: ios
|
|
create_revision: 00b0c91f06209d9e4a41f71b7a512d6eb3b9c694
|
|
base_revision: 00b0c91f06209d9e4a41f71b7a512d6eb3b9c694
|
|
- platform: linux
|
|
create_revision: 00b0c91f06209d9e4a41f71b7a512d6eb3b9c694
|
|
base_revision: 00b0c91f06209d9e4a41f71b7a512d6eb3b9c694
|
|
- platform: web
|
|
create_revision: 00b0c91f06209d9e4a41f71b7a512d6eb3b9c694
|
|
base_revision: 00b0c91f06209d9e4a41f71b7a512d6eb3b9c694
|
|
- platform: windows
|
|
create_revision: 00b0c91f06209d9e4a41f71b7a512d6eb3b9c694
|
|
base_revision: 00b0c91f06209d9e4a41f71b7a512d6eb3b9c694
|
|
|
|
# User provided section
|
|
|
|
# List of Local paths (relative to this file) that should be
|
|
# ignored by the migrate tool.
|
|
#
|
|
# Files that are not part of the templates will be ignored by default.
|
|
unmanaged_files:
|
|
- 'lib/main.dart'
|
|
- 'ios/Runner.xcodeproj/project.pbxproj'
|