mural 1.0.0-dev.0 copy "mural: ^1.0.0-dev.0" to clipboard
mural: ^1.0.0-dev.0 copied to clipboard

Capture any Flutter widget as an image, at any size. Screenshot huge lists, full pages, and even unseen widgets — past the GPU texture limit, always crisp, in constant memory.

Prerelease Changelog #

1.0.0-dev.0 #

First release — capture any Flutter widget as an image, at any size: offscreen widgets, on-screen snapshots, and captures beyond the GPU texture limit (flutter/flutter#118024), streamed in constant memory.

  • Capture: three doors on one Mural facade — capture (offscreen, staged with the caller's theme and text direction), captureBoundary (on-screen, snapshotted synchronously at the call), captureInto (streams into any Sink<List<int>>)
  • Any size: captures in strips under a GPU limit learned from the engine's own responses; output size bounded by neither the GPU nor memory
  • Fidelity: strip output byte-identical to a one-shot render — strip origins aligned to the engines' 8x8 dither matrix, bleed margin around interior seams for shadows and blurs; verified by a differential test against the framework's own rasterization
  • Memory: peak working memory is one band plus one strip readback, set by memoryLimitBytes, independent of output size
  • Readiness: one deterministic signal, MuralStage.ready(context) — no timer options
  • Tasks: every door returns a MuralTask — awaitable, live progress (sealed MuralProgress family), cooperative cancellation
  • Output: in-package streaming PNG (RFC 2083/1950/1951) encoded off the UI thread (isolate on native, CompressionStream on web); raw straight-alpha RGBA as the escape hatch
  • Errors: sealed MuralError family — every failure typed and named, including MuralBudgetError when the memory budget and bleed cannot form a plan
  • Platforms: Android, iOS, macOS, Windows, Linux, web — one codebase, zero runtime dependencies
  • SDK: requires Dart >=3.11.0
Commits since initial (6)
  • 2dcd58c release: v1.0.0-dev.0
  • 5beb774 ci: bump dorny/paths-filter from 4.0.1 to 4.0.2 in the actions group across 1 directory (#1)
  • d72aa28 ci: restore byte-parity with the shared workflow stubs
  • 1cbc810 ci: touch dispatch-only workflows so GitHub registers them
  • 369c19b chore: nudge workflow registration for dispatch-only workflows
  • 459bd56 chore: initial import of mural from the whuppi workspace
1
likes
0
points
125
downloads

Publisher

verified publisherwhuppi.com

Weekly Downloads

Capture any Flutter widget as an image, at any size. Screenshot huge lists, full pages, and even unseen widgets — past the GPU texture limit, always crisp, in constant memory.

Repository (GitHub)
View/report issues

Topics

#screenshot #widget-to-image #capture #image #cross-platform

License

unknown (license)

Dependencies

flutter

More

Packages that depend on mural