Consider redesign of UI Facade
Maintainers usually reply within 1 day
@Danielku15 is already working on this.
Since Dec 29, 2021.
Assessment
This issue has not been assessed yet.
Description
As part of https://github.com/CoderLine/alphaTab/pull/689 and along the Android implementations there were some findings on how the UI facade is currently handled. The abstraction towards the UI is designed currently quite generic abstracting UI controls and their actions. This makes it hard to benefit from platform specific UI behaviors. Especially on android realizing a UI with this generic approach will be challenging.
With the new lazy rendering approach we have now a 2-phase pipeline which allows us to handle UI virtualization needs more efficiently without relying on platform limitations.
Most of the current IUiFacade is actually rather a IPlatformFacade a rename would be good.
Secondly the IContainer approach is very generic. It would be better to design an interface which represents the overall UI control with it's functionalities we need like: adding/filling placeholders, listening for scroll events, listening for visibility changes, showing cursor and selection elements.
It is not so different to what is exposed by the current interfaces, but a very concrete representation of the UI control alphaTab needs is better than a general purpose UI abstraction.
- Dominant language
- TypeScript
- Stars
- 1.9k
- Forks
- 297
- Avg merge
- 9h 2m
- Merged PRs (30d)
- 44
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from CoderLine/alphaTab
-
ai-authored
Difficulty 2/5 1-3 hours Newbie friendliness 69/100
Maintainers usually reply within 1 day
-
ai-authored
Difficulty 3/5 1-2 days Newbie friendliness 66/100
Maintainers usually reply within 1 day
-
Respect systems layout of MusicXMLPossibly taken @Danielku15 claimed this 20 days ago. Open
CoderLine/alphaTab#2909 · 1 assignee ·
Maintainers usually reply within 1 day
-
Expose Lyrics in public apiPossibly taken @Danielku15 claimed this 20 days ago. Open
CoderLine/alphaTab#2908 · 1 assignee ·
Maintainers usually reply within 1 day
-
Show accentuations on tab-only stavesPossibly taken @Danielku15 claimed this 20 days ago. Open
CoderLine/alphaTab#2906 · 1 comment · 1 assignee ·
Maintainers usually reply within 1 day
All issues in CoderLine/alphaTab
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
openremote/openremote#3487 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
coollabsio/jean#867 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
ehmpathy/rhachet-roles-bhuild#616 ·
Maintainers usually reply within 1 day
-
📘 Docs supabase/cli
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
Maintainers usually reply within 1 day
-
bug(cli): theme file home-directory check uses startsWith (sibling dirs pass, Windows casing fails)Openarea/core kind/bug priority/p2 status/bot-triaged
Difficulty 2/5 1-3 hours Newbie friendliness 79/100
google-gemini/gemini-cli#29955 · 2 comments ·
Maintainers usually reply within 1 day