@startuml skinparam componentStyle uml1 [Tactility] as t note right of t : to build and use graphical apps [TactilityHeadless] as theadless note right of theadless : to build and use background services [TactilityCore] as tcore note right of tcore : defines, data types, logging, async, etc. package "Applications" { [AppSim] as appsim [AppEsp32] as appesp } note right of appesp : AppEsp depends on the board \n projects for configuration [t] ..> [theadless] [theadless] ..> [tcore] [appsim] ..> [t] [appesp] ..> [t] @enduml