Part of the problem with overflow="visible" is deciding what the paint
order should be for overlapping content. This could be defined by the
tile rendering order (not currently defined?). Having decided a paint
order, overflow="visible" would only enable a subset of the patterns
possible using David's type="wrap" (or overflow="wrap ?).
Successive tiles can paint over the overhanging content of previous
tiles. As with overflow="hidden", an author is forced to resort to
drawing parts of the pattern multiple times to achieve the desired effect.
With something like type="wrap", the rendering is confined to the tile
and avoids this issue. In the edge case where the pattern content wraps
and overlaps itself, the rendering order again needs to be defined - the
order of wrapping edges/corners. I'm not sure how useful it is to have
a pattern wrap over itself, but the process should at least be predictable.
A simple, but perhaps not useful, case where the pattern content
overlaps itself -
<pattern x="0" y="0" width="10" height="10" type="wrap">
<rect x="-10" y="-10" width="30" height="30" fill="white"
stroke="black"/>
</pattern>
Ken