 canvas.height = size + spacing
 
 animate ->
+	ctx.clearRect(0, 0, canvas.width, canvas.height)
 	draw_emoji(ctx, emoji, canvas.width/2, canvas.height/2, size)
 

	canvas.height = size + spacing
	
	draw_emoji(ctx, emoji, canvas.width/2, canvas.height/2, size)
	
gui = new dat.GUI()
gui.add(emoji.mouth, 'smile', -1, +1).name('Smile')
gui.add(emoji.mouth, 'open').name('Open')
# gui.add(emoji.mouth, 'tongue', {
# 	"(Inside mouth)": 0,
# 	"Out downwards": 1,
# 	"Out upwards": -1,
# 	"Out downwards less": 0.5,
# 	"Out upwards less": -0.5,
# }) # doesn't work, it gives strings
# gui.add(emoji.mouth, 'tongue', {min: -1, max: 1, step: 0.5}) # doesn't work, it's treated as a dropdown
gui.add(emoji.mouth, 'tongue', -1, +1).step(0.5)
gui.add(emoji.eyes.left, 'type', {"Open": "open", "Wink": "wink"}).name('Left Eye')
gui.add(emoji.eyes.right, 'type', {"Open": "open", "Wink": "wink"}).name('Right Eye')


canvas = document.createElement("canvas")

		# slant: 0 # -1..1?
		tongue: # -1..1? TODO: offsets or angle or whatever
			if Math.random() < 0.7
				# Math.random() - Math.random()
				choose_random([-1, -0.5, 0.5, 1])
			else 0 # for dat.gui's benefit
		# TODO: width & offset or whatever
		# TODO: :O :o :3 :S :P :9 :F :C :c :B :] :J :I :T :*
