All projects

Native web-component runtime

WebScene

Run application-owned web components through a native scene pipeline instead of an embedded browser.

StatusPreview
TierFlagship
DomainFrameworks
Repositorywieslawsoltes/WebScene

A native V8, DOM, CSS, layout, Canvas, and SVG runtime for trusted packaged web components, publishing immutable scene updates into Avalonia and Uno hosts without a WebView.

WebScene keeps hot DOM, CSS, layout, Canvas, SVG, and JavaScript work inside a dedicated native engine. The application UI thread consumes immutable scene state, while typed host capabilities and framework SDK controls keep the security and lifecycle boundary explicit.

01

Native V8, DOM, CSS, layout, Canvas, and SVG

02

Packaged components without WebView or Chromium hosting

03

Avalonia and Uno native presenters

04

Custom Elements, Shadow DOM, typed interop, and CDP

Where it fits.

  • .NET products shipping trusted JavaScript or TypeScript component surfaces
  • Avalonia and Uno teams embedding charts, editors, dashboards, or plug-ins
  • Runtime authors exploring a bounded native web-compatibility profile
Avalonia

Reference presenter

Uno Platform

Skia desktop presenter

Native runtimes

macOS arm64, Linux x64, Windows x64

Web compatibility

Versioned component profile

Real output,
not a mockup.

WebScene project logo
WebScene is a bounded native web-component runtime for application-owned content.
Monaco Editor running inside the WebScene native runtime
Monaco exercises editing, DOM, CSS, events, typed interop, and native scene publication without an embedded browser.

Clear layers.
Replaceable seams.

01

Runtime

A dedicated native V8 isolate owns JavaScript, DOM, CSS, layout, Canvas, SVG, and component execution.

02

Scene

Immutable updates cross the native ABI instead of issuing fine-grained UI-thread calls.

03

Host

Avalonia and Uno presenters integrate the scene with framework lifecycle, input, and composition.

04

Capability

Generated typed interop exposes only application-approved .NET services to packaged components.

3 workloadsMonaco, TradingView, showcase
2 hostsAvalonia and Uno
WPT subsetcompatibility evidence
LiveGitHub metadata

One repository.
Multiple serious systems.

Explore the focused capabilities, their package boundaries, architecture, installation, and smallest useful example.

From package
to first frame.

Choose the package workflow used by your repository, then start from the smallest working example. Replace VERSION with the current stable or prerelease version shown on NuGet.

01 · Install
Terminal
git clone --recurse-submodules https://github.com/wieslawsoltes/WebScene.git
# Build a native runtime sample for the target RID.
02 · Use · bash
Terminal
dotnet run --project samples/NativeRuntimeShowcase.Avalonia

Start focused.
Compose as needed.

The repository is the source of truth.

Use the current documentation and samples, inspect changes, report issues, or support continued open-source maintenance.

Inspector

Search everything.

Loading the index…

move open esc close

Preparing metadata and full-text search…