Builtin Library
README.md
launcher
The world chooser. A launch that names no world, no pack and no local session
opens it where the platform's launch surface asks for one: the Android app
started from its launcher deposits CLI_ARGS.launcher, and the trusted
entrypoint opens the chooser instead of reporting that no world was given.
The screen lists:
- the world the person chose last, to continue in the profile they chose;
- the public worlds ZeroMind lists, each with Play (the runtime profile, in play mode) and Edit (the editor profile, in edit mode);
- a local session, bound to no world and connected to nothing;
- Open source licenses, where the platform shows the app's third-party license notices (the Android app opens its notices screen).
When ZeroMind cannot be reached the screen says so and offers to try again or to open a local session; it does not retry on its own.
Choosing starts the app again on the choice, and the choice is remembered for the chooser of a later start.
Every word the screen draws is read from the library catalog
locales/<tag>/world_chooser.json as an i18n.text value, so the screen
follows the player's language.
launcher.buildScreen(model) returns the widget tree for a model, so the
screen can be read and tested without a chooser boot. The world list, the
credential it is read with and the relaunch are the trusted VM's
(trusted.call("launcher.state" | "launcher.worldsStart" | "launcher.worldsPoll" | "launcher.open" | "launcher.openLocal" | "launcher.showLicenses")), and each answers only on a boot that opened the
chooser.