Commit Graph
10 Commits
Author SHA1 Message Date
mr.zeroandClaude Sonnet 4.6 2a4aafd96f Rewrite TUI using page-based DSL
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>
2026-05-11 21:32:42 +02:00
mr.zero 6c9b249a3a tui version 2026-05-11 21:06:59 +02:00
mr.zeroandClaude Sonnet 4.6 3a90dd541e Move COLORS and c() to BBS::Color in rubbs
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>
2026-04-30 10:34:47 +02:00
mr.zeroandClaude Sonnet 4.6 304c130fa9 Replace module C with COLORS hash
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 10:31:37 +02:00
mr.zeroandClaude Sonnet 4.6 78184ad62f Add OutputBuilder DSL for catalog rendering
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>
2026-04-30 09:55:13 +02:00
mr.zeroandClaude Sonnet 4.6 390142d892 Add c(:color, text) helper, replace all inline ANSI constants
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 09:50:48 +02:00
mr.zeroandClaude Sonnet 4.6 9ab2e09b3f Add Model/Repository postfix to all class and file names
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 09:40:14 +02:00
mr.zeroandClaude Sonnet 4.6 6856b073f6 Introduce model/ and repository/ structure under lib/
Models: Message, WikiPage, Game (typed structs instead of raw hashes)
Repositories: MessageBoard, OnlineUsers, WikiClient, CatalogClient
bbs.rb uses attribute access (page.title, game.play_path, …) throughout

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 09:37:57 +02:00
mr.zeroandClaude Sonnet 4.6 75d1063572 Replace display.rb with DSL primitives in bbs.rb
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>
2026-04-30 09:28:21 +02:00
mr.zero 4ac5f1632f ruby version 2026-04-28 22:58:37 +02:00