# VEDA AI shared design assets (pilot snapshot)

These files are an unmodified copy of runtime assets from the VEDA AI shared
design system. They are vendored here so `index.html` and `viewer.html` work
on GitHub Pages without any CDN, private URL, submodule, package, or build
step.

| Item | Value |
| --- | --- |
| Upstream repository | `Yuzki/veda-ai-design-system` (private at the time of copying) |
| Upstream version | 0.1.0, **unreleased**: no tag or release exists |
| Pinned commit | `a8b1e40dfa4666e0925f5fcc95abb0d9d7004bb1` (merge of `Yuzki/veda-ai-design-system#17`) |
| Designation | Pilot snapshot adding the icon display-settings entries (separate language and theme `details.veda-settings` with `summary--icon`, `data-veda-language-entry` / `data-veda-theme-entry`). `tokens.css`, `typography.css` and `report.js` are byte-identical to `0.1.0-pilot-d08f1bf`. |
| Adopted for | Replacing the single "display settings" entry with language and theme icon entries on the index and viewer pages |
| Copied on | 2026-10-22 |

## Copied files

Copied byte for byte from the upstream tree at the pinned commit. Each file was
compared with the output of
`gh api -H "Accept: application/vnd.github.raw" repos/Yuzki/veda-ai-design-system/contents/<path>?ref=<commit>`
(the SHA-256 of the upstream output equals the digest below for every file
that differs from the previous snapshot).

| Path | SHA-256 |
| --- | --- |
| `styles/tokens.css` | `96117f3d1cbc4d50da99b433be7225dbec3820f745c52c3769f59d2659fede86` |
| `styles/typography.css` | `746846c45bd692f669ea5d84c06524c4e8a83cb887d1f0621acc245844e7ec50` |
| `styles/components.css` | `79c9449265da09a4039e95e8f3f143c281822b1d6adc4125cb3437e140fcca22` |
| `scripts/i18n.js` | `aee984c17d03d56c123ad94f2d59d90867f9714898697340be08596acddc394e` |
| `scripts/theme.js` | `37fb7483a57ca74a60f2444c2dae2a1abe9ef5cdc13cc04c5a24248adb69419f` |
| `scripts/report.js` | `071b65faf7399893061699706585def21e86a477f182c39b7610e7c6dd49b982` |
| `scripts/settings.js` | `cf861ac785fcb00813cd42f5200692dc91a4c72e65f71560c1b430ee57e9cb27` |

Nothing else was copied: no upstream documentation, examples, the `veda.css`
entry point, upstream locale dictionaries, history, or tests. This service's
own dictionaries live in `locales/` at the repository root. This `SOURCE.md`
is this repository's own record, not one of the byte-exact upstream files.

Earlier snapshots (`0.1.0-pilot-d08f1bf/`, `0.1.0-pilot-af6d1dc/`,
`0.1.0-pilot-cad0076/`, `0.1.0-pilot-9d65cf4/`) are kept unchanged as history;
no page references them any more.

To verify, run from this directory:

```sh
sha256sum styles/tokens.css styles/typography.css styles/components.css scripts/i18n.js scripts/theme.js scripts/report.js scripts/settings.js
```

`tests/test_frontend_static.py` checks the same digests.

## Load order

`settings.js` then `theme.js` are loaded in `<head>` without `defer`/`async`,
then `i18n.js` with `defer`. `settings.js` is loaded once only.

## Terms

The upstream repository contained no license file or license notice at the
pinned commit. This repository's Apache License 2.0 (`LICENSE`) covers this
project's own code only and is **not** applied to these files, nor to the
IIIF images and metadata shown in the viewer. The terms of these files must be
confirmed by the upstream owner before they are relied on outside this
project.

## Rules

- Do not edit these files. Service-specific styling belongs in
  `assets/css/style.css`, which is loaded after them.
- Report problems in the shared assets upstream instead of patching the copy.

## Update and rollback

- **Update:** copy the new pinned commit or tag into a new sibling directory,
  record its commit and digests in a new `SOURCE.md`, switch the paths in
  `index.html` and `viewer.html` (including `data-veda-locales`, which is
  relative to `i18n.js`), update the digests in
  `tests/test_frontend_static.py`, and repeat the checks in the root README.
  Keep the old directory until the new one is verified.
- **Rollback:** revert the commits that adopted this snapshot. Both pages then
  point at `0.1.0-pilot-d08f1bf` again (still in the tree).
