v5.4.7-dev.9
Pre-releaseA BIG rewrite!
The dev.8/9 releases contain a full rewrite of the horseshoe to make maintenance easier and the configuration more robust.
The original horseshoe has been cut into several classes/files. One of the most important classes is the Geometry class. This one processes the visual layout of the horseshoe itself, the tickmarks, the labels, the scale, and the bar mode. All other parts use this one.
One of the nice things about this is that if you, for instance, change the scale from linear to spline, all parts use the new scale directly without knowing something is different 😄 🪂
Only the major/minor tickmarks renderer "knows" about the spline, as it can taper the thickness of the minor tickmarks, so they fit into the available space.
The spline can be controlled by anchors:
- The left card only has 1 anchor at 1. You can see that it has some small issues with the first part, as the spline has no history, and as a result, the minor tickmarks seem a bit off (small, large, small)
- The right card has multiple anchors to control the first part of the scale: that one looks much better!
A spline btw, looks like a log() scale, but can be controlled by the user using anchors, so you can decide which part of the scale is enlarged, and which part is compressed.
With this version, a regression in the Geometry is fixed, and all obsolete files and render paths are removed: about 9.000 lines!
What's Changed
🚀 New features
- feat: (beta) Add labels and ticks to horseshoe by @AmoebeLabs in #212
- feat: Add external json color palettes to support darklight mode for custom colors not in the theme by @AmoebeLabs in #214
- feat: Extend same_as with named tags, and auto-ids when not assigned based on index in list, delta's and calc() functions by @AmoebeLabs in #218
- feat: Add static constants and ref support for reusable layout configuration by @AmoebeLabs in #221
- feat: Add display svg or image instead of icon by @AmoebeLabs in #225
- feat: Add state mapping support to horseshoe by @AmoebeLabs in #226
- feat: Add format options in entity definitions to regain control over formatting by @AmoebeLabs in #232
- Refactor: Rewrite horseshoe to separate classes to make maintenance and changes easier by @AmoebeLabs in #234
🧰 Maintenance
- chore: Remove vx versions of functions and classes for dev3 by @AmoebeLabs in #216
- chore: Remove obsolete files and fix regression for spline by @AmoebeLabs in #237
- Bump js-yaml from 4.1.1 to 4.2.0 by @dependabot[bot] in #235
📚 Documentation
- doc: Add docs folder and documentation by @AmoebeLabs in #229
Full Changelog: v5.4.7...v5.4.7-dev.9