port demo to react UI

port demo to react UI

It's important to me that I do this because I want to become familiar with some frontend technologies.

task id: demo-react-UI

2024-06-17 08:22: How to make this more actionable? #demo-react-UI

When I initially wrote this, I didn't really know what it is I was talking about.

The goal here is to be able to use a NameBrand JS Framework to get better at understanding how this tool works. I think when I initially wrote this, I was imagining React to be more of a widget library, when really it's more about managing state of the widgets, and the widgets are somewhere else.

Perhaps what I really want are some nice looking sliders with CSS, and then using React to manage the state of these?

2024-07-02 08:32: Ready to start working on this #demo-react-UI

I think I know enough now to start getting the rest of this UI ported to React. I can just focus on the UI elements first, and then worry about hooking it up later.

2024-07-02 15:46: Set up some boilerplate code for react typescript demo #demo-react-UI #timelog:00:15:00

2024-07-03 19:40: I keep putting this off. #demo-react-UI

Part of my hesitation with my initial "port it to react" is: how bulky will this end up being on my website? Do I even want it there? Does it even matter if it just is code that's here in my Recurse monorepo and nowhere else?

2024-07-03 19:45: Creating task to investigate size of react apps. #demo-react-UI #how-big-are-react-apps

One of my concerns with building a react app is that if I host these on my droplet, it's going to clog things up in and take space. What I want to know is: when I go through the process of minifying and exporting the code, how much space does it end up being? What goes into uploading and running this on my webserver?

My other concern (which I'm trying not to think about too hard about) is: my website is 99% static, and introducing JS could mean adding an attack surface to my website. Probably just being paranoid.

2024-07-05 08:13: Try to add sliders today #demo-react-UI

I'm honestly losing motivation for this, but it's important to me that I do this in order to learn.

2024-07-05 14:31: More slider-ing #demo-react-UI #timelog:01:11:08

2024-07-06 18:48: Add glottis parameters. #demo-react-UI #timelog:00:18:50

2024-07-06 19:08: Now for the region sliders #demo-react-UI #timelog:00:12:18

2024-07-06 19:44: Initial importing of webaudio stuff #demo-react-UI #timelog:00:32:39

2024-07-09 08:19: Didn't get to this yesterday, today hopefully #demo-react-UI

2024-07-09 16:18: More webaudio code porting #demo-react-UI #timelog:00:35:00

Note to self: we're calling this voxsculpt.

2024-07-09 16:52: Mostly works. Now the rest. #demo-react-UI

2024-07-09 16:53: "User aborted request" #demo-react-UI

Happens when I attempt "await startAudio" in onclick callback.

2024-07-09 16:58: Sound is made, but sliders do not control anything. #demo-react-UI #timelog:01:10:44

Also paired with Dan to help out with things.

2024-07-10 11:11: This feels complete #demo-react-UI #voxsculpt-preset-manager

I don't have preset import/export, but that can be another task.