Work / Aakalan / Wiki / Surfaces
splash
Surfacecanonicalverified 2026-09-23
SURFACE.MOBILE.SPLASHSummary
The one screen the OS draws rather than React.
Raw wireframe
- .context/designs/mobile/states/splash.html
Why it is drawn this way
expo-splash-screen paints app.config.ts's backgroundColor under
splash-icon.png, and _layout.tsx holds it with
preventAutoHideAsync() until restoreAppearance() has resolved. Hiding it
first would show one frame of the light theme to somebody who chose dark, which
is the flash every dark-mode implementation is judged on.
Its colour does not follow the theme remap. The OS paints it before React
runs, so it is whatever the config declares — and both values are LIGHT brand
values. --splash therefore carries its own literal in the dark scope rather
than reusing --brand-900, which the remap lightens. See tokens.
Only one of the gate's two branches is an edge on the chart. A cold start
with no session goes to sign-in, and that is drawn. A signed-in launch goes
straight to balances — real navigation, but a redirect rather than a tap, so
it is recorded in routes.js under missing instead of being stretched into an
edge kind that does not fit it.
The mark is drawn as a link because a splash has nothing else to attach the forward edge to. That is the same liberty every set in the estate takes.
Related
Sources
- src/app/_layout.tsx
- app.config.ts
Every project of mine is written down like this.
Read the résumé