little tool for building Wardley maps

reorg: be much more deliberate about mutable state

on.draw no longer mutates anything but the screen.

We now have levels of recomputation:

  • A: convert hierarchies of text (Page) into a flat array of shapes (Surface)
  • B: convert surface coordinates to viewport coordinates.
  • ..and lots of room to grow. Importantly, these levels are decoupled from on.* events.

The level at which we start using viewport settings (B) is also responsible for updating the default font, a global setting used all over the place inside the editor widget.

Hopefully we won't see bad box heights any more. We still have text rendering differently at different zoom levels, though.

Created by  Kartik K. Agaram  on December 23, 2022
U4DYD4L2LZQ4U4ZNBVA4E5DMHCWTF25A6Q4GS35B3FKB74MPIQ4AC
Change contents