Skip to content

Silvery Showcase Inventory

Comprehensive catalog of all demos and examples in vendor/silvery/examples/.

Summary

  • Total demos: 48 files (37 public examples + 3 debug tools + 5 web targets + 3 utilities)
  • Web showcase: 5 demos registered for browser rendering
  • Screenshots: 5 generated (dashboard, kanban, components, dev-tools, textarea) + 4 in docs/images/
  • Docs pages: 10 example pages on silvery.dev

Component Examples (components/)

Simple, self-contained demos using run() + React hooks. No store, no TEA. Best "getting started" examples.

DemoPathComponentsReferenced ByStatusNotes
Hellocomponents/hello.tsxBox, Text, useInputexamples/index.mdWorkingSimplest possible app
Countercomponents/counter.tsxBox, Text, useState, useInputexamples/index.mdWorkingInteractive state demo
Text Inputcomponents/text-input.tsxBox, Text, TextInputexamples/index.md, docs/examples/forms.mdWorkingReadline keybindings
Select Listcomponents/select-list.tsxBox, Text, SelectListexamples/index.md, docs/examples/forms.mdWorkingDisabled item support
Spinnercomponents/spinner.tsxBox, Text, Spinnerexamples/index.md, docs/examples/components.mdWorking4 animation styles
Progress Barcomponents/progress-bar.tsxBox, Text, ProgressBarexamples/index.md, docs/examples/components.mdWorkingDeterminate + indeterminate
Virtual Listcomponents/virtual-list.tsxBox, Text, VirtualListexamples/index.md, docs/examples/tables.mdWorking200 items virtualized

App Examples (apps/)

Full interactive applications demonstrating real-world patterns with render()/createApp()/pipe().

DemoPathComponentsReferenced ByStatusNotes
AI Coding Agentapps/aichat/index.tsxScrollbackList, Spinner, useTeaexamples/index.md, docs/examples/ai-chat.md, docs/examples/index.mdWorkingMulti-file: index, state, script, types, components
App Todoapps/app-todo.tsxBox, Text, createApp, pipe, withReact, withTerminalexamples/index.md, docs/guide/runtime-layers.mdWorkingLayer 3 pipe() composition
Async Dataapps/async-data.tsxSuspense, use(), ErrorBoundaryexamples/index.mdWorkingReact 19 Suspense demo
CLI Wizardapps/cli-wizard.tsxSelectList, TextInput, ProgressBar, Spinnerexamples/index.md, docs/examples/forms.md, docs/examples/index.mdWorkingMulti-step scaffolding flow
Clipboardapps/clipboard.tsxcopyToClipboard, requestClipboard, parseClipboardResponseexamples/index.mdWorkingOSC 52 protocol demo
Componentsapps/components.tsxH1-H3, Strong, Muted, SelectList, TextInput, ProgressBar, Spinner, Badge, Tabs, Toggle, ModalDialog, CodeBlockexamples/index.md, web showcase, docs/examples/components.md, docs/examples/forms.md, docs/api/use-focus.mdWorkingWeb showcase: registered. Screenshot: components.png
Data Explorerapps/data-explorer.tsxVirtualList, TextInput, Divider, useContentRect, useDeferredValueexamples/index.md, docs/examples/tables.mdWorking500+ rows, responsive columns
Dev Toolsapps/dev-tools.tsxVirtualList, Divider, useContentRectexamples/index.md, web showcaseWorkingWeb showcase: registered. Screenshot: dev-tools.png
Explorerapps/explorer.tsxVirtualList, TextInput, Tabs, TabList, Tab, Divider, useContentRect, useDeferredValueexamples/index.mdWorking2000+ log entries + process table
Galleryapps/gallery.tsxImage, Tabs, TabList, Tab, TabPanel, Kbd, useContentRectexamples/index.mdWorkingKitty images + paint + truecolor
Inline Benchapps/inline-bench.tsxTerminalBuffer, createOutputPhase, outputPhaseexamples/index.mdWorkingBenchmark utility, not interactive
Kanban Boardapps/kanban.tsxBox, Text, useInput, overflow="scroll"examples/index.md, web showcase, docs/guide/scrolling.md, docs/examples/layout.mdWorkingWeb showcase: registered. Screenshot: kanban.png
Layout Refapps/layout-ref.tsxforwardRef, BoxHandle, onLayout, getContentRectexamples/index.mdWorkingImperative layout measurement
Outlineapps/outline.tsxoutlineStyle vs borderStyle, useContentRectexamples/index.mdWorkingLayout comparison demo
Panesapps/panes/index.tsxListView, SearchProvider, SearchBar, useSearchexamples/index.mdWorkingtmux-style split panes
Paste Demoapps/paste-demo.tsxBracketed paste modeexamples/index.mdWorkingPaste as single event
Scrollapps/scroll.tsxoverflow="scroll", scrollToexamples/index.mdWorkingBasic scrollable list
Search Filterapps/search-filter.tsxuseDeferredValue, useTransitionexamples/index.mdWorkingReact concurrent features
Task Listapps/task-list.tsxVirtualList, variable itemHeight, overflowexamples/index.mdWorkingPriority badges, subtasks. Screenshot: task-list.png (in docs/images/)
Terminalapps/terminal.tsxTabs, TabList, Tab, TabPanel, useMouse, useTerminalFocused, OSC 52examples/index.mdWorkingKeyboard/mouse/clipboard/focus kitchensink
TextAreaapps/textarea.tsxTextArea, Split-pane, Tab focusexamples/index.md, web showcase, docs/examples/ai-chat.mdWorkingWeb showcase: registered. Screenshot: textarea.png
Themeapps/theme.tsxThemeProvider, Link, Badge, ProgressBar, Spinner, H1-H3, Code, Blockquoteexamples/index.mdWorking38 palette browser
Transformapps/transform.tsxTransform componentexamples/index.mdWorkingText post-processing
Virtual 10Kapps/virtual-10k.tsxVirtualList, Divider, useContentRect, variable itemHeightexamples/index.mdWorking10,000 item benchmark

Layout Examples (layout/)

DemoPathComponentsReferenced ByStatusNotes
Dashboardlayout/dashboard.tsxTabs, TabList, Tab, TabPanel, ProgressBar, Table, useContentRect, useIntervalexamples/index.md, web showcase, docs/examples/layout.md, docs/examples/live-demo.md, docs/examples/tables.md, docs/examples/scrollback.md, docs/getting-started/quick-start.mdWorkingWeb showcase: registered. Screenshot: dashboard.png. Most-referenced demo
Live Resizelayout/live-resize.tsxuseContentRect, responsive breakpointsexamples/index.mdWorkingScreenshot: layout-feedback.png (in docs/images/)
Overflowlayout/overflow.tsxoverflow="hidden", Box heightexamples/index.mdWorkingContent clipping demo

Runtime Examples (runtime/)

DemoPathComponentsReferenced ByStatusNotes
Elm Counterruntime/elm-counter.tsxcreateRuntime, layout, diff, merge, mapexamples/index.mdWorkingLayer 1 Elm architecture
Hello Runtimeruntime/hello-runtime.tsxcreateRuntime, layoutexamples/index.mdWorkingSimplest Layer 1 render
Run Counterruntime/run-counter.tsxrun(), useState, useInputexamples/index.md, docs/guide/runtime-layers.mdWorkingLayer 2 sugar pattern
Runtime Counterruntime/runtime-counter.tsxcreateRuntime, events()examples/index.mdWorkingLayer 1 custom event loop
Pipe Compositionruntime/pipe-composition.tsxcreateApp, pipe, withReact, withTerminalexamples/index.mdWorkingLayer 3 plugin system

Inline Examples (inline/)

DemoPathComponentsReferenced ByStatusNotes
Inline Simpleinline/inline-simple.tsxrender() inline modeexamples/index.mdWorkingBasic inline rendering
Inline Progressinline/inline-progress.tsxrender() inline mode, setIntervalexamples/index.mdWorkingInline progress bar
Inline Non-TTYinline/inline-nontty.tsxNon-TTY mode (pipes, CI, TERM=dumb)examples/index.mdWorkingAuto-detects piped output
Scrollbackinline/scrollback.tsxuseScrollback, VirtualList virtualizedexamples/index.md, docs/examples/scrollback.mdWorkingREPL with freeze-and-scroll

Kitty Protocol Examples (kitty/)

DemoPathComponentsReferenced ByStatusNotes
Image Viewerkitty/images.tsxKitty graphics protocol (raw)examples/index.md, docs/examples/terminal.mdWorkingFile/directory/test pattern gallery
Image Componentkitty/image-component.tsxImage component, protocol auto-detectexamples/index.md, docs/examples/terminal.mdWorkingDeclarative API with fallback
Key Explorerkitty/keys.tsxKitty keyboard protocol, modifier parsingexamples/index.md, docs/examples/terminal.mdWorkingInteractive chord tester
Rich Inputkitty/input.tsxparseHotkey, mouse tracking, Kitty protocolexamples/index.md, docs/examples/terminal.mdWorkingCombined keyboard + mouse
Canvaskitty/canvas.tsxHalf-block pixel art, mouse drawingexamples/index.mdWorkingLow-level terminal canvas
Paintkitty/paint.tsxKitty graphics + half-block overlayexamples/index.md, docs/examples/terminal.mdWorkingFlagship visual demo

Debug Tools (interactive/)

Internal debug tools, underscore-prefixed. Not discoverable by the viewer.

DemoPathComponentsReferenced ByStatusNotes
_stdin-testinteractive/_stdin-test.tsRaw stdin (no React)NoneWorkingKeypress delivery diagnostic
_input-debuginteractive/_input-debug.tsxuseInput, TextAreaNoneWorkingKeypress loss diagnostic
_textarea-bareinteractive/_textarea-bare.tsxTextArea (bare)NoneWorkinguseInput conflict diagnostic

Utilities & Infrastructure

FilePathPurposeReferenced ByNotes
Viewerviewer.tsxStorybook-style TUI browser for all examplesexamples/index.md, docs/index.mdAuto-discovers via meta exports
CLIcli.tsbun demo command-line runnerexamples/index.mdFuzzy-match demo launcher
Banner_banner.tsxShared ExampleBanner componentAll demosNot an example itself
Scrollback Perfscrollback-perf.tsxBenchmark: ScrollbackList keystroke costNoneHeadless benchmark, not interactive
Screenshot Generatorscreenshots/generate.tsxGenerates PNG screenshots via PlaywrightNoneOutputs to docs/images/

Web Targets (web/)

FilePathPurposeReferenced ByNotes
Showcase App (xterm)web/showcase-app.tsxRenders demos in xterm.js (legacy)docs/public/examples/showcase.htmlSuperseded by canvas showcase
Showcase App (canvas)web/showcase-canvas-app.tsxRenders demos on canvas for VitePress docsdocs/public/examples/showcase-canvas.htmlPrimary showcase — used by ShowcaseGallery
Showcase Registryweb/showcases/index.tsxRegistry of 5 web-ready demosweb/showcase-app.tsxdashboard, kanban, components, dev-tools, textarea
Viewer Appweb/viewer-app.tsxWeb version of the example viewerdocs/public/examples/viewer.htmlEmbedded in docs index page
Xterm Appweb/xterm-app.tsxStandalone xterm.js rendererdocs/public/examples/xterm.htmlGeneral-purpose web renderer
DOM Appweb/dom-app.tsxExperimental DOM rendererdocs/public/examples/dom.htmlExperimental
Canvas Appweb/canvas-app.tsxExperimental Canvas2D rendererdocs/public/examples/canvas.htmlExperimental
Playgroundplayground/playground-app.tsxQuick prototyping playgroundplayground/index.htmlWeb-based

Screenshots

docs/public/screenshots/ (used by DemoScreenshot component on silvery.dev)

ScreenshotSource DemoUsed By
dashboard.pnglayout/dashboard.tsxdocs/examples/layout.md, docs/examples/tables.md, docs/examples/scrollback.md
kanban.pngapps/kanban.tsxdocs/guide/scrolling.md
components.pngapps/components.tsxdocs/examples/components.md, docs/examples/forms.md, docs/guides/components.md, docs/api/use-focus.md
dev-tools.pngapps/dev-tools.tsxNone (only via ShowcaseGallery)
textarea.pngapps/textarea.tsxdocs/examples/ai-chat.md

docs/images/ (generated by screenshots/generate.tsx)

ScreenshotSource DemoUsed By
dashboard.pngStatic version in generate.tsxREADME, general marketing
kanban.pngStatic version in generate.tsxREADME, general marketing
task-list.pngStatic version in generate.tsxREADME, general marketing
layout-feedback.pngStatic version in generate.tsxREADME, general marketing

Web Showcase Coverage

The web showcase (ShowcaseGallery on silvery.dev) registers only 5 of 37 public demos:

RegisteredDemoNotes
YesDashboardPrimary showcase demo
YesKanban BoardMulti-column layout
YesComponents30+ component gallery
YesDev ToolsLog viewer
YesTextAreaNote editor
NoAI Coding AgentComment in registry: "disabled until they render well in web xterm"
NoCLI WizardNot registered
NoExplorerNot registered
NoGalleryRequires Kitty graphics
NoThemeNot registered
NoVirtual 10KNot registered
Noall othersNot registered

Issues Found

Orphaned Demos (exist but not linked from any doc page)

These demos exist and work but are not referenced by any documentation page (only listed in examples/index.md catalog):

DemoPathWhy It Matters
Async Dataapps/async-data.tsxOnly React Suspense demo; should be in a "React Features" doc page
Clipboardapps/clipboard.tsxShould be referenced from Terminal Protocols page
Galleryapps/gallery.tsxShould be referenced from Terminal Protocols page
Inline Benchapps/inline-bench.tsxBenchmark utility -- reasonable to not document
Layout Refapps/layout-ref.tsxShould be referenced from Layout page
Outlineapps/outline.tsxShould be referenced from Layout page
Paste Demoapps/paste-demo.tsxShould be referenced from Terminal Protocols page
Scrollapps/scroll.tsxShould be referenced from Scrollback or Layout page
Search Filterapps/search-filter.tsxShould be referenced from Tables & Data page
Terminalapps/terminal.tsxShould be referenced from Terminal Protocols page
Themeapps/theme.tsxShould have its own doc page or be in Components
Transformapps/transform.tsxNiche; reasonable to not document
Virtual 10Kapps/virtual-10k.tsxShould be referenced from Tables & Data page
Live Resizelayout/live-resize.tsxShould be referenced from Layout page
Overflowlayout/overflow.tsxShould be referenced from Layout page
Elm Counterruntime/elm-counter.tsxReferenced from runtime-layers.md but not examples/ pages
Pipe Compositionruntime/pipe-composition.tsxShould be referenced from runtime-layers.md
All inline/ demosinline/*.tsxOnly Scrollback is referenced from docs
All kitty/ demoskitty/*.tsxReferenced from terminal.md but only as bun examples/ commands

Broken/Missing Screenshot References

Doc PageScreenshot ReferencedExists?Notes
docs/examples/scrollback.mddashboard.pngYesWrong screenshot -- should show scrollback/inline mode, not dashboard
docs/examples/tables.mddashboard.pngYesReuses dashboard screenshot -- should show data-explorer or explorer
docs/examples/ai-chat.mdtextarea.png (via LiveDemo)YesShows textarea instead of AI chat -- aichat screenshot doesn't exist

Missing Screenshots

DemoHas Screenshot?Notes
AI Coding Agent (aichat)NoWould be the best showcase screenshot
CLI WizardNoVisually impressive multi-step flow
ExplorerNo2000+ rows log viewer
GalleryNoKitty-dependent; may not screenshot well
ThemeNo38-palette browser would showcase well
Virtual 10KNoImpressive scale demo
PanesNotmux-style split would showcase well

Duplicate/Overlapping Demos

Demo ADemo BOverlap
Data Explorer (apps/data-explorer.tsx)Explorer (apps/explorer.tsx)Both show process tables with search + VirtualList. Explorer is a superset (adds logs tab, live jitter)
Scroll (apps/scroll.tsx)Virtual List (components/virtual-list.tsx)Both demonstrate scrollable lists. Scroll uses overflow="scroll", Virtual List uses VirtualList component
Gallery paint tab (apps/gallery.tsx)Paint (kitty/paint.tsx)Both have half-block pixel drawing. Gallery is simpler version, Paint is flagship with Kitty overlay
Canvas (kitty/canvas.tsx)Gallery paint tab (apps/gallery.tsx)Both do half-block pixel drawing, but Canvas is raw mouse-driven, Gallery is keyboard-driven

Doc Pages That Reference Non-Existent Demos

No broken links found. All bun examples/ paths in doc pages correspond to existing files.

Recommendations

  1. Add screenshots for AI Coding Agent, CLI Wizard, Theme, and Panes -- these are visually impressive demos that would strengthen the docs
  2. Fix mismatched screenshots on scrollback.md and tables.md doc pages
  3. Register more web showcases -- CLI Wizard, Explorer, and Theme would work well in xterm.js
  4. Link orphaned demos from relevant doc pages (Layout Ref from Layout, Search Filter from Tables, etc.)
  5. Consider consolidating Data Explorer into Explorer (Explorer is a strict superset)
  6. Add a "React Features" doc page covering Async Data (Suspense), Search Filter (useDeferredValue/useTransition)

Released under the MIT License.