-- Marquee select just checks against the bbox, which is already
computed.
-- Single-click select transforms the mouse coordinates into key-space
by applying the inverse transformation matrix. Then it can compare
against the two rectangles, just as it used to.
-- Each key has a rotation angle, and center of rotation; available in
the editor.
-- Displaying crosshairs in the editor for the center of rotation.
-- Keyboard shortcuts to move CoR, and change angle.
-- Keyboard height is correctly calculated.
TODO:
-- Serialization is still wonky.
-- Can't click on rotated keys to select them.
-- Now setting background-size & background-position properties on the
keycap foregrounds (which are the elements that have gradients applied).
-- Now, instead of each section getting its own gradient, they each get
the *same* gradient... so when they are laid on top of each other, the
gradients match.
-- This is just about perfect for DCS (cylindrical).
-- The effect is less convincing for DSA/SA caps; ideally we'd be able
to "blend" the two gradients together somehow, but CSS doesn't support
non-normal blend-modes, and I don't want to get into <canvas> rendering.
-- The palette swatch will have a glyph to indicate it's the current
foreground/background color.
-- We print the color name beside the foreground/background color editor
fields.
1. Instead of using the specified color for the top of the cap, and then
darkening the side, I use the specified color for the sides of the cap,
and then lighten the top.
-- All swatches were sampled from the smooth part of the color chips...
and the smooth is usually present on the *side* of the caps, not the
top.
-- The top of the caps usually has a matte-finish, which is visibly
lighter than the smooth finish.
2. Lighten the color in LAB-space, instead of in RGB-space.
-- results in better appearance for the light colors
3. Tweaked the gradients for DSA and DCS.
4. Updated existing sample layouts to use SP color values.
-- Deleted old/unloved sample layouts.
-- Darkened the Stealth-Black layout to match other changes.
5. Changed the default keycap color from #eeeeee --> #cccccc
-- Relative appearance is similar between old & new versions.
-- Somewhere along the line they got moved up... moved them back down.
-- Made the DSA version 1px smaller, so that it would fit in the
available space.
1. Added some info to the tooltips.
2. When you check the 'stepped' checkbox, we will modify the
width/width2 values so that they are different (if they are not
already).
-- At the very least, this gives a visual indication that the checkbox
actually *did* something.
Colors were sampled from actual plastic chips using an X-Rite
ColorMunki, and then converted to sRGB (D65) using the formulas on Bruce
Lindbloom's website.
-- Line spacing was too big on the keycaps (I think it was picking up
the spacing from Bootstrap); fixed in CSS
-- DSA keys were showing the inner-border in the incorrect spot (wasn't
really noticable on the dark colors of Retro DSA); fixed in CSS
-- Replaced custom min/max functions with the correct Math.min, Math.max
functions.
-- The valiation for x/y offsets was too aggressive; for some
oddly-shaped keys, it didn't let you set values that were big enough.
-- Swapped the order of the keylabel tops for the primary & secondary
rectangles. This ensures that the label is in the same place whether
stepped or not, at the expense of maybe affecting old layouts.