Starling — a generative surface runtime

3 min read Original article ↗

Generative surface runtime · built in .NET · open

The browser,
past the page.

Starling is a generative surface runtime. It turns documents, tools, data, apps, and intent into surfaces, and holds them all in one graph. The web page — the DOM, the address bar — is now just one surface among many.

surface · producer · graph built on Skyline · open · experimental

the shift

For thirty years, the web's unit was the page.

A page is a document and its DOM tree. It worked because a person had to author every interface by hand, and the page was the only way to put one in front of you. Large language models change that — and once they do, the page stops being the center.

01

The page cracks

A model can generate the interface itself — shaped to the moment, beholden to no page. The interface becomes an output, not a document someone wrote ahead of time.

02

The interface generates itself

Ask for a way to compare three flights and the model can produce the comparison — not a link to a site that has one. No document required.

03

The browser becomes the whole

Once the interface no longer needs a page, the web browser is just one producer of surfaces among many. Starling is the layer that holds them all.

what a surface is

A surface is more than what you see.

It carries its own state, the actions it exposes, and the permissions it needs. That semantic side is durable and inspectable — it can be saved, resumed, audited, and acted on. The visual side is only how the surface looks this frame.

01

Semantic and visual

The meaning persists even as the pixels change. A surface can be saved, resumed, audited, and acted on — not thrown away the moment you look away.

02

Many producers

The web browser produces pages. A model produces generated views. A video plugin produces video. Your tools and data produce surfaces too — all first-class.

03

One graph

Every producer feeds one SurfaceGraph that Starling owns. Like a murmuration of starlings, many surfaces move as one.

one producer, and it's real

The web browser is one surface. It works today.

The old web is not thrown away — it is a first-class producer in the graph. Starling renders real sites with an engine all its own: parser, cascade, layout, paint, and a JavaScript runtime. No Chromium, no Gecko, no WebKit underneath.

starling://surface — web producer · netclaw.dev

live paint

render preview · add assets/render.png

project status

Honest numbers, backed by tests.

Starling is experimental, and the web producer is the part with real mileage. Each figure is measured by a real test suite — Test262, Web Platform Tests, and Starling's own specs. Nothing rounded up.

ECMAScript / Test262language suite

0%

Core language conformance across the Test262 suite.

Web Platform Testsclimbing

0%

Cross-browser behaviour across DOM, CSS, and HTML.

HTML parserspec

spec-compliant

Paint backendshipped

stable

CSS & Layoutpartial

in progress

Surface graphprototype

taking shape

Generated surfacesearly

the next bet

the engine room

Starling runs on Skyline.

Skyline is the agent-native app framework underneath — WebGPU-first, NativeAOT, every platform. It hands Starling a window, a GPU device, an app loop, and the permission model surfaces are built on. Starling is the hero. Skyline is the engine room.

the idea

The page is no longer the center. The surface is.

Experimental · a prototype · built in the open · not yet ready for daily use