Very little coding today, but fixed up a bit of code that would have resulted in strange breakage had anybody attempted feed in a mathematical impossibility. I think that was the last issue I'd made a note of when writing the function so I've removed the comment explaining what was wrong with the old version.
Anyway, there's still a decent amount of work that I want to do on this, but I think it's coming together nicely.
The text in that top menu bar thing is the generic system-ui set bold, so that'll also look different on different platforms while the colors used are Canvas, CanvasText, Highlight, and HighlightText. Graph line colors can be set with color pickers in the Graph options to be whatever the user wants.
Web page I've been working on when the system is set to the Breeze Dark theme. This time with a dark roast plan that includes turnaround (when using something like this I generally prefer to ignore that and have it come up from room temperature instead). The top bar shows and hides the various options and controls to make it easier to see what you're doing when you mess with those instead of drowning in a sea of all the controls including ones you're not using at that moment.
The main reason to use this over something else is the curve type. Pretty much all of the stuff I've seen starts from the wrong math, making it harder than it should be (but not impossible) to get a roasting plan that you can follow in this universe. This one produces the least curvy curve that passes through all the points which makes it harder (but not impossible) to create plans that you can't easily follow.
There are kind of a lot of changes and features I still want to add, but nothing too huge and the core functionality is already better than the program this is replacing.
The end time field is a handy one. By default the curve will stop once you reach the final control point, but if you set the end time farther out it'll extend the curve to the specified time. You can also set it earlier to get a shorter roasting plan without changing the shape of the part you're keeping. Useful for the case of deciding you want to try roasting something a little lighter or darker.
A little preview of a thing I've been working on lately. The layout and visual design is far from finalized (there's no styling on the HTML at all) and there are at least a few more features that I want to add before I upload this somewhere, but the core functionality works. You give it some control points, it produces a plan that you can roast a batch of coffee against. Below the bottom of this image there are a couple buttons for exporting the generated plan either to CSV or Typica's XML.
Put in the export to Typica feature on the web thingy I've been working on. This can now officially replace my old C++ utility, though I still intend to add at least a few more features before I put it online for others to use. The next big one would be SVG generation so people can eyeball that the plan is what they had in mind before exporting that for use.
Author of Typica software for coffee roasters.