Penpot subsystems #

This section groups articles about several Penpot subsystems that have enough complexity not to be easy to understand by only looking at the source code.

Each article gives an overview of how a particular functionality has been implemented, over the whole app (backend, frontend or exporter), and points to the most relevant source files to look at to start exploring it. When some special considerations are needed (performance questions, limits, common "gotchas", historic reasons of some decisions, etc.) they are also noted.