Changes in version 2.0.41 - Added error check for scalar and non-numeric values of argument ylim for plot_ID* functions. Implemeted in file check_ylim.R. - Added tests of same. Changes in version 2.0.40 - Updated row names for 476-type plots. Renamed R/type_476_indel_type.R to R/catalog_and_label_order_476.R and the function type_476_indel_type() to catalog_and_label_order_476(). Updated callers and docs. Changes in version 2.0.39 - Moved stapled row name documentation from catalog_row_order() to the @param catalog description shared by all bar plot functions, where it is more relevant. - For ID89, changed "Del(C):R(6,9)", to "Del(C):R(6,)" for the standard rownames (catalog_row_order) and patched normalize_catalog.R so that it will accept either to avoid breaking calls with older data. Changes in version 2.0.38 (2026-05-05) - Removed single-quotes around SBS and DBS in DESCRIPTION per CRAN reviewer request. - Added literature references to DESCRIPTION. - Changed \dontrun{} to \donttest{} in examples for plot_SBS288() and plot_guess_pdf() per CRAN reviewer request. Changes in version 2.0.37 - Replaced three man/*.Rd links in README.md with in-page anchors (#sbs12, #dbs144, #id166) and added the corresponding gallery sections with example figures. CRAN's R-devel pretest of 2.0.36 flagged the original man/*.Rd links as "Possibly invalid file URIs" because the rendered Rd files are not present in the installed package. - CI: enabled _R_CHECK_CRAN_INCOMING_, _R_CHECK_CRAN_INCOMING_REMOTE_, _R_CHECK_CRAN_INCOMING_CHECK_FILE_URIS_, and _R_CHECK_CRAN_INCOMING_USE_ASPELL_ in R-CMD-check.yaml so the GitHub matrix runs the same incoming-feasibility checks CRAN's pretest does. Changes in version 2.0.36 - Minor adjustments to plot_ID89 x axis text - CRAN submission prep: revised Title to title case, reworded Description to not start with the package name, added trailing slash to the pkgdown site URL, and restored the ubuntu-latest / oldrel-1 row to the R-CMD-check GitHub Actions matrix. - Wrapped the plot_ID476, plot_ID476_right, and plot_SBS1536 examples in \donttest{} so the shared bar_plots and heatmap_plots Rd pages run in under the CRAN 5-second-per-Rd example-runtime limit. The examples are unchanged and remain user-runnable via example(plot_ID476, run.donttest = TRUE). Changes in version 2.0.35 - Moved id89_figlabels() from R/plot_ID89.R to its own file (R/id89_figlabels.R) and exported it. - Multi-base ID89 figure labels no longer contain colons (e.g. Del(2,):R(5,) is now rendered as L(2, )R(5+) instead of L(2, ):R(5+)). Re-blessed regression hashes and visual reference PNGs for plot_ID89 / plot_ID89_peaks, and regenerated the README example_ID89.png. Changes in version 2.0.34 - Removed the stop_at_9 argument from plot_ID89(), plot_ID476(), and plot_ID476_right(). The package now always uses the "open" (N+) repeat-tract label style; users who needed the old (N-9) capped style should recognise that their upstream indel classifications may have been trimmed at 9. In plot_ID89() the flag is kept as an internal constant (stop_at_9 <- FALSE); in the two ID476 variants it was unused and has been dropped cleanly. Changes in version 2.0.33 - Refactored plot_ID89(): the internal IndelType column now derives from catalog_row_order()$ID89 instead of an inline 89-element literal, giving a single source of truth for channel names. - New internal helper id89_figlabels() derives x-axis tick labels algorithmically from the canonical IndelType strings. Open-ended repeat tracts are rendered as (N+) (e.g. T(8+), C(7+), R(5+)) rather than the former (8,9) / (7,9) notation; sub-block bracket labels also use the (N+) style. - Removed the unused Indel3 column from plot_ID89() and from type_476_indel_type() (never read). - Changed stop_at_9 default in plot_ID89() from TRUE to FALSE; the plot data is unchanged, but (8+) now communicates that the user must know their upstream trimming. - Added a peak-label regression test (plot_ID89 with peak labels) and a corresponding plot_ID89_peaks entry in tests/visual/. - Re-blessed regression hashes and visual reference PNGs for plot_ID89 and plot_ID89_peaks to match the new label style. Changes in version 2.0.2 - Unified plot_title_cex default at 1.0 and axis_*_cex defaults (axis_text_x_cex = 0.5, axis_title_x_cex = 0.8, axis_text_y_cex = 0.7, axis_title_y_cex = 0.8) across all bar-plot functions. - New title_outside_plot = FALSE argument on every bar-plot function. By default the plot title is now drawn inside the panel (in the plot_ID83 style) via a shared add_plot_title() helper. Set TRUE for the ggtitle()-above-the-panel layout previously used by plot_ID89, plot_ID476, and plot_ID476_right. - For plot_SBS288, title_outside_plot = FALSE prepends plot_title to each strand label ("Template", "Non-template", "Not-transcribed"); TRUE keeps the previous patchwork::plot_annotation() overall title. - plot_ID89, plot_ID476, and plot_ID476_right now position the inside title in the gap between the tallest bar and the colored block strip. - New grid = FALSE argument on every bar-plot function (added to plot_SBS12, plot_DBS144, plot_ID89, plot_ID476, plot_ID476_right). Default is now FALSE everywhere (previously TRUE in plot_SBS96, plot_SBS192, plot_DBS78, plot_ID83, plot_ID166). - Added development/regenerate_readme_figures.R for rebuilding the man/figures/example_*.png set after visual changes. Changes in version 2.0.0 - Remove all deprecated functionality Changes in version 1.0.12 - More cleanup for consistency - Added peak labels to all bar-plot like plots Changes in version 1.0.11 - Removed show_extra_top_bar parameter from plot_ID89() and plot_ID89_pdf() - Removed associated blocks3 (extra "Del"/"Ins" tier) code from plot_ID89() - plot_89() retains show_extra_top_bar for backward compatibility but ignores it Changes in version 1.0.10 - Added plot_ID83_pdf() and plot_ID89_pdf() calling the new-style plot functions - Removed legacy plot_83_pdf() and plot_89_pdf() Changes in version 1.0.9 - refactor the "legacy" plots (e.g. plot_89) - More updates to documentation Changes in version 1.0.8 - Updated error handling and clarified documentation regarding error handling. Changes in version 1.0.7 - First cut at rationalizing function names and arguments. Functions like plot_83, plot_89 now superseded by plot_ID83, plot_ID89, etc. Old functions with old args lists kept for backward compatibility. Changes in version 1.0.6 - plot_89: automatically adjust setyaxis upward when it is less than 1.1 times the highest bar, preventing bars from being clipped by the y-axis limit. Changes in version 1.0.5 - Added runnable @examples to all exported functions for CRAN compliance. - Added .claude-trace and tests/visual to .Rbuildignore. - Removed all references to ICAMS package from source and tests. - R CMD check passes with 0 errors, 0 warnings, 0 notes. Changes in version 1.0.3 - Fixed y-axis tick labels showing integers instead of decimals for proportion/signature catalogs. Affected all bar-chart plot functions. Changes in version 1.0.2 - All bar-chart plot functions now support negative values (e.g. for plotting signature differences). Affected functions: plot_SBS96, plot_SBS192, plot_SBS12, plot_SBS288, plot_DBS78, plot_DBS144, plot_83, plot_89, plot_476, plot_ID166. Changes in version 1.0.1 - Adjusted ggrepel arrow heads in plot_476 etc. - More testing infrastructure Changes in version 1.0.0 - Initial release. - Plot functions for 10 catalog types: SBS96, SBS192, SBS12, SBS1536, DBS78, DBS136, DBS144, ID83, ID89, ID166, ID476. - Auto-dispatch via plot_guess() and plot_guess_pdf(). - Multi-sample PDF export with 5 plots per page. - Row name validation and automatic reordering.