Skip to content

v1.2.0-beta1 - Path Operations, Dynamic Colors, Enhanced Round Gauge, & More

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 13 Nov 18:29
· 1 commit to main since this release
39c94ea

New Features

  • Added a new set of actions for working with drawing paths (unstyled drawing elements). Completely freeform paths can be created, including support for SVG path syntax, as well as basic shapes like rectangles and ellipses.
    Paths can be combined and transformed in various ways to create complex shapes. They can then have a drawing style applied to them, or be used as a clipping region to constrain further drawing.
    For more details see the notes on PR #27.
  • Added new "Animate - Update a Color" action to dynamically change a color of an existing layer element. (#28)
  • Added plugin setting to control the number of CPU threads used for final image compression and output.
  • Plugin now logs all messages to its own file on all platforms, independent of Touch Portal's own log. Log file is located in plugin's installation folder. Logging settings can be adjusted using a configuration file. By default log files are rotated at 5MB maximum size and up to 4 old log files are kept. (#23)

Fixes

  • The "Finalize Only" and "Render Only" choices were ignored in the "Generate Layered Icon" action and icon was always finalized and rendered. (d5ec58c9)
  • Image layer type was always being replaced with new instance of DynamicImage() instead of reusing existing instance. (e7a467b5)
  • Stroke line thickness could not be reset to zero after being changed to non-zero w/out deleting the whole icon instance. (14449c23)

Major Changes

  • Removed/disabled GPU rendering feature including the plugin setting and "Generate Icon" action options. This feature proved ineffective and caused peripheral issues. May be re-introduced in a later version. See PR #25 for details.

Element Changes

Simple Round Gauge (#26)

  • Added line width and radius settings.
  • Add "auto" direction to toggle CCW drawing with negative values.
  • Removed shadow toggle property (use transparent color to disable shadow, previous versions of the action still work);
  • Fixed that could not set a starting degree of zero.
  • The starting degrees action data field now allows negative values and inline evaluation.
  • Moved shadow color to end of action's properties list.

Simple Bar Graph

  • The new "Update a Color" action can be used to change the color of the next bar segment(s) to be drawn, allowing for multi-color graphs (see PR #28 for an example).

Image

  • Added ability to use base64-encoded data as source input by using a "data:" prefix before the b64 data string. For example to use the result of another plugin's dynamic image as a layer, or encoded data from a web URL request. (#29)

Other Changes

  • For Touch Portal v4 (#30):
    • Plugin's actions are now sorted into sub-categories by function.
    • Added help text for each of the plugin's options shown in TP's Settings dialog.
  • Concurrent system thread usage changes: (ee62e201)
    • The number of simultaneous image rendering threads is now set to use half the logical cores available on the host system. Previously this was always fixed to 4 threads.
    • The default number of simultanous image compression threads has been reduced to using half the logical cores available (controllable via new Setting mentioned above). Previously this used as many threads as there were logical cores.
  • Prevent layer updates while icon is actively rendering (warnings are logged to file). (ab60b03b)
  • Optimized data transfer between the drawing canvas ('skia-canvas') and final compression step ('sharp') by ~400% using updated custom version of 'skia-canvas' to export raw pixel data. (cc4717e2, skia-canvas@8cbc8910)
  • Slightly optimized image file loading (before cache) by creating canvas images using raw pixel data instead of encoded/decoded PNG format. (72b907d5, skia-canvas@1e7e09b7)
  • Fixed upstream issue in 'skia-canvas' which sometimes caused full circles to not be drawn at all. (skia-canvas@bb99a3ad)
  • Updated 'sharp' and underlying 'libvips' libraries to latest versions for improved image compression performance. (#24)
  • Updated TP Node API ('touchportal-node-api') to latest version allowing log message redirection and graceful plugin shutdown on exit. (4b69a8d9, 0a65d4b2, tp-api#36, tp-api#38)
  • Minor performance optimizations. (e830d054, caacff04, tp-api#40)

Full log: v1.2.0-alpha3...v1.2.0-beta1