Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Consider redesign of UI Facade

Open
#690 0 comments 0 reactions 1 assignee View on GitHub

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from CoderLine/alphaTab

All issues in CoderLine/alphaTab

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.