I was excited to get back to Svelte and to explore some ideas that came up after looking at the tech challenge sample app.
My methodology as a coder usually goes proof of concept > prototype > production. All this very much belongs to the proof of concept stage!
- how might a keyboard-friendly and accessible grid-select interface work?
- radio groups give us left and right arrow keys for free, let's capture up and down and hop rows to see how it feels (there are unhandled edge cases here)
- let's make some fake cryo-em images!
- generated circles with parameters from diffent distributions:
- random (circle radius)
- gaussian random (x position, y position, transparency)
- inverse gaussian random (colour, to push it to very light or very dark values for punchy alpha composites)
- noise (it's lazy code and soooo slow, but I like to get pixels on the screen; I refactored this in the private repo I shared)
- render canvas to image and download it (I am being profligate with canvases here, it's a proof of concept)
- super basic vanilla JS plot
- mostly playing with Observable plots
- swap canvas for rendered images in-place
- note we can see on the graphs which circle parameters were drawn from a gaussian distribution and which weren't, in line with expectations