Skip to content

Introduction

kinetickit is a domain-neutral animation engine. It owns scenes, motions, deterministic frame scheduling, renderer capabilities, interactions, accessibility metadata and file export. Economics packages and other applications translate their own objects into ordinary KineticKit nodes.

One immutable scene and one motion can drive three outputs: animated SVG, streamed GIF and self-contained interactive HTML. The same scene and time always give the same snapshot. Wall-clock time and the choice of renderer do not enter the model.

KineticKit does not import mosaickit, utility-viz or any other domain package. Font processing belongs to glyphkit and reaches the scene through one adapter, described in Typography.

Layers

May know time, values, protocols

Must not know scenes, renderers

May know geometry, styles, object ids

Must not know backend objects

May know scene snapshots, capabilities

Must not know consumer domain models

May know frames, artifacts, destinations

Must not know visualization logic

Import-linter contracts and tests that read the syntax tree enforce these boundaries. Matplotlib, Plotly and Pillow live only in private _* modules.

A short tour

  1. Quick start moves one point and writes it to three formats.
  2. Scenes and motion lists the nodes and shows how motions compose.
  3. Output formats explains capabilities, fallbacks and what each format keeps.
  4. Examples runs a chart, an adapter and a 3D surface.

Comments