Wasm visual interpreter update: - block, loop, br...
# share-your-work
m
Wasm visual interpreter update: - block, loop, break, break if, i32 comparison ops - function inspector and switcher
d
Looking interesting! This is perhaps tangential: I'm working on something very different which also offers time traveling with a slider like you have there. Not sure if you've thought about this already, but a plain slider gets painful to use the more states you have until it gets to a point that it becomes unusable. I'm starting to explore alternative controls, including tiered sliders, with a tier to navigate between "bookmarks" and a second tier to navigate between the states that are between two adjacent bookmarks. Would love to know if you've had any ideas to make the time traveling controls more approachable.
m
I always wanted to make it easier to slide slower/faster, I thought about using the y coordinate to control how fine grained the movement is, not more than that for now 😄
a slider is not the best control, I think it should be something different
d
I think "drag slider to control time" is a strong affordance, so I'm playing with variations of that for now. In a way, the tiered sliders (which are also stacked vertically) are similar to using the y coordinate to control the step size, but they're more intentional. Do you have anything in mind that could work better than a slider?
m
nope 😄
g
I'm on a completely different vector(s) of thought, but, in general I conclude that flat=bad, tiers/layers=good. From this thread, I'm getting visions of an "infinite canvas" style of ruler. At normal zoom, you see cm markings. Zoom in, you see mm markings, zoom in some more and you see nm markings. Slider works only between markings at whatever level of zoom you're at. Maybe, too, some kind of assembly language for slidering, adjacent to the machine code opcodes, akin to CALL/RET opcodes in machine code (two parallel sets of opcodes, one for code execution one for slider control).
m
Nice! I was also working on a history feature in my line computer last week. I decided to map my scroll wheel to the "time travel" given that my MX Master has a really nice hardware solution to allow for fast AND precise scrolling. I was planning to use a DJ controller or build one where you can spin a disk to travel through time and press+spin to do more fine grained travel. I really think this is a problem that wants to be solved in hardware!
g
Interesting point. The MX Master has 2 scroll wheels - the usual one for the Y scrollbar, and another one for the X direction (controlled by the thumb). Maybe it needs a 3rd scroll wheel for Z? This probably suggests an addition to the GUI - most GUIs are capable of showing scroll bars for X and Y. Maybe they need another kind of scroll bar thingie for Z?
m
Yes, I see a MIDI integration as useful here. Would open up for a lot of controllers.
g
Hmm. I used to play piano (I played much more guitar) and have reached the conclusion that I like QWERTY keyboards better since no arm motion is needed. Synth keyboards, though, have something that I haven't seen in QWERTY - velocity and wiggling (slight sideways motion). Hmm.
m
I was mostly thinking about control knobs, that can be easily mapped.
g
brainstorming: • A friend was fooling with a midi/mixer control surface as a layered interface to a bank of apps/subdirectories. A grid of buttons, push into one then get a sub-grid of buttons within it, or, open the app. • IMO, software is just soft hardware. What ideas come to mind for simulating a Z controller before committing to hardware? It seems that an obvious choice might be to put a 2nd scroll bar next to the Y scroll bar. The 2nd scroll bar might be "Z"oom in/out and it might be shaped in a more triangular manner than just a rectangular movable thumb on a rectangular bar. In an orthogonal vein: @Ivan Reese posted some interesting looking circular knob ideas. • 2 sliders, one to control scrollable thing, one to control resolution of 1st slider. • veering even further away from the original thread, there are ZUIs like EagleMode.