Cratis.Scene.Model
3.3.1
Prefix Reserved
dotnet add package Cratis.Scene.Model --version 3.3.1
NuGet\Install-Package Cratis.Scene.Model -Version 3.3.1
<PackageReference Include="Cratis.Scene.Model" Version="3.3.1" />
<PackageVersion Include="Cratis.Scene.Model" Version="3.3.1" />
<PackageReference Include="Cratis.Scene.Model" />
paket add Cratis.Scene.Model --version 3.3.1
#r "nuget: Cratis.Scene.Model, 3.3.1"
#:package Cratis.Scene.Model@3.3.1
#addin nuget:?package=Cratis.Scene.Model&version=3.3.1
#tool nuget:?package=Cratis.Scene.Model&version=3.3.1
Scene
Describing a user interface without describing a platform — Scene is the UI model of the Cratis model-first layer (experimental).
The object model and runtime for Screenplay-based UIs: Scene.Model (platform-agnostic screens, layouts,
forms, contribution points, ui profiles and themes), Scene.Engine (binding/resolution runtime), and
Scene.React (the React renderer).
Packages / Deployables
Builds
Description
Scene owns the object model and runtime half of the Screenplay stack. In the model-first pipeline, Screenplay describes an event-sourced, CQRS system, Stage renders it into a running application, and Scene is how that application's user interface is described — independently of any rendering platform.
Scene.Model is the platform-agnostic
C# object model that Stage translates Screenplay's parsed language constructs into, and that Studio's
design-time tooling reads and writes. Scene.Engine walks that graph, resolves bindings (data, action, form,
navigation contribution) and drives whichever renderer is plugged in — it does not know React exists.
Scene.React is one renderer implementing the abstract vocabulary against real React/DOM; sibling positions
are reserved for future Scene.Native / Scene.Desktop renderers. Vendor and internal component packages
(PrimeReact, internal widget libraries) are adapters plugging into the renderer contract, not part of it.
The design-time editor built on top of this object model lives in Studio, not here — see StudioIssues#156.
Support
Cratis is an open community, and we are glad to help users, teams evaluating the stack, and contributors.
| Channel | Details |
|---|---|
| Discord | Join the community on Discord for questions and discussions |
| GitHub Issues | Report bugs or request features |
| Documentation | Read the docs at cratis.io |
The Cratis ecosystem
This project is part of Cratis — free, MIT-licensed tools for building event-sourced and CQRS applications.
- Chronicle — event-sourcing database and runtime. Orleans-based kernel, pluggable storage (MongoDB default; PostgreSQL, SQL Server, SQLite, in-memory), language-agnostic gRPC contracts. Docs
- Chronicle clients — first-class .NET SDK, plus TypeScript, Kotlin/Java, and Elixir; Python coming soon (pre-alpha). AI agents connect through the Chronicle MCP server.
- Arc — opinionated CQRS framework for ASP.NET Core with commands, queries, validation, authorization, and TypeScript proxy generation. Works without event sourcing. Docs
- Components — React components aligned with Arc patterns. Docs
- CLI + Workbench — inspect and diagnose Chronicle from the terminal or the browser. Docs
- Model-first layer (experimental) — Studio, Screenplay, Stage, Scene (this repository), Prologue
- Supporting — Fundamentals, Specifications, Synopsis, Lens, Narrator, and free AI tooling (preview); Ensemble coming soon (pre-release)
- Samples — runnable event sourcing and CQRS samples for the whole stack
Everything Cratis publishes today is MIT licensed and free to use.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. 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
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Cratis.Scene.Model:
| Package | Downloads |
|---|---|
|
Cratis.Stage.Contracts
The Cratis Stage contract — the event model intermediate format, specification run results and their serialization. |
|
|
Cratis.Scene.Engine
Platform-agnostic runtime and design-time resolution logic for Scene: package/component name resolution, layout arrangement evaluation, contribution aggregation. |
GitHub repositories
This package is not used by any popular GitHub repositories.