Summit II

From ParaQ Wiki
Jump to navigationJump to search

Date:March 14,15 2006 at Kitware Please make your own travel arrangements.

Agenda

Tuesday, March 14
Time Item Who Material
8:30-9:00 Coffee and knock-knock jokes All
9:00-9:30 Overview and Awards Rogers
9:30-11:30 Code walk-throughs and puppet show Shead
11:30-1:00 Lunch All
1:00-2:00 Prism over ParaQ discussion McBride PrismV3.0
2:00-4:00 UI design discussion Matthew ParaQ Usability Briefing
4:00-5:00 PGraph Ken
Wednesday, March 15
Time Item Who
8:30-9:00 Coffee and knock-knock jokes All
9:00-10:00 Lessons learned (GeoViz, Dobrano-viz) Shead
10:00-11:30 Process Discussion Geveci
11:30-1:00 Lunch All
1:00-2:30 Wrap-up, planning for next month's development All

Things we have to get right

  • File dialogue must be great, and must be out early.
  • Saving state - what's local, what's on the server.
  • Testing
  • Undo

Coding Requirements

  • Give all Qt widgets names, so that the testing framework (recording events) works. Is there a way to verify this on checkin of code?

Important Questions

  • Is ParaQ a Pipeline or a Window based UI. How do we support a useful, understandable multi-view, multi-pipeline application?
  • Do we support Multiview' or Dockable window management paradigms? Do we support both?
  • What does a graph show, in a multi-view application? What is its update paradigm?
  • How do we manage Views and Layouts - what you're looking at, and how it's laid out?
  • What is our version number for the Sept. '06 release?
  • What are our general multiview interaction mechanisms?
  • What are our general Compound Filter interactions for editing and saving?
  • Do we have an Accept/Reset paradigm?
  • Support Abort of PVSM updates.

Notes

Code Walkthrough

Pipeline

Multiview Objects

Python

Compound Proxies

Element Inspector

Charting

  • CSS-like attributes to control font, etc.
  • Printing
  • Maintain axes when zooming into chart data.
  • Do we need a world-view on a chart, for zoomed in interaction?

UI Persistence

UI design items

General

  • Right mouse click in QVTKWidget - conflict with context menu in windows.
  • Improvements in Auto-generated UI panels.
  • Design method for adding code to hand-coded UI panels.
    • Should it always be a QT Designer-based thing?
    • Should we support a script-like way of changing UI in the field? Non-compiled?
  • Compound filter creation/editing/loading.
  • Zoom/pan etc. - should they be the same as CUBIT?

Pipeline Browser

Major issues

  • Simple fan-out
  • Multiple sources
  • Show things that aren't 'ON' (what's on; how is it shown?)
  • Pipeline vs. Windows interaction paradigm?
  • Context menu (right mouse click)
  • What are the basic operations we can do?
  • How does this support Compound Filter operations (creation/editing/loading)
  • How would you add 'histogram selection stuff' to ParaQ (what do you add in the UI, where, and how does the user understand it?

Design Decisions

  • Make a hierarchy view
    • Rightmost column is 'Root' of a pipeline
    • Indent from left immediately from a root
    • Indent from left for fan-out
    • Fan-in becomes a new root, with the fan-in node being referenced in the 'correct' location in the hierarchy.
    • Icons to be designed by ETI.

Dockable vs. Split View

Decisions

  • All 'views' are the same stuff - there is no restriction on what can be in a piece of the screen.
  • UI elements are dockable.
  • Views are not dockable - they are part of a split-screen main screen that we manage totally.
  • Users cannot pull a 'view' out of the main UI.
  • See action items for review of further issues.

Current State

  • Current variable (including range, etc.)
  • Current timestep

File Browser

  • Should we use the standard, platform-specific browser?
  • Coordinate with CUBIT application.

Prism over ParaQ

Corey presented the current build of prism, and discussed what we'll need from ParaQ in order to build Prism v3.0.

  • How do we manage the filters, etc. that make up the SESAME view.

ParaQ Usability

  • Accept/Reset. Q: how should the general interaction work?
    • Instant update
    • Interrupt
      • VTK does not currently support Abort
    • Support contiuous changes, with updated/out-of-date UI support (show the user what is out-of-date, so he can update it as needed)
  • Note that UI is not on a separate thread ... responsiveness is limited by Server Manager.

Action Items

Who Item
BG Monitor interaction between pqPipelineData and server manager classes. In particular, the relationship between data in the server manager, and copies of that data saved in the UI for efficient UI interaction.
MR Design and implement a 'graph' ancestor to pqPipelineData. Determine if there is a 'graph' package that we can create (with both models and views)
CS Element Inspector: add capability to handly large data quickly
CS Create wiki page explaining how to to create custom object inspectors.
TS Create a way for the checkin process to verify that all Qt widgets are named.
TS Handle cross-platform image comparison and capture issues for testing.
TS Create wiki page - instructions for recording tests.
DR Create Selection requirements document (Prism-based requirements to start)
DR Determine if Prism's SESAME view should be built over PGraph.
BG/KM Determine restrictions on multiview rendering on server - can we pull windows out of the UI.