Ranvier.Dom.Traced 0.1.0-rc.1

This is a prerelease version of Ranvier.Dom.Traced.
dotnet add package Ranvier.Dom.Traced --version 0.1.0-rc.1
                    
NuGet\Install-Package Ranvier.Dom.Traced -Version 0.1.0-rc.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="Ranvier.Dom.Traced" Version="0.1.0-rc.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Ranvier.Dom.Traced" Version="0.1.0-rc.1" />
                    
Directory.Packages.props
<PackageReference Include="Ranvier.Dom.Traced" />
                    
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 Ranvier.Dom.Traced --version 0.1.0-rc.1
                    
#r "nuget: Ranvier.Dom.Traced, 0.1.0-rc.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 Ranvier.Dom.Traced@0.1.0-rc.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=Ranvier.Dom.Traced&version=0.1.0-rc.1&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Ranvier.Dom.Traced&version=0.1.0-rc.1&prerelease
                    
Install as a Cake Tool

Ranvier.Dom

DOM contracts shared by Ranvier's browser and native view backends. The source is generated from WebKit's IDL and the curated native UI scope in ranvier-org/Ranvier.WebCore, rather than TypeScript's browser-wide DOM declarations.

Reference Ranvier.Dom for .NET or Fable.Ranvier.Dom for a browser build. Both projects compile the same generated contracts and shared utility sources. Browser-only conversion code handles typed unions at the JavaScript boundary. Components use the same public member names on both targets.

StyleSheetList.namedItem uses the associated document's first matching ID and returns the sheet of an HTML style element, or null. Reserved names such as length, item, 0 and __proto__ remain document IDs. Shadow-root lists return null. Obtain a document's list through the typed styleSheets getter so its association is retained even when the browser list is empty. The browser facade adds non-enumerable Symbol metadata containing a weak document reference; this metadata is visible through Reflect.ownKeys. A list supplied directly by JavaScript needs that typed getter before named lookup.

DOMStringMap.namedItem reads dataset own keys and returns an empty string for a missing key on both targets. Prototype member names remain ordinary dataset keys.

The shared Ranvier.Dom.CSS.escape function serializes complete UTF-16 text for CSS identifiers on all targets, including embedded null characters. It uses the CSSOM 2021 identifier serialization profile, matching pinned WebCore and the tested Chromium build. A null string reference becomes "null".

Members outside the generated scope remain available in browser code through an explicit cast to the corresponding Xantham interface. The generated native report records omitted members and their reasons.

CssQueryService provides both CSS support-query overloads through the document's engine parser. Browser code uses Ranvier.Dom.CssQueries.forDocument document; the native View backend supplies its host provider. Invalid CSS returns false, while unavailable providers and invalid host lifetimes raise errors. Null strings convert to "null", and embedded NUL remains part of the query input.

ComputedStyleService returns live, read-only CSS declarations for an element or pseudo-element. Browser code uses Ranvier.Dom.ComputedStyles.forDocument document; the native View backend supplies its host provider. Elements belong to the provider's document. Unresolved pseudo-element selectors return empty declarations; later style changes update successful queries.

Document.createNodeIterator and Document.createTreeWalker take a NodeFilter, a function from Node to NodeFilterResult (Accept = 1, Reject = 2, Skip = 3). In a browser build the function is the DOM filter callback; the native View backend wraps it in a host filter. The filter getters return the same function, or None. An exception raised by the function stops the traversal and propagates from the traversal method. whatToShow defaults to every node type (0xFFFFFFFF).

MathMLMathElement is the interface of the MathML math element on the native backend. Chromium exposes the element as MathMLElement, which the interface extends.

Element.getClientRects() and Range.getClientRects() return the engine's fragment rectangle snapshot. DOMRectList.length counts its entries, and item returns a null-capable DOMRect for each index. Coordinates retain double precision; an out-of-range item returns null.

NativeAOT capability diagnostics retain typed categories, names and F# record layout. NodeOrDOMString retains its case and string payload; its native node leaf uses the declared marker <Ranvier.Dom.Node> without invoking user code. Ordinary JIT and Fable diagnostics retain their original structural display.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  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 was computed.  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. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Ranvier.Dom.Traced:

Package Downloads
Ranvier.View.Traced

The traced build of Ranvier.View: template components and server rendering for Ranvier. Depends on Ranvier.Traced.

Ranvier.Css.Dom.Traced

Typed Ranvier.Css declarations for shared browser and native DOM style objects.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0-rc.1 37 11/4/2026
0.1.0-alpha.58 131 11/3/2026
0.1.0-alpha.57 54 11/3/2026
0.1.0-alpha.56 102 11/2/2026
0.1.0-alpha.55 74 11/2/2026
0.1.0-alpha.54 104 11/1/2026
0.1.0-alpha.49 106 11/1/2026
0.1.0-alpha.19 58 10/31/2026
0.1.0-alpha.18 114 10/31/2026
0.1.0-alpha.17 116 10/31/2026
0.1.0-alpha.16 115 10/30/2026
0.1.0-alpha.15 107 10/30/2026
0.1.0-alpha.14 105 10/30/2026
0.1.0-alpha.13 56 10/29/2026
0.1.0-alpha.12 115 10/29/2026
0.1.0-alpha.11 145 10/29/2026
0.1.0-alpha.10 53 10/29/2026
0.1.0-alpha.9 56 10/29/2026
0.1.0-alpha.8 61 10/29/2026
0.1.0-alpha.6 59 10/29/2026
Loading failed

Preview release. The API may change before 1.0.