Zオーダー
デフォルトではOFFなんだけど、コンテキストを作成するときに出力先をファイルや標準出力ではなく ZOrderedBufferにすると
cont = Context(out=ZOrderedBuffer())
下のようにContext#zorderでZオーダーを変えられるようになる。
cont.loop(10, lambda cont:cont.trans(1).hsv(30).zorder(1), lambda cont: cont.circle()) cont.trans(y=2).loop(10, lambda cont:cont.trans(1).hsv(30).zorder(-1), lambda cont: cont.circle())
いまはいったんバッファに溜めておいて、最後にZでソートしてから出力する実装になっている。メモリの節約のために色々しようかと思ったけど、そんな「最後に1発」のソートが重すぎてチューニングが必要なレベルだと、そもそもレンダリングのところが大変なことになっちゃうよねー。なので保留した。それやると帰りの電車で終わりそうになかったし。スモールスタートは大事だ。