FS.GG.UI.Scene 0.1.63-preview.1

Prefix Reserved
This is a prerelease version of FS.GG.UI.Scene.
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.1.63-preview.1
                    
NuGet\Install-Package FS.GG.UI.Scene -Version 0.1.63-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.Scene" Version="0.1.63-preview.1" />
                    
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.1.63-preview.1" />
                    
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.1.63-preview.1
                    
#r "nuget: FS.GG.UI.Scene, 0.1.63-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.Scene@0.1.63-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.Scene&version=0.1.63-preview.1&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=FS.GG.UI.Scene&version=0.1.63-preview.1&prerelease
                    
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.Canvas

Dependency-light pure element library and Persistence request surface for FS.GG.UI canvas products.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.19.0 104 7/23/2026
0.18.6 107 7/23/2026
0.18.5 109 7/22/2026
0.18.4 95 7/22/2026
0.18.0 232 7/22/2026
0.15.0 411 7/20/2026
0.14.0 275 7/19/2026
0.13.0 300 7/18/2026
0.12.0 421 7/17/2026
0.11.0 514 7/16/2026
0.10.0 3,063 7/14/2026
0.9.2 916 7/13/2026
0.9.0 1,389 7/11/2026
0.8.0 360 7/11/2026
0.7.0 310 7/11/2026
0.6.0 284 7/10/2026
0.5.0 381 7/10/2026
0.4.0 471 7/9/2026
0.4.0-preview.1 122 7/9/2026
0.1.63-preview.1 137 7/4/2026
Loading failed