VeloxDev.Core
5.2.1
dotnet add package VeloxDev.Core --version 5.2.1
NuGet\Install-Package VeloxDev.Core -Version 5.2.1
<PackageReference Include="VeloxDev.Core" Version="5.2.1" />
<PackageVersion Include="VeloxDev.Core" Version="5.2.1" />
<PackageReference Include="VeloxDev.Core" />
paket add VeloxDev.Core --version 5.2.1
#r "nuget: VeloxDev.Core, 5.2.1"
#:package VeloxDev.Core@5.2.1
#addin nuget:?package=VeloxDev.Core&version=5.2.1
#tool nuget:?package=VeloxDev.Core&version=5.2.1
<div align="center">
⚡ VeloxDev
Build modern, AI-controllable workflow editors on any .NET GUI — WPF, Avalonia, WinUI, MAUI, or WinForms.
🌐 Online Wiki
📁 Local Wiki
</div>
✨ What is VeloxDev?
VeloxDev gives .NET developers a complete foundation for building interactive workflow editors — the kind where users drag nodes, wire slots together, and watch data flow through a graph at runtime.
The workflow system is the core. Everything else exists to make workflows more extensible, more polished, and AI-controllable:
| Layer | What it provides | Adapter needed? |
|---|---|---|
| ⛓️ Workflow | Tree / Node / Slot / Link templates with full undo-redo, spatial indexing, and a serialization model | ❌ |
| 🤖 Workflow Agent | 30+ Function Calling tools — an AI can create nodes, wire slots, patch properties, and manage routing at runtime via natural language | ✔ Extension |
| 🪶 MVVM | Source Generator for observable properties and async, cancellable commands — the glue that keeps node ViewModels lightweight | ❌ |
| 🎞️ Transition | Cross-platform interpolation animation with easing & Fluent API — smooth visual feedback for workflow state changes | ✔ |
| 🎨 Theme | Runtime theme switching with animated transitions — instant visual identity for your editor | ✔ |
| 🌀 AOP | Compile-time aspect proxies — intercept node execution, add logging or validation without modifying business logic | ❌ |
| ⚙️ MonoBehaviour | Frame-driven lifecycle loop — tick-based node simulation or real-time graph execution | ❌ |
| 📦 AOT Reflection | Source-generated reflection preservation — keeps workflow introspection working after trimming and AOT compilation | ❌ |
📦 Installation
Pick the adapter for your GUI framework and you get everything — workflow, agent, animations, and theming wired up for that platform.
Platform adapter packages (recommended)
| Platform | Package | NuGet |
|---|---|---|
| WPF | VeloxDev.WPF |
|
| Avalonia | VeloxDev.Avalonia |
|
| WinUI | VeloxDev.WinUI |
|
| MAUI | VeloxDev.MAUI |
|
| WinForms | VeloxDev.WinForms |
Build a WPF workflow view suite with the CLI
Run these commands from an existing WPF project. Replace MyApp with the
project's root namespace:
dotnet new install VeloxDev.WPF.Templates
dotnet add package VeloxDev.WPF
dotnet new wpf-v-slot -n SlotView -ns MyApp.Views -o Views
dotnet new wpf-v-node -n NodeView -ns MyApp.Views -o Views
dotnet new wpf-v-link -n LinkView -ns MyApp.Views -o Views
dotnet new wpf-v-selector -n TemplateSelector -ns MyApp.Views -o Views
dotnet new wpf-v-decorator -n GridDecorator -ns MyApp.Views -o Views
dotnet new wpf-v-tree -n TreeView -ns MyApp.Views -o Views
dotnet build
The template package contains the Node, Slot, Link, Tree, template selector, and grid decorator views. Each view template generates its XAML and code-behind files with the required VeloxDev workflow behaviors already connected.
The Avalonia, WPF, WinUI, and MAUI template suites expose the same style options. Common short aliases include:
| Template | Style aliases |
|---|---|
| Node | -bg background, -fg foreground, -bb border brush, -bt border thickness, -cr corner radius |
| Slot | -bg background, -sc standby color, -bc border color, -sp SVG path data |
| Link | -lc line color, -lt line thickness |
| Tree | -bg background, -bb border brush, -bt border thickness, -cr corner radius |
| Grid decorator | -bg background, -mic minor color, -mac major color, -ac axis color, -gs spacing, -mle major interval |
All templates use -ns for the generated namespace.
Core-only packages (bring your own adapter)
🚀 Quick Look
Define a node
// Declare a node — the Source Generator handles INotifyPropertyChanged,
// slot lifecycle, and command wiring automatically.
[WorkflowBuilder.Node<MyNodeHelper>]
public partial class MyNodeViewModel
{
public MyNodeViewModel() => InitializeWorkflow();
[AgentContext(AgentLanguages.English, "Input slot (receiver)")]
[VeloxProperty] public partial MySlotViewModel InputSlot { get; set; }
[AgentContext(AgentLanguages.English, "Output slot (sender)")]
[VeloxProperty] public partial MySlotViewModel OutputSlot { get; set; }
[AgentContext(AgentLanguages.English, "Display title shown in the node header")]
[VeloxProperty] private string title = "My Node";
}
Let an AI control the workflow at runtime
// One fluent call wires up discovery, tools, and the agent session.
var scope = tree.AsAgentScope()
.WithAutoDiscovery(assemblyName: "MyApp")
.WithInteractionSafety(3) // confirm before destructive ops; present choices via tool
.WithSelectionHandler(ShowDialog)
.WithConfirmationHandler(ShowDialog);
var agent = chatClient.AsAIAgent(
instructions: scope.ProvideProgressiveContextPrompt(),
tools: scope.ProvideTools());
The agent can then create nodes, wire slots, change routing credentials, and patch properties — all through natural-language instructions, with full undo/redo support.
🗂️ Repository Layout
VeloxDev/
├── Src/
│ ├── Core/
│ │ ├── VeloxDev.Core # Workflow abstractions, MVVM generators & runtime models
│ │ ├── VeloxDev.Core.Extension # MAF-based Workflow Agent tools & runtime extensions
│ │ ├── VeloxDev.Core.Test # Unit tests for VeloxDev.Core
│ │ └── VeloxDev.Core.Extension.Test # Unit tests for VeloxDev.Core.Extension
│ ├── Adapters/
│ │ ├── VeloxDev.WPF # WPF platform adapter
│ │ ├── VeloxDev.Avalonia # Avalonia platform adapter
│ │ ├── VeloxDev.WinUI # WinUI 3 platform adapter
│ │ ├── VeloxDev.MAUI # .NET MAUI platform adapter
│ │ └── VeloxDev.WinForms # WinForms platform adapter
│ ├── Generators/
│ │ └── VeloxDev.Core.Generator # Roslyn Source Generators (netstandard2.0)
│ └── Templates/ # dotnet new item templates for GUI adapters
├── Examples/
│ ├── Workflow/ WPF · Avalonia · WinUI · WinForms · MAUI · Common(Lib)
│ ├── MVVM/ WPF · Avalonia
│ ├── Transition/ WPF · Avalonia · WinUI · WinForms · MAUI
│ ├── Theme/ WPF · Avalonia
│ ├── AOP/ WPF · Avalonia
│ ├── AOTReflection/
│ └── MonoBehaviour/ WPF
└── Docs/
├── VeloxDev.Docs # Documentation site (Blazor WebAssembly)
├── VeloxDev.Docs.Browser # Browser-hosted docs entry point
└── VeloxDev.Docs.Desktop # Desktop-hosted docs entry point
📄 License
Released under the MIT License. © 2025 Axvser
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 is compatible. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 is compatible. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 is compatible. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETCoreApp 3.0
- Microsoft.Bcl.HashCode (>= 6.0.0)
- VeloxDev.Core.Generator (>= 5.2.1)
-
.NETFramework 4.6.1
- Microsoft.Bcl.HashCode (>= 6.0.0)
- VeloxDev.Core.Generator (>= 5.2.1)
-
.NETStandard 2.0
- Microsoft.Bcl.HashCode (>= 6.0.0)
- VeloxDev.Core.Generator (>= 5.2.1)
-
net5.0
- Microsoft.Bcl.HashCode (>= 6.0.0)
- VeloxDev.Core.Generator (>= 5.2.1)
NuGet packages (7)
Showing the top 5 NuGet packages that depend on VeloxDev.Core:
| Package | Downloads |
|---|---|
|
VeloxDev.Avalonia
VeloxDev.Core + Avalonia |
|
|
VeloxDev.WPF
VeloxDev.Core + WPF |
|
|
VeloxDev.MAUI
VeloxDev.Core + MAUI |
|
|
VeloxDev.WinUI
VeloxDev.Core + WinUI |
|
|
VeloxDev.WinForms
VeloxDev.Core + WinForms |
GitHub repositories
This package is not used by any popular GitHub repositories.