Patching the edge algorithm

while translating the edge shader to fuse nodes, any hint for a non-coder on how to patch this part ?

float4 q(float2 uv, float2 off, float v)
{
return Texture0.SampleLevel(Sampler0, uv + off, v);
}

float4 Filter(float4 tex0col)
{
    float2 uv = streams.TexCoord;**strong text**

edge in fuse.vl (79.1 KB)

maybe something more basic makes more sense asking,

how can i sample the texture at an arbitrary number of points on a circle ?
sampletexture.vl (7.8 KB)

narrowing down even more,


sampletexture spread 0.vl (8.1 KB)
this should work right ? except it has a bug seemingly related to tovector2, as reported

using a noise as texcoord does work
sampletexture noise.vl (7.8 KB)
but not much control there,
any idea how i could fiddle with manual sample vectors while circumventing the bug ?

did a line by line clean up
trying to understand what is happening in line 5 and 12 (marked with frames)
in line 5, is q the input texture picked by the offset sampler ?
in line 12, uv contains a texcoord or a sampled pixel, from line 5 ?
does the patch otherwise hint at a right design or is it missing basic parts ?
edge 03.vl (90.4 KB)