-
-
Notifications
You must be signed in to change notification settings - Fork 965
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[RFC] Migrate to AvaloniaUI #1629
Comments
Adding these links here in case they are still relevant to this topic. Readme created by Eideren that discusses similar points here: Useful design doc about the stride Repo that could help clear some things up: A brief example of how to start from Manio using Avalonia: |
There was a short conversation recently on discord about using Avalonia for the editor - it seems it's doable but currently complicated to get the GPU rendering of the scene embedded directly in the Window as it's currently done with WPF. But as I was going through the issues I stumbled over this one: AvaloniaUI/Avalonia#9925 Didn't have too much time to dig deeper and try any of this myself but is seems promising. |
any new progress?? |
Im not sure if anyone actually has a branch but I am looking into it just to see what is possible. Unfortunately Im a serial multitasker so it is very slow. Doprez@1048eb4 |
Adding some more resources here for embedding stride into alternate frameworks. https://github.com/Doprez/Awesome-Stride/blob/main/README.md#embeded-stride |
@Doprez need to mention it on main page |
Which is the main page? |
I think it makes far more sense as a page on the wiki |
@Eideren just a link in primary readme. not all peoples checks wiki pages |
Don't forget we have got also this https://github.com/stride3d/stride/wiki/Community-Projects |
@VaclavElias lets merge em then |
I know for me the only reason I made a personal list was due to a lack of validation. I still need to check that some of the projects on my list work at all (They could either be someones idea that wasnt completed or just an old version that may not work with current stride). I do want to start adding some of the links from my list into the wiki as I validate but it will be slow. Another thing I could do is add my list to the main readme under the Community section labelled as "Unofficial list of Stride resources" if that makes sense. |
Generally primary readmy needs to be better interlinked with our wiki. I would like to look into it in the future once I finish web and docs. I guess @Doprez would have seen the existing link and elaborated on that existing wiki page in the first place if he discovered it 🤔🤣. |
Another benefit of having a repo dedicated or the "awesome-list" is that it can show up on the awesome lists https://github.com/search?q=awesome as a common search. Eitherway I think its unrelated to this topic for further discussion. Ill create 2 seperate PR's one for the Wiki and one for the main readme and it can be decided then if we want both or just the one. |
been looking at this again and just wanted to add some interesting findings. They have a list of some issues but it seems like some might be specific to Ryuijinx Avalonia Ryujinx issues. Thats it for now I am taking a peak at how we do the rendering in Stride and it may not be the worst thing to implement as a test for Opengl. I will be tracking it here as I learn wish me luck! |
the stride editor has docking/ scripting , but all that tabbed is even harder than just sharing a buffer.. which is really hard If we really wanted this Avalonia to replace the WPF of strides IDE ( that has docking and tabs and drag and drop) we would should consider to to pump money towards the gurus to do this.. like that studio did. I I spend 2 weeks + a freelancers 15 hours, on a getting Avalonia.Inside to show a monogame view in a single tab on the Dock git below, using a writable bitmap copy, we failed, I sponsored teh wieslawsoltes/Dock for 20 $ that took him 30 min.: but its really still buggy and difficult. I do not know React either and there are two wasy of doign Avalonia and he prefers React. once you know it..it's ok all around.. macs are great but unless they add touch i have to stay with a surface anyway. to do android touch UI dev. Is docking that important.. scripting? i think it is, else you have 2 IDEs. mabye as well just use the VScode . This seems like a huge undertaking but i would like it..jsut to freshen the look of my WPF netcore 7 IDE at least.. im looking at just putting some in-game , UI for now.. Also im starting to use voice, NLS and AI more , and generative design so im going to wait this out. I do need scripting... I basically make my own UI on the game itself its so simple. But for editging i would want Avalonia + Dock wiht shared graphcis buffers, tabs, and multiple views maybe. https://github.com/wieslawsoltes/Dock https://github.com/AvaloniaUI/Avalonia/tree/master/samples/GpuInterop |
Chipping in while the cake still hot, considering exposing some the bits and bobs of editors APIs, the goal here is to have a freedom easy to access editor apis to extend OR make our own custom editor native to the engine. Coming from Unity, I can't stop scratching my head in terms of custom editor in Stride. Just my 2 cents. |
Would it be possible to do this piecemeal? I.e., render Avalonia views on top of WPF, with some barebones interop for a docking system so that they don't overlap? If this was possible, I think it would offer some massive gains. People could write plugins in Avalonia, and the rest of the engine could be slowly converted, one docked window at a time. |
@sandsalamand not sure about |
Avalonia offers with XPF a Framework to port WPF Applications directly or with minimal adjustments. It would be worth a try to ask them if they would sponsor a licence for the Stide project. |
@JochnGst we have started the effort to migrate to Avalonia. XPF would only be a short term solution, while rewriting using Avalonia lets use rethink the architecture to, for instance, designing a better plugin architecture. |
Is your feature request related to a problem? Please describe.
Right now we have editor only for
win
platform.For going crossplat we need to migrate to
avalonia
ormaui
MAUI
dosen't fits bc support for linux provide community and not MS devs.Describe the solution you'd like
MVVM Crossplat RxUI Stride.Editor.
Describe alternatives you've considered
There is also MVU approach but in MVU we CAN'T easily replace views if we need and it will make editor plugins & customization harder to develop.
On the other side MVU MUCH simplier then MVVM.
However, even with all the pros and cons, I tend to favor slightly more development time and flexibility than ease and complexity of extensibility.
Additional context
dunno
Here are some questions that can aid in the description of the feature request:
What are the usecases?
Stride.Editor on MacOS and Linux
What kind of options/settings are expected/wanted?
All what we have in editor RN. we need to made few platform specific services also
What would the (pseudo) code look like?
Well...
Is the feature affecting behaviour in the editor?
50/50. It adds crossplat support. But common behaviour must be same as now
Is there a component or datastructure?
MVVM or MVU. We need to choose solution that will suite for us. Also if we pick MVVM we can write plugins in MVVM/MVU approach
what kind of documentation is needed or needs to be updated?
dunno
Should there be an example project?
no
Related Open Collective Project
https://opencollective.com/stride3d/projects/editor-rewrite-avalonia
The text was updated successfully, but these errors were encountered: