lowframer 0.3.0 copy "lowframer: ^0.3.0" to clipboard
lowframer: ^0.3.0 copied to clipboard

A tiny kit for drawing low-fidelity wireframe art: miniature, theme-aware UI illustrations built from code, no assets.

lowframer #

The low-fidelity wireframe art kit for Flutter.

Catalogues and galleries need a cover per item, and the usual options all trade off: screenshots go stale and lock to one theme, icons are too abstract, and illustrations need a designer and can't follow dark mode.

lowframer's art is code instead: a miniature wireframe composed from a few primitives, drawn to say exactly what each item is, current and on-theme by construction.

🔎 Try the live demo → #

The showcase, running in your browser: every primitive as a playground, and the compositions built from them. No install required.

Features ✨ #

  • Compose exactly the art you need: Window, Cover, Box (line/pill), Scribble, Palette; five primitives, a distinct cover art in ~20 lines, no designer in the loop
  • Theme-aware for free: every color derives from the ambient ColorScheme; light/dark needs zero per-theme code
  • Handwriting without words: the Scribble draws deterministic pen strokes with size, frequency, seed, and italic knobs
  • Deterministic by contract: no Random; identical input paints identical pixels, golden- and test-stable
  • Zero assets, zero dependencies: pure Flutter, nothing to bundle

Installation 💻 #

flutter pub add lowframer

Or add it to your pubspec.yaml:

dependencies:
  lowframer: ^0.3.0

Usage 🚀 #

A miniature "buttons" illustration, a framed window holding pill silhouettes with one accent:

import 'package:lowframer/lowframer.dart';

class ButtonsArt extends StatelessWidget {
  const ButtonsArt({super.key});

  @override
  Widget build(BuildContext context) {
    final palette = LowframerPalette.of(context);
    return LowframerWindow(
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        mainAxisAlignment: MainAxisAlignment.center,
        spacing: 8,
        children: [
          LowframerBox.pill(color: palette.accent, width: 72, height: 16),
          LowframerBox.pill(color: palette.fill, width: 96, height: 16),
          LowframerScribble(color: palette.fillStrong, width: 90),
        ],
      ),
    );
  }
}

Wrap the window in a LowframerCover to present it as a card cover: a full-width wash panel with the framed art centered and lifted off it.

The scribble's knobs #

LowframerScribble stands in for written text: one continuous wavy pen stroke, no actual words.

Knob Meaning
color The ink color
width / height Line length and wave band; with strokeWidth, the writing's size
strokeWidth Pen thickness
wavelength Pixels per peak-and-valley cycle, the writing's frequency
seed Varies the handwriting; two lines with the same knobs read as different sentences
fontStyle Mirrors TextStyle.fontStyle; italic slants the stroke
style sketch (uniform drawn wave, default) or wave (irregular scrawl)

Customizing the palette #

LowframerPalette.of(context) derives from the ambient ColorScheme by default, so the art follows your theme, dark mode included, with no extra code. To customize, scope a palette over a subtree with LowframerTheme; everything below it (including LowframerWindow and LowframerCover, which resolve internally) picks it up:

LowframerTheme(
  palette: LowframerPalette(
    backdrop: Color(0x14704214),
    background: Color(0xFFFDF6EC),
    border: Color(0xFFE3D5C0),
    fill: Color(0x3D704214),
    fillStrong: Color(0x8A704214),
    accent: Color(0xFF9C4221),
  ),
  child: LowframerCover(child: ButtonsArt()),
)

To tweak rather than replace, start from the derived palette and copyWith:

final palette = LowframerPalette.of(context).copyWith(accent: Colors.teal);

Two apps live in this repository, and they answer different questions.

example/ is the smallest app that draws lowframer art — one screen, the four primitives, ~120 lines. Start there to see what a composition is made of:

cd example && fvm flutter run

showcase/ is the full thing: a playground per primitive, where you turn its knobs and watch the art redraw, plus the compositions built from them. It is what the live demo serves:

cd showcase && fvm flutter run
0
likes
160
points
181
downloads

Documentation

API reference

Publisher

verified publisherluisburgos.xyz

Weekly Downloads

A tiny kit for drawing low-fidelity wireframe art: miniature, theme-aware UI illustrations built from code, no assets.

Repository (GitHub)
View/report issues
Contributing

Topics

#wireframe #illustration #placeholder #design #widget

License

MIT (license)

Dependencies

flutter

More

Packages that depend on lowframer