flametree 0.2.0
- Reintroduces
prune support, which had been removed
prior to the 0.1.3 release. flametree_grow() gains a
prune argument: a spark function (like
seg_col, seg_wid, shift_x, and
shift_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
relaxes split to allow a value of 1, which disables
branching altogether and produces a single winding path per tree
(#19).
ft__check_colour() now validates that the
background and palette arguments to
flametree_plot() are colours that R actually recognises
(via grDevices::col2rgb()), rather than only checking that
they are character vectors. Invalid colours
(e.g. "##f6b6a6") now throw an informative error from
flametree_plot() itself, rather than failing deep inside
grid graphics code (#17).
flametree_grow() now warns when the requested
time, split, and trees
combination is expected to produce a very large data frame (row count
grows as trees * 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()’s trees argument (previously
unchecked entirely, so e.g. trees = 2.5 silently misbehaved
and other invalid input failed with cryptic low-level errors), and
flametree_save()’s plot argument (previously,
passing anything other than a ggplot object either failed with a cryptic
error or, in the case of plot = NULL, silently saved an
unrelated plot via ggplot2::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
adds Depends: R (>= 4.1.0) accordingly. The
%>% operator re-exported from magrittr is unaffected and
still available for backward compatibility.
- Rewords the
Description field in
DESCRIPTION: 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
spelling package. Sets Language: en-GB in
DESCRIPTION (the package consistently uses British
spellings such as “colour” and “visualise”), and adds an
inst/WORDLIST of 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”
(in flametree_plot() and flametree_grow()’s
documentation).
- Further documentation clarity pass: fixes a copy-paste error in the
@param y description for the sparks functions
(previously said “horizontal” for both x and
y); removes a stray backtick in
flametree_grow()’s @return docs; documents
that flametree_plot(style = "themegray") also accepts the
British spelling "themegrey"; updates a stale comment in
checks.R that referred to prune as removed,
when it has since been reintroduced; and, in the vignettes, mentions the
prune spark 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
- 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.md file to track user-facing changes to
the package going forward.
flametree 0.1.2
- Tightens validation of the arguments to
flametree_grow() and flametree_plot().
- Updates and extends the documentation for
flametree_grow() and the sparks functions, 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_path instead of id_pathtree, causing
segments from different trees that happened to share an
id_path value 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 original flametree
functions) into the single, unified interface that the package still
uses: flametree_grow() to generate the underlying data, and
flametree_plot() to render it in a chosen
style (“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_leaf to the data structure returned by
flametree_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.