Delta.Diagnostics.Contract 0.0.3

dotnet add package Delta.Diagnostics.Contract --version 0.0.3
                    
NuGet\Install-Package Delta.Diagnostics.Contract -Version 0.0.3
                    
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="Delta.Diagnostics.Contract" Version="0.0.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Delta.Diagnostics.Contract" Version="0.0.3" />
                    
Directory.Packages.props
<PackageReference Include="Delta.Diagnostics.Contract" />
                    
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 Delta.Diagnostics.Contract --version 0.0.3
                    
#r "nuget: Delta.Diagnostics.Contract, 0.0.3"
                    
#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 Delta.Diagnostics.Contract@0.0.3
                    
#: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=Delta.Diagnostics.Contract&version=0.0.3
                    
Install as a Cake Addin
#tool nuget:?package=Delta.Diagnostics.Contract&version=0.0.3
                    
Install as a Cake Tool

DeltaDiagnostics

DeltaDiagnostics owns the shared source-diagnostic and timing value contracts for Furnace. The public assembly is Delta.Diagnostics.Contract and its namespace is Delta.Diagnostics.

The diagnostic part contains typed source identity, producer-defined diagnostic codes, source coordinates, severity and an immutable diagnostic value. Source positions are zero-based; Line, Column and Offset count UTF-16 code units, and ranges are half-open (Start inclusive, End exclusive).

The timing part contains the immutable ProfileDuration value. It stores exact non-negative integer picoseconds and provides TimeSpan and stopwatch-tick conversion plus arithmetic/comparison. FromTimeSpan rejects negative values and values that do not fit in picoseconds. FromStopwatchTicks requires a positive frequency, treats non-positive elapsed ticks as zero and truncates a fractional picosecond produced by the conversion. ToTimeSpan truncates sub-tick precision and saturates values beyond TimeSpan.MaxValue.

ProfileDuration is a value-only producer contract: the caller owns the clock, sampling, aggregation and publication policy. It does not own a profiler, logging, formatting or storage. Render-specific reports and profiler interfaces remain in DeltaRender and consume this shared value. The former Delta.Render.ProfileDuration location is not retained as a compatibility alias; consumers should import Delta.Diagnostics.

ProfileDuration.ToString() is intended for compact diagnostic/profiling text: it uses invariant culture, three significant digits, automatic unit selection from ps through d, directly followed by the unit with no padding or separator. Use Picoseconds when an exact machine-readable value is required.

Compiler, loader, text and editor/tooling projects own diagnostic production, validation and presentation. This repository does not own exceptions, result aggregation, logging, formatting, mutable storage or project-specific codes. It has no external NuGet dependencies.

The contract assembly is marked IsAotCompatible and contains no dynamic code, reflection or runtime-loaded resources. NativeAOT compatibility is checked by the opt-in probe described in docs/AOT.md; the probe is not part of the runtime contract.

Product 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.
  • net8.0

    • No dependencies.

NuGet packages (4)

Showing the top 4 NuGet packages that depend on Delta.Diagnostics.Contract:

Package Downloads
DeltaXAML.Compiler

Build-time deterministic XAML semantic compiler and typed plans for DeltaXAML.

DeltaXAML

Retained XAML UI library with typed properties, bindings and layout.

DeltaRender

Renderer-neutral Vulkan RenderGraph contracts for DeltaRender.

DeltaRender.Vulkan

Vulkan implementation of the DeltaRender RenderGraph contract.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.0.3 139 9/2/2026