Deploying to gh-pages from @ 0ea12c58f9 🚀

This commit is contained in:
Lemmih 2020-08-27 03:24:01 +00:00
commit 8f86f98362
8 changed files with 94 additions and 69 deletions

View file

@ -16,6 +16,7 @@
100% ( 8 / 8) in 'Reanimate.Transition'
100% ( 8 / 8) in 'Reanimate.Builtin.TernaryPlot'
100% ( 7 / 7) in 'Reanimate.Builtin.Documentation'
100% ( 6 / 6) in 'Reanimate.Morph.Linear'
100% ( 6 / 6) in 'Reanimate.Builtin.Images'
100% ( 5 / 5) in 'Reanimate.Transform'
100% ( 4 / 4) in 'Reanimate.Svg.Unuse'
@ -33,7 +34,6 @@
33% ( 1 / 3) in 'Reanimate.Morph.Rotational'
25% ( 1 / 4) in 'Reanimate.Debug'
20% ( 1 / 5) in 'Reanimate.Builtin.Flip'
14% ( 1 / 7) in 'Reanimate.Morph.Linear'
10% ( 1 / 10) in 'Reanimate.ColorSpace'
6% ( 1 / 18) in 'Reanimate.Svg.LineCommand'
0% ( 0 / 3) in 'Reanimate.Memo'

View file

@ -1 +1 @@
{ "schemaVersion": 1, "label": "api docs", "message": "86%", "color": "success" }
{ "schemaVersion": 1, "label": "api docs", "message": "87%", "color": "success" }

View file

@ -86,7 +86,7 @@ table.dashboard { border-collapse: collapse ; border: solid 1px black }
<td align="right">33%</td><td>5/15</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="33%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">5%</td><td>1/20</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="5%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">40%</td><td>133/325</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="40%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
<tr>
<td>&nbsp;&nbsp;<tt>module <a href="reanimate-0.4.1.0-inplace/Reanimate.Morph.Linear.hs.html">reanimate-0.4.1.0-inplace/Reanimate.Morph.Linear</a></tt></td>
<td align="right">50%</td><td>3/6</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="50%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">16%</td><td>1/6</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="16%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">27%</td><td>23/84</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="27%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
<td align="right">40%</td><td>2/5</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="40%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">16%</td><td>1/6</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="16%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">26%</td><td>22/83</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="26%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
<tr>
<td>&nbsp;&nbsp;<tt>module <a href="reanimate-0.4.1.0-inplace/Reanimate.Parameters.hs.html">reanimate-0.4.1.0-inplace/Reanimate.Parameters</a></tt></td>
<td align="right">15%</td><td>3/20</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="15%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">-&nbsp;</td><td>0/0</td><td width=100>&nbsp;</td><td align="right">14%</td><td>7/49</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="14%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
@ -125,5 +125,5 @@ table.dashboard { border-collapse: collapse ; border: solid 1px black }
<td align="right">100%</td><td>6/6</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="100%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">50%</td><td>1/2</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="50%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">95%</td><td>43/45</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="95%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
<tr></tr><tr style="background: #e0e0e0">
<th align=left>&nbsp;&nbsp;Program Coverage Total</tt></th>
<td align="right">31%</td><td>247/787</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="31%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">16%</td><td>131/805</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="16%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">29%</td><td>4647/15517</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="29%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
<td align="right">31%</td><td>246/786</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="31%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">16%</td><td>131/805</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="16%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">29%</td><td>4646/15516</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="29%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
</table></body></html>

View file

@ -47,7 +47,7 @@ table.dashboard { border-collapse: collapse ; border: solid 1px black }
<td align="right">38%</td><td>5/13</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="38%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">18%</td><td>15/80</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="18%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">41%</td><td>323/777</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="41%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
<tr>
<td>&nbsp;&nbsp;<tt>module <a href="reanimate-0.4.1.0-inplace/Reanimate.Morph.Linear.hs.html">reanimate-0.4.1.0-inplace/Reanimate.Morph.Linear</a></tt></td>
<td align="right">50%</td><td>3/6</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="50%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">16%</td><td>1/6</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="16%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">27%</td><td>23/84</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="27%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
<td align="right">40%</td><td>2/5</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="40%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">16%</td><td>1/6</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="16%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">26%</td><td>22/83</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="26%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
<tr>
<td>&nbsp;&nbsp;<tt>module <a href="reanimate-0.4.1.0-inplace/Reanimate.Svg.BoundingBox.hs.html">reanimate-0.4.1.0-inplace/Reanimate.Svg.BoundingBox</a></tt></td>
<td align="right">40%</td><td>2/5</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="40%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">16%</td><td>6/36</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="16%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">27%</td><td>76/281</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="27%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
@ -125,5 +125,5 @@ table.dashboard { border-collapse: collapse ; border: solid 1px black }
<td align="right">15%</td><td>3/20</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="15%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">-&nbsp;</td><td>0/0</td><td width=100>&nbsp;</td><td align="right">14%</td><td>7/49</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="14%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
<tr></tr><tr style="background: #e0e0e0">
<th align=left>&nbsp;&nbsp;Program Coverage Total</tt></th>
<td align="right">31%</td><td>247/787</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="31%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">16%</td><td>131/805</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="16%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">29%</td><td>4647/15517</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="29%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
<td align="right">31%</td><td>246/786</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="31%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">16%</td><td>131/805</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="16%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">29%</td><td>4646/15516</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="29%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
</table></body></html>

View file

@ -55,12 +55,12 @@ table.dashboard { border-collapse: collapse ; border: solid 1px black }
<td>&nbsp;&nbsp;<tt>module <a href="reanimate-0.4.1.0-inplace/Reanimate.Builtin.Slide.hs.html">reanimate-0.4.1.0-inplace/Reanimate.Builtin.Slide</a></tt></td>
<td align="right">33%</td><td>1/3</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="33%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">-&nbsp;</td><td>0/0</td><td width=100>&nbsp;</td><td align="right">30%</td><td>18/60</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="30%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
<tr>
<td>&nbsp;&nbsp;<tt>module <a href="reanimate-0.4.1.0-inplace/Reanimate.Morph.Linear.hs.html">reanimate-0.4.1.0-inplace/Reanimate.Morph.Linear</a></tt></td>
<td align="right">50%</td><td>3/6</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="50%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">16%</td><td>1/6</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="16%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">27%</td><td>23/84</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="27%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
<tr>
<td>&nbsp;&nbsp;<tt>module <a href="reanimate-0.4.1.0-inplace/Reanimate.Svg.BoundingBox.hs.html">reanimate-0.4.1.0-inplace/Reanimate.Svg.BoundingBox</a></tt></td>
<td align="right">40%</td><td>2/5</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="40%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">16%</td><td>6/36</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="16%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">27%</td><td>76/281</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="27%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
<tr>
<td>&nbsp;&nbsp;<tt>module <a href="reanimate-0.4.1.0-inplace/Reanimate.Morph.Linear.hs.html">reanimate-0.4.1.0-inplace/Reanimate.Morph.Linear</a></tt></td>
<td align="right">40%</td><td>2/5</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="40%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">16%</td><td>1/6</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="16%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">26%</td><td>22/83</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="26%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
<tr>
<td>&nbsp;&nbsp;<tt>module <a href="reanimate-0.4.1.0-inplace/Reanimate.Svg.Unuse.hs.html">reanimate-0.4.1.0-inplace/Reanimate.Svg.Unuse</a></tt></td>
<td align="right">33%</td><td>1/3</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="33%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">0%</td><td>0/14</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="100%"><tr><td height=12 class="invbar"></td></tr></table></td></tr></table></td><td align="right">21%</td><td>28/128</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="21%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
<tr>
@ -125,5 +125,5 @@ table.dashboard { border-collapse: collapse ; border: solid 1px black }
<td align="right">0%</td><td>0/1</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="100%"><tr><td height=12 class="invbar"></td></tr></table></td></tr></table></td><td align="right">0%</td><td>0/4</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="100%"><tr><td height=12 class="invbar"></td></tr></table></td></tr></table></td><td align="right">0%</td><td>0/61</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="100%"><tr><td height=12 class="invbar"></td></tr></table></td></tr></table></td></tr>
<tr></tr><tr style="background: #e0e0e0">
<th align=left>&nbsp;&nbsp;Program Coverage Total</tt></th>
<td align="right">31%</td><td>247/787</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="31%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">16%</td><td>131/805</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="16%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">29%</td><td>4647/15517</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="29%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
<td align="right">31%</td><td>246/786</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="31%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">16%</td><td>131/805</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="16%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">29%</td><td>4646/15516</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="29%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
</table></body></html>

View file

@ -41,7 +41,7 @@ table.dashboard { border-collapse: collapse ; border: solid 1px black }
<td align="right">52%</td><td>9/17</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="52%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">66%</td><td>4/6</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="66%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">53%</td><td>67/125</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="53%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
<tr>
<td>&nbsp;&nbsp;<tt>module <a href="reanimate-0.4.1.0-inplace/Reanimate.Morph.Linear.hs.html">reanimate-0.4.1.0-inplace/Reanimate.Morph.Linear</a></tt></td>
<td align="right">50%</td><td>3/6</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="50%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">16%</td><td>1/6</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="16%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">27%</td><td>23/84</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="27%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
<td align="right">40%</td><td>2/5</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="40%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">16%</td><td>1/6</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="16%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">26%</td><td>22/83</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="26%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
<tr>
<td>&nbsp;&nbsp;<tt>module <a href="reanimate-0.4.1.0-inplace/Reanimate.Svg.BoundingBox.hs.html">reanimate-0.4.1.0-inplace/Reanimate.Svg.BoundingBox</a></tt></td>
<td align="right">40%</td><td>2/5</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="40%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">16%</td><td>6/36</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="16%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">27%</td><td>76/281</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="27%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
@ -125,5 +125,5 @@ table.dashboard { border-collapse: collapse ; border: solid 1px black }
<td align="right">0%</td><td>0/1</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="100%"><tr><td height=12 class="invbar"></td></tr></table></td></tr></table></td><td align="right">0%</td><td>0/4</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="100%"><tr><td height=12 class="invbar"></td></tr></table></td></tr></table></td><td align="right">0%</td><td>0/61</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="100%"><tr><td height=12 class="invbar"></td></tr></table></td></tr></table></td></tr>
<tr></tr><tr style="background: #e0e0e0">
<th align=left>&nbsp;&nbsp;Program Coverage Total</tt></th>
<td align="right">31%</td><td>247/787</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="31%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">16%</td><td>131/805</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="16%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">29%</td><td>4647/15517</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="29%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
<td align="right">31%</td><td>246/786</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="31%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">16%</td><td>131/805</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="16%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">29%</td><td>4646/15516</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="29%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
</table></body></html>

View file

@ -9,4 +9,4 @@ const snippets = [{"title": "Hello World","url": "https://reanimate.clozecards.c
,{"title": "Object Positions","url": "https://reanimate.clozecards.com/IAQhjO0Ke7h/195.svg","code": "env =\n addStatic (mkBackground \"white\") .\n mapA (withStrokeColor \"black\")\n\nanimation :: Animation\nanimation = env $\n sceneAnimation $ do\n -- Configure objects\n txt <- newText \"Center\"\n top <- newText \"Top\"\n oModifyS top $ \n oTopY .= screenTop\n topR <- newText \"Top right\"\n oModifyS topR $ do\n oTopY .= screenTop\n oRightX .= screenRight\n botR <- newText \"Bottom right\"\n oModifyS botR $ do\n oBottomY .= screenBottom\n oRightX .= screenRight\n botL <- newText \"Bottom left\"\n oModifyS botL $ do\n oBottomY .= screenBottom\n oLeftX .= screenLeft\n topL <- newText \"Top left\"\n oModifyS topL $ do\n oTopY .= screenTop\n oLeftX .= screenLeft\n -- Show objects\n oShow txt\n wait 1\n switchTo txt top\n switchTo top topR\n switchTo topR botR\n switchTo botR botL\n switchTo botL topL\n switchTo topL txt\n\nswitchTo src dst = do\n fork $ oFadeOut src 1\n oModify dst $ oOpacity .~ 1\n oFadeIn dst 1\n wait 1\n\nnewText txt =\n newObject $ scale 1.5 $ center $ latex txt\n"}
,{"title": "Camera","url": "https://reanimate.clozecards.com/CD5Bg7AwVkF/150.svg","code": "animation :: Animation\nanimation = docEnv $ mapA (withFillOpacity 1) $ sceneAnimation $ do\n cam <- newObject Camera\n\n txt <- newObject $ center $ latex \"Fixed (non-cam)\"\n oModifyS txt $ do\n oTopY .= screenTop \n oZIndex .= 2\n\n circle <- newObject $ Circle 1\n cameraAttach cam circle\n oModify circle $ oContext .~ withFillColor \"blue\"\n circleRight <- oRead circle oRightX\n\n box <- newObject $ Rectangle 2 2\n cameraAttach cam box\n oModify box $ oContext .~ withFillColor \"green\"\n oModify box $ oLeftX .~ circleRight\n boxCenter <- oRead box oCenterXY\n\n small <- newObject $ center $ latex \"This text is very small\"\n cameraAttach cam small\n oModifyS small $ do\n oCenterXY .= boxCenter\n oScale .= 0.1\n \n oShow txt\n oShow small\n oShow circle\n oShow box\n\n wait 1\n\n cameraFocus cam boxCenter\n waitOn $ do\n fork $ cameraPan cam 3 boxCenter\n fork $ cameraZoom cam 3 15\n \n wait 2\n cameraZoom cam 3 1\n cameraPan cam 1 (0,0)\n"}
];
const playgroundVersion = "2020-08-27 (dc549)";
const playgroundVersion = "2020-08-27 (0ea12)";

View file

@ -26,63 +26,88 @@ span.spaces { background: white }
<span class="lineno"> 7 </span>-}
<span class="lineno"> 8 </span>module Reanimate.Morph.Linear
<span class="lineno"> 9 </span> ( linear, rawLinear
<span class="lineno"> 10 </span> , linearCorrespondence
<span class="lineno"> 11 </span> , closestLinearCorrespondence
<span class="lineno"> 12 </span> , closestLinearCorrespondenceA
<span class="lineno"> 13 </span> , linearTrajectory
<span class="lineno"> 14 </span> ) where
<span class="lineno"> 15 </span>
<span class="lineno"> 16 </span>import Data.Hashable
<span class="lineno"> 17 </span>import qualified Data.Vector as V
<span class="lineno"> 18 </span>import Linear.Vector
<span class="lineno"> 19 </span>import Reanimate.ColorComponents
<span class="lineno"> 20 </span>import Reanimate.Math.Common
<span class="lineno"> 21 </span>import Reanimate.Math.Polygon
<span class="lineno"> 22 </span>import Reanimate.Morph.Cache
<span class="lineno"> 23 </span>import Reanimate.Morph.Common
<span class="lineno"> 24 </span>
<span class="lineno"> 25 </span>linear :: Morph
<span class="lineno"> 26 </span><span class="decl"><span class="nottickedoff">linear = rawLinear</span>
<span class="lineno"> 27 </span><span class="spaces"> </span><span class="nottickedoff">{ morphPointCorrespondence =</span>
<span class="lineno"> 28 </span><span class="spaces"> </span><span class="nottickedoff">cachePointCorrespondence (hash (&quot;closest&quot;::String))</span>
<span class="lineno"> 29 </span><span class="spaces"> </span><span class="nottickedoff">closestLinearCorrespondence }</span></span>
<span class="lineno"> 30 </span>
<span class="lineno"> 31 </span>rawLinear :: Morph
<span class="lineno"> 32 </span><span class="decl"><span class="istickedoff">rawLinear = Morph</span>
<span class="lineno"> 33 </span><span class="spaces"> </span><span class="istickedoff">{ morphTolerance = 0.001</span>
<span class="lineno"> 34 </span><span class="spaces"> </span><span class="istickedoff">, morphColorComponents = <span class="nottickedoff">labComponents</span></span>
<span class="lineno"> 35 </span><span class="spaces"> </span><span class="istickedoff">, morphPointCorrespondence = linearCorrespondence</span>
<span class="lineno"> 36 </span><span class="spaces"> </span><span class="istickedoff">, morphTrajectory = linearTrajectory</span>
<span class="lineno"> 37 </span><span class="spaces"> </span><span class="istickedoff">, morphObjectCorrespondence = splitObjectCorrespondence }</span></span>
<span class="lineno"> 38 </span>
<span class="lineno"> 39 </span>linearCorrespondence :: PointCorrespondence
<span class="lineno"> 40 </span><span class="decl"><span class="istickedoff">linearCorrespondence = normalizePolygons</span></span>
<span class="lineno"> 41 </span>
<span class="lineno"> 42 </span>closestLinearCorrespondence :: PointCorrespondence
<span class="lineno"> 43 </span><span class="decl"><span class="nottickedoff">closestLinearCorrespondence = closestLinearCorrespondenceA</span></span>
<span class="lineno"> 44 </span>
<span class="lineno"> 45 </span>closestLinearCorrespondenceA :: (Real a, Fractional a, Epsilon a) =&gt; APolygon a -&gt; APolygon a -&gt; (APolygon a, APolygon a)
<span class="lineno"> 46 </span><span class="decl"><span class="nottickedoff">closestLinearCorrespondenceA src' dst' =</span>
<span class="lineno"> 47 </span><span class="spaces"> </span><span class="nottickedoff">(src, worker dst (score dst) options)</span>
<span class="lineno"> 48 </span><span class="spaces"> </span><span class="nottickedoff">where</span>
<span class="lineno"> 49 </span><span class="spaces"> </span><span class="nottickedoff">(src, dst) = normalizePolygons src' dst'</span>
<span class="lineno"> 50 </span><span class="spaces"> </span><span class="nottickedoff">worker bestP _bestPScore [] = bestP</span>
<span class="lineno"> 51 </span><span class="spaces"> </span><span class="nottickedoff">worker bestP bestPScore (x:xs) =</span>
<span class="lineno"> 52 </span><span class="spaces"> </span><span class="nottickedoff">let newScore = score x in</span>
<span class="lineno"> 53 </span><span class="spaces"> </span><span class="nottickedoff">if newScore &lt; bestPScore</span>
<span class="lineno"> 54 </span><span class="spaces"> </span><span class="nottickedoff">then worker x newScore xs</span>
<span class="lineno"> 55 </span><span class="spaces"> </span><span class="nottickedoff">else worker bestP bestPScore xs</span>
<span class="lineno"> 56 </span><span class="spaces"> </span><span class="nottickedoff">options = pCycles dst</span>
<span class="lineno"> 57 </span><span class="spaces"> </span><span class="nottickedoff">score p = sum</span>
<span class="lineno"> 58 </span><span class="spaces"> </span><span class="nottickedoff">[ -- approxDist (pAccess src n) (pAccess p n)</span>
<span class="lineno"> 59 </span><span class="spaces"> </span><span class="nottickedoff">distSquared (pAccess src n) (pAccess p n)</span>
<span class="lineno"> 60 </span><span class="spaces"> </span><span class="nottickedoff">| n &lt;- [0 .. pSize src-1] ]</span></span>
<span class="lineno"> 10 </span> , closestLinearCorrespondence
<span class="lineno"> 11 </span> , closestLinearCorrespondenceA
<span class="lineno"> 12 </span> , linearTrajectory
<span class="lineno"> 13 </span> ) where
<span class="lineno"> 14 </span>
<span class="lineno"> 15 </span>import Data.Hashable
<span class="lineno"> 16 </span>import qualified Data.Vector as V
<span class="lineno"> 17 </span>import Linear.Vector
<span class="lineno"> 18 </span>import Reanimate.ColorComponents
<span class="lineno"> 19 </span>import Reanimate.Math.Common
<span class="lineno"> 20 </span>import Reanimate.Math.Polygon
<span class="lineno"> 21 </span>import Reanimate.Morph.Cache
<span class="lineno"> 22 </span>import Reanimate.Morph.Common
<span class="lineno"> 23 </span>
<span class="lineno"> 24 </span>-- | Linear interpolation strategy.
<span class="lineno"> 25 </span>--
<span class="lineno"> 26 </span>-- Example:
<span class="lineno"> 27 </span>--
<span class="lineno"> 28 </span>-- &gt; playThenReverseA $ pauseAround 0.5 0.5 $ mkAnimation 3 $ \t -&gt;
<span class="lineno"> 29 </span>-- &gt; withStrokeLineJoin JoinRound $
<span class="lineno"> 30 </span>-- &gt; let src = scale 8 $ center $ latex &quot;X&quot;
<span class="lineno"> 31 </span>-- &gt; dst = scale 8 $ center $ latex &quot;H&quot;
<span class="lineno"> 32 </span>-- &gt; in morph linear src dst t
<span class="lineno"> 33 </span>--
<span class="lineno"> 34 </span>-- &lt;&lt;docs/gifs/doc_linear.gif&gt;&gt;
<span class="lineno"> 35 </span>linear :: Morph
<span class="lineno"> 36 </span><span class="decl"><span class="nottickedoff">linear = rawLinear</span>
<span class="lineno"> 37 </span><span class="spaces"> </span><span class="nottickedoff">{ morphPointCorrespondence =</span>
<span class="lineno"> 38 </span><span class="spaces"> </span><span class="nottickedoff">cachePointCorrespondence (hash (&quot;closest&quot;::String))</span>
<span class="lineno"> 39 </span><span class="spaces"> </span><span class="nottickedoff">closestLinearCorrespondence }</span></span>
<span class="lineno"> 40 </span>
<span class="lineno"> 41 </span>-- | Linear interpolation strategy without realigning corners.
<span class="lineno"> 42 </span>-- May give better results if the polygons are already aligned.
<span class="lineno"> 43 </span>-- Usually gives worse results.
<span class="lineno"> 44 </span>--
<span class="lineno"> 45 </span>-- Example:
<span class="lineno"> 46 </span>--
<span class="lineno"> 47 </span>-- &gt; playThenReverseA $ pauseAround 0.5 0.5 $ mkAnimation 3 $ \t -&gt;
<span class="lineno"> 48 </span>-- &gt; withStrokeLineJoin JoinRound $
<span class="lineno"> 49 </span>-- &gt; let src = scale 8 $ center $ latex &quot;X&quot;
<span class="lineno"> 50 </span>-- &gt; dst = scale 8 $ center $ latex &quot;H&quot;
<span class="lineno"> 51 </span>-- &gt; in morph rawLinear src dst t
<span class="lineno"> 52 </span>--
<span class="lineno"> 53 </span>-- &lt;&lt;docs/gifs/doc_rawLinear.gif&gt;&gt;
<span class="lineno"> 54 </span>rawLinear :: Morph
<span class="lineno"> 55 </span><span class="decl"><span class="istickedoff">rawLinear = Morph</span>
<span class="lineno"> 56 </span><span class="spaces"> </span><span class="istickedoff">{ morphTolerance = 0.001</span>
<span class="lineno"> 57 </span><span class="spaces"> </span><span class="istickedoff">, morphColorComponents = <span class="nottickedoff">labComponents</span></span>
<span class="lineno"> 58 </span><span class="spaces"> </span><span class="istickedoff">, morphPointCorrespondence = normalizePolygons</span>
<span class="lineno"> 59 </span><span class="spaces"> </span><span class="istickedoff">, morphTrajectory = linearTrajectory</span>
<span class="lineno"> 60 </span><span class="spaces"> </span><span class="istickedoff">, morphObjectCorrespondence = splitObjectCorrespondence }</span></span>
<span class="lineno"> 61 </span>
<span class="lineno"> 62 </span>linearTrajectory :: Trajectory
<span class="lineno"> 63 </span><span class="decl"><span class="istickedoff">linearTrajectory (src,dst)</span>
<span class="lineno"> 64 </span><span class="spaces"> </span><span class="istickedoff">| <span class="tickonlytrue">pSize src == pSize dst</span> = \t -&gt; mkPolygon $</span>
<span class="lineno"> 65 </span><span class="spaces"> </span><span class="istickedoff">V.zipWith (lerp $ realToFrac t) (polygonPoints dst) (polygonPoints src)</span>
<span class="lineno"> 66 </span><span class="spaces"> </span><span class="istickedoff">| <span class="nottickedoff">otherwise</span> = <span class="nottickedoff">error $ &quot;Invalid lengths: &quot; ++ show (pSize src, pSize dst)</span></span></span>
<span class="lineno"> 62 </span>-- | Cycle polygons until the sum of the point trajectory path lengths
<span class="lineno"> 63 </span>-- is smallest.
<span class="lineno"> 64 </span>closestLinearCorrespondence :: PointCorrespondence
<span class="lineno"> 65 </span><span class="decl"><span class="nottickedoff">closestLinearCorrespondence = closestLinearCorrespondenceA</span></span>
<span class="lineno"> 66 </span>
<span class="lineno"> 67 </span>-- | Cycle polygons until the sum of the point trajectory path lengths
<span class="lineno"> 68 </span>-- is smallest.
<span class="lineno"> 69 </span>closestLinearCorrespondenceA :: (Real a, Fractional a, Epsilon a) =&gt; APolygon a -&gt; APolygon a -&gt; (APolygon a, APolygon a)
<span class="lineno"> 70 </span><span class="decl"><span class="nottickedoff">closestLinearCorrespondenceA src' dst' =</span>
<span class="lineno"> 71 </span><span class="spaces"> </span><span class="nottickedoff">(src, worker dst (score dst) options)</span>
<span class="lineno"> 72 </span><span class="spaces"> </span><span class="nottickedoff">where</span>
<span class="lineno"> 73 </span><span class="spaces"> </span><span class="nottickedoff">(src, dst) = normalizePolygons src' dst'</span>
<span class="lineno"> 74 </span><span class="spaces"> </span><span class="nottickedoff">worker bestP _bestPScore [] = bestP</span>
<span class="lineno"> 75 </span><span class="spaces"> </span><span class="nottickedoff">worker bestP bestPScore (x:xs) =</span>
<span class="lineno"> 76 </span><span class="spaces"> </span><span class="nottickedoff">let newScore = score x in</span>
<span class="lineno"> 77 </span><span class="spaces"> </span><span class="nottickedoff">if newScore &lt; bestPScore</span>
<span class="lineno"> 78 </span><span class="spaces"> </span><span class="nottickedoff">then worker x newScore xs</span>
<span class="lineno"> 79 </span><span class="spaces"> </span><span class="nottickedoff">else worker bestP bestPScore xs</span>
<span class="lineno"> 80 </span><span class="spaces"> </span><span class="nottickedoff">options = pCycles dst</span>
<span class="lineno"> 81 </span><span class="spaces"> </span><span class="nottickedoff">score p = sum</span>
<span class="lineno"> 82 </span><span class="spaces"> </span><span class="nottickedoff">[ -- approxDist (pAccess src n) (pAccess p n)</span>
<span class="lineno"> 83 </span><span class="spaces"> </span><span class="nottickedoff">distSquared (pAccess src n) (pAccess p n)</span>
<span class="lineno"> 84 </span><span class="spaces"> </span><span class="nottickedoff">| n &lt;- [0 .. pSize src-1] ]</span></span>
<span class="lineno"> 85 </span>
<span class="lineno"> 86 </span>-- | Strategy for moving points in a linear (straight-line) trajectory.
<span class="lineno"> 87 </span>linearTrajectory :: Trajectory
<span class="lineno"> 88 </span><span class="decl"><span class="istickedoff">linearTrajectory (src,dst)</span>
<span class="lineno"> 89 </span><span class="spaces"> </span><span class="istickedoff">| <span class="tickonlytrue">pSize src == pSize dst</span> = \t -&gt; mkPolygon $</span>
<span class="lineno"> 90 </span><span class="spaces"> </span><span class="istickedoff">V.zipWith (lerp $ realToFrac t) (polygonPoints dst) (polygonPoints src)</span>
<span class="lineno"> 91 </span><span class="spaces"> </span><span class="istickedoff">| <span class="nottickedoff">otherwise</span> = <span class="nottickedoff">error $ &quot;Invalid lengths: &quot; ++ show (pSize src, pSize dst)</span></span></span>
</pre>
</body>