The Chronicle View
The time line view will use the Chronicle widget, which uses the Piccolo ZUI toolkit from the HCIL. It will be implemented as a Java bean that is a Swing component, so that it can be loaded with the application loader and placed in a window or splitpane. This specification is defined in support of the GT Time Line requirements.
The basic idea is that it will present the user with a set of horizontal lines. Each line will represent a descriptor or, upon expansion/zoom, a facet of that descriptor. The lines will correspond to times/frames when the descriptor or facet (attribute) is valid in the current clip. In order to help with clutter, it will be possible to group all descriptors of one type together into single line, with decoration indicating that the line may be expanded, and giving some indication as to the content of the line, e.g. the width at time t should be proportional to the number of valid descriptors of the type at time t.
While the descriptor type overview line might not be editable, the lines for descriptors and facets/attributes should be. Editing a descriptor's line will act as if applying the same action to each of its facet lines. The available actions include drag (to move it in time), extend and retract actions. There are three available drag options: the first moves all dynamic attributes in time with the instance, and the other two use the extend actions to fill in the new attribute space (I'm not sure how to select these. I think propagate should be the default, and right-click-drag should let you decide). The extend method 'propagate', the default action for extend, copies the value of the facet(s) through the extension. The 'interpolate' action lets the user specify the value of the facet at the end and linearly interpolates the facet values throughout the extension. [[FIXME interpolate UI?]]