Neoscore 0.1.7 released with improved rotation and scaling support! #73
Replies: 3 comments 3 replies
-
@Xavman42 your project got me thinking that with this new functionality it would be pretty easy to build fractal scores using staves in place of line segments. I threw together a little example script for this you may be interested in. Lots of very interesting ideas in this area! |
Beta Was this translation helpful? Give feedback.
-
Wow. This looks great guys. Very exciting. I like the fractal Andrew. Might develop it further as a taster score for the forth coming series of DigiScore workshops 🥳 |
Beta Was this translation helpful? Give feedback.
-
Thought of a nice-to-have feature: Rather than initialize objects then change their rotation later, it would be nice to be able to set rotation in the initial class call. For example, this:
could be achieved with this:
or something similar. |
Beta Was this translation helpful? Give feedback.
-
I've just release 0.1.7, which includes a major improvement to the way neoscore handles rotation and scaling. Previously, there was no way to rotate or scale a group of objects together. An object rotated would not take its children with it, and similarly with scaling. In the new release we support this behavior outside of flowable contexts.
That said, this functionality remains fairly experimental. There are many things that will not work as expected with this, like paths with elements parented to other objects. This is also a complicated change, so there's a good chance there are bugs - please report anything that seems wrong!
You can read more about this new behavior at the docs page here.
This release also includes a few other improvements:
transform_origin
point thanks to @Xavman42z_index
support has been removed. Item rendering order is now determined exclusively by the order in which objects appear in the document tree's depth-first traversal. Within each page, objects created first, and their children (created first) will be rendered first.PositionedObject.render_complete()
works. Classes which implement this method will need to be updated. See its documentation for more.Beta Was this translation helpful? Give feedback.
All reactions