Skip to content

Spine runtime for Rust (and wasm!) transpiled from the official C Runtime.

License

Notifications You must be signed in to change notification settings

dead-money/rusty_spine

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rusty_spine

Spine runtime for Rust (and wasm!) transpiled from the official C Runtime.

[dependencies]
rusty_spine = "0.8"

Online demo!

Supported Versions

rusty_spine Spine
0.8 4.2
0.1 - 0.7 4.1

Rust API

A Rust API is provided on top of the C API, because working with C APIs directly in Rust is tedious and error prone. It's made to be as thin a wrapper as possible.

The Rust API is mostly stable, but does not support the Timeline API or custom attachment loaders. A few accessors might be missing as well. Most projects do not need these, but if your's does, please open an issue.

Rust API Documentation

C API

If you wish to use the C API directly (either because the Rust API lacks a feature or for performance reasons), it is available under the rusty_spine::c import. See the C example.

C API Documentation

Engine Integrations

To integrate into your own engine, see the miniquad example

License

Because this project uses the official Spine Runtime, you must follow the Spine Runtimes License Agreement. If using the libc crate (via the libc feature), then see the libc crate for licensing. If using the built-in (wasm compatible) libc implementation, you must follow the BSD 3-clause license of The Regents of the University of California. See the LICENSE file for complete licenses. The Rust code is licensed under dual MIT / Apache-2.0 but with no attribution necessary. All contributions must agree to this licensing.

Features

libc

Default: no

A small subset of libc is provided in this repo to avoid a dependency on libc and to allow the code to run in the wasm32-unknown-unknown target. However, it's possible to rely on the OS implementation of libc instead by using the libc feature.

draw_functions

Default: yes

Provides helper functions for generating mesh data, as well as the SkeletonController helper struct.

mint

Default: yes

Provides additional math functions using mint.

About

Spine runtime for Rust (and wasm!) transpiled from the official C Runtime.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 100.0%