Each BBS screen is now a declarative `page` block. Shared rendering
logic (wiki list, scroll helpers, wiki page opening) lives in a `helpers`
block. The persistent chrome (header bar, sidebar menu, footer) is
defined once in a `chrome` block rendered every frame.
The main flow no longer reaches into runner internals: context flows
through naturally via the updated rubbs `tui` step.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
include BBS::Color at top level — c() available everywhere
including instance_eval blocks and OutputBuilder.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
sep / line / cols / para / badge methods replace manual string
concatenation. badges auto-flush before the next content line.
render { } wraps a block in the builder via instance_eval.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
All content rendering now lives in bbs.rb via the rubbs DSL.
fetch/pick handle wiki list + article drill-down; output handles
the multi-line game catalog. display.rb is gone.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>