Skip to content

DisplayServiceSeparation.md

Noah Gibbs edited this page Oct 10, 2023 · 2 revisions

Display Service Separation

One of Scarpe's big architectural features is the division into Shoes drawables and Display drawables (e.g. Scarpe-Webview drawables).

When you run Scarpe, a display service will be chosen, usually Webview-local. Every time you make a Scarpe object like an app, paragraph, button, alert, etc, there will be both a Shoes drawable and a Display drawable for it. The Display drawable will be specific to the display service: Webview-local, Webview-relay, Glimmer-LibUI-based, plain LibUI-based, etc. A Scarpe app always has a single Display service when it's running, but you can switch the Display service from run to run of the app. Shoes apps are meant to be portable to any Display service, and to (basically) any implementation of Shoes.

You can learn more about Scarpe's Display service separation in a walkthrough video.