mirror of
https://github.com/reanimate/reanimate.git
synced 2026-09-14 09:32:22 +00:00
Deploying to gh-pages from @ 755fb02c6c 🚀
This commit is contained in:
parent
6bca99a88d
commit
e45585ac40
9 changed files with 1199 additions and 1105 deletions
|
|
@ -1,5 +1,4 @@
|
||||||
100% (155 /155) in 'Reanimate'
|
100% (155 /155) in 'Reanimate'
|
||||||
100% (113 /113) in 'Reanimate.Scene'
|
|
||||||
100% ( 55 / 55) in 'Reanimate.Svg.Constructors'
|
100% ( 55 / 55) in 'Reanimate.Svg.Constructors'
|
||||||
100% ( 41 / 41) in 'Reanimate.Animation'
|
100% ( 41 / 41) in 'Reanimate.Animation'
|
||||||
100% ( 40 / 40) in 'Reanimate.GeoProjection'
|
100% ( 40 / 40) in 'Reanimate.GeoProjection'
|
||||||
|
|
@ -37,3 +36,4 @@
|
||||||
100% ( 3 / 3) in 'Reanimate.Math.Balloon'
|
100% ( 3 / 3) in 'Reanimate.Math.Balloon'
|
||||||
100% ( 3 / 3) in 'Reanimate.Blender'
|
100% ( 3 / 3) in 'Reanimate.Blender'
|
||||||
100% ( 2 / 2) in 'Reanimate.Builtin.CirclePlot'
|
100% ( 2 / 2) in 'Reanimate.Builtin.CirclePlot'
|
||||||
|
90% (113 /126) in 'Reanimate.Scene'
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
{ "schemaVersion": 1, "label": "api tests", "message": "31%", "color": "success" }
|
{ "schemaVersion": 1, "label": "api tests", "message": "30%", "color": "success" }
|
||||||
|
|
|
||||||
|
|
@ -101,7 +101,7 @@ table.dashboard { border-collapse: collapse ; border: solid 1px black }
|
||||||
<td align="right">5%</td><td>1/19</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">0%</td><td>0/53</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">4%</td><td>39/852</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="4%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
|
<td align="right">5%</td><td>1/19</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">0%</td><td>0/53</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">4%</td><td>39/852</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="4%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td> <tt>module <a href="reanimate-0.4.3.0-inplace/Reanimate.Scene.hs.html">reanimate-0.4.3.0-inplace/Reanimate.Scene</a></tt></td>
|
<td> <tt>module <a href="reanimate-0.4.3.0-inplace/Reanimate.Scene.hs.html">reanimate-0.4.3.0-inplace/Reanimate.Scene</a></tt></td>
|
||||||
<td align="right">30%</td><td>40/130</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><td align="right">60%</td><td>15/25</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="60%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">36%</td><td>545/1483</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="36%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
|
<td align="right">27%</td><td>40/144</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><td align="right">55%</td><td>15/27</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="55%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">32%</td><td>545/1694</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="32%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td> <tt>module <a href="reanimate-0.4.3.0-inplace/Reanimate.Svg.hs.html">reanimate-0.4.3.0-inplace/Reanimate.Svg</a></tt></td>
|
<td> <tt>module <a href="reanimate-0.4.3.0-inplace/Reanimate.Svg.hs.html">reanimate-0.4.3.0-inplace/Reanimate.Svg</a></tt></td>
|
||||||
<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>
|
<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>
|
||||||
|
|
@ -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>
|
<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">
|
<tr></tr><tr style="background: #e0e0e0">
|
||||||
<th align=left> Program Coverage Total</tt></th>
|
<th align=left> Program Coverage Total</tt></th>
|
||||||
<td align="right">31%</td><td>248/800</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">15%</td><td>131/828</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">29%</td><td>4682/15607</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">30%</td><td>248/814</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><td align="right">15%</td><td>131/830</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">29%</td><td>4682/15818</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>
|
</table></body></html>
|
||||||
|
|
|
||||||
|
|
@ -16,15 +16,15 @@ table.dashboard { border-collapse: collapse ; border: solid 1px black }
|
||||||
<td> <tt>module <a href="reanimate-0.4.3.0-inplace/Reanimate.ColorMap.hs.html">reanimate-0.4.3.0-inplace/Reanimate.ColorMap</a></tt></td>
|
<td> <tt>module <a href="reanimate-0.4.3.0-inplace/Reanimate.ColorMap.hs.html">reanimate-0.4.3.0-inplace/Reanimate.ColorMap</a></tt></td>
|
||||||
<td align="right">100%</td><td>14/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="bar"></td></tr></table></td></tr></table></td><td align="right">60%</td><td>3/5</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="60%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">99%</td><td>1176/1180</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="99%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
|
<td align="right">100%</td><td>14/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="bar"></td></tr></table></td></tr></table></td><td align="right">60%</td><td>3/5</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="60%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">99%</td><td>1176/1180</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="99%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td> <tt>module <a href="reanimate-0.4.3.0-inplace/Reanimate.Scene.hs.html">reanimate-0.4.3.0-inplace/Reanimate.Scene</a></tt></td>
|
|
||||||
<td align="right">30%</td><td>40/130</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><td align="right">60%</td><td>15/25</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="60%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">36%</td><td>545/1483</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="36%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
|
|
||||||
<tr>
|
|
||||||
<td> <tt>module <a href="reanimate-0.4.3.0-inplace/Reanimate.Svg.LineCommand.hs.html">reanimate-0.4.3.0-inplace/Reanimate.Svg.LineCommand</a></tt></td>
|
<td> <tt>module <a href="reanimate-0.4.3.0-inplace/Reanimate.Svg.LineCommand.hs.html">reanimate-0.4.3.0-inplace/Reanimate.Svg.LineCommand</a></tt></td>
|
||||||
<td align="right">80%</td><td>12/15</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="80%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">58%</td><td>43/74</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="58%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">70%</td><td>659/937</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="70%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
|
<td align="right">80%</td><td>12/15</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="80%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">58%</td><td>43/74</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="58%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">70%</td><td>659/937</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="70%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td> <tt>module <a href="reanimate-0.4.3.0-inplace/Reanimate.Animation.hs.html">reanimate-0.4.3.0-inplace/Reanimate.Animation</a></tt></td>
|
<td> <tt>module <a href="reanimate-0.4.3.0-inplace/Reanimate.Animation.hs.html">reanimate-0.4.3.0-inplace/Reanimate.Animation</a></tt></td>
|
||||||
<td align="right">90%</td><td>28/31</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="90%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">57%</td><td>8/14</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="57%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">87%</td><td>298/341</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="87%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
|
<td align="right">90%</td><td>28/31</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="90%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">57%</td><td>8/14</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="57%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">87%</td><td>298/341</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="87%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
<td> <tt>module <a href="reanimate-0.4.3.0-inplace/Reanimate.Scene.hs.html">reanimate-0.4.3.0-inplace/Reanimate.Scene</a></tt></td>
|
||||||
|
<td align="right">27%</td><td>40/144</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><td align="right">55%</td><td>15/27</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="55%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">32%</td><td>545/1694</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="32%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
|
||||||
|
<tr>
|
||||||
<td> <tt>module <a href="reanimate-0.4.3.0-inplace/Reanimate.ColorComponents.hs.html">reanimate-0.4.3.0-inplace/Reanimate.ColorComponents</a></tt></td>
|
<td> <tt>module <a href="reanimate-0.4.3.0-inplace/Reanimate.ColorComponents.hs.html">reanimate-0.4.3.0-inplace/Reanimate.ColorComponents</a></tt></td>
|
||||||
<td align="right">75%</td><td>9/12</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="75%"><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">81%</td><td>135/166</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="81%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
|
<td align="right">75%</td><td>9/12</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="75%"><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">81%</td><td>135/166</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="81%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
|
||||||
<tr>
|
<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">- </td><td>0/0</td><td width=100> </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>
|
<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">- </td><td>0/0</td><td width=100> </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">
|
<tr></tr><tr style="background: #e0e0e0">
|
||||||
<th align=left> Program Coverage Total</tt></th>
|
<th align=left> Program Coverage Total</tt></th>
|
||||||
<td align="right">31%</td><td>248/800</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">15%</td><td>131/828</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">29%</td><td>4682/15607</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">30%</td><td>248/814</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><td align="right">15%</td><td>131/830</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">29%</td><td>4682/15818</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>
|
</table></body></html>
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,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>
|
<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>
|
<tr>
|
||||||
<td> <tt>module <a href="reanimate-0.4.3.0-inplace/Reanimate.Scene.hs.html">reanimate-0.4.3.0-inplace/Reanimate.Scene</a></tt></td>
|
<td> <tt>module <a href="reanimate-0.4.3.0-inplace/Reanimate.Scene.hs.html">reanimate-0.4.3.0-inplace/Reanimate.Scene</a></tt></td>
|
||||||
<td align="right">30%</td><td>40/130</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><td align="right">60%</td><td>15/25</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="60%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">36%</td><td>545/1483</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="36%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
|
<td align="right">27%</td><td>40/144</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><td align="right">55%</td><td>15/27</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="55%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">32%</td><td>545/1694</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="32%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td> <tt>module <a href="reanimate-0.4.3.0-inplace/Geom2D.CubicBezier.Linear.hs.html">reanimate-0.4.3.0-inplace/Geom2D.CubicBezier.Linear</a></tt></td>
|
<td> <tt>module <a href="reanimate-0.4.3.0-inplace/Geom2D.CubicBezier.Linear.hs.html">reanimate-0.4.3.0-inplace/Geom2D.CubicBezier.Linear</a></tt></td>
|
||||||
<td align="right">20%</td><td>20/99</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="20%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">5%</td><td>2/36</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">28%</td><td>102/356</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="28%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
|
<td align="right">20%</td><td>20/99</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="20%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">5%</td><td>2/36</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">28%</td><td>102/356</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="28%"><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>
|
<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">
|
<tr></tr><tr style="background: #e0e0e0">
|
||||||
<th align=left> Program Coverage Total</tt></th>
|
<th align=left> Program Coverage Total</tt></th>
|
||||||
<td align="right">31%</td><td>248/800</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">15%</td><td>131/828</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">29%</td><td>4682/15607</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">30%</td><td>248/814</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><td align="right">15%</td><td>131/830</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">29%</td><td>4682/15818</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>
|
</table></body></html>
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,7 @@ table.dashboard { border-collapse: collapse ; border: solid 1px black }
|
||||||
<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>
|
<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>
|
<tr>
|
||||||
<td> <tt>module <a href="reanimate-0.4.3.0-inplace/Reanimate.Scene.hs.html">reanimate-0.4.3.0-inplace/Reanimate.Scene</a></tt></td>
|
<td> <tt>module <a href="reanimate-0.4.3.0-inplace/Reanimate.Scene.hs.html">reanimate-0.4.3.0-inplace/Reanimate.Scene</a></tt></td>
|
||||||
<td align="right">30%</td><td>40/130</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><td align="right">60%</td><td>15/25</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="60%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">36%</td><td>545/1483</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="36%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
|
<td align="right">27%</td><td>40/144</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><td align="right">55%</td><td>15/27</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="55%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">32%</td><td>545/1694</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="32%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td></tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td> <tt>module <a href="reanimate-0.4.3.0-inplace/Reanimate.PolyShape.hs.html">reanimate-0.4.3.0-inplace/Reanimate.PolyShape</a></tt></td>
|
<td> <tt>module <a href="reanimate-0.4.3.0-inplace/Reanimate.PolyShape.hs.html">reanimate-0.4.3.0-inplace/Reanimate.PolyShape</a></tt></td>
|
||||||
<td align="right">22%</td><td>8/35</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="22%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">27%</td><td>13/48</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><td align="right">18%</td><td>127/691</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></tr>
|
<td align="right">22%</td><td>8/35</td><td width=100><table cellpadding=0 cellspacing=0 width="100" class="bar"><tr><td><table cellpadding=0 cellspacing=0 width="22%"><tr><td height=12 class="bar"></td></tr></table></td></tr></table></td><td align="right">27%</td><td>13/48</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><td align="right">18%</td><td>127/691</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></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>
|
<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">
|
<tr></tr><tr style="background: #e0e0e0">
|
||||||
<th align=left> Program Coverage Total</tt></th>
|
<th align=left> Program Coverage Total</tt></th>
|
||||||
<td align="right">31%</td><td>248/800</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">15%</td><td>131/828</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">29%</td><td>4682/15607</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">30%</td><td>248/814</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><td align="right">15%</td><td>131/830</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">29%</td><td>4682/15818</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>
|
</table></body></html>
|
||||||
|
|
|
||||||
|
|
@ -2,11 +2,11 @@ const snippets = [{"title": "Hello World","url": "https://reanimate.clozecards.c
|
||||||
,{"title": "Composition","url": "https://reanimate.clozecards.com/ECv3cbsbuMV/150.svg","code": "animation :: Animation\nanimation = docEnv $ sceneAnimation $ do\n play $ drawBox `parA` drawCircle\n & label \"parA\"\n play $ drawBox `seqA` drawCircle\n & label \"seqA\"\n play $ drawBox `andThen` drawCircle\n & label \"andThen\"\n\nlabel txt = addStatic $\n withFillOpacity 1 $ withStrokeWidth 0 $\n withFillColor \"black\" $\n translate screenLeft (screenBottom+0.2) $\n latex txt\n"}
|
,{"title": "Composition","url": "https://reanimate.clozecards.com/ECv3cbsbuMV/150.svg","code": "animation :: Animation\nanimation = docEnv $ sceneAnimation $ do\n play $ drawBox `parA` drawCircle\n & label \"parA\"\n play $ drawBox `seqA` drawCircle\n & label \"seqA\"\n play $ drawBox `andThen` drawCircle\n & label \"andThen\"\n\nlabel txt = addStatic $\n withFillOpacity 1 $ withStrokeWidth 0 $\n withFillColor \"black\" $\n translate screenLeft (screenBottom+0.2) $\n latex txt\n"}
|
||||||
,{"title": "Color Maps","url": "https://reanimate.clozecards.com/Ezuf27J2YrF/60.svg","code": "animation :: Animation\nanimation = docEnv $ sceneAnimation $ do\n play $ staticFrame 1 (showColorMap parula)\n & label \"Parula\"\n play $ staticFrame 1 (showColorMap viridis)\n & label \"Viridis\"\n play $ staticFrame 1 (showColorMap turbo)\n & label \"Turbo\"\n play $ staticFrame 1 (showColorMap greyscale)\n & label \"Greyscale\"\n\nlabel txt = overlay $\n withFillOpacity 1 $ withStrokeWidth 0 $\n withFillColor \"white\" $\n translate screenLeft (screenBottom+0.2) $\n latex txt\n\noverlay svg ani = ani `parA` staticFrame (duration ani) svg\n"}
|
,{"title": "Color Maps","url": "https://reanimate.clozecards.com/Ezuf27J2YrF/60.svg","code": "animation :: Animation\nanimation = docEnv $ sceneAnimation $ do\n play $ staticFrame 1 (showColorMap parula)\n & label \"Parula\"\n play $ staticFrame 1 (showColorMap viridis)\n & label \"Viridis\"\n play $ staticFrame 1 (showColorMap turbo)\n & label \"Turbo\"\n play $ staticFrame 1 (showColorMap greyscale)\n & label \"Greyscale\"\n\nlabel txt = overlay $\n withFillOpacity 1 $ withStrokeWidth 0 $\n withFillColor \"white\" $\n translate screenLeft (screenBottom+0.2) $\n latex txt\n\noverlay svg ani = ani `parA` staticFrame (duration ani) svg\n"}
|
||||||
,{"title": "Try it live","url": "https://reanimate.clozecards.com/OwjMi4FCJ4Z/90.svg","code": "background = \"lightblue\"\n\nshape :: SVG\nshape = mkCircle 4\n--shape = mkRect 6 6\n--shape = mkLine (screenLeft, screenBottom) (screenRight, screenTop)\n\nanimation :: Animation\nanimation = docEnv $\n addStatic (mkBackground background) $\n playThenReverseA $\n signalA (curveS 2) $\n setDuration 3 $ animate $ \\t ->\n partialSvg t $ pathify shape\n"}
|
,{"title": "Try it live","url": "https://reanimate.clozecards.com/OwjMi4FCJ4Z/90.svg","code": "background = \"lightblue\"\n\nshape :: SVG\nshape = mkCircle 4\n--shape = mkRect 6 6\n--shape = mkLine (screenLeft, screenBottom) (screenRight, screenTop)\n\nanimation :: Animation\nanimation = docEnv $\n addStatic (mkBackground background) $\n playThenReverseA $\n signalA (curveS 2) $\n setDuration 3 $ animate $ \\t ->\n partialSvg t $ pathify shape\n"}
|
||||||
,{"title": "Basic Objects","url": "https://reanimate.clozecards.com/O0105YfECEH/90.svg","code": "env =\n addStatic (mkBackground \"white\") .\n mapA (withStrokeColor \"black\")\n\nanimation :: Animation\nanimation = env $\n sceneAnimation $ do\n circ <- newObject $ Circle 3\n oModify circ $\n oContext .~ withFillColor \"pink\"\n box <- newObject $ Rectangle 5 5\n oModify box $\n oContext .~ withFillColor \"lightblue\"\n \n oGrow circ 1; wait 1\n oTransform circ box 1; wait 1\n oFadeOut box 1; wait 1\n"}
|
,{"title": "Basic Objects","url": "https://reanimate.clozecards.com/LvoPSTEzZlg/90.svg","code": "env =\n addStatic (mkBackground \"white\") .\n mapA (withStrokeColor \"black\")\n\nanimation :: Animation\nanimation = env $\n sceneAnimation $ do\n circ <- newObject $ Circle 3\n oModify circ $\n oContext .~ withFillColor \"pink\"\n box <- newObject $ Rectangle 5 5\n oModify box $\n oContext .~ withFillColor \"lightblue\"\n \n oShowWith circ oGrow; wait 1\n oTransform circ box 1; wait 1\n oHideWith box oFadeOut; wait 1\n"}
|
||||||
,{"title": "LaTeX","url": "https://reanimate.clozecards.com/PXPuugoHzrR/181.svg","code": "env =\n addStatic (mkBackground \"white\") .\n mapA (withStrokeColor \"black\")\n\nanimation :: Animation\nanimation = env $\n sceneAnimation $ do\n drawLatex \"e^{i\\\\pi}+1=0\"\n drawLatex \"\\\\sum_{k=1}^\\\\infty {1 \\\\over k^2} = {\\\\pi^2 \\\\over 6}\"\n drawLatex \"\\\\sum_{k=1}^\\\\infty\"\n wait 1\n\ndrawLatex txt = do\n -- Draw outline\n fork $ do\n play $ animate $ \\t ->\n withFillOpacity 0 $\n partialSvg t svg\n -- Fade outline\n play $ animate $ \\t ->\n withFillOpacity 0 $\n withStrokeWidth (defaultStrokeWidth*(1-t)) $\n svg\n wait 0.7\n -- Fill in letters\n play $ animate $ \\t ->\n withFillOpacity t $ withStrokeWidth 0 $\n svg\n -- Hold static image and then fade out\n play $ staticFrame 2 (withStrokeWidth 0 svg)\n & applyE (overEnding 0.3 fadeOutE)\n where\n svg = scale 2 $ center $ latexAlign txt\n"}
|
,{"title": "LaTeX","url": "https://reanimate.clozecards.com/PXPuugoHzrR/181.svg","code": "env =\n addStatic (mkBackground \"white\") .\n mapA (withStrokeColor \"black\")\n\nanimation :: Animation\nanimation = env $\n sceneAnimation $ do\n drawLatex \"e^{i\\\\pi}+1=0\"\n drawLatex \"\\\\sum_{k=1}^\\\\infty {1 \\\\over k^2} = {\\\\pi^2 \\\\over 6}\"\n drawLatex \"\\\\sum_{k=1}^\\\\infty\"\n wait 1\n\ndrawLatex txt = do\n -- Draw outline\n fork $ do\n play $ animate $ \\t ->\n withFillOpacity 0 $\n partialSvg t svg\n -- Fade outline\n play $ animate $ \\t ->\n withFillOpacity 0 $\n withStrokeWidth (defaultStrokeWidth*(1-t)) $\n svg\n wait 0.7\n -- Fill in letters\n play $ animate $ \\t ->\n withFillOpacity t $ withStrokeWidth 0 $\n svg\n -- Hold static image and then fade out\n play $ staticFrame 2 (withStrokeWidth 0 svg)\n & applyE (overEnding 0.3 fadeOutE)\n where\n svg = scale 2 $ center $ latexAlign txt\n"}
|
||||||
,{"title": "Easing Functions","url": "https://reanimate.clozecards.com/P4F3jzh2Mcj/45.svg","code": "animation :: Animation\nanimation = docEnv $ pauseAtEnd 1 $ sceneAnimation $ do\n showEasing 0 \"curveS\" (curveS 2)\n showEasing 1 \"bellS\" (bellS 2)\n showEasing 2 \"constantS\" (constantS 0.7)\n showEasing 3 \"oscillateS\" oscillateS\n showEasing 4 \"powerS\" (powerS 2)\n showEasing 5 \"reverseS\" reverseS\n showEasing 6 \"id\" id\n\nshowEasing nth txt fn = do\n let yOffset | even nth = 0\n | odd nth = -1\n xOffset = -6 + fromIntegral nth*2\n newSpriteSVG_ $\n \ttranslate xOffset yOffset $\n label txt\n fork $ play $ mapA (translate xOffset 0) $\n mapA (rotate 90) $\n mapA (scale (screenHeight/screenWidth * 0.6)) $\n signalA fn drawProgress\n\nlabel txt =\n translate 0 (-2.5) $\n scale 0.7 $\n center $\n withStrokeWidth 0 $\n withFillOpacity 1 $\n svg\n where\n svg = latex txt\n"}
|
,{"title": "Easing Functions","url": "https://reanimate.clozecards.com/P4F3jzh2Mcj/45.svg","code": "animation :: Animation\nanimation = docEnv $ pauseAtEnd 1 $ sceneAnimation $ do\n showEasing 0 \"curveS\" (curveS 2)\n showEasing 1 \"bellS\" (bellS 2)\n showEasing 2 \"constantS\" (constantS 0.7)\n showEasing 3 \"oscillateS\" oscillateS\n showEasing 4 \"powerS\" (powerS 2)\n showEasing 5 \"reverseS\" reverseS\n showEasing 6 \"id\" id\n\nshowEasing nth txt fn = do\n let yOffset | even nth = 0\n | odd nth = -1\n xOffset = -6 + fromIntegral nth*2\n newSpriteSVG_ $\n \ttranslate xOffset yOffset $\n label txt\n fork $ play $ mapA (translate xOffset 0) $\n mapA (rotate 90) $\n mapA (scale (screenHeight/screenWidth * 0.6)) $\n signalA fn drawProgress\n\nlabel txt =\n translate 0 (-2.5) $\n scale 0.7 $\n center $\n withStrokeWidth 0 $\n withFillOpacity 1 $\n svg\n where\n svg = latex txt\n"}
|
||||||
,{"title": "Easing Graphs","url": "https://reanimate.clozecards.com/FEyCDsj0V82/255.svg","code": "colorPalette = parula -- try: viridis, sinebow, turbo, cividis\nfns =\n [(\"curveS\", curveS 2)\n ,(\"bellS\", bellS 2)\n ,(\"constantS\", constantS 0.7)\n ,(\"oscillateS\", oscillateS)\n ,(\"powerS\", powerS 2)\n ,(\"reverseS\", reverseS)\n ,(\"id\", id)\n ]\n\nanimation :: Animation\nanimation = docEnv $ pauseAtEnd 1 $ sceneAnimation $ do\n newSpriteSVG_ $ mkBackground \"white\"\n play $ signalA (curveS 2) $ animate $ \\t -> partialSvg t grid\n newSpriteSVG_ grid\n wait 1\n flip mapM_ (zip [0..] fns) $ \\(nth, (txt, fn)) -> do\n let color = promotePixel $ colorPalette (nth / fromIntegral (length fns-1))\n showEasing nth txt fn color\n {- showEasing 3 \"oscillateS\" oscillateS\n showEasing 4 \"powerS\" (powerS 2)\n showEasing 5 \"reverseS\" reverseS\n showEasing 6 \"id\" id -}\n\ngridOffset = -2\ngridHeight = 5\ngridWidth = 8\n\ngrid :: SVG\ngrid = translate gridOffset 0 $\n withStrokeWidth defaultStrokeWidth $\n withStrokeColor \"grey\" $ mkGroup\n [ mkPath $ concat\n [[ SVG.MoveTo SVG.OriginAbsolute [V2 (-gridWidth/2) (gridHeight/2-n)]\n ,SVG.HorizontalTo SVG.OriginRelative [gridWidth] ]\n | n <- [1..gridHeight-1]\n ]\n , mkPath \n [ SVG.MoveTo SVG.OriginAbsolute [V2 (-gridWidth/2) (gridHeight/2)]\n , SVG.VerticalTo SVG.OriginRelative [-gridHeight]\n , SVG.HorizontalTo SVG.OriginRelative [gridWidth]\n , SVG.VerticalTo SVG.OriginRelative [gridHeight]\n , SVG.EndPath\n ]\n ]\n\nshowEasing nth txt fn color = do\n let steps = 100\n slope = withStrokeColorPixel color $\n translate gridOffset 0 $ mkLinePath\n [ ((x/steps-0.5)*gridWidth, (y-0.5)*gridHeight)\n | x <- [0..steps]\n , let y = fn (x/steps) ]\n s <- newSpriteSVG $\n withFillColorPixel color $\n translate (gridWidth/2+gridOffset+0.5) (gridHeight/2-nth) $\n label txt\n spriteE s $ overBeginning 0.2 fadeInE\n play $ animate $ \\t -> partialSvg t slope\n newSpriteSVG_ slope\n wait 1\n \nlabel txt = withStrokeColor \"black\" $\n withStrokeWidth (defaultStrokeWidth*2) $\n withFillOpacity 1 $\n latex txt\n"}
|
,{"title": "Easing Graphs","url": "https://reanimate.clozecards.com/FEyCDsj0V82/255.svg","code": "colorPalette = parula -- try: viridis, sinebow, turbo, cividis\nfns =\n [(\"curveS\", curveS 2)\n ,(\"bellS\", bellS 2)\n ,(\"constantS\", constantS 0.7)\n ,(\"oscillateS\", oscillateS)\n ,(\"powerS\", powerS 2)\n ,(\"reverseS\", reverseS)\n ,(\"id\", id)\n ]\n\nanimation :: Animation\nanimation = docEnv $ pauseAtEnd 1 $ sceneAnimation $ do\n newSpriteSVG_ $ mkBackground \"white\"\n play $ signalA (curveS 2) $ animate $ \\t -> partialSvg t grid\n newSpriteSVG_ grid\n wait 1\n flip mapM_ (zip [0..] fns) $ \\(nth, (txt, fn)) -> do\n let color = promotePixel $ colorPalette (nth / fromIntegral (length fns-1))\n showEasing nth txt fn color\n {- showEasing 3 \"oscillateS\" oscillateS\n showEasing 4 \"powerS\" (powerS 2)\n showEasing 5 \"reverseS\" reverseS\n showEasing 6 \"id\" id -}\n\ngridOffset = -2\ngridHeight = 5\ngridWidth = 8\n\ngrid :: SVG\ngrid = translate gridOffset 0 $\n withStrokeWidth defaultStrokeWidth $\n withStrokeColor \"grey\" $ mkGroup\n [ mkPath $ concat\n [[ SVG.MoveTo SVG.OriginAbsolute [V2 (-gridWidth/2) (gridHeight/2-n)]\n ,SVG.HorizontalTo SVG.OriginRelative [gridWidth] ]\n | n <- [1..gridHeight-1]\n ]\n , mkPath \n [ SVG.MoveTo SVG.OriginAbsolute [V2 (-gridWidth/2) (gridHeight/2)]\n , SVG.VerticalTo SVG.OriginRelative [-gridHeight]\n , SVG.HorizontalTo SVG.OriginRelative [gridWidth]\n , SVG.VerticalTo SVG.OriginRelative [gridHeight]\n , SVG.EndPath\n ]\n ]\n\nshowEasing nth txt fn color = do\n let steps = 100\n slope = withStrokeColorPixel color $\n translate gridOffset 0 $ mkLinePath\n [ ((x/steps-0.5)*gridWidth, (y-0.5)*gridHeight)\n | x <- [0..steps]\n , let y = fn (x/steps) ]\n s <- newSpriteSVG $\n withFillColorPixel color $\n translate (gridWidth/2+gridOffset+0.5) (gridHeight/2-nth) $\n label txt\n spriteE s $ overBeginning 0.2 fadeInE\n play $ animate $ \\t -> partialSvg t slope\n newSpriteSVG_ slope\n wait 1\n \nlabel txt = withStrokeColor \"black\" $\n withStrokeWidth (defaultStrokeWidth*2) $\n withFillOpacity 1 $\n latex txt\n"}
|
||||||
,{"title": "Object Positions","url": "https://reanimate.clozecards.com/OdYISph5tKE/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 oTranslate .= (0, screenBottom+0.5)\n oRightX .= screenRight\n botL <- newText \"Bottom left\"\n oModifyS botL $ do\n oTranslate .= (0, screenBottom+0.5)\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 $ centerX $ latex txt\n"}
|
,{"title": "Object Positions","url": "https://reanimate.clozecards.com/Mf4zcImo+I7/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 oTranslate .= (0, screenBottom+0.5)\n oRightX .= screenRight\n botL <- newText \"Bottom left\"\n oModifyS botL $ do\n oTranslate .= (0, screenBottom+0.5)\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 $ oHideWith src oFadeOut\n oShowWith dst oFadeIn\n wait 1\n\nnewText txt =\n newObject $ scale 1.5 $ centerX $ latex txt\n"}
|
||||||
,{"title": "Camera","url": "https://reanimate.clozecards.com/Hcx00P+aeph/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 $ withFillColor \"blue\" $ mkCircle 1\n cameraAttach cam circle\n circleRight <- oRead circle oRightX\n\n box <- newObject $ withFillColor \"green\" $ mkRect 2 2\n cameraAttach cam box\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"}
|
,{"title": "Camera","url": "https://reanimate.clozecards.com/Hcx00P+aeph/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 $ withFillColor \"blue\" $ mkCircle 1\n cameraAttach cam circle\n circleRight <- oRead circle oRightX\n\n box <- newObject $ withFillColor \"green\" $ mkRect 2 2\n cameraAttach cam box\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-09-01 (77975)";
|
const playgroundVersion = "2020-09-01 (755fb)";
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -53,7 +53,7 @@ span.spaces { background: white }
|
||||||
<span class="lineno"> 34 </span>-- width is affected by directly applying scaling.
|
<span class="lineno"> 34 </span>-- width is affected by directly applying scaling.
|
||||||
<span class="lineno"> 35 </span>--
|
<span class="lineno"> 35 </span>--
|
||||||
<span class="lineno"> 36 </span>-- @lowerTransformations (scale 2 (mkCircle 1)) = mkCircle 2@
|
<span class="lineno"> 36 </span>-- @lowerTransformations (scale 2 (mkCircle 1)) = mkCircle 2@
|
||||||
<span class="lineno"> 37 </span>lowerTransformations :: Tree -> Tree
|
<span class="lineno"> 37 </span>lowerTransformations :: SVG -> SVG
|
||||||
<span class="lineno"> 38 </span><span class="decl"><span class="istickedoff">lowerTransformations = worker <span class="nottickedoff">False</span> Transform.identity</span>
|
<span class="lineno"> 38 </span><span class="decl"><span class="istickedoff">lowerTransformations = worker <span class="nottickedoff">False</span> Transform.identity</span>
|
||||||
<span class="lineno"> 39 </span><span class="spaces"> </span><span class="istickedoff">where</span>
|
<span class="lineno"> 39 </span><span class="spaces"> </span><span class="istickedoff">where</span>
|
||||||
<span class="lineno"> 40 </span><span class="spaces"> </span><span class="istickedoff">updLineCmd m cmd =</span>
|
<span class="lineno"> 40 </span><span class="spaces"> </span><span class="istickedoff">updLineCmd m cmd =</span>
|
||||||
|
|
@ -89,7 +89,7 @@ span.spaces { background: white }
|
||||||
<span class="lineno"> 70 </span><span class="spaces"> </span><span class="istickedoff">_ -> <span class="nottickedoff">worker True m (pathify t)</span></span></span>
|
<span class="lineno"> 70 </span><span class="spaces"> </span><span class="istickedoff">_ -> <span class="nottickedoff">worker True m (pathify t)</span></span></span>
|
||||||
<span class="lineno"> 71 </span>
|
<span class="lineno"> 71 </span>
|
||||||
<span class="lineno"> 72 </span>-- | Remove all @id@ attributes.
|
<span class="lineno"> 72 </span>-- | Remove all @id@ attributes.
|
||||||
<span class="lineno"> 73 </span>lowerIds :: Tree -> Tree
|
<span class="lineno"> 73 </span>lowerIds :: SVG -> SVG
|
||||||
<span class="lineno"> 74 </span><span class="decl"><span class="nottickedoff">lowerIds = mapTree worker</span>
|
<span class="lineno"> 74 </span><span class="decl"><span class="nottickedoff">lowerIds = mapTree worker</span>
|
||||||
<span class="lineno"> 75 </span><span class="spaces"> </span><span class="nottickedoff">where</span>
|
<span class="lineno"> 75 </span><span class="spaces"> </span><span class="nottickedoff">where</span>
|
||||||
<span class="lineno"> 76 </span><span class="spaces"> </span><span class="nottickedoff">worker t@GroupTree{} = t & attrId .~ Nothing</span>
|
<span class="lineno"> 76 </span><span class="spaces"> </span><span class="nottickedoff">worker t@GroupTree{} = t & attrId .~ Nothing</span>
|
||||||
|
|
@ -97,7 +97,7 @@ span.spaces { background: white }
|
||||||
<span class="lineno"> 78 </span><span class="spaces"> </span><span class="nottickedoff">worker t = t</span></span>
|
<span class="lineno"> 78 </span><span class="spaces"> </span><span class="nottickedoff">worker t = t</span></span>
|
||||||
<span class="lineno"> 79 </span>
|
<span class="lineno"> 79 </span>
|
||||||
<span class="lineno"> 80 </span>-- | Optimize SVG tree without affecting how it is rendered.
|
<span class="lineno"> 80 </span>-- | Optimize SVG tree without affecting how it is rendered.
|
||||||
<span class="lineno"> 81 </span>simplify :: Tree -> Tree
|
<span class="lineno"> 81 </span>simplify :: SVG -> SVG
|
||||||
<span class="lineno"> 82 </span><span class="decl"><span class="istickedoff">simplify root =</span>
|
<span class="lineno"> 82 </span><span class="decl"><span class="istickedoff">simplify root =</span>
|
||||||
<span class="lineno"> 83 </span><span class="spaces"> </span><span class="istickedoff">case worker root of</span>
|
<span class="lineno"> 83 </span><span class="spaces"> </span><span class="istickedoff">case worker root of</span>
|
||||||
<span class="lineno"> 84 </span><span class="spaces"> </span><span class="istickedoff">[] -> <span class="nottickedoff">None</span></span>
|
<span class="lineno"> 84 </span><span class="spaces"> </span><span class="istickedoff">[] -> <span class="nottickedoff">None</span></span>
|
||||||
|
|
@ -129,7 +129,7 @@ span.spaces { background: white }
|
||||||
<span class="lineno"> 110 </span>-- @removeGroups (withFillColor "blue" $ mkGroup [mkCircle 1, mkRect 1 1])
|
<span class="lineno"> 110 </span>-- @removeGroups (withFillColor "blue" $ mkGroup [mkCircle 1, mkRect 1 1])
|
||||||
<span class="lineno"> 111 </span>-- = [ withFillColor "blue" $ mkCircle 1
|
<span class="lineno"> 111 </span>-- = [ withFillColor "blue" $ mkCircle 1
|
||||||
<span class="lineno"> 112 </span>-- , withFillColor "blue" $ mkRect 1 1 ]@
|
<span class="lineno"> 112 </span>-- , withFillColor "blue" $ mkRect 1 1 ]@
|
||||||
<span class="lineno"> 113 </span>removeGroups :: Tree -> [Tree]
|
<span class="lineno"> 113 </span>removeGroups :: SVG -> [SVG]
|
||||||
<span class="lineno"> 114 </span><span class="decl"><span class="nottickedoff">removeGroups = worker defaultSvg</span>
|
<span class="lineno"> 114 </span><span class="decl"><span class="nottickedoff">removeGroups = worker defaultSvg</span>
|
||||||
<span class="lineno"> 115 </span><span class="spaces"> </span><span class="nottickedoff">where</span>
|
<span class="lineno"> 115 </span><span class="spaces"> </span><span class="nottickedoff">where</span>
|
||||||
<span class="lineno"> 116 </span><span class="spaces"> </span><span class="nottickedoff">worker _attr None = []</span>
|
<span class="lineno"> 116 </span><span class="spaces"> </span><span class="nottickedoff">worker _attr None = []</span>
|
||||||
|
|
@ -152,7 +152,7 @@ span.spaces { background: white }
|
||||||
<span class="lineno"> 133 </span><span class="spaces"> </span><span class="nottickedoff">dropNulls t = [t]</span></span>
|
<span class="lineno"> 133 </span><span class="spaces"> </span><span class="nottickedoff">dropNulls t = [t]</span></span>
|
||||||
<span class="lineno"> 134 </span>
|
<span class="lineno"> 134 </span>
|
||||||
<span class="lineno"> 135 </span>-- | Extract all path commands from a node (and its children) and concatenate them.
|
<span class="lineno"> 135 </span>-- | Extract all path commands from a node (and its children) and concatenate them.
|
||||||
<span class="lineno"> 136 </span>extractPath :: Tree -> [PathCommand]
|
<span class="lineno"> 136 </span>extractPath :: SVG -> [PathCommand]
|
||||||
<span class="lineno"> 137 </span><span class="decl"><span class="istickedoff">extractPath = worker . simplify . lowerTransformations . pathify</span>
|
<span class="lineno"> 137 </span><span class="decl"><span class="istickedoff">extractPath = worker . simplify . lowerTransformations . pathify</span>
|
||||||
<span class="lineno"> 138 </span><span class="spaces"> </span><span class="istickedoff">where</span>
|
<span class="lineno"> 138 </span><span class="spaces"> </span><span class="istickedoff">where</span>
|
||||||
<span class="lineno"> 139 </span><span class="spaces"> </span><span class="istickedoff">worker (GroupTree g) = <span class="nottickedoff">concatMap worker (g^.groupChildren)</span></span>
|
<span class="lineno"> 139 </span><span class="spaces"> </span><span class="istickedoff">worker (GroupTree g) = <span class="nottickedoff">concatMap worker (g^.groupChildren)</span></span>
|
||||||
|
|
@ -163,7 +163,7 @@ span.spaces { background: white }
|
||||||
<span class="lineno"> 144 </span>--
|
<span class="lineno"> 144 </span>--
|
||||||
<span class="lineno"> 145 </span>-- @withSubglyphs [0,2] (scale 2) (mkGroup [mkCircle 1, mkRect 2, mkEllipse 1 2])
|
<span class="lineno"> 145 </span>-- @withSubglyphs [0,2] (scale 2) (mkGroup [mkCircle 1, mkRect 2, mkEllipse 1 2])
|
||||||
<span class="lineno"> 146 </span>-- = mkGroup [scale 2 (mkCircle 1), mkRect 2, scale 2 (mkEllipse 1 2)]@
|
<span class="lineno"> 146 </span>-- = mkGroup [scale 2 (mkCircle 1), mkRect 2, scale 2 (mkEllipse 1 2)]@
|
||||||
<span class="lineno"> 147 </span>withSubglyphs :: [Int] -> (Tree -> Tree) -> Tree -> Tree
|
<span class="lineno"> 147 </span>withSubglyphs :: [Int] -> (SVG -> SVG) -> SVG -> SVG
|
||||||
<span class="lineno"> 148 </span><span class="decl"><span class="nottickedoff">withSubglyphs target fn = \t -> evalState (worker t) 0</span>
|
<span class="lineno"> 148 </span><span class="decl"><span class="nottickedoff">withSubglyphs target fn = \t -> evalState (worker t) 0</span>
|
||||||
<span class="lineno"> 149 </span><span class="spaces"> </span><span class="nottickedoff">where</span>
|
<span class="lineno"> 149 </span><span class="spaces"> </span><span class="nottickedoff">where</span>
|
||||||
<span class="lineno"> 150 </span><span class="spaces"> </span><span class="nottickedoff">worker :: Tree -> State Int Tree</span>
|
<span class="lineno"> 150 </span><span class="spaces"> </span><span class="nottickedoff">worker :: Tree -> State Int Tree</span>
|
||||||
|
|
@ -191,18 +191,18 @@ span.spaces { background: white }
|
||||||
<span class="lineno"> 172 </span>--
|
<span class="lineno"> 172 </span>--
|
||||||
<span class="lineno"> 173 </span>-- @splitGlyphs [0,2] (mkGroup [mkCircle 1, mkRect 2, mkEllipse 1 2])
|
<span class="lineno"> 173 </span>-- @splitGlyphs [0,2] (mkGroup [mkCircle 1, mkRect 2, mkEllipse 1 2])
|
||||||
<span class="lineno"> 174 </span>-- = ([mkRect 2], [mkCircle 1, mkEllipse 1 2])@
|
<span class="lineno"> 174 </span>-- = ([mkRect 2], [mkCircle 1, mkEllipse 1 2])@
|
||||||
<span class="lineno"> 175 </span>splitGlyphs :: [Int] -> Tree -> (Tree, Tree)
|
<span class="lineno"> 175 </span>splitGlyphs :: [Int] -> SVG -> (SVG, SVG)
|
||||||
<span class="lineno"> 176 </span><span class="decl"><span class="nottickedoff">splitGlyphs target = \t -></span>
|
<span class="lineno"> 176 </span><span class="decl"><span class="nottickedoff">splitGlyphs target = \t -></span>
|
||||||
<span class="lineno"> 177 </span><span class="spaces"> </span><span class="nottickedoff">let (_, l, r) = execState (worker id t) (0, [], [])</span>
|
<span class="lineno"> 177 </span><span class="spaces"> </span><span class="nottickedoff">let (_, l, r) = execState (worker id t) (0, [], [])</span>
|
||||||
<span class="lineno"> 178 </span><span class="spaces"> </span><span class="nottickedoff">in (mkGroup l, mkGroup r)</span>
|
<span class="lineno"> 178 </span><span class="spaces"> </span><span class="nottickedoff">in (mkGroup l, mkGroup r)</span>
|
||||||
<span class="lineno"> 179 </span><span class="spaces"> </span><span class="nottickedoff">where</span>
|
<span class="lineno"> 179 </span><span class="spaces"> </span><span class="nottickedoff">where</span>
|
||||||
<span class="lineno"> 180 </span><span class="spaces"> </span><span class="nottickedoff">handleGlyph :: Tree -> State (Int, [Tree], [Tree]) ()</span>
|
<span class="lineno"> 180 </span><span class="spaces"> </span><span class="nottickedoff">handleGlyph :: SVG -> State (Int, [SVG], [SVG]) ()</span>
|
||||||
<span class="lineno"> 181 </span><span class="spaces"> </span><span class="nottickedoff">handleGlyph t = do</span>
|
<span class="lineno"> 181 </span><span class="spaces"> </span><span class="nottickedoff">handleGlyph t = do</span>
|
||||||
<span class="lineno"> 182 </span><span class="spaces"> </span><span class="nottickedoff">(n, l, r) <- get</span>
|
<span class="lineno"> 182 </span><span class="spaces"> </span><span class="nottickedoff">(n, l, r) <- get</span>
|
||||||
<span class="lineno"> 183 </span><span class="spaces"> </span><span class="nottickedoff">if n `elem` target</span>
|
<span class="lineno"> 183 </span><span class="spaces"> </span><span class="nottickedoff">if n `elem` target</span>
|
||||||
<span class="lineno"> 184 </span><span class="spaces"> </span><span class="nottickedoff">then put (n+1, l, t:r)</span>
|
<span class="lineno"> 184 </span><span class="spaces"> </span><span class="nottickedoff">then put (n+1, l, t:r)</span>
|
||||||
<span class="lineno"> 185 </span><span class="spaces"> </span><span class="nottickedoff">else put (n+1, t:l, r)</span>
|
<span class="lineno"> 185 </span><span class="spaces"> </span><span class="nottickedoff">else put (n+1, t:l, r)</span>
|
||||||
<span class="lineno"> 186 </span><span class="spaces"> </span><span class="nottickedoff">worker :: (Tree -> Tree) -> Tree -> State (Int, [Tree], [Tree]) ()</span>
|
<span class="lineno"> 186 </span><span class="spaces"> </span><span class="nottickedoff">worker :: (SVG -> SVG) -> SVG -> State (Int, [SVG], [SVG]) ()</span>
|
||||||
<span class="lineno"> 187 </span><span class="spaces"> </span><span class="nottickedoff">worker acc t =</span>
|
<span class="lineno"> 187 </span><span class="spaces"> </span><span class="nottickedoff">worker acc t =</span>
|
||||||
<span class="lineno"> 188 </span><span class="spaces"> </span><span class="nottickedoff">case t of</span>
|
<span class="lineno"> 188 </span><span class="spaces"> </span><span class="nottickedoff">case t of</span>
|
||||||
<span class="lineno"> 189 </span><span class="spaces"> </span><span class="nottickedoff">GroupTree g -> do</span>
|
<span class="lineno"> 189 </span><span class="spaces"> </span><span class="nottickedoff">GroupTree g -> do</span>
|
||||||
|
|
@ -232,7 +232,7 @@ span.spaces { background: white }
|
||||||
<span class="lineno"> 213 </span>, (\svg -> <g transform="translate(10,10)"><g transform="scale(0.5)">svg</g></g>, <rect/>)]
|
<span class="lineno"> 213 </span>, (\svg -> <g transform="translate(10,10)"><g transform="scale(0.5)">svg</g></g>, <rect/>)]
|
||||||
<span class="lineno"> 214 </span>-}
|
<span class="lineno"> 214 </span>-}
|
||||||
<span class="lineno"> 215 </span>-- | Split symbols and include their context and drawing attributes.
|
<span class="lineno"> 215 </span>-- | Split symbols and include their context and drawing attributes.
|
||||||
<span class="lineno"> 216 </span>svgGlyphs :: Tree -> [(Tree -> Tree, DrawAttributes, Tree)]
|
<span class="lineno"> 216 </span>svgGlyphs :: SVG -> [(SVG -> SVG, DrawAttributes, SVG)]
|
||||||
<span class="lineno"> 217 </span><span class="decl"><span class="istickedoff">svgGlyphs = worker <span class="nottickedoff">id</span> defaultSvg</span>
|
<span class="lineno"> 217 </span><span class="decl"><span class="istickedoff">svgGlyphs = worker <span class="nottickedoff">id</span> defaultSvg</span>
|
||||||
<span class="lineno"> 218 </span><span class="spaces"> </span><span class="istickedoff">where</span>
|
<span class="lineno"> 218 </span><span class="spaces"> </span><span class="istickedoff">where</span>
|
||||||
<span class="lineno"> 219 </span><span class="spaces"> </span><span class="istickedoff">worker acc attr =</span>
|
<span class="lineno"> 219 </span><span class="spaces"> </span><span class="istickedoff">worker acc attr =</span>
|
||||||
|
|
@ -262,7 +262,7 @@ span.spaces { background: white }
|
||||||
<span class="lineno"> 243 </span>
|
<span class="lineno"> 243 </span>
|
||||||
<span class="lineno"> 244 </span> <<docs/gifs/doc_pathify.gif>>
|
<span class="lineno"> 244 </span> <<docs/gifs/doc_pathify.gif>>
|
||||||
<span class="lineno"> 245 </span> -}
|
<span class="lineno"> 245 </span> -}
|
||||||
<span class="lineno"> 246 </span>pathify :: Tree -> Tree
|
<span class="lineno"> 246 </span>pathify :: SVG -> SVG
|
||||||
<span class="lineno"> 247 </span><span class="decl"><span class="istickedoff">pathify = mapTree worker</span>
|
<span class="lineno"> 247 </span><span class="decl"><span class="istickedoff">pathify = mapTree worker</span>
|
||||||
<span class="lineno"> 248 </span><span class="spaces"> </span><span class="istickedoff">where</span>
|
<span class="lineno"> 248 </span><span class="spaces"> </span><span class="istickedoff">where</span>
|
||||||
<span class="lineno"> 249 </span><span class="spaces"> </span><span class="istickedoff">worker =</span>
|
<span class="lineno"> 249 </span><span class="spaces"> </span><span class="istickedoff">worker =</span>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue