Post the general Welcome to Song of Heroic Lands chat card to the current
user once — a whispered, non-blocking card shown the first time a user
loads a world where they have not yet seen it (a per-user, per-world User
flag), and never again. Called from the ready hook.
The card is the system's front door: it links to the project site, points at
the bundled User Guide journals, and recommends the guided tours (with a
one-click Start button for the flagship Character Creation tour, plus
instructions to reach every tour from Settings → Tour Management). It
replaces the old startup welcome dialog.
A whispered chat card (rather than a modal dialog) is deliberate: it follows
SoHL's offer-don't-act consent model and never blocks — including the headless
e2e client. The Start button only offers the tour; the delegated launcher in
register-tours.ts starts it only when the user clicks (PRIME DIRECTIVE —
assist, don't play the game).
Post the general Welcome to Song of Heroic Lands chat card to the current user once — a whispered, non-blocking card shown the first time a user loads a world where they have not yet seen it (a per-user, per-world
Userflag), and never again. Called from thereadyhook.The card is the system's front door: it links to the project site, points at the bundled User Guide journals, and recommends the guided tours (with a one-click Start button for the flagship Character Creation tour, plus instructions to reach every tour from Settings → Tour Management). It replaces the old startup welcome dialog.
A whispered chat card (rather than a modal dialog) is deliberate: it follows SoHL's offer-don't-act consent model and never blocks — including the headless e2e client. The Start button only offers the tour; the delegated launcher in
register-tours.tsstarts it only when the user clicks (PRIME DIRECTIVE — assist, don't play the game).