Shared boot dependencies passed by initApp.
The teardown UIModule.destroy() runs when the application is unmounted: the
listener, the safety timer, the fit timer and an armed themeless reveal go, and nothing
reveals any more. Without it, the reveal of a boot unmounted before it revealed fired on the
next boot's geoleaf:theme:applied — an app:ready for an application that was gone.
Wires the loader reveal: applies stored permalink state, then reveals the app on
geoleaf:theme:applied(or a 5 s safety timeout). For a profile without a default theme, the reveal is armed instead, and the boot releases it onceregistry.init()has returned (releaseThemelessReveal) — whichever comes first reveals, and only once.The reveal asks
holdReveal()(boot-failure.ts) first: a failed boot keeps its failure screen, and declared profile resources that failed hold the reveal on a screen whose « Continue » replays it.