Releases: peaceheis/synthesium
v0.2.0: The Spice of Life Update
It's been awhile! Since July, a lot has changed in the inner workings of Synthesium, so let's get right into it:
The breaking changes:
Scene
has been renamed toCanvas
Mations
(class and file) has been renamed toMation
Matables
(class and file) has been renamed toMatable
ConcurrentMation
has been renamed toMationGroup
- Instead of defining the
start_minute
,end_minute
,start_second
,end_second
, etc forMation
, a newTimeStamp
class has been created, and upon Mation creation, twoTimeStamps
, must be provided. Making aTimeStamp
looks like this:TimeStamp(min,sec,frame)
Matables
no longer have to override adraw
method, but rather simply must be one of the newPrimitives
,Line
,Arc
, and (Bezier)Curve
Matables
are defined byPoint
s upon initialization.Point
s look like this:Point(x, y)
- Colors now function as RGBA instead of BGRA (this was a bit harder to fix than you'd expect XD)
- A whole bunch of methods also got shuffled around, far too many to enumerate. Take a look at the code, if you want to get a better look (there's plenty of comments around!)
The internal changes:
- Essentially every file has been rewritten -
Canvas
(formerlyScene
) uses a pipe for rendering instead of individual PNGs, and is now in charge of rendering, breaking everyMatable
down into one of the aforementionedPrimitives
and drawing them, instead of a draw() method (this is probably going to be tweaked again),Matables
are now more focused on geometry instead of drawing, andMation
s are more of a change layer than they were before. Mation
s can schedule apre_tick
, if it relies on knowing an updated state for its target (often used with attribute like colors)
The nice changes:
- Lots of new
Mations
- here's the full list:ChangeOpacity
ChangeOpacityFill
ChangeRed
ChangeRedFill
ChangeGreen
ChangeGreenFill
ChangeBlue
ChangeBlueFill
Rotate
MovePoint
Transform
- That last one,
Transform
, is powerful - any numeric value for aMatable
can be directly modified, like this:Transform(circle, "radius", 0, TimeStamp(0,0,0), TimeStamp(0,2,0)
. More generally, they take the formTransform(target [Matable], attribute [string], end_attribute [int or float, used for what the value should be at end], start [TimeStamp], end [TimeStamp]
That will wrap it up for this one! There's probably going to be a lot of changes anyway, but this release is much closer to the original vision I've had for Synthesium - rewrites will likely be corresponding to the end-user experience, not how things work internally.
If anyone is reading this, I appreciate you using Synthesium, and feel free to start a discussion or file an issue if you want to make a change!
Thanks,
peaceheis.
Hello World, minor update 1: viability
This is a minor update that provides usability for Synthesium, as temporary directories, as well as output directories, are now specifiable.
The Hello World Update
Synthesium v0.1: The Hello World Update
Synthesium has a long way to go, but the first working version of Synthesium is here!
What's new:
- Everything! Mations, Matables, Scenes, they're all here.
Now, I must say: to use Synthesium, you must add the path to your temp images directory to the first two lines with '/path/to/folder', the first part of the third, and then the place you want the final video in the second part of the third line where there should be a path. Don't worry, that won't stay for long.
Also, the only implemented Matable is Circle, and the only implemented Mation is Move(). Also coming soon, bring me to....
What's ahead:
- More Matables and Mations
- A better internal system (trust me, the current one is ugly.
- And much, much more! Stay tuned.
I'm quite excited for what's to come, but a lot has been done so the next steps will be easier on me and users. Look out for more!
-peaceheis.