<rss xmlns:source="http://source.scripting.com/" version="2.0">
  <channel>
    <title>Olof Hellman</title>
    <link>https://olof.micro.blog/</link>
    <description></description>
    
    <language>en</language>
    
    <lastBuildDate>Mon, 10 Aug 2026 21:49:12 -0500</lastBuildDate>
    <item>
      <title></title>
      <link>https://olof.micro.blog/2026/08/10/a-preliminary-swift-package-for.html</link>
      <pubDate>Mon, 10 Aug 2026 21:49:12 -0500</pubDate>
      
      <guid>http://olof.micro.blog/2026/08/10/a-preliminary-swift-package-for.html</guid>
      <description>&lt;p&gt;A preliminary swift package for scripting SinterPixels:  &lt;a href=&#34;https://github.com/olofhellman/SinterPixels&#34;&gt;github.com/olofhellm&amp;hellip;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Example code is in a different repo:  &lt;a href=&#34;https://github.com/olofhellman/SinterPixels&#34;&gt;github.com/olofhellm&amp;hellip;&lt;/a&gt;Extensions&lt;/p&gt;
&lt;p&gt;The first example produces this image:  &lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/fivefoldgrid.png&#34;&gt;&lt;/p&gt;
</description>
      <source:markdown>A preliminary swift package for scripting SinterPixels:  [github.com/olofhellm...](https://github.com/olofhellman/SinterPixels)

Example code is in a different repo:  [github.com/olofhellm...](https://github.com/olofhellman/SinterPixels)Extensions  

The first example produces this image:  &lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/fivefoldgrid.png&#34;&gt;
</source:markdown>
    </item>
    
    <item>
      <title>SinterPixels Examples: Blue flowers </title>
      <link>https://olof.micro.blog/2026/07/01/sinterpixels-examples-blue-flowers.html</link>
      <pubDate>Wed, 01 Jul 2026 09:05:18 -0500</pubDate>
      
      <guid>http://olof.micro.blog/2026/07/01/sinterpixels-examples-blue-flowers.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://apps.apple.com/us/app/sinterpixels/id6758914398&#34;&gt;SinterPixels&lt;/a&gt; is in the app store!   Todays example is some simple blue flowers:&lt;/p&gt;
&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/4aeefe0328.jpg&#34;&gt;
&lt;p&gt;Here&amp;rsquo;s the script that generates the image:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;to petalPath(len, ang, spread)
	using terms from application &amp;quot;SinterPixels&amp;quot;
		set angRadians to ang * 3.141 / 180
		set p1 to {position:{0, 0}, tangent:ang + spread}
		set p2 to {position:{radius:len, angle:angRadians}, tangent:ang - 90}
		set p3 to {position:{0, 0}, tangent:ang + 180 - spread}
		return {pts:{p1, p2, p3}}
	end using terms from
end petalPath

to makeAPetal(circlePos, ang, len)
	set petalBorderDataA to petalPath(len, ang, 100)
	set petalBorderDataB to petalPath(len - 5, ang, 60)
	set petalBorderDataC to petalPath(len - 10, ang, 20)
	set f to 1.0 - (len / 200)
	set fca to {1.0 - f, 1.0 - f, 1.0}
	set fcb to {1.0 - (f * 0.6), 1.0 - (f * 0.6), 1.0}
	set fcc to {1.0 - (f * 0.3), 1.0 - (f * 0.3), 1.0}
	
	tell application &amp;quot;SinterPixels&amp;quot;
		tell document 1
			make new path with properties {fill color:fca, line width:0, position:circlePos, closed:false, anchor data:pts of petalBorderDataA}
			make new path with properties {fill color:fcb, line width:0, position:circlePos, closed:false, anchor data:pts of petalBorderDataB}
			make new path with properties {fill color:fcc, line width:0, position:circlePos, closed:false, anchor data:pts of petalBorderDataC}
		end tell
	end tell
end makeAPetal

to makeAFlower(circlePos)
	tell application &amp;quot;SinterPixels&amp;quot;
		tell document 1
			set centerCircle to make new circle with properties {position:circlePos, fill color:blue, radius:3, line width:0}
		end tell
	end tell
	set allAngles to {}
	repeat with a from 1 to 36
		set allAngles to allAngles &amp;amp; {a * 10}
	end repeat
	set ang to some item of allAngles
	repeat with n from 1 to 42
		makeAPetal(circlePos, ang + 132 * n, 90 - 2 * n)
	end repeat
end makeAFlower

makeAFlower({130, 20})
makeAFlower({-50, 100})
makeAFlower({-20, -100})
&lt;/code&gt;&lt;/pre&gt;</description>
      <source:markdown>[SinterPixels](https://apps.apple.com/us/app/sinterpixels/id6758914398) is in the app store!   Todays example is some simple blue flowers:

&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/4aeefe0328.jpg&#34;&gt;

Here&#39;s the script that generates the image:

```
to petalPath(len, ang, spread)
	using terms from application &#34;SinterPixels&#34;
		set angRadians to ang * 3.141 / 180
		set p1 to {position:{0, 0}, tangent:ang + spread}
		set p2 to {position:{radius:len, angle:angRadians}, tangent:ang - 90}
		set p3 to {position:{0, 0}, tangent:ang + 180 - spread}
		return {pts:{p1, p2, p3}}
	end using terms from
end petalPath

to makeAPetal(circlePos, ang, len)
	set petalBorderDataA to petalPath(len, ang, 100)
	set petalBorderDataB to petalPath(len - 5, ang, 60)
	set petalBorderDataC to petalPath(len - 10, ang, 20)
	set f to 1.0 - (len / 200)
	set fca to {1.0 - f, 1.0 - f, 1.0}
	set fcb to {1.0 - (f * 0.6), 1.0 - (f * 0.6), 1.0}
	set fcc to {1.0 - (f * 0.3), 1.0 - (f * 0.3), 1.0}
	
	tell application &#34;SinterPixels&#34;
		tell document 1
			make new path with properties {fill color:fca, line width:0, position:circlePos, closed:false, anchor data:pts of petalBorderDataA}
			make new path with properties {fill color:fcb, line width:0, position:circlePos, closed:false, anchor data:pts of petalBorderDataB}
			make new path with properties {fill color:fcc, line width:0, position:circlePos, closed:false, anchor data:pts of petalBorderDataC}
		end tell
	end tell
end makeAPetal

to makeAFlower(circlePos)
	tell application &#34;SinterPixels&#34;
		tell document 1
			set centerCircle to make new circle with properties {position:circlePos, fill color:blue, radius:3, line width:0}
		end tell
	end tell
	set allAngles to {}
	repeat with a from 1 to 36
		set allAngles to allAngles &amp; {a * 10}
	end repeat
	set ang to some item of allAngles
	repeat with n from 1 to 42
		makeAPetal(circlePos, ang + 132 * n, 90 - 2 * n)
	end repeat
end makeAFlower

makeAFlower({130, 20})
makeAFlower({-50, 100})
makeAFlower({-20, -100})
```
</source:markdown>
    </item>
    
    <item>
      <title>SinterPixels Demos: Two Tone Hexagonal Tiling</title>
      <link>https://olof.micro.blog/2026/06/10/building-on-the-previous-post.html</link>
      <pubDate>Wed, 10 Jun 2026 17:13:45 -0500</pubDate>
      
      <guid>http://olof.micro.blog/2026/06/10/building-on-the-previous-post.html</guid>
      <description>&lt;p&gt;Building on the &lt;a href=&#34;https://olof.micro.blog/2026/06/10/sinterpixels-demos-part-hexagonal-tiling.html&#34;&gt;previous post&lt;/a&gt;, here&amp;rsquo;s a two tone hexagonal tiling, and the 42 line script that makes the tiling and the movie:&lt;/p&gt;
&lt;p&gt;&lt;video src=&#34;https://cdn.uploads.micro.mov/908/2026/twotonehextilemovie/playlist.m3u8&#34; controls=&#34;controls&#34; playsinline=&#34;playsinline&#34; preload=&#34;metadata&#34;&gt;&lt;/video&gt;&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;tell application &amp;quot;SinterPixels&amp;quot;
	set tileDoc to make new document with properties {name:&amp;quot;Tile&amp;quot;, height:60, width:60}
	tell tileDoc
		make new polygon with properties {position:{0, 0}, vertex count:6, radius:30, rotation:0, line width:0, closed:false, fill color:{0.5, 1.0, 0.5, 1.0}}
		make new polygon with properties {position:{0, 0}, vertex:{{-31, -31}, {0, -31}, {0, 31}, {-31, 31}}, fill color:{0.5, 0.5, 1.0, 1.0}, line width:0, blend mode:sourceIn}
		make new circle with properties {position:{30, 0}, radius:14.1, color:blue, fill color:{0.5, 0.5, 1.0, 1.0}, line width:4, blend mode:sourceIn}
		make new circle with properties {position:{-30, 0}, radius:14.1, color:blue, fill color:{0.5, 1.0, 0.5, 1.0}, line width:4, blend mode:sourceIn}
		make new polygon with properties {vertex:{{0, -30}, {0, 30}}, position:{0, 0}, line width:4, closed:false, color:blue, fill color:clear, blend mode:sourceIn}
		set tilePNG to get PNG data
	end tell	
	set mosaicDoc to make new document with properties {name:&amp;quot;Mosaic&amp;quot;, height:450, width:600}
	repeat with x from 1 to 11
		repeat with y from 1 to 5
			set newPosition to {(x * 52) - 321, ((2 * y) * 45) - 285}
			set newRotation to some item of {30, 150, 270}
			tell mosaicDoc
				set nthLayer to make new layer with properties {image data:tilePNG, rotation:newRotation, position:newPosition}
			end tell
			set newPosition to {(x * 52) - 295, (((2 * y) + 1) * 45) - 285}
			set newRotation to some item of {30, 150, 270}
			tell mosaicDoc
				set nthLayer to make new layer with properties {image data:tilePNG, rotation:newRotation, position:newPosition}
			end tell
		end repeat
	end repeat
	tell mosaicDoc
		start filming
		record movie frame
		repeat 15 times
			set y to some item of {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
			set x to some item of {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}
			set n to x + y * 11
			set nthTile to layer n
			set rot to rotation of nthTile
			repeat with r from 1 to 60
				set rotation of nthTile to rot + (r * 2)
				record movie frame
			end repeat
		end repeat
		stop filming
	end tell
end tell
&lt;/code&gt;&lt;/pre&gt;</description>
      <source:markdown>Building on the [previous post](https://olof.micro.blog/2026/06/10/sinterpixels-demos-part-hexagonal-tiling.html), here&#39;s a two tone hexagonal tiling, and the 42 line script that makes the tiling and the movie:

&lt;video src=&#34;https://cdn.uploads.micro.mov/908/2026/twotonehextilemovie/playlist.m3u8&#34; controls=&#34;controls&#34; playsinline=&#34;playsinline&#34; preload=&#34;metadata&#34;&gt;&lt;/video&gt;

```
tell application &#34;SinterPixels&#34;
	set tileDoc to make new document with properties {name:&#34;Tile&#34;, height:60, width:60}
	tell tileDoc
		make new polygon with properties {position:{0, 0}, vertex count:6, radius:30, rotation:0, line width:0, closed:false, fill color:{0.5, 1.0, 0.5, 1.0}}
		make new polygon with properties {position:{0, 0}, vertex:{{-31, -31}, {0, -31}, {0, 31}, {-31, 31}}, fill color:{0.5, 0.5, 1.0, 1.0}, line width:0, blend mode:sourceIn}
		make new circle with properties {position:{30, 0}, radius:14.1, color:blue, fill color:{0.5, 0.5, 1.0, 1.0}, line width:4, blend mode:sourceIn}
		make new circle with properties {position:{-30, 0}, radius:14.1, color:blue, fill color:{0.5, 1.0, 0.5, 1.0}, line width:4, blend mode:sourceIn}
		make new polygon with properties {vertex:{{0, -30}, {0, 30}}, position:{0, 0}, line width:4, closed:false, color:blue, fill color:clear, blend mode:sourceIn}
		set tilePNG to get PNG data
	end tell	
	set mosaicDoc to make new document with properties {name:&#34;Mosaic&#34;, height:450, width:600}
	repeat with x from 1 to 11
		repeat with y from 1 to 5
			set newPosition to {(x * 52) - 321, ((2 * y) * 45) - 285}
			set newRotation to some item of {30, 150, 270}
			tell mosaicDoc
				set nthLayer to make new layer with properties {image data:tilePNG, rotation:newRotation, position:newPosition}
			end tell
			set newPosition to {(x * 52) - 295, (((2 * y) + 1) * 45) - 285}
			set newRotation to some item of {30, 150, 270}
			tell mosaicDoc
				set nthLayer to make new layer with properties {image data:tilePNG, rotation:newRotation, position:newPosition}
			end tell
		end repeat
	end repeat
	tell mosaicDoc
		start filming
		record movie frame
		repeat 15 times
			set y to some item of {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
			set x to some item of {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}
			set n to x + y * 11
			set nthTile to layer n
			set rot to rotation of nthTile
			repeat with r from 1 to 60
				set rotation of nthTile to rot + (r * 2)
				record movie frame
			end repeat
		end repeat
		stop filming
	end tell
end tell
```


</source:markdown>
    </item>
    
    <item>
      <title>SinterPixels Demos, Part 12: Hexagonal Tiling</title>
      <link>https://olof.micro.blog/2026/06/10/sinterpixels-demos-part-hexagonal-tiling.html</link>
      <pubDate>Wed, 10 Jun 2026 14:12:08 -0500</pubDate>
      
      <guid>http://olof.micro.blog/2026/06/10/sinterpixels-demos-part-hexagonal-tiling.html</guid>
      <description>&lt;head&gt;
  &lt;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=utf-8&#34;&gt;
  &lt;meta http-equiv=&#34;Content-Style-Type&#34; content=&#34;text/css&#34;&gt;
  &lt;title&gt;&lt;/title&gt;
  &lt;meta name=&#34;Generator&#34; content=&#34;Cocoa HTML Writer&#34;&gt;
  &lt;meta name=&#34;CocoaVersion&#34; content=&#34;2685.5&#34;&gt;
  &lt;style type=&#34;text/css&#34;&gt;
    p.p1 {margin: 0.0px 0.0px 0.0px 62.4px; text-indent: -62.5px; font: 18.0px Verdana; color: #000000}
    p.p2 {margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 18.0px Verdana; color: #000000}
    p.p3 {margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 18.0px Verdana; color: #408000}
    p.p4 {margin: 0.0px 0.0px 0.0px 187.3px; text-indent: -187.3px; font: 18.0px Verdana; color: #6c05d3}
    p.p5 {margin: 0.0px 0.0px 0.0px 187.3px; text-indent: -187.3px; font: 18.0px Verdana; color: #000000}
    p.p6 {margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 18.0px Verdana; color: #000000; min-height: 22.0px}
    p.p7 {margin: 0.0px 0.0px 0.0px 249.8px; text-indent: -249.8px; font: 18.0px Verdana; color: #000000}
    p.p8 {margin: 0.0px 0.0px 0.0px 249.8px; text-indent: -249.8px; font: 18.0px Verdana; color: #408000}
    p.p9 {margin: 0.0px 0.0px 0.0px 312.1px; text-indent: -312.2px; font: 18.0px Verdana; color: #408000}
    span.s1 {font-variant-ligatures: no-common-ligatures}
    span.s2 {font-variant-ligatures: no-common-ligatures; color: #0000ff}
    span.s3 {font-variant-ligatures: no-common-ligatures; color: #408000}
    span.s4 {font-variant-ligatures: no-common-ligatures; color: #6c05d3}
    span.s5 {font-variant-ligatures: no-common-ligatures; color: #000000}
    span.Apple-tab-span {white-space:pre}
  &lt;/style&gt;
&lt;/head&gt;
&lt;p&gt;Next in the series of what&amp;rsquo;s possible with &lt;a href=&#34;https://apps.apple.com/us/app/sinterpixels/id6758914398&#34;&gt;SinterPixels&lt;/a&gt;, my new app in the macOS App Store: How to generate this hexagonal tiling:&lt;/p&gt;
&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/7080c48f16.jpg&#34;&gt;
&lt;p&gt;Previously, In &lt;a href=&#34;https://olof.micro.blog/2026/05/27/sinterpixels-demo-part-rotating-tiles.html&#34;&gt;Part 10&lt;/a&gt;, I showed how to make a square tiling.  A square tiling is a bit easier than a hexagonal tiling, because the tiles are square, and layers are also square, so one can make a layer entirely filled with the tile.  For a hexagonal tile, we have to leave part of the rectangular tile transparent, so it looks like a hexagon.  That&amp;rsquo;s accomplished using the blend mode.&lt;/p&gt;
&lt;p&gt;When using the blend mode sourceIn to create a shape, if the shape is drawn over something transparent, it doesn&amp;rsquo;t show up.  So, starting with a transparent tile, first we draw a hexagon filled with an opaque color, and then we draw shapes over it using the sourceIn blend mode.  This means only the parts of the shape that overlap the hexagon will be visible.&lt;/p&gt;
&lt;p&gt;The two other differences from the square tiling script are:  first &amp;ndash; the placement of the hexagons &amp;ndash; Instead of a square lattice, every other line is offset by 1/2 x, and the spacing in x is approximately 0.866 times the spacing in y  (that&amp;rsquo;s one half of the square root of 3 ) and second &amp;ndash;  there are now three possible rotations for the tiles instead of 2.&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;tileDoc&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&#34;Tile&#34;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;height&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:60, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:60}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;tileDoc&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;polygon&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{0, 0}, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;vertex count&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:6, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;radius&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:30, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;rotation&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:0, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;line width&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:0, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;closed&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;false&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{0.5, 1.0, 0.5, 1.0}}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;circle&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{30, 0}, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;radius&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:14.1, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;blue&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{0.5, 1.0, 0.5, 1.0}, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;line width&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:4, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;blend mode&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;sourceIn&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;circle&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{-30, 0}, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;radius&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:14.1, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;blue&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{0.5, 1.0, 0.5, 1.0}, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;line width&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:4, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;blend mode&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;sourceIn&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;polygon&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;vertex&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{{0, -30}, {0, 30}}, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{0, 0}, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;line width&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:4, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;closed&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;false&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;blue&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;clear&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;blend mode&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;sourceIn&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;tilePNG&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;get&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;PNG data&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;mosaicDoc&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&#34;Mosaic&#34;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;height&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:384, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:460}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;from&lt;/b&gt; 1 &lt;b&gt;to&lt;/b&gt; 8&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;from&lt;/b&gt; 1 &lt;b&gt;to&lt;/b&gt; 4&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;newPosition&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {(&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * 52) - 241, ((2 * &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;) * 45) - 250}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;newRotation&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;some&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;item&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; {30, 90, 150}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;mosaicDoc&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nthLayer&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;layer&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;image data&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;tilePNG&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;rotation&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newRotation&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newPosition&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;newPosition&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {(&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * 52) - 215, (((2 * &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;) + 1) * 45) - 250}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;newRotation&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;some&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;item&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; {30, 90, 150}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;mosaicDoc&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nthLayer&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;layer&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;image data&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;tilePNG&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;rotation&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newRotation&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newPosition&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
</description>
      <source:markdown>
&lt;head&gt;
  &lt;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=utf-8&#34;&gt;
  &lt;meta http-equiv=&#34;Content-Style-Type&#34; content=&#34;text/css&#34;&gt;
  &lt;title&gt;&lt;/title&gt;
  &lt;meta name=&#34;Generator&#34; content=&#34;Cocoa HTML Writer&#34;&gt;
  &lt;meta name=&#34;CocoaVersion&#34; content=&#34;2685.5&#34;&gt;
  &lt;style type=&#34;text/css&#34;&gt;
    p.p1 {margin: 0.0px 0.0px 0.0px 62.4px; text-indent: -62.5px; font: 18.0px Verdana; color: #000000}
    p.p2 {margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 18.0px Verdana; color: #000000}
    p.p3 {margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 18.0px Verdana; color: #408000}
    p.p4 {margin: 0.0px 0.0px 0.0px 187.3px; text-indent: -187.3px; font: 18.0px Verdana; color: #6c05d3}
    p.p5 {margin: 0.0px 0.0px 0.0px 187.3px; text-indent: -187.3px; font: 18.0px Verdana; color: #000000}
    p.p6 {margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 18.0px Verdana; color: #000000; min-height: 22.0px}
    p.p7 {margin: 0.0px 0.0px 0.0px 249.8px; text-indent: -249.8px; font: 18.0px Verdana; color: #000000}
    p.p8 {margin: 0.0px 0.0px 0.0px 249.8px; text-indent: -249.8px; font: 18.0px Verdana; color: #408000}
    p.p9 {margin: 0.0px 0.0px 0.0px 312.1px; text-indent: -312.2px; font: 18.0px Verdana; color: #408000}
    span.s1 {font-variant-ligatures: no-common-ligatures}
    span.s2 {font-variant-ligatures: no-common-ligatures; color: #0000ff}
    span.s3 {font-variant-ligatures: no-common-ligatures; color: #408000}
    span.s4 {font-variant-ligatures: no-common-ligatures; color: #6c05d3}
    span.s5 {font-variant-ligatures: no-common-ligatures; color: #000000}
    span.Apple-tab-span {white-space:pre}
  &lt;/style&gt;
&lt;/head&gt;


Next in the series of what&#39;s possible with [SinterPixels](https://apps.apple.com/us/app/sinterpixels/id6758914398), my new app in the macOS App Store: How to generate this hexagonal tiling:

&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/7080c48f16.jpg&#34;&gt;

Previously, In [Part 10](https://olof.micro.blog/2026/05/27/sinterpixels-demo-part-rotating-tiles.html), I showed how to make a square tiling.  A square tiling is a bit easier than a hexagonal tiling, because the tiles are square, and layers are also square, so one can make a layer entirely filled with the tile.  For a hexagonal tile, we have to leave part of the rectangular tile transparent, so it looks like a hexagon.  That&#39;s accomplished using the blend mode.

When using the blend mode sourceIn to create a shape, if the shape is drawn over something transparent, it doesn&#39;t show up.  So, starting with a transparent tile, first we draw a hexagon filled with an opaque color, and then we draw shapes over it using the sourceIn blend mode.  This means only the parts of the shape that overlap the hexagon will be visible.  

The two other differences from the square tiling script are:  first -- the placement of the hexagons -- Instead of a square lattice, every other line is offset by 1/2 x, and the spacing in x is approximately 0.866 times the spacing in y  (that&#39;s one half of the square root of 3 ) and second --  there are now three possible rotations for the tiles instead of 2.

&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;tileDoc&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&#34;Tile&#34;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;height&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:60, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:60}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;tileDoc&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;polygon&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{0, 0}, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;vertex count&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:6, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;radius&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:30, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;rotation&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:0, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;line width&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:0, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;closed&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;false&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{0.5, 1.0, 0.5, 1.0}}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;circle&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{30, 0}, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;radius&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:14.1, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;blue&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{0.5, 1.0, 0.5, 1.0}, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;line width&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:4, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;blend mode&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;sourceIn&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;circle&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{-30, 0}, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;radius&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:14.1, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;blue&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{0.5, 1.0, 0.5, 1.0}, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;line width&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:4, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;blend mode&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;sourceIn&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;polygon&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;vertex&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{{0, -30}, {0, 30}}, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{0, 0}, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;line width&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:4, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;closed&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;false&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;blue&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;clear&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;blend mode&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;sourceIn&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;tilePNG&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;get&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;PNG data&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;mosaicDoc&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&#34;Mosaic&#34;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;height&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:384, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:460}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;from&lt;/b&gt; 1 &lt;b&gt;to&lt;/b&gt; 8&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;from&lt;/b&gt; 1 &lt;b&gt;to&lt;/b&gt; 4&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;newPosition&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {(&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * 52) - 241, ((2 * &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;) * 45) - 250}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;newRotation&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;some&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;item&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; {30, 90, 150}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;mosaicDoc&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nthLayer&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;layer&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;image data&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;tilePNG&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;rotation&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newRotation&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newPosition&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;newPosition&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {(&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * 52) - 215, (((2 * &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;) + 1) * 45) - 250}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;newRotation&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;some&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;item&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; {30, 90, 150}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;mosaicDoc&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nthLayer&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;layer&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;image data&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;tilePNG&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;rotation&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newRotation&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newPosition&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
</source:markdown>
    </item>
    
    <item>
      <title>SinterPixels Demos Part 11: Stained Glass Reveal</title>
      <link>https://olof.micro.blog/2026/06/06/sinterpixels-demos-part-stained-glass.html</link>
      <pubDate>Fri, 05 Jun 2026 18:26:20 -0500</pubDate>
      
      <guid>http://olof.micro.blog/2026/06/06/sinterpixels-demos-part-stained-glass.html</guid>
      <description>&lt;p&gt;For the last in this initial series of examples of what you can do with &lt;a href=&#34;https://apps.apple.com/us/app/sinterpixels/id6758914398&#34;&gt;SinterPixels&lt;/a&gt;, we&amp;rsquo;ll make an animation of drawing this stained glass window from the Grande Museo del Duomo in Milan.&lt;/p&gt;
&lt;p&gt;&lt;video src=&#34;https://cdn.uploads.micro.mov/908/2026/finished/playlist.m3u8&#34; poster=&#34;https://cdn.uploads.micro.blog/908/2026/frames/1775192-0-7f5d8e.jpg&#34; width=&#34;189&#34; height=&#34;365&#34; controls=&#34;controls&#34; playsinline=&#34;playsinline&#34; preload=&#34;metadata&#34;&gt;&lt;/video&gt;&lt;/p&gt;
&lt;p&gt;We start with a picture of the stained glass, then set the alpha of every pixel to 0, so it starts off looking like a blank canvas.  Then, we&amp;rsquo;ll progressively set the alpha of each pixel higher to reveal the image.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ll start with just three pixels, gradually making them opaque.  When a pixel becomes opaque, it &amp;ldquo;activates&amp;rdquo; its neighbors.  The rate at which a pixel becomes opaque is proportional to its &amp;ldquo;darkness&amp;rdquo;.  This leads to the effect where the dark bands of the window appear first, and the lighter interiors of each pane become opaque more slowly.&lt;/p&gt;
&lt;p&gt;To manage the list of activated pixels, the demo uses JapaScript in stead of AppleScript, as JavaScript has built in Array and Map types, which AppleScript doesn&amp;rsquo;t have built in (although, similar capabilities are accessible using the AppleScript ObjectiveC feature, with the NSMutableArray and NSMutableDictionary types).&lt;/p&gt;
&lt;p&gt;Most of the script is just looping through the &amp;lsquo;growing pixels&amp;rsquo; list, gradually setting the alpha of those pixels to larger values.&lt;/p&gt;
&lt;p&gt;The script in its entirety is below:  The prerequisite is to load an image and set the name to &amp;ldquo;reference&amp;rdquo;, so that the script can refer to it. And, before starting the script, set all the alpha components to zero with this AppleScript:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;tell application &amp;quot;SinterPixels&amp;quot;	set alpha component of every pixel of document &amp;quot;reference&amp;quot; to 0.0end tell
&lt;/code&gt;&lt;/pre&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;const&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;SinterPixels&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Application&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;SinterPixels&amp;#39;&lt;/span&gt;);

&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;refDoc&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;SinterPixels&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;documents&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;reference&amp;#34;&lt;/span&gt;)
&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;scriptFinished&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt; 
&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;docWidth&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;refDoc&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;width&lt;/span&gt;() 
&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;docHeight&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;refDoc&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;height&lt;/span&gt;()
&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;darknessDict&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Map&lt;/span&gt;(); 
&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;growthRateDict&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Map&lt;/span&gt;();   
&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;activationDict&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Map&lt;/span&gt;();  
&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;alphaDict&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Map&lt;/span&gt;(); 

&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;pixelCoord&lt;/span&gt; {
    &lt;span style=&#34;color:#a6e22e&#34;&gt;constructor&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;x&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;y&lt;/span&gt;) {
        &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;x&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;x&lt;/span&gt;;
        &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;y&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;y&lt;/span&gt;; 
    }
}
	
&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;getDarknessFromColor&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;refColor&lt;/span&gt;) {
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;re&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;refColor&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;redComponent&lt;/span&gt;
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;gr&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;refColor&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;greenComponent&lt;/span&gt;
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;bl&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;refColor&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;blueComponent&lt;/span&gt;
    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; (&lt;span style=&#34;color:#ae81ff&#34;&gt;1.0&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; ((&lt;span style=&#34;color:#a6e22e&#34;&gt;re&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;gr&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;bl&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;3.0&lt;/span&gt;))
}

&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;arrayIndexFor&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;) {
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;ai&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;x&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;y&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;docWidth&lt;/span&gt; 
	&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;ai&lt;/span&gt;
}

&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;setDarkness&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;drk&lt;/span&gt;) {
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;arrayIndex&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;arrayIndexFor&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;)
	&lt;span style=&#34;color:#a6e22e&#34;&gt;darknessDict&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;set&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;arrayIndex&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;drk&lt;/span&gt;) 
}

&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;getDarkness&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;) {
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;arrayIndex&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;arrayIndexFor&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;)
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;drk&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;darknessDict&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;get&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;arrayIndex&lt;/span&gt;)
	&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;drk&lt;/span&gt; 
}

&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;setGrowthRate&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;gr&lt;/span&gt;) {
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;arrayIndex&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;arrayIndexFor&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;)
	&lt;span style=&#34;color:#a6e22e&#34;&gt;growthRateDict&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;set&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;arrayIndex&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;gr&lt;/span&gt;)
}

&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;getGrowthRate&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;) {
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;arrayIndex&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;arrayIndexFor&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;)
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;gr&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;growthRateDict&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;get&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;arrayIndex&lt;/span&gt;)
	&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;gr&lt;/span&gt;  
}

&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;setActivationVal&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;av&lt;/span&gt;) {
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;arrayIndex&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;arrayIndexFor&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;)
	&lt;span style=&#34;color:#a6e22e&#34;&gt;activationDict&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;set&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;arrayIndex&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;av&lt;/span&gt;)
}

&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;getActivationVal&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;)  {
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;arrayIndex&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;arrayIndexFor&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;)	
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;av&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;activationDict&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;get&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;arrayIndex&lt;/span&gt;)	
	&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;av&lt;/span&gt;  
}

&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;canBeActivated&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;) {
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;av&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;getActivationVal&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;)
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;canBe&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;av&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;
	&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;canBe&lt;/span&gt;
}

&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;isActivated&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;) {
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;av&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;getActivationVal&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;)
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;isAct&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;av&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;
	&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;isAct&lt;/span&gt;
}

&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;setActivated&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;) {
	&lt;span style=&#34;color:#a6e22e&#34;&gt;setActivationVal&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;) 
}

&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;markPixelDone&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;) {
	&lt;span style=&#34;color:#a6e22e&#34;&gt;setActivationVal&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;)
}

&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;isPixelDone&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;) {
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;av&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;getActivationVal&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;)
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;isDone&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;av&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;
	&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;isDone&lt;/span&gt;
}

&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;setAlphaDictOnly&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;newAlpha&lt;/span&gt;) {
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;arrayIndex&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;arrayIndexFor&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;)
	&lt;span style=&#34;color:#a6e22e&#34;&gt;alphaDict&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;set&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;arrayIndex&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;newAlpha&lt;/span&gt;)
}

&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;setPixAlpha&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;newAlpha&lt;/span&gt;) {
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;newAlf&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;newAlpha&lt;/span&gt;
	&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;newAlpha&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1.0&lt;/span&gt;) {
		 &lt;span style=&#34;color:#a6e22e&#34;&gt;newAlf&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1.0&lt;/span&gt;
	}
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;arrayIndex&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;arrayIndexFor&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;)
	&lt;span style=&#34;color:#a6e22e&#34;&gt;alphaDict&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;set&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;arrayIndex&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;newAlf&lt;/span&gt;)
	&lt;span style=&#34;color:#a6e22e&#34;&gt;refDoc&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;rows&lt;/span&gt;[&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;y&lt;/span&gt;].&lt;span style=&#34;color:#a6e22e&#34;&gt;pixels&lt;/span&gt;[&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;x&lt;/span&gt;].&lt;span style=&#34;color:#a6e22e&#34;&gt;alphaComponent&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;newAlpha&lt;/span&gt;
	&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;newAlf&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1.0&lt;/span&gt;
}

&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;getPixAlpha&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;) {
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;arrayIndex&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;arrayIndexFor&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;)
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;alf&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;alphaDict&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;get&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;arrayIndex&lt;/span&gt;)
	&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;alf&lt;/span&gt;  
}

&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;addRate&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;rate&lt;/span&gt;) {
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;oldRate&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;getGrowthRate&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;)  
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;newGrowthRate&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;oldRate&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;rate&lt;/span&gt;
	&lt;span style=&#34;color:#a6e22e&#34;&gt;setGrowthRate&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;newGrowthRate&lt;/span&gt;)
}

&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;activatePixel&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;rate&lt;/span&gt;) {
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;av&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;getActivationVal&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;)
	&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;av&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;) {
		 &lt;span style=&#34;color:#a6e22e&#34;&gt;addRate&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;rate&lt;/span&gt;)
		&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;
	} &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;av&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;) {
		&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;darkness&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;getDarkness&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;)
		 &lt;span style=&#34;color:#a6e22e&#34;&gt;setActivated&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;)
		 &lt;span style=&#34;color:#a6e22e&#34;&gt;addRate&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;rate&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;darkness&lt;/span&gt;)
		&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;
	}
}

&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;activatePixels&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;activationList&lt;/span&gt;) {
	&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; (&lt;span style=&#34;color:#66d9ef&#34;&gt;const&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;activationListItem&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;in&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;activationList&lt;/span&gt;) {
		&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;activationListItem&lt;/span&gt;[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;]
		&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;rate&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;activationListItem&lt;/span&gt;[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;]
		&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;darkness&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;getDarkness&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;)
		 &lt;span style=&#34;color:#a6e22e&#34;&gt;activatePixel&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;rate&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;darkness&lt;/span&gt;)
	}
}

&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;initializePixels&lt;/span&gt;() {
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;pixArray&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; Array();
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;pixa&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;pixelCoord&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;,&lt;span style=&#34;color:#a6e22e&#34;&gt;docHeight&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;)
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;halfx&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Math.&lt;span style=&#34;color:#a6e22e&#34;&gt;trunc&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;docWidth&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;)
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;pixb&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;pixelCoord&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;halfx&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;docHeight&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;)
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;pixc&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;pixelCoord&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;docWidth&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;docHeight&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;)
	&lt;span style=&#34;color:#a6e22e&#34;&gt;pixArray&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;push&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pixa&lt;/span&gt;)
 	&lt;span style=&#34;color:#a6e22e&#34;&gt;pixArray&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;push&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pixb&lt;/span&gt;)
 	&lt;span style=&#34;color:#a6e22e&#34;&gt;pixArray&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;push&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pixc&lt;/span&gt;)
    &lt;span style=&#34;color:#a6e22e&#34;&gt;activatePixel&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pixa&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0.5&lt;/span&gt;)
     &lt;span style=&#34;color:#a6e22e&#34;&gt;activatePixel&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pixb&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0.5&lt;/span&gt;)
     &lt;span style=&#34;color:#a6e22e&#34;&gt;activatePixel&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pixc&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0.5&lt;/span&gt;)
	&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;pixArray&lt;/span&gt;
}

&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;growPixel&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;) {
	&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;pixExists&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;) {
	    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;
	}
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;gr&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;getGrowthRate&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;)
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;pa&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;getPixAlpha&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;)
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;newAlpha&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;pa&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;gr&lt;/span&gt; 
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;setPixResult&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;setPixAlpha&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;newAlpha&lt;/span&gt;)
	&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;setPixResult&lt;/span&gt;
}

&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;pixExists&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;) {
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;xc&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;x&lt;/span&gt;
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;yc&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;y&lt;/span&gt;
	&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;xc&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;yc&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;xc&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;docWidth&lt;/span&gt;)) &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;yc&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;docHeight&lt;/span&gt;))
}

&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;addCoords&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;dx&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;dy&lt;/span&gt;) {
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;newx&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;x&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;dx&lt;/span&gt;
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;newy&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;y&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;dy&lt;/span&gt;
	&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; [&lt;span style=&#34;color:#a6e22e&#34;&gt;newx&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;newy&lt;/span&gt;]
}

&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;activateNeighbors&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;) {
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;darkness&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;getDarkness&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;)

	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;newlyActive&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; Array()
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;nnDeltas&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;], [&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;], [&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;], [&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;]]
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;diagonalDeltas&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;], [&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;], [&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;], [&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;]] 
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;nndCount&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;nnDeltas&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;length&lt;/span&gt;

	&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; (&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;nndi&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;; &lt;span style=&#34;color:#a6e22e&#34;&gt;nndi&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;nndCount&lt;/span&gt; ; &lt;span style=&#34;color:#f92672&#34;&gt;++&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;nndi&lt;/span&gt;) {
	   &lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;nnd&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;nnDeltas&lt;/span&gt;[&lt;span style=&#34;color:#a6e22e&#34;&gt;nndi&lt;/span&gt;]
		&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;newCoords&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;addCoords&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;nnd&lt;/span&gt;[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;], &lt;span style=&#34;color:#a6e22e&#34;&gt;nnd&lt;/span&gt;[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;])
		&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;newPix&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;pixelCoord&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;newCoords&lt;/span&gt;[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;], &lt;span style=&#34;color:#a6e22e&#34;&gt;newCoords&lt;/span&gt;[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;])
		&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;pixExists&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;newPix&lt;/span&gt;)) {
			&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;activated&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;activatePixel&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;newPix&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;darkness&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;darkness&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0.08&lt;/span&gt;)
			&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;activated&lt;/span&gt;) { 
				  &lt;span style=&#34;color:#a6e22e&#34;&gt;newlyActive&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;push&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;newPix&lt;/span&gt;)
			}
		}
	}
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;ddCount&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;diagonalDeltas&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;length&lt;/span&gt;
	&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; (&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;ddi&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;; &lt;span style=&#34;color:#a6e22e&#34;&gt;ddi&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;ddCount&lt;/span&gt; ; &lt;span style=&#34;color:#f92672&#34;&gt;++&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;ddi&lt;/span&gt;) {
	    &lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;dd&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;diagonalDeltas&lt;/span&gt;[&lt;span style=&#34;color:#a6e22e&#34;&gt;ddi&lt;/span&gt;]
		&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;diagCoords&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;addCoords&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;dd&lt;/span&gt;[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;], &lt;span style=&#34;color:#a6e22e&#34;&gt;dd&lt;/span&gt;[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;])
		&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;diagPix&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;pixelCoord&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;diagCoords&lt;/span&gt;[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;], &lt;span style=&#34;color:#a6e22e&#34;&gt;diagCoords&lt;/span&gt;[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;])
		&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;pixExists&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;diagPix&lt;/span&gt;)) {
			&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;activated&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;activatePixel&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;diagPix&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;darkness&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;darkness&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0.05&lt;/span&gt;)
			&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;activated&lt;/span&gt;) {
				 &lt;span style=&#34;color:#a6e22e&#34;&gt;newlyActive&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;push&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;diagPix&lt;/span&gt;)
			}
		}
	}
	&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;newlyActive&lt;/span&gt;
} 

&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;initRefDoc&lt;/span&gt;() {
  &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; (&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;y&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;; &lt;span style=&#34;color:#a6e22e&#34;&gt;y&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;docHeight&lt;/span&gt;; &lt;span style=&#34;color:#f92672&#34;&gt;++&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;y&lt;/span&gt;) {
     &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; (&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;x&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;; &lt;span style=&#34;color:#a6e22e&#34;&gt;x&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;docWidth&lt;/span&gt;; &lt;span style=&#34;color:#f92672&#34;&gt;++&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;x&lt;/span&gt;) {
        &lt;span style=&#34;color:#a6e22e&#34;&gt;refDoc&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;rows&lt;/span&gt;[&lt;span style=&#34;color:#a6e22e&#34;&gt;y&lt;/span&gt;].&lt;span style=&#34;color:#a6e22e&#34;&gt;pixels&lt;/span&gt;[&lt;span style=&#34;color:#a6e22e&#34;&gt;x&lt;/span&gt;].&lt;span style=&#34;color:#a6e22e&#34;&gt;alphaComponent&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0.0&lt;/span&gt;
     }
   }
}

&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;initData&lt;/span&gt;() {  
   &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; (&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;yc&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;; &lt;span style=&#34;color:#a6e22e&#34;&gt;yc&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;docHeight&lt;/span&gt;; &lt;span style=&#34;color:#f92672&#34;&gt;++&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;yc&lt;/span&gt;) {
     &lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;rowRefColors&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;refDoc&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;rows&lt;/span&gt;[&lt;span style=&#34;color:#a6e22e&#34;&gt;yc&lt;/span&gt;].&lt;span style=&#34;color:#a6e22e&#34;&gt;pixels&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;color&lt;/span&gt;() ;
        &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; (&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;xc&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;; &lt;span style=&#34;color:#a6e22e&#34;&gt;xc&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;docWidth&lt;/span&gt;; &lt;span style=&#34;color:#f92672&#34;&gt;++&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;xc&lt;/span&gt;) {
			&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;darkness&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;getDarknessFromColor&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;rowRefColors&lt;/span&gt;[&lt;span style=&#34;color:#a6e22e&#34;&gt;xc&lt;/span&gt;])		
	 	    &lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;pixelCoord&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;xc&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;yc&lt;/span&gt;)
			 &lt;span style=&#34;color:#a6e22e&#34;&gt;setDarkness&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;darkness&lt;/span&gt;)
			 &lt;span style=&#34;color:#a6e22e&#34;&gt;setGrowthRate&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0.0&lt;/span&gt;)
			 &lt;span style=&#34;color:#a6e22e&#34;&gt;setAlphaDictOnly&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0.0&lt;/span&gt;)
			 &lt;span style=&#34;color:#a6e22e&#34;&gt;setActivationVal&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;pix&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;)
      }
   }
}
 
&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;run&lt;/span&gt; () {
	&lt;span style=&#34;color:#a6e22e&#34;&gt;initData&lt;/span&gt;()
	&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;growingPixels&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;initializePixels&lt;/span&gt;()
	&lt;span style=&#34;color:#a6e22e&#34;&gt;refDoc&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;filming&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;start&lt;/span&gt;()
    &lt;span style=&#34;color:#66d9ef&#34;&gt;while&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;scriptFinished&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;) { 
		&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;donePixels&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; Array()
		&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;nextGrowingPixels&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; Array()
		&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;gpCount&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;growingPixels&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;length&lt;/span&gt;
		&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; (&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;gpn&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;; &lt;span style=&#34;color:#a6e22e&#34;&gt;gpn&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;gpCount&lt;/span&gt;; &lt;span style=&#34;color:#f92672&#34;&gt;++&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;gpn&lt;/span&gt;) {
		    &lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;gp&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;growingPixels&lt;/span&gt;[&lt;span style=&#34;color:#a6e22e&#34;&gt;gpn&lt;/span&gt;]
			&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;gpDone&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;growPixel&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;gp&lt;/span&gt;)
			
			&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;gpDone&lt;/span&gt;) {
				 &lt;span style=&#34;color:#a6e22e&#34;&gt;donePixels&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;push&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;gp&lt;/span&gt;) 
			} &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt; {
				&lt;span style=&#34;color:#a6e22e&#34;&gt;nextGrowingPixels&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;push&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;gp&lt;/span&gt;)
			}
		}
		&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;dpCount&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;donePixels&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;length&lt;/span&gt;
		&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; (&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;dpn&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;; &lt;span style=&#34;color:#a6e22e&#34;&gt;dpn&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;dpCount&lt;/span&gt;; &lt;span style=&#34;color:#f92672&#34;&gt;++&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;dpn&lt;/span&gt; ) {
		    &lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;dp&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;donePixels&lt;/span&gt;[&lt;span style=&#34;color:#a6e22e&#34;&gt;dpn&lt;/span&gt;]
			&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;activatedPixels&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;activateNeighbors&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;dp&lt;/span&gt;)
			&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;anCount&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;activatedPixels&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;length&lt;/span&gt;
			&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; (&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;ani&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; ; &lt;span style=&#34;color:#a6e22e&#34;&gt;ani&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;anCount&lt;/span&gt;; &lt;span style=&#34;color:#f92672&#34;&gt;++&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;ani&lt;/span&gt;) {
			    &lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;ap&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;activatedPixels&lt;/span&gt;[&lt;span style=&#34;color:#a6e22e&#34;&gt;ani&lt;/span&gt;]
			}
			&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;activatedPixels&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;length&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;) {
			    &lt;span style=&#34;color:#a6e22e&#34;&gt;nextGrowingPixels&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;push&lt;/span&gt;(...&lt;span style=&#34;color:#a6e22e&#34;&gt;activatedPixels&lt;/span&gt;)
			}
			&lt;span style=&#34;color:#a6e22e&#34;&gt;markPixelDone&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;dp&lt;/span&gt;)
		}
		&lt;span style=&#34;color:#a6e22e&#34;&gt;refDoc&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;recordMovieFrame&lt;/span&gt;()
		&lt;span style=&#34;color:#a6e22e&#34;&gt;growingPixels&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;nextGrowingPixels&lt;/span&gt;
		&lt;span style=&#34;color:#a6e22e&#34;&gt;scriptFinished&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;growingPixels&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;length&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;
	}
	&lt;span style=&#34;color:#a6e22e&#34;&gt;refDoc&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;filming&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;stop&lt;/span&gt;({&lt;span style=&#34;color:#a6e22e&#34;&gt;filename&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Fin.mov&amp;#34;&lt;/span&gt;})
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
      <source:markdown>For the last in this initial series of examples of what you can do with [SinterPixels](https://apps.apple.com/us/app/sinterpixels/id6758914398), we&#39;ll make an animation of drawing this stained glass window from the Grande Museo del Duomo in Milan.

&lt;video src=&#34;https://cdn.uploads.micro.mov/908/2026/finished/playlist.m3u8&#34; poster=&#34;https://cdn.uploads.micro.blog/908/2026/frames/1775192-0-7f5d8e.jpg&#34; width=&#34;189&#34; height=&#34;365&#34; controls=&#34;controls&#34; playsinline=&#34;playsinline&#34; preload=&#34;metadata&#34;&gt;&lt;/video&gt;

We start with a picture of the stained glass, then set the alpha of every pixel to 0, so it starts off looking like a blank canvas.  Then, we&#39;ll progressively set the alpha of each pixel higher to reveal the image.

We&#39;ll start with just three pixels, gradually making them opaque.  When a pixel becomes opaque, it &#34;activates&#34; its neighbors.  The rate at which a pixel becomes opaque is proportional to its &#34;darkness&#34;.  This leads to the effect where the dark bands of the window appear first, and the lighter interiors of each pane become opaque more slowly.

To manage the list of activated pixels, the demo uses JapaScript in stead of AppleScript, as JavaScript has built in Array and Map types, which AppleScript doesn&#39;t have built in (although, similar capabilities are accessible using the AppleScript ObjectiveC feature, with the NSMutableArray and NSMutableDictionary types).

Most of the script is just looping through the &#39;growing pixels&#39; list, gradually setting the alpha of those pixels to larger values.

The script in its entirety is below:  The prerequisite is to load an image and set the name to &#34;reference&#34;, so that the script can refer to it. And, before starting the script, set all the alpha components to zero with this AppleScript:

```
tell application &#34;SinterPixels&#34;	set alpha component of every pixel of document &#34;reference&#34; to 0.0end tell
```

```javascript
const SinterPixels = Application(&#39;SinterPixels&#39;);

let refDoc = SinterPixels.documents(&#34;reference&#34;)
let scriptFinished = false 
let docWidth = refDoc.width() 
let docHeight = refDoc.height()
let darknessDict = new Map(); 
let growthRateDict = new Map();   
let activationDict = new Map();  
let alphaDict = new Map(); 

class pixelCoord {
    constructor(x, y) {
        this.x = x;
        this.y = y; 
    }
}
	
function getDarknessFromColor(refColor) {
	let re = refColor.redComponent
	let gr = refColor.greenComponent
	let bl = refColor.blueComponent
    return (1.0 - ((re + gr + bl) / 3.0))
}

function arrayIndexFor(pix) {
	let ai = pix.x + pix.y * docWidth 
	return ai
}

function setDarkness(pix, drk) {
	let arrayIndex = arrayIndexFor(pix)
	darknessDict.set(arrayIndex, drk) 
}

function getDarkness(pix) {
	let arrayIndex = arrayIndexFor(pix)
	let drk = darknessDict.get(arrayIndex)
	return drk 
}

function setGrowthRate(pix, gr) {
	let arrayIndex = arrayIndexFor(pix)
	growthRateDict.set(arrayIndex, gr)
}

function getGrowthRate(pix) {
	let arrayIndex = arrayIndexFor(pix)
	let gr = growthRateDict.get(arrayIndex)
	return gr  
}

function setActivationVal(pix, av) {
	let arrayIndex = arrayIndexFor(pix)
	activationDict.set(arrayIndex, av)
}

function getActivationVal(pix)  {
	let arrayIndex= arrayIndexFor(pix)	
	let av = activationDict.get(arrayIndex)	
	return av  
}

function canBeActivated(pix) {
	let av = getActivationVal(pix)
	let canBe = av == 0
	return canBe
}

function isActivated(pix) {
	let av = getActivationVal(pix)
	let isAct = av == 1
	return isAct
}

function setActivated(pix) {
	setActivationVal(pix, 1) 
}

function markPixelDone(pix) {
	setActivationVal(pix, 2)
}

function isPixelDone(pix) {
	let av = getActivationVal(pix)
	let isDone = av == 2
	return isDone
}

function setAlphaDictOnly(pix, newAlpha) {
	let arrayIndex = arrayIndexFor(pix)
	alphaDict.set(arrayIndex, newAlpha)
}

function setPixAlpha(pix, newAlpha) {
	let newAlf = newAlpha
	if (newAlpha &gt; 1.0) {
		 newAlf = 1.0
	}
	let arrayIndex = arrayIndexFor(pix)
	alphaDict.set(arrayIndex, newAlf)
	refDoc.rows[pix.y].pixels[pix.x].alphaComponent = newAlpha
	return newAlf == 1.0
}

function getPixAlpha(pix) {
	let arrayIndex = arrayIndexFor(pix)
	let alf = alphaDict.get(arrayIndex)
	return alf  
}

function addRate(pix, rate) {
	let oldRate = getGrowthRate(pix)  
	let newGrowthRate = oldRate + rate
	setGrowthRate(pix, newGrowthRate)
}

function activatePixel(pix, rate) {
	let av = getActivationVal(pix)
	if (av == 1) {
		 addRate(pix, rate)
		return false
	} else if (av == 0) {
		let darkness = getDarkness(pix)
		 setActivated(pix)
		 addRate(pix, rate + darkness)
		return true
	}
}

function activatePixels(activationList) {
	for (const activationListItem in activationList) {
		let pix = activationListItem[0]
		let rate =  activationListItem[1]
		let darkness = getDarkness(pix)
		 activatePixel(pix, rate + darkness)
	}
}

function initializePixels() {
	let pixArray = new Array();
	let pixa = new pixelCoord(20,docHeight - 2)
	let halfx = Math.trunc(docWidth / 2)
	let pixb = new pixelCoord(halfx, docHeight - 2)
	let pixc = new pixelCoord(docWidth - 20, docHeight - 2)
	pixArray.push(pixa)
 	pixArray.push(pixb)
 	pixArray.push(pixc)
    activatePixel(pixa, 0.5)
     activatePixel(pixb, 0.5)
     activatePixel(pixc, 0.5)
	return pixArray
}

function growPixel(pix) {
	if (pixExists(pix) == false) {
	    return false
	}
	let gr = getGrowthRate(pix)
	let pa = getPixAlpha(pix)
	let newAlpha = pa + gr 
	let setPixResult = setPixAlpha(pix, newAlpha)
	return setPixResult
}

function pixExists(pix) {
	let xc = pix.x
	let yc = pix.y
	return (xc &gt;= 0) &amp;&amp; (yc &gt;= 0) &amp;&amp; (xc &lt; (docWidth)) &amp;&amp; (yc &lt; (docHeight))
}

function addCoords(pix, dx, dy) {
	let newx = pix.x + dx
	let newy = pix.y + dy
	return [newx, newy]
}

function activateNeighbors(pix) {
	let darkness = getDarkness(pix)

	let newlyActive = new Array()
	let nnDeltas = [[1, 0], [0, 1], [-1, 0], [0, -1]]
	let diagonalDeltas = [[1, 1], [-1, 1], [-1, -1], [1, -1]] 
	let nndCount = nnDeltas.length

	for (let nndi = 0; nndi&lt;nndCount ; ++ nndi) {
	   let nnd = nnDeltas[nndi]
		let newCoords = addCoords(pix, nnd[0], nnd[1])
		let newPix = new pixelCoord(newCoords[0], newCoords[1])
		if (pixExists(newPix)) {
			let activated = activatePixel(newPix, darkness * darkness * 0.08)
			if (activated) { 
				  newlyActive.push(newPix)
			}
		}
	}
	let ddCount = diagonalDeltas.length
	for (let ddi = 0; ddi &lt;ddCount ; ++ ddi) {
	    let dd = diagonalDeltas[ddi]
		let diagCoords = addCoords(pix, dd[0], dd[1])
		let diagPix = new pixelCoord(diagCoords[0], diagCoords[1])
		if (pixExists(diagPix)) {
			let activated = activatePixel(diagPix, darkness * darkness * 0.05)
			if (activated) {
				 newlyActive.push(diagPix)
			}
		}
	}
	return newlyActive
} 

function initRefDoc() {
  for (let y = 0; y &lt; docHeight; ++y) {
     for (let x = 0; x &lt; docWidth; ++x) {
        refDoc.rows[y].pixels[x].alphaComponent = 0.0
     }
   }
}

function initData() {  
   for (let yc = 0; yc &lt; docHeight; ++yc) {
     let rowRefColors = refDoc.rows[yc].pixels.color() ;
        for (let xc = 0; xc &lt; docWidth; ++xc) {
			let darkness = getDarknessFromColor(rowRefColors[xc])		
	 	    let pix = new pixelCoord(xc, yc)
			 setDarkness(pix, darkness)
			 setGrowthRate(pix, 0.0)
			 setAlphaDictOnly(pix, 0.0)
			 setActivationVal(pix, 0)
      }
   }
}
 
function run () {
	initData()
	let growingPixels = initializePixels()
	refDoc.filming.start()
    while (scriptFinished == false) { 
		let donePixels = new Array()
		let nextGrowingPixels = new Array()
		let gpCount = growingPixels.length
		for (let gpn = 0; gpn&lt;gpCount; ++gpn) {
		    let gp = growingPixels[gpn]
			let gpDone = growPixel(gp)
			
			if (gpDone) {
				 donePixels.push(gp) 
			} else {
				nextGrowingPixels.push(gp)
			}
		}
		let dpCount = donePixels.length
		for (let dpn = 0; dpn &lt; dpCount; ++dpn ) {
		    let dp = donePixels[dpn]
			let activatedPixels = activateNeighbors(dp)
			let anCount = activatedPixels.length
			for (let ani = 0 ; ani &lt; anCount; ++ani) {
			    let ap = activatedPixels[ani]
			}
			if (activatedPixels.length &gt; 0) {
			    nextGrowingPixels.push(...activatedPixels)
			}
			markPixelDone(dp)
		}
		refDoc.recordMovieFrame()
		growingPixels = nextGrowingPixels
		scriptFinished = growingPixels.length == 0
	}
	refDoc.filming.stop({filename: &#34;Fin.mov&#34;})
}
```

</source:markdown>
    </item>
    
    <item>
      <title>SinterPixels Demo Part 10: Rotating Tiles Movie</title>
      <link>https://olof.micro.blog/2026/05/27/sinterpixels-demo-part-rotating-tiles.html</link>
      <pubDate>Wed, 27 May 2026 14:15:36 -0500</pubDate>
      
      <guid>http://olof.micro.blog/2026/05/27/sinterpixels-demo-part-rotating-tiles.html</guid>
      <description>&lt;head&gt;
  &lt;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=utf-8&#34;&gt;
  &lt;meta http-equiv=&#34;Content-Style-Type&#34; content=&#34;text/css&#34;&gt;
  &lt;style type=&#34;text/css&#34;&gt;
    p.p1 {margin: 0.0px 0.0px 0.0px 58.9px; text-indent: -59.0px; font: 18.0px Verdana; color: #000000; min-height: 22.0px}
    p.p2 {margin: 0.0px 0.0px 0.0px 58.9px; text-indent: -59.0px; font: 18.0px Verdana; color: #000000}
    p.p3 {margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 18.0px Verdana; color: #000000}
    p.p4 {margin: 0.0px 0.0px 0.0px 176.8px; text-indent: -176.8px; font: 18.0px Verdana; color: #6c05d3}
    p.p5 {margin: 0.0px 0.0px 0.0px 176.8px; text-indent: -176.8px; font: 18.0px Verdana; color: #0000ff}
    p.p6 {margin: 0.0px 0.0px 0.0px 176.8px; text-indent: -176.8px; font: 18.0px Verdana; color: #000000}
    p.p7 {margin: 0.0px 0.0px 0.0px 235.7px; text-indent: -235.7px; font: 18.0px Verdana; color: #000000}
    p.p8 {margin: 0.0px 0.0px 0.0px 294.6px; text-indent: -294.6px; font: 18.0px Verdana; color: #000000}
    p.p9 {margin: 0.0px 0.0px 0.0px 294.6px; text-indent: -294.6px; font: 18.0px Verdana; color: #0000ff}
    span.s1 {font-variant-ligatures: no-common-ligatures}
    span.s2 {font-variant-ligatures: no-common-ligatures; color: #0000ff}
    span.s3 {font-variant-ligatures: no-common-ligatures; color: #000000}
    span.s4 {font-variant-ligatures: no-common-ligatures; color: #408000}
    span.s5 {font-variant-ligatures: no-common-ligatures; color: #6c05d3}
    span.Apple-tab-span {white-space:pre}
  &lt;/style&gt;
&lt;/head&gt;
&lt;p&gt;Back in &lt;a href=&#34;https://olof.micro.blog/2026/05/15/sinterpixels-demos-part-a-tiling.html&#34;&gt;part 5 &lt;/a&gt; of my series on &lt;a href=&#34;https://apps.apple.com/us/app/sinterpixels/id6758914398&#34;&gt;SinterPixels&lt;/a&gt; demos: I showed how to make a grid by repeating this tile:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/1a530eb64b.jpg&#34;&gt; to make: &lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/c9baf972eb.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;SinterPixels is great at making images like that, but SinterPixels is unique in how it generates movies.  So after generating a grid like that, its easy to go ahead and generate a movie like this:&lt;/p&gt;
&lt;p&gt;&lt;video src=&#34;https://cdn.uploads.micro.mov/908/2026/rotatingtiles/playlist.m3u8&#34; controls=&#34;controls&#34; playsinline=&#34;playsinline&#34; preload=&#34;metadata&#34;&gt;&lt;/video&gt;&lt;/p&gt;
&lt;p&gt;In the script, we just select a random tile and spin it by 90 degrees, saving a movie frame every 2 degrees.  Here&amp;rsquo;s the script to generate the movie (prerequisite:   make the grid as shown in the &lt;a href=&#34;https://olof.micro.blog/2026/05/15/sinterpixels-demos-part-a-tiling.html&#34;&gt;post here&lt;/a&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; 1&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;start&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;filming&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;record movie frame&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; 10 &lt;b&gt;times&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;some&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;item&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; {0, 1, 2, 3, 4, 5, 6, 7}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;some&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;item&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;n&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; + &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * 10&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;nthTile&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;layer&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;n&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;rot&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;rotation&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;nthTile&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;from&lt;/b&gt; 1 &lt;b&gt;to&lt;/b&gt; 45&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;rotation&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;nthTile&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;rot&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; + (&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * 2)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;record movie frame&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;stop&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;filming&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
</description>
      <source:markdown>&lt;head&gt;
  &lt;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=utf-8&#34;&gt;
  &lt;meta http-equiv=&#34;Content-Style-Type&#34; content=&#34;text/css&#34;&gt;
  &lt;style type=&#34;text/css&#34;&gt;
    p.p1 {margin: 0.0px 0.0px 0.0px 58.9px; text-indent: -59.0px; font: 18.0px Verdana; color: #000000; min-height: 22.0px}
    p.p2 {margin: 0.0px 0.0px 0.0px 58.9px; text-indent: -59.0px; font: 18.0px Verdana; color: #000000}
    p.p3 {margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 18.0px Verdana; color: #000000}
    p.p4 {margin: 0.0px 0.0px 0.0px 176.8px; text-indent: -176.8px; font: 18.0px Verdana; color: #6c05d3}
    p.p5 {margin: 0.0px 0.0px 0.0px 176.8px; text-indent: -176.8px; font: 18.0px Verdana; color: #0000ff}
    p.p6 {margin: 0.0px 0.0px 0.0px 176.8px; text-indent: -176.8px; font: 18.0px Verdana; color: #000000}
    p.p7 {margin: 0.0px 0.0px 0.0px 235.7px; text-indent: -235.7px; font: 18.0px Verdana; color: #000000}
    p.p8 {margin: 0.0px 0.0px 0.0px 294.6px; text-indent: -294.6px; font: 18.0px Verdana; color: #000000}
    p.p9 {margin: 0.0px 0.0px 0.0px 294.6px; text-indent: -294.6px; font: 18.0px Verdana; color: #0000ff}
    span.s1 {font-variant-ligatures: no-common-ligatures}
    span.s2 {font-variant-ligatures: no-common-ligatures; color: #0000ff}
    span.s3 {font-variant-ligatures: no-common-ligatures; color: #000000}
    span.s4 {font-variant-ligatures: no-common-ligatures; color: #408000}
    span.s5 {font-variant-ligatures: no-common-ligatures; color: #6c05d3}
    span.Apple-tab-span {white-space:pre}
  &lt;/style&gt;
&lt;/head&gt;

Back in [part 5 ](https://olof.micro.blog/2026/05/15/sinterpixels-demos-part-a-tiling.html) of my series on [SinterPixels](https://apps.apple.com/us/app/sinterpixels/id6758914398) demos: I showed how to make a grid by repeating this tile:

&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/1a530eb64b.jpg&#34;&gt; to make: &lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/c9baf972eb.jpg&#34;&gt;

SinterPixels is great at making images like that, but SinterPixels is unique in how it generates movies.  So after generating a grid like that, its easy to go ahead and generate a movie like this: 
 
&lt;video src=&#34;https://cdn.uploads.micro.mov/908/2026/rotatingtiles/playlist.m3u8&#34; controls=&#34;controls&#34; playsinline=&#34;playsinline&#34; preload=&#34;metadata&#34;&gt;&lt;/video&gt;

In the script, we just select a random tile and spin it by 90 degrees, saving a movie frame every 2 degrees.  Here&#39;s the script to generate the movie (prerequisite:   make the grid as shown in the [post here](https://olof.micro.blog/2026/05/15/sinterpixels-demos-part-a-tiling.html) 

&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; 1&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;start&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;filming&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;record movie frame&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; 10 &lt;b&gt;times&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;some&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;item&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; {0, 1, 2, 3, 4, 5, 6, 7}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;some&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;item&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;n&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; + &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * 10&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;nthTile&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;layer&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;n&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;rot&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;rotation&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;nthTile&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;from&lt;/b&gt; 1 &lt;b&gt;to&lt;/b&gt; 45&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;rotation&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;nthTile&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;rot&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; + (&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * 2)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;record movie frame&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;stop&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;filming&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
</source:markdown>
    </item>
    
    <item>
      <title>SinterPixels Demos Part 9:  Circle Spiral</title>
      <link>https://olof.micro.blog/2026/05/26/sinterpixels-demos-part-circle-spiral.html</link>
      <pubDate>Tue, 26 May 2026 12:16:28 -0500</pubDate>
      
      <guid>http://olof.micro.blog/2026/05/26/sinterpixels-demos-part-circle-spiral.html</guid>
      <description>&lt;head&gt;
  &lt;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=utf-8&#34;&gt;
  &lt;meta http-equiv=&#34;Content-Style-Type&#34; content=&#34;text/css&#34;&gt;
  &lt;style type=&#34;text/css&#34;&gt;
    p.p1 {margin: 0.0px 0.0px 0.0px 62.4px; text-indent: -62.5px; font: 18.0px Verdana; color: #000000}
    p.p2 {margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 18.0px Verdana; color: #000000}
    p.p3 {margin: 0.0px 0.0px 0.0px 62.4px; text-indent: -62.5px; font: 18.0px Verdana; color: #000000; min-height: 22.0px}
    p.p4 {margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 18.0px Verdana; color: #0000ff}
    p.p5 {margin: 0.0px 0.0px 0.0px 187.3px; text-indent: -187.3px; font: 18.0px Verdana; color: #000000}
    span.s1 {font-variant-ligatures: no-common-ligatures}
    span.s2 {font-variant-ligatures: no-common-ligatures; color: #408000}
    span.s3 {font-variant-ligatures: no-common-ligatures; color: #0016b0}
    span.s4 {font-variant-ligatures: no-common-ligatures; color: #0000ff}
    span.s5 {font-variant-ligatures: no-common-ligatures; color: #000000}
    span.s6 {font-variant-ligatures: no-common-ligatures; color: #6c05d3}
    span.Apple-tab-span {white-space:pre}
  &lt;/style&gt;
&lt;/head&gt;
&lt;p&gt;Here&amp;rsquo;s another example of a twirl kind of shape that is extremely easy to generate.&lt;/p&gt;
&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/bc6ac0ecb0.jpg&#34;&gt;
&lt;p&gt;This image is just 50 circles.  The trick to getting the spiral shape is to offset the position in both x and y by a cosine function as the circles get larger.&lt;/p&gt;
&lt;p&gt;The color is set with an HSB color, also varying as the circles get larger.  The script itself is only 12 lines ling:&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;on&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;cos&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;return&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;run script&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;Math.cos(&#34; &amp;amp; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &amp;amp; &#34;)&#34; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;in&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;JavaScript&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;cos&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;doc1&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;height&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:400, &lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:400}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;from&lt;/b&gt; 1 &lt;b&gt;to&lt;/b&gt; 50&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;cos&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; + 1.57)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;py&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;cos&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;hsbColor&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {&lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;hue&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * 0.05, &lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;saturation&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:1.0, &lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;brightness&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:0.8}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;circle&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;at&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;beginning&lt;/b&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;doc1&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:{2 * &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, 2 * &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;py&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;}, &lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;radius&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * 6, &lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;hsbColor&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;&lt;i&gt;clear&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;line width&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:4}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
</description>
      <source:markdown>&lt;head&gt;
  &lt;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=utf-8&#34;&gt;
  &lt;meta http-equiv=&#34;Content-Style-Type&#34; content=&#34;text/css&#34;&gt;
  &lt;style type=&#34;text/css&#34;&gt;
    p.p1 {margin: 0.0px 0.0px 0.0px 62.4px; text-indent: -62.5px; font: 18.0px Verdana; color: #000000}
    p.p2 {margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 18.0px Verdana; color: #000000}
    p.p3 {margin: 0.0px 0.0px 0.0px 62.4px; text-indent: -62.5px; font: 18.0px Verdana; color: #000000; min-height: 22.0px}
    p.p4 {margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 18.0px Verdana; color: #0000ff}
    p.p5 {margin: 0.0px 0.0px 0.0px 187.3px; text-indent: -187.3px; font: 18.0px Verdana; color: #000000}
    span.s1 {font-variant-ligatures: no-common-ligatures}
    span.s2 {font-variant-ligatures: no-common-ligatures; color: #408000}
    span.s3 {font-variant-ligatures: no-common-ligatures; color: #0016b0}
    span.s4 {font-variant-ligatures: no-common-ligatures; color: #0000ff}
    span.s5 {font-variant-ligatures: no-common-ligatures; color: #000000}
    span.s6 {font-variant-ligatures: no-common-ligatures; color: #6c05d3}
    span.Apple-tab-span {white-space:pre}
  &lt;/style&gt;
&lt;/head&gt;

Here&#39;s another example of a twirl kind of shape that is extremely easy to generate.

&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/bc6ac0ecb0.jpg&#34;&gt;

This image is just 50 circles.  The trick to getting the spiral shape is to offset the position in both x and y by a cosine function as the circles get larger. 

The color is set with an HSB color, also varying as the circles get larger.  The script itself is only 12 lines ling:

&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;on&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;cos&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;return&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;run script&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;Math.cos(&#34; &amp;amp; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &amp;amp; &#34;)&#34; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;in&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;JavaScript&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;cos&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;doc1&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;height&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:400, &lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:400}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;from&lt;/b&gt; 1 &lt;b&gt;to&lt;/b&gt; 50&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;cos&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; + 1.57)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;py&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;cos&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;hsbColor&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {&lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;hue&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * 0.05, &lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;saturation&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:1.0, &lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;brightness&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:0.8}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;circle&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;at&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;beginning&lt;/b&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;doc1&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:{2 * &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, 2 * &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;py&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;}, &lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;radius&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * 6, &lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;hsbColor&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;&lt;i&gt;clear&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;line width&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:4}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;


</source:markdown>
    </item>
    
    <item>
      <title>SinterPixels Demos Part 8: Color Spirals</title>
      <link>https://olof.micro.blog/2026/05/23/sinterpixels-demos-part-color-spirals.html</link>
      <pubDate>Sat, 23 May 2026 13:58:29 -0500</pubDate>
      
      <guid>http://olof.micro.blog/2026/05/23/sinterpixels-demos-part-color-spirals.html</guid>
      <description>&lt;head&gt;
  &lt;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=utf-8&#34;&gt;
  &lt;meta http-equiv=&#34;Content-Style-Type&#34; content=&#34;text/css&#34;&gt;
  &lt;title&gt;&lt;/title&gt;
  &lt;meta name=&#34;Generator&#34; content=&#34;Cocoa HTML Writer&#34;&gt;
  &lt;meta name=&#34;CocoaVersion&#34; content=&#34;2685.5&#34;&gt;
  &lt;style type=&#34;text/css&#34;&gt;
    p.p1 {margin: 0.0px 0.0px 0.0px 62.4px; text-indent: -62.5px; font: 18.0px Verdana; color: #408000}
    p.p2 {margin: 0.0px 0.0px 0.0px 62.4px; text-indent: -62.5px; font: 18.0px Verdana; color: #000000}
    p.p3 {margin: 0.0px 0.0px 0.0px 62.4px; text-indent: -62.5px; font: 18.0px Verdana; color: #000000; min-height: 22.0px}
    p.p4 {margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 18.0px Verdana; color: #0000ff}
    p.p5 {margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 18.0px Verdana; color: #000000}
    p.p6 {margin: 0.0px 0.0px 0.0px 187.3px; text-indent: -187.3px; font: 18.0px Verdana; color: #000000}
    p.p7 {margin: 0.0px 0.0px 0.0px 249.8px; text-indent: -249.8px; font: 18.0px Verdana; color: #408000}
    p.p8 {margin: 0.0px 0.0px 0.0px 249.8px; text-indent: -249.8px; font: 18.0px Verdana; color: #000000}
    p.p9 {margin: 0.0px 0.0px 0.0px 312.1px; text-indent: -312.2px; font: 18.0px Verdana; color: #408000}
    p.p10 {margin: 0.0px 0.0px 0.0px 312.1px; text-indent: -312.2px; font: 18.0px Verdana; color: #000000}
    p.p11 {margin: 0.0px 0.0px 0.0px 312.1px; text-indent: -312.2px; font: 18.0px Verdana; color: #000000; min-height: 22.0px}
    p.p12 {margin: 0.0px 0.0px 0.0px 312.1px; text-indent: -312.2px; font: 18.0px Verdana; color: #6c05d3}
    span.s1 {font-variant-ligatures: no-common-ligatures; color: #000000}
    span.s2 {font-variant-ligatures: no-common-ligatures}
    span.s3 {font-variant-ligatures: no-common-ligatures; color: #408000}
    span.s4 {font-variant-ligatures: no-common-ligatures; color: #0000ff}
    span.s5 {font-variant-ligatures: no-common-ligatures; color: #6c05d3}
    span.Apple-tab-span {white-space:pre}
  &lt;/style&gt;
&lt;/head&gt;
&lt;p&gt;Next up in examples of what you can do with &lt;a href=&#34;https://apps.apple.com/us/app/sinterpixels/id6758914398&#34;&gt;SinterPixels&lt;/a&gt;, my new app in the macOS App Store:  Using radial coordinates and HSB colors!&lt;/p&gt;
&lt;p&gt;In SinterPixels, it&amp;rsquo;s possible to specify positions using radial coordinates &amp;ndash; that is, an angle and a radius, instead of using x and y coordinates.  That means it&amp;rsquo;s easy to make a radial shape like this spiral.  It is also possible to specify colors using HSB values (as opposed to RGB, which also makes it easy to apply colors around a circle like in a color wheel &amp;ndash; that&amp;rsquo;s the H (&amp;ldquo;Hue&amp;rdquo;) component of HSB.&lt;/p&gt;
&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/74d588993e.jpg&#34;&gt;
&lt;p&gt;Here&amp;rsquo;s the script that generates this image.  Changing the parameters like numSpirals and twirliness produce different shapes.  Have fun exploring!&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;numSpirals&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; 7&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;twoPi&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;to&lt;/b&gt; 6.283&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;twirliness&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;to&lt;/b&gt; 2.2&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;spiralLength&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; 18&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;shellThickness&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; 10&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;newDoc&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;height&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:420, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:420}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;newDoc&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;radLoop&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;from&lt;/b&gt; 1 &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;spiralLength&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;rad&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;shellThickness&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;radLoop&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;angleLoop&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;from&lt;/b&gt; 1 &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;numSpirals&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;ang&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;angleLoop&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;twoPi&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; / &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;numSpirals&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; + &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;radLoop&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * (&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;twirliness&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; / &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;shellThickness&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p10&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;h&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;to&lt;/b&gt; (&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;ang&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; / &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;twoPi&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; (&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;radLoop&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; / &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;shellThickness&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p10&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;aColor&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;to&lt;/b&gt; {&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;hue&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;h&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;saturation&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;:1.0, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;brightness&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p10&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;bColor&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;to&lt;/b&gt; {&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;hue&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;h&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;saturation&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;:0.5, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;brightness&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;c1&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;circle&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;aColor&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;bColor&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;radius&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;radLoop&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; + 2, &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:{&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;angle&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;ang&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;radius&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;rad&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;}}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
</description>
      <source:markdown>&lt;head&gt;
  &lt;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=utf-8&#34;&gt;
  &lt;meta http-equiv=&#34;Content-Style-Type&#34; content=&#34;text/css&#34;&gt;
  &lt;title&gt;&lt;/title&gt;
  &lt;meta name=&#34;Generator&#34; content=&#34;Cocoa HTML Writer&#34;&gt;
  &lt;meta name=&#34;CocoaVersion&#34; content=&#34;2685.5&#34;&gt;
  &lt;style type=&#34;text/css&#34;&gt;
    p.p1 {margin: 0.0px 0.0px 0.0px 62.4px; text-indent: -62.5px; font: 18.0px Verdana; color: #408000}
    p.p2 {margin: 0.0px 0.0px 0.0px 62.4px; text-indent: -62.5px; font: 18.0px Verdana; color: #000000}
    p.p3 {margin: 0.0px 0.0px 0.0px 62.4px; text-indent: -62.5px; font: 18.0px Verdana; color: #000000; min-height: 22.0px}
    p.p4 {margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 18.0px Verdana; color: #0000ff}
    p.p5 {margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 18.0px Verdana; color: #000000}
    p.p6 {margin: 0.0px 0.0px 0.0px 187.3px; text-indent: -187.3px; font: 18.0px Verdana; color: #000000}
    p.p7 {margin: 0.0px 0.0px 0.0px 249.8px; text-indent: -249.8px; font: 18.0px Verdana; color: #408000}
    p.p8 {margin: 0.0px 0.0px 0.0px 249.8px; text-indent: -249.8px; font: 18.0px Verdana; color: #000000}
    p.p9 {margin: 0.0px 0.0px 0.0px 312.1px; text-indent: -312.2px; font: 18.0px Verdana; color: #408000}
    p.p10 {margin: 0.0px 0.0px 0.0px 312.1px; text-indent: -312.2px; font: 18.0px Verdana; color: #000000}
    p.p11 {margin: 0.0px 0.0px 0.0px 312.1px; text-indent: -312.2px; font: 18.0px Verdana; color: #000000; min-height: 22.0px}
    p.p12 {margin: 0.0px 0.0px 0.0px 312.1px; text-indent: -312.2px; font: 18.0px Verdana; color: #6c05d3}
    span.s1 {font-variant-ligatures: no-common-ligatures; color: #000000}
    span.s2 {font-variant-ligatures: no-common-ligatures}
    span.s3 {font-variant-ligatures: no-common-ligatures; color: #408000}
    span.s4 {font-variant-ligatures: no-common-ligatures; color: #0000ff}
    span.s5 {font-variant-ligatures: no-common-ligatures; color: #6c05d3}
    span.Apple-tab-span {white-space:pre}
  &lt;/style&gt;
&lt;/head&gt;


Next up in examples of what you can do with [SinterPixels](https://apps.apple.com/us/app/sinterpixels/id6758914398), my new app in the macOS App Store:  Using radial coordinates and HSB colors!

In SinterPixels, it&#39;s possible to specify positions using radial coordinates -- that is, an angle and a radius, instead of using x and y coordinates.  That means it&#39;s easy to make a radial shape like this spiral.  It is also possible to specify colors using HSB values (as opposed to RGB, which also makes it easy to apply colors around a circle like in a color wheel -- that&#39;s the H (&#34;Hue&#34;) component of HSB.

&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/74d588993e.jpg&#34;&gt;

Here&#39;s the script that generates this image.  Changing the parameters like numSpirals and twirliness produce different shapes.  Have fun exploring!

&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;numSpirals&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; 7&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;twoPi&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;to&lt;/b&gt; 6.283&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;twirliness&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;to&lt;/b&gt; 2.2&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;spiralLength&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; 18&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;shellThickness&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; 10&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;newDoc&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;height&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:420, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:420}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;newDoc&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;radLoop&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;from&lt;/b&gt; 1 &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;spiralLength&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;rad&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;shellThickness&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;radLoop&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;angleLoop&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;from&lt;/b&gt; 1 &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;numSpirals&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;ang&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;angleLoop&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;twoPi&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; / &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;numSpirals&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; + &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;radLoop&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * (&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;twirliness&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; / &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;shellThickness&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p10&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;h&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;to&lt;/b&gt; (&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;ang&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; / &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;twoPi&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; (&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;radLoop&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; / &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;shellThickness&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p10&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;aColor&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;to&lt;/b&gt; {&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;hue&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;h&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;saturation&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;:1.0, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;brightness&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p10&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;bColor&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;to&lt;/b&gt; {&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;hue&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;h&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;saturation&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;:0.5, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;brightness&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;c1&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;circle&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;aColor&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;bColor&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;radius&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;radLoop&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; + 2, &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:{&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;angle&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;ang&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;radius&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;rad&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;}}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
</source:markdown>
    </item>
    
    <item>
      <title>SinterPixels Demos Part 7:  Karaoke Video</title>
      <link>https://olof.micro.blog/2026/05/22/sinterpixels-demos-part-karaoke-video.html</link>
      <pubDate>Fri, 22 May 2026 15:56:47 -0500</pubDate>
      
      <guid>http://olof.micro.blog/2026/05/22/sinterpixels-demos-part-karaoke-video.html</guid>
      <description>&lt;head&gt;
  &lt;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=utf-8&#34;&gt;
  &lt;meta http-equiv=&#34;Content-Style-Type&#34; content=&#34;text/css&#34;&gt;
  &lt;title&gt;&lt;/title&gt;
  &lt;style type=&#34;text/css&#34;&gt;
    p.p1 {margin: 0.0px 0.0px 0.0px 58.9px; text-indent: -59.0px; font: 18.0px Verdana; color: #000000; min-height: 22.0px}
    p.p2 {margin: 0.0px 0.0px 0.0px 58.9px; text-indent: -59.0px; font: 18.0px Verdana; color: #000000}
    p.p3 {margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 18.0px Verdana; color: #000000}
    p.p4 {margin: 0.0px 0.0px 0.0px 58.9px; text-indent: -59.0px; font: 18.0px Verdana; color: #408000}
    p.p5 {margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 18.0px Verdana; color: #408000}
    p.p6 {margin: 0.0px 0.0px 0.0px 176.8px; text-indent: -176.8px; font: 18.0px Verdana; color: #408000}
    p.p7 {margin: 0.0px 0.0px 0.0px 176.8px; text-indent: -176.8px; font: 18.0px Verdana; color: #000000}
    p.p8 {margin: 0.0px 0.0px 0.0px 235.7px; text-indent: -235.7px; font: 18.0px Verdana; color: #408000}
    p.p9 {margin: 0.0px 0.0px 0.0px 235.7px; text-indent: -235.7px; font: 18.0px Verdana; color: #000000}
    p.p10 {margin: 0.0px 0.0px 0.0px 294.6px; text-indent: -294.6px; font: 18.0px Verdana; color: #6c05d3}
    p.p11 {margin: 0.0px 0.0px 0.0px 294.6px; text-indent: -294.6px; font: 18.0px Verdana; color: #000000}
    p.p12 {margin: 0.0px 0.0px 0.0px 294.6px; text-indent: -294.6px; font: 18.0px Verdana; color: #408000}
    p.p13 {margin: 0.0px 0.0px 0.0px 353.5px; text-indent: -353.6px; font: 18.0px Verdana; color: #408000}
    p.p14 {margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 18.0px Verdana; color: #4c4e4e}
    p.p15 {margin: 0.0px 0.0px 0.0px 353.5px; text-indent: -353.6px; font: 18.0px Verdana; color: #000000}
    p.p16 {margin: 0.0px 0.0px 0.0px 412.4px; text-indent: -412.5px; font: 18.0px Verdana; color: #000000}
    p.p17 {margin: 0.0px 0.0px 0.0px 412.4px; text-indent: -412.5px; font: 18.0px Verdana; color: #408000}
    p.p18 {margin: 0.0px 0.0px 0.0px 412.4px; text-indent: -412.5px; font: 18.0px Verdana; color: #0000ff}
    p.p19 {margin: 0.0px 0.0px 0.0px 235.7px; text-indent: -235.7px; font: 18.0px Verdana; color: #000000; min-height: 22.0px}
    p.p20 {margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 18.0px Verdana; color: #0000ff}
    p.p21 {margin: 0.0px 0.0px 0.0px 176.8px; text-indent: -176.8px; font: 18.0px Verdana; color: #6c05d3}
    p.p22 {margin: 0.0px 0.0px 0.0px 176.8px; text-indent: -176.8px; font: 18.0px Verdana; color: #000000; min-height: 22.0px}
    p.p23 {margin: 0.0px 0.0px 0.0px 353.5px; text-indent: -353.6px; font: 18.0px Verdana; color: #0000ff}
    p.p24 {margin: 0.0px 0.0px 0.0px 235.7px; text-indent: -235.7px; font: 18.0px Verdana; color: #0000ff}
    span.s1 {font-variant-ligatures: no-common-ligatures}
    span.s2 {font-variant-ligatures: no-common-ligatures; color: #408000}
    span.s3 {font-variant-ligatures: no-common-ligatures; color: #000000}
    span.s4 {font-variant-ligatures: no-common-ligatures; color: #0000ff}
    span.s5 {font-variant-ligatures: no-common-ligatures; color: #6c05d3}
    span.Apple-tab-span {white-space:pre}
  &lt;/style&gt;
&lt;/head&gt;
&lt;p&gt;Next up in examples of what you can do with &lt;a href=&#34;https://apps.apple.com/us/app/sinterpixels/id6758914398&#34;&gt;SinterPixels&lt;/a&gt;, my new app in the macOS App Store:  making a Karaoke Video:&lt;/p&gt;
&lt;p&gt;&lt;video src=&#34;https://cdn.uploads.micro.mov/908/2026/tmottbgclipped/playlist.m3u8&#34; poster=&#34;https://cdn.uploads.micro.blog/908/2026/frames/1763566-0-eb839d.jpg&#34; width=&#34;600&#34; height=&#34;112&#34; controls=&#34;controls&#34; playsinline=&#34;playsinline&#34; preload=&#34;metadata&#34;&gt;&lt;/video&gt;&lt;/p&gt;
&lt;p&gt;This is a pretty involved script &amp;ndash; by far the longest so far in our suite of examples. But it does a lot!  It has to layout the text on the screen, apply color to the right word at the right time, fade in the new text at the right time, etc. However, it is easy enough to understand, so you can make your own karaoke videos without tinkering too much with this script.  You could just replace the words and timing data in the first line, and it might word just fine if the lines for your song aren&amp;rsquo;t too long!&lt;/p&gt;
&lt;p&gt;First, we need to have the words of the song in the script, and also we need to know how long each word should be highlighted on the screen.  That&amp;rsquo;s captured in this first statement:&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;allLines&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; { { {&#34;Take&#34;, &#34;me&#34;, &#34;out&#34;, &#34;to&#34;, &#34;the&#34;, &#34;ball&#34;, &#34;game&#34;}, {2, 1, 1, 1, 1, 3, 3} }, ¬&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;{ {&#34;Take&#34;, &#34;me&#34;, &#34;out&#34;, &#34;with&#34;, &#34;the&#34;, &#34;crowd&#34;}, {2, 1, 1, 1, 1, 6} }, ¬&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;{ {&#34;Buy&#34;, &#34;me&#34;, &#34;some&#34;, &#34;pea&#34;, &#34;.nuts&#34;, &#34;and&#34;, &#34;crack&#34;, &#34;.er&#34;, &#34;jack&#34;}, {1, 1, 1, 1, 1, 1, 2, 1, 3} }, ¬&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;{ {&#34;I&#34;, &#34;don&#39;t&#34;, &#34;care&#34;, &#34;if&#34;, &#34;I&#34;, &#34;ev&#34;, &#34;.er&#34;, &#34;get&#34;, &#34;back&#34;}, {2, 1, 1, 1, 1, 1, 1, 1, 1} }, ¬&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;{ {&#34;&#39;cause&#34;, &#34;it&#39;s&#34;, &#34;root&#34;, &#34;root&#34;, &#34;root&#34;, &#34;for&#34;, &#34;the&#34;, &#34;Phil&#34;, &#34;.lies&#34;}, {1, 1, 2, 1, 1, 1, 1, 3, 2} }, ¬&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;{ {&#34;If&#34;, &#34;they&#34;, &#34;don&#39;t&#34;, &#34;win&#34;, &#34;it&#39;s&#34;, &#34;a&#34;, &#34;shame&#34;}, {1, 2, 1, 1, 1, 1, 4} }, ¬&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;{ {&#34;For&#34;, &#34;it&#39;s&#34;, &#34;1&#34;, &#34;2&#34;, &#34;3&#34;, &#34;strikes&#34;, &#34;you&#39;re&#34;, &#34;out&#34;}, {1, 1, 3, 3, 1, 1, 1, 1} }, ¬&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;{ {&#34;at&#34;, &#34;the&#34;, &#34;old&#34;, &#34;ball&#34;, &#34;game&#34;}, {1, 1, 3, 3, 6} } }&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Here we have  a list of eight items.  each item is a pair of lists &amp;ndash; a list of &amp;ldquo;words&amp;rdquo; and a list of durations for each word.  If you look carefully, not all of the words are words.  In the case we have a two-syllable word, like &amp;ldquo;peanuts&amp;rdquo;, we want the two syllable highlighted separately, so we make it two entries &amp;ndash; &amp;ldquo;pea&amp;rdquo; and &amp;ldquo;.nuts&amp;rdquo;  The period in from of &amp;ldquo;nuts&amp;rdquo; is the signal to ourselves that we don&amp;rsquo;t want a space between &amp;ldquo;pea&amp;rdquo; and &amp;ldquo;nuts&amp;rdquo; in the layout.&lt;/p&gt;
&lt;p&gt;In the list of durations, a 1 corresponds to a quarter note, 2 to a half note, etc.  &amp;ldquo;Take Me Out to The Ball Game&amp;rdquo; is in 3/4 time, so a line of 4 bars generally adds up to 12, but in a few verses, the next line begins before the 4 bars finish, so that isn&amp;rsquo;t always the case.&lt;/p&gt;
&lt;p&gt;One of our helper functions is durationOfLine(karaokeLine).  In this case, karaokeLine is the pair of list of words and list of durations.  This function just adds up the durations:&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;durationOfLine&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;karaokeLine&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;ticks&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;item&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; 2 &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;karaokeLine&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;lineDuration&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; 0&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;t&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;in&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;ticks&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;lineDuration&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;lineDuration&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; + &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;t&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;return&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;lineDuration&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;durationOfLine&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Another helper function is removeFirstCharOf(str).  This one is useful to pull that leading period off of a string like &amp;ldquo;.nuts&amp;rdquo;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;removeFirstCharOf&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;str&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;newString&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; (&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;characters&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; 2 &lt;b&gt;thru&lt;/b&gt; -1 &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;str&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;) &lt;b&gt;as&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;string&lt;/i&gt;&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;return&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newString&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;removeFirstCharOf&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;An important helper function is lineLayout(karaokeLine, yPos, theDoc, wordColor)  This function creates and returns a list of text shape objects at the given y coordinate. Each text shape has the right x coordinate, allowing for spaces between the words.&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;layoutLine&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;karaokeLine&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;yPos&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;theDoc&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wordColor&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wds&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;item&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; 1 &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;karaokeLine&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;lineLayout&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;specialWordIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; {}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;totalSize&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; 0&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthText&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;in&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wds&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;isSpecial&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthText&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;begins with&lt;/b&gt; &#34;.&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;if&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;isSpecial&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;then&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;additionalSpace&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; 0&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;displayText&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;removeFirstCharOf&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wthText&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;else&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;additionalSpace&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; 10&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;displayText&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wthText&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;if&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;theDoc&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p10&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthWord&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;text shape&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;text content&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;displayText&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;:{0, &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;yPos&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;}, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wordColor&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;font size&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;:32}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthSize&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;size&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthWord&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;totalSize&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;totalSize&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; + (&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wthSize&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;) + &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;additionalSpace&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;lineLayout&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;lineLayout&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &amp;amp; {&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wthWord&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;if&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;isSpecial&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;then&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p13&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;specialWordIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;specialWordIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &amp;amp; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;ID&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wthWord&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;if&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p14&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;-- now space out the words on the line&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;currentx&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;totalSize&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; / -2&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthWord&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;in&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;lineLayout&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;theDoc&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;if&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;specialWordIDs&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;does not&lt;/b&gt; &lt;b&gt;contain&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;ID&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthWord&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;then&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p15&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;currentx&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;currentx&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; + 10&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;if&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;thisWidth&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;size&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthWord&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;x coordinate&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthWord&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; (&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;currentx&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; + &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;thisWidth&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; / 2)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;currentx&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;currentx&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; + &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;thisWidth&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;return&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;lineLayout&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;layoutLine&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Part of the script will make the words fade in , with the helper function wax() &amp;ndash; and make the words fade out, with the helper function fade().  The fade in and fade out is accomplished by setting the alpha of the text shapes.&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fade&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wordIds&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;theDoc&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;remainingIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; {}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthId&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;in&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wordIds&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;theDoc&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p10&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;oldAlpha&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;alpha component&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;text shape&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;id&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthId&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;try&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p15&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;if&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;oldAlpha&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &amp;gt; 0.06 &lt;b&gt;then&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p16&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;alpha component&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;text shape&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;&lt;i&gt;id&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthId&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;oldAlpha&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; - 0.04&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p17&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;remainingIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;remainingIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &amp;amp; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wthId&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p15&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;else&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p18&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;delete&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;text shape&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;&lt;i&gt;id&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthId&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p15&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;if&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;try&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;return&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;remainingIDs&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;fade&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wax&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;waxingWordData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;theDoc&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newWaxingData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; {}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nthWaxDatum&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;in&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;waxingWordData&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;theID&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;shapeID&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nthWaxDatum&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;newAlpha&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; (&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;alf&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;nthWaxDatum&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;) + 0.01&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;if&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;newAlpha&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; ≥ 1.0 &lt;b&gt;then&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;newAlpha&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; 1.0&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;if&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;if&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;newAlpha&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &amp;gt; 0.0 &lt;b&gt;then&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p19&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;theDoc&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p15&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;b&gt;the&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;alpha component&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;shape&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;&lt;i&gt;id&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;theID&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;newAlpha&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p19&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;if&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;if&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;newAlpha&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &amp;lt; 1.0 &lt;b&gt;then&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newWaxingData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newWaxingData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &amp;amp; { {&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;shapeID&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;theID&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;alf&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newAlpha&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;} }&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;if&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;return&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newWaxingData&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wax&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;And the last helper function &amp;ndash; fillNewWaxingWordData(waxingData, lineLayout), which sets up the text shapes so they are ready to fade in:&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fillNewWaxingWordData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;waxingData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;lineLayout&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newWaxingWordData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;waxingData&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wordAlpha&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; -1.0&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;nthWord&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;in&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;lineLayout&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newWaxingWordData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newWaxingWordData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &amp;amp; { {&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;shapeID&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;id&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nthWord&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;alf&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wordAlpha&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;} }&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wordAlpha&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wordAlpha&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; - 0.25&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;return&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newWaxingWordData&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fillNewWaxingWordData&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Now the part of the script that puts all the pieces together.  It starts a movie, proceeds to layout each line at the right time, and invokes the fade in and fade out of each text shape.  When the time is right, it sets the color of one of the words to blue, and resets the previously blue word to gray
Most importantly, it records each movie frame, and when the movie is complete, save the movie to a file.&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;lineCount&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;b&gt;count&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;allLines&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fadingWordIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; {}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;waxingWordData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; {}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;lineCount&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;b&gt;count&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;allLines&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p20&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;theDoc&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;height&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;:112, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;:600}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;theDoc&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p21&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;b&gt;start&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;filming&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;numLoops&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; (&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;lineCount&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; + 1) / 2&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;topLine&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;item&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; 1 &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;allLines&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;topLineLayout&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;layoutLine&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;topLine&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, 28, &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;theDoc&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, {0.5, 0.5, 0.5, 1.0})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;bottomLine&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;item&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; 2 &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;allLines&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;bottomLineLayout&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;layoutLine&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;bottomLine&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, -28, &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;theDoc&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, {0.5, 0.5, 0.5, 1.0})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p22&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;nthLoop&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;from&lt;/b&gt; 1 &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;numLoops&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextTopLineIndex&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; (2 * &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nthLoop&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; + 1)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;if&lt;/b&gt; (&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;lineCount&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; ≥ &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextTopLineIndex&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;) &lt;b&gt;then&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextTopLine&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;item&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextTopLineIndex&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;allLines&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;nextTopLineLayout&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;layoutLine&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;nextTopLine&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, 28, &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;theDoc&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, {0.5, 0.5, 0.5, 0.0})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;waxingWordData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fillNewWaxingWordData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;waxingWordData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextTopLineLayout&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;else&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;nextTopLine&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextTopLineLayout&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; {}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;if&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;ticks&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;item&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; 2 &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;topLine&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;w&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; 0&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wthWord&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;in&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;topLineLayout&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;w&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;w&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; + 1&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthCount&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;item&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;w&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;ticks&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;frames&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthCount&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * 15&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthWord&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;&lt;i&gt;blue&lt;/i&gt;&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;fr&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;from&lt;/b&gt; 1 &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;frames&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p23&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;record movie frame&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;duration&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; 1&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p13&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fadingWordIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fade&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fadingWordIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;theDoc&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p13&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;waxingWordData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wax&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;waxingWordData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;theDoc&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fadingWordIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fadingWordIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &amp;amp; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;ID&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wthWord&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthWord&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;&lt;i&gt;gray&lt;/i&gt;&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p19&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p19&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;if&lt;/b&gt; (&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;nthLoop&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &amp;gt; 1) &lt;b&gt;then&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;bottomLine&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextBottomLine&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;bottomLineLayout&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextBottomLineLayout&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;if&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextBottomLineIndex&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; (2 * &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nthLoop&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; + 2)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;if&lt;/b&gt; (&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;lineCount&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; ≥ &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextBottomLineIndex&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;) &lt;b&gt;then&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextBottomLine&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;item&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextBottomLineIndex&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;allLines&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextBottomLineLayout&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;layoutLine&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextBottomLine&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, -28, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;theDoc&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, {0.5, 0.5, 0.5, 0.0})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;waxingWordData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fillNewWaxingWordData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;waxingWordData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextBottomLineLayout&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;else&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextBottomLineLayout&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; {}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;nextBottomLine&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;if&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p19&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;w&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; 0&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;ticks&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;item&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; 2 &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;bottomLine&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wthWord&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;in&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;bottomLineLayout&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;w&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;w&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; + 1&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthCount&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;item&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;w&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;ticks&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;frames&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthCount&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * 15&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthWord&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;&lt;i&gt;blue&lt;/i&gt;&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;fr&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;from&lt;/b&gt; 1 &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;frames&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p23&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;record movie frame&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;duration&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; 1&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p13&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fadingWordIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fade&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fadingWordIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;theDoc&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p13&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;waxingWordData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wax&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;waxingWordData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;theDoc&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fadingWordIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fadingWordIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &amp;amp; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;ID&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wthWord&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthWord&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;&lt;i&gt;gray&lt;/i&gt;&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;topLineLayout&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextTopLineLayout&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;topLine&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextTopLine&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p22&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;fr&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;from&lt;/b&gt; 1 &lt;b&gt;to&lt;/b&gt; 120&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p24&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;record movie frame&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;duration&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; 1&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fadingWordIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fade&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fadingWordIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;theDoc&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p22&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;b&gt;stop&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;filming&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;filename&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;KaraokeMovie.mov&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br&gt;
See the SinterPixels support [github site ](https://github.com/olofhellman/SinterpixelsSupportFiles/blob/main/docs/Karaoke.md) for additional info:  
&lt;p&gt;Here&amp;rsquo;s the full video on YouTube:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=Od8nZH_MkzU&#34;&gt;www.youtube.com/watch&lt;/a&gt;&lt;/p&gt;
</description>
      <source:markdown>&lt;head&gt;
  &lt;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=utf-8&#34;&gt;
  &lt;meta http-equiv=&#34;Content-Style-Type&#34; content=&#34;text/css&#34;&gt;
  &lt;title&gt;&lt;/title&gt;
  &lt;style type=&#34;text/css&#34;&gt;
    p.p1 {margin: 0.0px 0.0px 0.0px 58.9px; text-indent: -59.0px; font: 18.0px Verdana; color: #000000; min-height: 22.0px}
    p.p2 {margin: 0.0px 0.0px 0.0px 58.9px; text-indent: -59.0px; font: 18.0px Verdana; color: #000000}
    p.p3 {margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 18.0px Verdana; color: #000000}
    p.p4 {margin: 0.0px 0.0px 0.0px 58.9px; text-indent: -59.0px; font: 18.0px Verdana; color: #408000}
    p.p5 {margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 18.0px Verdana; color: #408000}
    p.p6 {margin: 0.0px 0.0px 0.0px 176.8px; text-indent: -176.8px; font: 18.0px Verdana; color: #408000}
    p.p7 {margin: 0.0px 0.0px 0.0px 176.8px; text-indent: -176.8px; font: 18.0px Verdana; color: #000000}
    p.p8 {margin: 0.0px 0.0px 0.0px 235.7px; text-indent: -235.7px; font: 18.0px Verdana; color: #408000}
    p.p9 {margin: 0.0px 0.0px 0.0px 235.7px; text-indent: -235.7px; font: 18.0px Verdana; color: #000000}
    p.p10 {margin: 0.0px 0.0px 0.0px 294.6px; text-indent: -294.6px; font: 18.0px Verdana; color: #6c05d3}
    p.p11 {margin: 0.0px 0.0px 0.0px 294.6px; text-indent: -294.6px; font: 18.0px Verdana; color: #000000}
    p.p12 {margin: 0.0px 0.0px 0.0px 294.6px; text-indent: -294.6px; font: 18.0px Verdana; color: #408000}
    p.p13 {margin: 0.0px 0.0px 0.0px 353.5px; text-indent: -353.6px; font: 18.0px Verdana; color: #408000}
    p.p14 {margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 18.0px Verdana; color: #4c4e4e}
    p.p15 {margin: 0.0px 0.0px 0.0px 353.5px; text-indent: -353.6px; font: 18.0px Verdana; color: #000000}
    p.p16 {margin: 0.0px 0.0px 0.0px 412.4px; text-indent: -412.5px; font: 18.0px Verdana; color: #000000}
    p.p17 {margin: 0.0px 0.0px 0.0px 412.4px; text-indent: -412.5px; font: 18.0px Verdana; color: #408000}
    p.p18 {margin: 0.0px 0.0px 0.0px 412.4px; text-indent: -412.5px; font: 18.0px Verdana; color: #0000ff}
    p.p19 {margin: 0.0px 0.0px 0.0px 235.7px; text-indent: -235.7px; font: 18.0px Verdana; color: #000000; min-height: 22.0px}
    p.p20 {margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 18.0px Verdana; color: #0000ff}
    p.p21 {margin: 0.0px 0.0px 0.0px 176.8px; text-indent: -176.8px; font: 18.0px Verdana; color: #6c05d3}
    p.p22 {margin: 0.0px 0.0px 0.0px 176.8px; text-indent: -176.8px; font: 18.0px Verdana; color: #000000; min-height: 22.0px}
    p.p23 {margin: 0.0px 0.0px 0.0px 353.5px; text-indent: -353.6px; font: 18.0px Verdana; color: #0000ff}
    p.p24 {margin: 0.0px 0.0px 0.0px 235.7px; text-indent: -235.7px; font: 18.0px Verdana; color: #0000ff}
    span.s1 {font-variant-ligatures: no-common-ligatures}
    span.s2 {font-variant-ligatures: no-common-ligatures; color: #408000}
    span.s3 {font-variant-ligatures: no-common-ligatures; color: #000000}
    span.s4 {font-variant-ligatures: no-common-ligatures; color: #0000ff}
    span.s5 {font-variant-ligatures: no-common-ligatures; color: #6c05d3}
    span.Apple-tab-span {white-space:pre}
  &lt;/style&gt;
&lt;/head&gt;

Next up in examples of what you can do with [SinterPixels](https://apps.apple.com/us/app/sinterpixels/id6758914398), my new app in the macOS App Store:  making a Karaoke Video:

&lt;video src=&#34;https://cdn.uploads.micro.mov/908/2026/tmottbgclipped/playlist.m3u8&#34; poster=&#34;https://cdn.uploads.micro.blog/908/2026/frames/1763566-0-eb839d.jpg&#34; width=&#34;600&#34; height=&#34;112&#34; controls=&#34;controls&#34; playsinline=&#34;playsinline&#34; preload=&#34;metadata&#34;&gt;&lt;/video&gt;

This is a pretty involved script -- by far the longest so far in our suite of examples. But it does a lot!  It has to layout the text on the screen, apply color to the right word at the right time, fade in the new text at the right time, etc. However, it is easy enough to understand, so you can make your own karaoke videos without tinkering too much with this script.  You could just replace the words and timing data in the first line, and it might word just fine if the lines for your song aren&#39;t too long!

First, we need to have the words of the song in the script, and also we need to know how long each word should be highlighted on the screen.  That&#39;s captured in this first statement:

&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;allLines&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; { { {&#34;Take&#34;, &#34;me&#34;, &#34;out&#34;, &#34;to&#34;, &#34;the&#34;, &#34;ball&#34;, &#34;game&#34;}, {2, 1, 1, 1, 1, 3, 3} }, ¬&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;{ {&#34;Take&#34;, &#34;me&#34;, &#34;out&#34;, &#34;with&#34;, &#34;the&#34;, &#34;crowd&#34;}, {2, 1, 1, 1, 1, 6} }, ¬&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;{ {&#34;Buy&#34;, &#34;me&#34;, &#34;some&#34;, &#34;pea&#34;, &#34;.nuts&#34;, &#34;and&#34;, &#34;crack&#34;, &#34;.er&#34;, &#34;jack&#34;}, {1, 1, 1, 1, 1, 1, 2, 1, 3} }, ¬&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;{ {&#34;I&#34;, &#34;don&#39;t&#34;, &#34;care&#34;, &#34;if&#34;, &#34;I&#34;, &#34;ev&#34;, &#34;.er&#34;, &#34;get&#34;, &#34;back&#34;}, {2, 1, 1, 1, 1, 1, 1, 1, 1} }, ¬&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;{ {&#34;&#39;cause&#34;, &#34;it&#39;s&#34;, &#34;root&#34;, &#34;root&#34;, &#34;root&#34;, &#34;for&#34;, &#34;the&#34;, &#34;Phil&#34;, &#34;.lies&#34;}, {1, 1, 2, 1, 1, 1, 1, 3, 2} }, ¬&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;{ {&#34;If&#34;, &#34;they&#34;, &#34;don&#39;t&#34;, &#34;win&#34;, &#34;it&#39;s&#34;, &#34;a&#34;, &#34;shame&#34;}, {1, 2, 1, 1, 1, 1, 4} }, ¬&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;{ {&#34;For&#34;, &#34;it&#39;s&#34;, &#34;1&#34;, &#34;2&#34;, &#34;3&#34;, &#34;strikes&#34;, &#34;you&#39;re&#34;, &#34;out&#34;}, {1, 1, 3, 3, 1, 1, 1, 1} }, ¬&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;{ {&#34;at&#34;, &#34;the&#34;, &#34;old&#34;, &#34;ball&#34;, &#34;game&#34;}, {1, 1, 3, 3, 6} } }&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;

Here we have  a list of eight items.  each item is a pair of lists -- a list of &#34;words&#34; and a list of durations for each word.  If you look carefully, not all of the words are words.  In the case we have a two-syllable word, like &#34;peanuts&#34;, we want the two syllable highlighted separately, so we make it two entries -- &#34;pea&#34; and &#34;.nuts&#34;  The period in from of &#34;nuts&#34; is the signal to ourselves that we don&#39;t want a space between &#34;pea&#34; and &#34;nuts&#34; in the layout.

In the list of durations, a 1 corresponds to a quarter note, 2 to a half note, etc.  &#34;Take Me Out to The Ball Game&#34; is in 3/4 time, so a line of 4 bars generally adds up to 12, but in a few verses, the next line begins before the 4 bars finish, so that isn&#39;t always the case.

One of our helper functions is durationOfLine(karaokeLine).  In this case, karaokeLine is the pair of list of words and list of durations.  This function just adds up the durations:

&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;durationOfLine&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;karaokeLine&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;ticks&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;item&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; 2 &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;karaokeLine&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;lineDuration&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; 0&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;t&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;in&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;ticks&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;lineDuration&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;lineDuration&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; + &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;t&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;return&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;lineDuration&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;durationOfLine&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;


Another helper function is removeFirstCharOf(str).  This one is useful to pull that leading period off of a string like &#34;.nuts&#34;

&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;removeFirstCharOf&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;str&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;newString&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; (&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;characters&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; 2 &lt;b&gt;thru&lt;/b&gt; -1 &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;str&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;) &lt;b&gt;as&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;string&lt;/i&gt;&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;return&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newString&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;removeFirstCharOf&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;

An important helper function is lineLayout(karaokeLine, yPos, theDoc, wordColor)  This function creates and returns a list of text shape objects at the given y coordinate. Each text shape has the right x coordinate, allowing for spaces between the words.


&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;layoutLine&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;karaokeLine&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;yPos&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;theDoc&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wordColor&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wds&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;item&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; 1 &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;karaokeLine&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;lineLayout&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;specialWordIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; {}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;totalSize&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; 0&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthText&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;in&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wds&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;isSpecial&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthText&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;begins with&lt;/b&gt; &#34;.&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;if&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;isSpecial&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;then&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;additionalSpace&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; 0&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;displayText&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;removeFirstCharOf&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wthText&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;else&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;additionalSpace&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; 10&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;displayText&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wthText&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;if&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;theDoc&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p10&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthWord&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;text shape&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;text content&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;displayText&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;:{0, &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;yPos&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;}, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wordColor&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;font size&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;:32}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthSize&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;size&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthWord&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;totalSize&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;totalSize&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; + (&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wthSize&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;) + &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;additionalSpace&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;lineLayout&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;lineLayout&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &amp;amp; {&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wthWord&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;if&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;isSpecial&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;then&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p13&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;specialWordIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;specialWordIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &amp;amp; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;ID&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wthWord&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;if&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p14&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;-- now space out the words on the line&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;currentx&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;totalSize&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; / -2&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthWord&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;in&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;lineLayout&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;theDoc&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;if&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;specialWordIDs&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;does not&lt;/b&gt; &lt;b&gt;contain&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;ID&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthWord&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;then&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p15&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;currentx&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;currentx&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; + 10&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;if&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;thisWidth&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;size&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthWord&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;x coordinate&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthWord&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; (&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;currentx&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; + &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;thisWidth&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; / 2)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;currentx&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;currentx&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; + &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;thisWidth&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;return&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;lineLayout&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;layoutLine&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;


Part of the script will make the words fade in , with the helper function wax() -- and make the words fade out, with the helper function fade().  The fade in and fade out is accomplished by setting the alpha of the text shapes.

&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fade&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wordIds&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;theDoc&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;remainingIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; {}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthId&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;in&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wordIds&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;theDoc&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p10&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;oldAlpha&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;alpha component&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;text shape&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;id&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthId&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;try&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p15&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;if&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;oldAlpha&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &amp;gt; 0.06 &lt;b&gt;then&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p16&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;alpha component&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;text shape&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;&lt;i&gt;id&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthId&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;oldAlpha&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; - 0.04&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p17&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;remainingIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;remainingIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &amp;amp; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wthId&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p15&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;else&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p18&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;delete&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;text shape&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;&lt;i&gt;id&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthId&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p15&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;if&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;try&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;return&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;remainingIDs&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;fade&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wax&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;waxingWordData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;theDoc&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newWaxingData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; {}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nthWaxDatum&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;in&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;waxingWordData&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;theID&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;shapeID&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nthWaxDatum&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;newAlpha&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; (&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;alf&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;nthWaxDatum&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;) + 0.01&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;if&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;newAlpha&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; ≥ 1.0 &lt;b&gt;then&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;newAlpha&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; 1.0&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;if&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;if&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;newAlpha&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &amp;gt; 0.0 &lt;b&gt;then&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p19&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;theDoc&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p15&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;b&gt;the&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;alpha component&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;shape&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;&lt;i&gt;id&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;theID&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;newAlpha&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p19&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;if&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;if&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;newAlpha&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &amp;lt; 1.0 &lt;b&gt;then&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newWaxingData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newWaxingData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &amp;amp; { {&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;shapeID&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;theID&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;alf&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newAlpha&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;} }&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;if&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;return&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newWaxingData&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wax&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;


And the last helper function -- fillNewWaxingWordData(waxingData, lineLayout), which sets up the text shapes so they are ready to fade in:

&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fillNewWaxingWordData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;waxingData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;lineLayout&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newWaxingWordData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;waxingData&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wordAlpha&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; -1.0&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;nthWord&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;in&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;lineLayout&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newWaxingWordData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newWaxingWordData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &amp;amp; { {&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;shapeID&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;id&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nthWord&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;alf&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wordAlpha&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;} }&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wordAlpha&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wordAlpha&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; - 0.25&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;return&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newWaxingWordData&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fillNewWaxingWordData&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;


Now the part of the script that puts all the pieces together.  It starts a movie, proceeds to layout each line at the right time, and invokes the fade in and fade out of each text shape.  When the time is right, it sets the color of one of the words to blue, and resets the previously blue word to gray
Most importantly, it records each movie frame, and when the movie is complete, save the movie to a file.


&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;lineCount&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;b&gt;count&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;allLines&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fadingWordIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; {}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;waxingWordData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; {}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;lineCount&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;b&gt;count&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;allLines&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p20&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;theDoc&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;height&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;:112, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;:600}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;theDoc&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p21&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;b&gt;start&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;filming&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;numLoops&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; (&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;lineCount&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; + 1) / 2&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;topLine&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;item&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; 1 &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;allLines&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;topLineLayout&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;layoutLine&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;topLine&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, 28, &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;theDoc&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, {0.5, 0.5, 0.5, 1.0})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;bottomLine&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;item&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; 2 &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;allLines&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;bottomLineLayout&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;layoutLine&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;bottomLine&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, -28, &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;theDoc&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, {0.5, 0.5, 0.5, 1.0})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p22&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;nthLoop&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;from&lt;/b&gt; 1 &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;numLoops&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextTopLineIndex&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; (2 * &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nthLoop&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; + 1)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;if&lt;/b&gt; (&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;lineCount&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; ≥ &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextTopLineIndex&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;) &lt;b&gt;then&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextTopLine&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;item&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextTopLineIndex&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;allLines&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;nextTopLineLayout&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;layoutLine&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;nextTopLine&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, 28, &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;theDoc&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, {0.5, 0.5, 0.5, 0.0})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;waxingWordData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fillNewWaxingWordData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;waxingWordData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextTopLineLayout&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;else&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;nextTopLine&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextTopLineLayout&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; {}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;if&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;ticks&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;item&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; 2 &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;topLine&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;w&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; 0&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wthWord&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;in&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;topLineLayout&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;w&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;w&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; + 1&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthCount&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;item&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;w&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;ticks&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;frames&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthCount&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * 15&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthWord&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;&lt;i&gt;blue&lt;/i&gt;&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;fr&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;from&lt;/b&gt; 1 &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;frames&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p23&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;record movie frame&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;duration&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; 1&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p13&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fadingWordIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fade&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fadingWordIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;theDoc&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p13&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;waxingWordData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wax&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;waxingWordData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;theDoc&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fadingWordIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fadingWordIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &amp;amp; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;ID&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wthWord&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthWord&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;&lt;i&gt;gray&lt;/i&gt;&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p19&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p19&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;if&lt;/b&gt; (&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;nthLoop&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &amp;gt; 1) &lt;b&gt;then&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;bottomLine&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextBottomLine&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;bottomLineLayout&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextBottomLineLayout&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;if&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextBottomLineIndex&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; (2 * &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nthLoop&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; + 2)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;if&lt;/b&gt; (&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;lineCount&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; ≥ &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextBottomLineIndex&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;) &lt;b&gt;then&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextBottomLine&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;item&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextBottomLineIndex&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;allLines&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextBottomLineLayout&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;layoutLine&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextBottomLine&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, -28, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;theDoc&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, {0.5, 0.5, 0.5, 0.0})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;waxingWordData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fillNewWaxingWordData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;waxingWordData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextBottomLineLayout&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;else&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextBottomLineLayout&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; {}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;nextBottomLine&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;if&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p19&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;w&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; 0&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;ticks&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;item&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; 2 &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;bottomLine&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wthWord&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;in&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;bottomLineLayout&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;w&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;w&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; + 1&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthCount&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;item&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;w&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;ticks&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;frames&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthCount&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * 15&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthWord&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;&lt;i&gt;blue&lt;/i&gt;&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;fr&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;from&lt;/b&gt; 1 &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;frames&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p23&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;record movie frame&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;duration&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; 1&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p13&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fadingWordIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fade&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fadingWordIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;theDoc&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p13&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;waxingWordData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wax&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;waxingWordData&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;theDoc&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fadingWordIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fadingWordIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &amp;amp; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;ID&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;wthWord&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;wthWord&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;&lt;i&gt;gray&lt;/i&gt;&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;topLineLayout&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextTopLineLayout&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;topLine&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nextTopLine&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p22&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;fr&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;from&lt;/b&gt; 1 &lt;b&gt;to&lt;/b&gt; 120&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p24&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;record movie frame&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;duration&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; 1&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fadingWordIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fade&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fadingWordIDs&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;theDoc&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p22&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;b&gt;stop&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;filming&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;filename&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;KaraokeMovie.mov&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;br&gt;
See the SinterPixels support [github site ](https://github.com/olofhellman/SinterpixelsSupportFiles/blob/main/docs/Karaoke.md) for additional info:  


Here&#39;s the full video on YouTube:

[www.youtube.com/watch](https://www.youtube.com/watch?v=Od8nZH_MkzU)




</source:markdown>
    </item>
    
    <item>
      <title>SinterPixels Demos Part 6: A Parametric Equation</title>
      <link>https://olof.micro.blog/2026/05/20/sinterpixels-demos-part-a-parametric.html</link>
      <pubDate>Wed, 20 May 2026 16:04:38 -0500</pubDate>
      
      <guid>http://olof.micro.blog/2026/05/20/sinterpixels-demos-part-a-parametric.html</guid>
      <description>&lt;head&gt;
  &lt;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=utf-8&#34;&gt;
  &lt;meta http-equiv=&#34;Content-Style-Type&#34; content=&#34;text/css&#34;&gt;
  &lt;style type=&#34;text/css&#34;&gt;
    p.p1 {margin: 0.0px 0.0px 0.0px 62.4px; text-indent: -62.4px; font: 18.0px Verdana; -webkit-text-stroke: #000000}
    p.p2 {margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.8px; font: 18.0px Verdana; -webkit-text-stroke: #000000}
    p.p3 {margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.8px; font: 18.0px Verdana; color: #337002; -webkit-text-stroke: #337002}
    p.p4 {margin: 0.0px 0.0px 0.0px 187.3px; text-indent: -187.3px; font: 18.0px Verdana; -webkit-text-stroke: #000000}
    p.p5 {margin: 0.0px 0.0px 0.0px 187.3px; text-indent: -187.3px; font: 18.0px Verdana; color: #5700c9; -webkit-text-stroke: #5700c9}
    p.p6 {margin: 0.0px 0.0px 0.0px 62.4px; text-indent: -62.4px; font: 18.0px Verdana; -webkit-text-stroke: #000000; min-height: 22.0px}
    p.p7 {margin: 0.0px 0.0px 0.0px 249.8px; text-indent: -249.8px; font: 18.0px Verdana; -webkit-text-stroke: #000000}
    p.p8 {margin: 0.0px 0.0px 0.0px 249.8px; text-indent: -249.8px; font: 18.0px Verdana; color: #337002; -webkit-text-stroke: #337002}
    p.p9 {margin: 0.0px 0.0px 0.0px 312.1px; text-indent: -312.1px; font: 18.0px Verdana; color: #337002; -webkit-text-stroke: #337002}
    p.p10 {margin: 0.0px 0.0px 0.0px 62.4px; text-indent: -62.4px; font: 18.0px Verdana; color: #000000}
    p.p11 {margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 18.0px Verdana; color: #000000}
    p.p12 {margin: 0.0px 0.0px 0.0px 62.4px; text-indent: -62.5px; font: 18.0px Verdana; color: #000000}
    p.p13 {margin: 0.0px 0.0px 0.0px 62.4px; text-indent: -62.5px; font: 18.0px Verdana; color: #000000; min-height: 22.0px}
    p.p14 {margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 18.0px Verdana; color: #408000}
    p.p15 {margin: 0.0px 0.0px 0.0px 187.3px; text-indent: -187.3px; font: 18.0px Verdana; color: #408000}
    p.p16 {margin: 0.0px 0.0px 0.0px 187.3px; text-indent: -187.3px; font: 18.0px Verdana; color: #000000}
    p.p17 {margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 18.0px Verdana; color: #000000; min-height: 22.0px}
    p.p18 {margin: 0.0px 0.0px 0.0px 58.9px; text-indent: -59.0px; font: 18.0px Verdana; color: #000000; min-height: 22.0px}
    p.p19 {margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 18.0px Verdana; color: #0000ff}
    p.p20 {margin: 0.0px 0.0px 0.0px 187.3px; text-indent: -187.3px; font: 18.0px Verdana; color: #000000; min-height: 22.0px}
    span.s1 {font-kerning: none; font-variant-ligatures: common-ligatures}
    span.s2 {font-kerning: none; font-variant-ligatures: common-ligatures; color: #0000ff; -webkit-text-stroke: 0px #0000ff}
    span.s3 {font-kerning: none; font-variant-ligatures: common-ligatures; color: #337002; -webkit-text-stroke: 0px #337002}
    span.s4 {font-kerning: none; font-variant-ligatures: common-ligatures; color: #5700c9; -webkit-text-stroke: 0px #5700c9}
    span.s5 {font-kerning: none; font-variant-ligatures: common-ligatures; -webkit-text-stroke: 0px #000000}
    span.s6 {font-kerning: none}
    span.s7 {font-variant-ligatures: no-common-ligatures}
    span.s8 {font-variant-ligatures: no-common-ligatures; color: #408000}
    span.s9 {font-variant-ligatures: no-common-ligatures; color: #0016b0}
    span.s10 {font-variant-ligatures: no-common-ligatures; color: #000000}
    span.s11 {font-variant-ligatures: no-common-ligatures; color: #0000ff}
    span.s12 {font-variant-ligatures: no-common-ligatures; color: #6c05d3}
    span.Apple-tab-span {white-space:pre}
  &lt;/style&gt;
&lt;/head&gt;
&lt;p&gt;Next up in examples of what you can do with &lt;a href=&#34;https://apps.apple.com/us/app/sinterpixels/id6758914398&#34;&gt;SinterPixels&lt;/a&gt;, my new app in the macOS App Store:  drawing a parametric equation:&lt;/p&gt;
&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/3e0e03f286.jpg&#34;&gt;
&lt;p&gt;This is a curve where x and y are defined by functions of a third variable, t&lt;/p&gt;
&lt;p&gt;x(t) = cos(3t) * sin(t)
&lt;br&gt;
y(t) = sin(3t) * sin(t)&lt;/p&gt;
&lt;p&gt;To draw this line, we&amp;rsquo;ll make a SinterPixels path. SinterPixels paths are defined by a set of path anchors, each of which has a position and a slope.  So, to define the path, the script will step through values of t from 0 to pi, in increments of pi/18.  At each of the 19 points, we&amp;rsquo;ll calculate the position of x and y, and also the slope of the function at x and y.&lt;/p&gt;
&lt;p&gt;First let&amp;rsquo;s define helper functions to calculate sine and cosine.  There aren&amp;rsquo;t built-in AppleScript versions, but its easy to call the JavaScript versions:&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p10&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;b&gt;on&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;sin&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;return&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s9&#34;&gt;&lt;b&gt;run script&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &#34;Math.sin(&#34; &amp;amp; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &amp;amp; &#34;)&#34; &lt;/span&gt;&lt;span class=&#34;s9&#34;&gt;in&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &#34;JavaScript&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p10&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;sin&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p10&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;b&gt;on&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;cos&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;return&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s9&#34;&gt;&lt;b&gt;run script&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &#34;Math.cos(&#34; &amp;amp; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &amp;amp; &#34;)&#34; &lt;/span&gt;&lt;span class=&#34;s9&#34;&gt;in&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &#34;JavaScript&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p10&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;cos&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Now let&amp;rsquo;s define our function.  We&amp;rsquo;ll make a coord(t) function to calculate the x and y coordinates at a given time, and a separate derivative(t) function that calculates the slope at any given t.  Because the derivative function needs to call the coordinates function, we package them together in a script object called &amp;ldquo;func&amp;rdquo;&lt;/p&gt;
&lt;p class=&#34;p13&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;b&gt;script&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;func&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p14&#34;&gt;&lt;span class=&#34;s10&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;on&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;derivative&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;t&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p15&#34;&gt;&lt;span class=&#34;s10&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;coordAtTMinusDelta&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;coord&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;t&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; - 0.01)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p15&#34;&gt;&lt;span class=&#34;s10&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;coordAtTPlusDelta&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;coord&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;t&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; + 0.01)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p15&#34;&gt;&lt;span class=&#34;s10&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;dx&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; &lt;b&gt;to&lt;/b&gt; (&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;coordAtTPlusDelta&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt;) - (&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;coordAtTMinusDelta&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p15&#34;&gt;&lt;span class=&#34;s10&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;dy&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; &lt;b&gt;to&lt;/b&gt; (&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;coordAtTPlusDelta&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt;) - (&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;coordAtTMinusDelta&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p16&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;return&lt;/b&gt; {&lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;dx&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;dx&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;dy&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;dy&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p14&#34;&gt;&lt;span class=&#34;s10&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;derivative&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p17&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;on&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;coord&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;t&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p16&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;rad&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &lt;b&gt;to&lt;/b&gt; (&lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;sin&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;t&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;)) * 100&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p16&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &lt;b&gt;to&lt;/b&gt; (&lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;cos&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;(3 * &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;t&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;)) * &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;rad&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p16&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &lt;b&gt;to&lt;/b&gt; (&lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;sin&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;(3 * &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;t&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;)) * &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;rad&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p16&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;return&lt;/b&gt; {&lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;coord&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;script&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p18&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Note that we&amp;rsquo;ve multiplied the x and the y by 100 to make the graph bigger for drawing.&lt;/p&gt;
&lt;p&gt;Now, defining the path is done with a loop that makes 19 anchor points, and then uses the anchor points to make a path object:&lt;/p&gt;
&lt;p class=&#34;p18&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s11&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;anchorData&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &lt;b&gt;to&lt;/b&gt; {}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &lt;b&gt;from&lt;/b&gt; 0 &lt;b&gt;to&lt;/b&gt; 18&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p16&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;t&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; * 3.14158 / 18.0&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p15&#34;&gt;&lt;span class=&#34;s10&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;nthPos&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;func&#39;s&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;coord&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;t&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p15&#34;&gt;&lt;span class=&#34;s10&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;nthSlope&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;func&#39;s&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;derivative&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;t&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p15&#34;&gt;
   &lt;span class=&#34;s10&#34;&gt;
      &lt;span class=&#34;Apple-tab-span&#34;&gt; &lt;/span&gt;
      &lt;span class=&#34;Apple-tab-span&#34;&gt; &lt;/span&gt;&lt;b&gt;set&lt;/b&gt;
    &lt;/span&gt;
    &lt;span class=&#34;s7&#34;&gt;anchorData&lt;/span&gt;
    &lt;span class=&#34;s10&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;
    &lt;span class=&#34;s7&#34;&gt;anchorData&lt;/span&gt;
    &lt;span class=&#34;s10&#34;&gt; &amp;amp; { { &lt;/span&gt;
    &lt;span class=&#34;s12&#34;&gt;position&lt;/span&gt;
    &lt;span class=&#34;s10&#34;&gt;:{&lt;/span&gt;
    &lt;span class=&#34;s7&#34;&gt;x&lt;/span&gt;
    &lt;span class=&#34;s10&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;
    &lt;span class=&#34;s7&#34;&gt;nthPos&lt;/span&gt;
    &lt;span class=&#34;s10&#34;&gt;, &lt;/span&gt;
    &lt;span class=&#34;s7&#34;&gt;y&lt;/span&gt;
    &lt;span class=&#34;s10&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;
    &lt;span class=&#34;s7&#34;&gt;nthPos&lt;/span&gt;
    &lt;span class=&#34;s10&#34;&gt;}, &lt;/span&gt;
    &lt;span class=&#34;s12&#34;&gt;slope&lt;/span&gt;
    &lt;span class=&#34;s10&#34;&gt;:{&lt;/span&gt;
    &lt;span class=&#34;s12&#34;&gt;deltax&lt;/span&gt;
    &lt;span class=&#34;s10&#34;&gt;:&lt;/span&gt;
    &lt;span class=&#34;s7&#34;&gt;dx&lt;/span&gt;
    &lt;span class=&#34;s10&#34;&gt; &lt;b&gt;of&lt;/b&gt;&lt;/span&gt;
    &lt;span class=&#34;s7&#34;&gt;nthSlope&lt;/span&gt;
    &lt;span class=&#34;s10&#34;&gt;,&lt;/span&gt;
    &lt;span class=&#34;s12&#34;&gt;deltay&lt;/span&gt;
    &lt;span class=&#34;s10&#34;&gt;:&lt;/span&gt;
    &lt;span class=&#34;s7&#34;&gt;dy&lt;/span&gt;
    &lt;span class=&#34;s10&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;
    &lt;span class=&#34;s7&#34;&gt;nthSlope&lt;/span&gt;
    &lt;span class=&#34;s10&#34;&gt;}}}&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p19&#34;&gt;&lt;span class=&#34;s10&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;theDoc&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s12&#34;&gt;height&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt;:300, &lt;/span&gt;&lt;span class=&#34;s12&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt;:300}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;theDoc&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p16&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;thePath&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s11&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s11&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s11&#34;&gt;&lt;i&gt;path&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s11&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s12&#34;&gt;anchor data&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;anchorData&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s12&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;:{0, 0}, &lt;/span&gt;&lt;span class=&#34;s12&#34;&gt;line width&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;:10, &lt;/span&gt;&lt;span class=&#34;s12&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s12&#34;&gt;&lt;i&gt;blue&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s12&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;:{0.5, 0.5, 1.0, 0.2}}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p20&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-converted-space&#34;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
</description>
      <source:markdown>&lt;head&gt;
  &lt;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=utf-8&#34;&gt;
  &lt;meta http-equiv=&#34;Content-Style-Type&#34; content=&#34;text/css&#34;&gt;
  &lt;style type=&#34;text/css&#34;&gt;
    p.p1 {margin: 0.0px 0.0px 0.0px 62.4px; text-indent: -62.4px; font: 18.0px Verdana; -webkit-text-stroke: #000000}
    p.p2 {margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.8px; font: 18.0px Verdana; -webkit-text-stroke: #000000}
    p.p3 {margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.8px; font: 18.0px Verdana; color: #337002; -webkit-text-stroke: #337002}
    p.p4 {margin: 0.0px 0.0px 0.0px 187.3px; text-indent: -187.3px; font: 18.0px Verdana; -webkit-text-stroke: #000000}
    p.p5 {margin: 0.0px 0.0px 0.0px 187.3px; text-indent: -187.3px; font: 18.0px Verdana; color: #5700c9; -webkit-text-stroke: #5700c9}
    p.p6 {margin: 0.0px 0.0px 0.0px 62.4px; text-indent: -62.4px; font: 18.0px Verdana; -webkit-text-stroke: #000000; min-height: 22.0px}
    p.p7 {margin: 0.0px 0.0px 0.0px 249.8px; text-indent: -249.8px; font: 18.0px Verdana; -webkit-text-stroke: #000000}
    p.p8 {margin: 0.0px 0.0px 0.0px 249.8px; text-indent: -249.8px; font: 18.0px Verdana; color: #337002; -webkit-text-stroke: #337002}
    p.p9 {margin: 0.0px 0.0px 0.0px 312.1px; text-indent: -312.1px; font: 18.0px Verdana; color: #337002; -webkit-text-stroke: #337002}
    p.p10 {margin: 0.0px 0.0px 0.0px 62.4px; text-indent: -62.4px; font: 18.0px Verdana; color: #000000}
    p.p11 {margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 18.0px Verdana; color: #000000}
    p.p12 {margin: 0.0px 0.0px 0.0px 62.4px; text-indent: -62.5px; font: 18.0px Verdana; color: #000000}
    p.p13 {margin: 0.0px 0.0px 0.0px 62.4px; text-indent: -62.5px; font: 18.0px Verdana; color: #000000; min-height: 22.0px}
    p.p14 {margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 18.0px Verdana; color: #408000}
    p.p15 {margin: 0.0px 0.0px 0.0px 187.3px; text-indent: -187.3px; font: 18.0px Verdana; color: #408000}
    p.p16 {margin: 0.0px 0.0px 0.0px 187.3px; text-indent: -187.3px; font: 18.0px Verdana; color: #000000}
    p.p17 {margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 18.0px Verdana; color: #000000; min-height: 22.0px}
    p.p18 {margin: 0.0px 0.0px 0.0px 58.9px; text-indent: -59.0px; font: 18.0px Verdana; color: #000000; min-height: 22.0px}
    p.p19 {margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 18.0px Verdana; color: #0000ff}
    p.p20 {margin: 0.0px 0.0px 0.0px 187.3px; text-indent: -187.3px; font: 18.0px Verdana; color: #000000; min-height: 22.0px}
    span.s1 {font-kerning: none; font-variant-ligatures: common-ligatures}
    span.s2 {font-kerning: none; font-variant-ligatures: common-ligatures; color: #0000ff; -webkit-text-stroke: 0px #0000ff}
    span.s3 {font-kerning: none; font-variant-ligatures: common-ligatures; color: #337002; -webkit-text-stroke: 0px #337002}
    span.s4 {font-kerning: none; font-variant-ligatures: common-ligatures; color: #5700c9; -webkit-text-stroke: 0px #5700c9}
    span.s5 {font-kerning: none; font-variant-ligatures: common-ligatures; -webkit-text-stroke: 0px #000000}
    span.s6 {font-kerning: none}
    span.s7 {font-variant-ligatures: no-common-ligatures}
    span.s8 {font-variant-ligatures: no-common-ligatures; color: #408000}
    span.s9 {font-variant-ligatures: no-common-ligatures; color: #0016b0}
    span.s10 {font-variant-ligatures: no-common-ligatures; color: #000000}
    span.s11 {font-variant-ligatures: no-common-ligatures; color: #0000ff}
    span.s12 {font-variant-ligatures: no-common-ligatures; color: #6c05d3}
    span.Apple-tab-span {white-space:pre}
  &lt;/style&gt;
&lt;/head&gt;

Next up in examples of what you can do with [SinterPixels](https://apps.apple.com/us/app/sinterpixels/id6758914398), my new app in the macOS App Store:  drawing a parametric equation:

&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/3e0e03f286.jpg&#34;&gt;

This is a curve where x and y are defined by functions of a third variable, t

   x(t) = cos(3t) * sin(t) 
&lt;br&gt;
   y(t) = sin(3t) * sin(t)

To draw this line, we&#39;ll make a SinterPixels path. SinterPixels paths are defined by a set of path anchors, each of which has a position and a slope.  So, to define the path, the script will step through values of t from 0 to pi, in increments of pi/18.  At each of the 19 points, we&#39;ll calculate the position of x and y, and also the slope of the function at x and y.  

First let&#39;s define helper functions to calculate sine and cosine.  There aren&#39;t built-in AppleScript versions, but its easy to call the JavaScript versions:

&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p10&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;b&gt;on&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;sin&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;return&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s9&#34;&gt;&lt;b&gt;run script&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &#34;Math.sin(&#34; &amp;amp; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &amp;amp; &#34;)&#34; &lt;/span&gt;&lt;span class=&#34;s9&#34;&gt;in&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &#34;JavaScript&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p10&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;sin&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p10&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;b&gt;on&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;cos&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;return&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s9&#34;&gt;&lt;b&gt;run script&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &#34;Math.cos(&#34; &amp;amp; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &amp;amp; &#34;)&#34; &lt;/span&gt;&lt;span class=&#34;s9&#34;&gt;in&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &#34;JavaScript&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p10&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;cos&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;

Now let&#39;s define our function.  We&#39;ll make a coord(t) function to calculate the x and y coordinates at a given time, and a separate derivative(t) function that calculates the slope at any given t.  Because the derivative function needs to call the coordinates function, we package them together in a script object called &#34;func&#34;


&lt;p class=&#34;p13&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;b&gt;script&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;func&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p14&#34;&gt;&lt;span class=&#34;s10&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;on&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;derivative&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;t&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p15&#34;&gt;&lt;span class=&#34;s10&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;coordAtTMinusDelta&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;coord&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;t&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; - 0.01)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p15&#34;&gt;&lt;span class=&#34;s10&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;coordAtTPlusDelta&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;coord&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;t&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; + 0.01)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p15&#34;&gt;&lt;span class=&#34;s10&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;dx&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; &lt;b&gt;to&lt;/b&gt; (&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;coordAtTPlusDelta&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt;) - (&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;coordAtTMinusDelta&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p15&#34;&gt;&lt;span class=&#34;s10&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;dy&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; &lt;b&gt;to&lt;/b&gt; (&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;coordAtTPlusDelta&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt;) - (&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;coordAtTMinusDelta&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p16&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;return&lt;/b&gt; {&lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;dx&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;dx&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;dy&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;dy&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p14&#34;&gt;&lt;span class=&#34;s10&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;derivative&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p17&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;on&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;coord&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;t&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p16&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;rad&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &lt;b&gt;to&lt;/b&gt; (&lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;sin&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;t&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;)) * 100&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p16&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &lt;b&gt;to&lt;/b&gt; (&lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;cos&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;(3 * &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;t&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;)) * &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;rad&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p16&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &lt;b&gt;to&lt;/b&gt; (&lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;sin&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;(3 * &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;t&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;)) * &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;rad&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p16&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;return&lt;/b&gt; {&lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;coord&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;script&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p18&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;

Note that we&#39;ve multiplied the x and the y by 100 to make the graph bigger for drawing.

Now, defining the path is done with a loop that makes 19 anchor points, and then uses the anchor points to make a path object:

&lt;p class=&#34;p18&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s11&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;anchorData&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &lt;b&gt;to&lt;/b&gt; {}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &lt;b&gt;from&lt;/b&gt; 0 &lt;b&gt;to&lt;/b&gt; 18&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p16&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;t&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; * 3.14158 / 18.0&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p15&#34;&gt;&lt;span class=&#34;s10&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;nthPos&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;func&#39;s&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;coord&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;t&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p15&#34;&gt;&lt;span class=&#34;s10&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;nthSlope&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;func&#39;s&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;derivative&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;t&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p15&#34;&gt;
   &lt;span class=&#34;s10&#34;&gt;
      &lt;span class=&#34;Apple-tab-span&#34;&gt; &lt;/span&gt;
      &lt;span class=&#34;Apple-tab-span&#34;&gt; &lt;/span&gt;&lt;b&gt;set&lt;/b&gt;
    &lt;/span&gt;
    &lt;span class=&#34;s7&#34;&gt;anchorData&lt;/span&gt;
    &lt;span class=&#34;s10&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;
    &lt;span class=&#34;s7&#34;&gt;anchorData&lt;/span&gt;
    &lt;span class=&#34;s10&#34;&gt; &amp;amp; { { &lt;/span&gt;
    &lt;span class=&#34;s12&#34;&gt;position&lt;/span&gt;
    &lt;span class=&#34;s10&#34;&gt;:{&lt;/span&gt;
    &lt;span class=&#34;s7&#34;&gt;x&lt;/span&gt;
    &lt;span class=&#34;s10&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;
    &lt;span class=&#34;s7&#34;&gt;nthPos&lt;/span&gt;
    &lt;span class=&#34;s10&#34;&gt;, &lt;/span&gt;
    &lt;span class=&#34;s7&#34;&gt;y&lt;/span&gt;
    &lt;span class=&#34;s10&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;
    &lt;span class=&#34;s7&#34;&gt;nthPos&lt;/span&gt;
    &lt;span class=&#34;s10&#34;&gt;}, &lt;/span&gt;
    &lt;span class=&#34;s12&#34;&gt;slope&lt;/span&gt;
    &lt;span class=&#34;s10&#34;&gt;:{&lt;/span&gt;
    &lt;span class=&#34;s12&#34;&gt;deltax&lt;/span&gt;
    &lt;span class=&#34;s10&#34;&gt;:&lt;/span&gt;
    &lt;span class=&#34;s7&#34;&gt;dx&lt;/span&gt;
    &lt;span class=&#34;s10&#34;&gt; &lt;b&gt;of&lt;/b&gt;&lt;/span&gt;
    &lt;span class=&#34;s7&#34;&gt;nthSlope&lt;/span&gt;
    &lt;span class=&#34;s10&#34;&gt;,&lt;/span&gt;
    &lt;span class=&#34;s12&#34;&gt;deltay&lt;/span&gt;
    &lt;span class=&#34;s10&#34;&gt;:&lt;/span&gt;
    &lt;span class=&#34;s7&#34;&gt;dy&lt;/span&gt;
    &lt;span class=&#34;s10&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;
    &lt;span class=&#34;s7&#34;&gt;nthSlope&lt;/span&gt;
    &lt;span class=&#34;s10&#34;&gt;}}}&lt;/span&gt;
&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p19&#34;&gt;&lt;span class=&#34;s10&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;theDoc&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s12&#34;&gt;height&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt;:300, &lt;/span&gt;&lt;span class=&#34;s12&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;s10&#34;&gt;:300}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;theDoc&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p16&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;thePath&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s11&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s11&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s11&#34;&gt;&lt;i&gt;path&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s11&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s12&#34;&gt;anchor data&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s8&#34;&gt;anchorData&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s12&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;:{0, 0}, &lt;/span&gt;&lt;span class=&#34;s12&#34;&gt;line width&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;:10, &lt;/span&gt;&lt;span class=&#34;s12&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s12&#34;&gt;&lt;i&gt;blue&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s12&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s7&#34;&gt;:{0.5, 0.5, 1.0, 0.2}}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p20&#34;&gt;&lt;span class=&#34;s7&#34;&gt;&lt;span class=&#34;Apple-converted-space&#34;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
</source:markdown>
    </item>
    
    <item>
      <title>Today&#39;s Coding Horror - Root Cause Analysis for a Scientific Journal Retraction</title>
      <link>https://olof.micro.blog/2026/05/17/root-cause-analysis-for-a.html</link>
      <pubDate>Sun, 17 May 2026 15:29:19 -0500</pubDate>
      
      <guid>http://olof.micro.blog/2026/05/17/root-cause-analysis-for-a.html</guid>
      <description>&lt;p&gt;This is an interesting case of a journal article being retracted: &lt;a href=&#34;https://retractionwatch.com/2015/07/21/to-our-horror-widely-reported-study-suggesting-divorce-is-more-likely-when-wives-fall-ill-gets-axed&#34;&gt;retractionwatch.com&lt;/a&gt;  , not just because the (incorrect) results seem to have been widely reported in the press, but also because of, well, read on.&lt;/p&gt;
&lt;p&gt;Root Cause Analysis is often a matter of repeated asking the question “why did that happen?”.  You get one answer which explains why that one thing happened, but prompts the next question.  So in this case, let’s explore:  &lt;/p&gt;
&lt;p&gt;Why did the paper get retracted?&lt;/p&gt;
&lt;p&gt;Because there was an error in the calculations.&lt;/p&gt;
&lt;p&gt;Why was there an error in the calculations?&lt;/p&gt;
&lt;p&gt;Because of programmer error classifying statistical populations in the study.&lt;/p&gt;
&lt;p&gt;Why did programmer make an error classifying the populations?&lt;/p&gt;
&lt;p&gt;Because the programming language and programming conventions produce unintelligible gibberish.&lt;/p&gt;
&lt;p&gt;Why did programmer use gibberish-producing conventions and programming language?&lt;/p&gt;
&lt;p&gt;Because reasons?  Dear reader, judge for yourself if the closing bit of the article makes you scream in horror at 100% of what has led to this:&lt;/p&gt;
&lt;p&gt;Here’s the original (mistaken) coding line:&lt;/p&gt;
&lt;p&gt;    replace event`i’ = 1 if delta_mct`i’ != 0 | spouse_delta_mct`i’ != 0&lt;/p&gt;
&lt;p&gt;And here’s the corrected coding:&lt;/p&gt;
&lt;p&gt;    replace event`i’ = 1 if (delta_mct`i’ != 0 | spouse_delta_mct`i’ != 0) &amp;amp; delta_mct`i’ != . &amp;amp; spouse_delta_mct`i’ != .&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
</description>
      <source:markdown>This is an interesting case of a journal article being retracted: [retractionwatch.com](https://retractionwatch.com/2015/07/21/to-our-horror-widely-reported-study-suggesting-divorce-is-more-likely-when-wives-fall-ill-gets-axed)  , not just because the (incorrect) results seem to have been widely reported in the press, but also because of, well, read on.
&lt;p&gt;Root Cause Analysis is often a matter of repeated asking the question “why did that happen?”.  You get one answer which explains why that one thing happened, but prompts the next question.  So in this case, let’s explore:  &lt;/p&gt;
&lt;p&gt;Why did the paper get retracted?&lt;/p&gt;
&lt;p&gt;Because there was an error in the calculations.&lt;/p&gt;
&lt;p&gt;Why was there an error in the calculations?&lt;/p&gt;
&lt;p&gt;Because of programmer error classifying statistical populations in the study.&lt;/p&gt;
&lt;p&gt;Why did programmer make an error classifying the populations?&lt;/p&gt;
&lt;p&gt;Because the programming language and programming conventions produce unintelligible gibberish.&lt;/p&gt;
&lt;p&gt;Why did programmer use gibberish-producing conventions and programming language?&lt;/p&gt;
&lt;p&gt;Because reasons?  Dear reader, judge for yourself if the closing bit of the article makes you scream in horror at 100% of what has led to this:&lt;/p&gt;
&lt;p&gt;Here’s the original (mistaken) coding line:&lt;/p&gt;
&lt;p&gt;    replace event`i’ = 1 if delta_mct`i’ != 0 | spouse_delta_mct`i’ != 0&lt;/p&gt;
&lt;p&gt;And here’s the corrected coding:&lt;/p&gt;
&lt;p&gt;    replace event`i’ = 1 if (delta_mct`i’ != 0 | spouse_delta_mct`i’ != 0) &amp;amp; delta_mct`i’ != . &amp;amp; spouse_delta_mct`i’ != .&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
</source:markdown>
    </item>
    
    <item>
      <title>SinterPixels Demos Part 5: A Tiling with Rotatable Square Tiles</title>
      <link>https://olof.micro.blog/2026/05/15/sinterpixels-demos-part-a-tiling.html</link>
      <pubDate>Fri, 15 May 2026 13:48:58 -0500</pubDate>
      
      <guid>http://olof.micro.blog/2026/05/15/sinterpixels-demos-part-a-tiling.html</guid>
      <description>&lt;head&gt; 
  &lt;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=utf-8&#34;&gt;
  &lt;meta http-equiv=&#34;Content-Style-Type&#34; content=&#34;text/css&#34;&gt;
  &lt;title&gt;&lt;/title&gt;
  &lt;meta name=&#34;Generator&#34; content=&#34;Cocoa HTML Writer&#34;&gt;
  &lt;meta name=&#34;CocoaVersion&#34; content=&#34;2685.5&#34;&gt;
  &lt;style type=&#34;text/css&#34;&gt;
    p.p1 {margin: 0.0px 0.0px 0.0px 62.4px; text-indent: -62.5px; font: 18.0px Verdana; color: #000000}
    p.p2 {margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 18.0px Verdana; color: #000000}
    p.p3 {margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 18.0px Verdana; color: #408000}
    p.p4 {margin: 0.0px 0.0px 0.0px 187.3px; text-indent: -187.3px; font: 18.0px Verdana; color: #000000}
    p.p5 {margin: 0.0px 0.0px 0.0px 187.3px; text-indent: -187.3px; font: 18.0px Verdana; color: #6c05d3}
    p.p6 {margin: 0.0px 0.0px 0.0px 62.4px; text-indent: -62.5px; font: 18.0px Verdana; color: #000000; min-height: 22.0px}
    p.p7 {margin: 0.0px 0.0px 0.0px 249.8px; text-indent: -249.8px; font: 18.0px Verdana; color: #000000}
    p.p8 {margin: 0.0px 0.0px 0.0px 249.8px; text-indent: -249.8px; font: 18.0px Verdana; color: #408000}
    p.p9 {margin: 0.0px 0.0px 0.0px 312.1px; text-indent: -312.2px; font: 18.0px Verdana; color: #408000}
    span.s1 {font-variant-ligatures: no-common-ligatures}
    span.s2 {font-variant-ligatures: no-common-ligatures; color: #0000ff}
    span.s3 {font-variant-ligatures: no-common-ligatures; color: #408000}
    span.s4 {font-variant-ligatures: no-common-ligatures; color: #6c05d3}
    span.s5 {font-variant-ligatures: no-common-ligatures; color: #000000}
    span.Apple-tab-span {white-space:pre}
  &lt;/style&gt;
&lt;/head&gt;
&lt;p&gt;My new app, &lt;a href=&#34;https://apps.apple.com/us/app/sinterpixels/id6758914398&#34;&gt;SinterPixels&lt;/a&gt;, is in the App Store. For the fifth installment in the series of examples of what one can do with SinterPixels, I&amp;rsquo;ll show how simple it can be to use SinterPixels&#39; &amp;ldquo;layer&amp;rdquo; object to make a tiling.  Here&amp;rsquo;s what will be produced by a 19 line script:&lt;/p&gt;
&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/cd83720f33.jpg&#34;&gt;
&lt;p&gt;This image is a 8 by 10 array of tiles, each of which is a square 48 pixels. Each tile looks like this:&lt;/p&gt;
&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/1a530eb64b.jpg&#34;&gt;
&lt;p&gt;This is the script that makes this 48 by 48 pixel image in a document of its own, and makes a copy of its data in PNG format:&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;tileDoc&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&#34;Tile&#34;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;height&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:48, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:48}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;tileDoc&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;b&gt;every&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;pixel&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;green&lt;/i&gt;&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;circle&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{24, 24}, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;radius&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:24, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;blue&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;clear&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;line width&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:4}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;circle&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{-24, -24}, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;radius&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:24, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;blue&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;clear&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;line width&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:4}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;tilePNG&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;get&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;PNG data&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;Then we make a second document for assembling the 80 tiles that will make the pattern:&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;mosaicDoc&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&#34;Mosaic&#34;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;height&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:384, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:480}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;Now we go through a double loop, 10 times horizontally for x, and 8 times vertically for y.  Each time through the loop, the script makes a new layer with the PNG data we copied in the first step.  A &amp;ldquo;layer&amp;rdquo; in SInterPixels might be different from the &amp;ldquo;layer&amp;rdquo; some might be familiar with from an app like Photoshop. In this case, the layer itself has a size of 48 by 48, and like any other shape, one can set its position and rotation.  So, for each iteration, the tile (i.e., the layer) gets put in the right position, and, randomly, a rotation is applied.&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
b&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&#34;Mosaic&#34;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;height&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:384, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:480}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;from&lt;/b&gt; 1 &lt;b&gt;to&lt;/b&gt; 10&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;from&lt;/b&gt; 1 &lt;b&gt;to&lt;/b&gt; 8&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;newPosition&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {(&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * 48) - 264, (&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * 48) - 216}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;newRotation&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;some&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;item&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; {0, 90}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;mosaicDoc&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nthLayer&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;layer&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;image data&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;tilePNG&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;rotation&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newRotation&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newPosition&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;Here&amp;rsquo;s the whole whole 19 line script that makes an image like the one at the top of this post.&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;tileDoc&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&#34;Tile&#34;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;height&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:48, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:48}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;tileDoc&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;b&gt;every&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;pixel&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;green&lt;/i&gt;&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;circle&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{24, 24}, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;radius&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:24, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;blue&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;clear&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;line width&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:4}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;circle&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{-24, -24}, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;radius&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:24, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;blue&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;clear&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;line width&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:4}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;tilePNG&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;get&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;PNG data&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;mosaicDoc&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&#34;Mosaic&#34;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;height&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:384, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:480}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;from&lt;/b&gt; 1 &lt;b&gt;to&lt;/b&gt; 10&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;from&lt;/b&gt; 1 &lt;b&gt;to&lt;/b&gt; 8&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;newPosition&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {(&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * 48) - 264, (&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * 48) - 216}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;newRotation&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;some&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;item&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; {0, 90}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;mosaicDoc&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nthLayer&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;layer&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;image data&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;tilePNG&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;rotation&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newRotation&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newPosition&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br&gt;
</description>
      <source:markdown>
&lt;head&gt; 
  &lt;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=utf-8&#34;&gt;
  &lt;meta http-equiv=&#34;Content-Style-Type&#34; content=&#34;text/css&#34;&gt;
  &lt;title&gt;&lt;/title&gt;
  &lt;meta name=&#34;Generator&#34; content=&#34;Cocoa HTML Writer&#34;&gt;
  &lt;meta name=&#34;CocoaVersion&#34; content=&#34;2685.5&#34;&gt;
  &lt;style type=&#34;text/css&#34;&gt;
    p.p1 {margin: 0.0px 0.0px 0.0px 62.4px; text-indent: -62.5px; font: 18.0px Verdana; color: #000000}
    p.p2 {margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 18.0px Verdana; color: #000000}
    p.p3 {margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 18.0px Verdana; color: #408000}
    p.p4 {margin: 0.0px 0.0px 0.0px 187.3px; text-indent: -187.3px; font: 18.0px Verdana; color: #000000}
    p.p5 {margin: 0.0px 0.0px 0.0px 187.3px; text-indent: -187.3px; font: 18.0px Verdana; color: #6c05d3}
    p.p6 {margin: 0.0px 0.0px 0.0px 62.4px; text-indent: -62.5px; font: 18.0px Verdana; color: #000000; min-height: 22.0px}
    p.p7 {margin: 0.0px 0.0px 0.0px 249.8px; text-indent: -249.8px; font: 18.0px Verdana; color: #000000}
    p.p8 {margin: 0.0px 0.0px 0.0px 249.8px; text-indent: -249.8px; font: 18.0px Verdana; color: #408000}
    p.p9 {margin: 0.0px 0.0px 0.0px 312.1px; text-indent: -312.2px; font: 18.0px Verdana; color: #408000}
    span.s1 {font-variant-ligatures: no-common-ligatures}
    span.s2 {font-variant-ligatures: no-common-ligatures; color: #0000ff}
    span.s3 {font-variant-ligatures: no-common-ligatures; color: #408000}
    span.s4 {font-variant-ligatures: no-common-ligatures; color: #6c05d3}
    span.s5 {font-variant-ligatures: no-common-ligatures; color: #000000}
    span.Apple-tab-span {white-space:pre}
  &lt;/style&gt;
&lt;/head&gt;

My new app, [SinterPixels](https://apps.apple.com/us/app/sinterpixels/id6758914398), is in the App Store. For the fifth installment in the series of examples of what one can do with SinterPixels, I&#39;ll show how simple it can be to use SinterPixels&#39; &#34;layer&#34; object to make a tiling.  Here&#39;s what will be produced by a 19 line script:

&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/cd83720f33.jpg&#34;&gt;

This image is a 8 by 10 array of tiles, each of which is a square 48 pixels. Each tile looks like this:

&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/1a530eb64b.jpg&#34;&gt;

This is the script that makes this 48 by 48 pixel image in a document of its own, and makes a copy of its data in PNG format:

&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;tileDoc&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&#34;Tile&#34;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;height&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:48, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:48}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;tileDoc&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;b&gt;every&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;pixel&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;green&lt;/i&gt;&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;circle&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{24, 24}, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;radius&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:24, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;blue&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;clear&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;line width&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:4}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;circle&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{-24, -24}, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;radius&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:24, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;blue&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;clear&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;line width&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:4}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;tilePNG&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;get&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;PNG data&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br&gt;

Then we make a second document for assembling the 80 tiles that will make the pattern:

&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;mosaicDoc&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&#34;Mosaic&#34;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;height&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:384, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:480}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br&gt;

Now we go through a double loop, 10 times horizontally for x, and 8 times vertically for y.  Each time through the loop, the script makes a new layer with the PNG data we copied in the first step.  A &#34;layer&#34; in SInterPixels might be different from the &#34;layer&#34; some might be familiar with from an app like Photoshop. In this case, the layer itself has a size of 48 by 48, and like any other shape, one can set its position and rotation.  So, for each iteration, the tile (i.e., the layer) gets put in the right position, and, randomly, a rotation is applied.

&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
b&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&#34;Mosaic&#34;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;height&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:384, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:480}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;from&lt;/b&gt; 1 &lt;b&gt;to&lt;/b&gt; 10&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;from&lt;/b&gt; 1 &lt;b&gt;to&lt;/b&gt; 8&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;newPosition&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {(&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * 48) - 264, (&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * 48) - 216}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;newRotation&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;some&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;item&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; {0, 90}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;mosaicDoc&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nthLayer&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;layer&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;image data&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;tilePNG&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;rotation&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newRotation&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newPosition&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br&gt;

Here&#39;s the whole whole 19 line script that makes an image like the one at the top of this post.   


&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;tileDoc&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&#34;Tile&#34;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;height&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:48, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:48}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;tileDoc&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;b&gt;every&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;pixel&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;green&lt;/i&gt;&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;circle&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{24, 24}, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;radius&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:24, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;blue&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;clear&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;line width&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:4}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;circle&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{-24, -24}, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;radius&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:24, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;blue&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;clear&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;line width&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:4}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;tilePNG&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;get&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;PNG data&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;mosaicDoc&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&#34;Mosaic&#34;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;height&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:384, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:480}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;from&lt;/b&gt; 1 &lt;b&gt;to&lt;/b&gt; 10&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;from&lt;/b&gt; 1 &lt;b&gt;to&lt;/b&gt; 8&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;newPosition&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {(&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * 48) - 264, (&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * 48) - 216}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;newRotation&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;some&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;item&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;of&lt;/b&gt; {0, 90}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;mosaicDoc&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nthLayer&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;layer&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;image data&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;tilePNG&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;rotation&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newRotation&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;newPosition&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br&gt;


</source:markdown>
    </item>
    
    <item>
      <title>SinterPixels Demos Part 4: A Randomly Asymmetric Leaf</title>
      <link>https://olof.micro.blog/2026/05/15/sinterpixels-demos-part-a-randomly.html</link>
      <pubDate>Fri, 15 May 2026 13:46:19 -0500</pubDate>
      
      <guid>http://olof.micro.blog/2026/05/15/sinterpixels-demos-part-a-randomly.html</guid>
      <description>&lt;head&gt;
  &lt;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=utf-8&#34;&gt;
  &lt;meta http-equiv=&#34;Content-Style-Type&#34; content=&#34;text/css&#34;&gt;
  &lt;title&gt;&lt;/title&gt;
  &lt;meta name=&#34;Generator&#34; content=&#34;Cocoa HTML Writer&#34;&gt;
  &lt;meta name=&#34;CocoaVersion&#34; content=&#34;2685.5&#34;&gt;
  &lt;style type=&#34;text/css&#34;&gt;
    p.p1 {margin: 0.0px 0.0px 0.0px 58.9px; text-indent: -59.0px; font: 18.0px Verdana; color: #000000; min-height: 22.0px}
    p.p2 {margin: 0.0px 0.0px 0.0px 58.9px; text-indent: -59.0px; font: 18.0px Verdana; color: #408000}
    p.p3 {margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 18.0px Verdana; color: #000000}
    p.p4 {margin: 0.0px 0.0px 0.0px 62.4px; text-indent: -62.5px; font: 18.0px Verdana; color: #408000}
    p.p5 {margin: 0.0px 0.0px 0.0px 43.3px; text-indent: -43.4px; font: 18.0px Menlo; color: #800080; min-height: 21.0px}
    p.p6 {margin: 0.0px 0.0px 0.0px 176.8px; text-indent: -176.8px; font: 18.0px Verdana; color: #000000}
    p.p7 {margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 18.0px Verdana; color: #408000}
    p.p8 {margin: 0.0px 0.0px 0.0px 176.8px; text-indent: -176.8px; font: 18.0px Verdana; color: #408000}
    p.p9 {margin: 0.0px 0.0px 0.0px 235.7px; text-indent: -235.7px; font: 18.0px Verdana; color: #000000; min-height: 22.0px}
    p.p10 {margin: 0.0px 0.0px 0.0px 235.7px; text-indent: -235.7px; font: 18.0px Verdana; color: #408000}
    p.p11 {margin: 0.0px 0.0px 0.0px 235.7px; text-indent: -235.7px; font: 18.0px Verdana; color: #000000}
    p.p12 {margin: 0.0px 0.0px 0.0px 294.6px; text-indent: -294.6px; font: 18.0px Verdana; color: #6c05d3}
    p.p13 {margin: 0.0px 0.0px 0.0px 58.9px; text-indent: -59.0px; font: 18.0px Verdana; color: #000000}
    span.s1 {font-variant-ligatures: no-common-ligatures}
    span.s2 {font-variant-ligatures: no-common-ligatures; color: #000000}
    span.s3 {font-variant-ligatures: no-common-ligatures; color: #0016b0}
    span.s4 {font-variant-ligatures: no-common-ligatures; color: #0000ff}
    span.s5 {font-variant-ligatures: no-common-ligatures; color: #408000}
    span.s6 {font-variant-ligatures: no-common-ligatures; color: #6c05d3}
    span.Apple-tab-span {white-space:pre}
  &lt;/style&gt;
&lt;/head&gt;
&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/5asymmetricleaves.png&#34;&gt;
&lt;p&gt;My new app, &lt;a href=&#34;https://apps.apple.com/us/app/sinterpixels/id6758914398&#34;&gt;SinterPixels&lt;/a&gt;, is in the App Store. For the fourth installment in the series of examples of what one can do with SinterPixels, let&amp;rsquo;s revisit &lt;a href=&#34;https://olof.micro.blog/2026/05/13/sinterpixels-demos-part-a-leaf.html&#34;&gt;yesterday&amp;rsquo;s post&lt;/a&gt;, where we explored how to draw a simple, symmetric leaf. Today, we&amp;rsquo;ll expand on that simple leaf, and make it a bit more organic, by introducing some randomness in the parameters we use for drawing the lines.&lt;/p&gt;
&lt;p&gt;First, lets introduce a function that gets a random number between -1.0 and 1.0:&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;randomFraction&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;()&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;return&lt;/b&gt; (&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;random number&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;from&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; -100 &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;to&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; 100) / 100.0&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;randomFraction&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Next, lets write a function that makes the anchor data  and color for a single line that we use to draw a leaf &amp;ndash; we&amp;rsquo;ll draw 11 of these&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;leafPath&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;tip&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;py&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;slp&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;col&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;using terms from&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;p1&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {&lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:{0, 0}, &lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;slope&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;slp&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;p2&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {&lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:{&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;py&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;}, &lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;slope&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:0}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;p3&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {&lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:{&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;tip&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, 0}, &lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;slope&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:0}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;return&lt;/b&gt; {&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;pts&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:{&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;p1&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;p2&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;p3&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;}, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;clr&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;col&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;using terms from&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;leafPath&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;When we call this function, we pass in 5 values.  tip is the length of the leaf, in pixels.  px is x value at the highest (or lowest) point on the arc &amp;ndash; where the slope of the path is zero. py is the y coordinate at that point.  slp is the slope of the line where the path begins, on the left.  and col is the color.  This function returns the basic information needed to draw a single path, of which we&amp;rsquo;ll draw 11 to make a leaf shape.&lt;/p&gt;
&lt;p&gt;Now, let&amp;rsquo;s write a function that will generate all 11 of our paths for a leaf. This function will need a bit more info.  The tip and px values are the same as in the previous function.  But now, the topmost and the bottommost paths will have different values, a py (positive y) value and a ny (negative y) value.  Yesterday, in our symmetric leaf, py and ny were both just the same as px.  And, we need two slopes, one for the top path (pSlp) and one for the bottom path (nSlp) .  Yesterday, the slopes were 1 and -1, which made things simple:&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;allLeafPaths&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;tip&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;py&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;ny&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;pslp&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nSlp&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;topLeafPath&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;leafPath&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;tip&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;py&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;pslp&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, {0.1, 0.7, 0.1})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;bottomLeafPath&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;leafPath&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;tip&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;ny&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;nSlp&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, {0.1, 0.7, 0.1})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;centerLeafPath&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;leafPath&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;tip&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, (&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;ny&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; + &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;py&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;) / 2, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;pslp&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; + &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;nSlp&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, {0.25, 0.8, 0.25})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;allPaths&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;to&lt;/b&gt; {&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;topLeafPath&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;centerLeafPath&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;bottomLeafPath&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;n&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;in&lt;/b&gt; {1, 2, 3, 4, 6, 7, 8, 9}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;m&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; 10 - &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;n&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;minorPath&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;leafPath&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;tip&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, (&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;n&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;ny&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; + &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;m&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;py&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;) / 10, (&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;m&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;pslp&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; + &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;n&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;nSlp&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;) / 10, {0.6, 1.9, 0.6})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;allPaths&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;allPaths&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &amp;amp; {&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;minorPath&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;return&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;allPaths&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;allLeafPaths&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Here, we make three paths special &amp;ndash; the top, center and bottom paths.  Then, in the loop, we create eight paths evenly spaced between them &amp;ndash; four between top and center, four between center and bottom.&lt;/p&gt;
&lt;p&gt;Next, we need a function that will call into that allLeafPaths() function, supplying values with a little bit of randomness tossed in.  Here&amp;rsquo;s how we do that:&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;leafPathsWithRandomParams&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;sz&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;quarterSize&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;sz&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * 0.25&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;dpy&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;quarterSize&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; * 0.3 * (&lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;randomFraction&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;())&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;dny&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;quarterSize&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; * 0.3 * (&lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;randomFraction&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;())&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;dx&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;quarterSize&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; * (&lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;randomFraction&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;())&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;py&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;dpy&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; + &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;quarterSize&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;ny&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;dny&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; - &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;quarterSize&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;tip&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;sz&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; + &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;dx&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;pSlope&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;py&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; / &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;quarterSize&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nSlope&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;ny&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; / &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;quarterSize&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;return&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;allLeafPaths&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;tip&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;quarterSize&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;py&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;ny&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;pSlope&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nSlope&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;leafPathsWithRandomParams&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;The three values, dpy, dny and dx are &amp;lsquo;delta&amp;rsquo; values &amp;ndash; that&amp;rsquo;s how much we are going to change the path anchor positions by.  The two slope values are set based on the randomized py and ny values.&lt;/p&gt;
&lt;p&gt;And, almost at the end, we write a function that actually calls leafPathsWithRandomParams() and draws the paths.  This function draws all the paths at the position specified&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;makeALeaf&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;pos&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; 1&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p10&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;myPaths&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;leafPathsWithRandomParams&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;(260)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;nthPath&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;in&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;myPaths&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;path&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;pos&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;anchor data&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;pts&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;nthPath&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;closed&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;false&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;clear&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;clr&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;nthPath&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;makeALeaf&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Now, to show off that each leaf is its own special someone, lets draw five of them, each at a different position, and see how they differ:&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;makeALeaf&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;({-340, 120})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;makeALeaf&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;({20, 120})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;makeALeaf&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;({-160, 0})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;makeALeaf&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;({-340, -120})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;makeALeaf&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;({20, -120})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/5asymmetricleavessinglepass.png&#34;&gt;
&lt;p&gt;To generate the image like the one at the top of this post, just run that in a loop 5 times:&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p13&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;repeat&lt;/b&gt; 5 &lt;b&gt;times&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;makeALeaf&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;({-340, 120})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;makeALeaf&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;({20, 120})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;makeALeaf&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;({-160, 0})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;makeALeaf&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;({-340, -120})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;makeALeaf&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;({20, -120})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p13&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
</description>
      <source:markdown>
&lt;head&gt;
  &lt;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=utf-8&#34;&gt;
  &lt;meta http-equiv=&#34;Content-Style-Type&#34; content=&#34;text/css&#34;&gt;
  &lt;title&gt;&lt;/title&gt;
  &lt;meta name=&#34;Generator&#34; content=&#34;Cocoa HTML Writer&#34;&gt;
  &lt;meta name=&#34;CocoaVersion&#34; content=&#34;2685.5&#34;&gt;
  &lt;style type=&#34;text/css&#34;&gt;
    p.p1 {margin: 0.0px 0.0px 0.0px 58.9px; text-indent: -59.0px; font: 18.0px Verdana; color: #000000; min-height: 22.0px}
    p.p2 {margin: 0.0px 0.0px 0.0px 58.9px; text-indent: -59.0px; font: 18.0px Verdana; color: #408000}
    p.p3 {margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 18.0px Verdana; color: #000000}
    p.p4 {margin: 0.0px 0.0px 0.0px 62.4px; text-indent: -62.5px; font: 18.0px Verdana; color: #408000}
    p.p5 {margin: 0.0px 0.0px 0.0px 43.3px; text-indent: -43.4px; font: 18.0px Menlo; color: #800080; min-height: 21.0px}
    p.p6 {margin: 0.0px 0.0px 0.0px 176.8px; text-indent: -176.8px; font: 18.0px Verdana; color: #000000}
    p.p7 {margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 18.0px Verdana; color: #408000}
    p.p8 {margin: 0.0px 0.0px 0.0px 176.8px; text-indent: -176.8px; font: 18.0px Verdana; color: #408000}
    p.p9 {margin: 0.0px 0.0px 0.0px 235.7px; text-indent: -235.7px; font: 18.0px Verdana; color: #000000; min-height: 22.0px}
    p.p10 {margin: 0.0px 0.0px 0.0px 235.7px; text-indent: -235.7px; font: 18.0px Verdana; color: #408000}
    p.p11 {margin: 0.0px 0.0px 0.0px 235.7px; text-indent: -235.7px; font: 18.0px Verdana; color: #000000}
    p.p12 {margin: 0.0px 0.0px 0.0px 294.6px; text-indent: -294.6px; font: 18.0px Verdana; color: #6c05d3}
    p.p13 {margin: 0.0px 0.0px 0.0px 58.9px; text-indent: -59.0px; font: 18.0px Verdana; color: #000000}
    span.s1 {font-variant-ligatures: no-common-ligatures}
    span.s2 {font-variant-ligatures: no-common-ligatures; color: #000000}
    span.s3 {font-variant-ligatures: no-common-ligatures; color: #0016b0}
    span.s4 {font-variant-ligatures: no-common-ligatures; color: #0000ff}
    span.s5 {font-variant-ligatures: no-common-ligatures; color: #408000}
    span.s6 {font-variant-ligatures: no-common-ligatures; color: #6c05d3}
    span.Apple-tab-span {white-space:pre}
  &lt;/style&gt;
&lt;/head&gt;


&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/5asymmetricleaves.png&#34;&gt;

My new app, [SinterPixels](https://apps.apple.com/us/app/sinterpixels/id6758914398), is in the App Store. For the fourth installment in the series of examples of what one can do with SinterPixels, let&#39;s revisit [yesterday&#39;s post](https://olof.micro.blog/2026/05/13/sinterpixels-demos-part-a-leaf.html), where we explored how to draw a simple, symmetric leaf. Today, we&#39;ll expand on that simple leaf, and make it a bit more organic, by introducing some randomness in the parameters we use for drawing the lines.

First, lets introduce a function that gets a random number between -1.0 and 1.0:


&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;randomFraction&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;()&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;return&lt;/b&gt; (&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;random number&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;from&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; -100 &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;to&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; 100) / 100.0&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;randomFraction&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;


Next, lets write a function that makes the anchor data  and color for a single line that we use to draw a leaf -- we&#39;ll draw 11 of these 


&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;leafPath&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;tip&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;py&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;slp&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;col&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;using terms from&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;p1&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {&lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:{0, 0}, &lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;slope&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;slp&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;p2&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {&lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:{&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;py&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;}, &lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;slope&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:0}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;p3&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {&lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:{&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;tip&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, 0}, &lt;/span&gt;&lt;span class=&#34;s6&#34;&gt;slope&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:0}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;return&lt;/b&gt; {&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;pts&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:{&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;p1&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;p2&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;p3&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;}, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;clr&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;col&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;using terms from&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;leafPath&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;


When we call this function, we pass in 5 values.  tip is the length of the leaf, in pixels.  px is x value at the highest (or lowest) point on the arc -- where the slope of the path is zero. py is the y coordinate at that point.  slp is the slope of the line where the path begins, on the left.  and col is the color.  This function returns the basic information needed to draw a single path, of which we&#39;ll draw 11 to make a leaf shape. 


Now, let&#39;s write a function that will generate all 11 of our paths for a leaf. This function will need a bit more info.  The tip and px values are the same as in the previous function.  But now, the topmost and the bottommost paths will have different values, a py (positive y) value and a ny (negative y) value.  Yesterday, in our symmetric leaf, py and ny were both just the same as px.  And, we need two slopes, one for the top path (pSlp) and one for the bottom path (nSlp) .  Yesterday, the slopes were 1 and -1, which made things simple:


&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;allLeafPaths&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;tip&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;py&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;ny&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;pslp&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nSlp&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;topLeafPath&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;leafPath&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;tip&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;py&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;pslp&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, {0.1, 0.7, 0.1})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;bottomLeafPath&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;leafPath&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;tip&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;ny&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;nSlp&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, {0.1, 0.7, 0.1})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;centerLeafPath&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;leafPath&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;tip&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, (&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;ny&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; + &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;py&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;) / 2, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;pslp&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; + &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;nSlp&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, {0.25, 0.8, 0.25})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;allPaths&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;to&lt;/b&gt; {&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;topLeafPath&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;centerLeafPath&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;bottomLeafPath&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;n&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;in&lt;/b&gt; {1, 2, 3, 4, 6, 7, 8, 9}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;m&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; 10 - &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;n&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;minorPath&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;leafPath&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;tip&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, (&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;n&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;ny&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; + &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;m&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;py&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;) / 10, (&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;m&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;pslp&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; + &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;n&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;nSlp&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;) / 10, {0.6, 1.9, 0.6})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;allPaths&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;allPaths&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &amp;amp; {&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;minorPath&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;return&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;allPaths&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;allLeafPaths&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;


Here, we make three paths special -- the top, center and bottom paths.  Then, in the loop, we create eight paths evenly spaced between them -- four between top and center, four between center and bottom.  

Next, we need a function that will call into that allLeafPaths() function, supplying values with a little bit of randomness tossed in.  Here&#39;s how we do that:


&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;leafPathsWithRandomParams&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;sz&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;quarterSize&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;sz&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * 0.25&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;dpy&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;quarterSize&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; * 0.3 * (&lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;randomFraction&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;())&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;dny&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;quarterSize&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; * 0.3 * (&lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;randomFraction&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;())&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;dx&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;quarterSize&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; * (&lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;randomFraction&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;())&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;py&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;dpy&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; + &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;quarterSize&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;ny&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;dny&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; - &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;quarterSize&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;tip&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;sz&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; + &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;dx&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;pSlope&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;py&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; / &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;quarterSize&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nSlope&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;ny&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; / &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;quarterSize&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;return&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;allLeafPaths&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;tip&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;quarterSize&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;py&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;ny&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;pSlope&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;nSlope&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;leafPathsWithRandomParams&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;


The three values, dpy, dny and dx are &#39;delta&#39; values -- that&#39;s how much we are going to change the path anchor positions by.  The two slope values are set based on the randomized py and ny values.


And, almost at the end, we write a function that actually calls leafPathsWithRandomParams() and draws the paths.  This function draws all the paths at the position specified


&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;makeALeaf&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;pos&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; 1&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p10&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;myPaths&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;leafPathsWithRandomParams&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;(260)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;nthPath&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;in&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;myPaths&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p12&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;path&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;pos&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;anchor data&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;pts&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;nthPath&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;closed&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;false&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;clear&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;clr&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;nthPath&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;makeALeaf&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;


Now, to show off that each leaf is its own special someone, lets draw five of them, each at a different position, and see how they differ:

&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;makeALeaf&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;({-340, 120})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;makeALeaf&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;({20, 120})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;makeALeaf&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;({-160, 0})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;makeALeaf&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;({-340, -120})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;makeALeaf&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;({20, -120})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;

&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/5asymmetricleavessinglepass.png&#34;&gt;

To generate the image like the one at the top of this post, just run that in a loop 5 times:

&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
&lt;p class=&#34;p13&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;repeat&lt;/b&gt; 5 &lt;b&gt;times&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;makeALeaf&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;({-340, 120})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;makeALeaf&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;({20, 120})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;makeALeaf&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;({-160, 0})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;makeALeaf&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;({-340, -120})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;makeALeaf&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;({20, -120})&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p13&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
</source:markdown>
    </item>
    
    <item>
      <title>SinterPixels Demos Part 3: A Leaf</title>
      <link>https://olof.micro.blog/2026/05/13/sinterpixels-demos-part-a-leaf.html</link>
      <pubDate>Wed, 13 May 2026 15:36:39 -0500</pubDate>
      
      <guid>http://olof.micro.blog/2026/05/13/sinterpixels-demos-part-a-leaf.html</guid>
      <description>&lt;head&gt;
  &lt;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=utf-8&#34;&gt;
  &lt;meta http-equiv=&#34;Content-Style-Type&#34; content=&#34;text/css&#34;&gt;
  &lt;title&gt;&lt;/title&gt;
  &lt;meta name=&#34;Generator&#34; content=&#34;Cocoa HTML Writer&#34;&gt;
  &lt;meta name=&#34;CocoaVersion&#34; content=&#34;2685.5&#34;&gt;
  &lt;style type=&#34;text/css&#34;&gt;
    p.p1 {margin: 0.0px 0.0px 0.0px 62.4px; text-indent: -62.5px; font: 18.0px Verdana; color: #000000}
    p.p2 {margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 18.0px Verdana; color: #000000}
    p.p3 {margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 18.0px Verdana; color: #000000}
    p.p4 {margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 18.0px Verdana; color: #6c05d3}
    p.p5 {margin: 0.0px 0.0px 0.0px 62.4px; text-indent: -62.5px; font: 18.0px Verdana; color: #000000; min-height: 22.0px}
    p.p6 {margin: 0.0px 0.0px 0.0px 187.3px; text-indent: -187.3px; font: 18.0px Verdana; color: #000000}
    p.p7 {margin: 0.0px 0.0px 0.0px 249.8px; text-indent: -249.8px; font: 18.0px Verdana; color: #000000}
    p.p8 {margin: 0.0px 0.0px 0.0px 187.3px; text-indent: -187.3px; font: 18.0px Verdana; color: #6c05d3}
    span.s1 {font-variant-ligatures: no-common-ligatures}
    span.s2 {font-variant-ligatures: no-common-ligatures; color: #0000ff}
    span.s3 {font-variant-ligatures: no-common-ligatures; color: #408000}
    span.s4 {font-variant-ligatures: no-common-ligatures; color: #6c05d3}
    span.s5 {font-variant-ligatures: no-common-ligatures; color: #000000}
    span.Apple-tab-span {white-space:pre}
  &lt;/style&gt;
&lt;/head&gt;
&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/symmetricleaf.png&#34;&gt;
&lt;p&gt;My new app,  &lt;a href=&#34;https://apps.apple.com/us/app/sinterpixels/id6758914398&#34;&gt;SinterPixels&lt;/a&gt;, is in the App Store.  For the third installment in the series of examples of what one can do with SinterPixels, I&amp;rsquo;ll go through what&amp;rsquo;s required to make this leaf.&lt;/p&gt;
&lt;p&gt;A basic shape in SinterPixels is the path.  This image is just eleven paths.  Each path is composed of path anchors &amp;ndash; a line, specifically a bezier path, is drawn to connect the anchors.  In SinterPixels, each of the anchors can be specified by a position and a slope.  The upper edge of the leaf is a single path, which we can make like this:&lt;/p&gt;
&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/cfc2127a10.jpg&#34;&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; 1 &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;p1&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:{0, 0}, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;slope&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:1}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;p2&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:{50, 50}, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;slope&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:0}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;p3&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:{200, 0}, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;slope&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:0}&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;path&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{-100, 0}, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;anchor data&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;p1&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;p2&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;p3&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;}, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;closed&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;false&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;clear&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{0, 0.7, 0}}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br&gt;
&lt;br&gt;
In this script, we are making a path with three anchor points -- the first one, on the left, has a slope of 1.  The second one, at the top of the curve, has a slope of zero.  The third one, at the right, also has a slope of zero.
&lt;p&gt;To make the leaf, we&amp;rsquo;ll draw a similar path 11 times.  The script goes through a loop from 5 to -5, and makes a new path each time through the loop. For each path, we change the slope at the first point and the position of the second point, and for the first, last and middle paths, we&amp;rsquo;ll draw the path in a darker color.&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; 1 &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;p3&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:{200, 0}, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;slope&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:0}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;n&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;from&lt;/b&gt; -5 &lt;b&gt;to&lt;/b&gt; 5&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;p1&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:{0, 0}, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;slope&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;n&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; / 5}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;p2&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:{50, &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;n&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * 10}, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;slope&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:0}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;if&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;n&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;is&lt;/b&gt; &lt;b&gt;in&lt;/b&gt; {-5, 0, 5} &lt;b&gt;then&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;col&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {0, 0.7, 0}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;else&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;col&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {0.4, 1.0, 0.4}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;if&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;path&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{-100, 0}, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;anchor data&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;p1&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;p2&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;p3&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;}, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;closed&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;false&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;clear&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;col&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br&gt;
&lt;br&gt;
&lt;p&gt;And that makes the image at the top of the post.&lt;/p&gt;
&lt;p&gt;For the next installment, we&amp;rsquo;ll tweak this script just a little bit, so that it generates a slightly different leaf every time.  I hope you check out SinterPixels in the app store, or look at all the user documentation at the &lt;a href=&#34;https://github.com/olofhellman/SinterpixelsSupportFiles/blob/main/docs/TableOfContents.md&#34;&gt;SinterPixels User Docs Github&lt;/a&gt;&lt;/p&gt;
</description>
      <source:markdown> 
&lt;head&gt;
  &lt;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=utf-8&#34;&gt;
  &lt;meta http-equiv=&#34;Content-Style-Type&#34; content=&#34;text/css&#34;&gt;
  &lt;title&gt;&lt;/title&gt;
  &lt;meta name=&#34;Generator&#34; content=&#34;Cocoa HTML Writer&#34;&gt;
  &lt;meta name=&#34;CocoaVersion&#34; content=&#34;2685.5&#34;&gt;
  &lt;style type=&#34;text/css&#34;&gt;
    p.p1 {margin: 0.0px 0.0px 0.0px 62.4px; text-indent: -62.5px; font: 18.0px Verdana; color: #000000}
    p.p2 {margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 18.0px Verdana; color: #000000}
    p.p3 {margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 18.0px Verdana; color: #000000}
    p.p4 {margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 18.0px Verdana; color: #6c05d3}
    p.p5 {margin: 0.0px 0.0px 0.0px 62.4px; text-indent: -62.5px; font: 18.0px Verdana; color: #000000; min-height: 22.0px}
    p.p6 {margin: 0.0px 0.0px 0.0px 187.3px; text-indent: -187.3px; font: 18.0px Verdana; color: #000000}
    p.p7 {margin: 0.0px 0.0px 0.0px 249.8px; text-indent: -249.8px; font: 18.0px Verdana; color: #000000}
    p.p8 {margin: 0.0px 0.0px 0.0px 187.3px; text-indent: -187.3px; font: 18.0px Verdana; color: #6c05d3}
    span.s1 {font-variant-ligatures: no-common-ligatures}
    span.s2 {font-variant-ligatures: no-common-ligatures; color: #0000ff}
    span.s3 {font-variant-ligatures: no-common-ligatures; color: #408000}
    span.s4 {font-variant-ligatures: no-common-ligatures; color: #6c05d3}
    span.s5 {font-variant-ligatures: no-common-ligatures; color: #000000}
    span.Apple-tab-span {white-space:pre}
  &lt;/style&gt;
&lt;/head&gt;

&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/symmetricleaf.png&#34;&gt;


My new app,  &lt;a href=&#34;https://apps.apple.com/us/app/sinterpixels/id6758914398&#34;&gt;SinterPixels&lt;/a&gt;, is in the App Store.  For the third installment in the series of examples of what one can do with SinterPixels, I&#39;ll go through what&#39;s required to make this leaf.

A basic shape in SinterPixels is the path.  This image is just eleven paths.  Each path is composed of path anchors -- a line, specifically a bezier path, is drawn to connect the anchors.  In SinterPixels, each of the anchors can be specified by a position and a slope.  The upper edge of the leaf is a single path, which we can make like this:

&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/cfc2127a10.jpg&#34;&gt;

&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; 1 &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;p1&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:{0, 0}, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;slope&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:1}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;p2&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:{50, 50}, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;slope&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:0}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;p3&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:{200, 0}, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;slope&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:0}&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;path&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{-100, 0}, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;anchor data&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;p1&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;p2&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;p3&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;}, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;closed&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;false&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;clear&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{0, 0.7, 0}}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br&gt;
&lt;br&gt;
In this script, we are making a path with three anchor points -- the first one, on the left, has a slope of 1.  The second one, at the top of the curve, has a slope of zero.  The third one, at the right, also has a slope of zero.

To make the leaf, we&#39;ll draw a similar path 11 times.  The script goes through a loop from 5 to -5, and makes a new path each time through the loop. For each path, we change the slope at the first point and the position of the second point, and for the first, last and middle paths, we&#39;ll draw the path in a darker color.

&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; 1 &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;p3&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:{200, 0}, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;slope&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:0}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;n&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;from&lt;/b&gt; -5 &lt;b&gt;to&lt;/b&gt; 5&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;p1&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:{0, 0}, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;slope&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;n&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; / 5}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;p2&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:{50, &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;n&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; * 10}, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;slope&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:0}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;if&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;n&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;is&lt;/b&gt; &lt;b&gt;in&lt;/b&gt; {-5, 0, 5} &lt;b&gt;then&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;col&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {0, 0.7, 0}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;else&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p7&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;col&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {0.4, 1.0, 0.4}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;if&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s5&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;path&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{-100, 0}, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;anchor data&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:{&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;p1&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;p2&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;p3&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;}, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;closed&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;false&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;clear&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;col&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;span class=&#34;Apple-tab-span&#34;&gt;	&lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p1&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br&gt;
&lt;br&gt;

And that makes the image at the top of the post.

For the next installment, we&#39;ll tweak this script just a little bit, so that it generates a slightly different leaf every time.  I hope you check out SinterPixels in the app store, or look at all the user documentation at the [SinterPixels User Docs Github](https://github.com/olofhellman/SinterpixelsSupportFiles/blob/main/docs/TableOfContents.md)
</source:markdown>
    </item>
    
    <item>
      <title>SinterPixels Demos, Part 2:  A Gear Shape</title>
      <link>https://olof.micro.blog/2026/05/12/sinterpixels-demos-part-a-gear.html</link>
      <pubDate>Tue, 12 May 2026 16:59:23 -0500</pubDate>
      
      <guid>http://olof.micro.blog/2026/05/12/sinterpixels-demos-part-a-gear.html</guid>
      <description>&lt;head&gt;
  &lt;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=utf-8&#34;&gt;
  &lt;meta http-equiv=&#34;Content-Style-Type&#34; content=&#34;text/css&#34;&gt;
  &lt;title&gt;&lt;/title&gt;
  &lt;meta name=&#34;Generator&#34; content=&#34;Cocoa HTML Writer&#34;&gt;
  &lt;meta name=&#34;CocoaVersion&#34; content=&#34;2685.5&#34;&gt;
&lt;style type=&#34;text/css&#34;&gt;
    p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px Helvetica; color: #000000; -webkit-text-stroke: #000000}
    p.p2 {margin: 0.0px 0.0px 0.0px 83.2px; text-indent: -83.3px; font: 18.7px Verdana; color: #000000; -webkit-text-stroke: #000000}
    p.p3 {margin: 0.0px 0.0px 0.0px 157.1px; text-indent: -157.2px; font: 18.7px Verdana; color: #000000; -webkit-text-stroke: #000000}
    p.p4 {margin: 0.0px 0.0px 0.0px 249.7px; text-indent: -249.8px; font: 18.7px Verdana; color: #0000ff; -webkit-text-stroke: #0000ff}
    p.p5 {margin: 0.0px 0.0px 0.0px 166.4px; text-indent: -166.6px; font: 18.7px Verdana; color: #000000; -webkit-text-stroke: #000000}
    p.p6 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.7px Verdana; color: #000000; -webkit-text-stroke: #000000}
    p.p7 {margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px Helvetica; color: #000000; -webkit-text-stroke: #000000; min-height: 19.0px}
    p.p8 {margin: 0.0px 0.0px 0.0px 249.7px; text-indent: -249.8px; font: 18.7px Verdana; color: #000000; -webkit-text-stroke: #000000}
    p.p9 {margin: 0.0px 0.0px 0.0px 83.2px; text-indent: -83.3px; font: 18.7px Verdana; color: #337002; -webkit-text-stroke: #337002}
    p.p10 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.7px Verdana; color: #337002; -webkit-text-stroke: #337002}
    p.p11 {margin: 0.0px 0.0px 0.0px 235.7px; text-indent: -235.8px; font: 18.7px Verdana; color: #000000; -webkit-text-stroke: #000000}
    span.s1 {font-kerning: none}
    span.s2 {font-kerning: none; color: #0000ff; -webkit-text-stroke: 0px #0000ff}
    span.s3 {font-kerning: none; color: #000000; -webkit-text-stroke: 0px #000000}
    span.s4 {font-kerning: none; color: #5700c9; -webkit-text-stroke: 0px #5700c9}
    span.s5 {font-kerning: none; color: #337002; -webkit-text-stroke: 0px #337002}
  &lt;/style&gt;
&lt;/head&gt;
&lt;p&gt;&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/aed1b76917.jpg&#34;&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;My new app,  &lt;a href=&#34;https://apps.apple.com/us/app/sinterpixels/id6758914398&#34;&gt;SinterPIxels&lt;/a&gt;, is in the App Store.  For the second installment in the series of examples of what one can do with SinterPixels, I&amp;rsquo;ll go through what&amp;rsquo;s required to make this gear shape.&lt;/p&gt;
&lt;p&gt;One of the basic shapes in SinterPixels is the polygon.  This gear is just a polygon, where the outer edge is roughly a circle, but with notches for each tooth.&lt;/p&gt;
&lt;p&gt;A polygon can be defined by a sequence of radii, so for example, the sequence {50, 50, 50} just creates a triangle, three points each with a radius from the center of 50:&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;    &lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; 1&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;        &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;polygon&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;radii&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;:{50, 50, 50}}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;    &lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/12ab8b6403.jpg&#34;&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;If we use 15 vertexes, and alter the radii with the pattern &amp;ldquo;long, long, short&amp;rdquo;, it produces an asterisk:&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;    &lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; 1&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s1&#34;&gt;        &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;polygon&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;radii&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:{50, 50, 20, 50, 50, 20, 50, 50, 20, 50, 50, 20, 50, 50, 20}, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:{0, 0}}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;    &lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/b90fea8167.jpg&#34;&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s extend that idea to make our gear, but to generate the list of radii, lets write a helper function that takes in a number of teeth, a radius and a tooth depth&lt;/p&gt;
&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;gearRadii&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;numberOfTeeth&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;rad&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;depth&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;    &lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;rList&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;    &lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;s&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;from&lt;/b&gt; 1 &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;numberOfTeeth&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s1&#34;&gt;        &lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;rList&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;rList&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &amp;amp; {&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;rad&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;rad&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;rad&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;rad&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s1&#34;&gt;        &lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;rList&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;rList&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &amp;amp; {(&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;rad&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; - &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;depth&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;), (&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;rad&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; - &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;depth&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;)}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;    &lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;    &lt;b&gt;return&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;rList&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p10&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;gearRadii&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;br&gt;Now, our script can get a list of radii for lots of different gears, and just make a polygon.  Lihe the circles in our previous demo, polygons have color, fill color, and line width properties, so we can set exactly the colors we want:&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;radiiList&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;gearRadii&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;(9, 60, 12)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;    &lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; 1&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;        &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;polygon&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;radii&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;radiiList&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;blue&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:{0.8, 1.0, 0.8}, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;line width&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:3}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;    &lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;br&gt;This script generates the shape at the top of the post!&lt;/p&gt;
&lt;p&gt;Hope you try our &lt;a href=&#34;https://apps.apple.com/us/app/sinterpixels/id6758914398&#34;&gt;SinterPIxels&lt;/a&gt; on the App Store, and check out all the user documentation at &lt;a href=&#34;https://github.com/olofhellman/SinterpixelsSupportFiles/blob/main/docs/TableOfContents.md&#34;&gt;the github repo.&lt;/a&gt;&lt;/p&gt;
</description>
      <source:markdown>&lt;head&gt;
  &lt;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=utf-8&#34;&gt;
  &lt;meta http-equiv=&#34;Content-Style-Type&#34; content=&#34;text/css&#34;&gt;
  &lt;title&gt;&lt;/title&gt;
  &lt;meta name=&#34;Generator&#34; content=&#34;Cocoa HTML Writer&#34;&gt;
  &lt;meta name=&#34;CocoaVersion&#34; content=&#34;2685.5&#34;&gt;
  
&lt;style type=&#34;text/css&#34;&gt;
    p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px Helvetica; color: #000000; -webkit-text-stroke: #000000}
    p.p2 {margin: 0.0px 0.0px 0.0px 83.2px; text-indent: -83.3px; font: 18.7px Verdana; color: #000000; -webkit-text-stroke: #000000}
    p.p3 {margin: 0.0px 0.0px 0.0px 157.1px; text-indent: -157.2px; font: 18.7px Verdana; color: #000000; -webkit-text-stroke: #000000}
    p.p4 {margin: 0.0px 0.0px 0.0px 249.7px; text-indent: -249.8px; font: 18.7px Verdana; color: #0000ff; -webkit-text-stroke: #0000ff}
    p.p5 {margin: 0.0px 0.0px 0.0px 166.4px; text-indent: -166.6px; font: 18.7px Verdana; color: #000000; -webkit-text-stroke: #000000}
    p.p6 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.7px Verdana; color: #000000; -webkit-text-stroke: #000000}
    p.p7 {margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px Helvetica; color: #000000; -webkit-text-stroke: #000000; min-height: 19.0px}
    p.p8 {margin: 0.0px 0.0px 0.0px 249.7px; text-indent: -249.8px; font: 18.7px Verdana; color: #000000; -webkit-text-stroke: #000000}
    p.p9 {margin: 0.0px 0.0px 0.0px 83.2px; text-indent: -83.3px; font: 18.7px Verdana; color: #337002; -webkit-text-stroke: #337002}
    p.p10 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.7px Verdana; color: #337002; -webkit-text-stroke: #337002}
    p.p11 {margin: 0.0px 0.0px 0.0px 235.7px; text-indent: -235.8px; font: 18.7px Verdana; color: #000000; -webkit-text-stroke: #000000}
    span.s1 {font-kerning: none}
    span.s2 {font-kerning: none; color: #0000ff; -webkit-text-stroke: 0px #0000ff}
    span.s3 {font-kerning: none; color: #000000; -webkit-text-stroke: 0px #000000}
    span.s4 {font-kerning: none; color: #5700c9; -webkit-text-stroke: 0px #5700c9}
    span.s5 {font-kerning: none; color: #337002; -webkit-text-stroke: 0px #337002}
  &lt;/style&gt;
&lt;/head&gt;

&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/aed1b76917.jpg&#34;&gt;&lt;br&gt;&lt;br&gt;

My new app,  &lt;a href=&#34;https://apps.apple.com/us/app/sinterpixels/id6758914398&#34;&gt;SinterPIxels&lt;/a&gt;, is in the App Store.  For the second installment in the series of examples of what one can do with SinterPixels, I&#39;ll go through what&#39;s required to make this gear shape.

One of the basic shapes in SinterPixels is the polygon.  This gear is just a polygon, where the outer edge is roughly a circle, but with notches for each tooth. 

A polygon can be defined by a sequence of radii, so for example, the sequence {50, 50, 50} just creates a triangle, three points each with a radius from the center of 50:

&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p3&#34;&gt;&lt;span class=&#34;s1&#34;&gt;    &lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; 1&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p4&#34;&gt;&lt;span class=&#34;s3&#34;&gt;        &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&lt;i&gt;polygon&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;radii&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;:{50, 50, 50}}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;    &lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;


&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/12ab8b6403.jpg&#34;&gt;&lt;br&gt;&lt;br&gt;


If we use 15 vertexes, and alter the radii with the pattern &#34;long, long, short&#34;, it produces an asterisk:
 
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;    &lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; 1&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s1&#34;&gt;        &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;polygon&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;radii&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:{50, 50, 20, 50, 50, 20, 50, 50, 20, 50, 50, 20, 50, 50, 20}, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:{0, 0}}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;    &lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p6&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/b90fea8167.jpg&#34;&gt;&lt;br&gt;&lt;br&gt;


Let&#39;s extend that idea to make our gear, but to generate the list of radii, lets write a helper function that takes in a number of teeth, a radius and a tooth depth

&lt;p class=&#34;p9&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;gearRadii&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;numberOfTeeth&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;rad&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;depth&lt;/span&gt;&lt;span class=&#34;s3&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;    &lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;rList&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; {}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;    &lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;s&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;from&lt;/b&gt; 1 &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;numberOfTeeth&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s1&#34;&gt;        &lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;rList&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;rList&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &amp;amp; {&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;rad&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;rad&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;rad&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;rad&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p8&#34;&gt;&lt;span class=&#34;s1&#34;&gt;        &lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;rList&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;rList&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &amp;amp; {(&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;rad&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; - &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;depth&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;), (&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;rad&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; - &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;depth&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;)}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;    &lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;    &lt;b&gt;return&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;rList&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p10&#34;&gt;&lt;span class=&#34;s3&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;gearRadii&lt;/span&gt;&lt;/p&gt;


&lt;br&gt;&lt;br&gt;Now, our script can get a list of radii for lots of different gears, and just make a polygon.  Lihe the circles in our previous demo, polygons have color, fill color, and line width properties, so we can set exactly the colors we want:

&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;radiiList&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;gearRadii&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;(9, 60, 12)&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;    &lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; 1&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p11&#34;&gt;&lt;span class=&#34;s1&#34;&gt;        &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&lt;i&gt;polygon&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;with properties&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt; {&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;radii&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s5&#34;&gt;radiiList&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;&lt;i&gt;blue&lt;/i&gt;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;fill color&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:{0.8, 1.0, 0.8}, &lt;/span&gt;&lt;span class=&#34;s4&#34;&gt;line width&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;:3}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p5&#34;&gt;&lt;span class=&#34;s1&#34;&gt;    &lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&#34;p2&#34;&gt;&lt;span class=&#34;s1&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;br&gt;&lt;br&gt;This script generates the shape at the top of the post!

Hope you try our &lt;a href=&#34;https://apps.apple.com/us/app/sinterpixels/id6758914398&#34;&gt;SinterPIxels&lt;/a&gt; on the App Store, and check out all the user documentation at [the github repo.](https://github.com/olofhellman/SinterpixelsSupportFiles/blob/main/docs/TableOfContents.md)
</source:markdown>
    </item>
    
    <item>
      <title>SinterPixels Demos, Part 1:  Growing Circles Movie</title>
      <link>https://olof.micro.blog/2026/05/11/sinterpixels-demos-part-growing-circles.html</link>
      <pubDate>Mon, 11 May 2026 17:07:32 -0500</pubDate>
      
      <guid>http://olof.micro.blog/2026/05/11/sinterpixels-demos-part-growing-circles.html</guid>
      <description>&lt;p&gt;I have a new app in the App Store:  &lt;a href=&#34;https://apps.apple.com/us/app/sinterpixels/id6758914398&#34;&gt;SinterPIxels&lt;/a&gt; For the next few weeks, I’ll be writing posts  with examples of what SinterPixels can do.  Today is the first installment in the series:  How to generate this movie:&lt;/p&gt;
&lt;video src=&#34;https://cdn.uploads.micro.mov/908/2026/growingcirclesmovie/playlist.m3u8&#34; style=&#34;background-color: #ffffff;&#34; poster=&#34;https://olof.micro.blog/uploads/2026/poster.jpg&#34; width=&#34;480&#34; height=&#34;320&#34; controls=&#34;controls&#34; playsinline=&#34;playsinline&#34; preload=&#34;metadata&#34;&gt;&lt;/video&gt;
&lt;p&gt; Note: for some reason there&#39;s a gray overlay on the video player which I can&#39;t figure out.  Here&#39;s a link to &lt;a href=&#34;https://tomographic.com/images/GrowingCirclesMovie.mov&#34;&gt; the generated .mov file&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;SinterPixels is all about writing a script to generate graphics.  So for example, a new circle can be generated with:&lt;/p&gt;
&lt;p&gt;     &lt;strong&gt;make&lt;/strong&gt; new &lt;em&gt;circle&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;circles have properties like color, fill color, line width and radius, so these can be specified when you make one like this:&lt;/p&gt;
&lt;p&gt;     &lt;strong&gt;make&lt;/strong&gt; new &lt;em&gt;circle &lt;/em&gt;with properties { color: blue, fill color: clear,  line width: 3, radius 20}&lt;/p&gt;
&lt;p&gt;That will make a blue circle with no fill color of radius 20 with a line width of 3, If you don’t specify one of the properties, a random one will get used.&lt;/p&gt;
&lt;p&gt;To make a circle grow just a little bit, we can get the previous radius and set it to a slightly larger value:&lt;/p&gt;
&lt;p&gt;     &lt;strong&gt;set&lt;/strong&gt; oldRadius to (&lt;strong&gt;get&lt;/strong&gt; radius of the first &lt;em&gt;circle&lt;/em&gt;)&lt;/p&gt;
&lt;p&gt;     &lt;strong&gt;set&lt;/strong&gt; the radius of the first &lt;em&gt;circle&lt;/em&gt; to oldRadius + 1&lt;/p&gt;
&lt;p&gt;One of the features of SinterPixels is the ability to record movies.  There are custom commands &lt;strong&gt;start&lt;/strong&gt;, &lt;strong&gt;record movie frame&lt;/strong&gt;, and &lt;strong&gt;stop&lt;/strong&gt; that define each frame precisely. When you stop filming, you can specify where to save the file and a filename. &lt;/p&gt;
&lt;p&gt;Combining all these in a single script can result in this movie which shows circles growing and disappearing:&lt;/p&gt;
&lt;p&gt;&lt;a title=&#34;GrowingCirclesMovie.mov&#34; href=&#34;https://olof.micro.blog/uploads/2026/growingcirclesmovie.mov&#34;&gt;GrowingCirclesMovie.mov&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Here’s the complete 22 line script to generate this movie:&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 20px;  font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 40px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #0000ff;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;	&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;theDoc&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;new&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;with properties&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; {&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;width&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:480, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;height&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:320}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 40px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #0000ff;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;start&lt;/b&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;filming&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; 1&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 40px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;	&lt;b&gt;repeat&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-style: normal; font-variant-caps: normal; font-width: normal; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; font-variant-ligatures: no-common-ligatures; color: #800080;&#34;&gt;30&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;times&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 60px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;		&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; 1&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 80px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #0000ff;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;new&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;i&gt;circle&lt;/i&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;with properties&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; {&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;line width&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:4, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;fill color&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;&lt;i&gt;clear&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 80px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;			&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;circleCount&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;b&gt;count&lt;/b&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;circles&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 80px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;			&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;c&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;from&lt;/b&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt; circleCount &lt;/span&gt;&lt;b&gt;to&lt;/b&gt; &lt;/span&gt; 1 &lt;b&gt;by&lt;/b&gt; -1 &lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 100px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;				&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;oldr&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;get&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;radius&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;circle&lt;/i&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;c&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 100px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;				&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;radius&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;circle&lt;/i&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;c&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;oldr&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; + 1&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 100px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;				&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;oldlw&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;line width&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;circle&lt;/i&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;c&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 100px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;				&lt;b&gt;if&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;oldlw&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;is&lt;/b&gt; &lt;b&gt;less than&lt;/b&gt; 0.5 &lt;b&gt;then&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 120px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;					&lt;b&gt;delete&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;circle&lt;/i&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;c&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 100px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;				&lt;b&gt;else&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 120px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;					&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;line width&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;circle&lt;/i&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;c&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;to&lt;/b&gt; (&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;oldlw&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; - 0.5)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 100px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;				&lt;b&gt;end&lt;/b&gt; &lt;b&gt;if&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 80px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;			&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 80px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #0000ff;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;record movie frame&lt;/b&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;duration&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; 2&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 60px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;		&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 40px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;	&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 40px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #0000ff;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;stop&lt;/b&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;filming&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; 1 &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;saving in&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #4415b0;&#34;&gt;&lt;i&gt;documents folder&lt;/i&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;filename&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; &#34;Demo.mov&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 20px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;For more examples and complete user documentation, see this link:  &lt;a href=&#34;https://github.com/olofhellman/SinterpixelsSupportFiles/blob/main/docs/TableOfContents.md&#34;&gt;SinterPixels UserDoocs Github&lt;/a&gt;&lt;/p&gt;
</description>
      <source:markdown>&lt;p&gt;I have a new app in the App Store:  &lt;a href=&#34;https://apps.apple.com/us/app/sinterpixels/id6758914398&#34;&gt;SinterPIxels&lt;/a&gt; For the next few weeks, I’ll be writing posts  with examples of what SinterPixels can do.  Today is the first installment in the series:  How to generate this movie:&lt;/p&gt;
&lt;video src=&#34;https://cdn.uploads.micro.mov/908/2026/growingcirclesmovie/playlist.m3u8&#34; style=&#34;background-color: #ffffff;&#34; poster=&#34;https://olof.micro.blog/uploads/2026/poster.jpg&#34; width=&#34;480&#34; height=&#34;320&#34; controls=&#34;controls&#34; playsinline=&#34;playsinline&#34; preload=&#34;metadata&#34;&gt;&lt;/video&gt;
&lt;p&gt; Note: for some reason there&#39;s a gray overlay on the video player which I can&#39;t figure out.  Here&#39;s a link to &lt;a href=&#34;https://tomographic.com/images/GrowingCirclesMovie.mov&#34;&gt; the generated .mov file&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;SinterPixels is all about writing a script to generate graphics.  So for example, a new circle can be generated with:&lt;/p&gt;
&lt;p&gt;     &lt;strong&gt;make&lt;/strong&gt; new &lt;em&gt;circle&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;circles have properties like color, fill color, line width and radius, so these can be specified when you make one like this:&lt;/p&gt;
&lt;p&gt;     &lt;strong&gt;make&lt;/strong&gt; new &lt;em&gt;circle &lt;/em&gt;with properties { color: blue, fill color: clear,  line width: 3, radius 20}&lt;/p&gt;
&lt;p&gt;That will make a blue circle with no fill color of radius 20 with a line width of 3, If you don’t specify one of the properties, a random one will get used.&lt;/p&gt;
&lt;p&gt;To make a circle grow just a little bit, we can get the previous radius and set it to a slightly larger value:&lt;/p&gt;
&lt;p&gt;     &lt;strong&gt;set&lt;/strong&gt; oldRadius to (&lt;strong&gt;get&lt;/strong&gt; radius of the first &lt;em&gt;circle&lt;/em&gt;)&lt;/p&gt;
&lt;p&gt;     &lt;strong&gt;set&lt;/strong&gt; the radius of the first &lt;em&gt;circle&lt;/em&gt; to oldRadius + 1&lt;/p&gt;
&lt;p&gt;One of the features of SinterPixels is the ability to record movies.  There are custom commands &lt;strong&gt;start&lt;/strong&gt;, &lt;strong&gt;record movie frame&lt;/strong&gt;, and &lt;strong&gt;stop&lt;/strong&gt; that define each frame precisely. When you stop filming, you can specify where to save the file and a filename. &lt;/p&gt;
&lt;p&gt;Combining all these in a single script can result in this movie which shows circles growing and disappearing:&lt;/p&gt;
&lt;p&gt;&lt;a title=&#34;GrowingCirclesMovie.mov&#34; href=&#34;https://olof.micro.blog/uploads/2026/growingcirclesmovie.mov&#34;&gt;GrowingCirclesMovie.mov&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Here’s the complete 22 line script to generate this movie:&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 20px;  font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 40px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #0000ff;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;	&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;theDoc&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;new&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;with properties&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; {&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;width&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:480, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;height&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:320}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 40px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #0000ff;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;start&lt;/b&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;filming&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; 1&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 40px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;	&lt;b&gt;repeat&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-style: normal; font-variant-caps: normal; font-width: normal; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; font-variant-ligatures: no-common-ligatures; color: #800080;&#34;&gt;30&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;times&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 60px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;		&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; 1&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 80px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #0000ff;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;new&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;i&gt;circle&lt;/i&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;with properties&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; {&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;line width&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:4, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;fill color&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;&lt;i&gt;clear&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 80px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;			&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;circleCount&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;b&gt;count&lt;/b&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;circles&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 80px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;			&lt;b&gt;repeat&lt;/b&gt; &lt;b&gt;with&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;c&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;from&lt;/b&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt; circleCount &lt;/span&gt;&lt;b&gt;to&lt;/b&gt; &lt;/span&gt; 1 &lt;b&gt;by&lt;/b&gt; -1 &lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 100px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;				&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;oldr&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;get&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;radius&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;circle&lt;/i&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;c&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 100px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;				&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;radius&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;circle&lt;/i&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;c&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;oldr&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; + 1&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 100px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;				&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;oldlw&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;line width&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;circle&lt;/i&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;c&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 100px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;				&lt;b&gt;if&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;oldlw&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;is&lt;/b&gt; &lt;b&gt;less than&lt;/b&gt; 0.5 &lt;b&gt;then&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 120px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;					&lt;b&gt;delete&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;circle&lt;/i&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;c&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 100px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;				&lt;b&gt;else&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 120px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;					&lt;b&gt;set&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;line width&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;circle&lt;/i&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;c&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;to&lt;/b&gt; (&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;oldlw&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; - 0.5)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 100px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;				&lt;b&gt;end&lt;/b&gt; &lt;b&gt;if&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 80px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;			&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 80px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #0000ff;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;record movie frame&lt;/b&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;duration&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; 2&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 60px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;		&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 40px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;	&lt;b&gt;end&lt;/b&gt; &lt;b&gt;repeat&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 40px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #0000ff;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;stop&lt;/b&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;filming&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; 1 &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;saving in&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #4415b0;&#34;&gt;&lt;i&gt;documents folder&lt;/i&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;filename&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; &#34;Demo.mov&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 20px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;For more examples and complete user documentation, see this link:  &lt;a href=&#34;https://github.com/olofhellman/SinterpixelsSupportFiles/blob/main/docs/TableOfContents.md&#34;&gt;SinterPixels UserDoocs Github&lt;/a&gt;&lt;/p&gt;
</source:markdown>
    </item>
    
    <item>
      <title>SinterPixels in the App Store</title>
      <link>https://olof.micro.blog/2026/05/08/sinterpixels-in-the-app-store.html</link>
      <pubDate>Fri, 08 May 2026 04:22:49 -0500</pubDate>
      
      <guid>http://olof.micro.blog/2026/05/08/sinterpixels-in-the-app-store.html</guid>
      <description>&lt;p&gt;Big news today – my macOS scriptable app in on the App Store. It’s called &lt;a href=&#34;https://apps.apple.com/us/app/sinterpixels/id6758914398&#34;&gt;SinterPixels&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/untitledimage.png&#34; alt=&#34;The SinterPixels icon, an overlapping blue circle and red parallelogram with the letters S and p in black, the S centered on the circle, the p in italic centered on the parallelogram&#34; width=&#34;200&#34; height=&#34;200&#34; /&gt;&lt;/p&gt;
&lt;p&gt;The app icon is itself made in SinterPixels, and as an introduction to what the app does, here’s the script which makes it:&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 62.4px; text-indent: -62.5px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #408000;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;&lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;newSquare&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;doca&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;len&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;pos&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;  tell&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 187.3px; text-indent: -187.3px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;    tell&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;doca&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 249.8px; text-indent: -249.8px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #6c05d3;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;b&gt;      make&lt;/b&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;new&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;polygon&lt;/i&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;with properties&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; {&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;radius&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;len&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; / 1.414, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;position&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;pos&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;line width&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:0, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;fill color&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;i&gt;white&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;rotation&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:45, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;vertex count&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:4}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 187.3px; text-indent: -187.3px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;    end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;  end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 62.4px; text-indent: -62.5px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #408000;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;newSquare&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 62.4px; text-indent: -62.5px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #408000;&#34;&gt; &lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 62.4px; text-indent: -62.5px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #408000;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;&lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;newCircle&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;doca&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;rad&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;pos&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;  tell&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 187.3px; text-indent: -187.3px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;    tell&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;doca&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 249.8px; text-indent: -249.8px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #6c05d3;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;&lt;b&gt;     set&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;newC&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;new&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;circle&lt;/i&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;with properties&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; {&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;radius&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;rad&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;position&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;pos&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;line width&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:0, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;fill color&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;i&gt;white&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 187.3px; text-indent: -187.3px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;    end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;  end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;  return&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;newC&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 62.4px; text-indent: -62.5px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #408000;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;newCircle&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 62.4px; text-indent: -62.5px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 22px;&#34;&gt; &lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 62.4px; text-indent: -62.5px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #408000;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;&lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;makeIconBackground&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;()&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;newSquare&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;iconDoc&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;, 512, {256, 0})&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;newSquare&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;iconDoc&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;, 512, {-256, 0})&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;newSquare&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;iconDoc&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;, 512, {0, 256})&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;newSquare&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;iconDoc&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;, 512, {0, -256})&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;newCircle&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;iconDoc&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;, 256, {256, -256})&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;newCircle&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;iconDoc&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;, 256, {-256, -256})&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;newCircle&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;iconDoc&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;, 256, {256, 256})&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;newCircle&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;iconDoc&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;, 256, {-256, 256})&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 62.4px; text-indent: -62.5px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #408000;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;makeIconBackground&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 62.4px; text-indent: -62.5px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #408000;&#34;&gt; &lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 62.4px; text-indent: -62.5px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #0000ff;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;  close&lt;/b&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; &lt;b&gt;every&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; &lt;b&gt;without&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;saving&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #0000ff;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;&lt;b&gt;  set&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;iconDoc&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;new&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;with properties&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; {&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;height&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:1024, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;width&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:1024}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #408000;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;&lt;b&gt;  my&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;makeIconBackground&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;()&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #408000;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;&lt;b&gt;  tell&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;iconDoc&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 187.3px; text-indent: -187.3px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;    set&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;pPoly&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;new&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;polygon&lt;/i&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;with properties&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; {&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;position&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;:{0, 0}, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;vertex&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;:{{-216, -472}, {394, -472}, {512, 150}, {-98, 150}}, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;fill color&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;:{1.0, 0.29, 0.29}, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;line width&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;:0}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;  end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;  set&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;sCirc&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;newCircle&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;iconDoc&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;, 380, {-130, 110})&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;  set&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;fill color&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;sCirc&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;to&lt;/b&gt; {0.31, 0.31, 0.93}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;  set&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;sCirc&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;newCircle&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;iconDoc&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;, 200, {220, -220})&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;  set&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;fill color&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;sCirc&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;to&lt;/b&gt; {1.0, 0.29, 0.29}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #408000;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;&lt;b&gt;  tell&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;iconDoc&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 187.3px; text-indent: -187.3px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #6c05d3;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;&lt;b&gt;    set&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;sText&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;new&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;text shape&lt;/i&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;with properties&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; {&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;position&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:{-124, 80}, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;fill color&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;i&gt;black&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;line width&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:0, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;font&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:&#34;Helvetica&#34;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;bold&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;i&gt;true&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;text content&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:&#34;S&#34;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;font size&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:542}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 187.3px; text-indent: -187.3px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 22px;&#34;&gt; &lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 187.3px; text-indent: -187.3px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #6c05d3;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;&lt;b&gt;    set&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;pText&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;new&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;text shape&lt;/i&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;with properties&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; {&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;position&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:{140, -91}, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;fill color&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;i&gt;black&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;line width&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:0, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;font&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:&#34;Helvetica&#34;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;bold&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;i&gt;true&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;italic&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;i&gt;true&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;text content&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:&#34;p&#34;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;font size&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:542}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;  end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 62.4px; text-indent: -62.5px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
</description>
      <source:markdown>&lt;p&gt;Big news today – my macOS scriptable app in on the App Store. It’s called &lt;a href=&#34;https://apps.apple.com/us/app/sinterpixels/id6758914398&#34;&gt;SinterPixels&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/untitledimage.png&#34; alt=&#34;The SinterPixels icon, an overlapping blue circle and red parallelogram with the letters S and p in black, the S centered on the circle, the p in italic centered on the parallelogram&#34; width=&#34;200&#34; height=&#34;200&#34; /&gt;&lt;/p&gt;
&lt;p&gt;The app icon is itself made in SinterPixels, and as an introduction to what the app does, here’s the script which makes it:&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 62.4px; text-indent: -62.5px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #408000;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;&lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;newSquare&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;doca&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;len&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;pos&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;  tell&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 187.3px; text-indent: -187.3px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;    tell&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;doca&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 249.8px; text-indent: -249.8px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #6c05d3;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;b&gt;      make&lt;/b&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;new&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;polygon&lt;/i&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;with properties&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; {&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;radius&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;len&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; / 1.414, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;position&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;pos&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;line width&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:0, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;fill color&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;i&gt;white&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;rotation&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:45, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;vertex count&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:4}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 187.3px; text-indent: -187.3px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;    end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;  end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 62.4px; text-indent: -62.5px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #408000;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;newSquare&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 62.4px; text-indent: -62.5px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #408000;&#34;&gt; &lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 62.4px; text-indent: -62.5px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #408000;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;&lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;newCircle&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;doca&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;rad&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;pos&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;  tell&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 187.3px; text-indent: -187.3px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;    tell&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;doca&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 249.8px; text-indent: -249.8px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #6c05d3;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;&lt;b&gt;     set&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;newC&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;new&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;circle&lt;/i&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;with properties&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; {&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;radius&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;rad&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;position&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;pos&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;line width&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:0, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;fill color&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;i&gt;white&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 187.3px; text-indent: -187.3px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;    end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;  end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;  return&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;newC&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 62.4px; text-indent: -62.5px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #408000;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;newCircle&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 62.4px; text-indent: -62.5px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 22px;&#34;&gt; &lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 62.4px; text-indent: -62.5px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #408000;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;&lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;makeIconBackground&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;()&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;newSquare&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;iconDoc&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;, 512, {256, 0})&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;newSquare&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;iconDoc&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;, 512, {-256, 0})&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;newSquare&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;iconDoc&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;, 512, {0, 256})&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;newSquare&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;iconDoc&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;, 512, {0, -256})&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;newCircle&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;iconDoc&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;, 256, {256, -256})&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;newCircle&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;iconDoc&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;, 256, {-256, -256})&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;newCircle&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;iconDoc&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;, 256, {256, 256})&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;newCircle&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;iconDoc&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;, 256, {-256, 256})&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 62.4px; text-indent: -62.5px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #408000;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;makeIconBackground&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 62.4px; text-indent: -62.5px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #408000;&#34;&gt; &lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 62.4px; text-indent: -62.5px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;tell&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;application&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &#34;SinterPixels&#34;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #0000ff;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;  close&lt;/b&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; &lt;b&gt;every&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; &lt;b&gt;without&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;saving&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #0000ff;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;&lt;b&gt;  set&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;iconDoc&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;new&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;i&gt;document&lt;/i&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;with properties&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; {&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;height&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:1024, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;width&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:1024}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #408000;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;&lt;b&gt;  my&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;makeIconBackground&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;()&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #408000;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;&lt;b&gt;  tell&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;iconDoc&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 187.3px; text-indent: -187.3px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;    set&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;pPoly&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;new&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;polygon&lt;/i&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;with properties&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; {&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;position&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;:{0, 0}, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;vertex&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;:{{-216, -472}, {394, -472}, {512, 150}, {-98, 150}}, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;fill color&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;:{1.0, 0.29, 0.29}, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;line width&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;:0}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;  end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;  set&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;sCirc&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;newCircle&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;iconDoc&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;, 380, {-130, 110})&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;  set&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;fill color&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;sCirc&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;to&lt;/b&gt; {0.31, 0.31, 0.93}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;  set&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;sCirc&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;newCircle&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;iconDoc&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;, 200, {220, -220})&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;  set&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #6c05d3;&#34;&gt;fill color&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;of&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;sCirc&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt; &lt;b&gt;to&lt;/b&gt; {1.0, 0.29, 0.29}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #408000;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;&lt;b&gt;  tell&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;iconDoc&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 187.3px; text-indent: -187.3px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #6c05d3;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;&lt;b&gt;    set&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;sText&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;new&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;text shape&lt;/i&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;with properties&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; {&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;position&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:{-124, 80}, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;fill color&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;i&gt;black&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;line width&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:0, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;font&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:&#34;Helvetica&#34;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;bold&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;i&gt;true&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;text content&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:&#34;S&#34;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;font size&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:542}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 187.3px; text-indent: -187.3px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 22px;&#34;&gt; &lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 187.3px; text-indent: -187.3px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #6c05d3;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;&lt;b&gt;    set&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #408000;&#34;&gt;pText&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; &lt;b&gt;to&lt;/b&gt; &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;b&gt;make&lt;/b&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;new&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;&lt;i&gt;text shape&lt;/i&gt;&lt;/span&gt; &lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #0000ff;&#34;&gt;with properties&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt; {&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;position&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:{140, -91}, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;fill color&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;i&gt;black&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;line width&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:0, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;font&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:&#34;Helvetica&#34;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;bold&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;i&gt;true&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;italic&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;i&gt;true&lt;/i&gt;&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;text content&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:&#34;p&#34;, &lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;font size&lt;/span&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures; color: #000000;&#34;&gt;:542}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 124.8px; text-indent: -124.9px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;  end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;margin: 0px 0px 0px 62.4px; text-indent: -62.5px; font-width: normal; font-size: 18px; line-height: normal; font-family: Verdana; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;&#34;&gt;&lt;span style=&#34;font-variant-ligatures: no-common-ligatures;&#34;&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
</source:markdown>
    </item>
    
    <item>
      <title></title>
      <link>https://olof.micro.blog/2026/03/04/karaoke-videos-i-am-having.html</link>
      <pubDate>Wed, 04 Mar 2026 18:18:32 -0500</pubDate>
      
      <guid>http://olof.micro.blog/2026/03/04/karaoke-videos-i-am-having.html</guid>
      <description>&lt;p&gt;Karaoke videos&lt;/p&gt;
&lt;p&gt;I am having a lot of fun making demos for my soon-to-be-released scriptable drawing app.  Here&amp;rsquo;s a video that&amp;rsquo;s the output from a ~200 line AppleScript &amp;ndash; its the lyrics for &amp;ldquo;Take me out to the ball game&amp;rdquo; in Karaoke format:&lt;/p&gt;
&lt;p&gt;&lt;video controls=&#34;controls&#34; playsinline=&#34;playsinline&#34; preload=&#34;none&#34; width=&#34;600&#34; height=&#34;112&#34; poster=&#34;https://cdn.uploads.micro.blog/908/2026/frames/1695531-0-8d8094.jpg&#34; src=&#34;https://cdn.uploads.micro.mov/908/2026/8fcb470f-9d5c-4929-a236-5befe5c24d80/playlist.m3u8&#34;&gt;&lt;/video&gt;&lt;/p&gt;
</description>
      <source:markdown>Karaoke videos

I am having a lot of fun making demos for my soon-to-be-released scriptable drawing app.  Here&#39;s a video that&#39;s the output from a ~200 line AppleScript -- its the lyrics for &#34;Take me out to the ball game&#34; in Karaoke format:



&lt;video controls=&#34;controls&#34; playsinline=&#34;playsinline&#34; preload=&#34;none&#34; width=&#34;600&#34; height=&#34;112&#34; poster=&#34;https://cdn.uploads.micro.blog/908/2026/frames/1695531-0-8d8094.jpg&#34; src=&#34;https://cdn.uploads.micro.mov/908/2026/8fcb470f-9d5c-4929-a236-5befe5c24d80/playlist.m3u8&#34;&gt;&lt;/video&gt;
</source:markdown>
    </item>
    
    <item>
      <title></title>
      <link>https://olof.micro.blog/2026/02/25/a-scriptable-drawing-app-for.html</link>
      <pubDate>Wed, 25 Feb 2026 18:10:33 -0500</pubDate>
      
      <guid>http://olof.micro.blog/2026/02/25/a-scriptable-drawing-app-for.html</guid>
      <description>&lt;p&gt;A Scriptable Drawing app&lt;/p&gt;
&lt;p&gt;For many years, the most flexible scriptable drawing app was Intaglio, but it hasn&amp;rsquo;t been kept up.&lt;/p&gt;
&lt;p&gt;Launching it for the first time in a while, it is showing its age:&lt;/p&gt;
&lt;p&gt;And speaking of scriptable drawing apps, stay tuned&amp;hellip;&lt;/p&gt;
&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/intaglionotpretty.png&#34; width=&#34;600&#34; height=&#34;544&#34; alt=&#34;&#34;&gt;
</description>
      <source:markdown>A Scriptable Drawing app

For many years, the most flexible scriptable drawing app was Intaglio, but it hasn&#39;t been kept up.

Launching it for the first time in a while, it is showing its age:

And speaking of scriptable drawing apps, stay tuned...



&lt;img src=&#34;https://cdn.uploads.micro.blog/908/2026/intaglionotpretty.png&#34; width=&#34;600&#34; height=&#34;544&#34; alt=&#34;&#34;&gt;
</source:markdown>
    </item>
    
    <item>
      <title>Engineering the Arts</title>
      <link>https://olof.micro.blog/2026/02/23/engineering-the-arts.html</link>
      <pubDate>Mon, 23 Feb 2026 04:40:46 -0500</pubDate>
      
      <guid>http://olof.micro.blog/2026/02/23/engineering-the-arts.html</guid>
      <description>&lt;p&gt;There&amp;rsquo;s some deep comedy imagining the software engineering process as applied to art or music or writing.  Would an artist publish a draft of a new painting on GitHub and open it up to pull requests from the community? Would a fiction writer begin a new project by first writing the unit tests that the new novel needs to pass?  Would a musician develop a battery of A/B tests on an album and ship &amp;ldquo;remastered&amp;rdquo; versions every two weeks?  If you find these ideas absurd, it&amp;rsquo;s interesting to ponder why that is.  And if you don&amp;rsquo;t find these ideas absurd, it&amp;rsquo;s a wonder why anyone would want to read your poetry / listen to your music / see your art.&lt;/p&gt;
&lt;p&gt;This is a post about AI.&lt;/p&gt;
</description>
      <source:markdown>There&#39;s some deep comedy imagining the software engineering process as applied to art or music or writing.  Would an artist publish a draft of a new painting on GitHub and open it up to pull requests from the community? Would a fiction writer begin a new project by first writing the unit tests that the new novel needs to pass?  Would a musician develop a battery of A/B tests on an album and ship &#34;remastered&#34; versions every two weeks?  If you find these ideas absurd, it&#39;s interesting to ponder why that is.  And if you don&#39;t find these ideas absurd, it&#39;s a wonder why anyone would want to read your poetry / listen to your music / see your art.

This is a post about AI.
</source:markdown>
    </item>
    
    <item>
      <title>Silly Lightning Talk</title>
      <link>https://olof.micro.blog/2026/01/22/silly-lightning-talk-years-ago.html</link>
      <pubDate>Wed, 21 Jan 2026 19:36:52 -0500</pubDate>
      
      <guid>http://olof.micro.blog/2026/01/22/silly-lightning-talk-years-ago.html</guid>
      <description>&lt;p&gt;Years ago I did a talk at Seattle Xcoders regarding variable naming and Noun Piles.  After years of procrastination, here&amp;rsquo;s a cleaned up version of that talk:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=rBVFqSuQtZ4&#34;&gt;www.youtube.com/watch&lt;/a&gt;&lt;/p&gt;
</description>
      <source:markdown>Years ago I did a talk at Seattle Xcoders regarding variable naming and Noun Piles.  After years of procrastination, here&#39;s a cleaned up version of that talk:

[www.youtube.com/watch](https://www.youtube.com/watch?v=rBVFqSuQtZ4)
</source:markdown>
    </item>
    
    <item>
      <title>AppleEvent Manager does not respect the kAEDontExecute flag of NSAppleEventDescriptor.SendOptions:</title>
      <link>https://olof.micro.blog/2026/01/20/appleevent-manager-does-not-respect.html</link>
      <pubDate>Tue, 20 Jan 2026 14:31:15 -0500</pubDate>
      
      <guid>http://olof.micro.blog/2026/01/20/appleevent-manager-does-not-respect.html</guid>
      <description>&lt;p&gt;[UPDATE: I can&amp;rsquo;t reproduce this in a sample app, so the .dontExecute flag is sometimes respected, but something my app is doing is making things strange]&lt;/p&gt;
&lt;p&gt;This is FB21695413:&lt;/p&gt;
&lt;p&gt;My AppleScriptable macOS app is  recordable. Occasionally, I have a UI action performed by the user that I handle internally, and I send a corresponding AppleEvent with the SendOptions flag .dontExecute (was kAEDontExecute) so that AppleScript recording will see the action and record it.&lt;/p&gt;
&lt;p&gt;With Sequoia 15.7.3 and Tahoe 26.1, I am seeing events sent with the .dontExecute flag delivered back to the application invoking the appropriate AppleEvent handler AS IF the .dontExecute flag was not specified.&lt;/p&gt;
&lt;p&gt;For example, if in my app the user does an action to create a new ‘widget’, I send an apple event of the form&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;  make new widget at end of document 1
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;with the .dontExecute option, but, the AppleEvent handler installed for core/crel gets called anyway, and as a result, 2 widgets get made.&lt;/p&gt;
&lt;p&gt;I expect (and previously the behavior was) that if I specify .dontExecute, the AppleEvent will be forwarded to any registered recording agents, but not actually delivered to the app itself.&lt;/p&gt;
&lt;p&gt;For the expected behavior, see Inside Macintosh: Interapplication Communication /
Chapter 9 - Recording Apple Events / Factoring Your Application for Recording
“Sending Apple Events Without Executing Them”&lt;/p&gt;
</description>
      <source:markdown>[UPDATE: I can&#39;t reproduce this in a sample app, so the .dontExecute flag is sometimes respected, but something my app is doing is making things strange]

This is FB21695413: 

My AppleScriptable macOS app is  recordable. Occasionally, I have a UI action performed by the user that I handle internally, and I send a corresponding AppleEvent with the SendOptions flag .dontExecute (was kAEDontExecute) so that AppleScript recording will see the action and record it.

With Sequoia 15.7.3 and Tahoe 26.1, I am seeing events sent with the .dontExecute flag delivered back to the application invoking the appropriate AppleEvent handler AS IF the .dontExecute flag was not specified.

For example, if in my app the user does an action to create a new ‘widget’, I send an apple event of the form
  
      make new widget at end of document 1

with the .dontExecute option, but, the AppleEvent handler installed for core/crel gets called anyway, and as a result, 2 widgets get made.

I expect (and previously the behavior was) that if I specify .dontExecute, the AppleEvent will be forwarded to any registered recording agents, but not actually delivered to the app itself.

For the expected behavior, see Inside Macintosh: Interapplication Communication /
Chapter 9 - Recording Apple Events / Factoring Your Application for Recording
“Sending Apple Events Without Executing Them”
</source:markdown>
    </item>
    
    <item>
      <title>New Band discovery: Athena</title>
      <link>https://olof.micro.blog/2025/12/04/this-weeks-music-discovery-athena.html</link>
      <pubDate>Thu, 04 Dec 2025 08:53:28 -0500</pubDate>
      
      <guid>http://olof.micro.blog/2025/12/04/this-weeks-music-discovery-athena.html</guid>
      <description>&lt;p&gt;This week&amp;rsquo;s music discovery:  Athena, a Turkish ska/punk/polka-ish band&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://open.spotify.com/artist/1Hy8tdpH9ygqoohumHZqVl&#34;&gt;open.spotify.com/artist/1H&amp;hellip;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Their sound reminds me of Brave Combo&amp;rsquo;s &amp;ldquo;The Process&amp;rdquo; mixed with a little The Budos Band.  Here&amp;rsquo;s the song that got me hooked: Yaşamak Var Ya&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=87lWh0L9ias&#34;&gt;www.youtube.com/watch&lt;/a&gt;&lt;/p&gt;
</description>
      <source:markdown>This week&#39;s music discovery:  Athena, a Turkish ska/punk/polka-ish band

 [open.spotify.com/artist/1H...](https://open.spotify.com/artist/1Hy8tdpH9ygqoohumHZqVl)

Their sound reminds me of Brave Combo&#39;s &#34;The Process&#34; mixed with a little The Budos Band.  Here&#39;s the song that got me hooked: Yaşamak Var Ya

[www.youtube.com/watch](https://www.youtube.com/watch?v=87lWh0L9ias)

</source:markdown>
    </item>
    
    <item>
      <title>Sinterapt update</title>
      <link>https://olof.micro.blog/2025/11/09/an-update-on-sinterapt-my.html</link>
      <pubDate>Sun, 09 Nov 2025 17:08:36 -0500</pubDate>
      
      <guid>http://olof.micro.blog/2025/11/09/an-update-on-sinterapt-my.html</guid>
      <description>&lt;p&gt;An update on Sinterapt, my APT data analysis app.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s at the point where it is ready to Beta test in TestFlight.  Let me know if this kind of thing interests you, and I&amp;rsquo;ll add you to the TestFlight list.&lt;/p&gt;
&lt;p&gt;An example of the kind of thing I&amp;rsquo;m working on now:  I&amp;rsquo;ve just today hooked up UI elements to the &amp;ldquo;cylinder&amp;rdquo; and &amp;ldquo;plane&amp;rdquo; geometries to control their radius or thickness properties, and the UI gives real-time feedback.  Here&amp;rsquo;s an example of the cylinder element and the real time feedback shown in the graphics window and the 1D profile:&lt;/p&gt;
&lt;p&gt;&lt;video controls=&#34;controls&#34; playsinline=&#34;playsinline&#34; preload=&#34;none&#34; width=&#34;1280&#34; height=&#34;452&#34; poster=&#34;https://olof.micro.blog/uploads/2025/poster.png&#34; src=&#34;https://cdn.uploads.micro.blog/908/2025/video.mov&#34;&gt;&lt;/video&gt;&lt;/p&gt;
</description>
      <source:markdown>An update on Sinterapt, my APT data analysis app.

It&#39;s at the point where it is ready to Beta test in TestFlight.  Let me know if this kind of thing interests you, and I&#39;ll add you to the TestFlight list.
 
An example of the kind of thing I&#39;m working on now:  I&#39;ve just today hooked up UI elements to the &#34;cylinder&#34; and &#34;plane&#34; geometries to control their radius or thickness properties, and the UI gives real-time feedback.  Here&#39;s an example of the cylinder element and the real time feedback shown in the graphics window and the 1D profile:



&lt;video controls=&#34;controls&#34; playsinline=&#34;playsinline&#34; preload=&#34;none&#34; width=&#34;1280&#34; height=&#34;452&#34; poster=&#34;https://olof.micro.blog/uploads/2025/poster.png&#34; src=&#34;https://cdn.uploads.micro.blog/908/2025/video.mov&#34;&gt;&lt;/video&gt;
</source:markdown>
    </item>
    
    <item>
      <title>America has always been screwed up</title>
      <link>https://olof.micro.blog/2025/09/13/america-has-always-been-screwed.html</link>
      <pubDate>Fri, 12 Sep 2025 18:24:11 -0500</pubDate>
      
      <guid>http://olof.micro.blog/2025/09/13/america-has-always-been-screwed.html</guid>
      <description>&lt;p&gt;Sometimes the news is overwhelming and awful and directs me towards just checking out entirely, but a salve comes from an unexpected place and reminds me that things have always been terrible and today is not an aberration, and oddly, the knowledge that America has always been screwed up gives me a sort of vaccine to today’s sickness.&lt;/p&gt;
&lt;p&gt;For whatever reason, two weeks ago, the town of Grimsby (Lincolnshire, England) came up in conversation with my family, and I offhandedly remembered that Elton John had a song about Grimsby on his album Caribou (1976), and today I decided to listen to the album while I was coding. Dang if one of the album tracks, “Ticking”, isn’t about a gun nut going berserk in the USA and leaving death in his wake.&lt;/p&gt;
&lt;p&gt;And immediately, a litany of songs of senseless violence sprang to mind.  Boomtown Rats’ “I Don’t Like Mondays” (1979). 10000 Maniacs’ “Jubilee” (1989)&amp;hellip;. (perhaps you have your own memory to add to the list  — please comment if you do).&lt;/p&gt;
&lt;p&gt;I am conflicted to see in retrospect how I grew up in a stew of senseless violence and internalized it all as just another part of being American.&lt;/p&gt;
&lt;p&gt;Fuck that.&lt;/p&gt;
</description>
      <source:markdown>Sometimes the news is overwhelming and awful and directs me towards just checking out entirely, but a salve comes from an unexpected place and reminds me that things have always been terrible and today is not an aberration, and oddly, the knowledge that America has always been screwed up gives me a sort of vaccine to today’s sickness.

For whatever reason, two weeks ago, the town of Grimsby (Lincolnshire, England) came up in conversation with my family, and I offhandedly remembered that Elton John had a song about Grimsby on his album Caribou (1976), and today I decided to listen to the album while I was coding. Dang if one of the album tracks, “Ticking”, isn’t about a gun nut going berserk in the USA and leaving death in his wake.

And immediately, a litany of songs of senseless violence sprang to mind.  Boomtown Rats’ “I Don’t Like Mondays” (1979). 10000 Maniacs’ “Jubilee” (1989).... (perhaps you have your own memory to add to the list  — please comment if you do). 

I am conflicted to see in retrospect how I grew up in a stew of senseless violence and internalized it all as just another part of being American.

Fuck that.
</source:markdown>
    </item>
    
  </channel>
</rss>
