<div dir="ltr">I made a weird little hack/toy today. Here it is in case anyone wants to try it. Print this on a workspace to get the morph embedded, or open it in the world:<div>    b := BytebeatMorph new scaleBy: 2.<br><div>And then play:</div><div>    b play</div><div>and try different generating functions:</div><div>    b generator: [:t| t].<br>    b generator: [:t| t//16].<br>    b generator: [:t| t//16 & (t*5//3)].<br>    b generator: [:t| t//8 & (t*4//3)].<br>    b generator: [:t| t//16 & (t*2//3) | ((t//32 & (t\\20)))].<br>    b generator: [:t| t*3 * (t >> 7)].<br><br>    b generator: [:t| t*5//3].<br>    b generator: [:t| t*4//3].<br><br>    b generator: [:t| t & (t // 8) - (t * 2 & (t>>13) & (t >> 5))].<br><br>    b generator: [:t| t>>6 | t | (t >> (t >> 16)) * 10 + ((t>>11)&7)].<br></div><div><br></div><div><div>Hope it works..</div><div><br></div><div>BTW, BoundFinderCanvas>>image:at:sourceRect: was missing (see attached, need it), and the implementation in VectorCanvas has a bug but the part of the method that uses WarpBlt seems to work correctly (that's why in the example I call scaleBy:.</div><div><br></div></div></div></div>