Giter Club home page Giter Club logo

bevy_motiongfx's People

Contributors

nixon-voxell avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

bevy_motiongfx's Issues

Panics when timeline `target_time` is non 0 when sequence is empty

Logs

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)

`Timeline` as a `Component`

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 Timelines in a single Bevy ECS world, therefore, removing all of the limitations mentioned above!

Presentation Mode

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.

Get frames from typst metada or pages

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? ๐Ÿค”

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.