Skip to content
Younghoon Kim edited this page Sep 18, 2020 · 8 revisions

The Gemini Grammar

Gemini provides a declarative high-level grammar for the animated transitions. We designed the Gemini grammar to be:

  • Expressive so that people/systems can easily try various animation designs.
  • Systematically Generatable to enable systems (or program) to animate.
  • Readable & Re-usable to facilitate editing/writing the animations.
{
  "timeline": block,
  "staggerings": [ ... ],
  "enumerators": [ ... ],
  "totalDuration": __number__ // optional
}

Gemini conducts the animation by following the timeline. It takes a block, which is a group of synchronized/concatenated steps or a single step.

Steps compose the whole transitions. Each of them represents the change of the graphic component (e.g., axis, legends, and data marks) with timing (e.g., duration, delay).

Gemini allows controlling the timing of the individual marks by the staggering technique. It can be used to limit the number of changing marks to reduce the overlaps between them or to group the movements of the marks by data fields.

Gemini can repeat some part of the timeline with enumerated filtering values by specifying the enumerator.

Clone this wiki locally