Some kind of progression system
But yeah what I'm thinking is like a tutorial where you start with no scales and have to work your way up to LL. And then if I'm calling it "Slidle" then it seems like it'll need a daily challenge. Who knows how I can make that work. Tutorial will need localization and a bunch of steps, so that will need its own subsystem. I think it'll be something like, Step 1, this is a linear scale and a hairline. Move the hairline to "5". Step 2, this is a second linear scale. Slide 1 on the bottom one to 2 on the top. Move the hairline to 4 on the bottom scale, you have added 2 and 4. Step 3, this is a logarithm scale. Move the hairline to "5". Step 4, etc. At the end we calculate 1.07 to the power of 168 because Desert Bus.
Started to make tick marks. Basic support for mouse events.
Added drop-downs for scale selection and inversion.
Added localization for basic strings.
Redid the way scales display to reduce errors and to show when scales overlap before 0 and after 10.
Added feature list and change log, garlic, tomatoes, onions, chickpeas, cumin. Added cube root scale. Added triginononmononmentry. Thought about more scales. Thinking is good. I use my brain instead of delegating to multiplying matrices to think for me. I learned math and so can math! Actually there's something wrong with sin and tan and I'm not sure what it is. It's off by a bunch. Something about the scaling ain't right. Oh I bet it's because it's from 0 to 10 instead of 0 to 1. No, it wasn't that. I was just being silly.
I want to see if I can make ticks a little more dynamic because it's annoying to manually program in the ticks. It mostly works. I'd like it to be better. It has some visual bugs that are probably dumb but I can figure them out. I'd like the major scales to work as well, but I guess I can do those manually just fine at some point. I do really like how the minor ticks add and remove themselves as I resize the window. Fixed the hairline-resize problem. Still trying to work my way through dynamic ticks and loops and getting all of that right. I think I have it sorta working but inverses are still broken. Added collapsable features and change log for fun. It doesn't use Javascript. OK I finally fucking fixed the scales. They are now (mostly) dynamically generated. I still need to fix the non-log scales because they "run out" now. The log scale follows the new pattern, so it works right. Inverses work (that was a real pain in the ass). This should provide the groundwork for the non-trivial scales like LL and R. And maybe ST I dunno man. And oh yeah pi and e don't work for the new kind of scales because looping is entirely different. I need to figure that shit out.
Fixed blurry ticks (it was a rounding problem). But I still need (TODO) to see why this happened in the first place - it implies that I broke some other rounding somewhere. Main TODOs this time are to make all of the scales work, to fine-tune the tick spacing and to fix pi and e with the new looping system. DONE Sine and Tangent are still screwed up with inverses. Eh. With the reset button I don't think I need pi and e to loop. Then, maybe, implement LL. LL is gonna suuuuuuuuck. STILL TODO Also man remove some log statements what is wrong with you. DONE Add the reset + back/forward buttons + localizations that are missing. DONE I'd like to parameterize the "edges" of the scales and add some nice graphics (gradients?) to them. DONE. And I added some fancy gradients. I'd like a system that can read off both scales' values of the current hairline's position (for validating maths). I moved the controls to the top and bottom of the scales. Added easter eggs.
There was still a minor problem with the A and K scales so I fixed that. L scale goes infinite now. Not sure how to make S and T go infinite so I've left them alone for now. Fixed L inverse scale. HELL YES I GOT LL working let's GOOOOOOOOO. DONE I've noticed a problem with inverse scales, where they generate MICRO ticks but not MINOR ticks. Fix it. I know why! DONE Now add the R scales? DONE Expand the S and T scales? Do I need the ST scale? Probably not if I expand the S and T scales? I was right, I don't! DONE Compare the values to your real slide rule to make sure they're right (but they seem right). LGTM DONE That hairline-to-number transformation I want. TODO LATER Save and resume (just slap some variables into the URL & suck 'em out.) TODO LATER We'll need some kind of pixel-error correction. Something like determining the in-scale "width" of a pixel and being lenient based on that.