Changelog
Source:NEWS.md
flametree 0.2.0
- Reintroduces
prunesupport, which had been removed prior to the 0.1.3 release.flametree_grow()gains apruneargument: a spark function (likeseg_col,seg_wid,shift_x, andshift_y) that controls the probability that a given shoot stops growing early. The default,spark_nothing(), disables pruning and reproduces prior behaviour exactly. Pruned shoots keep the segment they already grew, and that segment is marked as a leaf (id_leaf), but it produces no further descendants. Also relaxessplitto allow a value of 1, which disables branching altogether and produces a single winding path per tree (#19). -
ft__check_colour()now validates that thebackgroundandpalettearguments toflametree_plot()are colours that R actually recognises (viagrDevices::col2rgb()), rather than only checking that they are character vectors. Invalid colours (e.g."##f6b6a6") now throw an informative error fromflametree_plot()itself, rather than failing deep inside grid graphics code (#17). -
flametree_grow()now warns when the requestedtime,split, andtreescombination is expected to produce a very large data frame (row count grows astrees * split ^ time), since this was the most common cause of “cannot allocate vector” memory errors (#18). - Adds two more missing input validation checks:
flametree_grow()’streesargument (previously unchecked entirely, so e.g.trees = 2.5silently misbehaved and other invalid input failed with cryptic low-level errors), andflametree_save()’splotargument (previously, passing anything other than a ggplot object either failed with a cryptic error or, in the case ofplot = NULL, silently saved an unrelated plot viaggplot2::last_plot()instead of erroring). - Switches all internal code,
@examples,README.Rmd, and vignettes to use the base R native pipe|>instead of the magrittr pipe%>%, and addsDepends: R (>= 4.1.0)accordingly. The%>%operator re-exported from magrittr is unaffected and still available for backward compatibility. - Rewords the
Descriptionfield inDESCRIPTION: the growth algorithm is a stochastic branching process, not a formal L-system (which implies a deterministic rewriting grammar), so the earlier description was technically misleading. Also fixes a grammatical mismatch in the same field (“generating the data structures and visualise them” → “…and visualising them”). - Sets up spell checking for the package documentation, using the
spellingpackage. SetsLanguage: en-GBinDESCRIPTION(the package consistently uses British spellings such as “colour” and “visualise”), and adds aninst/WORDLISTof accepted technical terms. Along the way, fixes a handful of genuine typos found by the spell check: “tesselation” → “tessellation”, “wdith” → “width”, and “abranching” → “a branching” (inflametree_plot()andflametree_grow()’s documentation). - Further documentation clarity pass: fixes a copy-paste error in the
@param ydescription for thesparksfunctions (previously said “horizontal” for bothxandy); removes a stray backtick inflametree_grow()’s@returndocs; documents thatflametree_plot(style = "themegray")also accepts the British spelling"themegrey"; updates a stale comment inchecks.Rthat referred topruneas removed, when it has since been reintroduced; and, in the vignettes, mentions theprunespark argument (previously omitted) and fixes a couple more typos (“wheras”, a missing article, and another instance of “tesselation”) that weren’t caught by the spell check because vignettes are currently excluded from it.
flametree 0.1.3
CRAN release: 2021-11-29
- Removes an unnecessary dependency on the paletteer package.
- Changes the maintainer email address to one under long-term personal control, rather than a university address.
- Adds this
NEWS.mdfile to track user-facing changes to the package going forward.
flametree 0.1.2
CRAN release: 2021-04-27
- Tightens validation of the arguments to
flametree_grow()andflametree_plot(). - Updates and extends the documentation for
flametree_grow()and thesparksfunctions, and lightly reworks the “voronoi” style documentation. - Adds a Voronoi-style example image to the README, and removes an unused vignette.
flametree 0.1.1
- Fixes a bug in the “wisp” style where segments were grouped by
id_pathinstead ofid_pathtree, causing segments from different trees that happened to share anid_pathvalue to be incorrectly joined together (#14).
flametree 0.1
- First CRAN release.
- Consolidates what had been several separate, inconsistent plotting systems (
ashtree,wisptree,voronoitree, and the originalflametreefunctions) into the single, unified interface that the package still uses:flametree_grow()to generate the underlying data, andflametree_plot()to render it in a chosenstyle(“plain”, “minimal”, “themegray”, “voronoi”, “wisp”, or “nativeflora”). - Introduces the “spark function” system (
spark_linear(),spark_decay(),spark_random(),spark_nothing()) for controlling segment colour, segment width, and horizontal/vertical displacement during growth. - Adds
id_leafto the data structure returned byflametree_grow(), identifying terminal segments. - Renames all unexported functions to use a consistent
ft__prefix, and adds an initial test suite and package documentation site (via pkgdown).
flametree 0.0.1
- Early development version, predating the unified
flametree_grow()/flametree_plot()interface introduced in 0.1. Establishes the core data structure for representing a grown tree, and simplifies the internal API and default parameter values.