Overview
Syllabus
Intro
Not many good options for Scala
Doodle works with 2D vector graphics
Decreases reasonability
Customise colours, tick marks, key, etc.
Make the common cases easy
import io.circe.generic.auto.
Paths, and relationships between paths
Path is a sequence of moves, lines, and curves
Layout aligns origins of bounding boxes
Pad or shrink bounding box
Compositional, easy to reason about
Encoder and Decoder type classes
Image generates an intermediate data structure
Performance or memory usage limits
Draw directly to a Canvas
Extending Image layout operations
Find PDF rendering engine with fewer bugs
"Recursion scheme" encoding
Composition of languages
Layered design works nicely
Make common case easy
Make composition of layers easy
Doodle inspired by work on graphical grammars
Taught by
Scala Days Conferences