-
Notifications
You must be signed in to change notification settings - Fork 1
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
[WIP] Package audit and few improvements #52
base: master
Are you sure you want to change the base?
Conversation
…id seing nothing when far from both ends + implement routes
…nts - next goal is to have a view per element with definition/configuration/state in same file for each component
… needs to be build from reference which is the Category. Any future piece of code has to take this into account. If anything dynamic occurs in Category, no loading/saving can take place elsewhere
… works with signals (messages) - need to review all features
…t packages dependancies (faster compilation intended in the end)
…t packages dependancies (faster compilation intended in the end)
… when relaunching the tool
…ir + set maximum on window size to avoid crash in mumble editable mode
Sadly, I don't know how to validate the windows part before PR. |
I do like the validation of packs and other parts. But it feels like this PR moves more of the marker stuff into the main overlay, while, I want it to be more separated. I am still working on the plugin system design, but I plan to first move markers part into a wasm plugin (and out of this repo). This will allow markers part to be updated separately (and often with tiny improvements), while the main overlay can remain barebones. Would it be possible to introduce back the MarkerManager (which abstracts away all the marker parts from the main overlaly)? |
Let's trace back what leads to current result. Initial state: In UI (one of the most complicated type of application), there is usually a UI thread and one or more back-end thread. Those two kinds communicate asynchronously ("signals", or "messages") to not freeze the UI. Obvious first step is thus to identify what freeze or could freeze the UI and extract it to another thread.
In my opinion the future components (plugin or else) would need to run on either the UI world or the back-end world. If both, then it would need to become two components (or more) communicating with each others. I also tried to simplify the dep graph (check on master vs branch) All in all, that is why on this PR the jokolay module act as the application which pilot everything. Under the assumption of separation between UI and back, there would be "content provider"s and "renderer"s (or any kind of service). I am totally fine if PR is rejected. You can see it as a PoC of a working UI vs backend architecture. Out of topic: |
P.S.: let me amend the "I am totally fine if PR is rejected" part: I am expecting this PR to be rejected (too many changes), unless you judge it to be in a satisfying direction. |
…so they shall be easier to migrate to plugins in the future
…so they shall be easier to migrate to plugins in the future
…ave functions to encapsulate the transfer
…ation for components interaction
Hello, It's basically the same thing, isolated per responsibility. Not knowing the interface for plugins I went to something generic. Each responsibility is in a component with an interface on how to communicate to others (which, how and in what order). This would allow for future plugins/components to be completely interoperable. As long as relationships are kept a substitute can be introduced easily. Traits and interface can of course change but shall require to be enforced everywhere. Relationships could be stated into a manifest for plugins, having one third party plugin depending on third party plugins. I did not change much on renderer, but there is a clear dependency with first class primitives such as marker and trails in it. Package reading + managing + rendering are intertwined. |
Hello,
Since this is SAB time, it might be nice to publish my work even if still in progress.
Among those:
Feel free to review or accept. I am certain there are some part that needs improvements.