Ayagami is a free, open-source 2D puppet rendering SDK written in Rust, compatible with Live2D models, developed entirely through black-box reverse engineering.

Stars

186

7-day growth

No data

Forks

7

Open issues

5

License

Apache-2.0

Last updated

2026-07-24

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It provides a completely legal, from-scratch implementation of Live2D model rendering without any proprietary code, dual‑licensed under MIT/Apache2, and includes a high‑quality cross‑platform reference renderer built on wgpu.

Who it is for

  • Game developers needing Live2D model support
  • VTubers and streaming tool builders
  • Rust programmers interested in graphics/rendering
  • Developers of embeddable web‑based puppet viewers

Use cases

  • Render Live2D models in a Rust game or application
  • Build a VTubing application with real‑time puppet animation
  • Embed a web demo for posing and exporting Live2D models
  • Study a clean‑room reverse‑engineering approach for file‑format compatibility

Strengths

  • Pure Rust implementation ensuring memory safety and no undefined behavior from invalid models
  • Cross‑platform rendering via wgpu (Vulkan, Metal, DirectX, OpenGL, WebGL/WebGPU)
  • Free and permissive licensing (MIT or Apache2) with no royalties or permission required
  • High rendering quality: 1:1 pixel masks, correct premultiplied alpha, sRGB/linear blending

Considerations

  • API is unstable and lacks documentation; no crates.io release yet
  • Limited model validation may cause panics on inconsistent models
  • Feature incomplete – physics, motion, expression, and pose file support are still TODO

README quick start

Ayagami: Open source 2D puppet rendering SDK

Web Demo

Ayagami (彩紙) is a 2D puppet model loading and rendering library written in Rust. It is designed to be compatible with models in the Live2D model format, while being extensible to new model formats and features in the future.

Ayagami is completely free software dual licensed under the MIT and Apache2 licenses. You may use it for any purpose as long as you abide by your choice of either license, without having to pay any royalties or obtain permission from anyone. This includes any use cases, including both games with built-in models and expandable applications that load user-provided models.

This software is developed strictly using black-box reverse engineering only. That means that it is a complete, from-scratch, independent implementation, and no license terms were violated during its development. We have never and will never disassemble or decompile any proprietary software in order to develop this project. To guarantee this, we have a strict contributor policy.

Demo

Check out the Web demo & model poser! This demo runs entirely in your browser, and your model data is not sent anywhere outside your machine. You can use it to manually pose your model (high quality screenshot feature coming soon).

You can also build and run the demo as a native app by running cargo run -r in the ayagami-demo directory. Use trunk serve --release instead to run the web version locally (using trunk).

Status

The API is pretty unstable and subject to change, and there is no documentation yet! crates.io release coming soon. For now, take a look at ayagami-demo for a usage example.

The code is messy; I'm releasing this early to get feedback on the API and start enabling users, but expect significant cleanup over time.

Supported features

  • MOC3 file loading & features up to SDK 5.0: Parts, ArtMeshes, Rotation & Warp deformers, Glue, Blendshape Parameters, etc.
  • Computing the final ArtMeshes given a model & parameters: driver
    • Live2D-equivalent interpolation, extrapolation, and deformer chaining algorithms
  • Reference renderer using wgpu-rs: ayagami-render (supports Vulkan, Metal, DirectX,

Description

2D puppet model renderer compatible with Live2D

Related repositories

Similar projects matched by category, topics, and programming language.

l0ng-ai
Featured
l0ng-ai GitHub avatar

tty7

tty7 is a fast, GPU-accelerated terminal workbench with persistent sessions, built-in input tools, SSH support, and coding agent awareness.

Developer ToolsCLI & Terminal
359
steelbrain
Featured
steelbrain GitHub avatar

reims-vgpu

reims-vgpu is an experimental virtual GPU for macOS guests that uses QEMU to decode the guest's GPU command stream and execute it through Metal or Vulkan, leveraging the built-in AppleParavirtGPU driver without requiring custom kexts.

Desktop Apps
143
m-novotny
Featured
m-novotny GitHub avatar

memguard-rs

A Rust library that provides secure memory handling primitives including zeroization on drop, memory locking, constant-time comparison, and compile-time guarded regions, with zero dependencies and no_std support.

Embedded & IoTSecurity
131