Compare commits

...

2 Commits

Author SHA1 Message Date
0c1ea70738 Oh fix other half 2026-09-08 13:39:16 -07:00
21dd8fbdbf Fix project structure 2026-09-08 13:39:03 -07:00
251 changed files with 620 additions and 2085 deletions

View File

@@ -203,6 +203,57 @@ Possible sections:
--- ---
## Card Dimensions and Resolution
### Aspect Ratio
All standard cards should use a **5:7 portrait aspect ratio**.
This corresponds cleanly with the current physical prototype dimensions:
- Width: 63 mm
- Height: 88.2 mm
Artwork, card frames, masks, material maps, and generated assets should
all use the same 5:7 coordinate space unless a specific experiment
requires otherwise.
### Master Artwork Resolution
The standard master artwork resolution should be:
**3000 × 4200 px**
This is the source-quality asset and should be retained even if smaller
versions are generated for the application.
All associated masks should use the same dimensions and alignment where
practical, including:
- Foil masks
- Holographic masks
- Metallic masks
- Roughness maps
- Wear masks
- Normal/bump maps
- Printing masks
### Runtime Resolutions
Runtime assets may be generated from the master depending on context:
- High-resolution inspection: 2000 × 2800
- Standard card rendering: 1000 × 1400
- Binder / collection thumbnails: 500 × 700 or smaller
Exact runtime sizes should eventually be determined through performance
testing, particularly on mobile devices.
The master artwork should never be replaced by a lower-resolution
runtime export.
---
# Rarity Art Direction # Rarity Art Direction
Rarity should have a major impact on the visual grammar of the card. Rarity should have a major impact on the visual grammar of the card.
@@ -320,6 +371,7 @@ Uncommon cards can begin introducing more refinement.
--- ---
## Rare ## Rare
Rare cards should feel distinctive. Rare cards should feel distinctive.
@@ -446,9 +498,9 @@ These elements help tell David's story rather than simply adding decoration for
--- ---
# Rarity vs. Finish # Rarity vs. Physical Treatment
Rarity and finish are separate systems. Rarity, material, and finish are separate systems.
This is important. This is important.
@@ -465,24 +517,32 @@ A Legendary plain-paper card should still visually read as Legendary.
- Base art complexity. - Base art complexity.
- Ornamentation. - Ornamentation.
## Material controls
- The physical substrate of the card.
- Surface microtexture and roughness.
- Edge and core appearance.
- Base reflectivity and perceived weight.
- Paper, linen, plastic, metal, or wood response.
## Finish controls ## Finish controls
- Physical rendering behavior. - A treatment applied over the material and printed artwork.
- Reflectivity. - Selective foil reflection.
- Foil effects. - Holographic spectral response.
- Holographic behavior. - Coating strength and coverage.
- Surface texture.
- Material response to lighting.
For example: For example:
- Common Paper Timothy. - Common Paper + Printed Ink Timothy.
- Common Foil Timothy. - Common Paper + Foil Timothy.
- Common Holographic Timothy. - Common Linen + Holographic Timothy.
- Common Metal Timothy. - Common Metal + Printed Ink Timothy.
All of them should still use the same underlying Common Timothy card design. All of them should still use the same underlying Common Timothy card design.
Material and finish should not be treated as an unrestricted Cartesian product. A combination should exist because it has an intentional physical and visual interpretation, not merely because both options are available independently.
--- ---
# Material and Finish Direction # Material and Finish Direction
@@ -500,43 +560,68 @@ Examples:
- Provenance -> inspectable metadata. - Provenance -> inspectable metadata.
- Population -> inspectable metadata. - Population -> inspectable metadata.
The material is the card's substrate. The finish is a treatment applied over that substrate. They should remain independently identifiable when the card moves under light.
--- ---
## Paper ## Paper
- Matte or slightly textured. - Matte with fine, irregular fibers.
- Soft reflection. - Broad, weak reflection rather than a sharp sheen.
- Visible paper grain if inspected closely. - Grain should become visible during close inspection without making the artwork noisy.
## Plastic ## Plastic
- Smoother surface. - Smoother surface.
- Slightly stronger specular response. - Clear-coated dielectric reflection.
- A bounded moving highlight should remain visible even with Printed Ink.
- Cleaner edges. - Cleaner edges.
## Linen ## Linen
- Fine woven normal map. - Raised interlaced warp and weft rather than generic noise.
- Soft diffuse reflection. - Soft diffuse reflection.
- Small shaded recesses should help the weave read under moving light.
- Particularly compatible with tapestry-inspired artwork. - Particularly compatible with tapestry-inspired artwork.
## Metal ## Metal
- Strong metallic response. - Reflective underprint and a visibly metallic edge.
- Sharper reflections. - Darker artwork values create deeper engraved grooves; the maximum depth should remain low enough that the card still feels printed and collectible rather than sculpted.
- Groove depth should read through surface normals, restrained cavity shading, and fine bevel highlights when the card moves.
- Printed artwork colors must remain recognizable rather than becoming uniformly silver or gold.
- Visually heavier. - Visually heavier.
- Should still preserve artwork readability. - Should still preserve artwork readability.
## Wood
- Warm substrate tint with a darker brown core.
- Longitudinal, slightly warped grain with shallow physical relief.
- Grain should support the card artwork rather than overpowering it.
- Reflection should remain restrained and less polished than plastic or metal.
## Foil ## Foil
- Angle-dependent reflection. - Selective angle-dependent metallic reflection controlled by an art-directed mask.
- Light sweeps visibly across the card. - Light should sweep visibly across treated regions without washing out the entire illustration.
- Foil should remain distinguishable from a Metal substrate: foil is a localized surface treatment, while metal changes the whole card body and edge.
- Metal + Foil should preserve the printed colors and read as restrained, slightly raised champagne-metal polishing over etched steel. It should not turn the whole illustration into opaque gold.
## Holographic ## Holographic
- View-dependent spectral response. - View-dependent spectral response.
- Holographic effect should ideally use masks so only specific portions of the artwork react. - Holographic response should use masks so intentional portions of the artwork react.
- Should remain tasteful and avoid a neon / fantasy appearance. - Should remain tasteful and avoid a neon / fantasy appearance.
- Spectral color can be clearly visible, but extreme white sheen at grazing angles should remain controlled.
## Finish Mask Direction
- Finish masks should be authored and reviewed as part of the card art rather than treated as arbitrary technical output.
- Preserve titles, verses, and other critical text unless a specific treatment is intentionally designed for them.
- Do not create obvious circular or elliptical exclusions around faces, hands, animals, or other subjects. Those shapes read as artificial holes when the card moves.
- Avoid isolated mask islands that produce unrelated holographic spots across skin or focal features.
- Prefer coverage that follows stained-glass panes, ornament, borders, garments, environmental color, and other compositional regions.
- Evaluate every mask while rotating the card under multiple lighting angles. A mask that looks acceptable in a still image may look distracting in motion.
--- ---

View File

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 1.5 MiB

View File

Before

Width:  |  Height:  |  Size: 2.7 MiB

After

Width:  |  Height:  |  Size: 2.7 MiB

View File

Before

Width:  |  Height:  |  Size: 2.7 MiB

After

Width:  |  Height:  |  Size: 2.7 MiB

View File

Before

Width:  |  Height:  |  Size: 2.7 MiB

After

Width:  |  Height:  |  Size: 2.7 MiB

View File

Before

Width:  |  Height:  |  Size: 2.0 MiB

After

Width:  |  Height:  |  Size: 2.0 MiB

View File

Before

Width:  |  Height:  |  Size: 2.0 MiB

After

Width:  |  Height:  |  Size: 2.0 MiB

View File

Before

Width:  |  Height:  |  Size: 2.1 MiB

After

Width:  |  Height:  |  Size: 2.1 MiB

View File

Before

Width:  |  Height:  |  Size: 2.0 MiB

After

Width:  |  Height:  |  Size: 2.0 MiB

View File

Before

Width:  |  Height:  |  Size: 2.0 MiB

After

Width:  |  Height:  |  Size: 2.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1011 KiB

After

Width:  |  Height:  |  Size: 1011 KiB

View File

Before

Width:  |  Height:  |  Size: 1010 KiB

After

Width:  |  Height:  |  Size: 1010 KiB

View File

Before

Width:  |  Height:  |  Size: 1010 KiB

After

Width:  |  Height:  |  Size: 1010 KiB

View File

Before

Width:  |  Height:  |  Size: 1011 KiB

After

Width:  |  Height:  |  Size: 1011 KiB

View File

Before

Width:  |  Height:  |  Size: 1011 KiB

After

Width:  |  Height:  |  Size: 1011 KiB

View File

Before

Width:  |  Height:  |  Size: 1011 KiB

After

Width:  |  Height:  |  Size: 1011 KiB

View File

Before

Width:  |  Height:  |  Size: 1012 KiB

After

Width:  |  Height:  |  Size: 1012 KiB

View File

Before

Width:  |  Height:  |  Size: 1012 KiB

After

Width:  |  Height:  |  Size: 1012 KiB

View File

Before

Width:  |  Height:  |  Size: 1013 KiB

After

Width:  |  Height:  |  Size: 1013 KiB

View File

Before

Width:  |  Height:  |  Size: 1013 KiB

After

Width:  |  Height:  |  Size: 1013 KiB

View File

Before

Width:  |  Height:  |  Size: 1015 KiB

After

Width:  |  Height:  |  Size: 1015 KiB

View File

Before

Width:  |  Height:  |  Size: 1016 KiB

After

Width:  |  Height:  |  Size: 1016 KiB

View File

Before

Width:  |  Height:  |  Size: 1017 KiB

After

Width:  |  Height:  |  Size: 1017 KiB

View File

Before

Width:  |  Height:  |  Size: 1018 KiB

After

Width:  |  Height:  |  Size: 1018 KiB

View File

Before

Width:  |  Height:  |  Size: 1018 KiB

After

Width:  |  Height:  |  Size: 1018 KiB

View File

Before

Width:  |  Height:  |  Size: 1020 KiB

After

Width:  |  Height:  |  Size: 1020 KiB

View File

Before

Width:  |  Height:  |  Size: 1021 KiB

After

Width:  |  Height:  |  Size: 1021 KiB

View File

Before

Width:  |  Height:  |  Size: 1022 KiB

After

Width:  |  Height:  |  Size: 1022 KiB

View File

Before

Width:  |  Height:  |  Size: 1024 KiB

After

Width:  |  Height:  |  Size: 1024 KiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

Some files were not shown because too many files have changed in this diff Show More