- Decent graphical user interface. I'm thinking of converting the qbism math to Tcl extensions and writing the user interface as a Tcl script using Tk. - No-discontinuity mode. XOP_PROJECTION, XOP_SHIFT, XOP_SHIFTBACK, and XOP_CONDITIONAL sometimes introduce discontinuities which don't always look pleasant, but with a little work they can be tamed. - Ability to limit the operations to be used. - Custom transformations. If we're going to use Tcl, why not take advantage of its inherent scriptability? Maybe critcl can be used to speed up the result. - Adaptive oversampling. There's no reason to oversample except at and around discontinuities. - Compatibility. There are several QBE renderers, so we shouldn't extend that format. In fact, we shouldn't even support writing QBE files of nonstandard size. But QBM holds possibilities. - Research why GQbist sometimes produces different output. - BLEND function. "dest = source * sum(control) / 3 + control * (1 - sum(control) / 3)" - Algorithm optimizer. Don't bother initializing registers that are never used. More importantly, don't apply any operations that don't affect the output. Skip operations that cancel each other out. - Distributed and/or multithreaded computation. The qbism algorithm is essentially functional and therefore infinitely scalable. Distributing the work and collecting the results is another matter. - Support hardware vector operations. SSE ahould offer a big speedup, but it's probably not worth supporting 3Dnow and MMX. Does anyone want to contribute AltiVec code? And now some ideas for the user interface... - History. It's important to be able to go back in event of a click leading to a less-desirable family of algorithms. - Adjustable preview size. 64x64 may be good, but sometimes the user will want to look a little closer. - Adjustable sine wave. The frequency multiplier and phase offset represent a great way to make tiny tweaks to the resulting output. - Adjustable coarseness. The "coarseness," a term borrowed from AMIGA Qbist, is the amount of variation between algorithms in a family of alternatives. - Interactively editable algorithm. The algorithm may resemble an assembly language program. This is essentially the same as the QBM output. - Zooming/adjusting render region. Sometimes there's an area of interest other than full extent. - Use images as initial register values. This should produce really fantastic results.