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

Playground Improvements #5

Open
4 tasks
nick-thompson opened this issue Feb 2, 2024 · 0 comments
Open
4 tasks

Playground Improvements #5

nick-thompson opened this issue Feb 2, 2024 · 0 comments

Comments

@nick-thompson
Copy link
Collaborator

The browser playground is one of the most popular pages of the website, and it's very much my intention to lean into that to provide a really compelling first-touch with Elementary for new users, and a place for existing users to explore and iterate quickly.

Right now, it's a bit lacking in features, and the error handling story could be a lot better. Part of the Elem v4 roadmap is a much better error handling story across the library, which we can surface easily in the playground at that time. In the meantime, I'd like to hit a couple of features that extend the usability of the playground. I'll check these off below

  • Use hotkeys to evaluate/render user code instead of automatically rendering on every keystroke
    • shift + enter to render
    • cmd/win + shift + enter to reset the runtime, reload the VFS, and re-render
  • When the above is done we can effectively remove the bottom bar from the page layout and create more room. At the same time, I'd like to rearrange the right hand side into three panels stacked on top of one another: a console panel, and two plot panels
    • The console panel initially reads a very brief UX guide: "shift + enter to start, cmd + shift + enter to reset" and a link to the docs. Inspiration: https://zen.cephasteom.co.uk/
    • Once the user begins working, the console panel overwrites/updates itself on each render with either the latest error message or the latest render stats
    • The plot panels are initially blank, but begin real-time drawing as soon as the user renders a scope, meter, or fft
  • Add support for mic input
    • This is just wiring the web media stream to the elem node and giving the user some config panel to allow them to enable it
  • Add support for midi input
    • This is quite like the new web midi tutorial on the docs site, again with a config panel for the user to enable it
    • This one also has big implications for how user code should address state changes over time. I have a design for this already that I'd like to implement, but if any contributer wants to tackle this before me let me know! We can open a new issue with further details
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

1 participant