Imagery treatment pack
An imagery treatment pack ships filters, overlays, and crop rules that make a tenant's uploaded photos feel cohesive. The runtime applies the active treatment to every image widget without the designer or tenant needing to touch a photo editor.
What you ship
my-imagery/
├── manifest.json
├── treatments/
│ ├── film-grain.json
│ ├── soft-mono.json
│ ├── editorial-color.json
│ └── …
├── crop-rules.json # aspect-ratio + focal-point heuristics
├── preview/
│ └── before-after.png # 1200x630 before/after grid
└── README.md
Key contracts
- Treatments are parameter-driven. A filter is
{ saturation: 0.85, contrast: 1.05, grain: 0.04 }, not a CLUT. - Crop rules declare aspect ratios + focal-point heuristics (e.g. "if a face is detected, anchor on it; otherwise center").
- Theme-token aware. Overlay colors reference
theme.color.*tokens.
Scaffold
vincia create imagery-treatment-pack my-imagery
cd my-imagery
vincia preview
vincia publish --dry-run
Approval gates
1. Schema parse. 2. Bounded parameters — saturation/contrast stay within publishable ranges. 3. Preview present — preview/before-after.png exists and is ≤ 1 MB.
Where to learn more
- /foundations — KitPreset imagery slot.