This is Charming1. For Charming2, go to charmingjs.org. This is v1. For v2, go to charmingjs.org.

API Reference

The core modules of Charming, which are included in core bundle:

  • App - rendering app to DOM and animating it
  • Flow - binding data to shapes
  • Process - preparing data to be rendered
  • Shape - appending geometric elements to canvas
  • Transform - deriving shape attribute values
  • Scale - mapping abstract data to visual representation
  • Event - handling hooks and events
  • Prop - returning properties of the app
  • Attribute - defining attributes for shapes

The other modules are included in full bundle. Different renderers:

  • WebGL - the WebGL renderer and related helpers
  • Terminal - the terminal renderer and related helpers

Reusable solutions for common tasks:

  • Array - array generation and manipulation
  • Math - processing numbers, randomness, etc.
  • Constant - useful constants
  • Vector - basics for simulating physical laws
  • Helper - useful unities

App

Rendering app to DOM and animating it.

Flow

Binding data to shapes.

Process

Preparing data to be rendered.

Shape

Appending geometric elements to canvas.

Transform

Deriving shape attribute values.

Scale

Mapping abstract data to visual representation.

Event

Handling hooks and events.

Prop

Returning properties of the app.

Attribute

Defining attributes for shapes.

WebGL

The WebGL renderer and related helpers.

Terminal

The terminal renderer and related helpers.

Array

Array generation and manipulation.

Math

Processing numbers, randomness, etc…

Constant

Useful constants.

Vector

Basics for simulating physical laws.

Helper

Useful unities.