SkillAgentSearch skills...

Velyst

Interactive Typst content creator using Vello and Bevy.

Install / Use

/learn @voxell-tech/Velyst
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Velyst

Interactive Typst content creator using Vello and Bevy.

hello world

Associated example here!

Quickstart

Velyst renders Typst content using Typst functions. This example shows you how to render a simple white box in the center of the screen. To get started rendering a simple box, create a function inside a .typ file:

#let main() = {
  box(width: 100%, height: 100%)[
    #place(center + horizon)[
      #box(width: 10em, height: 10em, fill: white)
    ]
  ]
}

Then, in your .rs file, load your Typst asset file and register your function.

use bevy::prelude::*;
use bevy_vello::prelude::*;
use velyst::prelude::*;

fn main() {
    App::new()
        .add_plugins((
            DefaultPlugins,
            bevy_vello::VelloPlugin::default(),
            velyst::VelystPlugin,
        ))
        .register_typst_func::<MainFunc>()
        .add_systems(Startup, setup)
        .run();
}

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

    let handle =
        VelystSourceHandle(asset_server.load("typst/box.typ"));

    commands.spawn((
        VelystFuncBundle {
            handle,
            func: MainFunc::default(),
        },
        Node {
            width: Val::Percent(100.0),
            height: Val::Percent(100.0),
            ..default()
        },
    ));
}

typst_func!(
    "main",
    #[derive(Component, Default)]
    struct MainFunc {},
);

Associated example here!

Interactions

Velyst is also compatible with bevy_ui interactions.

game ui

Associated example here!

Join the community!

You can join us on the Voxell discord server.

License

velyst is dual-licensed under either:

This means you can select the license you prefer! This dual-licensing approach is the de-facto standard in the Rust ecosystem and there are very good reasons to include both.

View on GitHub
GitHub Stars167
CategoryContent
Updated1d ago
Forks8

Languages

Rust

Security Score

100/100

Audited on Apr 5, 2026

No findings