# Caldura v4 Assets

This folder contains the generated asset packages for the v4 design system.
See `../brand-asset-proofing-spec.md` for the full token -> generator -> SVG
asset -> proof -> comp operating model.

## Adopted Variants

The current HEAT-adopted brand variants are:

| Entity | Variant | Token wrapper | Asset folder |
|---|---|---|---|
| Parent / Caldura | `variant-parent` | `.caldura-group.variant-parent` | `group/variant-parent/` |
| Caldura Capital | `variant-blue-institutional` | `.caldura-capital.variant-blue-institutional` | `capital/variant-blue-institutional/` |
| Caldura AI | `variant-amber` | `.caldura-ai.variant-amber` | `ai/variant-amber/` |

Each adopted package is expected to contain:

- `marks/` or the entity mark SVG at the variant root.
- `wordmarks/` with standalone wordmark SVGs.
- `lockups/` with logo + wordmark lockups.
- `favicon/` with SVG master plus `32`, `64`, Apple Touch `180`, and PWA `512` PNGs.
- `og/` with 1200 x 630 Open Graph social-preview SVG and PNG for
  link unfurls in Slack, iMessage, LinkedIn, and similar contexts. These are
  delivery/social cards, not logo lockup proofs. Visible copy in these files
  must be public-facing brand copy, not variant slugs.

## Generation

Run from the repo root:

```sh
node systems/v4/assets/generate-adopted-variant-assets.mjs
node systems/v4/assets/validate-adopted-variant-assets.mjs
```

The generator owns the technical asset geometry for the adopted variant
packages. Do not fix mark alignment, wordmark weights, or colors in downstream
proof pages. If a generated asset is wrong, update this generator or the token
source, regenerate, and then validate.

Production SVG assets are the source layer. Downstream proof and comp sheets
may frame, scale, or annotate them, but must not repair their internals.

Production lockup SVGs use tight mechanical viewBoxes with 16px padding on all
sides around the measured visual bounds. Proof pages may scale those SVGs, but
must not add compensating geometry or padding inside the lockup itself.

The generated lockups and wordmarks use live SVG text with local `@font-face`
references into `shared/fonts/`. They are reliable inside this repo and in
repo-relative consumers. If these assets need to travel as standalone files
outside the repo, export an outlined-text delivery copy and keep the live-text
source here.

Open Graph PNGs must be rasterized through a browser/SVG-document path so the
vendored Source Serif files are honored. ImageMagick can silently fall back to
system fonts for SVG text and should not be treated as typography authority for
social-preview PNGs.

## Proofing

`../comp-sheets/adopted-variant-asset-proof.html` displays the generated asset
files only via `<img>`. It is intentionally not a design surface for adjusting
subparts of a lockup.

For live-text lockup typography, use direct SVG document rendering or the
mechanical proof pages that frame the SVG as a document. Do not judge glyph
correctness from an external SVG `<img>` path; it can take a different font
rendering path from the direct SVG asset.

The accepted visual lockup snapshot lives at
`../comp-sheets/_locked-reference/brand-lockups-proof.accepted-locked.png` and
is checked by the validator when present.
