Try transparency=true … It may give you other artifacts, but that makes the aa “border” truly transparent, while with transparency=false it will be opaque to lines behind it.
Also, really use linesegments!… lines! is incredibly slow for many separate 2 point lines.
function mwe_segments(step_size)
fig = Figure()
ax = Axis3(fig[1,1],viewmode = :fit, aspect = (1.0,1.0,1.0))
segments = Point3f[]
for y in -10:step_size:10
append!(segments, [Point3f(0.0,y,0.0),Point3f(10.0,y,0.0)])
end
linesegments!(ax, segments, color = "black", transparency=true)
display(fig)
end