Building composable abstractions
summary
Claims a repeatable three-step process (physical metaphor → precise meaning → implementation) and demonstrates it by building a composable vector system in Clojure using Quil, spec and test.check. Uses functions-as-cutouts (cutouts are functions of tx, ty, r), encodes rotation additive and translation properties, replaces fragile overlay with a collage avoids corner cases design, discovers a rotation-center bug and fixes it by adding CX/CY. Resulting system runs in Quil, and is refactorable to SVG or a serializable data-DSL.
AI-written summary · about
chapters (20)
- 0:00Intro
- 0:14Building Composable Abstractions
- 8:45Objectives
- 12:56The Steps
- 14:11Properties of a Good Metaphor
- 17:26Physical metaphor summary
- 19:11Part of the Interface
- 19:28Distinguish between shapes
- 20:19Construct shapes
- 20:37Preservation of shape
- 21:14Preservation of color
- 23:20Overlay order (retry)
- 24:14Rotation and translation independence
- 24:38Rotation is additive
- 24:56Translation is additive
- 25:34We forgot to draw
- 28:39Rectangles
- 30:19draw!
- 33:43Step 2 Summary
- 37:45Corollaries








