RaiDiagram 4.2.9

There is a newer version of this package available.
See the version list below for details.
dotnet add package RaiDiagram --version 4.2.9
                    
NuGet\Install-Package RaiDiagram -Version 4.2.9
                    
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="RaiDiagram" Version="4.2.9" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="RaiDiagram" Version="4.2.9" />
                    
Directory.Packages.props
<PackageReference Include="RaiDiagram" />
                    
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 RaiDiagram --version 4.2.9
                    
#r "nuget: RaiDiagram, 4.2.9"
                    
#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 RaiDiagram@4.2.9
                    
#: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=RaiDiagram&version=4.2.9
                    
Install as a Cake Addin
#tool nuget:?package=RaiDiagram&version=4.2.9
                    
Install as a Cake Tool

RaiDiagram

RaiDiagram is RAIkeep's domain-neutral diagram package. Its .raid files are agent-readable JSON5 manifests that keep semantic projection, model references, and presentation intent separate from application domain models.

4.2.9

RaiDiagram participates unchanged in the coordinated 4.2.9 CR022 incident-correction line and consumes the hardened OsLibCore/RaiImage cloud filesystem boundary. Current notes: RaiDiagram_RELEASE_NOTES_4.2.9.md.

4.2.8

RaiDiagram participates unchanged in the coordinated 4.2.8 CR021 dependency line. Current notes: RaiDiagram_RELEASE_NOTES_4.2.8.md.

4.2.7

The coordinated 4.2.7 patch implements accepted CR020. RaidFile, PumlSourceFile, PumlConfigFile, PumlStyleFile, PumlThemeFile, and DiagramArtifactSet can be constructed around one ItemTreePath, keeping diagram and image artifacts under the same exact-ItemId ownership and movement contract.

Current release notes: RaiDiagram_RELEASE_NOTES_4.2.7.md.

4.2.6

The coordinated 4.2.6 patch adopts the accepted CR019 RaiUtils/RaiImage package line. Diagram behavior is unchanged from 4.2.5.

Current release notes: RaiDiagram_RELEASE_NOTES_4.2.6.md.

4.2.5

The coordinated 4.2.5 patch aligns RaiDiagram's fallback dependencies with the accepted CR017 package line. Diagram behavior is unchanged from 4.2.4.

Current release notes: RaiDiagram_RELEASE_NOTES_4.2.5.md.

4.2.4

The coordinated 4.2.4 patch adopts RaiImage's accepted CR016 Unicode-safe ImageTree placement and legacy lookup behavior. RaiDiagram's public manifest, semantic reconciliation, PlantUML compilation, and SVG provenance APIs are unchanged.

Current release notes: RaiDiagram_RELEASE_NOTES_4.2.4.md.

4.2.3

The coordinated 4.2.3 patch carries the accepted CR010/CR009 diagram surface forward on the CR015 dependency line. DiagramModel.FromManifest(...) and DiagramDestination.CreateSubscriberRoot() are public. Typed .raid, clean .puml, resolved _config.puml, and rendered image artifacts share the existing subscriber ItemTreePath placement without introducing identity management. Explicit local style locations, deterministic common/diagram-kind layering, default seeding, and SVG style provenance are supported through the real PlantUML -config path.

Current release notes: RaiDiagram_RELEASE_NOTES_4.2.3.md.

4.2.0

The initial 4.2.0 release implements approved CR009 and participates in the coordinated RAIkeep 4.2.0 release chain with OsLibCore, RaiUtils, and RaiImage.

The first release provides:

  • role-first UML26 diagram semantics;
  • generic model-provider and structured reconciliation contracts;
  • deterministic semantic hashing;
  • PlantUML compilation and rendering through RaiImage; and
  • authoritative .raid identity and semantic hash metadata in rendered SVG.

AIA implements its WWWA bridge in AIA.Core; RaiDiagram has no AIA, WWWA, or JsonPit dependency.

End-to-end example

The checked-in ScheduleRehearsal example contains an authoritative JSON5 .raid manifest, its deterministic generated PlantUML source, its resolved PlantUML config, and the SVG rendered by the real PlantUML CLI. The generated .puml contains diagram declarations only; theme, handwritten mode, and style are injected with PlantUML -config. The SVG embeds the manifest identity plus semantic, config, and render hashes. Regression tests load the .raid directly, verify all four artifacts remain synchronized, and execute the same production rendering path used by consumers.

The resolved config selects PlantUML's built-in cerulean theme, enables handwritten rendering with !option handwritten true, and declares Chalkduster, Comic Sans MS as an ordered SVG font-family fallback. No theme, style, include, or deprecated handwritten skinparam is emitted into the generated diagram source.

PumlStyleCatalog combines common styles with the style files registered for the .raid DiagramKind. DiagramStyleProvider resolves those layers into one immutable config snapshot before rendering. PumlStyleFile, PumlThemeFile, and PumlConfigFile use the existing ImageTree subscriber and ItemTreePath conventions, just like generated source, config, SVG, PNG, and WebP artifacts. Subscriber is a storage-routing segment, not an authenticated identity. The checked-in raikeep-sketch theme remains a portable Git source example; deployments may also materialize it in a local subscriber ImageTree. RaiDiagram never resolves a remote theme URL or infers a parent subscriber hierarchy.

Each production render materializes one subscriber-co-located ImageTree artifact set: the authoritative .raid snapshot, clean .puml, resolved _config.puml, and rendered .svg. The config is a .puml file using NameExt = "config"; for example ScheduleRehearsal_config.puml. SVG uses the same subscriber and path convention as PNG and WebP; only the file format differs.

Style fallback locations are always supplied explicitly in least-specific to most-specific order. RaiDiagram performs no identity management, authorization, parent-directory walking, or application/subscription/tenant inference.

Testing with PlantUML

The compiler, manifest, style, provenance, and command-contract tests do not require external diagramming tools. Four PlantUMLIntegration tests additionally exercise the real renderer. They run when plantuml -version confirms a complete local installation (including Graphviz for graph-based diagrams) and are reported as skipped when that environment is unavailable. Set RAIDIAGRAM_REQUIRE_REAL_PLANTUML=1 to turn an unavailable renderer into a test failure, for example in a dedicated integration environment.

See the approved CR009 package design, the package-boundary ADR, the subscriber artifact and style request, the subscriber placement and lookup ADR, and the foldable API reference.

Product Compatible and additional computed target framework versions.
.NET 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.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
4.3.2 55 9/14/2026
4.3.1 56 9/13/2026
4.3.0 66 9/13/2026
4.2.10 68 9/10/2026
4.2.9 62 9/10/2026
4.2.8 62 9/10/2026
4.2.7 82 9/9/2026
4.2.6 105 9/3/2026
4.2.5 95 9/1/2026
4.2.4 106 8/27/2026
4.2.3 114 8/27/2026
4.2.2 112 8/21/2026
4.2.0 118 8/16/2026

4.2.9 coordinated incident-correction release for accepted CR022.