-- Because more of the sizes are parameterized, SA/DSA-profile caps now
have the correct shape.
-- Also moved the SVG button to a more prominent location.
-- Generating HTML with a doT.js template function; hopefully easier to
maintain.
-- More of the parameters refactored into the JS code, rather than
relying on being in the CSS; benefit => those parameters are available
when I do SVG rendering.
-- Also, now using Stylus to compile & minify CSS, and auto-inline small
images (Sublime project describes how to compile).
-- Refactored the rendering code so I could re-use as much of it as
possible.
-- Added a button to download SVG (currently on the raw-data tab).
-- Lots of limitations... no labels, no profile support, no rotated-key
support, etc.
-- Switched from plain bootstrap to angular-ui-bootstrap (to fix some
interaction problems); this necessitated a number of markup changes for
the modals and dropdowns.
-- Can now "cancel" the options dialog.
-- Sprinkled the markup with ng-cloak to prevent early rendering
problems.
-- Fixed some copy/paste issues with previous form changes (labels were
incorrect)
-- Upgrading to the latest Bootstrap broke a bunch of stuff, so I had to
go in and fix it.
-- While I was at it, I switched all the form controls to make better
use of the Bootstrap classes, so they look and reflow a bit better now.
-- New color picker (angular-bootstrap-colorpicker)
-- Color picker placed beside each label field.
-- Can also drag & drop from palette to label fields (using
angular-dragdrop).
1. Currently supports changing the default step/rotate size.
-- Inspired by something @D1SC0tech did in his fork (good idea!).
2. Now rounding values after modifications to avoid floating-point
errors.
3. Also fixed an error when trying to show the help dialog on FireFox.
-- Load the Markdown files directly, parse them (with "marked") and put
the result in a model popup.
-- This way I don't need to maintain separate files for the website &
GitHub repo.
-- 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.
-- 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. 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.
-- The first section is for true "presets"... standard layouts without
much customization.
-- The second section is for "samples"... these are layouts with more
extensive changes.
-- Primary size applies to the first cap; secondary size applies to all
other caps
-- If primary is changed, we automatically change the secondary to keep
it in sync; this is *usually* what we want.
-- Some special serialization rules to ensure we don't write out more
data than needed; same rules apply there, if primary is changed,
secondary changes.
-- Previously used "fixed" position; this is fixed to the window, so
isn't affected by scrolling, which is why it didn't work.
-- Now using "absolute" position; this is relative to the parent
element, so it *is* affected by scrolling.
-- Also had to reparent the selection rectangle so that the coordinates
were correct.