12 unstable releases (3 breaking)

Uses new Rust 2024

0.4.1 Apr 30, 2025
0.4.0 Apr 29, 2025
0.3.1 Nov 30, 2024
0.2.0 Jul 4, 2024
0.1.1 May 24, 2024

#1985 in Game dev

Download history 179/week @ 2025-03-22 196/week @ 2025-03-29 100/week @ 2025-04-05 38/week @ 2025-04-12 52/week @ 2025-04-19 294/week @ 2025-04-26 172/week @ 2025-05-03 114/week @ 2025-05-10 112/week @ 2025-05-17 133/week @ 2025-05-24 126/week @ 2025-05-31 182/week @ 2025-06-07 116/week @ 2025-06-14 118/week @ 2025-06-21 149/week @ 2025-06-28 123/week @ 2025-07-05

529 downloads per month

MIT/Apache

1.5MB
565 lines

vleue_kinetoscope

MIT/Apache 2.0 Doc Crate Bevy Tracking CI

Animated GIF and WebP player for Bevy.

animated-gif

Usage

System setup

Add the plugin to your app:

use bevy::prelude::*;
use vleue_kinetoscope::AnimatedImagePlugin;

fn main() {
    App::new()
        .add_plugins(DefaultPlugins)
        .add_plugins(AnimatedImagePlugin);
}

Play an animated gif

Spawn an entity with the component AnimatedImageController:

use bevy::prelude::*;
use vleue_kinetoscope::*;

fn setup(mut commands: Commands, asset_server: Res<AssetServer>) {
    commands.spawn(Camera2d);

    commands.spawn(AnimatedImageController::play(asset_server.load("cube.gif")));
}

Play an animated WebP

Spawn an entity with the component AnimatedImageController:

use bevy::prelude::*;
use vleue_kinetoscope::*;

fn setup(mut commands: Commands, asset_server: Res<AssetServer>) {
    commands.spawn(Camera2d);

    commands.spawn(AnimatedImageController::play(asset_server.load("cube.webp")));
}

Streaming animations

It is possible to stream an animated GIF or WebP, so that it's not loaded completely into Memory:

use bevy::prelude::*;
use vleue_kinetoscope::*;

fn setup(mut commands: Commands, asset_server: Res<AssetServer>) {
    commands.spawn(Camera2d);

    commands.spawn(StreamingAnimatedImageController::play(asset_server.load("big-buck-bunny.webp")));
}

Streaming animated images are only played once, and can't loop.

Wasm is not yet supported for streaming animations.

Bevy Support

Bevy vleue_kinetoscope
main main
0.16 0.4
0.15 0.3
0.14 0.2
0.13 0.1

Dependencies

~39–70MB
~1.5M SLoC