ParaView 3.8 Deliverables

From ParaQ Wiki
Revision as of 17:54, 9 July 2009 by Kmorel (talk | contribs) (→‎Priority 1 Deliverables)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Priority 1 Deliverables

Name Description Owner
Plugins
  • Implement ParaView client as a "brand" (like OverView).
    • Make ParaView brand configurable for other brands. (That is, make it easier to create brands that are essentially the same as the main ParaView client brand with some small changes.)
  • FireFox-style plugin manager. Maintain a list of known plugins. Allow users to select plugins for loading on startup.
  • Better error reporting.
  • Mechanism to specify dependencies with server-side components.
  • Better versioning support.
  • Ability to provide documentation from plugins.
  • Move plugin management to ServerManager layer so that python can access it as well.
Multicore
  • Provide builtin with MPI.
  • Support CPU/GPU mismatch in pvserver?
Python
  • Saving trace/state as python. (Support in 3.6.2?)
  • Python API for block selection.
Testing
  • Make nightly green dashboard a priority.
  • Better coverage (boiling the frog).
  • Clean up redundant tests.
Documentation
  • Fortification of online documentation to include the "how to use paraview" part from the ParaView book.
  • Up-to-date documentation of server manager XML in the Wiki.
    • Recent changes.
    • How to set up input arrays (including specifying types and tuple lengths).
    • Hint elements.
  • Up-to-date documentation of plugin creation and branding on Wiki.

Priority 2 Deliverables

Name Description Owner
Python calculator Make a much more functional calculator using the Python interpreter. It should also provide ways to provide computations not limited to a single point or cell. However, it should not require the user to use VTK wrapped objects. That is, it should be much easier to use than the programmable filter.
Temporal Ranges Base things like color scale on something better than the initial conditions in the first time step that the user probably loaded to begin with.
UI Responsiveness Prevent the GUI from going into lala land when dealing with large data and high latency connections to the server.
  • Abort rendering.
  • Abort pipeline execution?
  • Allow rendering of previous state while pipeline is executing?
  • Allow GUI interaction while pipeline is executing?
VisIt Readers Make it easier to build for everyone.
SM Domain Cleanup Server manager domain need to update automatically when data changes/dependent propreties change. This ensure GUIs always show correct update values. Also avoid unnecessary server fetches.
True Model-View-Controller Currently SM is the model as well as part of controller, more controller logic sits in the pqCore layer. This results in massive duplication in python scripting. Need to rearchitecure to make SM the model, while add a separate hierarchy with controller logic that can be shared by all ParaView clients.
View/Representation Switch ParaView to using vtkViews and vtkRepresentations.
Camera Animation Need the ability to easily create an animation with the camera following a moving point or cell.
Charting usability Improvements for easy label changing, axes scaling etc.
Plots Support for selection with existing line/bar plots.
Scatter Plots Should be self explanatory to set up, work with any data set, be scalable (work with large data sets in parallel settings), and support selections.
Parallel coordinates Should be self explanatory to set up, work with any data set, be scalable (work with large data sets in parallel settings), and support selections.
Plots along curves Now you can plot along a line segment in space (defined by two endpoints). Users want to plot along other types of curves in space.
  • Intersection of surface with plane.
  • Path between two points on a plane.
Better labeling The Infovis group has made a labeler that works well in 3D. We should integrate that into ParaView (assuming we are satisfied with its stability and performance).
Cross-pipeline selection When appropriate, a selection in one part of the pipeline should effect objects in other parts of the pipeline. For example, a selection of bars in the output of a histogram filter should also create a threshold selection of its input. Another example: selecting an entry in the output of the threshold filter should select, when appropriate, the cells that correspond to that selection. There needs to be some communication with the OverView team since that application has more linking of selections between views than us. There are also some ideas in Pipeline Selection Conversion that might be applicable.

Priority 3 Deliverables

Name Description Owner
Python macros Enable the user to save a python script as a macro that can be replayed at will. A usable interface will probably include the ability to record GUI commands as a python script, edit them, and then save them.
Deprecate lookmarks Replace with one or more things
  • Saving "sub-states" when saving state?
  • Save state/trace as python script and set as macro?
  • Better custom filters?
Custom Filters
  • Redesigned dialog.
  • Support for editing custom filters.
  • Support property links.
  • Support input fan in.
  • Support array selection for pipeline objects not at the top.
Simplified reader plugins There is too much work and needed tribal knowledge to create a reader plugin. We could use a simplified interface that a user with no knowledge of VTK can easily implement.
Particle Support Leverage the work from CSCS.
  • Provide a particle representation that renders points more intelligently
    • Spheres with size vs. squares of pixel width
    • Optional sizing based on a scalar
    • Appropriate alpha blending (at least when particles are small)
    • Splatting?
  • Filters for meshless data? (Need to get customer requirements.)
    • Sampling point cloud?
    • Surface extraction?