The Scrawl-canvas developer Runbook

(Valid for Scrawl-canvas v8.17.0)

Purpose of the Runbook

This Runbook tries to explain the design, architecture, code and toolchains associated with the Scrawl-canvas repository.

The Runbook is not, in a strict sense, a technical document because it doesn't set out in fine-grain detail how contributing developers (repo-devs) should structure their contributions to the library, or how developers using the library for their own products/projects (product-devs) should approach their work.

Rather, the Runbook is more of a brain-dump which gives information on the design patterns and architectural choices repo-devs made while developing SC, alongside pointers to where in the repo particular functionality lives and how it works. It also offers advice to product-devs on some best practices when using SC which may, hopefully, save them a bit of time.

Contents

Repository structure, and release protocol

Scrawl-canvas source code structure

Scrawl-canvas page load initialization

Scrawl-canvas objects overview

Scrawl-canvas artefacts and the DOM

The Scrawl-canvas scene graph

Animation and the Display cycle

Scrawl-canvas events and signals

Accessibility

Scrawl-canvas asset management and use

Scrawl-canvas styles management and use

The Scrawl-canvas positioning system

Scrawl-canvas filters

The Scrawl-canvas particle engine

The Scrawl-canvas text-layout engine

Scrawl-canvas graphical entity functionality

Simple entitys

Path-based entitys

Image-based entitys

Text-based entitys

Particle-based entitys

Scrawl-canvas snippets

Scrawl-canvas packets and serialization

Coding, and managing, the Scrawl-canvas website