AsterGraph.Editor
0.2.0-alpha.1
See the version list below for details.
dotnet add package AsterGraph.Editor --version 0.2.0-alpha.1
NuGet\Install-Package AsterGraph.Editor -Version 0.2.0-alpha.1
<PackageReference Include="AsterGraph.Editor" Version="0.2.0-alpha.1" />
<PackageVersion Include="AsterGraph.Editor" Version="0.2.0-alpha.1" />
<PackageReference Include="AsterGraph.Editor" />
paket add AsterGraph.Editor --version 0.2.0-alpha.1
#r "nuget: AsterGraph.Editor, 0.2.0-alpha.1"
#:package AsterGraph.Editor@0.2.0-alpha.1
#addin nuget:?package=AsterGraph.Editor&version=0.2.0-alpha.1&prerelease
#tool nuget:?package=AsterGraph.Editor&version=0.2.0-alpha.1&prerelease
AsterGraph.Editor
AsterGraph.Editor is the standard host-facing runtime package for AsterGraph.
It belongs to the supported package set with AsterGraph.Abstractions, AsterGraph.Core, and AsterGraph.Avalonia, and it targets net8.0 and net9.0.
It intentionally contains:
IGraphEditorSessionplusCommands,Queries,Events, and mutation batchingAsterGraphEditorFactoryandAsterGraphEditorOptionsGraphEditorViewModel- replaceable storage/clipboard/diagnostics seams
- node/template catalogs
- context-menu intent and command wiring
- selection, pending connection, and workspace state
- parameter Inspector view-model state
It intentionally does not contain:
- Avalonia visual controls
- demo node content
- host-specific business commands
Typical consumers:
- hosts that build or extend an editor session, even when they also ship the default Avalonia UI
- integration layers that extend menus, commands, inspector behavior, localization, or presentation
Route guidance:
- runtime-first session creation via
AsterGraphEditorFactory.CreateSession(...) - canonical hosted-UI creation via
AsterGraphEditorFactory.Create(...), then the Avalonia factories fromAsterGraph.Avalonia - core runtime interaction ownership via session commands for selection, node positioning, connection lifecycle, and viewport control
- pending connection observation via
GetPendingConnectionSnapshot()andPendingConnectionChanged - DTO-based compatible-target discovery via
GetCompatiblePortTargets(...) - staged migration support through the retained
GraphEditorViewModelconstructor - package-neutral default storage redirection through
StorageRootPath - replaceable services via
IGraphWorkspaceService,IGraphFragmentWorkspaceService,IGraphFragmentLibraryService, andIGraphClipboardPayloadSerializer - recoverable-failure publication through
IGraphEditorDiagnosticsSink - readiness discovery through
GetFeatureDescriptors()for capability, service, and integration seams - localization via
IGraphLocalizationProvider - runtime node display state via
INodePresentationProvider - host-owned menu actions via
IGraphContextMenuAugmentor - typed host context access through
GraphHostContextExtensions
Recommended split:
- use
CreateSession(...)when the host owns the UI and wants the canonical runtime boundary - use
Create(...)when the host wants the shipped UI/factory story but still needs the retained editor facade - use the direct
GraphEditorViewModelconstructor only when the host is intentionally staying on the retained compatibility path during migration
Stability tiers:
- stable canonical surfaces:
AsterGraphEditorFactory.CreateSession(...)AsterGraphEditorFactory.Create(...)IGraphEditorSession- DTO/snapshot queries such as
GetCompatiblePortTargets(...)
- retained compatibility surfaces:
GraphEditorViewModelGraphEditorViewGraphEditorViewModel.Session
- compatibility-only shims:
GetCompatibleTargets(...)CompatiblePortTarget
Retirement guidance:
- keep new code on the stable canonical surfaces
- keep retained facade usage only where migration is still in progress
- treat compatibility-only shims as transitional; later minor releases may add stronger warnings and a future major release may remove them
Extension precedence:
- plugin trust is host-owned through
PluginTrustPolicy - localization providers compose plugin-first, host-last
- node presentation composes plugin-first, host-last, with host override fields winning final subtitle/description/status-bar output
- runtime session menus apply plugin augmentors over stock descriptors
- retained
GraphEditorViewModel.BuildContextMenu(...)gives the hostIGraphContextMenuAugmentorthe final override point after runtime/plugin composition
Lane ownership:
all= framework-matrix build/testcontract= focused consumer/state-contract proofmaintenance= hotspot-refactor proofrelease= publish gatetests/AsterGraph.Demo.Tests= demo/sample-host lane
Use this package together with AsterGraph.Avalonia when the host embeds the default shell or standalone Avalonia surfaces. Hosts that provide their own UI can stop at the IGraphEditorSession boundary and avoid taking an Avalonia dependency in their composition root.
The MVVM-typed compatibility query path remains available for legacy integrations, but new host code should treat it as compatibility-only rather than the canonical runtime surface.
Compatibility shim migration:
- canonical runtime query:
IGraphEditorQueries.GetCompatiblePortTargets(...) - retained compatibility shim:
IGraphEditorQueries.GetCompatibleTargets(...)plusCompatiblePortTarget - retained compatibility facade:
GraphEditorViewModel - v1.5 keeps the shim with strong migration guidance
- later minor releases may add stronger warnings
- future major release may remove it
The same guidance now applies to host extension seams:
- prefer
GraphContextMenuAugmentationContextover takingGraphEditorViewModeldirectly - prefer
NodePresentationContextover takingNodeViewModeldirectly
The older MVVM-rooted extension methods remain available only as migration shims.
Phase 18 readiness proof is anchored on the session boundary, not on the retained constructor path:
tools/AsterGraph.HostSampleis the minimal consumer-facing sample for the canonical host pathsrc/AsterGraph.Demoremains the visual/default host-composition sampletools/AsterGraph.PackageSmokeemits machine-checkablePACKAGE_SMOKE_*markerstools/AsterGraph.ScaleSmokeproves the same session/inspection-driven readiness story on a larger graph
Reference material:
| Product | Versions 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 is compatible. 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 was computed. 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. |
-
net8.0
- AsterGraph.Abstractions (>= 0.2.0-alpha.1)
- AsterGraph.Core (>= 0.2.0-alpha.1)
- CommunityToolkit.Mvvm (>= 8.2.1)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.0)
- NuGet.Packaging (>= 7.3.0)
-
net9.0
- AsterGraph.Abstractions (>= 0.2.0-alpha.1)
- AsterGraph.Core (>= 0.2.0-alpha.1)
- CommunityToolkit.Mvvm (>= 8.2.1)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.0)
- NuGet.Packaging (>= 7.3.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on AsterGraph.Editor:
| Package | Downloads |
|---|---|
|
AsterGraph.Avalonia
Avalonia host controls and theme resources for embedding the AsterGraph editor. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.11.0-beta | 65 | 4/26/2026 |
| 0.2.0-alpha.3 | 58 | 4/18/2026 |
| 0.2.0-alpha.2 | 61 | 4/18/2026 |
| 0.2.0-alpha.1 | 64 | 4/17/2026 |