wave = svg`<svg viewBox="0 0 ${segments.reduce((a, b) => a + b)} 100">
${Array.from(
segments,
($_, i) =>
`<path id="wave-${i}" fill="none" stroke="currentColor" stroke-linecap="butt" stroke-linejoin="bevel" stroke-width="1" transform="translate(${
segments[i]
}, 0)" /><animate xlink:href="#wave-${i}" attributeName="d" dur="0.${
15 + !!i
}s" repeatCount="indefinite" from="M ${origin} L ${from.join(
" "
)}" to="M ${origin} L ${to.join(" ")}" />`
).join("")}
</svg>`