landing/art/strokes.py
Hand-painted underlines and swashes for headings (transparent PNG strips).
Render it yourself: atelier render strokes.py --preview (it imports _common.py for the palette and output folder).
# Hand-painted underlines and swashes for headings (transparent PNG strips).
import numpy as np
from atelier import *
from _common import *
W, H = 1200, 200
c = Canvas(W, H * 4)
specs = [("ink", VERMILION, 26, dict(speed=0.6)),
("watercolor", GOLD, 70, dict()),
("chalk", TEAL, 34, dict()),
("oil", PAPER, 40, dict(impasto=0.9))]
for i, (brush, col, size, kw) in enumerate(specs):
y = i * H + H / 2
pts = [(60, y + 30), (330, y - 4), (640, y + 8), (900, y - 14), (1140, y - 30)]
L = c.layer()
L.stroke(spline(pts), brush, size=size, color=col, taper=(0.15, 0.7), seed=SEED + i,
pressure=lambda t: 0.6 + 0.4 * np.sin(t * np.pi), **kw)
if brush == "oil":
L.relief = 0.8
save_cells_rows = [f"stroke-{b}.png" for b, *_ in specs]
if not CONFIG.get("nosave"):
from atelier.core import write
img = c.flatten()
k = c.s
for i, name in enumerate(save_cells_rows):
write(img[round(i * H * k):round((i + 1) * H * k)], out(name))