Skip to content

v0.11.0: New drawing features

Compare
Choose a tag to compare
@caksoylar caksoylar released this 29 Aug 01:50
· 136 commits to main since this release

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

    image

  • 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, and draw_config.combo_diagrams_scale to tweak the scaling factor (default 2)
    • 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

    image

  • 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 via draw_config.key_side_pars
    • Currently may not render well on Safari, looking into workarounds

    image

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, by inxi (at MoErgo Discord)
  • Fix issue creating unnecessarily long dendrons for certain combo types

ZMK drawing workflow

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 index N
  • 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