= Release Requirements = == Mostly done. May need cleaning up. == === Graphics and tools === - Atom/bond styles: sticks, bs, sphere, individually controllable - Show/hide controllable down to individual atoms, small units of other reps - Coloring controllable down to individual atoms, small units of other reps - Silhouettes - Adjustable background color - Interactive shadows - Lighting options - ambient occlusion, ambient-only, N-point - Supersampling - Volume isosurfaces - Depth cueing (want adjustable color, amount) - Set of built-in colors (as opposed to giving hex code or RGBs only) - Molecular surface and volume isosurface styles: solid, mesh == Late summer release == === Graphics and tools === - Sessions (required because one needs to save state for any pub figure) - Ribbons - hides mainchain atoms, sidechain connects to ribbon nicely - Molecular surface - molecular surface categories* (I think the default should have a separate "main" for each chain ID) - easily hide smaller bits (like "surf visiblePatches N") - Smoothness control (vertex density, subdivision) - Balloon atomspec - Pseudobonds - metal complexation - distance monitor === User interface === - Go up and down selection hierarchy - Save image dialog - Open file dialog - Save/restore sessions - Command history - Mouse modes - button strip - hot keys === Infrastructure === - Nightly builds - Preferences - Triggers - Selections - Session files - molecular data - Maybe just implement a command history rather than a full session? - Distinction between public and private API == December release == === Presentation graphics === - Transparency controllable down to individual atoms/bonds, small units of other reps - single-layer - Clipping - global hither/yon - capping of all solids: surfaces, ribbons, atoms/bonds, objects - per-model single-plane or slab - Selection highlight === CellPACK === - Open cellPACK models, fetching JSON files from web - Open collada surface files used to represent cellPACK molecules - Hierarchical collapsible list of model components - checkbuttons for display, active, etc. - Mouse hover to pop-up name of molecular component === User interface === - Simple !Selection/Action menus - Actions - Hide/show - Color - Surface - Style (atom only) - Delete - Selections - By model/chain - By structure (ions, ligand, secondary structure, etc.) - Operations (clear, invert all models, invert selected models, select all) - Rapid Access (file history in particular) - Hierarchical model panel - Active/shown checkboxes - Action buttons - Full side view (clipping planes) - Mouse selection === Infrastructure === - Essential commands, make a list with command syntax - Command documentation - Full atomspecs == Highly desirable == === Graphics and tools === - Smart molecule display - Transparency correctly rendered multiple-layer, multiple models - Color by atom/res attribute (e.g. hydrophobicity)*, geometry (e.g. radial), or volume data value (e.g. density, electrostatic potential)* - H-bonds* - Dashed and dotted pseudobonds (cylinders as well as lines) - Isosurface smoothing - Easily hide smaller surface components (like hide dust) - Geometric objects - structure-derived (best-fit planes, axes, ellipsoids, etc.)* - arbitrary (3D arrows, planes to cast shadows upon, etc.) - Scenes (so that one doesn't have to have a session for each figure panel) - Background color gradient - Other sectioning (e.g. cut octant, spherical clipping, etc.) - 3D labels - 2D labels and arrows of adjustable color/size, interactive repositioning - Color key (specialized 2D annotation) === CellPACK === - Geometric selection eg drag-select and select-within-shape === User interface === - Actions - Style - ribbon - surface - Label - Selections - By residue type or category/atom element - By chemistry (functional groups, atom types, residue properties) - Appearance (transparency and material) - Export in different formats (PDB, volume format, graphics format, etc) - Improved toolshed interface === Infrastructure === - Reliable operation on Linux - Application icon - API documentation == Would be nice == === Graphics and tools === - Ribbons fully integrated with pipes and planks - (alternative ways of "cartooning" the secondary structure elements) - Tubes (could be a sub-option of ribbons) - Continuous fade between residue ribbon segments instead of abrupt - Ring fill, aromaticity and bond multiplicity displays - (e.g. two lines or two sticks for double bonds) - Option to show solvent-accessible vs. solvent-excluded, or both - Ways to control and smooth boundary of displayed patch, maybe drawing an outline with mouse or choosing individual triangles to hide? - Individual surface triangles? - Abstracted nucleotides - slabs, lollipops, ladder rungs - need better default than in Chimera1 - Per-model silhouette - Custom silhouette - draw outline in 2D with mouse, regular geometric (e.g. circular) and maybe even free-form with smoothing? - other ways to emphasize area of interest within an outline - making stuff outside it transparent, faded, or blurred - Some kind of shininess control and/or ability to use different material properties for different objects - "Smart" clipping (keeping objects whole, e.g. multiscale subunits not sliced even if plane goes through them) - Interactively adjustable light positions - Lighting contrast slider - Background images - Publication presets? hard to decide because there are so many potentially useful combinations of styles and lighting - Clashes* - (find contacts also important for coloring interaction patches of surfaces*) === User interface === - Stereo and orthographic camera modes - RFE / bug report dialogs - Chimera 1 -> 2 session conversion == Eventually == === Unsorted === - Morphing, trajectory playback* - Animation commands (frame-argument) - Animation GUI (timeline) - Show multiple frames of a trajectory simultaneously - Windows app