SharpVision 1.6.0-beta.6
See the version list below for details.
dotnet add package SharpVision --version 1.6.0-beta.6
NuGet\Install-Package SharpVision -Version 1.6.0-beta.6
<PackageReference Include="SharpVision" Version="1.6.0-beta.6" />
<PackageVersion Include="SharpVision" Version="1.6.0-beta.6" />
<PackageReference Include="SharpVision" />
paket add SharpVision --version 1.6.0-beta.6
#r "nuget: SharpVision, 1.6.0-beta.6"
#:package SharpVision@1.6.0-beta.6
#addin nuget:?package=SharpVision&version=1.6.0-beta.6&prerelease
#tool nuget:?package=SharpVision&version=1.6.0-beta.6&prerelease
SharpVision
SharpVision is a retained-mode terminal user interface library for .NET 10. It provides mutable controls, deterministic layout and input routing, styling, Unicode-aware rendering, menus, popups, windows, and application hosting.
This project is a prerelease at version 1.6.0-beta.6 and may change before the
stable API.
The package depends on SharpVision.Terminal, which supplies the terminal
protocol, cell-geometry, buffer, input, and rendering foundation, and installs
it transitively.
See the documentation for complete API contracts and examples, and check the protocol coverage matrix before depending on an optional terminal feature.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- JetBrains.Annotations (>= 2026.2.0)
- SharpVision.Terminal (>= 1.6.0-beta.6)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on SharpVision:
| Package | Downloads |
|---|---|
|
SharpVision.FigletFonts
Optional audited BSD and MIT FIGlet font catalog for SharpVision. |
|
|
SharpVision.Document
Rich flowing documents, interactive forms, and Markdown for SharpVision. |
|
|
SharpVision.SyntaxHighlighting
Read-only, selectable, foldable syntax-highlighted code display for SharpVision, driven by Kate/KSyntaxHighlighting-format definitions. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.6.0-beta.7 | 151 | 9/15/2026 |
| 1.6.0-beta.6 | 91 | 9/15/2026 |
| 1.6.0-beta.5 | 75 | 9/15/2026 |
| 1.6.0-beta.4 | 121 | 9/15/2026 |
| 1.6.0-beta.3 | 81 | 9/15/2026 |
| 1.6.0-beta.2 | 84 | 9/14/2026 |
| 1.6.0-beta.1 | 84 | 9/13/2026 |
| 1.5.0-beta.1 | 147 | 9/6/2026 |
| 1.4.0-beta.1 | 128 | 9/3/2026 |
| 1.3.0-beta.1 | 210 | 8/27/2026 |
| 1.2.0-beta.1 | 147 | 8/25/2026 |
| 1.1.0-beta.1 | 106 | 8/22/2026 |
| 1.0.0-beta.1 | 89 | 8/20/2026 |
| 0.10.0-beta.1 | 126 | 8/13/2026 |
| 0.9.0-alpha.1 | 182 | 8/5/2026 |
| 0.8.0-alpha.2 | 257 | 8/3/2026 |
| 0.7.0-alpha.1 | 141 | 8/2/2026 |
| 0.6.0-alpha.10 | 154 | 7/31/2026 |
| 0.6.0-alpha.9 | 78 | 7/31/2026 |
| 0.1.0 | 173 | 7/18/2026 |
SharpVision 1.6.0-beta.6 prerelease: the theme vocabulary grows from six to ten presentation roles so a theme can separate what the original six could not - "button" (the push-button face, chrome, padding, and states a Button and every dialog action button share; ButtonStyle is now a well-known root in SharpVision.Styling), "toggle" (the two-state option face a CheckBox or RadioButton caption sits on), "item" (the selectable row a list, tree, table, tab, or navigation entry paints, and the plane a ListView surface shares with its rows), and "panel" (the plane a Dock, Grid, Stack, Wrap, Overlay, or SplitPane paints behind its children, which a theme may make transparent). Each cascades from its parent role (button and toggle from input; item and panel from control) until a theme authors it, so every existing theme resolves pixel-for-pixel as before. Face gains an AccessKeyColor channel (default SemanticColor.Hotkey) that every role section may author per state and that a caption inherits from its owner's face, so a mnemonic is colored for the plane it sits on; the theme's attributes.hotkey decoration is now what a mnemonic wears instead of a hard-coded underline. The Turbo Vision theme uses all of it: borderless black-on-green buttons with a black block shadow and yellow access keys, black-on-cyan clusters and list viewers, a borderless white-on-blue input line, yellow label access keys on the gray dialog face, red ones on the gray menu and status strip, transparent layout groups over the blue desktop, and no underlines. Since 1.6.0-beta.5, in which the Turbo Vision theme took its gray menu strip with red access keys, gray dialogs with a white active frame and green close mark, green selection, and blue accent. Since 1.6.0-beta.4, in which the Turbo Vision theme started following Borland's cpAppColor/cpGrayDialog roles on the CGA palette (blue desktop, gray dialogs with a white active frame, green selection, black lines and shadows, [X]/(•) marks through the "classic" glyph family), a Screen paints the theme's application-window plane so a desktop color shows without a hand-authored root face, a menu bar heading insets its caption by one cell on each side so the highlight reads " File ", and menu boxes and dialogs paint their frame cells on their own plane. Since 1.6.0-beta.2, in which menu bars started to behave like desktop menu bars - a drop-down hanging off a bar hosted above other content paints its own Bar plane and popup frame instead of showing that content through its rows (an IsAppearanceBoundary ends a continuous background plane), Up/Down in a drop-down move the cursor without opening submenu rows or trapping focus in a child, a closed submenu forgets its cursor and closes its nested branches leaf-first so reopening never resurrects a stale highlight, a hover-opened submenu shows no cursor until a row inside it is picked, and closing the chain returns focus to the control that owned it before the menu was entered. An application now holds at most one non-empty text selection: selecting in one owner collapses every other owner's range. Since 1.6.0-beta.1, which opened the control-authoring surface so a foreign control family can be built on the same seams the shipped controls use - new authoring bases (ScrollableCompositeControlBase, NumericInputBase, TemporalInputBase, ChartControlBase, FileDialogBase, ItemCollection<TItem>) and ControlBase capabilities for press and drag gestures, owned drop-down popups, modal sessions, owner-bound timers (ControlTimer), and glyph resolution, with the ItemsControl, InputBase, Container, and FloatingSurfaceBase pipeline hooks published rather than internal. Also fixes layout and scrolling correctness (Overlay navigation-slot walking, Container popup and BringIntoView arrangement coherence, monotone scrollbar reservations, ArrangeUniformRows offset remapping, Percent/Star lengths rebased against Viewport), selection integrity (spurious TabControl/Table events, in-flight proposals invalidated on batched structural changes), word-wrap trailing whitespace with O(log n) word navigation, and culture-invariant geometry and layout formatting. See https://github.com/pavkam/sharp-vision/blob/main/docs/index.md for API contracts, examples, and current support.