FS.GG.UI.Elmish 0.2.0-preview.1

Prefix Reserved
This is a prerelease version of FS.GG.UI.Elmish.
There is a newer version of this package available.
See the version list below for details.
dotnet add package FS.GG.UI.Elmish --version 0.2.0-preview.1
                    
NuGet\Install-Package FS.GG.UI.Elmish -Version 0.2.0-preview.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FS.GG.UI.Elmish" Version="0.2.0-preview.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="FS.GG.UI.Elmish" Version="0.2.0-preview.1" />
                    
Directory.Packages.props
<PackageReference Include="FS.GG.UI.Elmish" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add FS.GG.UI.Elmish --version 0.2.0-preview.1
                    
#r "nuget: FS.GG.UI.Elmish, 0.2.0-preview.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package FS.GG.UI.Elmish@0.2.0-preview.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=FS.GG.UI.Elmish&version=0.2.0-preview.1&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=FS.GG.UI.Elmish&version=0.2.0-preview.1&prerelease
                    
Install as a Cake Tool

FS.GG.UI.Elmish

Elmish adapter contracts for FS.GG.UI V3 products.

FS.GG.UI.Elmish is one of the FS.GG.UI distribution packages — an F# / Elmish UI and 2D scene-graph framework for .NET 10 desktop, rendered through Vulkan + SkiaSharp.

Install

dotnet add package FS.GG.UI.Elmish

Or scaffold a full governed project that wires the FS.GG.UI packages together:

dotnet new install FS.GG.UI.Template
dotnet new fs-gg-ui -o MyApp

Usage

The adapter wraps your own Elmish model/msg together with the viewer, so a single update drives both your state and the rendered scene. You supply a render function that projects your model to a SceneNode; the adapter rebuilds the scene on every message.

open FS.GG.UI.Scene
open FS.GG.UI.SkiaViewer
open FS.GG.UI.Elmish

// Your own Elmish model/msg
type Model = { Count: int }
type Msg = Increment

// Project the user model into a scene
let render (model: Model) : SceneNode =
    Text((20.0, 40.0), $"Count: {model.Count}", Colors.black)

let options = { Title = "Counter"; InitialSize = { Width = 640; Height = 480 } }

// Initialise the combined adapter model + initial effects
let initial, effects =
    ElmishAdapter.init options { Count = 0 } (render { Count = 0 })

// Fold a user message through the adapter (re-renders via `render`)
let next, _ =
    ElmishAdapter.update render (UserMsg Increment) initial

API at a glance

  • ElmishAdapter.init — builds the combined ElmishAdapterModel<'model> from ViewerOptions, your initial user model, and an initial SceneNode, returning the model and its startup effects.
  • ElmishAdapter.update — folds an ElmishAdapterMsg<'msg> into the adapter model, using the supplied render function to refresh the scene, and yields the next model plus effects.
  • ElmishAdapterModel<'model> — the bridged state record holding your UserModel, the current Scene (a SceneNode), and the ViewerModel.
  • ElmishAdapterMsg<'msg> — message envelope: UserMsg carries your own messages, ViewerMsg carries viewer messages.
  • ElmishAdapterEffect<'msg> — effect envelope: DispatchUser for your messages and DispatchViewer for ViewerEffects.

Versioning

All FS.GG.UI.* libraries share one version and move together. In a generated project a single <FsGgUiVersion> in Directory.Packages.props pins every package — upgrading is one edit; see docs/UPGRADING.md. Pre-release versions use a -preview.N suffix.

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on FS.GG.UI.Elmish:

Package Downloads
FS.GG.UI

Optional BOM / metapackage for the FS.GG.UI framework. Reference this single package at one version to pin the entire coherent FS.GG.UI.* set to that version; any attempt to mix a member at a different version fails loudly at restore/build. Ships no assembly — dependencies only.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.18.0 0 7/22/2026
0.15.0 104 7/20/2026
0.14.0 78 7/19/2026
0.13.0 110 7/18/2026
0.12.0 232 7/17/2026
0.11.0 346 7/16/2026
0.10.0 422 7/14/2026
0.9.2 472 7/13/2026
0.9.0 564 7/11/2026
0.8.0 220 7/11/2026
0.7.0 167 7/11/2026
0.6.0 147 7/10/2026
0.5.0 203 7/10/2026
0.4.0 287 7/9/2026
0.4.0-preview.1 59 7/9/2026
0.3.0-preview.1 69 7/7/2026
0.2.0-preview.1 59 7/6/2026
0.1.64-preview.1 80 7/5/2026
0.1.63-preview.1 89 7/4/2026
0.1.62-preview.1 55 7/4/2026
Loading failed