nixon-voxell / bevy_motiongfx Goto Github PK
View Code? Open in Web Editor NEWMotion graphics creation tool in Bevy. (Highly inspired by Motion Canvas and Manim)
License: Apache License 2.0
Motion graphics creation tool in Bevy. (Highly inspired by Motion Canvas and Manim)
License: Apache License 2.0
thread 'thread 'Compute Task Pool (7)Compute Task Pool (4)' panicked at ' panicked at D:\develop\projects\rust\bevy_motiongfx\crates\motiongfx_core\src\sequence.rsD:\develop\projects\rust\bevy_motiongfx\crates\motiongfx_core\src\sequence.rs::157157::3232
:
:
attempt to subtract with overflowattempt to subtract with overflow
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Encountered a panic in system `motiongfx_core::sequence::sequence_player_system<bevy_asset::handle::Handle<bevy_pbr::pbr_material::StandardMaterial>, bevy_render::color::Color, bevy_asset::assets::Assets<bevy_pbr::pbr_material::StandardMaterial>>`!
Encountered a panic in system `motiongfx_core::sequence::sequence_player_system<motiongfx_vello::vello_vector::rect::VelloRect, kurbo::rect::Rect, motiongfx_core::EmptyRes>`!
Encountered a panic in system `bevy_app::main_schedule::Main::run_main`!
error: process didn't exit successfully: `target\debug\examples\vello_basic.exe` (exit code: 101)
Vello glyphs
- [ ] glyphs
Vello shapes:
Add SpriteMotion
for Bevy sprites.
Currently, the way we reference the animation playback time is through the Timeline
struct, which derives from Resource
. This means that in a single Bevy ECS world, there can only be one Timeline
.
This limitation is a little hard to work with when animators wants to create multiple segmentations of animations that can be played with different criteria (e.g. speed, starting time, play direction, etc)
With the introduction of Timeline
as a Component
, animators will be able to create multiple Timeline
s in a single Bevy ECS world, therefore, removing all of the limitations mentioned above!
Add sections into the Sequence
to enable users to call a "play until section" command, such that the timeline will only play until the specified section.
A section generally refers to the preceding actions rather than those that follow.
Go to see the current result, it's Hella cute
I assume the frames are generated from svg?
I think next step would be to find this information in metadata or in each page
We should also have the option to keep the generated one inside each frame so as get the beautiful letter by letter result we have now. But now you'd just click once, it'd run to the next "typst frame" label
metadata could also be used to tweak how long the animation are during, what easing method is used etc.
for instance, using polylux we could run a document in a frame per page mode and use metadata to decide the easing we want
Unrelated (there's no enable discussion for now so i'm going rogue)
The project is big already (bevy + typst), is it portable, can I run the generated interactive content on any machine once I built it?
For instance, lets say you have 3 polylux slides with the same text but it's color is a different gradient each time, how can we make it render well? ๐ค
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.