Default (no query): wasm WasmLoginApp —
boots the LoginFlow state machine, async-inits
RenderContext + CdnAssetSource
(manifest <assetBase>/manifest.json.zst from the CDN) and renders the official
Login.img UI offline — with no
?server= there is no server to connect to. Watch
DevTools console for each transition.
?server=<name> — connect live
to that server through maple-wsgw at
<gatewayBase>/<name>/login (the channel
reconnect keeps the /<name> prefix). The name
must be one listed by GET <gatewayBase>/servers;
there is no client-side default, so a bare visit stays offline.
gatewayBase comes from HALCYON_CONFIG
(localhost defaults to ws://<host>:8443).
?demo=map — skip login and boot the
offline DemoApp directly (auto-loads Henesys through the same
build_switch_map_state path the native binary uses). No
server required.
?live=ws://host:port/<server>/login
— drive the real v83 protocol over WsTransport +
maple-wsgw against an explicit URL (bypasses
gatewayBase + ?server=; the server segment
must be in the path). Optional
&user=<u>&pass=<p>. Dev-only — the
password travels in the URL in plaintext; never use a real account.
Build & serve:
wasm-pack build --target web --out-dir pkg then serve
this directory (e.g. python3 -m http.server 3000) and
open /web/.