Many themes expose Nuxt pages under runtime/pages/, for example:
start: initial / “power on” screen;boot: sequence before the full desktop.theme-win95 is the reference for boot/start flow. The Nuxt router exposes them as normal routes; the theme controls navigation (navigateTo) and shortcuts.
Nova and Paper typically skip boot pages and land directly on Desktop.
Group logic under runtime/composables/, e.g.:
useSystemLifecycle: transitions between off / boot / desktop;useSystemBar: taskbar state;useFsController: optional filesystem integration.These names are examples: for future shared patterns prefer neutral names (usePrimaryBar) when extracting a theme kit (see Architecture overview).
Register theme strings with i18n:registerModule in the module setup (langDir resolved via createResolver). Keep keys stable for boot and shell messages.
app.vueThe desktop project has a minimal app.vue that mounts the theme root (e.g. <Desktop />). The theme must expose that component via global registration from addComponentsDir. See Theme anatomy — Desktop.vue.
Boot pages are routes, not a replacement for Desktop.vue — after boot completes, navigation typically reaches the main shell.