def g16_sqcircle(rng):
"""Square, inset square, inset dot. Three ramp steps stacked in one cell."""
steps = rng.randint(5, 7)
N = rng.choice([25, 30])
c = Canvas(N, _pal(rng), steps, "sqcircle", "mixed")
f = Field(rng, "mesh", warp=rng.uniform(0.15, 0.4), 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)
k, t = f.idx(u, v), f.raw(u, v)
ins = C * (0.10 + 0.12 * t)
c.sq(i * C + ins, j * C + ins, C - 2 * ins, C - 2 * ins, (k + 2) % steps)
cx, cy = c.center(i, j)
c.dot(cx, cy, C * (0.08 + 0.16 * t), (k + 4) % steps)
return c