Here's a somewhat limited version of the Curve
modifier that only works on the X axis (it is possible to make it work on other axes, I just got lazy). It trims the curve to fit the object's length, then deforms the object to mimic the curve's shape.
The Curve Index socket on the Sample Curve
node allows us to pick which spline (each curve branch inside a larger Curve object) we want to use for the deformation:
You could simply use multiple copies of this modifier node with different curve indices and merge them with a Join Geometry
node, but since the Curve Index socket accepts fields (multiple values), we can take advantage of that to automatically create as many copies as we have splines. We can get the Spline Count from a Domain Size
node. Then we turn our main object into an instance using Geometry to Instance
and duplicate it using a Duplicate Elements
. We could use its other modes, like Face (or Edge), but that creates individual, disconnected faces (or edges) and you are limited to that particular geometry element—using Instance guarantees that the object stays intact as a whole so I prefer duplicating as instance and then realizing them later if needed. Finally, the Duplicate Index socket allows us to match each copy with a spline: