little tool for building Wardley maps

make move/resize more polished+performant

This is a long-standing problem in driver.love as well:

  • each node requires an edit buffer and various decorations
  • while the mouse is down during a move/resize it's really helpful to see the decorations change
  • but to change decorations we have to go all the way back to A(), which is very slow if there's lots of nodes on the surface

Solution: create a variant of A called A1 that only does the work of A for a single node id (index) into Nodes.

This requires tracking for every shape we render in Surface, which id it is part of. That way we can selectively delete just shapes belonging to a single id.

Caveat: id is a scalar, so this approach can't handle any nesting, only a flat array of objects. But that's good enough for both driver.love and this app.

Created by  Kartik K. Agaram  on April 18, 2023
HIJWP6Q3CXDRIH7PJXN24JVQJF5Y53JKU7NKFPKCATQWI5DHQA3AC
Change contents