ggtrace
R package ggtrace by yjunechoe — release notes from GitHub.
A debugger for ggplot2's internals, hardening its grip as the internals it traces keep moving.
◆Recent moves
- 1y ago
Brace-less one-liner methods traced gracefully
Handles tracing of one-liner methods written without braces more gracefully. The third release in two days on the same underlying introspection problem.
View source ↗ - 1y ago
get_method_inheritance() fixed for class instances
Fixes get_method_inheritance() failing to simplify an instance of a class rather than a subclass. Stamped four minutes after 0.7.5 — both were cut in one sitting, not as separate release events.
View source ↗ - 1y ago
Workflow functions recognise one-liner ggproto methods
Workflow functions now recognise one-liner ggproto methods, which they previously failed to match. A narrow introspection fix that the next two releases extend.
View source ↗ - 1y ago
Eager layer_is(), clearer method-mismatch errors, consistent tracedump names
layer_is() evaluates its argument eagerly by default so it can be programmed over, and workflow functions give an informative error when a ggproto method is named on the wrong class — StatCount$compute_layer where Stat$compute_layer was meant. The use_names behaviour for naming tracedump entries is also made consistent across the cases where trace_exprs is supplied or empty.
View source ↗ - 1y ago
trace_steps = "all" added; double-evaluation side effects fixed
trace_steps = "all" expands to every step in a method body, and a double-evaluation bug in trace_exprs is fixed by cloning the method environment. The latter matters because re-evaluating a step could trigger side effects the user never asked for.
View source ↗ - 1y ago
layer_is() targets by_layer() downstream directly
Adds layer_is(), used by the sublayer inspection functions to target the downstream of by_layer() specifically rather than relying on positional assumptions. That retargeting is what makes those functions survive ggplot2 internals changes.
View source ↗