Javis Is Better Than Ever!
It is with great excitement that we announce the release of Javis v0.3.0!
This release was focused on adding in some much desired features as well as a rethink of its syntax.
Read on to see all the new features!
Revamped Syntax
v0.3.0 introduces a new syntax that should feel more natural than our previous iterations.
Following user feedback, we revised the Action-SubAction relational syntax and instead adopted an Object-Action relational syntax.
One can now say, “an Object was acted upon by an Action” instead of “an Action was modified by a SubAction” with the latter being less clear.Furthermore, creating animations is now much simpler.
An example being:
using Javis, Animations
function ground(args...)
background("black")
sethue("white")
end
video = Video(600, 400)
Background(1:200, ground)
for start in 1:10:50
star_obj = Object(start:(start + 149), (args...) -> star(O, 20, 5, 0.5, 0, :fill))
act!(star_obj, Action(1:10, sineio(), appear(:scale)))
act!(star_obj, Action(1:140, follow_path(star(O, 150))))
act!(star_obj, Action(140:150, sineio(), disappear(:scale)))
end
render(video, pathname="follow_the_star.gif")
Which yields an animation like this:
Did Someone Say… Transposing a Matrix
This new syntax opens up limitless opportunities in creating animated graphics!
Some of those new graphics are using!
Example code for: Fourier Transforms to outline images
or for explaining the Fourier series:
And, by popular demand from before our very first release, transposing a matrix:
(We will add a tutorial or at least put it in the examples section soon )
Future Development Paths for Javis
This will probably be our main release of Javis for a while as the new features we would like to implement will take time.
We want to move to supporting Jupyter and Pluto notebooks in the future as well as improving the current live viewer that Javis has.
Further, we want to continue doing backend optimizations for Javis to make it faster and less memory intensive.
And someday, maybe someday, write our own LaTeX parser to make transposing a matrix and others actually possible! (It’s currently more like a hack )
Finally, there are on-going explorations being done to see how Javis could be utilized for specific domains.
Our dream is to see creators making their own animations for their specific domains.
Wrap Up and Get Involved!
Want to learn how to use or contribute to Javis?
Check out our documentation to see our contributing guidelines - beginners welcome! - and in-depth tutorials.
And if you are just curious about the philosophy behind Javis, see our mission statement.
Do you have any questions, feedback, or ideas for us?
Feel free to join our community over on the Julia Zulip #javis
stream!
If you find any issues or problems with the tool or Javis, feel free to open an issue on our project repo .
What are you waiting for?
Run ]add Javis
in your Julia REPL and try it out!
We hope you enjoy this new release of Javis!
~ @Wikunia and @TheCedarPrince