Release Goals, "Blocking," etc

I was showing off Avogadro last week and some people really liked it.
The concept of an easy, extensible plugin framework, the high-quality
graphics, and the ease of saving a graphic snapshot were all
appreciated.

It’s not to early to think about what we should target for a beta
release.

I think we’re all agreed that the key thing is to have a good “core
platform,” so adding features is easy and doesn’t require huge
changes in the code architecture. But I was thinking about what
features we’d want in a beta release and what’s stopping us from
adding them now.

I updated http://avogadro.sourceforge.net/wiki/To_Do and hope others
will do too.

A few obvious things for me:

  • copy/cut/paste: Needs some way to manipulate a selected subset of
    atoms and bonds – e.g., dragging them into place.
  • multi-threading: Need to think carefully about what should be
    threaded.
  • surfaces: Might be better to adopt a base library which handles
    meshes, surfaces, color-mapping surfaces, etc.
  • plugin system: (i.e., all sorts of plugins) Need to flesh out what
    API is needed where.

Basically, I’m trying to figure out what are the key pieces we need
to write soon.

Any thoughts?
-Geoff