piecemeal 0.4.1

  • README.md
  • Installing
  • Versions
  • 73

Piecemeal is a small Dart library of low-level utility types aimed at 2D games. In particular, I harvested it from my roguelike Hauberk.

Using it

Add it to your package's pubspec:

  piecemeal: any

Import it:

import 'package:piecemeal/piecemeal.dart';

Running tests

Piecemeal comes with a unit test suite. From the root directory of piecemeal, run:

dart --checked test/run_all.dart 


  • Add Vec.nearestDirection.
  • Add Vec.intercardinalNeighbors.


  • Rng.take() no longer preserves order, but is faster. To preserve order, use Rng.takeOrdered().
  • Add Rng.round().
  • Add Vec.neighbors and Vec.cardinalNeighbors.


  • Add Rng.countFromFloat() and Rng.normal().


  • Add Array2D.fill().


  • Add Rng.shuffle() and Rng.setSeed().


  • Add Line and Circle classes.


  • Add Rng.percent().


  • Add Rect.offset().


  • Fix type error.
  • Use real generic method syntax.


  • Get rid of implicit casts and dynamic.
  • Make Rng.item() and Rng.take() generic methods.
  • Add Rng.float().


  • Make strong mode clean.
  • Fix bug in Rect.clamp().


  • Make constants lowerCamelCase.
  • Remove sign() and clamp() since the Dart core libraries have them now.


  • Add CARDINAL and INTERCARDINAL direction lists to Direction.

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:

  piecemeal: ^0.4.1

2. Install it

You can install packages from the command line:

with pub:

$ pub get

with Flutter:

$ flutter packages get

Alternatively, your editor might support pub get or flutter packages get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:

import 'package:piecemeal/piecemeal.dart';
Version Uploaded Documentation Archive
0.4.1 Nov 1, 2018 Go to the documentation of piecemeal 0.4.1 Download piecemeal 0.4.1 archive
0.4.0 Oct 22, 2018 Go to the documentation of piecemeal 0.4.0 Download piecemeal 0.4.0 archive
0.3.8 Jul 3, 2018 Go to the documentation of piecemeal 0.3.8 Download piecemeal 0.3.8 archive
0.3.7 Jun 13, 2018 Go to the documentation of piecemeal 0.3.7 Download piecemeal 0.3.7 archive
0.3.6 Dec 17, 2017 Go to the documentation of piecemeal 0.3.6 Download piecemeal 0.3.6 archive
0.3.5 Dec 16, 2017 Go to the documentation of piecemeal 0.3.5 Download piecemeal 0.3.5 archive
0.3.4 Nov 23, 2017 Go to the documentation of piecemeal 0.3.4 Download piecemeal 0.3.4 archive
0.3.3 Oct 1, 2017 Go to the documentation of piecemeal 0.3.3 Download piecemeal 0.3.3 archive
0.3.2 Sep 16, 2017 Go to the documentation of piecemeal 0.3.2 Download piecemeal 0.3.2 archive
0.3.1 Sep 10, 2017 Go to the documentation of piecemeal 0.3.1 Download piecemeal 0.3.1 archive

All 15 versions...

Describes how popular the package is relative to other packages. [more]
Code health derived from static analysis. [more]
Reflects how tidy and up-to-date the package is. [more]
Weighted score of the above. [more]
Learn more about scoring.

We analyzed this package on Dec 5, 2018, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.1.0
  • pana: 0.12.7


Detected platforms: Flutter, web, other

No platform restriction found in primary library package:piecemeal/piecemeal.dart.

Maintenance suggestions

The description is too short. (-20 points)

Add more detail about the package, what it does and what is its target use case. Try to write at least 60 characters.

Maintain an example. (-10 points)

Create a short demo in the example/ directory to show how to use this package. Common file name patterns include: main.dart, example.dart or you could also use piecemeal.dart.


Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.0.0-dev.62.0 <3.0.0
Dev dependencies
test any