Declarative animation in VG.net
Hart asked a couple interesting questions in the last blog entry.
“Are you going to add some higher level animation api, like svg and avalon have”: we call this declarative animation, where you declare animation, instead of writing code.
Currently, you animate VG.net vector graphics by changing properties, in the Display timer event, or at any time. This is an excellent way to do animation if you are visualizing real-time data.
However, it is not so great for demos, cartoons, transitions between states, or advertising. Out of all these, we are only concerned with demos and transitions between states. We did not want VG.net to be a Flash replacement – people generally hate Flash ads.
We would like to add these things to VG.net, eventually:
- A way to connect Pictures to real-time data, to animate without writing code.
- A way to specify transitions between states for any graphical property. For example, gradual transition between various colors, based on an input value, or a transition between two positions on the screen.
- A way to specify simulated data, for demonstrations, without writing code.
All of these require higher-level declarative animation objects. However, they will not necessarily look like SVG or Avalon animation objects. Our primary target is real-time data visualization, so we will produce an API and editor suited to that purpose. A secondary target is custom graphical controls, but these typically do not use fancy animation.
We did do some work on real-time data binding, but it has not made it into the product.
“How many man years would you estimate has gone into the development of this product”: Probably about 4 person years. Some of the ideas in the engine originated many years ago. We have much experience with vector graphics systems and editors, but Visual Studio integration was very difficult.