Saturday, January 8, 2011

wumpus

Copperbox revision 2024.

Updates to Wumpus-Tree and Wumpus-Microprint.

I've removed the top-level shim from Microprint as it was prioritizing the teletype drawing style which is now out-of-date. After the next release I might let Microprint bit-rot, with the intention of polishing it up again later. At least in the current version, Microprint drawings are too trivial to advance Wumpus but the code needs significant work for tokenizing etc. As this doesn't help Wumpus, this is work I'm happy to make a low priority.

wumpus-basic and wumpus-drawing

Copperbox revisions 2021, 2022 and 2023.

I've split Wumpus-Basic into two packages - Wumpus-Basic and Wumpus-Drawing. This is to distinguish the Drawing modules where the code is very prototypical and under-cooked from the Basic code which still needs polish but is more developed.

wumpus-tree

Copperbox revision 2020.

I've unified the code for normal and family tree rendering styles. The API needs improving though.

Friday, January 7, 2011

wumpus-tree

Copperbox revision 2019.

I've changed the original demos to work with the new monadic types and functions. The family tree drawing hasn't been changed yet - I need to abstract the connector drawing code first.

wumpus-tree

Copperbox revision 2018.

I've added tree growing direction so trees can be drawn growing left, up, or right as well as down. With the root-orientation code in place from revision 2017, this is just a matter of rotating a tree design about the root.


Note - there is a minor imperfection in the line from root 'a' to the single child, this is because text dots are not exactly centered yet so the 0 radian anchor is not properly at the east.

wumpus-tree

Copperbox revision 2017.

I've added a reposition step to the tree design - this moves the tree, positioning its root at the supplied point. Previously the tree was drawn at more or less arbitrary location - probably the leftmost node was drawn at (0,0).

Thursday, January 6, 2011

wumpus-tree

Copperbox revision 2016.

I've added annotations on nodes anchors - annotations are made on tree nodes before the tree is drawn. During the rendering process the annotation is placed correctly w.r.t. the node.

tree2 :: (Real u, Floating u, FromPtSize u) => TreeBuild u (ZTreeSpec u)
tree2 = do
    special   <- nodeId $ dotText "a"   
    rightmost <- nodeId $ dotText "z"
    annotate rightmost (\ancr -> textline "....anno" `at` southeast ancr )
    let bs = [zleaf, zleaf, zleaf]
    let gs = [zleaf, zleaf, leaf $ rightmost ]
    return $ 
      branch special [zbranch bs, zleaf, zbranch gs]


Here's the picture:

Blog Archive

About Me

My photo
Disambiguating biog as there are a few Stephen Tetley's in the world. I'm neither a cage fighter or yachtsman. I studied Fine Art in the nineties (foundation Bradford 1992, degree Cheltenham 1992 - 95) then Computing part-time at Leeds Met graduating in 2003. I'm the Stephen Tetley on Haskell Cafe and Stackoverflow.