prepare() runs once mode and app key are known, before engine, surfaces and SteamVR; returning false ends exec() with exit code 1 (D21). The base constructor takes the app's own QCommandLineOptions, parses them with its own and exposes them via isOptionSet()/optionValue() (D38). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>