def g17_graded(rng):
"""The cell earns its detail: flat, then inset square, then a dot on top."""
steps = rng.randint(5, 7)
N = rng.choice([25, 30, 40])
c = Canvas(N, _pal(rng), steps, "graded", "mixed")
f = Field(rng, "mesh", warp=rng.uniform(0.25, 0.5), steps=steps)
c.ground_from(f)
C = c.C
for j in range(N):
for i in range(N):
u, v = c.uv(i, j)
t, k = f.raw(u, v), f.idx(u, v)
if t < 0.34:
continue
c.sq(i * C + C * 0.16, j * C + C * 0.16, C * 0.68, C * 0.68, (k + 2) % steps)
if t > 0.67:
cx, cy = c.center(i, j)
c.dot(cx, cy, C * 0.2, (k + 4) % steps)
return c