Skip to content
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

Add support for display GUI #529

Open
falhumai96 opened this issue Dec 29, 2022 · 4 comments
Open

Add support for display GUI #529

falhumai96 opened this issue Dec 29, 2022 · 4 comments

Comments

@falhumai96
Copy link

Just a thought suggestion, if it is possible to add the ability to display GUI binaries or possibly render 2D/3D GUI (say code compiled with OpenGL). From an experience standpoint, it might look like KMSDRM where you can render GUI directly from the shell.

@holzschu
Copy link
Owner

I think that's a long term goal, not a short term goal. We may get there, but not in the short term.

@Emasoft
Copy link

Emasoft commented Jan 12, 2023

I think it is better to stick to TUI and CUI, otherwise Apple is gonna take a-Shell down for sure.

But you can do almost anything with libraries like Textual

@falhumai96
Copy link
Author

falhumai96 commented Jan 13, 2023

I don't think GUI will violate the AppStore guidelines. Textual is a nice app to create terminal configuration menus for e.g., such as menuconfig, but it's not perfect. I think it's best if there is a support for something similar to KMSDRM on Linux where you can render full graphics support on the shell. This would have so much potential to test the performance of a-shell's wasm3's or lli's interpreters to process graphics for benchmarking.

Also, there are apps that render GUI while running user-written scripts. Take Pythonista (from my own experience it has now template game scripts built using Python that u can render in Pythonista) as an example, or Apples own built Swift Playgrounds app. There is even a Swift IDE right now that allows you to run a Swift interpreter for app simulation, called App Maker: https://www.appmakerios.com/.

a-shell is amazing, but it can be improved with GUI support. That's my two cents. You guys know best.

@holzschu
Copy link
Owner

I agree the challenge for adding a GUI is technical, not AppStore guidelines. We already support JavaScript user interface (you can show a JS query, and it will appear in a window). A possible timeline would be:

  • run WebAssembly programs in web workers, allowing for parallel execution of multiple programs.
  • add continuous keyboard input to WebAssembly programs (right now, it's not very robust and crashes if used too frequently).
  • extend WebAssembly execution to WebGL.
  • add a GUI library compiled to WebAssembly (?)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants