-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
Idea
The playground (apps/playground/) and CLI (apps/cli/) both provide interactive dice rolling interfaces — one in the browser, one in the terminal. Explore whether a shared TUI framework could power both, similar to how gridland.io delivers rich terminal-style interfaces that work across contexts.
Current State
- Playground: Astro app with browser-native components (textarea input, result display, reference sidebar)
- CLI: Bun-powered terminal app with text I/O
Both consume @randsum/roller and present the same core interaction: input notation, see results, explore modifiers.
Questions to Explore
- Could a shared UI layer (e.g., Ink for React-in-terminal, or a custom renderer) serve both browser and terminal?
- What's the overlap in interaction patterns? (input → roll → display → history)
- Does
@randsum/dice-uialready cover enough to be the shared component layer? - Would a gridland-style approach (rich TUI that also renders in browser) be more compelling than two separate apps?
- What's the cost of maintaining two separate interfaces vs. one unified one?
References
- gridland.io — rich terminal-style interfaces
- Ink — React for CLIs
- Textual — Python TUI framework (for inspiration)
packages/dice-ui/— existing shared dice UI components
Scope
Research/brainstorm only. No implementation commitment. This would likely be a scramstorm to evaluate feasibility before any code.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels