Add existing to tracked
This commit is contained in:
@@ -0,0 +1,121 @@
|
||||
# Side Cards — art direction
|
||||
|
||||
The approved visual reference is the J/Q/K of Hearts family in `concepts/`.
|
||||
Court figures are final raster illustrations generated locally with Draw Things;
|
||||
they are not hand-traced. `tools/build_deck.py` embeds each illustration inside
|
||||
a standalone SVG and adds dependable card geometry.
|
||||
|
||||
## Look
|
||||
|
||||
- Original Anglo-American court-card illustration
|
||||
- Crisp flat fills with strong black keylines
|
||||
- Traditional two-way composition
|
||||
- Ornate garments without photorealistic lighting or 3D rendering
|
||||
- Restrained red, black, gold, muted-blue and warm-skin palette
|
||||
- No generated rank letters, typography, logos or watermarks
|
||||
|
||||
Approximate palette sampled from the approved family:
|
||||
|
||||
| Role | Colour |
|
||||
|---|---|
|
||||
| Stock | `#fcfcfa` |
|
||||
| Keyline | `#0e0d0d` |
|
||||
| Red | `#a21b1e` |
|
||||
| Gold | `#b99a34` |
|
||||
| Muted blue | `#354c58` |
|
||||
| Skin | `#f0d2b6` |
|
||||
|
||||
These values guide generation; the raster art is not mechanically recoloured.
|
||||
|
||||
## Court family
|
||||
|
||||
| Rank | Figure | Prop |
|
||||
|---|---|---|
|
||||
| Jack | young knave, shoulder-length hair | upright halberd |
|
||||
| Queen | crowned queen | stylized flower |
|
||||
| King | mature bearded king, crowned | upright sword |
|
||||
|
||||
Diamonds emphasize angular red-and-gold ornament. Clubs and Spades emphasize
|
||||
black and muted blue with red-and-gold accents. All twelve should feel related,
|
||||
but they do not need identical faces or frames.
|
||||
|
||||
## Deterministic card elements
|
||||
|
||||
`tools/build_deck.py`, not the image model, owns:
|
||||
|
||||
- corner rank indices
|
||||
- suit marks and number-card pip layouts
|
||||
- one continuous inner court frame
|
||||
- final 5:7 card geometry
|
||||
- the outer card edge
|
||||
|
||||
The outer card and artwork clip use a 24-unit circular radius on the 500 x 700
|
||||
viewBox, equivalent to approximately 3.05 mm on a 63.5 x 88.9 mm poker card.
|
||||
The two-unit inset outline uses radius 22 so its curve remains concentric. The
|
||||
gallery expresses the same circular curve as `4.8% / 3.4286%`; a single CSS
|
||||
percentage would create an elliptical radius on a 5:7 element.
|
||||
|
||||
Rank indices use Roboto Slab SemiBold, converted to SVG outlines during the
|
||||
build without synthetic horizontal distortion. This provides large, clear slab
|
||||
forms without depending on an installed font. Roboto Slab is distributed under
|
||||
Apache License 2.0; the local license copy is
|
||||
`assets/fonts/RobotoSlab-Apache-2.0.txt`.
|
||||
|
||||
Rank outlines share a font baseline at y=85 and are sized from cap height,
|
||||
rather than top-aligned or fitted around descenders. This lets Q retain its
|
||||
natural tail and weight without a synthetic outline. Single ranks have a
|
||||
63-unit width allowance so the naturally wide A/K reach full cap height; the
|
||||
two-character `10` has 76 units so it also remains comparable.
|
||||
|
||||
Mini suits remain centred at y=127 and are optically scaled by silhouette
|
||||
(S 0.78, H 0.71, D 0.92, C 0.78), rather than being forced to one geometric
|
||||
scale. Their rendered footprints—not equal ink density—are checked as a group
|
||||
during the deck audit so dense marks are not made visually undersized.
|
||||
|
||||
The Heart is a purpose-drawn, classic silhouette with a pronounced cleft,
|
||||
distinct lobes, a near-square proportion, and a long sharp point. Number-card
|
||||
field pips are likewise optically balanced by suit (S 1.50, H 1.28, D 1.75,
|
||||
C 1.43).
|
||||
Ace and court marks have their own role-specific optical scales so each Ace
|
||||
carries comparable ink and the fuller Heart does not crowd a court figure.
|
||||
|
||||
The Club follows the familiar traditional card form rather than an equilateral
|
||||
trefoil: equal lower lobes sit wider and lower than the top lobe, a smaller
|
||||
central boss joins the three, and a short flared stem finishes the mark. Its
|
||||
required symmetry is bilateral, not three-fold rotational symmetry.
|
||||
|
||||
Generated suit pips are replaced with the correct SVG suit mark. Generated
|
||||
frame segments are locally inpainted out while the figure is extracted, then
|
||||
one continuous SVG frame is drawn behind the figure. The approved upper figure
|
||||
is rotated exactly 180 degrees for the lower end, with a symmetric blended join
|
||||
through the centre.
|
||||
|
||||
The assembly step also normalizes the generated figure envelope around the
|
||||
card centre using uniform scaling only: K♣/K♦ use 0.95 and K♥/K♠ use 0.97.
|
||||
Jacks and Queens remain at native scale. The resulting painted areas stay
|
||||
within roughly five percent without distorting faces or garments. Club and
|
||||
Spade field emblems receive a five-pixel optical shift away from the figure;
|
||||
their mirrored lower marks are derived from the same coordinates.
|
||||
|
||||
## Generation settings
|
||||
|
||||
- Model: `qwen_image_2512_bf16_i8x.ckpt`
|
||||
- Working size: 640×896
|
||||
- Sampler: DPMPP2MTrailing
|
||||
- Steps: 30
|
||||
- Guidance: 4.0
|
||||
- img2img strength: 0.68
|
||||
|
||||
The corresponding Heart card is the composition/style reference for every
|
||||
non-Heart court. Run `tools/render_court.py --remaining` to create missing
|
||||
renders without overwriting existing ones.
|
||||
|
||||
## Output sizes
|
||||
|
||||
No smallest production size has been chosen. The SVG cards scale freely; court
|
||||
illustrations remain 640×896 raster artwork inside them. If a future use needs
|
||||
large-format print, upscale or regenerate the courts for that real requirement.
|
||||
Do not build alternate thumbnail art until the game actually needs it.
|
||||
|
||||
`masters/queen-hearts.svg` is an archived hand-vector experiment and is not
|
||||
part of the current deck pipeline.
|
||||
Reference in New Issue
Block a user