Aggregate Modules

Module Description
box Module exporting all other published modules (except compose). Useful for getting started quickly if your builds include dead-code elimination. Also includes some cross-module extensions.
sample (unpublished) Sample application showing use of the library with common drawing code and logic across Android and JS targets.

Low Level Modules

These modules provide an unopinionated multiplatform experience with simple, low-level primitives. Drawing with a Krayon Kanvas should feel very similar to drawing directly to an Android Canvas or HTML/JS CanvasRenderingContext2D.

Module Description
color Multiplatform color representation and operations.
kanvas Kanvas interface with platform specific (Android, HTML) and multiplatform (SVG) implementations.

High Level Modules

These modules provide functionality heavily inspired by, and often directly translated from, D3. Many of the modules aim to provide a 1-to-1 mapping with a D3 library, such as axis or selection. Other modules, like element, attempt to fill in gaps required to support this, like Element being used instead of the DOM to enable non-web targets.

Module Description
axis Component for rendering reference marks as part of a chart.
compose Compose Multiplatform Kanvas and ElementView composables. Not included in box.
element Element class used to provide an mutable object-tree of drawing operation.
element-view Android specific View for rendering an Element off the main thread.
interpolate Functionality for blending/picking values between start and stop values.
selection Data-driven transformation of the Element-tree.
shape Visualization support for generating complex shapes from data, such as line charts.