You can handle the edge problem with multiple ways.
- you can make the texture repeat, or mirror. I think you can use Texture Wrapper patch or something like that (i forgot what is the name of the patch, but you can find it in the spark library)
- you can mix the wavy UV with normal UV using SDF rectangle as the mix threshold. use smooth step to smoothen the transition, adjust the scale of the sdf, this way, screen edges wont get affected. In case if you don’t know it already, you can swizzle the uv using “xy01” or “rg01” so you can see how the uv looks like. it will shows you red green black and yellow gradients that represents the coordinate. green for the y, red for the x, black means 0, yellow means the combination of x and y value is equal, and the shades is eveything in between. but remember that, it only shows u the value between 0 and 1. which means, -10 will look as black as 0, and 10 will look as red or as green or as yellow as 1. because so be careful to not get confused by what the display shows you. always check out the math calculation in the patch first. this is why sometimes it is necessary to use Clamp patch in the processing pipeline to clamped the value so it only goes from 0 to 1. or using From Range to shrink down the value from whatever value to the 0 and 1 range.
- simply scale up and offset your output texture until the edges don’t show up anymore.
if you find the texture wrapper from library not working, try to go inside the patch and replace the texture coordinate attribute with function vector 2, then also replace the texture sampler with composition. if it still not working, try to put shader render pass between the texture and the next processing. (maybe you don’t have to, but this is how i often times troubleshoot some texture sampling problem. like clear cache, data, or restart as first try to troubleshoot phone app problem. lol)
i hope you find this helpful. good luck with your project!