11 KiB
Card Layer Pipeline — First Proof Proposal
This is the proposed production and validation workflow for the layered card system in Art Direction. It is a design document, not an installed toolchain or a completed visual proof.
The first proof is a restrained Common Timothy illustration, one Common frame system, and four printings. Trinity/Foundation artwork, wear/condition, and imperfections are deferred.
Geometry Owns Alignment
Use one versioned layout definition to produce the composition guides, frame/backing paths, transparency masks, text regions, and validation regions. Do not maintain separate hand-entered coordinates for each tool.
Generation supplies artwork and decorative surfaces. It does not decide final transparent boundaries, panel placement, lettering, or alignment. A guide image in a generation prompt helps composition but does not guarantee coordinate compliance. Fit and review the generated source once, then clip it to the template's exact masks.
For a simple Common frame, vector shapes and a restrained fill may be sufficient without generating any frame imagery. For more ornate tiers, generate decoration with extra coverage beyond the target paths, fit or retouch it once, and preserve the approved result. Clipping alone cannot repair an ornament whose structure is in the wrong place.
Shared Canvas and Draft Coordinates
All production layers and masks use 2000 × 2800 pixels, origin at the top left, x increasing rightward and y downward. Preserve full-canvas transparent margins and place every exported layer at (0, 0). Use the renderer's established UV convention at the runtime boundary; do not independently mirror maps.
Generated source images may have other dimensions. Retain the original, record an explicit crop/scale transform into the production canvas, and visually review focal placement. Apply the same transform to any associated masks. Never stretch an illustration silently to fit.
The following coordinates are a draft Common layout for the first proof, not approved final proportions. Rectangles are x, y, width, height in master pixels. Outer rounded geometry should follow the harness's physical corner radius.
| Region | Draft geometry | Purpose |
|---|---|---|
| Canvas | 0, 0, 2000, 2800 | Full-card illustration and common origin |
| Outer frame | 60 px inset band | Simple continuous frame; transparent interior |
| Title backing | 48, 48, 1904, 312 | Extends 12 px underneath the frame at the top and sides |
| Lower backing | 48, 2180, 1904, 572 | Extends 12 px underneath the frame at the sides and bottom |
| Title text | 160, 105, 1680, 105 | One-line title box; horizontal center at x = 1000 |
| Subtitle | 160, 240, 1100, 64 | Optional short descriptor |
| Category | 1400, 240, 440, 64 | Quiet, right-aligned subject type |
| Focal safe region | 160, 430, 1680, 1680 | Essential subjects remain clear of Normal overlays |
| Excerpt / fact | 160, 2250, 1680, 280 | Short typeset supporting content |
| Reference | 160, 2580, 1680, 80 | Short attribution |
The backing's frame overlap is internal compositing allowance, not physical print bleed. For this draft, 12 master pixels becomes 3 pixels at 500 × 700. Review actual filter behavior before choosing a final overlap.
A two-line title needs a separately defined and reviewed layout with room for its subtitle/category; it is not permission to spill into the illustration. Each Legendary template needs the same explicit regions and checks even if its shapes differ.
Seam-Free Border Assembly
- Derive the outer frame and backing masks from shared vector paths.
- Put a continuous, opaque base fill beneath decoration wherever the template requires solid coverage. Texture alpha must not accidentally punch through these regions.
- Extend backing joins underneath the frame. Do not rely on two separately antialiased edges meeting at exactly one pixel boundary.
- Place the frame over the backing, with one defined compositing order and color profile.
- Export Normal's combined overlay, Textless's frame-only overlay, and Borderless's backing-only overlay. Boundless needs none.
- Compose the final face at master resolution, then derive runtime sizes from that composition. Retain separate editable source layers.
Borderless backing must have clean standalone edges; it cannot depend on the absent outer frame to hide unfinished decoration. A joining surface also needs visual continuity in color and texture: an alpha check catches a gap, but cannot approve its appearance.
Keep a consistent alpha convention throughout export and resizing. Inspect light and dark backgrounds to catch edge fringes. A single composed front texture is sufficient for the standard runtime card; separate almost-coplanar 3D meshes are unnecessary for these authoring layers.
Deterministic Text
Supply name, optional subtitle, subject type, excerpt, and attribution as structured content. Use real text objects with pinned font files, size, weight, line spacing, alignment, and language settings. Fix the rendering tool/version for reproducible exports.
For a centered title, the template supplies the center anchor x = 1000. The text engine measures and places the text around that anchor. Baselines and line spacing govern vertical placement. Record any approved optical adjustment rather than asking generation to center text.
Every template needs approved minimum font sizes and maximum line counts, established at actual application display sizes. Word count is an editorial guide, not a fit check. Long names and wide glyphs can overflow even with few words.
Validate the unclipped rendered glyph bounds against each text region and its padding. Checking only the text object's box can miss clipping. Reject missing fonts, missing glyphs, overflow, or insufficient line capacity; do not silently substitute fonts, crop the text, or shrink it below the minimum. Use a reviewed alternate layout or revise the content.
Text is rendered anew when card content changes, but its coordinates do not change randomly. Once approved, the frame/backing decoration is reused.
Finish Coverage
Use the approved harness defaults as reference recipes. David and Timothy have distinct saturation thresholds; preserve the approved fixture behavior for comparisons.
Keep finish masks separate from transparency masks. For each printing:
- Use the active illustration, frame, and backing components' intended coverage.
- Resolve coverage using the same transforms, occlusion, and layer order as the visible face. Hidden illustration coverage must not leak onto a visible backing.
- Derive text protection from the actual layout.
- Remove protection associated with absent text/backing in Textless and Boundless.
- Export aligned scalar coverage maps; treat them as data at runtime rather than artwork color.
Review finish response in motion with the existing harness. A structurally valid mask still needs visual approval under several lighting angles. Keep exact shader coefficients in CURRENT-DEFAULTS.md.
Proposed Automated Validation
Validation should run after fitting a generated source and after every final card assembly. A future build command should fail with a readable report and produce a diagnostic image showing the failed regions.
| Check | Evidence |
|---|---|
| Canvas and registration | All production layers/maps have the expected dimensions, origin, template revision, and recorded transforms |
| Required coverage | Combined overlay alpha has no gaps within the template's required opaque regions, including joins |
| Transparent windows | Pixels in required clear regions are transparent; intentional antialiased edge bands are checked separately |
| Typography | Required content exists, font/glyphs resolve, unclipped glyph bounds fit, line limits and minimum sizes pass |
| Printing composition | Normal, Textless, Borderless, and Boundless include exactly the prescribed components |
| Finish alignment | Coverage uses the same geometry/transforms and the correct printing's text protection |
| Downsampled edges | Approved runtime sizes have no exposed join pixels or unintended alpha fringes |
| Repeatability | Same content, assets, template, fonts, and pinned renderer reproduce the same decoded pixels |
Check overlay alpha independently of the final opaque illustration: a gap can reveal artwork while the finished card's alpha still looks completely opaque.
Use adversarial fixtures when implementing the validator: a displaced backing, a one-pixel seam, a missing font, an overlong title, and an obsolete text-protection region should fail. This verifies that the checks detect defects rather than merely accepting the sample card.
Automated checks cannot guarantee narrative focus, artistic quality, optical balance, or perceived text readability under moving light. Produce review sheets at master, standard, and thumbnail sizes, plus harness views. A diagnostic outline of text and focal regions is useful for review but is never exported on the finished card.
Tooling Proposal
A practical starting stack is GIMP for editable assembly and review, an SVG template for geometry and typography, and a small command-line validation/export script. Do not require all tools if one renderer can meet the contract.
- GIMP: editable layers/masks and optional scripted assembly. Its API supports creating text layers and controlling their fonts, sizing, justification, and spacing. See the official TextLayer API.
- Inkscape/SVG: author exact paths, render a fixed page, and query object bounds for layout checks. See the official command-line guide. Validate unclipped glyph bounds as well as object boxes.
- ImageMagick: optional alpha compositing and pixel inspection for exported images. See its alpha-compositing documentation. It provides primitives, not a ready-made card validator.
- MCP: an optional interface to invoke the same deterministic assembly and validation operations. A connector alone does not guarantee alignment, and freeform visual placement by an agent should not replace the shared layout definition.
No GIMP MCP is connected in this session. Select and verify a specific adapter's compatibility with the installed GIMP version before depending on it. A CLI pipeline can implement the same workflow without that adapter.
Proof Sequence
- Render the template with plain fills and a typography stress set. Establish acceptable proportions, font sizes, and overlap.
- Generate the restrained Timothy illustration using the approved guide, then fit and review it once.
- Add restrained Common frame decoration only if plain vector treatment is insufficient.
- Assemble all four printings and their aligned finish masks.
- Run structural checks and review seams and text at target sizes.
- Review with the approved harness finish response and compare against the existing reference fixture.
- Freeze the approved template/assets and reuse them for subsequent Commons.
Keep the current harness reference fixtures available for comparison. This proof should establish new production assets without silently replacing the approved material baseline.