# Reuse and design references

Retrieved 2026-09-21. Exact repository commits and observed maintenance metadata are recorded in `references.json`. GitHub's license classifier can return NOASSERTION; it is not a substitute for the project's license text. No third-party source files or example datasets are copied into this repository.

| Project | License / official source | Decision |
|---|---|---|
| ggplot2 | MIT + file LICENSE (also checked in installed 4.0.3 DESCRIPTION); [DESCRIPTION](https://github.com/tidyverse/ggplot2/blob/main/DESCRIPTION) | Reuse the installed 4.0.3 rendering engine directly; native ggplot objects and themes |
| Matplotlib | PSF-based license; [license](https://matplotlib.org/stable/project/license.html) | Reuse installed 3.10.9; editable Figure objects, polar axes and vector export |
| tern | Apache-2.0; [license](https://github.com/pharmaverse/tern/blob/main/LICENSE), [waterfall reference](https://insightsengineering.github.io/tern/latest-tag/reference/g_waterfall.html) | Reference participant ordering, explicit response variable and annotations; not installed or invoked |
| forestplot (Python) | MIT; [repository](https://github.com/LSYS/forestplot) | Reference aligned subgroup, estimate and CI columns; no source copied, no additional dependency |
| forestly | GPL-3.0; [repository](https://github.com/Merck/forestly) | Useful specialized interactive AE tables; does not replace this dual-language template library; not installed |
| visR | MIT; [official site](https://openpharma.github.io/visR/) | Clinical graphical-principle reference. Maintainers state maintenance continues but future development is not committed; not chosen as new core dependency |
| ggswimlane | MIT + file LICENSE, checked in DESCRIPTION at pinned commit; [repository](https://github.com/tgerke/ggswimlane) | Reference separate duration and event layers; not installed or copied |

Additional design reference: [Matplotlib radar example](https://matplotlib.org/stable/gallery/specialty_plots/radar_chart.html). The implementation here uses public plotting APIs, fixed 0-100 axes and explicitly declared direction; it does not copy the example's custom projection implementation.

## Local ClinVista inspection

Read generic Figure Studio code and documentation only. It contains useful waterfall ordering and radar range/direction conventions. No equivalent standalone dual-language figure repository was identified in the relevant local README / directory search. Existing local related projects are platform or portfolio applications rather than a reusable R/Python figure API. Original ClinVista files, including existing uncommitted changes, were not modified. No study-specific variable list, palette, input record, result or internal report is redistributed.

## Why a small companion repository

The inspected upstream repositories solve different subsets of the task, often in one language. Forking one would not supply independently executed R/Python contracts for all six figures. This repository therefore reuses the two already installed plotting engines and adds a small shared specification, independent analysis functions, consistent presentation and QC. It is not a fork or an integration of tern, forestly or forestplot. Adding those packages later requires dependency approval and actual compatibility tests.

No runtime CDN, Shiny server, upload form, cloud compute or account service is introduced. No 'state of the art', regulatory approval or comparative performance claim is made without a benchmark.
