Nice demo. Reflecting complex content like text with effects is hard and this reflection technique could definitely help, but for simple geometry and tiling it is quite trivial to put "pure SVG" into CSS as a background-image and let CSS do the tiling: vector goodness remains preserved, no "DOM polution" happens, and everything stays in CSS, even could remain in readable state.<p>Some doodles using this approach:
- Using SVG as real XML and explotiting custom entities for fun:
-- <a href="https://codepen.io/myf/pen/yqjQdz?editors=0100" rel="nofollow">https://codepen.io/myf/pen/yqjQdz?editors=0100</a>
- Comparing SVG with CSS shape emulation using gradients:
-- <a href="https://codepen.io/myf/pen/Bzmmry?editors=0100" rel="nofollow">https://codepen.io/myf/pen/Bzmmry?editors=0100</a>
- SMIL animated SVG background:
-- <a href="https://codepen.io/myf/pen/ZNbrLq?editors=0100" rel="nofollow">https://codepen.io/myf/pen/ZNbrLq?editors=0100</a>
One of the example images causes an optical illusion for me:<p><a href="https://yuanchuan.dev/assets/images/post/lattice/going-deep.png" rel="nofollow">https://yuanchuan.dev/assets/images/post/lattice/going-deep....</a>
If you like this, you may like Lea Verou's CSS3 Patterns Gallery library. <a href="https://leaverou.github.io/css3patterns/" rel="nofollow">https://leaverou.github.io/css3patterns/</a><p>(make sure you allow the cross site request of <a href="http://bytesizematters.com/bytesize.js" rel="nofollow">http://bytesizematters.com/bytesize.js</a> which is hosted on another of her domains if nothing is displaying)
With SVG seems like you could divide the author's seed in half (as if using a backslash for the slicer).<p>Then the seed could be a path with only seven line segments.<p>That could then be scaled by -1 to get the other half to arrive at the author's seed.<p>Finally, a few <pattern> elements would be enough to fill in the rest, though I'm not certain which way would produce the least amount of code. There's probably even a tinier code path using nested <pattern> elements. :)<p>Edit: Also-- either two continuous line segments with one overlap, or three with no overlap. And some "v" and "h" commands in there to be extra terse. :)
Impressive.<p>What I see is that CSS is slowly becoming more and more of a programming/Turing complete and/or graphics language, rather than simply just stylesheets.