Recursive tree aggregation with reducing size as the line tree grows

I am trying to create a canopy/pavilion, I want something that grows so I used recursive aggregation
ref image, but the task is to do this along a 3d curved surface such as this:
and further, when I do that, I want to apply ellipsoids to each where start to the direction of the tangent of the surface at each point ref: