Design the Whiteboard Object Model

Problem Design the object model for Miro's whiteboard: shapes, connectors, frames, and grouping on an infinite canvas.

Requirements

  • addShape / move / resize / delete.
  • group / ungroup; z-order.
  • Connectors that follow the shapes they attach to.
  • Hit testing for selection.

Areas to design

  • The shape hierarchy and grouping/composition.
  • Z-order and spatial queries for hit testing.
  • Separation of the model from rendering.
added …
LeaderboardSalaryAccount