forked from diagrams/diagrams-core
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES
157 lines (115 loc) · 5.48 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
* 0.6: XXX
* New features
- Proper support for subdiagrams: previous versions of
diagrams-core had a mechanism for associating names with a pair
of a location and an envelope. Now, names are associated with
actual subdiagrams (including their location and envelope, along
with all the other information stored by a diagram).
See Graphics.Rendering.Diagrams.Core.
- Traces: in addition to an envelope, each diagram now stores a
'trace', which is like an embedded raytracer: given any ray
(represented by a base point and a vector), the trace computes
the closest point of intersection with the diagram along the
ray. This is useful for determining points on the boundary of a
diagram, e.g. when drawing arrows between diagrams.
See Graphics.Rendering.Diagrams.Trace.
* API changes
- The modules have all been renamed to be more consistent with the
module naming scheme in the rest of the diagrams universe. In
particular:
Graphics.Rendering.Diagrams --> Diagrams.Core
Grahpics.Rendering.Diagrams.Core --> Diagrams.Core.Types
Graphics.Rendering.Diagrams.* --> Diagrams.Core.*
- 'Graphics.Rendering.Diagrams.UDTree' has been split out into a
separate 'dual-tree' package (which has also been substantially
rewritten).
- 'Graphics.Rendering.Diagrams.{Monoids,MList}' have been split
out into a separate 'monoid-extras' package.
- The 'names' function now returns a list of names and their
associated locations, instead of the associated subdiagrams. In
particular the output is suitable to be rendered to a String
using 'show'.
- The new 'subMap' function fills a similar role that 'names' used
to play, returning the entire mapping from names to subdiagrams.
- 'juxtaposeDefault' is now the identity on the second object if
either one has an empty envelope. In particular this means that
'mempty' is now an identity element for 'beside' and friends.
- New functions envelope[VP]May
'envelopeV' and 'envelopeP' return the zero vector and origin,
respectively, when called on an empty envelope. However,
sometimes it's useful to actually know whether the envelope was
empty or not (the zero vector and the origin are legitimate
outputs from non-empty envelopes). The new functions have their
return type wrapped in Maybe for this purpose.
- The Graphics.Rendering.Diagrams.Util module has been removed,
along with the 'withLength' function. Calls to withLength can
be replaced using
withLength s v = s *^ normalized v
* Dependency/version changes
- Tested with GHC 7.6.1
- allow base-4.6
- allow containers-0.5.*
* Bug fixes
- juxtaposeDefault now correctly handles empty envelopes (#37)
'juxtaposeDefault' is now the identity on the second object if
either one has an empty envelope. In particular this means that
'mempty' is now an identity element for 'beside' and friends.
* 0.5.0.1: 11 May 2012
- Update MemoTrie upper bound to allow MemoTrie-0.5
* 0.5: 9 March 2012
* New features:
- New 'Juxtaposable' class
- New NullBackend and D types, for conveniently giving a
monomorphic type to diagrams when we don't care which one it is.
- #27: Change type of adjustDia to return a new options record
(with an explicitly filled-in size)
* New instances:
- Enveloped, HasOrigin, Juxtaposable, HasStyle, and Transformable
instances for Sets and tuples
- V Double = Double
- Juxtaposable and Boundable instances for Map
* API changes
- AnnDiagram -> QDiagram
- #61: terminology change from "bounds" to "envelope"
+ boundary -> envelopeP
+ "bounding region" -> "envelope"
+ Bounds -> Envelope
+ Boundable -> Enveloped
+ getBounds -> getEnvelope
+ etc.
- Split out definition of Point into separate package
(vector-space-points)
- The Point constructor P is no longer exported from
Graphics.Rendering.Diagrams. See the Diagrams.TwoD.Types module
from diagrams-lib for new tools for working with abstract 2D
points. If you really need the P constructor, import
Graphics.Rendering.Diagrams.Points.
- Name-related functions now return "located bounding functions"
instead of pairs of points and bounds, to allow for future
expansion.
* Dependency/version changes:
- vector-space 0.8 is now required.
- Bump base upper bound to allow 4.5; now tested with GHC 7.4.1.
* Bug fixes:
- Bug fix related to empty envelopes
0.4: 23 October 2011
* improved documentation
* a few new instances (Newtype Point, Boundable Point)
* new functions (value, clearValue, resetValue) for working with
alternate query monoids0.1: 17 May 2011
* initial preview release
0.3: 18 June 2011
* big overhaul of name maps:
- allow arbitrary types as atomic names
- carry along bounding functions as well as names in NameMaps
- additional functions for querying information associated with names
* fix for issue #34 (fix behavior of setBounds)
* Transformable and HasOrigin instances for Transformations
0.2: 3 June 2011
* bounding regions can now be overridden
* new namePoint function for more flexibly assigning names to arbitrary points
* add HasStyle, Boundable, and HasOrigin instances for lists
* add a "trivial backend"
* transformable attributes
0.1.1: 18 May 2011
* link to new website