Screen Catalog
All 46 screens in the ftui-demo-showcase crate, with the env-var value
you set to jump directly to each one, the category it belongs to, what it
actually shows, and which subsystem it exercises.
This is a reference page. Skim for the screen you want, set
FTUI_HARNESS_VIEW, and run. For how the showcase is organized, see
overview. For the snapshot-test workflow, see
snapshot testing.
The FTUI_HARNESS_VIEW column matches the screen module name in
crates/ftui-demo-showcase/src/screens/. If you see a screen name with
underscores here, use those underscores in the env var — don’t
substitute dashes.
Running a specific screen
FTUI_HARNESS_VIEW=dashboard cargo run -p ftui-demo-showcaseThe complete table
| Screen name | FTUI_HARNESS_VIEW= | Category | What it shows | Key subsystem |
|---|---|---|---|---|
| Dashboard | dashboard | Overview | Full-system demo with animated panels, sparklines, streaming markdown, and an integrated pane workspace | ftui-widgets, ftui-layout::pane, ftui-runtime |
| Widget Gallery | widget_gallery | Overview | Browseable catalog of 80+ widgets with live preview | ftui-widgets |
| Advanced Features | advanced_features | Overview | Modal stack, focus graph, hyperlinks, time-travel debugging | ftui-widgets, ftui-runtime |
| Layout Lab | layout_lab | Layout | Interactive flex/grid constraint editor with pane workspaces | ftui-layout, ftui-layout::pane |
| Layout Inspector | layout_inspector | Layout | Constraint visualizer over a live widget tree | ftui-layout |
| Intrinsic Sizing | intrinsic_sizing | Layout | FitContent / LayoutSizeHint driven by measured content | ftui-layout |
| Responsive Demo | responsive_demo | Layout | Breakpoint-driven reflows across viewport sizes | ftui-layout |
| Shakespeare | shakespeare | Text | Long-form paragraph rendering with wrapping and scroll | ftui-text, ftui-widgets::Paragraph |
| Markdown Rich Text | markdown_rich_text | Text | GitHub-flavored Markdown with headings, tables, code blocks | ftui-text, pulldown-cmark |
| Markdown Live Editor | markdown_live_editor | Text | Side-by-side editor + preview with incremental render | ftui-text::Editor, ftui-text::Rope |
| Advanced Text Editor | advanced_text_editor | Text | Rope-backed editor with cursor/selection/undo coalescing | ftui-text::Editor, ftui-text::Rope |
| Table Theme Gallery | table_theme_gallery | Data | Themed tables with striping, selection, hover, column emphasis | ftui-style::table_theme, ftui-widgets::Table |
| Data Viz | data_viz | Data | Charts and sparklines with min/max markers | ftui-widgets::Sparkline, charts |
| Virtualized Search | virtualized_search | Data | Fenwick-tree virtualization with Bayesian height prediction | ftui-widgets::VirtualizedList |
| Log Search | log_search | Data | Fast search over a streaming log pane | ftui-widgets::LogViewer, search |
| Forms Input | forms_input | Input | Text inputs, focus management, Tab/Shift+Tab navigation | ftui-widgets::Input, focus manager |
| Form Validation | form_validation | Input | Inline validation errors with accessibility hooks | ftui-widgets, ftui-a11y |
| Command Palette Lab | command_palette_lab | Input | Bayesian fuzzy search with visible evidence ledger | ftui-widgets::CommandPalette |
| Mouse Playground | mouse_playground | Input | Gesture recognition, drag, drop, multi-click timing | ftui-core::GestureRecognizer |
| Visual Effects | visual_effects | Visual FX | Gray-Scott, metaballs, Clifford attractors, fractals, flow fields | ftui-extras (opt-level=3) |
| Theme Studio | theme_studio | Visual FX | Live theme editor with WCAG contrast feedback | ftui-style, WCAG contrast |
| Mermaid Showcase | mermaid_showcase | Visual FX | Terminal-rendered mermaid diagrams (flowchart, sequence, class) | ftui-extras, mermaid renderer |
| Mermaid Mega Showcase | mermaid_mega_showcase | Visual FX | Extended mermaid gallery (state diagrams, ER, gantt, etc.) | ftui-extras, mermaid renderer |
| Terminal Capabilities | terminal_capabilities | System | Live capability probe with log Bayes-factor evidence | ftui-core::capabilities |
| Performance | performance | System | Frame timing histograms and throughput metrics | ftui-render, frame budget |
| Performance HUD | performance_hud | System | Overlay HUD with live frame-budget gating | ftui-render, conformal gate |
| Determinism Lab | determinism_lab | System | Reproducibility checker against fixed seeds | ftui-harness::ShadowRun |
| Explainability Cockpit | explainability_cockpit | Diagnostics | Live view of the evidence ledger across every decision site | ftui-runtime::evidence_sink |
| VOI Overlay | voi_overlay | Diagnostics | Value-of-information sampling visualization | Bayesian layer (VOI) |
| Snapshot Player | snapshot_player | Diagnostics | Replay of recorded frame sequences | ftui-harness |
| Accessibility Panel | accessibility_panel | Diagnostics | Live a11y tree with role/state/label inspection | ftui-a11y |
| File Browser | file_browser | Workflow | Directory navigator with keyboard and mouse | ftui-widgets::FilePicker |
| Kanban Board | kanban_board | Workflow | Drag-and-drop task columns with persistence | ftui-widgets, drag/drop |
| Async Tasks | async_tasks | Workflow | Progress panes driven by Cmd::perform futures | ftui-runtime::Cmd |
| Notifications | notifications | Workflow | Toast queue with timed dismiss and stacking | ftui-widgets::Toast, NotificationQueue |
| Drag Drop | drag_drop | Workflow | Drag handles, drop zones, ghost previews | ftui-widgets::DragHandle, gestures |
| Inline Mode Story | inline_mode_story | Advanced | Walk-through of inline-mode scrollback preservation | ftui-runtime::ScreenMode::Inline |
| Hyperlink Playground | hyperlink_playground | Advanced | OSC 8 hyperlink emission and link registry | ftui-render, ftui-widgets::hyperlinks |
| i18n Demo | i18n_demo | Advanced | Live locale switching (EN / FR / DE / JA / AR) with BiDi | ftui-i18n, ftui-text::bidi |
| Macro Recorder | macro_recorder | Advanced | Record and replay input sequences with precise timing | ftui-runtime, input macros |
| Quake | quake | Advanced | Quake-style pull-down console on a global hotkey | Inline mode, focus capture |
| 3D Data | 3d_data | 3D / Code | 3D data views rendered in cell-based space | ftui-extras, VFX rasterizer |
| Code Explorer | code_explorer | 3D / Code | AST browser for Rust code with navigation | ftui-widgets::Tree, syntax parser |
| Widget Builder | widget_builder | 3D / Code | Interactive widget composition and preview | ftui-widgets composition |
| Action Timeline | action_timeline | 3D / Code | Time-series event aggregation over the runtime | ftui-runtime, timeline widget |
| Notifications (duplicate row was a mistake — there is one Notifications screen) | — | — | — | — |
Some widget-heavy screens overlap in what they show — dashboard and
widget_gallery both exercise most widgets, but the dashboard is
tuned for “what does a real app look like” while the gallery is tuned
for “here is every widget in isolation.” Use both.
The 46 screen source files
One-to-one with files in crates/ftui-demo-showcase/src/screens/:
3d_data.rs accessibility_panel.rs
action_timeline.rs advanced_features.rs
advanced_text_editor.rs async_tasks.rs
code_explorer.rs command_palette_lab.rs
dashboard.rs data_viz.rs
determinism_lab.rs drag_drop.rs
explainability_cockpit.rs file_browser.rs
form_validation.rs forms_input.rs
hyperlink_playground.rs i18n_demo.rs
inline_mode_story.rs intrinsic_sizing.rs
kanban_board.rs layout_inspector.rs
layout_lab.rs log_search.rs
macro_recorder.rs markdown_live_editor.rs
markdown_rich_text.rs mermaid_mega_showcase.rs
mermaid_showcase.rs mouse_playground.rs
notifications.rs performance.rs
performance_hud.rs quake.rs
responsive_demo.rs shakespeare.rs
snapshot_player.rs table_theme_gallery.rs
terminal_capabilities.rs theme_studio.rs
virtualized_search.rs visual_effects.rs
voi_overlay.rs widget_builder.rs
widget_gallery.rs theme_studio.rs (same file, one entry)Pitfalls
FTUI_HARNESS_VIEW uses underscores, not dashes. If you try
FTUI_HARNESS_VIEW=visual-effects, the lookup will miss and you’ll
land at the default menu. Always use visual_effects.
Some screens expect a specific terminal capability. visual_effects
and mermaid_showcase look best with 24-bit color (COLORTERM=truecolor).
On mono-capable terminals they degrade but may not be visually
meaningful.
The quake screen uses a global hotkey overlay. If your terminal
emulator intercepts that hotkey (Quake-style consoles often use ~),
the screen will appear not to respond. Check the in-screen help for
the binding actually used.