huerd 0.4.0 (2025-07-06)
Major Changes
Replaced base R graphics with grid graphics system.
plot_palette_analysis()now usesgridExtra::arrangeGrob()for layout.Converted all plotting functions to return grob objects instead of drawing directly.
New Features
Added reproducibility system for palette generation with metadata storage.
Added hue order reversal detection for CVD analysis.
Breaking Changes
Removed
new_device,device_width, anddevice_heightparameters fromplot_palette_analysis().Moved
gridExtrafrom Suggests to Imports, addedgridto Imports.Removed helper functions:
.create_graphics_device,.is_ragg_available,.is_interactive_ide,calculate_safe_margins.
huerd 0.3.1 (2025-07-04)
New Features
- Added automated font size scaling to
plot_palette_analysis()that automatically adjusts text sizes based on device dimensions.
huerd 0.3.0 (2025-07-04)
Major Changes
- Multi-optimizer framework: The
generate_palette()function now supports four different optimization algorithms through the newoptimizerparameter:-
"nloptr_cobyla"(default): Deterministic optimization with constraint handling -
"sann": Stochastic simulated annealing -
"nlopt_direct": Deterministic global optimization using DIRECT algorithm -
"nlopt_neldermead": Derivative-free local optimization using Nelder-Mead simplex
-
- Added automatic font scaling to
plot_palette_analysis()that prevents text overlap and out-of-frame issues.
huerd 0.1.0 (2025-07-01)
This is a major refactoring and simplification of huerd, focusing the package on a single, scientifically-grounded objective: pure minimax color palette generation.
Major Changes
Pure minimax optimization: The core
generate_palette()function has been streamlined to use a pure minimax objective, maximizing the minimum perceptual distance between colors in the OKLAB space. All complex multi-objective parameters (optimize_for,balance_weights,aesthetic_penalty_weights_LC) have been removed, simplifying the API and aligning the package with a clear, defensible scientific goal.Comprehensive diagnostic dashboard: A new
plot_palette_analysis()function has been added. It provides a comprehensive, six-panel diagnostic dashboard inspired byscicomapfor in-depth palette analysis. This feature uses only base R graphics and introduces zero new dependencies.Automatic brightness sorting: All palettes generated by
generate_palette()are now automatically sorted by their OKLAB lightness value, ensuring intuitive and consistent ordering from darkest to lightest.Simplified evaluation: The
evaluate_palette()function is now a pure data provider, returning raw, objective metrics (distances, CVD safety, color distribution) without any subjective heuristic scoring.
Minor Changes
- The
is_cvd_safe()function now uses the more robustevaluate_palette()function for its calculations. - The print methods for
huerd_paletteandhuerd_evaluationhave been updated to reflect the new, simplified data structures.
Removals
The following experimental and non-essential features have been removed to streamline the package:
- Force-field and repulsion-based optimization algorithms.
- Palette animation framework.
- Algorithm comparison tools.
- Post-hoc CVD refinement steps.
- 3D color space visualizations.
- All functionality related to the CAM16 and CIECAM16 color models.
huerd 0.0.3 (2025-06-22)
- Added a post-hoc
cvd_adjustmentstep to improve palettes for color vision deficiency. - Added a
README.mdwith basic usage instructions.
