Animation in future


I appreciate that the main thrust of gojs is diagramming (which it does very well) and that node-level animation is not a critical requirement for that purpose. However, I am curious about your future intentions on this subject.

Question: Could you please outline if you have any plans, and what they might be, in relation to providing animations for nodes ?

Because that is a broad question, and anticipating that you might ask what I might wish for, I shall refine it.

The type of animation that would be useful would include, as a base level:

Size animation:
- Width,

  • height,
  • position
  • shrink & grow (centre point constant, node width & height changing)
  • sizeTo (my own recipe) similar to shrink & grow but using another node as start / end. Would give impression on a node-specific zoom if done right.

Reveal-style animations:

  • Fade in & out (opacity effect)
  • Slide up & down (top & width fixed, height animated)
  • Slide left / right (top & bottom fixed, left or right animated)

Color animations (stroke and/or fill)

  • transition between two colors
  • same as above but returning to original

Queue Functionality

  • load up a queue with multiple animations then run
  • queue cancel
  • queue jump to end.
  • is animating flag
  • Parallel AND Serial animation. (Parallel = all steps run simultaneously, serial = step 2 must wait until step 1 is complete, etc)

    Thinking about it, the root of this questions is UX. What I am hunting is a means to clearly place a new node into a specific position to clearly infer relationship and capture users attention. I know links do the former and selection adornments that latter, however the boss always asks for more bling, never less ;-)


“Animation past and present” includes support for animating layouts, tree expansion, and group expansion. The AnimationManager gives programmers a tiny bit of control, but nothing really like what you want.

Internally most of your list is already handled by the AnimationManager. We just need to expose everything so that it makes sense for most cases and is easy to set up an animation.

And you are able to implement your own animation if you like. These samples use setTimeout to implement some animation:

Although I suggest that you use window.requestAnimationFrame for efficiency.

Thanks for the prompt response.

Having searched the on-line docs & forums before I posted, I saw that answer that the developers ‘can’ do it ourselves. I checked out the example too but thought that they were a tad risky to recommend to novices who might severely hurt performance / kill memory if they misused the techniques shown there (not that the techniques are not good - just that it’s a bit of a loaded gun).

As per my prev post regarding some / an increasing portion of your revenue stream ‘current and future’ coming from the likes of a JQuery background…wherein animation as I listed is a breeze…those kids are gonna expect to find animation to be just as slick as the diagramming capabilities of your excellent product. If Northwoods see the web as the future then this one would be worth doing some deep thinking over.

Thanks again & keep up the good work.