{"version":1,"site":{"title":"Wiesław Šoltés — Open-source .NET systems","owner":"Wiesław Šoltés","description":"Open-source UI frameworks, GPU rendering, controls, and developer tools by Wiesław Šoltés.","url":"https://wieslawsoltes.github.io/Home/","github":"https://github.com/wieslawsoltes","sponsor":"https://github.com/sponsors/wieslawsoltes"},"counts":{"projects":43,"capabilities":89,"packages":205,"stories":4},"categories":[{"name":"Graphics","projects":6,"capabilities":17},{"name":"Frameworks","projects":5,"capabilities":7},{"name":"Avalonia","projects":7,"capabilities":11},{"name":"Controls","projects":11,"capabilities":21},{"name":"Tools","projects":11,"capabilities":26},{"name":"Uno Platform","projects":3,"capabilities":7}],"indexes":{"search":"https://wieslawsoltes.github.io/Home/search.json","sitemap":"https://wieslawsoltes.github.io/Home/sitemap.xml","llms":"https://wieslawsoltes.github.io/Home/llms.txt"},"projects":[{"slug":"progpu","order":0,"name":"ProGPU","eyebrow":"GPU-first UI substrate","description":"Cross-platform rendering, composition, vector, text, compute, and framework interop built directly on WebGPU and Silk.NET.","statement":"A lightweight GPU foundation for the next generation of .NET interfaces.","category":"Graphics","tier":"Flagship","status":"Preview","featured":true,"accent":"#8ea2ff","contentFormat":"mdx","story":{"label":"Engineering story","title":"The frame is a chain of contracts.","intro":"ProGPU treats device creation, retained composition, geometry, text, and presentation as explicit boundaries. Frameworks can replace one layer without inheriting an opaque renderer."},"url":"https://wieslawsoltes.github.io/Home/projects/progpu/","repository":{"name":"wieslawsoltes/ProGPU","url":"https://github.com/wieslawsoltes/ProGPU"},"packages":[{"name":"ProGPU.Backend","note":"WebGPU device, swapchain, windowing, and platform services.","url":"https://www.nuget.org/packages/ProGPU.Backend"},{"name":"ProGPU.Vector","note":"Paths, geometry, brushes, pens, and GPU-ready vector data.","url":"https://www.nuget.org/packages/ProGPU.Vector"},{"name":"ProGPU.Scene","note":"Retained visuals, compositor commands, effects, and presentation.","url":"https://www.nuget.org/packages/ProGPU.Scene"},{"name":"ProGPU.Text","note":"Text layout, glyph metrics, and GPU text rendering.","url":"https://www.nuget.org/packages/ProGPU.Text"}],"highlights":["WebGPU-native pipelines","Retained scene composition","Vector, text, and compute","Avalonia, Uno, WPF, and WinForms bridges"],"audience":["UI framework authors replacing a renderer","Graphics tools that need WebGPU-native primitives","Teams exploring portable GPU composition in .NET"],"compatibility":[{"label":"Windows","value":"Preview","state":"partial"},{"label":"macOS","value":"Preview","state":"partial"},{"label":"Linux","value":"Preview","state":"partial"},{"label":"NativeAOT","value":"Design target","state":"planned"}],"links":[{"label":"Repository","href":"https://github.com/wieslawsoltes/ProGPU"},{"label":"Samples","href":"https://github.com/wieslawsoltes/ProGPU/tree/main/samples"}],"related":["avalonia-progpu","avalonia-silknet","librewpf","librewinforms"],"capabilities":[{"id":"progpu/backend","slug":"backend","order":50,"name":"GPU Backend","eyebrow":"WebGPU device and presentation","description":"The backend owns adapter and device creation, surfaces, swapchains, command submission, resources, synchronization, and cross-platform window presentation.","status":"Preview","url":"https://wieslawsoltes.github.io/Home/projects/progpu/backend/","sourcePath":"src/ProGPU.Backend","packages":[{"name":"ProGPU.Backend","note":"WebGPU device, resource, command, surface, and platform foundation.","url":"https://www.nuget.org/packages/ProGPU.Backend"}],"highlights":["WebGPU adapter and device","Surfaces and frame presentation","Explicit GPU resource lifetime","Cross-platform Silk.NET foundation"],"related":["progpu/vector-text","progpu/scene","progpu/framework-bridges"]},{"id":"progpu/vector-text","slug":"vector-text","order":51,"name":"Vector & Text","eyebrow":"GPU-ready 2D primitives","description":"Vector geometry, brushes, strokes, text shaping, glyph metrics, and layout packages prepare reusable 2D content for the GPU pipeline.","status":"Preview","url":"https://wieslawsoltes.github.io/Home/projects/progpu/vector-text/","sourcePath":"src/ProGPU.Vector","packages":[{"name":"ProGPU.Vector","note":"Paths, geometry, brushes, pens, tessellation, and vector resources.","url":"https://www.nuget.org/packages/ProGPU.Vector"},{"name":"ProGPU.Text","note":"Text layout, shaping, glyph metrics, and GPU text rendering.","url":"https://www.nuget.org/packages/ProGPU.Text"}],"highlights":["Paths and geometry","Brushes, pens, and fills","Text shaping and layout","GPU-ready resource preparation"],"related":["progpu/backend","progpu/scene","progpu/compatibility"]},{"id":"progpu/scene","slug":"scene","order":52,"name":"Scene & Composition","eyebrow":"Retained visual system","description":"A retained scene, visual tree, compositor command stream, effects, transforms, clipping, and presentation pipeline organize complex interfaces across frames.","status":"Preview","url":"https://wieslawsoltes.github.io/Home/projects/progpu/scene/","sourcePath":"src/ProGPU.Scene","packages":[{"name":"ProGPU.Scene","note":"Visuals, scene updates, compositor operations, effects, and retained presentation.","url":"https://www.nuget.org/packages/ProGPU.Scene"}],"highlights":["Retained visual tree","Incremental scene updates","Transforms, clipping, and opacity","Effects and compositor commands"],"related":["progpu/backend","progpu/vector-text","progpu/framework-bridges"]},{"id":"progpu/framework-bridges","slug":"framework-bridges","order":53,"name":"Framework Bridges","eyebrow":"Avalonia, Uno, WinUI, and WPF","description":"Framework packages connect ProGPU presentation, controls, charts, and interop to Avalonia, Uno Platform, WinUI, and the LibreWPF compatibility effort.","status":"Preview","url":"https://wieslawsoltes.github.io/Home/projects/progpu/framework-bridges/","sourcePath":"src/ProGPU.Uno","packages":[{"name":"ProGPU.Avalonia","note":"Avalonia integration and control hosting.","url":"https://www.nuget.org/packages/ProGPU.Avalonia"},{"name":"ProGPU.Uno","note":"Uno Platform integration.","url":"https://www.nuget.org/packages/ProGPU.Uno"},{"name":"ProGPU.WinUI","note":"WinUI controls and presentation.","url":"https://www.nuget.org/packages/ProGPU.WinUI"},{"name":"LibreWPF.Interop","note":"WPF-compatible compositor interop.","url":"https://www.nuget.org/packages/LibreWPF.Interop"}],"highlights":["Avalonia integration","Uno and WinUI controls","WPF compositor interop","Shared GPU backend underneath"],"related":["progpu/backend","progpu/scene","progpu/compatibility"]},{"id":"progpu/compatibility","slug":"compatibility","order":54,"name":"Compatibility Shims","eyebrow":"Portable classic drawing APIs","description":"ProGPU-backed SkiaSharp and System.Drawing.Common compatibility shims let existing drawing-oriented code target the modern GPU substrate during migration.","status":"Preview","url":"https://wieslawsoltes.github.io/Home/projects/progpu/compatibility/","sourcePath":"src/SkiaSharp","packages":[{"name":"ProGPU.SkiaSharp","note":"Portable SkiaSharp-compatible API backed by ProGPU.","url":"https://www.nuget.org/packages/ProGPU.SkiaSharp"},{"name":"ProGPU.System.Drawing.Common","note":"Portable System.Drawing.Common-compatible API backed by ProGPU.","url":"https://www.nuget.org/packages/ProGPU.System.Drawing.Common"}],"highlights":["SkiaSharp-shaped API","System.Drawing-shaped API","ProGPU-backed implementation","Migration and portability bridge"],"related":["progpu/vector-text","progpu/backend","progpu/framework-bridges"]}]},{"slug":"librewpf","order":1,"name":"LibreWPF","eyebrow":"WPF, beyond Windows","description":"A portable WPF runtime and SDK that retains familiar managed WPF source and XAML while rendering through ProGPU and Silk.NET.","statement":"Keep the WPF programming model. Change the platform beneath it.","category":"Frameworks","tier":"Flagship","status":"Preview","featured":true,"accent":"#75d8ff","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/librewpf/","repository":{"name":"wieslawsoltes/wpf","url":"https://github.com/wieslawsoltes/wpf","branch":"progpu-rendering-port"},"packages":[{"name":"LibreWPF.Sdk","note":"MSBuild SDK that redirects WPF apps to the portable runtime.","url":"https://www.nuget.org/packages/LibreWPF.Sdk"},{"name":"LibreWPF.ProGPU","note":"WPF host, input bridge, and ProGPU compositor adapter.","url":"https://www.nuget.org/packages/LibreWPF.ProGPU"},{"name":"LibreWPF.Transport","note":"Managed assemblies, themes, XAML tasks, and runtime metadata.","url":"https://www.nuget.org/packages/LibreWPF.Transport"}],"highlights":["Source-compatible WPF XAML","macOS, Linux, and Windows","ProGPU/WebGPU composition","Portable SDK switch"],"audience":["WPF maintainers evaluating a portable future","Framework engineers studying compatibility layers","Desktop teams with deep WPF domain investment"],"compatibility":[{"label":"WPF source/XAML","value":"Primary goal","state":"partial"},{"label":"Windows","value":"Preview","state":"partial"},{"label":"macOS","value":"Preview","state":"partial"},{"label":"Linux","value":"Preview","state":"partial"}],"links":[{"label":"Repository","href":"https://github.com/wieslawsoltes/wpf"},{"label":"Issues","href":"https://github.com/wieslawsoltes/wpf/issues"},{"label":"Releases","href":"https://github.com/wieslawsoltes/wpf/releases"}],"related":["progpu","librewinforms","avalonia-progpu"],"capabilities":[]},{"slug":"librewinforms","order":2,"name":"LibreWinForms","eyebrow":"Portable WinForms APIs","description":"Cross-platform WinForms-shaped APIs and SDK backed by ProGPU, Silk.NET, and the shared LibreWPF interop layer.","statement":"Classic desktop APIs, carried onto a modern GPU stack.","category":"Frameworks","tier":"Flagship","status":"Preview","featured":true,"accent":"#8be8c3","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/librewinforms/","repository":{"name":"wieslawsoltes/winforms","url":"https://github.com/wieslawsoltes/winforms","branch":"librewinforms-progpu-port"},"packages":[{"name":"LibreWinForms.Sdk","note":"Portable SDK for existing WinForms projects.","url":"https://www.nuget.org/packages/LibreWinForms.Sdk"},{"name":"LibreWinForms.System.Windows.Forms","note":"Managed WinForms API and runtime surface.","url":"https://www.nuget.org/packages/LibreWinForms.System.Windows.Forms"},{"name":"LibreWinForms.WindowsFormsIntegration","note":"Bridge for hosting WinForms in LibreWPF.","url":"https://www.nuget.org/packages/LibreWinForms.WindowsFormsIntegration"}],"highlights":["Familiar System.Windows.Forms","Portable managed controls","GPU-backed drawing","WPF/WinForms interop"],"audience":["WinForms teams researching cross-platform options","Tool vendors with classic desktop APIs","Framework authors studying managed compatibility"],"compatibility":[{"label":"WinForms API","value":"In progress","state":"partial"},{"label":"Windows","value":"Preview","state":"partial"},{"label":"macOS","value":"Preview","state":"partial"},{"label":"Linux","value":"Preview","state":"partial"}],"links":[{"label":"Repository","href":"https://github.com/wieslawsoltes/winforms"},{"label":"Issues","href":"https://github.com/wieslawsoltes/winforms/issues"},{"label":"Releases","href":"https://github.com/wieslawsoltes/winforms/releases"}],"related":["progpu","librewpf","avalonia-silknet"],"capabilities":[]},{"slug":"avalonia-progpu","order":3,"name":"Avalonia ProGPU","eyebrow":"Rendering backend","description":"A GPU-first WebGPU rendering backend that preserves Avalonia rendering contracts while replacing the default Skia renderer.","statement":"Avalonia rendering, rebuilt around a direct GPU composition path.","category":"Avalonia","tier":"Flagship","status":"Preview","featured":true,"accent":"#d39cff","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/avalonia-progpu/","repository":{"name":"wieslawsoltes/Avalonia","url":"https://github.com/wieslawsoltes/Avalonia","branch":"feature/progpu"},"packages":[{"name":"ProGPU.Avalonia.Rendering","note":"ProGPU, Silk.NET, and WebGPU rendering platform for Avalonia.","url":"https://www.nuget.org/packages/ProGPU.Avalonia.Rendering"}],"highlights":["Skia-free render path","Custom vector operation lease","WebGPU shaders in-frame","Avalonia rendering contracts"],"audience":["Avalonia contributors and renderer authors","Apps exploring a Skia-independent pipeline","GPU-heavy UI and visualization tools"],"compatibility":[{"label":"Avalonia","value":"Feature branch","state":"partial"},{"label":"WebGPU","value":"Core path","state":"ready"},{"label":"Custom shaders","value":"In-frame","state":"partial"},{"label":"Production","value":"Not yet","state":"planned"}],"links":[{"label":"Repository","href":"https://github.com/wieslawsoltes/Avalonia"},{"label":"Issues","href":"https://github.com/wieslawsoltes/Avalonia/issues"},{"label":"Releases","href":"https://github.com/wieslawsoltes/Avalonia/releases"}],"related":["progpu","avalonia-silknet","librewpf"],"capabilities":[]},{"slug":"avalonia-silknet","order":4,"name":"Avalonia Silk.NET","eyebrow":"Platform backend","description":"Cross-platform desktop windowing, input, surfaces, and WebGPU integration for Avalonia applications through Silk.NET.","statement":"A lean platform layer between Avalonia and the desktop.","category":"Avalonia","tier":"Flagship","status":"Preview","featured":true,"accent":"#ff9d78","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/avalonia-silknet/","repository":{"name":"wieslawsoltes/Avalonia","url":"https://github.com/wieslawsoltes/Avalonia","branch":"feature/progpu"},"packages":[{"name":"ProGPU.Avalonia.SilkNet","note":"Silk.NET windowing and platform services for Avalonia.","url":"https://www.nuget.org/packages/ProGPU.Avalonia.SilkNet"}],"highlights":["Silk.NET windowing","Cross-platform input","WebGPU surfaces","Renderer-independent host design"],"audience":["Avalonia platform backend authors","Silk.NET and WebGPU integrators","Teams investigating portable native windowing"],"compatibility":[{"label":"Windowing","value":"Preview","state":"partial"},{"label":"Input","value":"Preview","state":"partial"},{"label":"WebGPU surfaces","value":"Integrated","state":"ready"},{"label":"Renderer choice","value":"Decoupled","state":"ready"}],"links":[{"label":"Repository","href":"https://github.com/wieslawsoltes/Avalonia"},{"label":"Issues","href":"https://github.com/wieslawsoltes/Avalonia/issues"},{"label":"Releases","href":"https://github.com/wieslawsoltes/Avalonia/releases"}],"related":["avalonia-progpu","progpu","nativewebview"],"capabilities":[]},{"slug":"dock","order":5,"name":"Dock","eyebrow":"Docking workspace system","description":"A complete docking layout system for Avalonia with floating windows, serialization, theming, and multiple MVVM integrations.","statement":"Composable workspaces for serious desktop applications.","category":"Controls","tier":"Flagship","status":"Active","featured":true,"accent":"#7dc7ff","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/dock/","repository":{"name":"wieslawsoltes/Dock","url":"https://github.com/wieslawsoltes/Dock"},"packages":[{"name":"Dock.Avalonia","note":"Avalonia controls and docking host.","url":"https://www.nuget.org/packages/Dock.Avalonia"},{"name":"Dock.Model.Mvvm","note":"Framework-neutral MVVM model implementation.","url":"https://www.nuget.org/packages/Dock.Model.Mvvm"},{"name":"Dock.Avalonia.Themes.Fluent","note":"Fluent theme for Dock controls.","url":"https://www.nuget.org/packages/Dock.Avalonia.Themes.Fluent"}],"highlights":["Documents and tool panes","Floating windows","JSON, XML, YAML, and Protobuf layouts","MVVM, ReactiveUI, and Prism"],"audience":["IDE and engineering-tool authors","Desktop apps with document/tool workspaces","MVVM teams needing serializable layouts"],"compatibility":[{"label":"Avalonia","value":"Supported","state":"ready"},{"label":"MVVM","value":"Supported","state":"ready"},{"label":"ReactiveUI / Prism","value":"Integrations","state":"ready"},{"label":"AOT","value":"Model dependent","state":"partial"}],"links":[{"label":"Documentation","href":"https://wieslawsoltes.github.io/Dock/"},{"label":"Samples","href":"https://github.com/wieslawsoltes/Dock/tree/master/samples"}],"related":["xaml-behaviors","prodatagrid","xaml-visual-editor"],"capabilities":[{"id":"dock/workspace","slug":"workspace","order":18,"name":"Dock Workspace","eyebrow":"Documents, tools, and floating windows","description":"Avalonia controls present model-driven document and tool layouts with splits, tabs, drag/drop docking, floating windows, and active-item tracking.","status":"Stable","url":"https://wieslawsoltes.github.io/Home/projects/dock/workspace/","sourcePath":"src/Dock.Avalonia","packages":[{"name":"Dock.Avalonia","note":"Dock controls, presenters, drag/drop, and window integration.","url":"https://www.nuget.org/packages/Dock.Avalonia"}],"highlights":["Documents and tool panes","Split and tab layouts","Drag/drop and floating windows","Model-driven active item state"],"related":["dock/models","dock/themes","dock/persistence"]},{"id":"dock/models","slug":"models","order":19,"name":"Model Integrations","eyebrow":"Choose the application architecture","description":"A framework-neutral model plus MVVM, ReactiveUI, Prism, INPC, ReactiveProperty, and Caliburn.Micro implementations lets applications adopt Dock without changing architecture.","status":"Stable","url":"https://wieslawsoltes.github.io/Home/projects/dock/models/","sourcePath":"src/Dock.Model","packages":[{"name":"Dock.Model","note":"Core interfaces and model contracts.","url":"https://www.nuget.org/packages/Dock.Model"},{"name":"Dock.Model.Mvvm","note":"General-purpose MVVM implementation.","url":"https://www.nuget.org/packages/Dock.Model.Mvvm"},{"name":"Dock.Model.ReactiveUI","note":"ReactiveUI implementation and services.","url":"https://www.nuget.org/packages/Dock.Model.ReactiveUI"},{"name":"Dock.Model.Prism","note":"Prism-oriented model implementation.","url":"https://www.nuget.org/packages/Dock.Model.Prism"},{"name":"Dock.Model.Inpc","note":"INPC model implementation.","url":"https://www.nuget.org/packages/Dock.Model.Inpc"}],"highlights":["Framework-neutral contracts","MVVM and INPC implementations","ReactiveUI and Prism integrations","Replaceable factory policy"],"related":["dock/workspace","dock/persistence","dock/advanced-controls"]},{"id":"dock/themes","slug":"themes","order":20,"name":"Themes","eyebrow":"Fluent, Simple, and browser styling","description":"Dedicated theme packages supply complete control themes, resources, indicators, floating windows, and density choices for different application shells.","status":"Stable","url":"https://wieslawsoltes.github.io/Home/projects/dock/themes/","sourcePath":"src/Dock.Avalonia.Themes.Fluent","packages":[{"name":"Dock.Avalonia.Themes.Fluent","note":"Fluent Dock theme.","url":"https://www.nuget.org/packages/Dock.Avalonia.Themes.Fluent"},{"name":"Dock.Avalonia.Themes.Simple","note":"Simple Avalonia theme integration.","url":"https://www.nuget.org/packages/Dock.Avalonia.Themes.Simple"},{"name":"Dock.Avalonia.Themes.Browser","note":"Browser-oriented Dock theme.","url":"https://www.nuget.org/packages/Dock.Avalonia.Themes.Browser"}],"highlights":["Complete control themes","Fluent and Simple variants","Drag indicator styling","Application-level resource composition"],"related":["dock/workspace","dock/advanced-controls"]},{"id":"dock/persistence","slug":"persistence","order":21,"name":"Layout Persistence","eyebrow":"Save and restore workspaces","description":"Serializer packages preserve Dock layouts through System.Text.Json, Newtonsoft.Json, XML, YAML, and Protobuf while keeping persistence outside the UI layer.","status":"Stable","url":"https://wieslawsoltes.github.io/Home/projects/dock/persistence/","sourcePath":"src/Dock.Serializer.SystemTextJson","packages":[{"name":"Dock.Serializer.SystemTextJson","note":"System.Text.Json layout serialization.","url":"https://www.nuget.org/packages/Dock.Serializer.SystemTextJson"},{"name":"Dock.Serializer.Newtonsoft","note":"Newtonsoft.Json layout serialization.","url":"https://www.nuget.org/packages/Dock.Serializer.Newtonsoft"},{"name":"Dock.Serializer.Xml","note":"XML layout serialization.","url":"https://www.nuget.org/packages/Dock.Serializer.Xml"},{"name":"Dock.Serializer.Yaml","note":"YAML layout serialization.","url":"https://www.nuget.org/packages/Dock.Serializer.Yaml"},{"name":"Dock.Serializer.Protobuf","note":"Protobuf layout serialization.","url":"https://www.nuget.org/packages/Dock.Serializer.Protobuf"}],"highlights":["Five serializer choices","Model-only persistence boundary","User workspace restoration","Application-controlled rehydration"],"related":["dock/workspace","dock/models"]},{"id":"dock/advanced-controls","slug":"advanced-controls","order":22,"name":"Advanced Controls & Diagnostics","eyebrow":"Scale complex workspaces","description":"Recycling, deferred content, proportional layout, markup extensions, settings, and diagnostic packages address large and highly dynamic Dock applications.","status":"Preview","url":"https://wieslawsoltes.github.io/Home/projects/dock/advanced-controls/","sourcePath":"src/Dock.Controls.Recycling","packages":[{"name":"Dock.Controls.Recycling","note":"Recycling content controls for docked views.","url":"https://www.nuget.org/packages/Dock.Controls.Recycling"},{"name":"Dock.Controls.DeferredContentControl","note":"Deferred content creation.","url":"https://www.nuget.org/packages/Dock.Controls.DeferredContentControl"},{"name":"Dock.Controls.ProportionalStackPanel","note":"Proportional split layout panel.","url":"https://www.nuget.org/packages/Dock.Controls.ProportionalStackPanel"},{"name":"Dock.Avalonia.Diagnostics","note":"Dock runtime diagnostics.","url":"https://www.nuget.org/packages/Dock.Avalonia.Diagnostics"},{"name":"Dock.Settings","note":"Workspace settings infrastructure.","url":"https://www.nuget.org/packages/Dock.Settings"}],"highlights":["Deferred view creation","Content recycling","Proportional layout","Runtime diagnostics and settings"],"related":["dock/workspace","dock/models","dock/themes"]}]},{"slug":"xaml-behaviors","order":6,"name":"XAML Behaviors","eyebrow":"Composable interaction","description":"Reusable actions, triggers, and behaviors for Avalonia, including strongly typed source-generated options for AOT-friendly apps.","statement":"Add interaction in XAML without turning views into code-behind.","category":"Avalonia","tier":"Flagship","status":"Active","featured":true,"accent":"#bd9bff","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/xaml-behaviors/","repository":{"name":"wieslawsoltes/Xaml.Behaviors","url":"https://github.com/wieslawsoltes/Xaml.Behaviors"},"packages":[{"name":"Xaml.Behaviors","note":"Complete behavior, action, and trigger library.","url":"https://www.nuget.org/packages/Xaml.Behaviors"},{"name":"Xaml.Behaviors.Interactivity","note":"Foundation types for custom behaviors.","url":"https://www.nuget.org/packages/Xaml.Behaviors.Interactivity"},{"name":"Xaml.Behaviors.Interactions","note":"Common built-in triggers and actions.","url":"https://www.nuget.org/packages/Xaml.Behaviors.Interactions"}],"highlights":["Actions and triggers","Drag and drop behaviors","ReactiveUI integrations","AOT-friendly source generators"],"audience":["Avalonia MVVM applications","Control authors packaging reusable interaction","AOT-conscious teams avoiding reflection-heavy wiring"],"compatibility":[{"label":"Avalonia","value":"Supported","state":"ready"},{"label":"MVVM","value":"First-class","state":"ready"},{"label":"ReactiveUI","value":"Integration","state":"ready"},{"label":"NativeAOT","value":"Generated options","state":"ready"}],"links":[{"label":"Documentation","href":"https://wieslawsoltes.github.io/Xaml.Behaviors/"},{"label":"Samples","href":"https://github.com/wieslawsoltes/Xaml.Behaviors/tree/master/samples"}],"related":["dock","panandzoom","nodeeditor"],"capabilities":[]},{"slug":"svg-skia","order":7,"name":"Svg.Skia","eyebrow":"SVG rendering library","description":"A robust SVG 1.1 and static SVG 2 rendering library for SkiaSharp, with Avalonia controls and source-generation support.","statement":"Standards-minded SVG rendering across the .NET ecosystem.","category":"Graphics","tier":"Flagship","status":"Active","featured":true,"accent":"#ffb45f","contentFormat":"mdx","story":{"label":"Rendering story","title":"One SVG model, several delivery paths.","intro":"Svg.Skia separates document interpretation from Skia drawing, framework controls, source generation, animation, and editing. The same asset can move from runtime content to compiled application resources without changing meaning."},"url":"https://wieslawsoltes.github.io/Home/projects/svg-skia/","repository":{"name":"wieslawsoltes/Svg.Skia","url":"https://github.com/wieslawsoltes/Svg.Skia"},"packages":[{"name":"Svg.Skia","note":"Core SVG parser and Skia renderer.","url":"https://www.nuget.org/packages/Svg.Skia"},{"name":"Svg.Controls.Skia.Avalonia","note":"Ready-to-use Avalonia SVG controls.","url":"https://www.nuget.org/packages/Svg.Controls.Skia.Avalonia"},{"name":"Svg.SourceGenerator.Skia","note":"Compile SVG resources into drawing code.","url":"https://www.nuget.org/packages/Svg.SourceGenerator.Skia"}],"highlights":["SVG 1.1 support","SkiaSharp rendering","Avalonia controls","W3C and resvg parity lanes"],"audience":["Cross-platform .NET apps rendering SVG","Asset pipelines that need code generation","Avalonia apps using scalable icons and artwork"],"compatibility":[{"label":"SVG 1.1","value":"Broad support","state":"ready"},{"label":"Static SVG 2","value":"Partial","state":"partial"},{"label":"Avalonia","value":"Controls","state":"ready"},{"label":"Source generation","value":"Supported","state":"ready"}],"links":[{"label":"Documentation","href":"https://wieslawsoltes.github.io/Svg.Skia/"},{"label":"Samples","href":"https://github.com/wieslawsoltes/Svg.Skia/tree/master/samples"}],"related":["effector","progpu","protext"],"capabilities":[{"id":"svg-skia/renderer","slug":"renderer","order":11,"name":"SVG Renderer","eyebrow":"SVG to Skia pipeline","description":"The core SVG parser and renderer turns standards-oriented SVG documents into reusable Skia pictures and exportable raster or vector output.","status":"Stable","url":"https://wieslawsoltes.github.io/Home/projects/svg-skia/renderer/","sourcePath":"src/Svg.Skia","packages":[{"name":"Svg.Skia","note":"SVG loading, model conversion, Skia picture generation, and export.","url":"https://www.nuget.org/packages/Svg.Skia"}],"highlights":["SVG 1.1 and static SVG 2 coverage","Reusable SKPicture output","Files, streams, and XML sources","PNG, PDF, and picture workflows"],"related":["svg-skia/avalonia-controls","svg-skia/source-generation","svg-skia/scene-animation"]},{"id":"svg-skia/avalonia-controls","slug":"avalonia-controls","order":12,"name":"Avalonia SVG Controls","eyebrow":"SVG in Avalonia XAML","description":"Ready-to-use Avalonia controls load SVG sources, participate in layout and styling, and render through the Svg.Skia pipeline.","status":"Stable","url":"https://wieslawsoltes.github.io/Home/projects/svg-skia/avalonia-controls/","sourcePath":"src/Svg.Controls.Skia.Avalonia","packages":[{"name":"Svg.Controls.Skia.Avalonia","note":"Skia-backed SVG controls for Avalonia.","url":"https://www.nuget.org/packages/Svg.Controls.Skia.Avalonia"},{"name":"Svg.Controls.Avalonia","note":"Avalonia SVG image control.","url":"https://www.nuget.org/packages/Svg.Controls.Avalonia"},{"name":"Skia.Controls.Avalonia","note":"Reusable Skia drawing controls.","url":"https://www.nuget.org/packages/Skia.Controls.Avalonia"}],"highlights":["Asset and file URI sources","Normal Avalonia layout behavior","Themeable XAML usage","Shared renderer underneath"],"related":["svg-skia/renderer","svg-skia/svgml","svg-skia/editor"]},{"id":"svg-skia/cross-platform-controls","slug":"cross-platform-controls","order":13,"name":"Uno & MAUI Controls","eyebrow":"Cross-platform XAML hosts","description":"Uno Platform and .NET MAUI packages host Svg.Skia through native Skia canvas controls while preserving a familiar source-and-stretch API.","status":"Preview","url":"https://wieslawsoltes.github.io/Home/projects/svg-skia/cross-platform-controls/","sourcePath":"src/Svg.Controls.Skia.Uno","packages":[{"name":"Svg.Controls.Skia.Uno","note":"Uno Platform controls backed by SKCanvasElement.","url":"https://www.nuget.org/packages/Svg.Controls.Skia.Uno"},{"name":"Svg.Controls.Skia.Maui","note":".NET MAUI controls backed by SKCanvasView.","url":"https://www.nuget.org/packages/Svg.Controls.Skia.Maui"}],"highlights":["Uno Platform support",".NET MAUI support","Shared Svg.Skia renderer","Native XAML host integration"],"related":["svg-skia/renderer","svg-skia/svgml","svg-skia/avalonia-controls"]},{"id":"svg-skia/source-generation","slug":"source-generation","order":14,"name":"Source Generation","eyebrow":"Compile SVG into code","description":"Code generation packages transform SVG assets into strongly referenced Skia drawing code at build time, reducing runtime parsing and asset lookup.","status":"Stable","url":"https://wieslawsoltes.github.io/Home/projects/svg-skia/source-generation/","sourcePath":"src/Svg.SourceGenerator.Skia","packages":[{"name":"Svg.SourceGenerator.Skia","note":"Roslyn source generator for SVG assets.","url":"https://www.nuget.org/packages/Svg.SourceGenerator.Skia"},{"name":"Svg.CodeGen.Skia","note":"Reusable SVG-to-C# code generation engine.","url":"https://www.nuget.org/packages/Svg.CodeGen.Skia"}],"highlights":["Build-time SVG processing","Generated C# drawing code","Strong asset identity","No runtime XML parse for generated assets"],"related":["svg-skia/renderer","svg-skia/avalonia-controls"]},{"id":"svg-skia/scene-animation","slug":"scene-animation","order":15,"name":"Scene Graph & Animation","eyebrow":"Retained and time-based SVG","description":"A retained SVG scene graph and shared animation runtime separate document state, playback, invalidation, and host rendering.","status":"Preview","url":"https://wieslawsoltes.github.io/Home/projects/svg-skia/scene-animation/","sourcePath":"src/Svg.SceneGraph","packages":[{"name":"Svg.SceneGraph","note":"Retained SVG scene nodes and traversal.","url":"https://www.nuget.org/packages/Svg.SceneGraph"},{"name":"Svg.Animation","note":"Animation timeline, playback, and host contracts.","url":"https://www.nuget.org/packages/Svg.Animation"}],"highlights":["Retained SVG node graph","Shared animation timeline","Host-controlled playback","Targeted invalidation and rendering"],"related":["svg-skia/renderer","svg-skia/editor","svg-skia/svgml"]},{"id":"svg-skia/editor","slug":"editor","order":16,"name":"SVG Editor","eyebrow":"Reusable authoring stack","description":"Editor core, SVG mutation services, Skia interaction, Avalonia views, and workspace composition form a reusable visual SVG authoring system.","status":"Preview","url":"https://wieslawsoltes.github.io/Home/projects/svg-skia/editor/","sourcePath":"src/Svg.Editor.Core","packages":[{"name":"Svg.Editor.Core","note":"Editor sessions, state, commands, and selection.","url":"https://www.nuget.org/packages/Svg.Editor.Core"},{"name":"Svg.Editor.Svg","note":"SVG document mutation services.","url":"https://www.nuget.org/packages/Svg.Editor.Svg"},{"name":"Svg.Editor.Skia","note":"Rendering, hit testing, and interaction.","url":"https://www.nuget.org/packages/Svg.Editor.Skia"},{"name":"Svg.Editor.Avalonia","note":"Reusable Avalonia editor views.","url":"https://www.nuget.org/packages/Svg.Editor.Avalonia"},{"name":"Svg.Editor.Skia.Avalonia","note":"Composed Avalonia editor workspace.","url":"https://www.nuget.org/packages/Svg.Editor.Skia.Avalonia"}],"highlights":["Command-based document mutation","Visual selection and hit testing","Reusable Avalonia views","Layered editor architecture"],"related":["svg-skia/renderer","svg-skia/avalonia-controls","svg-skia/scene-animation"]},{"id":"svg-skia/svgml","slug":"svgml","order":17,"name":"SvgML","eyebrow":"Inline SVG in XAML","description":"SvgML packages let applications author SVG elements directly in Avalonia, Uno Platform, and .NET MAUI XAML while rendering through Svg.Skia.","status":"Preview","url":"https://wieslawsoltes.github.io/Home/projects/svg-skia/svgml/","sourcePath":"src/SvgML.Avalonia","packages":[{"name":"SvgML.Avalonia","note":"Inline SVG element authoring for Avalonia.","url":"https://www.nuget.org/packages/SvgML.Avalonia"},{"name":"SvgML.Uno","note":"Inline SVG element authoring for Uno Platform.","url":"https://www.nuget.org/packages/SvgML.Uno"},{"name":"SvgML.Maui","note":"Inline SVG element authoring for .NET MAUI.","url":"https://www.nuget.org/packages/SvgML.Maui"}],"highlights":["Inline SVG element trees","Avalonia, Uno, and MAUI packages","Bindable XAML properties","Svg.Skia rendering backend"],"related":["svg-skia/renderer","svg-skia/avalonia-controls","svg-skia/cross-platform-controls"]}]},{"slug":"cdp","order":8,"name":"CDP","eyebrow":"DevTools protocol for native UI","description":"A native UI testing and diagnostics platform built on Chrome DevTools Protocol, with Test Studio, YAML flows, recording, headless CI, Playwright, Selenium, Appium, inspectors, and framework adapters.","statement":"Design, record, run, and diagnose serious native UI tests through one open protocol.","category":"Tools","tier":"Flagship","status":"Preview","featured":true,"accent":"#5ee1c0","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/cdp/","repository":{"name":"wieslawsoltes/CDP","url":"https://github.com/wieslawsoltes/CDP"},"packages":[{"name":"Chrome.DevTools.Protocol","note":"Protocol server, sessions, transports, and domain dispatch.","url":"https://www.nuget.org/packages/Chrome.DevTools.Protocol"},{"name":"Chrome.DevTools.Avalonia","note":"Avalonia DOM, CSS, input, page, overlay, and runtime domains.","url":"https://www.nuget.org/packages/Chrome.DevTools.Avalonia"},{"name":"Chrome.DevTools.Inspector","note":"Desktop inspector and Test Studio global tool.","url":"https://www.nuget.org/packages/Chrome.DevTools.Inspector"},{"name":"Chrome.DevTools.Automation.Headless","note":"Headless test driver and CI helpers.","url":"https://www.nuget.org/packages/Chrome.DevTools.Automation.Headless"},{"name":"Chrome.DevTools.Runner","note":"Headless .flow.yaml test runner global tool.","url":"https://www.nuget.org/packages/Chrome.DevTools.Runner"}],"highlights":["Visual Test Studio and YAML flows","Recorder, assertions, telemetry, and reports","Headless CI, Playwright, Selenium, and Appium","Avalonia, WPF, WinUI, Uno, and OS adapters"],"audience":["Desktop teams building repeatable end-to-end and regression suites","QA engineers authoring visual and YAML-native test flows","Framework, tooling, and agent authors needing inspectable native UI"],"compatibility":[{"label":"Test Studio","value":"Visual + YAML flows","state":"ready"},{"label":"Headless CI","value":"Avalonia.Headless","state":"ready"},{"label":"Playwright / Selenium / Appium","value":"Drivers","state":"ready"},{"label":"Avalonia / WPF / WinUI / Uno","value":"Framework adapters","state":"partial"}],"links":[{"label":"Test Studio guide","href":"https://github.com/wieslawsoltes/CDP/blob/main/docs/articles/test-studio.md"},{"label":"Headless testing","href":"https://github.com/wieslawsoltes/CDP/blob/main/docs/articles/headless-cdp-testing.md"},{"label":"Test scripting","href":"https://github.com/wieslawsoltes/CDP/blob/main/docs/articles/test-studio-scripting.md"},{"label":"Documentation","href":"https://wieslawsoltes.github.io/CDP/"}],"related":["avalonia-development-plugin","codexgui","xaml-playground"],"capabilities":[{"id":"cdp/test-studio","slug":"test-studio","order":31,"name":"Test Studio","eyebrow":"Visual native UI test authoring","description":"A complete test-design workspace records interactions, synchronizes step lists with YAML, offers live selector IntelliSense and assertion inference, composes visual node flows, launches apps, runs suites, and presents screenshots, logs, telemetry, and reports.","status":"Preview","url":"https://wieslawsoltes.github.io/Home/projects/cdp/test-studio/","sourcePath":"samples/CdpInspectorApp","docsPath":"docs/articles/test-studio.md","packages":[{"name":"Chrome.DevTools.Inspector","note":"Desktop inspector and integrated Test Studio global tool.","url":"https://www.nuget.org/packages/Chrome.DevTools.Inspector"},{"name":"Chrome.DevTools.Inspector.Shared","note":"Test Studio models, flow execution, recorder, telemetry, and workspace composition.","url":"https://www.nuget.org/packages/Chrome.DevTools.Inspector.Shared"},{"name":"Chrome.DevTools.Inspector.Controls","note":"Reusable editor, chart, diff, overlay, and diagnostics controls.","url":"https://www.nuget.org/packages/Chrome.DevTools.Inspector.Controls"}],"highlights":["Recording and visual node flows","Synchronized YAML with 50+ commands","Live selectors and assertion inference","Screenshots, telemetry, suites, and reports"],"related":["cdp/testing-ci","cdp/automation","cdp/inspector"]},{"id":"cdp/testing-ci","slug":"testing-ci","order":32,"name":"Testing & CI","eyebrow":"Headless and repeatable native UI tests","description":"Headless Avalonia execution, a global flow runner, Playwright and Puppeteer compatibility, Selenium and Appium orchestration, OS accessibility automation, screenshots, selectors, waits, assertions, and GitHub Actions support cover local through CI test lanes.","status":"Preview","url":"https://wieslawsoltes.github.io/Home/projects/cdp/testing-ci/","sourcePath":"src/CDP.Automation.Headless","docsPath":"docs/articles/headless-cdp-testing.md","packages":[{"name":"Chrome.DevTools.Automation.Headless","note":"Avalonia.Headless driver and test helpers.","url":"https://www.nuget.org/packages/Chrome.DevTools.Automation.Headless"},{"name":"Chrome.DevTools.Runner","note":"Global .flow.yaml headless runner.","url":"https://www.nuget.org/packages/Chrome.DevTools.Runner"},{"name":"Chrome.DevTools.Automation.Selenium","note":"Selenium fixture and orchestration.","url":"https://www.nuget.org/packages/Chrome.DevTools.Automation.Selenium"},{"name":"Chrome.DevTools.Automation.Appium","note":"Appium fixture and orchestration.","url":"https://www.nuget.org/packages/Chrome.DevTools.Automation.Appium"},{"name":"Chrome.DevTools.Automation.OS","note":"macOS, Windows, and Linux accessibility automation.","url":"https://www.nuget.org/packages/Chrome.DevTools.Automation.OS"}],"highlights":["Zero-display Avalonia.Headless execution","Test Studio flow runner","Playwright, Selenium, Appium, and Puppeteer","CI screenshots, telemetry, and reports"],"related":["cdp/test-studio","cdp/automation","cdp/framework-adapters"]},{"id":"cdp/protocol-server","slug":"protocol-server","order":33,"name":"Protocol Server","eyebrow":"Chrome DevTools Protocol core","description":"A framework-neutral CDP server, session router, domain model, HTTP discovery endpoint, and WebSocket transport for exposing native application targets.","status":"Preview","url":"https://wieslawsoltes.github.io/Home/projects/cdp/protocol-server/","sourcePath":"src/Chrome.DevTools.Protocol","packages":[{"name":"Chrome.DevTools.Protocol","note":"CDP server, targets, sessions, domains, events, and transports.","url":"https://www.nuget.org/packages/Chrome.DevTools.Protocol"}],"highlights":["HTTP target discovery","WebSocket sessions","Commands and domain events","Framework-neutral server core"],"related":["cdp/test-studio","cdp/testing-ci","cdp/framework-adapters"]},{"id":"cdp/framework-adapters","slug":"framework-adapters","order":34,"name":"Framework Adapters","eyebrow":"Native UI inspection","description":"Avalonia, Uno Platform, WPF, and WinUI adapters map visual trees, properties, styles, input, screenshots, and runtime state into CDP domains.","status":"Preview","url":"https://wieslawsoltes.github.io/Home/projects/cdp/framework-adapters/","sourcePath":"src/Avalonia.Diagnostics.Cdp","packages":[{"name":"Chrome.DevTools.Avalonia","note":"Avalonia diagnostics server adapter.","url":"https://www.nuget.org/packages/Chrome.DevTools.Avalonia"},{"name":"Chrome.DevTools.Uno","note":"Uno Platform diagnostics server adapter.","url":"https://www.nuget.org/packages/Chrome.DevTools.Uno"},{"name":"Chrome.DevTools.Wpf","note":"WPF diagnostics server adapter.","url":"https://www.nuget.org/packages/Chrome.DevTools.Wpf"},{"name":"Chrome.DevTools.WinUI","note":"WinUI diagnostics server adapter.","url":"https://www.nuget.org/packages/Chrome.DevTools.WinUI"}],"highlights":["Avalonia visual and logical trees","Uno, WPF, and WinUI adapters","Property and style inspection","Input, overlays, and screenshots"],"related":["cdp/testing-ci","cdp/test-studio","cdp/protocol-server"]},{"id":"cdp/automation","slug":"automation","order":35,"name":"Automation Drivers","eyebrow":"Headless, Selenium, and Appium","description":"Automation packages connect CDP-aware applications to headless tests, Selenium, Appium, and cross-platform operating-system accessibility workflows.","status":"Preview","url":"https://wieslawsoltes.github.io/Home/projects/cdp/automation/","sourcePath":"src/CDP.Automation.Headless","packages":[{"name":"Chrome.DevTools.Automation.Headless","note":"Headless driver and test helpers.","url":"https://www.nuget.org/packages/Chrome.DevTools.Automation.Headless"},{"name":"Chrome.DevTools.Automation.Selenium","note":"Selenium orchestration support.","url":"https://www.nuget.org/packages/Chrome.DevTools.Automation.Selenium"},{"name":"Chrome.DevTools.Automation.Appium","note":"Appium driver and setup support.","url":"https://www.nuget.org/packages/Chrome.DevTools.Automation.Appium"},{"name":"Chrome.DevTools.Automation.OS","note":"Operating-system automation and accessibility provider.","url":"https://www.nuget.org/packages/Chrome.DevTools.Automation.OS"}],"highlights":["Headless application runner","Selenium integration","Appium integration","OS accessibility automation"],"related":["cdp/test-studio","cdp/testing-ci","cdp/framework-adapters"]},{"id":"cdp/inspector","slug":"inspector","order":36,"name":"Inspector & CLI","eyebrow":"Human and scripted diagnostics","description":"Inspector controls, shared view models, WYSIWYG tools, a desktop client, in-process diagnostics, and CLI commands provide multiple ways to work with CDP targets.","status":"Preview","url":"https://wieslawsoltes.github.io/Home/projects/cdp/inspector/","sourcePath":"src/CDP.Inspector.Shared","packages":[{"name":"Chrome.DevTools.Inspector.Controls","note":"Reusable inspector client controls.","url":"https://www.nuget.org/packages/Chrome.DevTools.Inspector.Controls"},{"name":"Chrome.DevTools.Inspector.Shared","note":"Shared inspector models and UI composition.","url":"https://www.nuget.org/packages/Chrome.DevTools.Inspector.Shared"},{"name":"Chrome.DevTools.Inspector.Wysiwyg","note":"Visual designer and overlay tools.","url":"https://www.nuget.org/packages/Chrome.DevTools.Inspector.Wysiwyg"},{"name":"Chrome.DevTools.Cli","note":"CDP inspector command-line client.","url":"https://www.nuget.org/packages/Chrome.DevTools.Cli"},{"name":"Chrome.DevTools.DiagnosticTools","note":"In-process diagnostic inspector integration.","url":"https://www.nuget.org/packages/Chrome.DevTools.DiagnosticTools"}],"highlights":["Desktop inspector composition","WYSIWYG overlays and editing","In-process diagnostic tools","Scriptable CLI client"],"related":["cdp/test-studio","cdp/testing-ci","cdp/authoring-tools"]},{"id":"cdp/authoring-tools","slug":"authoring-tools","order":37,"name":"Authoring Toolkits","eyebrow":"Editors, language services, and layout","description":"Standalone Markdown, document, graph, split-layout, minimap, XAML compiler, and language-server packages extract reusable tooling from the inspector workspace.","status":"Preview","url":"https://wieslawsoltes.github.io/Home/projects/cdp/authoring-tools/","sourcePath":"src/CDP.Markdown.Editor","packages":[{"name":"Chrome.DevTools.Markdown.Editor","note":"Interactive Markdown editor canvas.","url":"https://www.nuget.org/packages/Chrome.DevTools.Markdown.Editor"},{"name":"Chrome.DevTools.Document.Editor","note":"Rich document editor for office formats.","url":"https://www.nuget.org/packages/Chrome.DevTools.Document.Editor"},{"name":"Chrome.DevTools.Editor.Nodes","note":"Generic graph node editor.","url":"https://www.nuget.org/packages/Chrome.DevTools.Editor.Nodes"},{"name":"Chrome.DevTools.Editor.Splits","note":"Dynamic binary split layout.","url":"https://www.nuget.org/packages/Chrome.DevTools.Editor.Splits"},{"name":"Xaml.Compiler","note":"Lossless XAML AST and mutation engine.","url":"https://www.nuget.org/packages/Xaml.Compiler"}],"highlights":["Markdown parser, renderer, and editor","Office document renderer and editor","Node editor and split layouts","XAML and C# language tooling"],"related":["cdp/test-studio","cdp/inspector","cdp/automation"]}]},{"slug":"prodatagrid","order":9,"name":"ProDataGrid","eyebrow":"High-performance data UI","description":"A high-performance Avalonia DataGrid family with charting, formulas, diagnostics, virtualization, and production-grade editing.","statement":"Dense data workflows without compromising interaction or speed.","category":"Controls","tier":"Flagship","status":"Active","featured":true,"accent":"#5ce1b9","contentFormat":"mdx","story":{"label":"Product architecture","title":"Speed only matters when interaction survives it.","intro":"ProDataGrid treats virtualization, editing, formulas, charting, and diagnostics as one data-workbench problem. Performance cannot erase selection, keyboard flow, validation, or the ability to inspect a live control."},"url":"https://wieslawsoltes.github.io/Home/projects/prodatagrid/","repository":{"name":"wieslawsoltes/ProDataGrid","url":"https://github.com/wieslawsoltes/ProDataGrid"},"packages":[{"name":"ProDataGrid","note":"The high-performance Avalonia grid control.","url":"https://www.nuget.org/packages/ProDataGrid"},{"name":"ProDataGrid.Charting","note":"Grid and pivot integration for ProCharts.","url":"https://www.nuget.org/packages/ProDataGrid.Charting"},{"name":"ProDataGrid.FormulaEngine","note":"Parsing, evaluation, and recalculation.","url":"https://www.nuget.org/packages/ProDataGrid.FormulaEngine"},{"name":"ProDiagnostics","note":"Runtime visual tree and property inspection.","url":"https://www.nuget.org/packages/ProDiagnostics"}],"highlights":["Row and column virtualization","Formula engine and charting","Fluent and Simple themes","Built-in developer diagnostics"],"audience":["Business and engineering desktop applications","Large, editable data sets","Teams needing formulas, charts, and runtime diagnostics"],"compatibility":[{"label":"Avalonia","value":"Supported","state":"ready"},{"label":"Virtualization","value":"Rows + columns","state":"ready"},{"label":"Fluent / Simple","value":"Themes","state":"ready"},{"label":"NativeAOT","value":"Tracked","state":"partial"}],"links":[{"label":"Documentation","href":"https://wieslawsoltes.github.io/ProDataGrid/"},{"label":"Samples","href":"https://github.com/wieslawsoltes/ProDataGrid/tree/main/samples"}],"related":["treedatagrid","dock","protext"],"capabilities":[{"id":"prodatagrid/data-grid","slug":"data-grid","order":0,"name":"ProDataGrid","eyebrow":"Virtualized data workbench","description":"A production-oriented Avalonia grid with row and column virtualization, editing, sorting, filtering, grouping, selection, and extensible columns.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/prodatagrid/data-grid/","sourcePath":"src/Avalonia.Controls.DataGrid","packages":[{"name":"ProDataGrid","note":"Grid control, columns, data sources, themes, and editing infrastructure.","url":"https://www.nuget.org/packages/ProDataGrid"}],"highlights":["Rows and columns virtualize together","Built-in edit and validation pipeline","Sorting, filtering, grouping, and summaries","Fluent and Simple theme support"],"related":["prodatagrid/formula-engine","prodatagrid/charting","prodatagrid/diagnostics"]},{"id":"prodatagrid/formula-engine","slug":"formula-engine","order":1,"name":"Formula Engine","eyebrow":"Spreadsheet calculation","description":"A calculation layer for parsed expressions, cell references, dependency tracking, functions, recalculation, and Excel-oriented interoperability.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/prodatagrid/formula-engine/","sourcePath":"src/ProDataGrid.FormulaEngine","packages":[{"name":"ProDataGrid.FormulaEngine","note":"Formula parser, evaluation runtime, dependency graph, and built-in functions.","url":"https://www.nuget.org/packages/ProDataGrid.FormulaEngine"},{"name":"ProDataGrid.FormulaEngine.Excel","note":"Excel-oriented syntax and compatibility helpers.","url":"https://www.nuget.org/packages/ProDataGrid.FormulaEngine.Excel"}],"highlights":["Parsed formulas and functions","Cell and range references","Dependency-driven recalculation","Excel compatibility package"],"related":["prodatagrid/data-grid","prodatagrid/charting"]},{"id":"prodatagrid/charting","slug":"charting","order":2,"name":"Charting & ProCharts","eyebrow":"Data visualization system","description":"Chart models, Skia rendering, Avalonia controls, and grid integration for turning tabular data into composable visual analysis.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/prodatagrid/charting/","sourcePath":"src/ProDataGrid.Charting","packages":[{"name":"ProDataGrid.Charting","note":"Chart definitions and grid-aware chart workflows.","url":"https://www.nuget.org/packages/ProDataGrid.Charting"},{"name":"ProCharts","note":"Framework-neutral chart model and layout.","url":"https://www.nuget.org/packages/ProCharts"},{"name":"ProCharts.Avalonia","note":"Avalonia chart controls and interaction.","url":"https://www.nuget.org/packages/ProCharts.Avalonia"},{"name":"ProCharts.Skia","note":"Skia chart renderer.","url":"https://www.nuget.org/packages/ProCharts.Skia"}],"highlights":["Framework-neutral chart definitions","Skia rendering backend","Avalonia interaction and themes","Grid selection and data integration"],"related":["prodatagrid/data-grid","prodatagrid/formula-engine","prodatagrid/diagnostics"]},{"id":"prodatagrid/diagnostics","slug":"diagnostics","order":3,"name":"ProDiagnostics","eyebrow":"Runtime inspection","description":"In-process diagnostics and transport packages for inspecting data controls, application state, and live runtime behavior.","status":"Preview","url":"https://wieslawsoltes.github.io/Home/projects/prodatagrid/diagnostics/","sourcePath":"src/ProDiagnostics","packages":[{"name":"ProDiagnostics","note":"Diagnostics surface and Avalonia integration.","url":"https://www.nuget.org/packages/ProDiagnostics"},{"name":"ProDiagnostics.Transport","note":"Transport contracts for remote and embedded diagnostic clients.","url":"https://www.nuget.org/packages/ProDiagnostics.Transport"}],"highlights":["Live control inspection","Transport-separated architecture","Developer-oriented overlays","Designed for extensible providers"],"related":["prodatagrid/data-grid","prodatagrid/charting"]}]},{"slug":"treedatagrid","order":10,"name":"TreeDataGrid","eyebrow":"Hierarchical data control","description":"An Avalonia control that presents hierarchical and tabular data together, with both tree and flat operating modes.","statement":"A tree and a table, resolved into one efficient control.","category":"Controls","tier":"Flagship","status":"Maintained","featured":true,"accent":"#a6d76b","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/treedatagrid/","repository":{"name":"wieslawsoltes/TreeDataGrid","url":"https://github.com/wieslawsoltes/TreeDataGrid"},"packages":[{"name":"TreeDataGrid","note":"Control, models, column types, and themes.","url":"https://www.nuget.org/packages/TreeDataGrid"}],"highlights":["Hierarchical and flat modes","Code or XAML columns","Selection models","Virtualized data presentation"],"audience":["File explorers and object browsers","Hierarchical business data","Apps that need tree semantics with table density"],"compatibility":[{"label":"Hierarchical source","value":"Supported","state":"ready"},{"label":"Flat source","value":"Supported","state":"ready"},{"label":"Virtualization","value":"Supported","state":"ready"},{"label":"XAML columns","value":"Supported","state":"ready"}],"links":[{"label":"Documentation","href":"https://wieslawsoltes.github.io/TreeDataGrid/"},{"label":"Samples","href":"https://github.com/wieslawsoltes/TreeDataGrid/tree/master/samples"}],"related":["prodatagrid","dock","nodeeditor"],"capabilities":[]},{"slug":"core2d","order":11,"name":"Core2D","eyebrow":"Diagram editor engine","description":"A multi-platform, data-driven 2D diagram editor with a portable model, rendering backends, and extensible tooling.","statement":"A complete foundation for technical drawing and diagramming.","category":"Tools","tier":"Maintained","status":"Maintained","featured":false,"accent":"#ff8177","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/core2d/","repository":{"name":"wieslawsoltes/Core2D","url":"https://github.com/wieslawsoltes/Core2D"},"packages":[{"name":"Core2D","note":"Core diagram model and editor primitives.","url":"https://www.nuget.org/packages/Core2D"}],"highlights":["Data-driven diagrams","Multiple rendering backends","Extensible editor tools","Cross-platform architecture"],"audience":["Teams building tools software on .NET","Developers who need reusable, inspectable infrastructure","Open-source contributors looking for practical framework work"],"compatibility":[{"label":".NET","value":"Current SDK","state":"ready"},{"label":"Avalonia / cross-platform","value":"Maintained","state":"ready"},{"label":"Source","value":"Open on GitHub","state":"ready"}],"links":[{"label":"Repository","href":"https://github.com/wieslawsoltes/Core2D"},{"label":"Issues","href":"https://github.com/wieslawsoltes/Core2D/issues"},{"label":"Releases","href":"https://github.com/wieslawsoltes/Core2D/releases"}],"related":["procad","nodeeditor","panandzoom"],"capabilities":[]},{"slug":"dxf-parser","order":12,"name":"DxfParser","eyebrow":"DXF inspection and rendering workbench","description":"A browser-native DXF parser, tree inspector, comparison workspace, diagnostics engine, renderer, and lightweight editor for detailed AutoCAD drawing analysis.","statement":"Open the DXF structure, inspect every code, compare drawings, and render the geometry.","category":"Tools","tier":"Maintained","status":"Maintained","featured":false,"accent":"#72d6ff","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/dxf-parser/","repository":{"name":"wieslawsoltes/DxfParser","url":"https://github.com/wieslawsoltes/DxfParser"},"packages":[{"name":"DxfParser","note":"Standalone JavaScript parser, inspector, rendering stack, diagnostics, diff, and editor.","url":"https://github.com/wieslawsoltes/DxfParser"}],"highlights":["Hierarchical DXF tag and entity tree","Canvas and WebGL rendering","Drawing comparison and diagnostics","Round-trip editing and DXF export"],"audience":["CAD and DXF implementers validating file structure","Engineering teams comparing or diagnosing drawings","Developers needing a browser-native DXF inspection and rendering reference"],"compatibility":[{"label":"Runtime","value":"Modern browser / JavaScript","state":"ready"},{"label":"DXF 2018","value":"Broad, actively tracked coverage","state":"partial"},{"label":"Canvas / WebGL","value":"Rendering paths","state":"ready"},{"label":"NuGet","value":"Not applicable","state":"planned"}],"links":[{"label":"Parser guide","href":"https://github.com/wieslawsoltes/DxfParser/blob/main/docs/dxf-parser.md"},{"label":"Rendering plan","href":"https://github.com/wieslawsoltes/DxfParser/blob/main/docs/dxf-rendering-plan.md"},{"label":"Test strategy","href":"https://github.com/wieslawsoltes/DxfParser/blob/main/TESTING_STRATEGY.md"}],"related":["procad","core2d","svg-skia"],"capabilities":[{"id":"dxf-parser/parser-tree","slug":"parser-tree","order":27,"name":"DXF Parser & Tree","eyebrow":"Group codes into stable structure","description":"An iterative parser converts DXF code/value pairs into a hierarchical entity tree with handles, parent metadata, container boundaries, preserved ordering, synthetic end markers, and round-trip serialization.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/dxf-parser/parser-tree/","sourcePath":"components/dxf-parser.js","docsPath":"docs/dxf-parser.md","packages":[{"name":"DxfParser","note":"Standalone parser, tree grouping, lookup, and serialization component.","url":"https://github.com/wieslawsoltes/DxfParser/blob/main/components/dxf-parser.js"}],"highlights":["Iterative O(n) grouping","Handles and parent metadata","Malformed-container recovery","Round-trip DXF serialization"],"related":["dxf-parser/inspection-diff","dxf-parser/rendering","dxf-parser/editor-export"]},{"id":"dxf-parser/inspection-diff","slug":"inspection-diff","order":28,"name":"Inspection, Diagnostics & Diff","eyebrow":"Understand and compare drawings","description":"Virtualized tree and batch grids expose tags, codes, sizes, handles, classes, blocks, materials, fonts, proxy objects, diagnostics, statistics, filters, history, and side-by-side structural differences.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/dxf-parser/inspection-diff/","sourcePath":"components/tree-diff-engine.js","packages":[{"name":"DXF Inspection Workbench","note":"Tree grids, diagnostics, statistics, navigation, batch data, and comparison UI.","url":"https://github.com/wieslawsoltes/DxfParser/tree/main/components"}],"highlights":["Virtualized hierarchical tree grids","Handle, dependency, and object diagnostics","Side-by-side structural diff","Batch processing and exports"],"related":["dxf-parser/parser-tree","dxf-parser/rendering","dxf-parser/editor-export"]},{"id":"dxf-parser/rendering","slug":"rendering","order":29,"name":"DXF Rendering","eyebrow":"Scene graph to Canvas and WebGL","description":"Document builders, entity adapters, tessellation, text layout, materials, plot styles, layers, blocks, hatches, dimensions, overlays, and retained scene nodes drive Canvas and WebGL-oriented rendering surfaces.","status":"Preview","url":"https://wieslawsoltes.github.io/Home/projects/dxf-parser/rendering/","sourcePath":"components/rendering-renderer.js","docsPath":"docs/dxf-rendering-plan.md","packages":[{"name":"DxfRendering","note":"Document builder, scene graph, entities, renderer, text, tessellation, overlays, Canvas, and WebGL surfaces.","url":"https://github.com/wieslawsoltes/DxfParser/tree/main/components"}],"highlights":["Retained rendering scene graph","Canvas and WebGL-oriented surfaces","Text, hatches, dimensions, blocks, and layers","SVG and JSON frame regression baselines"],"related":["dxf-parser/parser-tree","dxf-parser/inspection-diff","dxf-parser/editor-export"]},{"id":"dxf-parser/editor-export","slug":"editor-export","order":30,"name":"Editor & Export","eyebrow":"Change and round-trip drawings","description":"A lightweight browser editor composes selection, geometry mutation, viewport tools, property editing, file opening, drag/drop, history, save, and DXF serialization around the shared parser and rendering stack.","status":"Preview","url":"https://wieslawsoltes.github.io/Home/projects/dxf-parser/editor-export/","sourcePath":"editor","packages":[{"name":"DxfEditor","note":"Browser-native editing adapter, application shell, and export workflow.","url":"https://github.com/wieslawsoltes/DxfParser/tree/main/editor"}],"highlights":["Shared parser and renderer","Selection and geometry commands","Properties, history, and file workflows","DXF serialization and download"],"related":["dxf-parser/parser-tree","dxf-parser/rendering","dxf-parser/inspection-diff"]}]},{"slug":"proedit","order":13,"name":"ProEdit","eyebrow":"Document engineering platform","description":"A modular .NET 10 platform for document editing, layout, rendering, reporting, printing, conversion, automation, and real-time collaboration.","statement":"Build complete document workflows from one composable, cross-platform stack.","category":"Uno Platform","tier":"Flagship","status":"Active","featured":true,"accent":"#ee8fff","contentFormat":"mdx","story":{"label":"Platform story","title":"A document is a system, not a text box.","intro":"ProEdit starts with a portable document model, then composes layout, rendering, editing, formats, reporting, printing, collaboration, and automation around it. Product shells share the engine without becoming the engine."},"url":"https://wieslawsoltes.github.io/Home/projects/proedit/","repository":{"name":"wieslawsoltes/ProEdit","url":"https://github.com/wieslawsoltes/ProEdit"},"packages":[{"name":"ProEdit.Controls.Skia.Avalonia","note":"Avalonia document viewer and editable control backed by the shared Skia host.","url":"https://www.nuget.org/packages/ProEdit.Controls.Skia.Avalonia"},{"name":"ProEdit.Controls.Skia.Uno","note":"Uno Platform document viewer and editable control backed by the same shared Skia host.","url":"https://www.nuget.org/packages/ProEdit.Controls.Skia.Uno"},{"name":"ProEdit.RichText.Avalonia","note":"Editable Avalonia rich-text control with selection, formatting, and command infrastructure.","url":"https://www.nuget.org/packages/ProEdit.RichText.Avalonia"},{"name":"ProEdit.OpenXml","note":"Open XML and DOCX import and export for the core document model.","url":"https://www.nuget.org/packages/ProEdit.OpenXml"},{"name":"ProEdit.Reporting.Avalonia.Designer","note":"Avalonia report authoring surface for the modular reporting stack.","url":"https://www.nuget.org/packages/ProEdit.Reporting.Avalonia.Designer"},{"name":"ProEdit.Collaboration","note":"Operation model, synchronization engine, persistence, and snapshots.","url":"https://www.nuget.org/packages/ProEdit.Collaboration"}],"highlights":["Rich document editing and pagination","DOCX, RTF, HTML, Markdown, PDF, PS, and XPS","Avalonia, Uno Platform, and .NET MAUI controls","Reporting, printing, collaboration, macros, and MCP"],"audience":["Teams building word processors, document viewers, or reporting products","Desktop and embedded applications that need reusable document infrastructure","Avalonia, Uno Platform, and .NET MAUI developers sharing one document engine"],"compatibility":[{"label":".NET","value":"10.0","state":"ready"},{"label":"Avalonia","value":"Editor, viewer, reporting, print UI","state":"ready"},{"label":"Uno Platform","value":"Shared Skia controls + compatibility","state":"ready"},{"label":".NET MAUI","value":"Shared control package","state":"partial"}],"links":[{"label":"Documentation","href":"https://wieslawsoltes.github.io/ProEdit/"},{"label":"Samples","href":"https://github.com/wieslawsoltes/ProEdit/tree/main/samples"},{"label":"Architecture","href":"https://github.com/wieslawsoltes/ProEdit/blob/main/docfx/articles/architecture.md"},{"label":"Benchmarks","href":"https://github.com/wieslawsoltes/ProEdit/tree/main/benchmarks"}],"related":["protext","prodatagrid","protranslate"],"capabilities":[{"id":"proedit/document-editor","slug":"document-editor","order":4,"name":"Document Editor","eyebrow":"Paginated rich editing","description":"A Skia-backed editor surface with pagination, selection, caret navigation, rich text formatting, document commands, and Avalonia integration.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/proedit/document-editor/","sourcePath":"src/ProEdit.Controls.Skia.Avalonia","docsPath":"docfx/articles/architecture.md","packages":[{"name":"ProEdit.Controls.Skia.Avalonia","note":"Avalonia host for the Skia document editor.","url":"https://www.nuget.org/packages/ProEdit.Controls.Skia.Avalonia"},{"name":"ProEdit.RichText.Avalonia","note":"Rich-text controls, commands, and editor integration.","url":"https://www.nuget.org/packages/ProEdit.RichText.Avalonia"}],"highlights":["Paginated document canvas","Caret, selection, and navigation","Paragraph and character formatting","Undoable editing commands"],"related":["proedit/document-formats","proedit/reporting","proedit/collaboration"]},{"id":"proedit/document-formats","slug":"document-formats","order":5,"name":"Document Formats","eyebrow":"Import, export, and interchange","description":"Format-focused modules connect the shared document model to DOCX/Open XML, RTF, HTML, Markdown, PDF, PostScript, and XPS workflows.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/proedit/document-formats/","sourcePath":"src/ProEdit.OpenXml","packages":[{"name":"ProEdit.OpenXml","note":"Open XML and DOCX document interchange.","url":"https://www.nuget.org/packages/ProEdit.OpenXml"},{"name":"ProEdit.Documents.Rtf","note":"RTF document reader and writer.","url":"https://www.nuget.org/packages/ProEdit.Documents.Rtf"},{"name":"ProEdit.Html","note":"HTML conversion pipeline.","url":"https://www.nuget.org/packages/ProEdit.Html"},{"name":"ProEdit.Markdown","note":"Markdown import and export.","url":"https://www.nuget.org/packages/ProEdit.Markdown"}],"highlights":["DOCX and Open XML","RTF, HTML, and Markdown","PDF, PostScript, and XPS output","Shared document model between formats"],"related":["proedit/document-editor","proedit/printing","proedit/reporting"]},{"id":"proedit/reporting","slug":"reporting","order":6,"name":"Reporting","eyebrow":"Report design and materialization","description":"A modular reporting stack with RDL parsing, data binding, expressions, document composition, export, service hosting, viewer, and visual designer packages.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/proedit/reporting/","sourcePath":"src/ProEdit.Reporting.Core","packages":[{"name":"ProEdit.Reporting.Avalonia.Designer","note":"Visual Avalonia report designer.","url":"https://www.nuget.org/packages/ProEdit.Reporting.Avalonia.Designer"},{"name":"ProEdit.Reporting.Avalonia.Viewer","note":"Report preview and navigation controls.","url":"https://www.nuget.org/packages/ProEdit.Reporting.Avalonia.Viewer"},{"name":"ProEdit.Reporting.Core","note":"Framework-neutral report contracts and definitions.","url":"https://www.nuget.org/packages/ProEdit.Reporting.Core"}],"highlights":["RDL report definitions","Expressions and data sources","Visual designer and viewer","Document and export pipeline"],"related":["proedit/document-editor","proedit/document-formats","proedit/printing"]},{"id":"proedit/printing","slug":"printing","order":7,"name":"Printing","eyebrow":"Preview and platform output","description":"Document printing abstractions, Skia rasterization, Avalonia preview, and system adapters for taking paginated content to platform print services.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/proedit/printing/","sourcePath":"src/ProEdit.Printing","packages":[{"name":"ProEdit.Printing.Avalonia","note":"Avalonia preview and print workflow UI.","url":"https://www.nuget.org/packages/ProEdit.Printing.Avalonia"},{"name":"ProEdit.Printing.Skia","note":"Skia page rendering for print pipelines.","url":"https://www.nuget.org/packages/ProEdit.Printing.Skia"},{"name":"ProEdit.Printing.System","note":"System print integration.","url":"https://www.nuget.org/packages/ProEdit.Printing.System"}],"highlights":["Shared paginated source","Avalonia print preview","Skia page rendering","Replaceable platform services"],"related":["proedit/document-editor","proedit/document-formats","proedit/reporting"]},{"id":"proedit/collaboration","slug":"collaboration","order":8,"name":"Collaboration","eyebrow":"Shared editing sessions","description":"Protocol, transport, server, editor, and UI modules for synchronizing document operations, presence, and collaborative editing workflows.","status":"Preview","url":"https://wieslawsoltes.github.io/Home/projects/proedit/collaboration/","sourcePath":"src/ProEdit.Collaboration","packages":[{"name":"ProEdit.Collaboration","note":"Collaboration model, operations, sessions, and synchronization.","url":"https://www.nuget.org/packages/ProEdit.Collaboration"},{"name":"ProEdit.Collaboration.Transports","note":"Transport implementations and connection contracts.","url":"https://www.nuget.org/packages/ProEdit.Collaboration.Transports"},{"name":"ProEdit.Collaboration.Server","note":"Server-side session coordination.","url":"https://www.nuget.org/packages/ProEdit.Collaboration.Server"},{"name":"ProEdit.Collaboration.UI","note":"Presence and collaboration UI components.","url":"https://www.nuget.org/packages/ProEdit.Collaboration.UI"}],"highlights":["Operation-based synchronization","Presence and participant state","Transport-neutral sessions","Server and UI packages"],"related":["proedit/document-editor","proedit/cross-platform-controls","proedit/automation"]},{"id":"proedit/cross-platform-controls","slug":"cross-platform-controls","order":9,"name":"Cross-platform Controls","eyebrow":"Avalonia, Uno, and MAUI hosts","description":"Shared Skia controls project the same document, layout, rendering, and editing core into Avalonia, Uno Platform, and .NET MAUI applications.","status":"Preview","url":"https://wieslawsoltes.github.io/Home/projects/proedit/cross-platform-controls/","sourcePath":"src/ProEdit.Controls.Skia","packages":[{"name":"ProEdit.Controls.Skia.Avalonia","note":"Avalonia document controls.","url":"https://www.nuget.org/packages/ProEdit.Controls.Skia.Avalonia"},{"name":"ProEdit.Controls.Skia.Uno","note":"Uno Platform document controls.","url":"https://www.nuget.org/packages/ProEdit.Controls.Skia.Uno"},{"name":"ProEdit.Controls.Skia.Maui","note":".NET MAUI document controls.","url":"https://www.nuget.org/packages/ProEdit.Controls.Skia.Maui"}],"highlights":["Shared Skia presentation core","Avalonia editor integration","Uno Platform controls",".NET MAUI controls"],"related":["proedit/document-editor","proedit/collaboration","proedit/automation"]},{"id":"proedit/automation","slug":"automation","order":10,"name":"Macros & MCP","eyebrow":"Programmable document workflows","description":"VBA-compatible macro runtime and Model Context Protocol tools expose document and reporting operations to scripts, automation, and AI agents.","status":"Preview","url":"https://wieslawsoltes.github.io/Home/projects/proedit/automation/","sourcePath":"src/ProEdit.Mcp","packages":[{"name":"ProEdit.Vba.Runtime","note":"Macro runtime and document automation bridge.","url":"https://www.nuget.org/packages/ProEdit.Vba.Runtime"},{"name":"ProEdit.Mcp.Documents","note":"MCP tools for document operations.","url":"https://www.nuget.org/packages/ProEdit.Mcp.Documents"},{"name":"ProEdit.Mcp.Reporting","note":"MCP tools for reporting workflows.","url":"https://www.nuget.org/packages/ProEdit.Mcp.Reporting"}],"highlights":["Document macro runtime","VBA compatibility direction","MCP document tools","MCP reporting tools"],"related":["proedit/document-editor","proedit/reporting","proedit/collaboration"]}]},{"slug":"protext","order":14,"name":"ProText","eyebrow":"Text controls","description":"High-performance text controls for Avalonia, powered by the Pretext layout engine and Skia rendering.","statement":"Text surfaces designed for speed, scale, and rich layout.","category":"Controls","tier":"Maintained","status":"Active","featured":false,"accent":"#ffd56b","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/protext/","repository":{"name":"wieslawsoltes/ProText","url":"https://github.com/wieslawsoltes/ProText"},"packages":[{"name":"ProText","note":"Avalonia text controls and rendering integration.","url":"https://www.nuget.org/packages/ProText"}],"highlights":["High-performance layout","Avalonia integration","Skia rendering","Pretext-powered line breaking"],"audience":["Teams building controls software on .NET","Developers who need reusable, inspectable infrastructure","Open-source contributors looking for practical framework work"],"compatibility":[{"label":".NET","value":"Current SDK","state":"ready"},{"label":"Avalonia / cross-platform","value":"Active","state":"ready"},{"label":"Source","value":"Open on GitHub","state":"ready"}],"links":[{"label":"Repository","href":"https://github.com/wieslawsoltes/ProText"},{"label":"Issues","href":"https://github.com/wieslawsoltes/ProText/issues"},{"label":"Releases","href":"https://github.com/wieslawsoltes/ProText/releases"}],"related":["dock","prodatagrid","treedatagrid"],"capabilities":[]},{"slug":"pretext","order":15,"name":"Pretext","eyebrow":"Universal text preparation","description":"Universal text preparation and line layout with grapheme-aware wrapping, locale segmentation, bidi, and streaming line walking.","statement":"Predictable, allocation-conscious text layout for any SkiaSharp UI.","category":"Graphics","tier":"Maintained","status":"Active","featured":false,"accent":"#ffce8a","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/pretext/","repository":{"name":"wieslawsoltes/PretextSharp","url":"https://github.com/wieslawsoltes/PretextSharp"},"packages":[{"name":"Pretext","note":"Core preparation and line layout engine.","url":"https://www.nuget.org/packages/Pretext"},{"name":"Pretext.SkiaSharp","note":"Portable SkiaSharp measurement backend.","url":"https://www.nuget.org/packages/Pretext.SkiaSharp"}],"highlights":["Unicode-aware wrapping","Locale-sensitive segmentation","Bidirectional text","Streaming, allocation-light APIs"],"audience":["Teams building graphics software on .NET","Developers who need reusable, inspectable infrastructure","Open-source contributors looking for practical framework work"],"compatibility":[{"label":".NET","value":"Current SDK","state":"ready"},{"label":"Avalonia / cross-platform","value":"Active","state":"ready"},{"label":"Source","value":"Open on GitHub","state":"ready"}],"links":[{"label":"Repository","href":"https://github.com/wieslawsoltes/PretextSharp"},{"label":"Issues","href":"https://github.com/wieslawsoltes/PretextSharp/issues"},{"label":"Releases","href":"https://github.com/wieslawsoltes/PretextSharp/releases"}],"related":["progpu","svg-skia"],"capabilities":[]},{"slug":"protranslate","order":16,"name":"ProTranslate","eyebrow":"XAML globalization","description":"Translation and globalization infrastructure for Avalonia, WPF, MAUI, WinUI, and Uno with generated bindings and analyzers.","statement":"One translation model across the modern XAML ecosystem.","category":"Frameworks","tier":"Maintained","status":"Active","featured":false,"accent":"#67dbc6","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/protranslate/","repository":{"name":"wieslawsoltes/ProTranslate","url":"https://github.com/wieslawsoltes/ProTranslate"},"packages":[{"name":"ProTranslate.Core","note":"Culture, provider, formatting, and fallback services.","url":"https://www.nuget.org/packages/ProTranslate.Core"},{"name":"ProTranslate.Avalonia","note":"Avalonia markup extensions and binding refresh.","url":"https://www.nuget.org/packages/ProTranslate.Avalonia"},{"name":"ProTranslate.SourceGenerator","note":"Strongly typed keys and compiled-binding surfaces.","url":"https://www.nuget.org/packages/ProTranslate.SourceGenerator"}],"highlights":["Five XAML frameworks","Runtime culture switching","Source generators and analyzers","XLIFF, PO, RESX, ARB, and more"],"audience":["Teams building frameworks software on .NET","Developers who need reusable, inspectable infrastructure","Open-source contributors looking for practical framework work"],"compatibility":[{"label":"Avalonia","value":"Supported","state":"ready"},{"label":"WPF / WinUI","value":"Supported","state":"ready"},{"label":"Uno / MAUI","value":"Supported","state":"ready"},{"label":"Resource formats","value":"XLIFF, PO, RESX, ARB+","state":"ready"}],"links":[{"label":"Repository","href":"https://github.com/wieslawsoltes/ProTranslate"},{"label":"Issues","href":"https://github.com/wieslawsoltes/ProTranslate/issues"},{"label":"Releases","href":"https://github.com/wieslawsoltes/ProTranslate/releases"}],"related":["xaml-behaviors","nxui","librewpf"],"capabilities":[{"id":"protranslate/globalization-core","slug":"globalization-core","order":43,"name":"Globalization Core","eyebrow":"Framework-neutral localization","description":"Translation lookup, culture switching, fallback, formatting, regions, measurements, and flow direction live in a portable service layer.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/protranslate/globalization-core/","sourcePath":"src/ProTranslate.Core","packages":[{"name":"ProTranslate.Abstractions","note":"Portable translation and globalization contracts.","url":"https://www.nuget.org/packages/ProTranslate.Abstractions"},{"name":"ProTranslate.Core","note":"Catalogs, fallback, formatting, culture, region, and direction services.","url":"https://www.nuget.org/packages/ProTranslate.Core"}],"highlights":["Runtime culture switching","Fallback chains","Formatting and plural-ready values","Region, measurement, and flow direction"],"related":["protranslate/framework-adapters","protranslate/formats-resources","protranslate/compile-time-tooling"]},{"id":"protranslate/framework-adapters","slug":"framework-adapters","order":44,"name":"XAML Framework Adapters","eyebrow":"Five UI stacks","description":"Avalonia, WPF, WinUI, Uno Platform, and .NET MAUI packages map dynamic translation and culture state into each framework’s binding and XAML model.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/protranslate/framework-adapters/","sourcePath":"src/ProTranslate.Avalonia","packages":[{"name":"ProTranslate.Avalonia","note":"Avalonia XAML adapter.","url":"https://www.nuget.org/packages/ProTranslate.Avalonia"},{"name":"ProTranslate.Wpf","note":"WPF XAML adapter.","url":"https://www.nuget.org/packages/ProTranslate.Wpf"},{"name":"ProTranslate.WinUI","note":"WinUI XAML adapter.","url":"https://www.nuget.org/packages/ProTranslate.WinUI"},{"name":"ProTranslate.Uno","note":"Uno Platform XAML adapter.","url":"https://www.nuget.org/packages/ProTranslate.Uno"},{"name":"ProTranslate.Maui","note":".NET MAUI XAML adapter.","url":"https://www.nuget.org/packages/ProTranslate.Maui"}],"highlights":["Avalonia and WPF","WinUI and Uno Platform",".NET MAUI","Live culture and flow-direction updates"],"related":["protranslate/globalization-core","protranslate/formats-resources","protranslate/compile-time-tooling"]},{"id":"protranslate/formats-resources","slug":"formats-resources","order":45,"name":"Formats & Resources","eyebrow":"Translation interchange","description":"ResourceManager integration and format converters connect ProTranslate catalogs to RESX satellites and common localization interchange formats.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/protranslate/formats-resources/","sourcePath":"src/ProTranslate.Formats","packages":[{"name":"ProTranslate.Formats","note":"XLIFF, PO, RESX, ARB, JSON, and related format import/export.","url":"https://www.nuget.org/packages/ProTranslate.Formats"},{"name":"ProTranslate.ResourceManager","note":"ResourceManager and satellite assembly provider.","url":"https://www.nuget.org/packages/ProTranslate.ResourceManager"}],"highlights":["XLIFF and PO interchange","RESX and satellite assemblies","ARB and JSON-oriented catalogs","Import and export services"],"related":["protranslate/globalization-core","protranslate/compile-time-tooling"]},{"id":"protranslate/compile-time-tooling","slug":"compile-time-tooling","order":46,"name":"Generators & Analyzers","eyebrow":"Typed localization contracts","description":"An incremental generator creates strongly typed keys and provider manifests while Roslyn analyzers catch missing keys, placeholder mismatches, and catalog gaps.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/protranslate/compile-time-tooling/","sourcePath":"src/ProTranslate.SourceGenerator","packages":[{"name":"ProTranslate.SourceGenerator","note":"Typed keys, bindable strings, providers, and manifests.","url":"https://www.nuget.org/packages/ProTranslate.SourceGenerator"},{"name":"ProTranslate.Analyzers","note":"Translation key, placeholder, and catalog diagnostics.","url":"https://www.nuget.org/packages/ProTranslate.Analyzers"},{"name":"ProTranslate.MicrosoftExtensions","note":"Dependency injection and IStringLocalizer integration.","url":"https://www.nuget.org/packages/ProTranslate.MicrosoftExtensions"}],"highlights":["Strongly typed keys","Incremental generation","Placeholder diagnostics","IStringLocalizer and DI integration"],"related":["protranslate/globalization-core","protranslate/framework-adapters","protranslate/formats-resources"]}]},{"slug":"effector","order":17,"name":"Effector","eyebrow":"Custom visual effects","description":"Extensible Skia-backed custom effects for Avalonia, built for reusable image and control processing pipelines.","statement":"A focused effects layer for expressive Avalonia rendering.","category":"Graphics","tier":"Maintained","status":"Active","featured":false,"accent":"#ff759f","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/effector/","repository":{"name":"wieslawsoltes/Effector","url":"https://github.com/wieslawsoltes/Effector"},"packages":[{"name":"Effector","note":"Effects primitives and Avalonia integration.","url":"https://www.nuget.org/packages/Effector"}],"highlights":["Skia-backed effects","Composable pipelines","Avalonia integration","Extensible effect model"],"audience":["Teams building graphics software on .NET","Developers who need reusable, inspectable infrastructure","Open-source contributors looking for practical framework work"],"compatibility":[{"label":".NET","value":"Current SDK","state":"ready"},{"label":"Avalonia / cross-platform","value":"Active","state":"ready"},{"label":"Source","value":"Open on GitHub","state":"ready"}],"links":[{"label":"Repository","href":"https://github.com/wieslawsoltes/Effector"},{"label":"Issues","href":"https://github.com/wieslawsoltes/Effector/issues"},{"label":"Releases","href":"https://github.com/wieslawsoltes/Effector/releases"}],"related":["progpu","svg-skia","pretext"],"capabilities":[]},{"slug":"xaml-visual-editor","order":18,"name":"XamlVisualEditor","eyebrow":"Live XAML tooling","description":"An extensible Avalonia XAML visual editor with a live designer, code editor, language services, debugging, and .NET extensions.","statement":"Design, inspect, and extend XAML in one living workspace.","category":"Tools","tier":"Maintained","status":"Active","featured":false,"accent":"#a894ff","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/xaml-visual-editor/","repository":{"name":"wieslawsoltes/XamlVisualEditor","url":"https://github.com/wieslawsoltes/XamlVisualEditor"},"packages":[{"name":"XamlVisualEditor","note":"Build and run the editor from source.","url":"https://www.nuget.org/packages/XamlVisualEditor"}],"highlights":["Live visual designer","Code editor","Language services","Extensible .NET tooling"],"audience":["Teams building tools software on .NET","Developers who need reusable, inspectable infrastructure","Open-source contributors looking for practical framework work"],"compatibility":[{"label":".NET","value":"Current SDK","state":"ready"},{"label":"Avalonia / cross-platform","value":"Active","state":"ready"},{"label":"Source","value":"Open on GitHub","state":"ready"}],"links":[{"label":"Repository","href":"https://github.com/wieslawsoltes/XamlVisualEditor"},{"label":"Issues","href":"https://github.com/wieslawsoltes/XamlVisualEditor/issues"},{"label":"Releases","href":"https://github.com/wieslawsoltes/XamlVisualEditor/releases"}],"related":["cdp","avalonia-development-plugin"],"capabilities":[]},{"slug":"panandzoom","order":19,"name":"PanAndZoom","eyebrow":"Spatial navigation control","description":"A focused Avalonia control for smooth zoom-to-point, panning, constraints, animations, and programmable viewport navigation.","statement":"A precise, reusable viewport for diagrams, maps, editors, and infinite canvases.","category":"Controls","tier":"Maintained","status":"Active","featured":false,"accent":"#72d4ff","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/panandzoom/","repository":{"name":"wieslawsoltes/PanAndZoom","url":"https://github.com/wieslawsoltes/PanAndZoom","branch":"master"},"packages":[{"name":"PanAndZoom","note":"ZoomBorder, viewport state, gestures, animation, and constraints.","url":"https://www.nuget.org/packages/PanAndZoom"}],"highlights":["Pointer-centered zoom","Pan and viewport constraints","Animated navigation","Double-click zoom modes"],"audience":["Diagram and node editor authors","Map, image, and document viewers","Any Avalonia app with a large spatial surface"],"compatibility":[{"label":"Avalonia","value":"Supported","state":"ready"},{"label":"Pointer / wheel","value":"Supported","state":"ready"},{"label":"Animated zoom","value":"Supported","state":"ready"},{"label":"Touch gestures","value":"Platform dependent","state":"partial"}],"links":[{"label":"Documentation","href":"https://wieslawsoltes.github.io/PanAndZoom/"},{"label":"Samples","href":"https://github.com/wieslawsoltes/PanAndZoom/tree/master/samples"}],"related":["nodeeditor","core2d","procad"],"capabilities":[]},{"slug":"nodeeditor","order":20,"name":"NodeEditor","eyebrow":"Visual graph authoring","description":"A templatable Avalonia node-and-connector editor with portable models, MVVM integrations, graph logic, and browser-ready samples.","statement":"Build visual programming tools without rebuilding graph interaction from scratch.","category":"Controls","tier":"Maintained","status":"Active","featured":false,"accent":"#d69bff","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/nodeeditor/","repository":{"name":"wieslawsoltes/NodeEditor","url":"https://github.com/wieslawsoltes/NodeEditor"},"packages":[{"name":"NodeEditorAvalonia","note":"Avalonia editor controls, templates, and interaction.","url":"https://www.nuget.org/packages/NodeEditorAvalonia"},{"name":"NodeEditor.Model","note":"Portable node, port, and connector model.","url":"https://www.nuget.org/packages/NodeEditor.Model"},{"name":"NodeEditor.Mvvm","note":"MVVM-oriented graph authoring surface.","url":"https://www.nuget.org/packages/NodeEditor.Mvvm"}],"highlights":["Nodes, ports, and connectors","XAML-driven templates","MVVM and ReactiveUI","LogicLab and browser samples"],"audience":["Visual programming and workflow tools","Signal, shader, and logic graph editors","Avalonia apps needing a custom node canvas"],"compatibility":[{"label":"Avalonia desktop","value":"Supported","state":"ready"},{"label":"Avalonia browser","value":"Sample","state":"ready"},{"label":"MVVM / ReactiveUI","value":"Integrations","state":"ready"},{"label":"Graph logic","value":"Optional packages","state":"ready"}],"links":[{"label":"Samples","href":"https://github.com/wieslawsoltes/NodeEditor/tree/main/samples"}],"related":["panandzoom","xaml-behaviors","core2d"],"capabilities":[{"id":"nodeeditor/control-model","slug":"control-model","order":47,"name":"Node Editor Control","eyebrow":"Graph editing surface","description":"A templatable Avalonia control and portable model for nodes, sockets, connectors, selection, viewport interaction, and graph editing.","status":"Stable","url":"https://wieslawsoltes.github.io/Home/projects/nodeeditor/control-model/","sourcePath":"src/NodeEditorAvalonia","packages":[{"name":"NodeEditorAvalonia","note":"Avalonia node editor control and presenters.","url":"https://www.nuget.org/packages/NodeEditorAvalonia"},{"name":"NodeEditorAvalonia.Model","note":"Portable graph model and contracts.","url":"https://www.nuget.org/packages/NodeEditorAvalonia.Model"}],"highlights":["Nodes, ports, and connectors","Fully templatable presentation","Selection and viewport interaction","Portable graph model"],"related":["nodeeditor/mvvm","nodeeditor/logiclab"]},{"id":"nodeeditor/mvvm","slug":"mvvm","order":48,"name":"MVVM Integration","eyebrow":"View-model driven graphs","description":"MVVM packages expose graph state, commands, selection, and connection workflows through bindable models suitable for application architecture and testing.","status":"Stable","url":"https://wieslawsoltes.github.io/Home/projects/nodeeditor/mvvm/","sourcePath":"src/NodeEditorAvalonia.Mvvm","packages":[{"name":"NodeEditorAvalonia.Mvvm","note":"MVVM graph models, commands, and control adapters.","url":"https://www.nuget.org/packages/NodeEditorAvalonia.Mvvm"}],"highlights":["Bindable graph collections","Command-oriented editing","Testable selection and connection logic","XAML templates remain replaceable"],"related":["nodeeditor/control-model","nodeeditor/logiclab"]},{"id":"nodeeditor/logiclab","slug":"logiclab","order":49,"name":"LogicLab","eyebrow":"Digital logic system","description":"A reusable logic core and editor layer turns NodeEditor into a digital circuit authoring and simulation environment with components, ports, and evaluation.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/nodeeditor/logiclab/","sourcePath":"src/NodeEditorLogic.Core","packages":[{"name":"NodeEditorLogic.Core","note":"Logic primitives, components, signals, and evaluation.","url":"https://www.nuget.org/packages/NodeEditorLogic.Core"},{"name":"NodeEditorLogic.Editor","note":"Logic editor view models and services.","url":"https://www.nuget.org/packages/NodeEditorLogic.Editor"}],"highlights":["Digital logic primitives","Component library","Graph-backed circuit editor","Interactive signal evaluation"],"related":["nodeeditor/control-model","nodeeditor/mvvm"]}]},{"slug":"nxui","order":21,"name":"NXUI","eyebrow":"C# UI composition","description":"A fluent, code-first UI layer for Avalonia that composes applications entirely in C# and keeps iteration fast with hot reload.","statement":"Avalonia applications expressed as compact, composable C#.","category":"Frameworks","tier":"Experimental","status":"Active","featured":false,"accent":"#8ea2ff","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/nxui/","repository":{"name":"wieslawsoltes/NXUI","url":"https://github.com/wieslawsoltes/NXUI"},"packages":[{"name":"NXUI","note":"Fluent controls, properties, bindings, and composition.","url":"https://www.nuget.org/packages/NXUI"},{"name":"NXUI.Desktop","note":"Desktop host and hot-reload integration.","url":"https://www.nuget.org/packages/NXUI.Desktop"}],"highlights":["Code-first Avalonia UI","Fluent composition","Hot reload host","No XAML required"],"audience":["Developers who prefer code-first UI","Generated and highly compositional interfaces","Teams experimenting with functional Avalonia patterns"],"compatibility":[{"label":"Avalonia","value":"Supported","state":"ready"},{"label":"Desktop host","value":"Supported","state":"ready"},{"label":"Hot reload","value":"Included","state":"ready"},{"label":"XAML designer","value":"Not applicable","state":"planned"}],"links":[{"label":"Repository","href":"https://github.com/wieslawsoltes/NXUI"},{"label":"Issues","href":"https://github.com/wieslawsoltes/NXUI/issues"},{"label":"Releases","href":"https://github.com/wieslawsoltes/NXUI/releases"}],"related":["xaml-behaviors","avalonia-development-plugin","codexgui"],"capabilities":[]},{"slug":"colorpicker","order":22,"name":"ColorPicker","eyebrow":"Color and theme tooling","description":"A reusable Avalonia color picker and theme editor surface with spectrum, component, palette, and alpha editing workflows.","statement":"Production-ready color selection for creative and theming tools.","category":"Controls","tier":"Maintained","status":"Maintained","featured":false,"accent":"#ff85b6","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/colorpicker/","repository":{"name":"wieslawsoltes/ColorPicker","url":"https://github.com/wieslawsoltes/ColorPicker","branch":"master"},"packages":[{"name":"ThemeEditor.Controls.ColorPicker","note":"Color picker controls, styles, and theme editor primitives.","url":"https://www.nuget.org/packages/ThemeEditor.Controls.ColorPicker"}],"highlights":["Spectrum and channel editing","Palette workflows","Alpha support","Reusable Avalonia styles"],"audience":["Theme and design-tool authors","Image, vector, and diagram editors","Applications with rich color input"],"compatibility":[{"label":"Avalonia","value":"Supported","state":"ready"},{"label":"Alpha","value":"Supported","state":"ready"},{"label":"Palettes","value":"Supported","state":"ready"},{"label":"Theme editor","value":"Included","state":"ready"}],"links":[{"label":"Repository","href":"https://github.com/wieslawsoltes/ColorPicker"},{"label":"Issues","href":"https://github.com/wieslawsoltes/ColorPicker/issues"},{"label":"Releases","href":"https://github.com/wieslawsoltes/ColorPicker/releases"}],"related":["effector","svg-skia","core2d"],"capabilities":[]},{"slug":"htmlml","order":23,"name":"HtmlML","eyebrow":"HTML semantics for native Avalonia UI","description":"An HTML-inspired markup system for native Avalonia controls, paired with a reusable JavaScript and TypeScript runtime, DOM-style APIs, events, styling, and Canvas rendering.","statement":"Write familiar HTML-shaped markup and script native Avalonia controls—without embedding a browser.","category":"Avalonia","tier":"Flagship","status":"Preview","featured":true,"accent":"#ff8f72","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/htmlml/","repository":{"name":"wieslawsoltes/HtmlML","url":"https://github.com/wieslawsoltes/HtmlML"},"packages":[{"name":"HtmlML","note":"HTML-like Avalonia elements, styling, document structure, scripts, and Canvas.","url":"https://github.com/wieslawsoltes/HtmlML/tree/main/src/HtmlML"},{"name":"JavaScript.Avalonia","note":"Standalone Jint host, DOM bridge, events, TypeScript, timers, modules, and Canvas APIs.","url":"https://github.com/wieslawsoltes/HtmlML/tree/main/src/JavaScript.Avalonia"}],"highlights":["Native HTML-like Avalonia elements","CSS-inspired classes and inline styles","JavaScript, TypeScript, DOM, and events","Canvas 2D and WebGL-oriented scripting"],"audience":["Avalonia teams bringing web markup concepts into native applications","Tool authors embedding scriptable native UI surfaces","Developers building hybrid C#/JavaScript or TypeScript workflows without a WebView"],"compatibility":[{"label":"Avalonia","value":"Native desktop targets","state":"ready"},{"label":"JavaScript","value":"Embedded Jint runtime","state":"ready"},{"label":"TypeScript","value":"Embedded transpilation","state":"ready"},{"label":"NuGet","value":"Publication planned","state":"planned"}],"links":[{"label":"HtmlML guide","href":"https://github.com/wieslawsoltes/HtmlML/blob/main/src/HtmlML/README.md"},{"label":"JavaScript.Avalonia guide","href":"https://github.com/wieslawsoltes/HtmlML/blob/main/src/JavaScript.Avalonia/README.md"},{"label":"Samples","href":"https://github.com/wieslawsoltes/HtmlML/tree/main/samples"}],"related":["xaml-playground","nativewebview","nxui"],"capabilities":[{"id":"htmlml/native-markup","slug":"native-markup","order":23,"name":"Native HTML Markup","eyebrow":"HTML semantics mapped to Avalonia","description":"HtmlML provides HTML-shaped XAML elements for headings, text, lists, navigation, sections, media, links, scripts, styles, and Canvas while creating normal native Avalonia controls.","status":"Preview","url":"https://wieslawsoltes.github.io/Home/projects/htmlml/native-markup/","sourcePath":"src/HtmlML","docsPath":"src/HtmlML/README.md","packages":[{"name":"HtmlML","note":"HTML-like Avalonia elements, document structure, styling, scripts, and Canvas.","url":"https://github.com/wieslawsoltes/HtmlML/tree/main/src/HtmlML"}],"highlights":["30+ HTML-shaped elements","Native Avalonia control output","Document, semantic, and media tags","Extensible element base classes"],"related":["htmlml/css-styling","htmlml/javascript-runtime","htmlml/canvas-playground"]},{"id":"htmlml/css-styling","slug":"css-styling","order":24,"name":"CSS-inspired Styling","eyebrow":"Web-shaped values, Avalonia properties","description":"Stylesheet links, style elements, classes, inline declarations, selectors, and value converters translate familiar CSS-oriented authoring into Avalonia styling and properties.","status":"Preview","url":"https://wieslawsoltes.github.io/Home/projects/htmlml/css-styling/","sourcePath":"src/HtmlML/Css","packages":[{"name":"HtmlML","note":"CSS converter, runtime style applier, classes, links, style tags, and inline declarations.","url":"https://github.com/wieslawsoltes/HtmlML/tree/main/src/HtmlML/Css"}],"highlights":["Stylesheet and style elements","Classes and inline declarations","CSS-to-Avalonia value conversion","Runtime style application"],"related":["htmlml/native-markup","htmlml/javascript-runtime"]},{"id":"htmlml/javascript-runtime","slug":"javascript-runtime","order":25,"name":"JavaScript.Avalonia","eyebrow":"Script native UI without a WebView","description":"A standalone Jint-powered runtime exposes window, document, DOM queries and mutation, routed events, timers, animation frames, CommonJS modules, HTTP/assets, and embedded TypeScript transpilation to any Avalonia TopLevel.","status":"Preview","url":"https://wieslawsoltes.github.io/Home/projects/htmlml/javascript-runtime/","sourcePath":"src/JavaScript.Avalonia","docsPath":"src/JavaScript.Avalonia/README.md","packages":[{"name":"JavaScript.Avalonia","note":"Jint host, DOM bridge, event propagation, modules, TypeScript, timers, animation, and Canvas.","url":"https://github.com/wieslawsoltes/HtmlML/tree/main/src/JavaScript.Avalonia"}],"highlights":["DOM queries and native tree mutation","Capture, target, and bubble event phases","TypeScript and CommonJS modules","Timers and requestAnimationFrame"],"related":["htmlml/native-markup","htmlml/canvas-playground","htmlml/css-styling"]},{"id":"htmlml/canvas-playground","slug":"canvas-playground","order":26,"name":"Canvas & Playground","eyebrow":"Scriptable drawing and live experiments","description":"Canvas 2D, WebGL-oriented rendering, pointer events, animation frames, editable scripts, XAML preview, file bridges, console output, and TypeScript demos form an immediate native scripting laboratory.","status":"Preview","url":"https://wieslawsoltes.github.io/Home/projects/htmlml/canvas-playground/","sourcePath":"samples/JavaScriptPlayground","packages":[{"name":"HtmlML Canvas","note":"HTML-shaped canvas element and scripting bridge.","url":"https://github.com/wieslawsoltes/HtmlML/tree/main/src/HtmlML/Html/canvas.cs"},{"name":"JavaScript Playground","note":"Interactive Avalonia host with source, preview, scripts, and console.","url":"https://github.com/wieslawsoltes/HtmlML/tree/main/samples/JavaScriptPlayground"}],"highlights":["Canvas 2D drawing surface","WebGL-oriented rendering context","Live JavaScript and TypeScript demos","XAML preview, files, and console bridges"],"related":["htmlml/javascript-runtime","htmlml/native-markup"]}]},{"slug":"inspector","order":24,"name":"Inspector","eyebrow":"Agent-ready Avalonia inspection","description":"A .NET CLI and runtime infrastructure for inspecting and manipulating live Avalonia visual and logical trees through host, process, and deterministic automation workflows.","statement":"Inspect, understand, and reshape a running Avalonia interface from the terminal or an agent.","category":"Tools","tier":"Flagship","status":"Active","featured":true,"accent":"#72d6ff","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/inspector/","repository":{"name":"wieslawsoltes/Inspector","url":"https://github.com/wieslawsoltes/Inspector"},"packages":[{"name":"Inspector.Cli.Tool","note":"Global .NET tool with deterministic text and JSON commands.","url":"https://www.nuget.org/packages/Inspector.Cli.Tool"},{"name":"Inspector.AvaloniaAdapter","note":"Visual and logical tree, property, and mutation adapters for Avalonia.","url":"https://www.nuget.org/packages/Inspector.AvaloniaAdapter"},{"name":"Inspector.Host","note":"In-process host runtime and mutation services.","url":"https://www.nuget.org/packages/Inspector.Host"},{"name":"Inspector.Transport","note":"Local transport, sessions, and authorization models.","url":"https://www.nuget.org/packages/Inspector.Transport"},{"name":"Inspector.Contracts","note":"Shared tree, property, mutation, schema, and diagnostic contracts.","url":"https://www.nuget.org/packages/Inspector.Contracts"}],"highlights":["Visual and logical tree inspection","Live properties and structural mutation","Host, process, and deterministic stub modes","Stable JSON for tools and coding agents"],"audience":["Avalonia developers debugging live tree and property state","Tool authors building inspection or preview workflows","Coding agents that need deterministic, scriptable UI feedback"],"compatibility":[{"label":".NET","value":"10.0","state":"ready"},{"label":"Avalonia","value":"Host and adapter","state":"ready"},{"label":"Host / process","value":"Connection modes","state":"ready"},{"label":"Agent automation","value":"Deterministic JSON","state":"ready"}],"links":[{"label":"CLI guide","href":"https://github.com/wieslawsoltes/Inspector/blob/main/README.md#cli-usage-examples"},{"label":"Sample application","href":"https://github.com/wieslawsoltes/Inspector/tree/main/samples/Inspector.SampleApp"},{"label":"Agent skill","href":"https://github.com/wieslawsoltes/Inspector/blob/main/SKILL/inspector-avalonia-cli/SKILL.md"},{"label":"Repository","href":"https://github.com/wieslawsoltes/Inspector"}],"related":["cdp","avalonia-development-plugin","xaml-playground","devtools-uno"],"capabilities":[{"id":"inspector/runtime-trees","slug":"runtime-trees","order":38,"name":"Runtime Trees","eyebrow":"Live Avalonia topology","description":"Inspector enumerates both visual and logical Avalonia trees with stable node identities, hierarchy, type, name, classes, bounds, visibility, and schema-aware metadata.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/inspector/runtime-trees/","sourcePath":"src/Inspector.AvaloniaAdapter/TreeIntrospection","packages":[{"name":"Inspector.AvaloniaAdapter","note":"Avalonia visual and logical tree traversal and node adapters.","url":"https://www.nuget.org/packages/Inspector.AvaloniaAdapter"},{"name":"Inspector.Contracts","note":"Portable tree, node, and schema contracts.","url":"https://www.nuget.org/packages/Inspector.Contracts"}],"highlights":["Visual and logical tree snapshots","Stable node identifiers","Type, name, classes, bounds, and visibility","Portable contracts for custom clients"],"related":["inspector/properties","inspector/sessions","inspector/agent-cli"]},{"id":"inspector/properties","slug":"properties","order":39,"name":"Properties & Value Sources","eyebrow":"Explain live control state","description":"Property inspection reports names, owners, types, values, writability, and value sources for a selected Avalonia node, then exposes focused property changes through the same session.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/inspector/properties/","sourcePath":"src/Inspector.AvaloniaAdapter","packages":[{"name":"Inspector.AvaloniaAdapter","note":"Property discovery, normalization, metadata, and Avalonia mutation adapters.","url":"https://www.nuget.org/packages/Inspector.AvaloniaAdapter"}],"highlights":["Property names, owners, types, and values","Local and normalized value-source metadata","Writable property discovery","Session-aware live updates"],"related":["inspector/runtime-trees","inspector/mutations","inspector/agent-cli"]},{"id":"inspector/mutations","slug":"mutations","order":40,"name":"Live Tree Mutation","eyebrow":"Edit the running interface","description":"Property and structural mutations can set values, insert controls, remove nodes, move siblings, reparent branches, or batch several changes, with dry-run validation available before applying edits.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/inspector/mutations/","sourcePath":"src/Inspector.Host/Mutation","packages":[{"name":"Inspector.Host","note":"Mutation engine, validation, diagnostics, and runtime orchestration.","url":"https://www.nuget.org/packages/Inspector.Host"},{"name":"Inspector.Contracts","note":"Portable mutation commands and results.","url":"https://www.nuget.org/packages/Inspector.Contracts"}],"highlights":["Set, insert, remove, move, and reparent","Dry-run validation","Batch mutation in one command","Structured diagnostics and operation identifiers"],"related":["inspector/properties","inspector/runtime-trees","inspector/agent-cli"]},{"id":"inspector/agent-cli","slug":"agent-cli","order":41,"name":"CLI & Agent Automation","eyebrow":"Deterministic UI feedback loops","description":"The global .NET tool provides stub, host, and process connection modes, persistent sessions, deterministic JSON, explicit diagnostics, and stable exit codes for terminals, scripts, tests, and coding agents.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/inspector/agent-cli/","sourcePath":"src/Inspector.Cli","docsPath":"README.md","packages":[{"name":"Inspector.Cli.Tool","note":"Command-line client and global .NET tool.","url":"https://www.nuget.org/packages/Inspector.Cli.Tool"},{"name":"Inspector.Transport","note":"Local sessions, authorization, and request transport.","url":"https://www.nuget.org/packages/Inspector.Transport"}],"highlights":["Stub, host, and process modes","Persistent session identifiers","Deterministic JSON and explicit exit codes","Codex skill for repeatable workflows"],"related":["inspector/sessions","inspector/runtime-trees","inspector/mutations"]},{"id":"inspector/sessions","slug":"sessions","order":42,"name":"Host & Process Sessions","eyebrow":"Choose the right attachment model","description":"Host mode targets an instrumented local runtime; process mode resolves an existing application by PID or name and consumes published live snapshots; stub mode supplies deterministic fixtures for workflow validation.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/inspector/sessions/","sourcePath":"src/Inspector.Transport","packages":[{"name":"Inspector.Host","note":"In-process runtime and endpoint abstractions.","url":"https://www.nuget.org/packages/Inspector.Host"},{"name":"Inspector.Transport","note":"Session state, local transport, authorization, and connection contracts.","url":"https://www.nuget.org/packages/Inspector.Transport"}],"highlights":["Instrumented host endpoints","PID or process-name targeting","Live snapshot availability signal","Deterministic stub fixtures"],"related":["inspector/agent-cli","inspector/runtime-trees","inspector/mutations"]}]},{"slug":"nativewebview","order":25,"name":"NativeWebView","eyebrow":"Native browser embedding","description":"A cross-platform Avalonia WebView that uses each operating system’s browser engine, with embedded, GPU-surface, offscreen, dialog, and authentication workflows.","statement":"Embed the platform browser without shipping another Chromium runtime.","category":"Controls","tier":"Flagship","status":"Preview","featured":true,"accent":"#77cfff","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/nativewebview/","repository":{"name":"wieslawsoltes/NativeWebView","url":"https://github.com/wieslawsoltes/NativeWebView"},"packages":[{"name":"NativeWebView","note":"Avalonia control and cross-platform public API.","url":"https://www.nuget.org/packages/NativeWebView"},{"name":"NativeWebView.Core","note":"Backend contracts, navigation, scripting, and messaging.","url":"https://www.nuget.org/packages/NativeWebView.Core"},{"name":"NativeWebView.Platform.Windows","note":"Windows WebView2 platform backend.","url":"https://www.nuget.org/packages/NativeWebView.Platform.Windows"},{"name":"NativeWebView.Auth","note":"System-browser authentication flows.","url":"https://www.nuget.org/packages/NativeWebView.Auth"}],"highlights":["Native platform engines","Embedded and offscreen modes","JavaScript messaging","Desktop, mobile, and browser targets"],"audience":["Avalonia apps embedding trusted web content","OAuth and system-browser authentication flows","Hybrid desktop tools that need low distribution weight"],"compatibility":[{"label":"Windows / macOS / Linux","value":"Control + dialog + auth","state":"ready"},{"label":"iOS / Android","value":"Control + auth","state":"partial"},{"label":"Browser","value":"Control + auth","state":"partial"},{"label":"Dialog on mobile/web","value":"Unsupported","state":"planned"}],"links":[{"label":"Documentation","href":"https://wieslawsoltes.github.io/NativeWebView/"},{"label":"Samples","href":"https://github.com/wieslawsoltes/NativeWebView/tree/main/samples"}],"related":["avalonia-silknet","cdp","xaml-playground"],"capabilities":[]},{"slug":"avalonia-development-plugin","order":26,"name":"Avalonia Development Plugin","eyebrow":"Agent-ready framework expertise","description":"A Codex plugin that packages focused Avalonia implementation and migration skills for controls, rendering, XAML, accessibility, testing, performance, and platform integration.","statement":"Turn framework knowledge into repeatable, source-grounded development workflows.","category":"Tools","tier":"Flagship","status":"Active","featured":true,"accent":"#b394ff","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/avalonia-development-plugin/","repository":{"name":"wieslawsoltes/development-plugin-for-avalonia","url":"https://github.com/wieslawsoltes/development-plugin-for-avalonia"},"packages":[{"name":"development-plugin-for-avalonia","note":"Plugin manifest, focused skills, references, and reusable workflows.","url":"https://github.com/wieslawsoltes/development-plugin-for-avalonia"}],"highlights":["Focused Avalonia skills","Source-grounded guidance","Avalonia 12 migration lane","Repo-local and plugin discovery"],"audience":["Codex users building Avalonia applications","Teams standardizing framework guidance","Maintainers performing source-backed migrations and reviews"],"compatibility":[{"label":"Avalonia 11.3.12","value":"Pinned default","state":"ready"},{"label":"Avalonia 12","value":"Migration lane","state":"partial"},{"label":"Repo-local skills","value":"Supported","state":"ready"},{"label":"Codex plugin","value":"Supported","state":"ready"}],"links":[{"label":"Skill catalog","href":"https://github.com/wieslawsoltes/development-plugin-for-avalonia/tree/main/skills"}],"related":["cdp","xaml-visual-editor","codexgui"],"capabilities":[]},{"slug":"procad","order":27,"name":"ProCad","eyebrow":"Open CAD platform","description":"A modular .NET CAD platform for DWG and DXF inspection, rendering, editing, scripting, and collaboration across desktop and browser hosts.","statement":"A modern, extensible CAD stack built openly on .NET.","category":"Tools","tier":"Experimental","status":"Preview","featured":false,"accent":"#ffb66f","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/procad/","repository":{"name":"wieslawsoltes/ProCad","url":"https://github.com/wieslawsoltes/ProCad"},"packages":[{"name":"ProCadSharp.Core","note":"CAD document model and shared primitives.","url":"https://www.nuget.org/packages/ProCadSharp.Core"},{"name":"ProCadSharp.IO","note":"DWG and DXF loading and persistence.","url":"https://www.nuget.org/packages/ProCadSharp.IO"},{"name":"ProCadSharp.Controls.Avalonia","note":"Avalonia viewer and editing controls.","url":"https://www.nuget.org/packages/ProCadSharp.Controls.Avalonia"},{"name":"ProCadSharp.Scripting","note":"Programmable CAD workflows.","url":"https://www.nuget.org/packages/ProCadSharp.Scripting"}],"highlights":["DWG and DXF workflows","Rendering and editing","Scripting and collaboration","Avalonia, Uno, and MAUI controls"],"audience":["CAD viewers and vertical engineering tools","DWG/DXF inspection and automation","Teams needing an extensible .NET CAD core"],"compatibility":[{"label":".NET","value":"10","state":"ready"},{"label":"DWG / DXF","value":"Active development","state":"partial"},{"label":"Avalonia / Browser","value":"Hosts","state":"partial"},{"label":"Uno / MAUI","value":"Control packages","state":"partial"}],"links":[{"label":"Documentation","href":"https://wieslawsoltes.github.io/ProCad/"}],"related":["core2d","panandzoom","progpu"],"capabilities":[]},{"slug":"codexgui","order":28,"name":"CodexGui","eyebrow":"Native Codex workspace","description":"A native Avalonia desktop client for Codex app-server with threads, approvals, rich Markdown, stdio and WebSocket transports, and extensible plugin surfaces.","statement":"A focused native workspace for long-running Codex collaboration.","category":"Uno Platform","tier":"Experimental","status":"Preview","featured":false,"accent":"#89e2bf","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/codexgui/","repository":{"name":"wieslawsoltes/CodexGui","url":"https://github.com/wieslawsoltes/CodexGui"},"packages":[{"name":"CodexGui.App","note":"Desktop application and global .NET tool.","url":"https://www.nuget.org/packages/CodexGui.App"},{"name":"CodexGui.AppServer","note":"Typed app-server protocol client and transports.","url":"https://www.nuget.org/packages/CodexGui.AppServer"},{"name":"CodexGui.Markdown","note":"Rich Markdown rendering for Avalonia.","url":"https://www.nuget.org/packages/CodexGui.Markdown"}],"highlights":["Native Avalonia client","Threads and approvals","stdio and WebSocket transports","Rich Markdown and plugins"],"audience":["Developers who want a native Codex client","App-server integration authors","Avalonia and Uno teams exploring extensible agent workspaces"],"compatibility":[{"label":"Avalonia desktop","value":"Current host","state":"ready"},{"label":"Uno Platform","value":"Platform direction","state":"partial"},{"label":"stdio / WebSocket","value":"Supported","state":"ready"},{"label":"Protocol changes","value":"Tracked","state":"partial"}],"links":[{"label":"Documentation","href":"https://wieslawsoltes.github.io/CodexGui/"}],"related":["avalonia-development-plugin","cdp","xaml-visual-editor"],"capabilities":[]},{"slug":"devtools-uno","order":29,"name":"DevToolsUno","eyebrow":"In-app Uno diagnostics","description":"An in-app diagnostics suite for Uno Platform applications with live tree, property, binding, resource, style, event, asset, screenshot, and memory inspection.","statement":"Inspect the running Uno interface without leaving the application.","category":"Uno Platform","tier":"Flagship","status":"Active","featured":true,"accent":"#74d7f7","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/devtools-uno/","repository":{"name":"wieslawsoltes/DevToolsUno","url":"https://github.com/wieslawsoltes/DevToolsUno"},"packages":[{"name":"DevToolsUno","note":"Complete diagnostics surface and attachable Uno Platform runtime tooling.","url":"https://www.nuget.org/packages/DevToolsUno"}],"highlights":["Logical and visual trees","Bindings, resources, and styles","Events, assets, and memory","Screenshots and keyboard inspection"],"audience":["Uno Platform application teams","Control and design-system authors","Developers diagnosing bindings, styles, events, or retained objects"],"compatibility":[{"label":".NET","value":"9.0","state":"ready"},{"label":"Uno.WinUI","value":"6.5.x","state":"ready"},{"label":"Desktop targets","value":"Primary","state":"ready"},{"label":"Screenshot saving","value":"Pluggable","state":"ready"}],"links":[{"label":"Sample","href":"https://github.com/wieslawsoltes/DevToolsUno/tree/main/samples/DevToolsUno.Sample"},{"label":"Repository","href":"https://github.com/wieslawsoltes/DevToolsUno"}],"related":["codexgui","prodatagrid","cdp"],"capabilities":[]},{"slug":"xaml-playground","order":30,"name":"XamlPlayground","eyebrow":"Interactive XAML design","description":"An interactive Avalonia XAML editor, live previewer, and WYSIWYG designer with synchronized structure, properties, toolbox, diagnostics, and shareable gists.","statement":"Write, run, and visually reshape Avalonia XAML in one immediate workspace.","category":"Tools","tier":"Flagship","status":"Active","featured":true,"accent":"#a98cff","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/xaml-playground/","repository":{"name":"wieslawsoltes/XamlPlayground","url":"https://github.com/wieslawsoltes/XamlPlayground"},"packages":[{"name":"XamlPlayground","note":"Core Avalonia XAML editor, previewer, and visual designer.","url":"https://www.nuget.org/packages/XamlPlayground"},{"name":"XamlPlayground.AvaloniaEdit.Minimap","note":"Minimap and inline editor extension controls for AvaloniaEdit.","url":"https://www.nuget.org/packages/XamlPlayground.AvaloniaEdit.Minimap"}],"highlights":["Live XAML preview","WYSIWYG canvas editing","Toolbox, structure, and properties","Headless designer coverage"],"audience":["Avalonia developers learning or prototyping XAML","Tool authors embedding live XAML editing","Design-system teams testing controls and themes"],"compatibility":[{"label":"Avalonia desktop","value":"Supported","state":"ready"},{"label":"Avalonia browser","value":"Live site","state":"ready"},{"label":"Run / design modes","value":"Explicit","state":"ready"},{"label":"Headless tests","value":"Designer coverage","state":"ready"}],"links":[{"label":"Open playground","href":"https://wieslawsoltes.github.io/XamlPlayground/"},{"label":"Repository","href":"https://github.com/wieslawsoltes/XamlPlayground"},{"label":"Headless tests","href":"https://github.com/wieslawsoltes/XamlPlayground/search?q=headless&type=code"}],"related":["xaml-visual-editor","prodatagrid","avalonia-development-plugin"],"capabilities":[]},{"slug":"reactive-generator","order":31,"name":"ReactiveGenerator","eyebrow":"Generated reactive state","description":"A Roslyn source generator, analyzer, and code-fix package for reactive properties, computed observable properties, and change notification.","statement":"Keep reactive view models expressive while generated code carries the ceremony.","category":"Tools","tier":"Maintained","status":"Maintained","featured":false,"accent":"#9b8cff","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/reactive-generator/","repository":{"name":"wieslawsoltes/ReactiveGenerator","url":"https://github.com/wieslawsoltes/ReactiveGenerator"},"packages":[{"name":"ReactiveGenerator","note":"Source generator, attributes, analyzer, code fixes, and build integration.","url":"https://www.nuget.org/packages/ReactiveGenerator"}],"highlights":["INotifyPropertyChanged and ReactiveUI patterns","ObservableAsProperty generation","Analyzers and bulk code fixes","Deterministic design-time output"],"audience":["ReactiveUI and MVVM application teams","Codebases migrating hand-written notification properties","Roslyn users studying production source generation"],"compatibility":[{"label":".NET","value":"9.0+","state":"ready"},{"label":"C#","value":"13 partial properties","state":"ready"},{"label":"ReactiveUI","value":"Supported","state":"ready"},{"label":"INotifyPropertyChanged","value":"Supported","state":"ready"}],"links":[{"label":"Usage guide","href":"https://github.com/wieslawsoltes/ReactiveGenerator#quick-start-samples"},{"label":"Demo","href":"https://github.com/wieslawsoltes/ReactiveGenerator/tree/main/ReactiveGeneratorDemo"}],"related":["static-view-locator","xaml-to-csharp-generator","xaml-behaviors"],"capabilities":[{"id":"reactive-generator/reactive-properties","slug":"reactive-properties","order":55,"name":"Reactive Properties","eyebrow":"Generated change notification","description":"Class- or property-level attributes generate partial property implementations for standard INotifyPropertyChanged and ReactiveUI ReactiveObject patterns, including cached event arguments and inheritance-aware behavior.","status":"Maintained","url":"https://wieslawsoltes.github.io/Home/projects/reactive-generator/reactive-properties/","sourcePath":"ReactiveGenerator/ReactiveGenerator.cs","packages":[{"name":"ReactiveGenerator","note":"Attributes, reactive property generator, build props, and runtime support.","url":"https://www.nuget.org/packages/ReactiveGenerator"}],"highlights":["INotifyPropertyChanged and ReactiveObject support","Class-level or granular property attributes","Inheritance and nullable annotations","Cached, weak, thread-safe event infrastructure"],"related":["reactive-generator/computed-properties","reactive-generator/analyzers-code-fixes"]},{"id":"reactive-generator/computed-properties","slug":"computed-properties","order":56,"name":"Computed Observable Properties","eyebrow":"ObservableAsProperty without ceremony","description":"ObservableAsProperty attributes generate read-only computed properties and helpers, while generated WhenAny methods make reactive dependency pipelines concise and type-safe.","status":"Maintained","url":"https://wieslawsoltes.github.io/Home/projects/reactive-generator/computed-properties/","sourcePath":"ReactiveGenerator/ObservableAsPropertyHelperGenerator.cs","packages":[{"name":"ReactiveGenerator","note":"ObservableAsPropertyHelper and WhenAnyValue source generation.","url":"https://www.nuget.org/packages/ReactiveGenerator"}],"highlights":["Generated ObservableAsPropertyHelper storage","Generated WhenAny extension methods","Computed validation and collection state","ReactiveUI-compatible pipelines"],"related":["reactive-generator/reactive-properties","reactive-generator/analyzers-code-fixes"]},{"id":"reactive-generator/analyzers-code-fixes","slug":"analyzers-code-fixes","order":57,"name":"Analyzers & Code Fixes","eyebrow":"Convert boilerplate at design time","description":"Roslyn diagnostics recognize convertible property patterns and offer focused or bulk refactorings while validating partial declarations, accessors, generics, and inheritance.","status":"Maintained","url":"https://wieslawsoltes.github.io/Home/projects/reactive-generator/analyzers-code-fixes/","sourcePath":"ReactiveGenerator/ReactivePropertyAnalyzer.cs","packages":[{"name":"ReactiveGenerator","note":"Analyzer, code-fix provider, generator diagnostics, and snapshot-tested output.","url":"https://www.nuget.org/packages/ReactiveGenerator"}],"highlights":["Convertible property detection","File, project, and solution-wide fixes","Design-time validation","Deterministic generated-source snapshots"],"related":["reactive-generator/reactive-properties","reactive-generator/computed-properties"]}]},{"slug":"static-view-locator","order":32,"name":"StaticViewLocator","eyebrow":"Reflection-free Avalonia views","description":"A compile-time Avalonia view locator with convention mapping, generic, base-class, and interface fallbacks, and configurable MSBuild rules.","statement":"Resolve view models to views at compile time and keep runtime discovery AOT-friendly.","category":"Avalonia","tier":"Maintained","status":"Maintained","featured":false,"accent":"#6fc9ff","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/static-view-locator/","repository":{"name":"wieslawsoltes/StaticViewLocator","url":"https://github.com/wieslawsoltes/StaticViewLocator"},"packages":[{"name":"StaticViewLocator","note":"Source generator, attribute, and transitive MSBuild configuration.","url":"https://www.nuget.org/packages/StaticViewLocator"}],"highlights":["Compile-time factory tables","Generic and inheritance fallback","Configurable naming conventions","Optional referenced-assembly scanning"],"audience":["Avalonia MVVM applications","NativeAOT-conscious desktop teams","Modular applications with inherited or interface view models"],"compatibility":[{"label":"Avalonia","value":"IDataTemplate","state":"ready"},{"label":"NativeAOT","value":"Reflection-free path","state":"ready"},{"label":"Referenced assemblies","value":"Opt-in scan","state":"ready"},{"label":"Open generics","value":"Supported","state":"ready"}],"links":[{"label":"Repository","href":"https://github.com/wieslawsoltes/StaticViewLocator"},{"label":"Issues","href":"https://github.com/wieslawsoltes/StaticViewLocator/issues"},{"label":"Releases","href":"https://github.com/wieslawsoltes/StaticViewLocator/releases"}],"related":["reactive-generator","xaml-to-csharp-generator","avalonia-development-plugin"],"capabilities":[{"id":"static-view-locator/convention-mapping","slug":"convention-mapping","order":58,"name":"Convention Mapping","eyebrow":"Compile-time view factories","description":"The source generator maps ViewModel namespaces and suffixes to Avalonia views and emits direct Type-to-factory lookup tables without runtime reflection.","status":"Maintained","url":"https://wieslawsoltes.github.io/Home/projects/static-view-locator/convention-mapping/","sourcePath":"StaticViewLocator/StaticViewLocatorGenerator.cs","packages":[{"name":"StaticViewLocator","note":"Generator, StaticViewLocator attribute, and emitted factory tables.","url":"https://www.nuget.org/packages/StaticViewLocator"}],"highlights":["ViewModels-to-Views namespace replacement","ViewModel-to-View suffix convention","Direct control factories","Missing-view metadata without blocking fallback"],"related":["static-view-locator/fallback-configuration"]},{"id":"static-view-locator/fallback-configuration","slug":"fallback-configuration","order":59,"name":"Fallback & Configuration","eyebrow":"Map real application hierarchies","description":"Exact types, generic definitions, base classes, and interfaces participate in a deterministic fallback order controlled by compiler-visible MSBuild properties.","status":"Maintained","url":"https://wieslawsoltes.github.io/Home/projects/static-view-locator/fallback-configuration/","sourcePath":"StaticViewLocator/buildTransitive/StaticViewLocator.props","packages":[{"name":"StaticViewLocator","note":"Fallback helpers and transitive compiler-visible configuration.","url":"https://www.nuget.org/packages/StaticViewLocator"}],"highlights":["Exact, generic, base, and interface lookup","Referenced-assembly opt-in","Custom namespace and type transforms","Additional view base types and accessibility rules"],"related":["static-view-locator/convention-mapping"]}]},{"slug":"xaml-to-csharp-generator","order":33,"name":"XamlToCSharpGenerator","eyebrow":"Source-generated XAML stack","description":"An Avalonia XAML compiler stack with typed bindings, runtime loading, hot reload and design, language services, editor controls, LSP, MCP, preview, and VS Code tooling.","statement":"Make XAML compilation, semantics, editing, preview, and automation one coherent source-generated system.","category":"Tools","tier":"Maintained","status":"Active","featured":false,"accent":"#b08cff","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/xaml-to-csharp-generator/","repository":{"name":"wieslawsoltes/XamlToCSharpGenerator","url":"https://github.com/wieslawsoltes/XamlToCSharpGenerator"},"packages":[{"name":"XamlToCSharpGenerator","note":"Recommended compiler, build, and runtime umbrella package.","url":"https://www.nuget.org/packages/XamlToCSharpGenerator"},{"name":"XamlToCSharpGenerator.LanguageService","note":"Reusable XAML and inline C# semantic services.","url":"https://www.nuget.org/packages/XamlToCSharpGenerator.LanguageService"},{"name":"XamlToCSharpGenerator.McpServer.Tool","note":"Workspace MCP server global tool.","url":"https://www.nuget.org/packages/XamlToCSharpGenerator.McpServer.Tool"}],"highlights":["Source-generated Avalonia XAML","x:Bind and inline C# semantics","VS Code, LSP, editor, and preview","Hot reload, hot design, and MCP hosts"],"audience":["Avalonia application and framework authors","IDE, editor, and language-tool developers","Teams building agent-driven XAML workflows"],"compatibility":[{"label":"Avalonia","value":"SourceGen backend","state":"ready"},{"label":"x:Bind / compiled binding","value":"Typed semantics","state":"ready"},{"label":"Hot reload / design","value":"Integrated","state":"ready"},{"label":"VS Code / LSP / MCP","value":"Shipped","state":"ready"}],"links":[{"label":"Documentation","href":"https://github.com/wieslawsoltes/XamlToCSharpGenerator/tree/main/site/articles"},{"label":"VS Code tooling","href":"https://github.com/wieslawsoltes/XamlToCSharpGenerator/tree/main/tools/vscode/axsg-language-server"},{"label":"Samples","href":"https://github.com/wieslawsoltes/XamlToCSharpGenerator/tree/main/samples"}],"related":["xaml-playground","xaml-visual-editor","avalonia-development-plugin","inspector"],"capabilities":[{"id":"xaml-to-csharp-generator/sourcegen-compiler","slug":"sourcegen-compiler","order":60,"name":"SourceGen XAML Compiler","eyebrow":"XAML becomes inspectable C#","description":"A Roslyn incremental pipeline parses, binds, validates, and emits Avalonia XAML as generated C#, with framework-neutral compiler layers and an Avalonia semantic adapter.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/xaml-to-csharp-generator/sourcegen-compiler/","sourcePath":"src/XamlToCSharpGenerator.Compiler","docsPath":"README.md","packages":[{"name":"XamlToCSharpGenerator","note":"Recommended build and runtime integration.","url":"https://www.nuget.org/packages/XamlToCSharpGenerator"},{"name":"XamlToCSharpGenerator.Compiler","note":"Incremental host orchestration.","url":"https://www.nuget.org/packages/XamlToCSharpGenerator.Compiler"},{"name":"XamlToCSharpGenerator.Avalonia","note":"Avalonia binder and emitter.","url":"https://www.nuget.org/packages/XamlToCSharpGenerator.Avalonia"}],"highlights":["Incremental Roslyn generation","Framework-neutral semantic core","Avalonia binder and emitter","Runtime URI loading and migration weaving"],"related":["xaml-to-csharp-generator/typed-bindings-code","xaml-to-csharp-generator/language-tooling","xaml-to-csharp-generator/hot-reload-mcp"]},{"id":"xaml-to-csharp-generator/typed-bindings-code","slug":"typed-bindings-code","order":61,"name":"Typed Bindings & Inline C#","eyebrow":"Semantic expressions inside markup","description":"Compiled binding, x:Bind, C# expressions, interpolation, inline code blocks, event lambdas, bind-back, and dependency analysis share Roslyn-backed semantics.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/xaml-to-csharp-generator/typed-bindings-code/","sourcePath":"src/XamlToCSharpGenerator.ExpressionSemantics","docsPath":"site/articles/xaml/xbind.md","packages":[{"name":"XamlToCSharpGenerator.ExpressionSemantics","note":"Roslyn expression rewriting and dependency analysis.","url":"https://www.nuget.org/packages/XamlToCSharpGenerator.ExpressionSemantics"},{"name":"XamlToCSharpGenerator.MiniLanguageParsing","note":"Low-allocation binding and markup parsers.","url":"https://www.nuget.org/packages/XamlToCSharpGenerator.MiniLanguageParsing"}],"highlights":["Typed x:Bind with bind-back","C# expression and interpolation forms","Inline event handlers and code blocks","Roslyn dependency and type analysis"],"related":["xaml-to-csharp-generator/sourcegen-compiler","xaml-to-csharp-generator/language-tooling"]},{"id":"xaml-to-csharp-generator/language-tooling","slug":"language-tooling","order":62,"name":"Language & Preview Tooling","eyebrow":"One semantic engine, many editors","description":"Completion, diagnostics, definitions, references, hover, inlay hints, rename, semantic highlighting, inline C# intelligence, and Avalonia preview power a VS Code extension, LSP tool, and embeddable editor control.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/xaml-to-csharp-generator/language-tooling/","sourcePath":"src/XamlToCSharpGenerator.LanguageService","docsPath":"tools/vscode/axsg-language-server/README.md","packages":[{"name":"XamlToCSharpGenerator.LanguageService","note":"Shared semantic language-service core.","url":"https://www.nuget.org/packages/XamlToCSharpGenerator.LanguageService"},{"name":"XamlToCSharpGenerator.Editor.Avalonia","note":"AvaloniaEdit-based AXAML editor.","url":"https://www.nuget.org/packages/XamlToCSharpGenerator.Editor.Avalonia"},{"name":"XamlToCSharpGenerator.LanguageServer.Tool","note":"axsg-lsp global tool.","url":"https://www.nuget.org/packages/XamlToCSharpGenerator.LanguageServer.Tool"}],"highlights":["Completion, diagnostics, navigation, and rename","Inline C# semantic tooling","VS Code and reusable Avalonia editor","Source-generated and XamlX preview modes"],"related":["xaml-to-csharp-generator/sourcegen-compiler","xaml-to-csharp-generator/typed-bindings-code","xaml-to-csharp-generator/hot-reload-mcp"]},{"id":"xaml-to-csharp-generator/hot-reload-mcp","slug":"hot-reload-mcp","order":63,"name":"Hot Reload, Hot Design & MCP","eyebrow":"Live tooling for humans and agents","description":"Workspace, runtime, and preview MCP hosts expose semantic queries, preview lifecycle, source-generated hot reload, hot design, studio state, and remote protocol contracts.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/xaml-to-csharp-generator/hot-reload-mcp/","sourcePath":"src/XamlToCSharpGenerator.RemoteProtocol","docsPath":"site/articles/guides/mcp-servers-and-live-tooling.md","packages":[{"name":"XamlToCSharpGenerator.McpServer.Tool","note":"axsg-mcp workspace host.","url":"https://www.nuget.org/packages/XamlToCSharpGenerator.McpServer.Tool"},{"name":"XamlToCSharpGenerator.RemoteProtocol","note":"JSON-RPC, MCP, preview, and studio contracts.","url":"https://www.nuget.org/packages/XamlToCSharpGenerator.RemoteProtocol"},{"name":"XamlToCSharpGenerator.Runtime.Avalonia","note":"Avalonia hot-reload and runtime integration.","url":"https://www.nuget.org/packages/XamlToCSharpGenerator.Runtime.Avalonia"}],"highlights":["Workspace, runtime, and preview hosts","Source-generated hot reload","Hot design and studio state","iOS and remote transport support"],"related":["xaml-to-csharp-generator/language-tooling","xaml-to-csharp-generator/sourcegen-compiler"]}]},{"slug":"printing-tools","order":34,"name":"PrintingTools","eyebrow":"Cross-platform print pipeline","description":"A .NET printing toolkit with discovery, dialogs, preview, pagination, layout, PDF/vector rendering, job submission, and Windows, macOS, and Linux adapters.","statement":"Treat print layout, preview, and platform submission as one portable application service.","category":"Avalonia","tier":"Maintained","status":"Active","featured":false,"accent":"#6fd9bd","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/printing-tools/","repository":{"name":"wieslawsoltes/PrintingTools","url":"https://github.com/wieslawsoltes/PrintingTools"},"packages":[{"name":"PrintingTools","note":"Avalonia bootstrap and automatic platform registration.","url":"https://www.nuget.org/packages/PrintingTools"},{"name":"PrintingTools.Core","note":"Portable contracts, pagination, rendering, options, and diagnostics.","url":"https://www.nuget.org/packages/PrintingTools.Core"},{"name":"PrintingTools.UI","note":"Avalonia page setup and preview surfaces.","url":"https://www.nuget.org/packages/PrintingTools.UI"}],"highlights":["Preview and print sessions","N-up, booklet, and poster layout","Windows, macOS, and Linux adapters","Managed PDF and headless fallbacks"],"audience":["Avalonia applications with print and preview workflows","Reporting and document tools","Teams needing headless PDF and cross-platform print diagnostics"],"compatibility":[{"label":"Windows","value":"Win32 / XPS","state":"ready"},{"label":"macOS","value":"AppKit / Quartz","state":"ready"},{"label":"Linux","value":"CUPS / GTK / portals","state":"ready"},{"label":"Headless","value":"Managed PDF fallback","state":"ready"}],"links":[{"label":"Documentation","href":"https://wieslawsoltes.github.io/PrintingTools/"},{"label":"API reference","href":"https://github.com/wieslawsoltes/PrintingTools/blob/main/docs/printing-api-reference.md"},{"label":"Samples","href":"https://github.com/wieslawsoltes/PrintingTools/tree/main/samples"}],"related":["proedit","svg-to-xaml","native-message-box"],"capabilities":[{"id":"printing-tools/pagination-preview","slug":"pagination-preview","order":64,"name":"Pagination & Preview","eyebrow":"Portable print composition","description":"Documents become page sequences through standard, N-up, booklet, or poster layout, then feed reusable Avalonia page setup and preview windows before submission.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/printing-tools/pagination-preview/","sourcePath":"src/PrintingTools.Core/Pagination","docsPath":"docs/printing-api-reference.md","packages":[{"name":"PrintingTools.Core","note":"Document, ticket, pagination, layout, preview, and rendering models.","url":"https://www.nuget.org/packages/PrintingTools.Core"},{"name":"PrintingTools.UI","note":"Avalonia page setup and preview UI.","url":"https://www.nuget.org/packages/PrintingTools.UI"}],"highlights":["Standard, N-up, booklet, and poster layout","Page setup and preview models","Avalonia preview windows","Vector-aware deterministic pagination"],"related":["printing-tools/platform-adapters","printing-tools/pdf-jobs"]},{"id":"printing-tools/platform-adapters","slug":"platform-adapters","order":65,"name":"Platform Print Adapters","eyebrow":"Native queues and dialogs","description":"Windows Win32/XPS, macOS AppKit/Quartz, and Linux CUPS/GTK adapters discover queues, inspect capabilities, coordinate native dialogs, and respect sandbox or portal constraints.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/printing-tools/platform-adapters/","sourcePath":"src/PrintingTools","docsPath":"docs/platform-support-matrix.md","packages":[{"name":"PrintingTools.Windows","note":"Win32 queues, XPS/PDF, dialogs, and job monitoring.","url":"https://www.nuget.org/packages/PrintingTools.Windows"},{"name":"PrintingTools.MacOS","note":"AppKit, Quartz PDF, native preview, and sandbox tickets.","url":"https://www.nuget.org/packages/PrintingTools.MacOS"},{"name":"PrintingTools.Linux","note":"CUPS/IPP, GTK, portals, and managed submission.","url":"https://www.nuget.org/packages/PrintingTools.Linux"}],"highlights":["Win32 spooler and XPS flows","AppKit and Quartz integration","CUPS, GTK, Flatpak, and Snap portals","Runtime adapter selection"],"related":["printing-tools/pagination-preview","printing-tools/pdf-jobs"]},{"id":"printing-tools/pdf-jobs","slug":"pdf-jobs","order":66,"name":"PDF, Jobs & Diagnostics","eyebrow":"Headless and observable output","description":"Skia vector/PDF rendering, managed fallbacks, job history, diagnostic events, and cross-platform harnesses support visible applications, sandboxed hosts, headless automation, and CI verification.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/printing-tools/pdf-jobs/","sourcePath":"src/PrintingTools.Core/Rendering","docsPath":"docs/printing-sample-walkthroughs.md","packages":[{"name":"PrintingTools.Core","note":"Rendering, diagnostics, metrics, tickets, and job abstractions.","url":"https://www.nuget.org/packages/PrintingTools.Core"}],"highlights":["Skia vector and PDF output","Headless managed fallbacks","Job monitoring and diagnostic hooks","Windows, macOS, and Linux CI harnesses"],"related":["printing-tools/pagination-preview","printing-tools/platform-adapters"]}]},{"slug":"native-message-box","order":35,"name":"NativeMessageBox","eyebrow":"Native dialogs everywhere","description":"A managed and native ABI for advanced message dialogs across Windows, macOS, Linux, iOS, Android, and WebAssembly.","statement":"Ask a native question through one contract while preserving each platform’s strengths.","category":"Frameworks","tier":"Maintained","status":"Active","featured":false,"accent":"#ff9c7d","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/native-message-box/","repository":{"name":"wieslawsoltes/NativeMessageBox","url":"https://github.com/wieslawsoltes/NativeMessageBox"},"packages":[{"name":"NativeMessageBox","note":"Managed client, options, results, native host, and runtime assets.","url":"https://www.nuget.org/packages/NativeMessageBox"}],"highlights":["Six platform implementations","Custom buttons, input, and verification","Timeouts and secondary content","Managed .NET and native C APIs"],"audience":["Cross-platform desktop and mobile applications","Native C/C++ and managed .NET hosts","Apps that need richer native prompts than OK/Cancel"],"compatibility":[{"label":"Windows / macOS / Linux","value":"Advanced dialogs","state":"ready"},{"label":"iOS / Android","value":"Native mobile dialogs","state":"partial"},{"label":"WebAssembly","value":"Async overlay","state":"partial"},{"label":"C / C++","value":"Versioned ABI","state":"ready"}],"links":[{"label":"Documentation","href":"https://wieslawsoltes.github.io/NativeMessageBox/"},{"label":"Cross-platform sample","href":"https://github.com/wieslawsoltes/NativeMessageBox/tree/main/samples/CrossPlatformSample"},{"label":"Public headers","href":"https://github.com/wieslawsoltes/NativeMessageBox/tree/main/include"}],"related":["printing-tools","nativewebview","librewinforms"],"capabilities":[{"id":"native-message-box/managed-dialogs","slug":"managed-dialogs","order":67,"name":"Managed Dialog API","eyebrow":"One async result contract","description":"A .NET client models titles, messages, icons, custom buttons, defaults, cancellation, input, verification, secondary content, help links, timeouts, and structured results.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/native-message-box/managed-dialogs/","sourcePath":"src/dotnet/NativeMessageBox","docsPath":"site/articles/getting-started/quickstart-dotnet.md","packages":[{"name":"NativeMessageBox","note":"Managed options, client, results, logging, and native runtime host.","url":"https://www.nuget.org/packages/NativeMessageBox"}],"highlights":["Async managed client","Custom button identities and roles","Structured outcome, input, and timeout result","Logging and exception-oriented variants"],"related":["native-message-box/advanced-content","native-message-box/native-platforms"]},{"id":"native-message-box/advanced-content","slug":"advanced-content","order":68,"name":"Advanced Dialog Content","eyebrow":"Beyond OK and Cancel","description":"Text or password input, combo choices, verification and suppression checkboxes, informative and expanded text, footers, help links, custom icons, auto-close, and ESC policy compose richer native prompts where supported.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/native-message-box/advanced-content/","sourcePath":"src/shared","packages":[{"name":"NativeMessageBox","note":"Advanced content models and per-platform capability handling.","url":"https://www.nuget.org/packages/NativeMessageBox"}],"highlights":["Text, password, and combo input","Verification and suppression state","Expanded content, footers, and links","Timeout and close-policy control"],"related":["native-message-box/managed-dialogs","native-message-box/native-platforms"]},{"id":"native-message-box/native-platforms","slug":"native-platforms","order":69,"name":"Native & Mobile Backends","eyebrow":"Six operating-system implementations","description":"TaskDialog/MessageBoxW, NSAlert, GTK with Zenity fallback, UIAlertController, Android AlertDialog, and a WebAssembly overlay implement the shared managed and native C ABI.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/native-message-box/native-platforms/","sourcePath":"src/native","docsPath":"site/articles/platforms/mobile-platforms.md","packages":[{"name":"NativeMessageBox","note":"Runtime-specific native libraries and managed resolver.","url":"https://www.nuget.org/packages/NativeMessageBox"}],"highlights":["Windows, macOS, and GTK desktop backends","iOS and Android bridges","WebAssembly overlay","Stable native C header and ABI"],"related":["native-message-box/managed-dialogs","native-message-box/advanced-content"]}]},{"slug":"lottie","order":36,"name":"Lottie","eyebrow":"Avalonia animation controls","description":"Lottie playback plus reusable frame-loop, composition-backed Skia, and animated shader controls for Avalonia.","statement":"Move from packaged motion assets to custom composition and shader animation with the same control vocabulary.","category":"Graphics","tier":"Maintained","status":"Maintained","featured":false,"accent":"#ff80ae","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/lottie/","repository":{"name":"wieslawsoltes/Lottie","url":"https://github.com/wieslawsoltes/Lottie"},"packages":[{"name":"Lottie","note":"Skottie-backed Lottie animation player.","url":"https://www.nuget.org/packages/Lottie"},{"name":"AnimationControl","note":"Lightweight overridable animation frame loop.","url":"https://www.nuget.org/packages/AnimationControl"},{"name":"CompositionAnimatedControl","note":"Composition-backed Skia animation surface.","url":"https://www.nuget.org/packages/CompositionAnimatedControl"},{"name":"ShaderAnimatedControl","note":"SKSL shader animation control.","url":"https://www.nuget.org/packages/ShaderAnimatedControl"}],"highlights":["Lottie/Skottie playback","Custom frame-loop control","Composition-backed Skia rendering","Animated SKSL shaders"],"audience":["Avalonia applications using Lottie motion assets","Control authors building custom animation","Skia and shader-driven visualization tools"],"compatibility":[{"label":"Avalonia","value":"Controls","state":"ready"},{"label":"SkiaSharp / Skottie","value":"Rendering","state":"ready"},{"label":"SKSL","value":"Runtime effects","state":"ready"},{"label":"Static redraw","value":"Supported","state":"ready"}],"links":[{"label":"Documentation","href":"https://wieslawsoltes.github.io/Lottie/"},{"label":"Repository","href":"https://github.com/wieslawsoltes/Lottie"}],"related":["effector","svg-skia","media-player"],"capabilities":[{"id":"lottie/lottie-player","slug":"lottie-player","order":70,"name":"Lottie Player","eyebrow":"Skottie animation assets","description":"An Avalonia control loads Lottie JSON assets and renders their vector animation through SkiaSharp Skottie inside the normal control tree.","status":"Maintained","url":"https://wieslawsoltes.github.io/Home/projects/lottie/lottie-player/","sourcePath":"src/Lottie","packages":[{"name":"Lottie","note":"Avalonia Lottie/Skottie player control.","url":"https://www.nuget.org/packages/Lottie"}],"highlights":["Lottie JSON assets","SkiaSharp Skottie renderer","Native Avalonia layout","Simple XAML integration"],"related":["lottie/animation-control","lottie/composition-shaders"]},{"id":"lottie/animation-control","slug":"animation-control","order":71,"name":"AnimationControl","eyebrow":"Minimal custom frame loop","description":"A lightweight base control owns attachment, frame scheduling, delta time, invalidation, and rendering so custom animation logic only overrides the meaningful hooks.","status":"Maintained","url":"https://wieslawsoltes.github.io/Home/projects/lottie/animation-control/","sourcePath":"src/AnimationControl","packages":[{"name":"AnimationControl","note":"Overridable Avalonia animation base class.","url":"https://www.nuget.org/packages/AnimationControl"}],"highlights":["Automatic frame loop","Delta-time update hook","Automatic visual invalidation","Small subclassing surface"],"related":["lottie/lottie-player","lottie/composition-shaders"]},{"id":"lottie/composition-shaders","slug":"composition-shaders","order":72,"name":"Composition & Shader Animation","eyebrow":"Skia and SKSL motion surfaces","description":"CompositionAnimatedControl supplies stretch-aware Skia rendering, elapsed normalization, repeat counts, per-frame updates, and static redraw; ShaderAnimatedControl adds URI-loaded SKSL runtime effects and uniform binding.","status":"Maintained","url":"https://wieslawsoltes.github.io/Home/projects/lottie/composition-shaders/","sourcePath":"src/CompositionAnimatedControl","packages":[{"name":"CompositionAnimatedControl","note":"Composition-backed Skia base control.","url":"https://www.nuget.org/packages/CompositionAnimatedControl"},{"name":"ShaderAnimatedControl","note":"Animated SKSL runtime-effect control.","url":"https://www.nuget.org/packages/ShaderAnimatedControl"}],"highlights":["Composition scheduler integration","Animated and static redraw modes","Stretch and repeat control","SKSL assets and custom uniforms"],"related":["lottie/animation-control","lottie/lottie-player"]}]},{"slug":"media-player","order":37,"name":"MediaPlayer","eyebrow":"No-airspace Avalonia video","description":"GPU-composited media playback for Avalonia with native platform backends, FFmpeg and LibVLC fallbacks, track/device APIs, and reusable editing workflows.","statement":"Keep video inside the Avalonia compositor and media operations inside reusable services.","category":"Controls","tier":"Maintained","status":"Active","featured":false,"accent":"#6ac6ff","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/media-player/","repository":{"name":"wieslawsoltes/MediaPlayer","url":"https://github.com/wieslawsoltes/MediaPlayer"},"packages":[{"name":"MediaPlayer.Controls","note":"GPU player control, rendering, orchestration, and workflows.","url":"https://www.nuget.org/packages/MediaPlayer.Controls"},{"name":"MediaPlayer.Native.Abstractions","note":"Backend-neutral playback and capability contracts.","url":"https://www.nuget.org/packages/MediaPlayer.Native.Abstractions"},{"name":"MediaPlayer.Native.Interop","note":"Native provider catalog and selection helpers.","url":"https://www.nuget.org/packages/MediaPlayer.Native.Interop"}],"highlights":["GPU composition without airspace gaps","Native, FFmpeg, and LibVLC backends","Audio, subtitle, device, and route APIs","Trim, split, combine, export, and record"],"audience":["Avalonia media applications","Desktop tools requiring video overlays and transforms","Products with playback plus trim, export, or recording workflows"],"compatibility":[{"label":"macOS","value":"AVFoundation direction","state":"ready"},{"label":"Windows","value":"Media Foundation direction","state":"ready"},{"label":"FFmpeg / LibVLC","value":"Fallback modes","state":"ready"},{"label":"Avalonia composition","value":"No airspace","state":"ready"}],"links":[{"label":"Documentation","href":"https://wieslawsoltes.github.io/MediaPlayer/"},{"label":"Demo source","href":"https://github.com/wieslawsoltes/MediaPlayer/tree/main/src/MediaPlayer.Demo"}],"related":["lottie","nativewebview","progpu"],"capabilities":[{"id":"media-player/gpu-playback","slug":"gpu-playback","order":73,"name":"GPU Media Playback","eyebrow":"Video inside Avalonia composition","description":"GpuMediaPlayer renders decoded video through Avalonia-hosted GPU composition with direct texture upload and compatibility copy paths, avoiding NativeControlHost airspace gaps.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/media-player/gpu-playback/","sourcePath":"src/MediaPlayer.Controls/Rendering","packages":[{"name":"MediaPlayer.Controls","note":"GpuMediaPlayer, rendering, transport controls, and playback shell components.","url":"https://www.nuget.org/packages/MediaPlayer.Controls"}],"highlights":["No NativeControlHost airspace","Direct GPU texture upload","Compatibility copy-upload fallback","QuickTime-style overlay and chrome patterns"],"related":["media-player/playback-backends","media-player/media-workflows"]},{"id":"media-player/playback-backends","slug":"playback-backends","order":74,"name":"Playback Backends & Tracks","eyebrow":"Native-first, fallback-ready","description":"Backend-neutral contracts select macOS AVFoundation or Windows Media Foundation paths where available while keeping FFmpeg and LibVLC modes, diagnostics, audio/subtitle tracks, devices, and routes accessible.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/media-player/playback-backends/","sourcePath":"src/MediaPlayer.Native.Abstractions","packages":[{"name":"MediaPlayer.Native.Abstractions","note":"Provider, backend, track, device, route, and diagnostic contracts.","url":"https://www.nuget.org/packages/MediaPlayer.Native.Abstractions"},{"name":"MediaPlayer.Native.Interop","note":"Provider catalog and native runtime selection.","url":"https://www.nuget.org/packages/MediaPlayer.Native.Interop"}],"highlights":["AVFoundation and Media Foundation directions","FFmpeg and LibVLC fallbacks","Audio and subtitle track APIs","Input, output, route, and backend diagnostics"],"related":["media-player/gpu-playback","media-player/media-workflows"]},{"id":"media-player/media-workflows","slug":"media-workflows","order":75,"name":"Media Workflows","eyebrow":"Reusable editing and export services","description":"A workflow service layer models trim, split, combine, export, transform, recording, and audio/video stream removal independently from the demo application.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/media-player/media-workflows/","sourcePath":"src/MediaPlayer.Controls/Workflows","packages":[{"name":"MediaPlayer.Controls","note":"Workflow contracts, registration, orchestration, and UI integration.","url":"https://www.nuget.org/packages/MediaPlayer.Controls"}],"highlights":["Trim, split, and combine","Export and transform","Recording and stream removal","Dependency-injection registration"],"related":["media-player/gpu-playback","media-player/playback-backends"]}]},{"slug":"hex-view","order":38,"name":"HexView","eyebrow":"Virtualized binary workbench","description":"An Avalonia hexadecimal viewer and editor with memory-mapped large files, piece-table edits, search and replace, diff, navigation, bookmarks, and patch export.","statement":"Inspect and edit very large binary data without loading the whole file into memory.","category":"Controls","tier":"Maintained","status":"Maintained","featured":false,"accent":"#a6d36f","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/hex-view/","repository":{"name":"wieslawsoltes/HexView","url":"https://github.com/wieslawsoltes/HexView"},"packages":[{"name":"HexView","note":"Avalonia control, readers, formatters, editing, search, diff, and navigation services.","url":"https://www.nuget.org/packages/HexView"}],"highlights":["Memory-mapped virtual scrolling","Hex, decimal, octal, and binary views","Piece-table editing with undo/redo","Search, diff, bookmarks, and patches"],"audience":["Binary analysis and reverse-engineering tools","Firmware, file-format, and protocol editors","Applications embedding large-data inspection"],"compatibility":[{"label":"Avalonia desktop","value":"Control and sample","state":"ready"},{"label":"Console","value":"Sample host","state":"ready"},{"label":"Large files","value":"Memory mapped","state":"ready"},{"label":"Custom sources","value":"ILineReader","state":"ready"}],"links":[{"label":"Usage guide","href":"https://github.com/wieslawsoltes/HexView#quick-start"},{"label":"Source","href":"https://github.com/wieslawsoltes/HexView/tree/main/src/HexView"}],"related":["proedit","prodatagrid","inspector"],"capabilities":[{"id":"hex-view/large-file-viewing","slug":"large-file-viewing","order":76,"name":"Large-file Viewing","eyebrow":"Virtual binary presentation","description":"Memory-mapped readers, virtual scrolling, chunked operations, configurable bytes per line, multiple numeric bases, and ASCII/UTF encodings keep very large binary files navigable.","status":"Maintained","url":"https://wieslawsoltes.github.io/Home/projects/hex-view/large-file-viewing/","sourcePath":"src/HexView/Services","packages":[{"name":"HexView","note":"Control, memory-mapped readers, formatters, and virtual presentation services.","url":"https://www.nuget.org/packages/HexView"}],"highlights":["Memory-mapped file access","Virtual scrolling and chunked reads","Hex, decimal, octal, and binary formats","ASCII, UTF-8, and UTF-16 views"],"related":["hex-view/binary-editing","hex-view/diff-navigation"]},{"id":"hex-view/binary-editing","slug":"binary-editing","order":77,"name":"Binary Editing & Search","eyebrow":"Non-destructive byte operations","description":"A piece-table-inspired byte overlay tracks overwrite, insert, and delete operations over the original source, while an edit journal, selection services, wildcard search, replace, save, and patch export form a complete editing lane.","status":"Maintained","url":"https://wieslawsoltes.github.io/Home/projects/hex-view/binary-editing/","sourcePath":"src/HexView/Model","packages":[{"name":"HexView","note":"ByteOverlay, EditJournal, search, selection, save, and patch services.","url":"https://www.nuget.org/packages/HexView"}],"highlights":["Overwrite, insert, and delete overlay","Unlimited undo/redo and batches","Hex, wildcard, and text search/replace","Save As and portable patch export"],"related":["hex-view/large-file-viewing","hex-view/diff-navigation"]},{"id":"hex-view/diff-navigation","slug":"diff-navigation","order":78,"name":"Diff & Navigation","eyebrow":"Find meaningful binary locations","description":"Side-by-side synchronized views, difference providers, highlight brushes, next/previous difference, address jumps, bookmarks, history, caret events, selection services, and keyboard commands turn raw offsets into an inspection workflow.","status":"Maintained","url":"https://wieslawsoltes.github.io/Home/projects/hex-view/diff-navigation/","sourcePath":"src/HexView/Controls","packages":[{"name":"HexView","note":"Difference, navigation, bookmark, selection, and event services.","url":"https://www.nuget.org/packages/HexView"}],"highlights":["Side-by-side diff highlighting","Synchronized scrolling","Address history and bookmarks","Comprehensive keyboard and event surface"],"related":["hex-view/large-file-viewing","hex-view/binary-editing"]}]},{"slug":"theme-manager-avalonia","order":39,"name":"ThemeManager.Avalonia","eyebrow":"Runtime Avalonia themes","description":"A small runtime theme abstraction that initializes Avalonia Fluent or Simple themes and switches the application between light and dark variants.","statement":"Choose a built-in Avalonia theme family and switch its active variant through one interface.","category":"Avalonia","tier":"Maintained","status":"Maintained","featured":false,"accent":"#e09cff","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/theme-manager-avalonia/","repository":{"name":"wieslawsoltes/ThemeManager.Avalonia","url":"https://github.com/wieslawsoltes/ThemeManager.Avalonia","branch":"master"},"packages":[{"name":"ThemeManager","note":"IThemeManager with Fluent and Simple theme implementations.","url":"https://www.nuget.org/packages/ThemeManager"}],"highlights":["Fluent and Simple implementations","Application-level initialization","Light and dark variant switching","Small replaceable interface"],"audience":["Avalonia applications with light and dark settings","Apps choosing between Fluent and Simple theme families","Developers wanting a replaceable theme bootstrap boundary"],"compatibility":[{"label":"Avalonia","value":"Built-in themes","state":"ready"},{"label":"FluentTheme","value":"Supported","state":"ready"},{"label":"SimpleTheme","value":"Supported","state":"ready"},{"label":"Light / dark","value":"Runtime switch","state":"ready"}],"links":[{"label":"Repository","href":"https://github.com/wieslawsoltes/ThemeManager.Avalonia"},{"label":"NuGet","href":"https://www.nuget.org/packages/ThemeManager/"}],"related":["colorpicker","xaml-behaviors","static-view-locator"],"capabilities":[{"id":"theme-manager-avalonia/theme-hosts","slug":"theme-hosts","order":79,"name":"Fluent & Simple Theme Hosts","eyebrow":"Initialize the built-in theme family","description":"FluentThemeManager and SimpleThemeManager implement one IThemeManager contract and insert the corresponding Avalonia theme into the application style collection.","status":"Maintained","url":"https://wieslawsoltes.github.io/Home/projects/theme-manager-avalonia/theme-hosts/","sourcePath":"src/ThemeManager","packages":[{"name":"ThemeManager","note":"IThemeManager plus FluentThemeManager and SimpleThemeManager.","url":"https://www.nuget.org/packages/ThemeManager"}],"highlights":["Shared IThemeManager contract","FluentTheme initialization","SimpleTheme initialization","Application style insertion"],"related":["theme-manager-avalonia/theme-switching"]},{"id":"theme-manager-avalonia/theme-switching","slug":"theme-switching","order":80,"name":"Theme Variant Switching","eyebrow":"Application-wide light and dark state","description":"Both managers translate a compact numeric selection into Application.RequestedThemeVariant, switching the entire application between Avalonia light and dark variants at runtime.","status":"Maintained","url":"https://wieslawsoltes.github.io/Home/projects/theme-manager-avalonia/theme-switching/","sourcePath":"src/ThemeManager","packages":[{"name":"ThemeManager","note":"Runtime light and dark RequestedThemeVariant switching.","url":"https://www.nuget.org/packages/ThemeManager"}],"highlights":["Application.RequestedThemeVariant integration","Light and dark selection","Same behavior for Fluent and Simple","No per-window theme plumbing"],"related":["theme-manager-avalonia/theme-hosts"]}]},{"slug":"svg-to-xaml","order":40,"name":"SvgToXaml","eyebrow":"SVG asset conversion","description":"A desktop and build-time converter that turns SVG artwork into Avalonia XAML drawings, geometries, and resource dictionaries.","statement":"Move vector assets into native XAML once—or regenerate them on every build.","category":"Graphics","tier":"Maintained","status":"Maintained","featured":false,"accent":"#ffb56e","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/svg-to-xaml/","repository":{"name":"wieslawsoltes/SvgToXaml","url":"https://github.com/wieslawsoltes/SvgToXaml"},"packages":[{"name":"SvgToXamlConverter","note":"SVG parsing and XAML conversion engine.","url":"https://www.nuget.org/packages/SvgToXamlConverter"},{"name":"SvgToXaml.Build","note":"MSBuild task for individual files or combined resource dictionaries.","url":"https://www.nuget.org/packages/SvgToXaml.Build"}],"highlights":["Desktop conversion workflow","MSBuild asset generation","Combined resource dictionaries","Geometry, resource, and compatibility options"],"audience":["Avalonia applications with vector icon pipelines","Design-system and asset-build maintainers","Developers converting SVG into inspectable XAML resources"],"compatibility":[{"label":"Avalonia XAML","value":"Drawing output","state":"ready"},{"label":"MSBuild","value":"Integrated task","state":"ready"},{"label":"Resource dictionaries","value":"Combined output","state":"ready"},{"label":"Complex SVG effects","value":"Configurable handling","state":"partial"}],"links":[{"label":"Repository","href":"https://github.com/wieslawsoltes/SvgToXaml"},{"label":"Build package guide","href":"https://github.com/wieslawsoltes/SvgToXaml#msbuild-task"}],"related":["svg-skia","proedit","lottie"],"capabilities":[{"id":"svg-to-xaml/conversion-engine","slug":"conversion-engine","order":81,"name":"SVG Conversion Engine","eyebrow":"Vector artwork becomes Avalonia resources","description":"The converter parses SVG content into an intermediate drawing model and emits Avalonia XAML geometry, drawing, brush, transform, clip, mask, filter, and resource structures for desktop or browser workflows.","status":"Maintained","url":"https://wieslawsoltes.github.io/Home/projects/svg-to-xaml/conversion-engine/","sourcePath":"src/SvgToXaml.Converter","packages":[{"name":"SvgToXamlConverter","note":"SVG model, conversion engine, and XAML writer.","url":"https://www.nuget.org/packages/SvgToXamlConverter"}],"highlights":["Intermediate drawing and resource model","Geometry, paint, transform, and container conversion","Desktop and browser hosts","Compatibility and cleanup options"],"related":["svg-to-xaml/msbuild-assets"]},{"id":"svg-to-xaml/msbuild-assets","slug":"msbuild-assets","order":82,"name":"MSBuild Asset Pipeline","eyebrow":"Regenerate XAML during build","description":"SvgToXaml.Build consumes SvgFiles items, combines many sources into one ResourceDictionary or emits individual AXAML files, and exposes conversion, compatibility, resource reuse, geometry, opacity, filter, clip, mask, and newline settings.","status":"Maintained","url":"https://wieslawsoltes.github.io/Home/projects/svg-to-xaml/msbuild-assets/","sourcePath":"src/SvgToXaml.Build","packages":[{"name":"SvgToXaml.Build","note":"MSBuild targets and SVG conversion task.","url":"https://www.nuget.org/packages/SvgToXaml.Build"}],"highlights":["Combined ResourceDictionary output","Per-file AXAML output","Build item metadata configuration","Resource reuse and geometry transforms"],"related":["svg-to-xaml/conversion-engine"]}]},{"slug":"ribbon-control","order":41,"name":"RibbonControl","eyebrow":"Adaptive Avalonia commands","description":"An Avalonia ribbon toolkit with XAML and MVVM composition, tabs, groups, galleries, backstage, key tips, adaptive layout, merging, customization, and JSON persistence.","statement":"Compose dense desktop command systems without hard-wiring their structure or user state.","category":"Controls","tier":"Maintained","status":"Active","featured":false,"accent":"#7fd9ff","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/ribbon-control/","repository":{"name":"wieslawsoltes/RibbonControl","url":"https://github.com/wieslawsoltes/RibbonControl"},"packages":[{"name":"RibbonControl.Core","note":"Controls, themes, models, automation, merge, key tips, and services.","url":"https://www.nuget.org/packages/RibbonControl.Core"},{"name":"RibbonControl.Persistence.Json","note":"Versioned JSON runtime state and migrations.","url":"https://www.nuget.org/packages/RibbonControl.Persistence.Json"}],"highlights":["XAML-first and MVVM-first composition","Rich ribbon primitives and backstage","Merge, key tips, and adaptive layout","Versioned customization persistence"],"audience":["Document, engineering, and enterprise desktop applications","Modular applications contributing commands at runtime","Teams requiring accessible keyboard-driven command surfaces"],"compatibility":[{"label":"Avalonia","value":"12.0","state":"ready"},{"label":"XAML / MVVM","value":"Both first-class","state":"ready"},{"label":"Automation","value":"Peers and tests","state":"ready"},{"label":"Persistence","value":"Versioned JSON","state":"ready"}],"links":[{"label":"Documentation","href":"https://wieslawsoltes.github.io/RibbonControl/"},{"label":"Samples","href":"https://github.com/wieslawsoltes/RibbonControl/tree/main/src"}],"related":["dock","xaml-behaviors","proedit"],"capabilities":[{"id":"ribbon-control/ribbon-primitives","slug":"ribbon-primitives","order":83,"name":"Ribbon Controls & Layout","eyebrow":"Complete desktop command surface","description":"Tabs, groups, buttons, split buttons, combo boxes, toggle groups, galleries, backstage, quick access toolbar, key tips, automation peers, stable height, and adaptive layout compose a complete Avalonia ribbon.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/ribbon-control/ribbon-primitives/","sourcePath":"src/RibbonControl.Core/Controls","packages":[{"name":"RibbonControl.Core","note":"Controls, themes, icons, layout, key tips, and automation peers.","url":"https://www.nuget.org/packages/RibbonControl.Core"}],"highlights":["Rich tabs, groups, items, gallery, and backstage","Quick access toolbar","Key-tip routing and automation peers","Adaptive layout and stable height"],"related":["ribbon-control/mvvm-merge","ribbon-control/customization-state"]},{"id":"ribbon-control/mvvm-merge","slug":"mvvm-merge","order":84,"name":"MVVM & Runtime Merging","eyebrow":"Data-driven command systems","description":"Definition and view-model types, command catalogs, two-way runtime state, and merge policies let modules contribute or reorder tabs, groups, and items without owning the ribbon shell.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/ribbon-control/mvvm-merge/","sourcePath":"src/RibbonControl.Core/ViewModels","packages":[{"name":"RibbonControl.Core","note":"Models, view models, command catalog, source collections, and merge services.","url":"https://www.nuget.org/packages/RibbonControl.Core"}],"highlights":["XAML, MVVM, and hybrid composition","Command catalog abstraction","TabsSource, GroupsSource, and ItemsSource","Pluggable merge policies and ordering"],"related":["ribbon-control/ribbon-primitives","ribbon-control/customization-state"]},{"id":"ribbon-control/customization-state","slug":"customization-state","order":85,"name":"Customization & Persistence","eyebrow":"Remember the user’s ribbon","description":"Customization services export, reset, load, and save minimized state, selected tab, quick access items and placement, with a JSON state store, schema versions, and migration hooks.","status":"Active","url":"https://wieslawsoltes.github.io/Home/projects/ribbon-control/customization-state/","sourcePath":"src/RibbonControl.Persistence.Json","packages":[{"name":"RibbonControl.Persistence.Json","note":"File-backed IRibbonStateStore with schema versioning and migrations.","url":"https://www.nuget.org/packages/RibbonControl.Persistence.Json"},{"name":"RibbonControl.Core","note":"Runtime state and customization services.","url":"https://www.nuget.org/packages/RibbonControl.Core"}],"highlights":["Load, save, export, and reset flows","Quick access and minimized state","Versioned JSON schema","Pluggable migration chain"],"related":["ribbon-control/ribbon-primitives","ribbon-control/mvvm-merge"]}]},{"slug":"chatgpt-client","order":42,"name":"ChatGPT","eyebrow":"Earlier cross-platform AI client","description":"An earlier Avalonia ChatGPT client spanning desktop, mobile, and browser, with reusable API, UI, CLI batch-processing, and Windows COM integration packages.","statement":"An early experiment in carrying one conversational AI workflow across every Avalonia target.","category":"Tools","tier":"Maintained","status":"Maintained","featured":false,"accent":"#75d7ad","contentFormat":"md","url":"https://wieslawsoltes.github.io/Home/projects/chatgpt-client/","repository":{"name":"wieslawsoltes/ChatGPT","url":"https://github.com/wieslawsoltes/ChatGPT"},"packages":[{"name":"ChatGPT","note":"OpenAI API client library.","url":"https://www.nuget.org/packages/ChatGPT"},{"name":"ChatGPT.Core","note":"Models, services, and application state.","url":"https://www.nuget.org/packages/ChatGPT.Core"},{"name":"ChatGPT.UI","note":"Reusable Avalonia chat UI.","url":"https://www.nuget.org/packages/ChatGPT.UI"},{"name":"ChatGPT.CLI","note":"Batch file-processing global tool.","url":"https://www.nuget.org/packages/ChatGPT.CLI"},{"name":"ChatGptCom","note":"Windows COM automation bridge.","url":"https://www.nuget.org/packages/ChatGptCom"}],"highlights":["Desktop, mobile, and browser clients","Reusable API and Avalonia UI layers","Parallel batch-processing CLI","Office/VBA COM automation"],"audience":["Developers studying an earlier multi-target Avalonia application","Teams interested in file-oriented AI batch tools","Maintainers of legacy Office and COM automation"],"compatibility":[{"label":"Desktop","value":"macOS / Windows / Linux","state":"ready"},{"label":"Mobile / browser","value":"Avalonia hosts","state":"partial"},{"label":"CLI","value":".NET tool","state":"ready"},{"label":"COM / VBA","value":"Windows bridge","state":"ready"}],"links":[{"label":"Repository","href":"https://github.com/wieslawsoltes/ChatGPT"},{"label":"Browser build","href":"https://wieslawsoltes.github.io/ChatGPT/"},{"label":"CLI guide","href":"https://github.com/wieslawsoltes/ChatGPT#net-tool"}],"related":["codexgui","nativewebview","protranslate"],"capabilities":[{"id":"chatgpt-client/cross-platform-client","slug":"cross-platform-client","order":86,"name":"Cross-platform Chat Client","eyebrow":"Earlier Avalonia AI application","description":"Reusable core and UI layers power desktop, Android, iOS, and browser hosts with conversation history, editing, Markdown/HTML rendering, API endpoint configuration, settings, and imported web-chat backups.","status":"Maintained","url":"https://wieslawsoltes.github.io/Home/projects/chatgpt-client/cross-platform-client/","sourcePath":"src/ChatGPT.UI","packages":[{"name":"ChatGPT","note":"OpenAI chat API client.","url":"https://www.nuget.org/packages/ChatGPT"},{"name":"ChatGPT.Core","note":"Models, services, and application view models.","url":"https://www.nuget.org/packages/ChatGPT.Core"},{"name":"ChatGPT.UI","note":"Reusable Avalonia conversation UI.","url":"https://www.nuget.org/packages/ChatGPT.UI"}],"highlights":["Desktop, Android, iOS, and browser hosts","Reusable API, core, and UI packages","Conversation editing and backup import","Configurable API URL and model settings"],"related":["chatgpt-client/batch-cli","chatgpt-client/com-automation"]},{"id":"chatgpt-client/batch-cli","slug":"batch-cli","order":87,"name":"Batch-processing CLI","eyebrow":"Prompt files in parallel","description":"The ChatGPT.CLI global tool accepts files or recursive directory patterns, configurable output paths and extensions, generation settings, directions, model, endpoint, verbosity, and worker-thread count for repeatable batch transformations.","status":"Maintained","url":"https://wieslawsoltes.github.io/Home/projects/chatgpt-client/batch-cli/","sourcePath":"src/ChatGPT.CLI","packages":[{"name":"ChatGPT.CLI","note":"Global .NET tool for file-oriented chat-completion jobs.","url":"https://www.nuget.org/packages/ChatGPT.CLI"}],"highlights":["File and recursive directory inputs","Pattern, extension, and output mapping","Parallel worker threads","Configurable endpoint and generation settings"],"related":["chatgpt-client/cross-platform-client","chatgpt-client/com-automation"]},{"id":"chatgpt-client/com-automation","slug":"com-automation","order":88,"name":"COM & Office Automation","eyebrow":"Chat completions from VBA","description":"A .NET Framework COM-visible bridge exposes asynchronous chat operations and completion events to Windows automation clients, including Word and VBA translation, drafting, and form workflows.","status":"Maintained","url":"https://wieslawsoltes.github.io/Home/projects/chatgpt-client/com-automation/","sourcePath":"src/ChatGptCom","packages":[{"name":"ChatGptCom","note":"COM-visible OpenAI client bridge for .NET Framework and VBA.","url":"https://www.nuget.org/packages/ChatGptCom"}],"highlights":["COM-visible Chat API","Asynchronous completion events","Word and VBA integration examples",".NET Framework automation bridge"],"related":["chatgpt-client/cross-platform-client","chatgpt-client/batch-cli"]}]}]}
