if you combine this with the dead end retraction function above, you can expand + retract an island's borders.
this is actually not dissimilar from how snowflakes form. the shape of snowflakes is governed by alternating grow + melt phases.
here the red island is expanding outward while avoiding overlaps with other islands.
if we were to keep the generation as-is, a single connection would be a 1 x 1 door between rooms.
(later, however, connections will get more complicated and islands will map less cleanly to rooms.)
the eventual goal is to have a variety of different functions like these, which can modify islands for different effects without altering connections. adding pillars, removing pillars, repositioning islands.