My intuition here is that you will be constrained to topologically simple weaving patterns. In your example there is ambiguity about which “ropes” are connected or seperate. The ropes which cross at the top are shown as merged, passing through the eye.
Also, if I remember correctly there is no guarantee that an aribitrary curve can be woven if the ends are loose; you could end up with unavoidable over-over-under cases which would be impossible to localise. Any correction algorothm would just chase the anomaly around forever. This is getting into the realms of Knot Theory and I am not a mathmetician!
Sorry that doesn’t solve your problem but I feel like it might be generally unsolvable.
For more constrained topologies, “celtic knot algorithm” is an interesting google. This page in particular has some methods that could be described by a GH definition. Your challenge then would be transforming a grid-based layout into something more artful, where not every crossing or loop is fixed to a grid.
I would personally consider a less automated method. I’d make a block with a simple weave in two polylines, lay them out and connect them with curves, and then do a Kangaroo physics exercise to make the ropes and pull them tight against each other and a formwork.
I have made a start on an actual solution. At least the weaving part is automated. You must use one curve for each design. Multiple curves do not interact. It can be a bit fragile if the curvature gets too tight. I don’t think I used any plugins.
I leave further refinement and conversion to bas-relief up to you or the next contributer!