Explicit host capabilities

Components & Typed Interop

Treat JavaScript components as bounded application modules, not arbitrary web pages.

Explore source
Parent systemWebScene
StatusPreview
Modules2
RepositoryWebScene/WebScene.JavaScript.Interop

WebScene’s component profile is intentionally versioned and narrower than a browser claim; the boundary stays useful because supported lifecycle, projection, styling, and host calls are explicit and testable.

  1. 01

    Autonomous Custom Elements

  2. 02

    Open and closed Shadow DOM roots

  3. 03

    Default and named slot projection

  4. 04

    Generated typed host capabilities

From intent
to working system.

01

Package

Manifests bind trusted scripts, assets, entry points, and required capabilities.

02

Component

Registry, upgrade, lifecycle callbacks, attributes, cloning, and connection transitions define reusable elements.

03

Encapsulate

Shadow roots, scoped styles, inheritance, and slot projection form the current component boundary.

04

Bridge

Generated interfaces expose only typed application services approved by the native host.

Adopt this
capability.

Start with the primary module, then add the related packages only when the application needs those layers. Replace VERSION with the current NuGet version.

01 · Install
Terminal
dotnet add package WebScene.JavaScript.Interop --prerelease
02 · Use · javascript
quick-start.js
class StatusCard extends HTMLElement {
connectedCallback() {
this.textContent = "Connected";
}
}
customElements.define("status-card", StatusCard);

Use one layer.
Compose the rest.

Read the module beside the complete system.

The implementation, samples, issues, and release notes stay in the parent repository so module details remain connected to the product architecture.

WebScene

Search everything.

Loading the index…

move open esc close

Preparing metadata and full-text search…