Progressive text display - the typewriter reveal every dialogue box wants, shared
rather than reimplemented per widget. MessageBox pages, Label lines and RichLabel
markdown all run on this one character count; what differs is only what each widget
counts (Label counts string characters, RichLabel visible ones via
sliceSpans, markers excluded) and who calls advanceReveal each frame.
Pure logic, no Pixi dependency: a game driving its own reveal (a title screen, a
tutorial toast) can use this without any widget at all.
Progressive text display - the typewriter reveal every dialogue box wants, shared rather than reimplemented per widget.
MessageBoxpages,Labellines andRichLabelmarkdown all run on this one character count; what differs is only what each widget counts (Labelcounts string characters,RichLabelvisible ones viasliceSpans, markers excluded) and who callsadvanceRevealeach frame.Pure logic, no Pixi dependency: a game driving its own reveal (a title screen, a tutorial toast) can use this without any widget at all.
Example