wumpus-basic: Common drawing utilities built on wumpus-core.
** WARNING ** - this package is sub-alpha, it was released to Hackage prematurely and while its capabilities have improved with subsequent updates it is arguably becoming even less stable and more experimental (unfortunately the only thing consistent about the API is that it consistently changes...).
Version 0.14.0 breaks up Wumpus-Basic into two layers -
Wumpus.Basic for core data types, general utilities and
System utilities (currently only font loading); the other
Wumpus.Drawing, is for for specific drawing
"objects" - arrowheads, dots, and the like. The APIs of the
Drawing modules have not been given much attention as the
underlying graphic types have changed, they are due for
substantial revision. This includes modules that were previously
considered fairly stable such as the
which no longer seems very SVG safe.
NOTE - many of the demos now use font metrics. Font metrics for
the "Core 14" PostScript fonts are distributed as
files with GhostScript in the
fonts directory. Wumpus expects
the GhostScript font metrics to be AFM version 2.0 files (this
matches GhostScript 8.63). Alternatively, metrics for the Core
14 fonts are available from Adode (AFM version 4.1), see the
links below. To run the demos properly you will need one of
these sets of metrics.
Adobe Font techinal notes: https://www.adobe.com/devnet/font.html
Core 14 AFM metrics: https://www.adobe.com/content/dam/Adobe/en/devnet/font/pdfs/Core14_AFMs.tar
Also note that Wumpus uses fallback metrics (derived from the monospaced Courier font) when font loading fails, rather than throwing a terminal error. Applications should ideally check the font loading log to ensure that fonts have loaded correctly (the demos print this log to standard out).
v0.13.0 to v0.14.0:
Re-organised module hierarchy, Wumpus-Basic is now divided into two layers - Basic (Font loader, utils, kernel drawing) and Drawing - constructed graphic objects like arrows, dots, etc.
Re-designed the ContextFunction function types. Context functions with different numbers of static arguments are now separate newtypes. This has allowed a major cull of the combinators operating on context functions (
situ, etc.) and now only a handful of special combinators are needed. As the newtypes are instances of Monad and Applicative the usual Applicative and Monad combinators are now more readily useful.
Work on the font loader code to improve its robustness, and improved error signalling on load failure. Loading glyph metrics now returns both the metrics (possibly fallback metrics if parsing failed) and a log.
v0.12.0 to v0.13.0:
Major changes to
Drawingand is substantially re-worked. Graphic functional types are now encapulated in the Drawing constructor
Drawing (ctx -> pt -> prim)rather than partially outside it
pt -> Drawing (ctx -> prim).
Rudimentary font loading added, only AFM files are supported.
Basic.Shapes.Coordinatere-worked. The Coordinate type is now more like the Shapes types (excepting the intentional difference in drawing style).
|Versions||0.1.1, 0.2.0, 0.3.0, 0.4.0, 0.5.0, 0.6.0, 0.7.0, 0.8.0, 0.9.0, 0.10.0, 0.11.0, 0.12.0, 0.13.0, 0.14.0, 0.15.0, 0.16.0, 0.17.0, 0.18.0, 0.20.0, 0.21.0, 0.22.0, 0.24.0|
|Dependencies||base (<5), containers (>=0.3 && <=0.6), directory (>=1.0 && <2.0), filepath (>=1.1 && <2.0), vector-space (>=0.6 && <1.0), wumpus-core (==0.41.0) [details]|
|Copyright||Stephen Tetley <firstname.lastname@example.org>|
|Maintainer||Stephen Tetley <email@example.com>|
|Uploaded||by StephenTetley at Tue Dec 28 14:00:24 UTC 2010|
|Downloads||7184 total (35 in the last 30 days)|
|Rating||(no votes yet) [estimated by rule of succession]|
|Status||Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI
For package maintainers and hackage trustees