---
title: "Maintainer Workflow: Vendoring SIMDe"
output: rmarkdown::html_vignette
vignette: >
  %\VignetteIndexEntry{Maintainer Workflow: Vendoring SIMDe}
  %\VignetteEngine{knitr::rmarkdown}
  %\VignetteEncoding{UTF-8}
---

```{r, include = FALSE}
knitr::opts_chunk$set(collapse = TRUE, comment = "#>")
```

This vignette is for maintainers of `RsimdDispatch` itself. Downstream packages
should normally use `LinkingTo: RsimdDispatch` and the copied dispatch template;
they do not need to run the vendoring scripts.

`RsimdDispatch` vendors the full header-only SIMDe include tree in
`inst/include/simde`. The pinned upstream checkout is reported by
`simde_info()` and recorded in `inst/vendor/simde/VERSION`:

```{r}
RsimdDispatch::simde_info()[c("version", "commit", "date", "repository")]
```

The update flow is explicit:

```sh
Rscript tools/vendor-simde.R
Rscript tools/update-authors.R
```

`tools/vendor-simde.R` checks out the pinned SIMDe commit, copies the full
`simde/` include tree into `inst/include/simde`, and stores upstream provenance
under `inst/vendor/simde`.

`tools/update-authors.R` regenerates:

```text
inst/AUTHORS
inst/LICENCE.note
```

These files document bundled SIMDe authorship, contributors, the upstream
license file, and the vendored commit. Local changes to vendored headers should
not be made silently; update the vendoring script or record patches explicitly.
