Ok, so I just merged the arraymancer backend PR, which includes the PR for
version v0.2.0.
v0.2.0 was mainly ridgeline plots and scale_*_reverse. Note that due to there
is currently no recipe for a ridgeline plot. That will be added in the next few
days. Also they are not as nice as they should be (essentially the top ridge
doesn't change its height depending on the max values in the ridge if
overflowing of ridges into one another is allowed).
scale_*_reverse just allows to reverse scales as the name suggests.
Aside from that a few smaller things were added (theme_void) and a few recipes
that use geom_tile (annotated heatmap and plotting the periodic table).
I'm not entirely happy with the state of version v0.3.0 though, since the
formula mechanism introduces several breaking changes. Arguably reading
formulas is now clearer (see the beginning of the README and especially the
recipes, since they all have to be compliant with the new mechanism!), but it
still requires code to be changed.
I think the amount of breakage is probably not that large, since not that many
people will have used formulas for things anyways yet. Also because the DF was
discouraged before, since it was slow.
Simple formulas e.g. f{"hwy"} remains unchanged anyways, same as f{5} to set
some constant value to an aesthetic. But for these things formulas were
previously only required for numbers and not referring to columns, since the
aes proc took string | FormulaNode. Now also numbers are actually supported, so
to set some constant value, you can just do aes(width = 0.5) instead of
aes(width = f{0.5}).
In any case, I wanted to get this PR off my chest, since it was way too large.
I tried to avoid breaking changes as much as possibly by macro magic, but this
issue:
[https://github.com/nim-lang/Nim/issues/13913](https://github.com/nim-lang/Nim/issues/13913)
was the nail in the coffin. So I just release it now.
Feel free to open issues, because I broke your code. :)