Files
Sanctification/artifacts/layers/README.md

68 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Shared card frames and text backings
Canonical reusable layers live here, alongside the shared [fonts](../../fonts/README.md). Card builders reference a pinned tier/version directly rather than generating or copying borders and backings into each proof.
Every asset uses the full **2000 × 2800** canvas at origin **(0, 0)**. `exports/` contains master, 1000, and 500 widths. `source/` contains editable SVGs; Uncommon retains its approved raster border with a linked SVG wrapper. Layout and provenance are retained beside a hash manifest. The original spike files are preserved.
| Tier | Historical reference | Revised candidate | Treatment |
|---|---|---|---|
| Common | `common/v1` — Timothy | `common/v2` | Plain frame and panels, current cream/blue palette; crisp standalone Borderless edges with simple rounded corners |
| Uncommon | `uncommon/v1` — Calling the Disciples | `uncommon/v2` | Existing border and ornament geometry; darker, more substantial single inset rule and lozenge dividers |
| Rare | `rare/v1` — Burning Bush | `rare/v2` | Existing thin frame and floating panels; stronger double rules and corner lozenges |
| Extraordinary | `extraordinary/v1` — The Fall v7 contrast | `extraordinary/v2` | Existing gold vines and emblems; floating Normal panels expose artwork around their perimeter |
`v2` is the selected **review candidate**, not a claim of user approval. The four revised candidates need visual review, including under moving harness lighting. `v1` preserves the historical layer pixels and provenance; it is not an instruction to restore legacy fonts or colors in new cards.
## Components
- `overlay-normal`: Normal backing composited beneath the Normal frame, without lettering.
- `frame-textless`: Textless outer frame, without backing or lettering. Rare intentionally uses a different frame from Normal.
- `backing-borderless`: Standalone backing only, without outer frame or lettering.
- `frame-normal` and `backing-normal`: Separate editable components of the Normal overlay.
- Boundless uses neither frame nor backing.
Text remains card-specific and is rendered with the shared Bold/Medium P052 role system. A glyph mask is derived from the actual lettering alpha; finish maps are compiled from the active printing's actual overlay/lettering alpha.
Borderless panels use crisp, normally antialiased boundaries across all non-Legendary tiers. Do not add Gaussian blur, feathering, or a fuzzy halo to Common. The softened Common treatment is retained only in the historical `v1` reference.
All revised tiers use text **#263f50** and backing base **#f4ead4**. Uncommon/Rare retain their existing cream tonal gradient and fiber overlays. Decorative ink **#806438** is shared by the revised ornate backings; tier distinction comes from ornament structure and density. This darker ink is intended to remain visible at smaller delivery sizes.
## Geometry
Common and Uncommon have joined Normal backings with overlap under the frame. Rare has a **36 master pixel** intentional art reveal between its 24px perimeter and its 60px panel inset. Extraordinary now has a **28 master pixel** reveal between its 32px perimeter and its 60px panel inset. These transparent regions are part of the design, rather than missing join pixels. The title's lower edge remains y=360 and the footer begins y=2180, preserving the established scene window.
Use `layout.json` and actual overlay coverage to review faces and gestures before illustration approval. Do not infer hidden artwork from lettering bounds alone.
## Builder usage
```python
import sys
sys.path.insert(0, str(repo_root / 'artifacts/layers'))
from library import load_tier
shared = load_tier('rare', 'v2') # Pin an explicit reviewed version in card data.
layout = shared['layout']
normal_overlay = shared['assets']['overlay-normal']
textless_frame = shared['assets']['frame-textless']
borderless_backing = shared['assets']['backing-borderless']
```
The loader fails on missing or changed assets, layout, or source files. Record the returned manifest SHA-256 and each active component's path/hash in the card validation. Do not refresh shared assets as part of a card build. A template revision needs a new version folder once the previous version is approved.
```sh
# Check rendering repeatability and geometry; does not change the templates.
python3 artifacts/layers/build.py
# For an explicitly revised template during template development only:
python3 artifacts/layers/build.py --tier rare --version v2 --refresh
```
The [comparison proof](../../spikes/tier-layer-library-proof/README.md) references this library directly and exports all four printings. Historical spike builders remain reproducible records of their original designs.
## Approved spacing revision — v3
Uncommon, Rare and Extraordinary now also provide `v3`, preserving their `v2` frames, panel geometry, palette, textures and side/corner decoration. Central flourishes use the reviewed 20 master pixel gap to the innermost rule. Layouts declare the fixed reference line-box and visible-ink verse-centering policy from [Art Direction](../../docs/art-direction.md#flourish-and-footer-text-spacing). Common is unchanged.
The three refreshed working cards pin `v3` explicitly. General selected-version defaults remain `v2`; existing accepted cards keep their prior manifests. The spacing comparison was visually approved, while these complete new printings still need user and moving-light review. [spacing_v3.py](spacing_v3.py) records the migration algorithm and checks that retained frames match `v2` and Borderless backings reproduce the approved trial.