This page describes breaking API changes between diagrams 1.1 and 1.2, along with explanations of how to migrate to the new 1.2 API.
Attributes using Measure
LineWidth is now specified using
Measure. This replaces former uses of
freeze. See the manual for full details. The old behavior of
lw (in diagrams not using
freeze) can be had by using
However, in many simple cases, we recommend instead using named line weights provided in
Diagrams.TwoD.Attributes. These include
freeze function has been removed. Most users probably were not using it; if you were, you have several options for replacing it, depending on how you were using it:
- If you were just using it to get some lines to scale along with a diagram, use a
Localline width (e.g.
... # lw (Local 2)or
... # lwL 2).
- The above will not work if you were doing non-uniform scaling and really care that the lines should come out looking squished and stretched. In that case, use functions in
Diagrams.TwoD.Offsetto create a path corresponding to the stroked line, and then fill and transform it normally.
The size of arrow heads and tails is now specified in terms of length instead of the radius of their circumcircle.
Gaps at the ends of arrows are now specified using
gap traversal has been replaced by `gaps` for consistency in naming, though
gap is still provided for backwards compatibility.
avgScale function has been moved from
Most (all?) 2D attributes have been moved from
Angle definition and related functions have moved to a separate module,