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

GraphScene

Namespace ChartForgeX.Interactivity
Assembly ChartForgeX.Interactivity
Modifiers sealed

Describes a host-neutral graph exploration scene that adapters can render with SVG, Canvas, WebGL, desktop, or native controls.

Inheritance

  • Object
  • GraphScene

Usage

Explore 38 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 28

Constructors

public GraphScene() #

Methods

public static GraphScene Create(String id, String title) #
Returns: GraphScene

Creates a new graph scene.

Parameters

id System.String requiredposition: 0
Stable scene identifier.
title System.String requiredposition: 1
Human-readable scene title.

Returns

A new graph scene.

public Void Validate() #
Returns: Void

Validates node, edge, and cluster references before an adapter renders or mutates the scene.

Properties

public String Id { get; set; } #

Gets or sets the stable scene identifier used for host events and persisted state.

public String Title { get; set; } #

Gets or sets the human-readable scene title.

public String? Subtitle { get; set; } #

Gets or sets an optional scene subtitle.

public List<GraphSceneNode> Nodes { get; } #

Gets graph nodes keyed by stable node id.

public List<GraphSceneEdge> Edges { get; } #

Gets graph edges keyed by stable edge id.

public List<GraphSceneCluster> Clusters { get; } #

Gets semantic or computed clusters that an adapter can collapse, expand, or summarize.

public GraphSceneOptions Options { get; } #

Gets reusable graph exploration settings and capability hints.

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

Gets arbitrary scene-level metadata for host adapters and diagnostics.

Extension Methods

public static GraphScene AddCluster(GraphScene scene, String id, String label, String[] nodeIds, Action<GraphSceneCluster>? configure = null) #
Returns: GraphScene

Adds a cluster to the graph scene.

Parameters

scene ChartForgeX.Interactivity.GraphScene requiredposition: 0
The graph scene.
id System.String requiredposition: 1
Stable cluster id.
label System.String requiredposition: 2
Cluster label.
nodeIds System.String[] requiredposition: 3
Node ids contained by the cluster.
configure System.Action<ChartForgeX.Interactivity.GraphSceneCluster>? = null optionalposition: 4
Optional cluster configuration callback.

Returns

The current graph scene.

public static GraphScene AddEdge(GraphScene scene, String id, String sourceNodeId, String targetNodeId, String? label = null, Action<GraphSceneEdge>? configure = null) #
Returns: GraphScene

Adds an edge to the graph scene.

Parameters

scene ChartForgeX.Interactivity.GraphScene requiredposition: 0
The graph scene.
id System.String requiredposition: 1
Stable edge id.
sourceNodeId System.String requiredposition: 2
Source node id.
targetNodeId System.String requiredposition: 3
Target node id.
label System.String? = null optionalposition: 4
Optional edge label.
configure System.Action<ChartForgeX.Interactivity.GraphSceneEdge>? = null optionalposition: 5
Optional edge configuration callback.

Returns

The current graph scene.

public static GraphScene AddNode(GraphScene scene, String id, String label, Action<GraphSceneNode>? configure = null) #
Returns: GraphScene

Adds a node to the graph scene.

Parameters

scene ChartForgeX.Interactivity.GraphScene requiredposition: 0
The graph scene.
id System.String requiredposition: 1
Stable node id.
label System.String requiredposition: 2
Node label.
configure System.Action<ChartForgeX.Interactivity.GraphSceneNode>? = null optionalposition: 3
Optional node configuration callback.

Returns

The current graph scene.

public static GraphScenePatchResult ApplyPatch(GraphScene scene, GraphScenePatch patch) #
Returns: GraphScenePatchResult

Applies a patch atomically and validates the complete scene before committing it.

Parameters

scene ChartForgeX.Interactivity.GraphScene requiredposition: 0
The graph document to update.
patch ChartForgeX.Interactivity.GraphScenePatch requiredposition: 1
The requested additions, replacements, and removals.

Returns

The resulting graph document counts.

public static GraphSceneStage CreateNeighborhood(GraphScene scene, String rootNodeId, Action<GraphSceneNeighborhoodOptions>? configure = null) #
Returns: GraphSceneStage

Creates a view centered on a node, with explicit node and relationship budgets.

Parameters

scene ChartForgeX.Interactivity.GraphScene requiredposition: 0
The complete source scene. Replan after changing its nodes or relationships.
rootNodeId System.String requiredposition: 1
The node retained on every neighborhood page.
configure System.Action<ChartForgeX.Interactivity.GraphSceneNeighborhoodOptions>? = null optionalposition: 2
Optional distance, budget, and paging settings.

Returns

A stage consumable by the static graph exporters. Counts include everything omitted from the source scene.

public static IReadOnlyList<GraphSceneStage> CreateStages(GraphScene scene, Action<GraphSceneStageOptions>? configure = null) #
Returns: IReadOnlyList<GraphSceneStage>

Creates overview-to-detail stages for a graph scene.

Parameters

scene ChartForgeX.Interactivity.GraphScene requiredposition: 0
The graph scene to plan.
configure System.Action<ChartForgeX.Interactivity.GraphSceneStageOptions>? = null optionalposition: 1
Optional stage planning configuration.

Returns

Ordered deterministic graph stages.

public static IReadOnlyList<GraphSceneCluster> GetEffectiveClusters(GraphScene scene) #
Returns: IReadOnlyList<GraphSceneCluster>

Gets declared clusters plus any reusable clusters derived from the active cluster policy.

Parameters

scene ChartForgeX.Interactivity.GraphScene requiredposition: 0
The source graph scene.

Returns

Cluster definitions that adapters should render, collapse, search, export, and expose through host events.

public static IReadOnlyList<GraphSceneStageImageResult> SaveGraphStageImages(GraphScene scene, String outputDirectory, String fileNamePrefix, Action<GraphSceneStageImageOptions>? configure = null) #
Returns: IReadOnlyList<GraphSceneStageImageResult>

Saves deterministic overview-to-detail graph stage images without creating interactive HTML.

Parameters

scene ChartForgeX.Interactivity.GraphScene requiredposition: 0
outputDirectory System.String requiredposition: 1
fileNamePrefix System.String requiredposition: 2
configure System.Action<ChartForgeX.Interactivity.Html.GraphSceneStageImageOptions>? = null optionalposition: 3
public static String ToGraphExplorerHtmlFragment(GraphScene scene, Action<HtmlGraphExplorerOptions>? configure = null) #
Returns: String

Renders the graph scene to an embeddable fragment with inline assets.

Parameters

scene ChartForgeX.Interactivity.GraphScene requiredposition: 0
The graph scene to render.
configure System.Action<ChartForgeX.Interactivity.Html.HtmlGraphExplorerOptions>? = null optionalposition: 1
Optional adapter configuration callback.

Returns

An embeddable HTML fragment.

public static String ToGraphExplorerHtmlPage(GraphScene scene, Action<HtmlGraphExplorerOptions>? configure = null) #
Returns: String

Renders the graph scene to a complete self-contained HTML page.

Parameters

scene ChartForgeX.Interactivity.GraphScene requiredposition: 0
The graph scene to render.
configure System.Action<ChartForgeX.Interactivity.Html.HtmlGraphExplorerOptions>? = null optionalposition: 1
Optional adapter configuration callback.

Returns

A complete HTML document.

public static Byte[] ToGraphPng(GraphScene scene, GraphSceneStage? stage = null, Action<GraphSceneStaticRenderOptions>? configure = null) #
Returns: Byte[]

Renders a graph scene or planned stage to PNG bytes without opening a browser.

Parameters

scene ChartForgeX.Interactivity.GraphScene requiredposition: 0
stage ChartForgeX.Interactivity.GraphSceneStage? = null optionalposition: 1
configure System.Action<ChartForgeX.Interactivity.Html.GraphSceneStaticRenderOptions>? = null optionalposition: 2
public static String ToGraphSvg(GraphScene scene, GraphSceneStage? stage = null, Action<GraphSceneStaticRenderOptions>? configure = null) #
Returns: String

Renders a graph scene or planned stage to script-free SVG.

Parameters

scene ChartForgeX.Interactivity.GraphScene requiredposition: 0
stage ChartForgeX.Interactivity.GraphSceneStage? = null optionalposition: 1
configure System.Action<ChartForgeX.Interactivity.Html.GraphSceneStaticRenderOptions>? = null optionalposition: 2