Andrew's list:
==============
- Optimize rendering by using OpenGL (see iGolly code).
- 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. Shoule be possible in OnInit.
|