How it works
A Perlin noise field is sampled onto a grid and read as an angle at every cell. Seed points are scattered by Poisson disk sampling, which gives points that are random but never clumped, and a streamline is grown from each one: step, read the angle under you, turn, step again.
A line stops when it runs into ink that is already on the page. Every point a finished line laid down is kept in a spatial index, and each step of the next line asks that index whether the ground ahead is clear — so a curve runs until it comes up against one of its neighbours, and ends there rather than crossing it.
Because the lines are seeded in a shuffled order and each one respects everything already down, the packing is emergent rather than planned: some regions fill with long parallel runs, others jam up with short stubs where the field turns hard.