= Release Requirements = This page is a chimera built from: - [wiki:EarlyUI User Interface Wishlist] - [wiki:PresentationGraphics ChimeraX Presentation Graphics Features Wishlist] - [wiki:CellPack ChimeraX cellPACK Features] - [wiki:2015-4-2 Infrastructure Feature (from developer meeting)] See also [[Needed Command Functionality]] and [http://www.cgl.ucsf.edu/home/meng/chi2/command-structure.html Command-Structure Thoughts] == 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) - ~~Fixed mouse modes - ~~Standard open file dialog == Late summer release == === Graphics and tools === - ~~Ribbons [Elaine] [http://www.cgl.ucsf.edu/home/meng/chi2/ribbons.html Ribbons and Other Image Issues, Pymol comparisons] - ~~hides mainchain atoms, sidechain connects to ribbon nicely - ~~Natural cubic spline with parallel transport frame twists [ Conrad] - Smooth secondary structure ribbons [Conrad] - Subdivision quality - ~~Molecular surface - ~~[wiki:SurfaceCategories molecular surface categories*] [TomG surface command suggestions, Elaine category thoughts] - ~~is a surface a separate model? (specification, transformation, etc) [Conrad] - ~~Surface model shares the same model number as molecular but different sub-model number - ~~easily hide smaller bits (like "surf visiblePatches N") - ~~Atom, bond subdivision control [TomG] - ~~Balloon atomspec (mouse-over status message) [TomG] - ~~Intra-molecular pseudobonds (metal complexation, missing segments) [TomG and Greg] - ~~Display style (thin sticks?, dashed cylinders?, dashed lines?) === User interface === - ~~Go up and down selection hierarchy [TomG] - go above models, e.g., NMR ensembles - ~~Save image dialog on File menu [Conrad] - Save/restore sessions [Conrad, Eric, TomG, Greg] - ~~Command history [Eric] - ~~Save commands dialog [Eric] - ~~Mouse selection [TomG] - ~~Atom selection [TomG] - ~~Bond and pseudobond selection [TomG] - ~~Ribbon selection [Conrad] - ~~decide whether click or ctrl-click selects - ~~Help system - ~~add command help links in log === Infrastructure === - ~~Nightly builds [Conrad] - ~~Mac [Conrad] - ~~Linux [Greg] - ~~CLI API for command history [Greg] - ~~Preferences and caches [Greg] - ~~Settings [Eric] - ~~Threading model [All] - Triggers (Python) [Greg,Conrad] - What are the "standard" UI triggers? - ~~"Check for changes" trigger (when and how)? - Notifications (C++) and link to triggers - ~~What are the associated triggers and when are they invoked? [Eric,Greg] - ~~Implement [https://plato.cgl.ucsf.edu/trac/chimerax/wiki/Notifications proposal] [Eric] - Unify atomspec and mouse click selections [TomG] - ~~Mouse mode registration [TomG] - Session files - molecular data (blob I/O [Eric,Greg], open state like transformations) - camera, lighting, background color, etc. [Greg] - metadata, thumbnail in particular or use OS file metadata [TomG] - Distinction between public and private API [All] == December release == === Presentation graphics === - ~~Transparency controllable down to individual atoms/bonds, small units of other reps - ~~single-layer - ~~Clipping - ~~global hither/yon - ~~capping of surfaces - ~~single-plane or slab, moves with models - ~~Selection highlight - ~~Inter-molecular pseudobonds (distances, hydrogen bonds) === 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 modes [TomG] - ~~button strip - ~~modifier keys? - ~~Fixed center of rotation for focus command. [TomG] - Replayable? record of executed commands (both cli and menu) - Help - tool help: ~~access through context menu === Infrastructure === - Essential commands, make a list with command syntax - Elaine [[Needed Command Functionality]] - Elaine [http://www.cgl.ucsf.edu/home/meng/chi2/command-structure.html Command-Structure Thoughts] - Command documentation - Full atomspecs - Model hierarchy, display state inherits? how to show child without parent == 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 - Remember graphics window / tools layout in sessions - Tool bar === Infrastructure === - Reliable operation on Linux - ~~Application icon - API documentation - Separate fetching from I/O format registration - Tool icon access == 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*) - Clip capping of ribbons, atoms/bonds - Per-model clipping === User interface === - Stereo and orthographic camera modes - RFE / bug report dialogs - Chimera 1 -> 2 session conversion - Custom ("Miller browser") open dialog with embeddable frame? - Save graphics window / tools layouts; offer "preset" layouts - Mouse modes hot keys? === Infrastructure === - Tool import API for possibly uninstalled tool == Eventually == === Unsorted === - Morphing, trajectory playback* - Animation commands (frame-argument) (see [http://www.rbvi.ucsf.edu/chimera/docs/UsersGuide/movies.html#moviecommands Chimera1 movie-related commands]) - Animation GUI (timeline) - Show multiple frames of a trajectory simultaneously - Windows app - Molecular surface mesh, dot styles