Home

Awesome

Experimental component editor for Stride in Avalonia

My idea for this weekend the month of October is to try creating a very simple component editor for Stride.

Tasks

Enhancements

Architecture

The project has been divided into main 5 parts:

This kind of horizontal division has been used to impose strict dependencies (e.g. most services are UI independant and should not reference UI logic directly, only through some abstraction). In practice, however, it would often be easier to have just 1-2 projects.

Plugins

Everything should be a plugin was the motto.

There's not yet a mechanism for loading external plugins, but it shouldn't be hard to implement.

Views

The views are stateless classes with a method that takes a view model and returns a virtual view object. Later this virtual view is applied to the actual UI system.

Commands

Commands are stateless classes that require to be passed a context with data to execute. Commands are executed only by the CommandDispatcher, which processes commands after the UI thread finishes processing user input and then updates the view.