v0.11.0: New drawing features
This release introduces a few major drawing features, automated ZMK workflow improvements and a major internal refactor to improve the project structure.
Features
-
Multiple output columns!
- Set the
draw_config.n_columns
variable to e.g. 3 to output with three layer columns
- Set the
-
Separate combo diagrams! For those of you who use thumb+alpha combos or steno-like keymaps, there is now the option
to draw each combo in a separate minified layer diagram, showing the output key and the triggering key positions.- Set
draw_config.separate_combo_diagrams: true
to enable, anddraw_config.combo_diagrams_scale
to tweak the scaling factor (default2
) - Currently the
layers
property of the combos are ignored and not visualized, might be added in the future if there is a clean way to show it - Key corner radii are currently not scaled, so the keys will look rounder for higher scale factors
- Set
-
Add key sides to drawn keys to give a keycap "profile" appearance, by @riccardoflp
draw_config.draw_key_sides: true
to enable, tweak the appearance viadraw_config.key_side_pars
- Currently may not render well on Safari, looking into workarounds
Fixes
- Sort SVG glyph defs before writing to avoid non-deterministic output
- Tweak Tabler-related CSS to hide the outline boxes in Safari, by @bryanforbes
- Fix font size issue in hold/shifted fields due to
draw_config.shrink_wide_legends
, byinxi
(at MoErgo Discord) - Fix issue creating unnecessarily long dendrons for certain combo types
ZMK drawing workflow
- Add option to amend the last commit and also commit parse output YAML, by @minusfive
- Recursively checkout the repo to support git submodules like zmk-nodefree-config, by @shroomist
Misc
- Tweak classes for output SVG elements to allow for better customization via CSS
- Assign
key
/combo
classes to rect+text elements for layout keys/combos - Assign
keypos-N
/combopos-N
classes to key/combo elts. to allow addressing via position indexN
- Assign
- Add a proper physical layout for
slicemk_ergodox
, by @xudongzheng - Round SVG coordinate/size values for better readability and smaller output size, by @art4ride and me
Note that future updates might unfortunately include more CSS changes, such as converting to the descendants selector syntax, e.g. .held rect { ... }
from rect.held { ... }
. Thanks to the folks at LowProKB and MoErgo for helpful discussions.
I will also prioritize a better documentation organization in the short term, possibly hosted on Github pages.
Full Changelog: v0.10.0...v0.11.0