tulipcc icon indicating copy to clipboard operation
tulipcc copied to clipboard

Tulip Desktop should be a web page, not a native app

Open bwhitman opened this issue 1 year ago • 3 comments

We want to simplify development and ease of use for Tulip Desktop, our Tulip simulator.

Tulip Desktop is crucial for Tulip - it helps people learn about Tulip and also helps them write programs for Tulip.

It is currently based on the unix port of Micropython and SDL, to simulate the screen. AMY works as is. We (Brian and Dan) do most of our work on macOS, and the linux/WSL ports have various problems that we can't fix. The linux/WSL ports also have to compiled from source.

We want to build Tulip Desktop for the web, using Micropython's webassembly port, AMY's web port, and emscripten's SDL support (or find another frame buffer-like canvas object.) This will let anyone just go to (e.g.) https://tulip.computer/desktop and have their own file system and be able to interact with Tulip on the web with no software install.

bwhitman avatar Aug 27 '24 18:08 bwhitman

Why not Web Audio and Web MIDI? Do you really need an Emscripten SDL2??

znmeb avatar Aug 27 '24 21:08 znmeb

SDL is not for audio and MIDI (we will use native Web Audio (Worklets) and MIDI) but for the framebuffer, keyboard and touchscreen/"mouse".

bwhitman avatar Aug 27 '24 21:08 bwhitman

Ah ... I don't know much about the video stuff.

znmeb avatar Aug 27 '24 21:08 znmeb

This work is well underway, see latest here: https://tulip.computer/run/

bwhitman avatar Nov 23 '24 14:11 bwhitman

Looks great! I'm working with AMY in Arduino on Pico Ws at the moment, but my project will definitely need some desktop components to supply data to the Pico version.

znmeb avatar Nov 23 '24 15:11 znmeb

Calling this done! We launched Tulip Web at https://tulip.computer/run/ -- you can share code, use Tulip World, there's an editor, etc.

bwhitman avatar Feb 04 '25 14:02 bwhitman