Project

ChartForgeX

Render deterministic charts, dashboards, topology, hierarchy, and report visuals directly from .NET.

Stars 47
Forks 2
NuGet downloads 75,067
Release ChartForgeX-v2.0.0
Language: HTML Updated: 2026-10-12

API Reference

Class

VisualArtifactInterchangeEnvelope

Namespace ChartForgeX.VisualArtifacts
Assembly ChartForgeX
Modifiers sealed

Represents the versioned, renderer-independent semantic form of a visual artifact.

Inheritance

  • Object
  • VisualArtifactInterchangeEnvelope

Remarks

The interchange envelope is intended for package, process, and PowerShell assembly-load-context boundaries. It carries diagram semantics while rendered SVG remains an independent fallback.

Usage

Explore 7 API references to this type

This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.

Accepted by parameters 2

Constructors

public VisualArtifactInterchangeEnvelope() #

Methods

public static VisualArtifactInterchangeEnvelope FromJson(String json) #
Returns: VisualArtifactInterchangeEnvelope

Parses and validates an interchange envelope from JSON text.

Parameters

json System.String requiredposition: 0
public static VisualArtifactInterchangeEnvelope FromUtf8Json(Byte[] json) #
Returns: VisualArtifactInterchangeEnvelope

Parses and validates an interchange envelope from UTF-8 JSON bytes.

Parameters

json System.Byte[] requiredposition: 0
public String ToJson() #
Returns: String

Serializes the envelope to deterministic UTF-8 JSON text.

public Byte[] ToUtf8Json() #
Returns: Byte[]

Serializes the envelope to deterministic UTF-8 JSON bytes.

public Void Validate() #
Returns: Void

Validates this typed snapshot without serializing it.

Properties

public String Schema { get; } #

Gets the schema identifier.

public Int32 Version { get; } #

Gets the schema version.

public VisualArtifactKind Kind { get; set; } #

Gets or sets the visual artifact kind.

public VisualArtifactInterchangeFamily Family { get; set; } #

Gets or sets the structured semantic family, independently from the authoring kind.

public VisualArtifactSourceLanguage SourceLanguage { get; set; } #

Gets or sets the source language used to author the artifact.

public String Id { get; set; } #

Gets or sets the stable artifact identifier.

public String Title { get; set; } #

Gets or sets the artifact title.

public String Subtitle { get; set; } #

Gets or sets the artifact subtitle.

public VisualArtifactInterchangeTopologyArtifact? Topology { get; set; } #

Gets or sets topology-wide semantics for a topology envelope.

public VisualArtifactInterchangeFlowArtifact? Flow { get; set; } #

Gets or sets flow-wide semantics for a flow envelope.

public VisualArtifactInterchangeSequenceArtifact? Sequence { get; set; } #

Gets or sets sequence-wide semantics for a sequence envelope.

public Double? Width { get; set; } #

Gets or sets the natural width in pixels when known.

public Double? Height { get; set; } #

Gets or sets the natural height in pixels when known.

public String? AccessibleName { get; set; } #

Gets or sets the accessible name.

public String? AccessibleDescription { get; set; } #

Gets or sets the accessible description.

public String? Language { get; set; } #

Gets or sets the BCP 47 language tag.

public Boolean IsDecorative { get; set; } #

Gets or sets whether the artifact is decorative.

public VisualArtifactInterchangePresentation? Presentation { get; set; } #

Gets or sets typed artifact presentation semantics.

public Dictionary<String, String> Extensions { get; } #

Gets opaque caller-defined extension data.

public List<VisualArtifactInterchangeGroup> Groups { get; } #

Gets logical groups, lanes, or containers.

public List<VisualArtifactInterchangeNode> Nodes { get; } #

Gets semantic nodes or participants.

public List<VisualArtifactInterchangeEdge> Edges { get; } #

Gets semantic edges or messages.

public List<VisualArtifactInterchangeScenario> Scenarios { get; } #

Gets reusable ordered scenarios or guided paths.

public List<VisualArtifactInterchangeAnnotation> Annotations { get; } #

Gets notes, blocks, and other diagram annotations.

Fields

public const String SchemaId #

The schema identifier emitted by this ChartForgeX version.

Value: chartforgex.visual-artifact
public const Int32 CurrentVersion #

The schema version emitted by this ChartForgeX version.

Value: 1
public const Int32 MaximumJsonUtf8Bytes #

Maximum accepted UTF-8 payload size for one interchange envelope.

Value: 8388608
public const Int32 MaximumJsonCharacters #

Maximum accepted JSON text length for one interchange envelope.

Value: 8388608
public const Int32 MaximumJsonValues #

Maximum accepted materialized JSON values for one interchange envelope.

Value: 600000