@hackage wumpus-basic0.20.0

Basic objects and system code built on Wumpus-Core.

Kernel code for higher-level drawing built on Wumpus-Core. This package provides font loader code (currently limited to AFM font files) and a various drawing objects intended to be a higher-level basis to make vector drawings than the primitives (paths, text labels) provided by Wumpus-Core.

** WARNING ** - this package is alpha grade and it is strongly coupled to the package Wumpus-Drawing which is sub-alpha grade. The packages are split as it is expected they will have different development speeds - Wumpus-Basic needs polishing and refinement; Wumpus-Drawing simply needs a lot of work to move its components from proof-of-concept ideas to being readily usable.

NOTE - the demos that were previously included are now in the package Wumpus-Drawing.

Changelog:

v0.19.0 to v0.20.0:

  • Added text advance-vector calculations to QueryDC - previously they were in Wumpus-Drawing.

  • Changed argument order of run functions to follow the usual style - monadic action first and then dependent parameters (initial state, reader environment etc.).

  • Changed representation of Chains to a monadic type with an explicit operation for next position.

  • Removed PrimW type - pairs are now used instead.

  • Removed transformer version of TraceDrawing. All operations in TraceDrawing are now specialized to work only on the TraceDrawing type. Added UserState to TraceDrawing and other drawing monads to compensate for the loss of expressiveness.

  • Changed the internals of AdvObject and PosObject so they are more idiomatic - both are now essentially reader-writer monads. Added PosObject functions for text primitives (moved from Wumpus-Drawing).

  • Changed the obliterate method of the Decorate class.