ASCII Arc Length: How long is a piece of string?
JavaScript (ES6), 158 bytes

-1 byte thanks to @VisualMelon

s=&gt;s.split`
`.map(s=&gt;(s=s.replace(/./g,(m,i)=&gt;m&gt;" "?i:""),n=s[0]&gt;n?s.slice(-1):s[0]),n=p=0).reduce((t,v,i)=&gt;(r=i&amp;&amp;t+(((p-v)**2+1)**.5*100+.5|0)/100,p=v,r),0)


Output is sometimes not exact  (0.999 instead of 1) due to floating-point imprecision, but rounding was done part-way through the steps in order to match the square root table.

Test Snippet

Note that trailing spaces on each line are ignored, so they can be omitted from the input.



f=
s=&gt;s.split`
`.map(s=&gt;(s=s.replace(/./g,(m,i)=&gt;m&gt;" "?i:""),n=s[0]&gt;n?s.slice(-1):s[0]),n=p=0).reduce((t,v,i)=&gt;(r=i&amp;&amp;t+(((p-v)**2+1)**.5*100+.5|0)/100,p=v,r),0)
&lt;textarea id=I rows=15 cols=12&gt;&lt;/textarea&gt;&lt;br&gt;
&lt;button onclick="O.value=f(I.value)"&gt;Run&lt;/button&gt; &lt;input id=O disabled&gt;