V10/cmd/omovie/isort.gen

awk '
function draw(i)  {
    print "a" i ": text", i, x[i], "bullet"
    print "b" i ": circle fill", i, x[i], .1
}
function swap(i,j,   t) {
    t = x[i];  x[i] = x[j];  x[j] = t
    draw(i); draw(j)
    print "click swaps"
}
function less(i,j) {
    print "compline: line <-> fat", i, -8, j, -8
    print "click comps"
    if (x[i] < x[j]) { return 1 } else { return 0 }
}
BEGIN {	n=10
	for (i = 1; i <= n; i++) {
		x[i] = int(100*rand())
		draw(i)
	}
	for (i = 2; i <= n; i++)
		for (j = i; j > 1 && less(j, j-1); j--)
			swap(j-1, j)
}'