FS.GG.UI.Scene 0.9.0

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package FS.GG.UI.Scene --version 0.9.0
                    
NuGet\Install-Package FS.GG.UI.Scene -Version 0.9.0
                    
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.Scene" Version="0.9.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="FS.GG.UI.Scene" Version="0.9.0" />
                    
Directory.Packages.props
<PackageReference Include="FS.GG.UI.Scene" />
                    
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.Scene --version 0.9.0
                    
#r "nuget: FS.GG.UI.Scene, 0.9.0"
                    
#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.Scene@0.9.0
                    
#: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.Scene&version=0.9.0
                    
Install as a Cake Addin
#tool nuget:?package=FS.GG.UI.Scene&version=0.9.0
                    
Install as a Cake Tool

FS.GG.UI.Scene

Dependency-light scene vocabulary for FS.GG.UI V3 products.

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

Install

dotnet add package FS.GG.UI.Scene

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

open FS.GG.UI.Scene

// Build a small immutable scene from typed constructors.
let scene =
    Scene.group
        [ Scene.filledRectangle
            { X = 0.0; Y = 0.0; Width = 320.0; Height = 240.0 }
            (Colors.rgb 30uy 30uy 40uy)
          Scene.circle { X = 160.0; Y = 120.0 } 48.0 (Colors.rgb 200uy 60uy 60uy)
          Scene.line
            { X = 0.0; Y = 0.0 }
            { X = 320.0; Y = 240.0 }
            (Paint.stroke Colors.white 2.0)
          Scene.textAt { X = 12.0; Y = 24.0 } "Hello, Skia" Colors.white ]

// Inspect the element kinds without touching a GPU.
let kinds = Scene.describe scene

// Export a deterministic portable package and inspect it before any renderer runs.
let package = SceneCodec.export scene
let report = SceneCodec.inspect package.CanonicalBytes

// Produce deterministic render-readback evidence for a fixed output size.
let evidence =
    Scene.renderReadbackEvidence { Width = 320; Height = 240 } scene

// Build dependency-light structured inspection facts without depending on Controls or Testing.
let finding =
    VisualInspection.finding
        "text-contained-in-owner"
        VisualInspectionSeverity.Blocking
        [ "title" ]
        []
        "title text exceeds its owner"
        "text inside owner bounds"
        "overflow"

API at a glance

  • Scene module — immutable scene constructors (empty, group, filledRectangle, circle, filledEllipse, line, path, textAt, image, clipped, picture, chart) plus inspection helpers (describe, diagnostics, measureText).
  • Colors module — Color constructors and presets (rgba, rgb, black, white, transparent).
  • Paint module — builds and refines Paint values: start from fill/stroke, then layer withOpacity, withBlendMode, withShader, and the filter/effect with* combinators.
  • Path module — assembles PathSpec geometry (moveTo, lineTo, quadTo, cubicTo, create) and queries it (bounds, measure, segment, combine).
  • Scene / SceneNode types — the core record and discriminated-union scene-graph vocabulary that every constructor produces.
  • SceneCodec module — exports/imports deterministic portable scene packages, computes package identities, inspects protocol/capability/resource compatibility, and compares imported scenes.
  • SceneEvidence module — renders a SceneEvidenceRequest to deterministic evidence, returning Result (render, renderHash, renderPng).
  • LayoutEvidence module — derives and classifys LayoutEvidenceReport HUD/gameplay layout proofs from render-readback evidence.
  • VisualInspection module and records — dependency-light structured inspection vocabulary for scopes, nodes, regions, text runs, paint coverage, clipping, unsupported facts, findings, artifacts, summaries, stable status tokens, finding ids, and deterministic artifact diagnostics.

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 (11)

Showing the top 5 NuGet packages that depend on FS.GG.UI.Scene:

Package Downloads
FS.GG.UI.KeyboardInput

Package-owned keyboard input runtime, reducer, effect, diagnostics, and state display contracts for FS.GG.UI products.

FS.GG.UI.SkiaViewer

Skia viewer host workflow contracts for FS.GG.UI V3 products.

FS.GG.UI.DesignSystem

Design-system primitives: token model, Theme record, ResolvedStyle, style variants/classes, visual/validation state, and the pure Style.resolve resolver. Depends only on the scene vocabulary.

FS.GG.UI.Layout

Pure layout and graph scene builders for FS.GG.UI.

FS.GG.UI.Controls

Declarative Skia controls, rich rendering, chart controls, graph controls, DataGrid, and product-owned control runtime contracts.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.15.0 187 7/20/2026
0.14.0 171 7/19/2026
0.13.0 215 7/18/2026
0.12.0 353 7/17/2026
0.11.0 471 7/16/2026
0.10.0 2,593 7/14/2026
0.9.2 913 7/13/2026
0.9.0 1,279 7/11/2026
0.8.0 357 7/11/2026
0.7.0 305 7/11/2026
0.6.0 281 7/10/2026
0.5.0 376 7/10/2026
0.4.0 467 7/9/2026
0.4.0-preview.1 120 7/9/2026
0.3.0-preview.1 119 7/7/2026
0.2.0-preview.1 114 7/6/2026
0.1.64-preview.1 152 7/5/2026
0.1.63-preview.1 135 7/4/2026
0.1.62-preview.1 117 7/4/2026
0.1.61-preview.1 109 7/2/2026
Loading failed