visual_feedback 0.0.1
visual_feedback: ^0.0.1 copied to clipboard
Let users annotate a live screenshot of your Flutter app with pencil, shapes, arrows and text, then get the PNG plus recent logs for bug reports.
0.0.1 #
Initial release.
VisualFeedbackoverlay that captures the wrapped app as a PNG after the user annotates it.- Annotation tools: pencil, brush, line, rectangle, circle, arrow, inline text and eraser, with a shared colour palette, stroke widths and text sizes.
- Every mark stays adjustable: select it to move, resize or delete it.
- One undo history across all tools; a whole move or resize is one step.
- Draggable, snapping controls that can be minimised without losing the drawing, plus an optional draggable floating action button.
toolbarLayout: in landscape and on desktop the bars run along the bottom edge, with the options opening above (VisualFeedbackToolbarLayout.adaptive, the default). Pinverticalorhorizontalto use one layout everywhere.showDescriptionField: confirming opens a panel over the annotated screen where the user can type a description, delivered asVisualFeedbackData.description. Back returns to the drawing intact.VisualFeedbackLabelscovers the description panel too and gainscopyWith, so the whole editor can be translated by overriding a few labels.VisualFeedbackControllerto open and close sessions from code, with an optional per-sessiononFeedbackcallback.- Blurred glass floating bars with a hairline border and soft shadow. The main and secondary bars share one control: the same rounded-square highlight, press and hover feedback, a live stroke-width preview, ringed color swatches and an accent-filled confirm button.
VisualFeedbackThemefor colours, icons, sizes, palettes, labels and animation timing, withVisualFeedbackTheme.lightandVisualFeedbackTheme.darkpresets andcopyWith.VisualFeedbackfollows the platform brightness by default (theme,darkTheme,themeMode).VisualFeedbackLabels: accessibility labels on every control, overridable for localization.VisualFeedbackScreenshotandVisualFeedbackScreenshotControllerfor capturing any subtree, or an off-screen widget, as PNG bytes.- Selection chrome and the controls never appear in the captured image.
- Recent logs attached to feedback: pass
logger(apackage:loggingLogger) andlogDuration, andVisualFeedbackData.logscarries the entries recorded up to the moment the user confirmed.logsAsText()renders them for a bug report. VisualFeedbackLogRecorderto start recording beforerunApp, with a time window, an entry cap, and optional capture ofFlutterErroranddebugPrintoutput.- Depends only on Flutter and
logging.
