Andrew's list: ============== - Only have one panel for showing Patterns, Scripts, Rules, etc, and set initial location to directory containing those sub-folders. - Add a new check box to Prefs > Layer: "Automatically show/hide layer bar". If ticked then layer bar is automatically shown whenever the number of layers becomes > 1, and automatically hidden when the number drops to 1. Only need to check in a few places (esp. after a script ends). - Optimize rendering by using OpenGL (see gui-common/render.cpp). - Auto stop script if it creates too many temp files (for undo). This can happen if a long-running script doesn't call new/open when it probably should. See my email to Nathaniel with subject "Re: Golly methuselah search script". - Change all Python commands to g_* for consistency with Perl commands. Unfortutely, we can't really keep the old commands in same module because doing "from golly import *" exposes old and new commands and so a script like goto.py that calls a non-Golly open command will fail. We could put old commands in a separate module called "oldgolly". Maybe best to leave this change for when the scripting API needs significant changes due to multi-rect selections. - Avoid any remaining algo assumptions (search *_ALGO): - Need IsParityShifted() method to avoid QLIFE_ALGO assumption? - Allow dragging zoom-in cursor to zoom into rect. - Stop generating if pattern becomes empty, constant or p2 (qlife only) and display suitable message in status bar. Or maybe just add Gabriel's oscillation detection as an option (see oscar.py). - Allow non-rectangular (and disjoint) selections. - Add simple methuselah/spaceship/osc/still-life searches as in LifeLab??? - Fix glitches in the way the algo button works: - On Mac we want button to look selected before menu appears. - On Win we want to be able to press-select-release. - Add case studies to BUILD file: how to add a new menu item, how to add a new algorithm, etc. Tom's list: =========== File I/O - Have hlifealgo .mc compatible with ghashbase .mc - Generalized RLE in MC? Algos - Unzoom color merging - Better status reports (% of hashtable full) Scripting - Tape construction script for replicator Samples - Small JVN examples Fun - htreebase - hgridbase (finite universe; torus, etc.) - allow (base) x (slow) algorithm "multiplication" - pluggability of externally-defined algos - perl/python slowcalc callbacks - cache of slowcalc - generational gc - 32-bit indexed hashlife on 64-bit platforms Other - Improve batchmode. - Fix qlifealgo::lowerRightPixel to prevent off-by-one error when selecting large pattern like caterpillar. User suggestions: ================= Nick Gotts: - Need a way to copy exact gen/pop counts to clipboard. [No longer necessary now that a script can get this info.] Jason Summers: - For better viewing of patterns that move, have a way to automatically move the view X cells horizontally and Y cells vertically every Z gens. [Could be done quite easily via a script that prompts for X,Y,Z.] - Allow diagonal selection rectangles. Dave Greene: - Provide a way to click-and-drag a selection to move it around. - Make page and arrow scrolling amounts configurable (in Prefs > View). - Add a getview() script command that returns current viewport rect and a setview(rect) command to change viewport size and location. - Make info window a floating window and keep it open (but update its contents) when user loads another pattern. H. Koenig: - Multiple windows. [No real need now that we have multiple layers.] Gabriel Nivasch: - Make paste pattern semi-transparent. [Tried it -- somewhat confusing.] - Add a Default button to each Preferences pane (at bottom left?). Bill Gosper: - Modify info window so it can be used to edit and save comments. - For scales > 1:1 make the pixel color depend on lg(# of ones in it). Brice Due: - Provide MCell-like editing capabilities. - Provide a thumbnail option as an alternative to tiled layers; ie. the current layer would be displayed in a large "focal" viewport. All layers would be displayed as small, active thumbnails (at left or top edge of focal viewport, depending on aspect ratio?). - Allow mc files to set step base and/or exponent via comment line like #X stepbase=8 stepexp=3 [No need now that zip files can contain pattern + script?] Tim Hutton: - Add a script command to save comments in a pattern file. Add optional param to existing save() command? William R. Buckley: - Provide an option to increase spacing between buttons. Dean Hickerson: - Make Duplicate Layer faster by writing current pattern to temp file and reading it into new layer. tod222: - Provide a way to cleanly shut down Golly from within a script. Maybe just use special exit() string like exit("QUIT GOLLY")? [No need -- can now call doevent("key q cmd").] - Allow a command line argument (-minimize?) to start up with the main window in minimized state. Should be possible in OnInit. |