The top picture (yellow) on the left shows an example of an illustration and part of its editable graphical history. The illustration is of a postcard celebrating New York State, and below it are five panels from the graphical history. The steps shown in the graphical history depict these steps: closing the polygon which forming the mountain's snowcap, setting its fill-color to be white, copying the mountain an additional four times, flipping the mountains about their Y axis, and adding the text "Adironondacks".
Editable graphical histories use several techniques to make the histories more compact and understandable. Related commands are coalesced into individual panels. For example, the second picture (green) on the left shows five related commands: the selection of the initial mountain and the following four copy commands. The number shown in the panel label is the number of commands grouped in the panel. To see these commands in more detail, the user can expand the panel to show the individual commands. Also, a history granularity setting controls how aggressively the panels are combined.
As you can see in the third (pink) picture on the left, the entire scene is not depicted in each panel. In this panel, the text label "Adirondacks" is added to the postcard. Any arguments to the commands, as well as the results of the commands, are included in the panel. Some nearby objects are included as context, indicating where in the scene the label is added. The context and command-objects can be rendered in different styles to highlight the result of the command. Here the colors of the contextual objects are subdued.
The histories themselves can be made editable - each panel can become an editable scene unto itself, and changes made to these panels can be propagated forward into the history. The fourth (blue) picture on the left shows part of a larger graphical editor scene, which was partially created by taking one of the "Fuel Filter" circles and copying it three times. We can scroll back in the history to the panel before the copying and make the panels editable. We then change the text to white and the circle to black directly in the history window, and propagate these changes forward. This generates the two new history panels shown in the purple picture to the left. The resulting scene is shown in the final orange picture on the left - all of the copies of the fuel filter inherit these changes. |