git404hub

what is pocket-character fr?

pocket-stack/pocket-character — explained in plain English

Analysis updated 2026-05-18

5RustAudience · developerComplexity · 3/5Setup · moderate

tl;dr

A lightweight native desktop widget that displays an animated 3D character, built to measure how much cheaper this is versus an Electron-based version.

vibe map

mindmap
  root((pocket-character))
    What it does
      3D VRM character widget
      Idle animations
      Spring bone physics
    Tech stack
      Rust
      QuickJS
      Bun
    Use cases
      Desktop companion widget
      Compare native vs Electron
      Swap character personalities
    Audience
      Developers
      Researchers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Run a lightweight animated desktop character widget instead of an Electron-based one.

VIBE 2

Measure and compare CPU and resource usage between a native app and its Electron equivalent.

VIBE 3

Swap in a different character personality by writing a new script bundle without rebuilding the host.

what's the stack?

RustQuickJSBunwgpuVRM

how it stacks up fr

pocket-stack/pocket-characterdhkts1/teamclaude-rseternal-flame-ad/unitdc-rs
Stars555
LanguageRustRustRust
Last pushed2024-10-12
MaintenanceStale
Setup difficultymoderateeasymoderate
Complexity3/52/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · moderate time til it works · 30min

Requires a stable Rust toolchain and Bun, and is only verified on Apple Silicon Macs.

The README does not state a license for the code, the bundled 3D model and animation assets are explicitly not MIT licensed and are downloaded separately.

in plain english

pocket-character is a small desktop widget that shows a 3D animated character on your screen, similar to the digital companion apps some people run alongside games or streams. It takes the same character stage used by an existing project called airi, which is built on Electron, and reimplements it as a single lightweight native program instead. The widget shows a VRM format 3D character in a transparent, frameless window that stays on top of other windows and can be dragged anywhere on screen. The character idles with looping animation, blinks naturally at random intervals, moves its eyes slightly on its own, and its hair and clothing physically sway using spring bone physics based on the model's own data. Behind the scenes, the character's behavior is controlled by a small script bundle running in an embedded QuickJS engine, so someone could swap in a different character personality without rebuilding the whole program. The project's stated purpose is to measure a specific question: how much cheaper is this same character widget when built on this lighter native runtime instead of Electron. It includes scripts to reproduce those CPU usage measurements against the original airi project on the same machine, and a written comparison report. The code is organized into a macOS-specific widget host written in Rust, a portable behavior simulation for things like blinking and eye movement, and a separate guest script bundle. To try it, you need a stable Rust toolchain and the Bun JavaScript runtime, and it has only been tested on Apple Silicon Macs. After cloning the repository with its submodules, you run a setup command that downloads the required 3D model and animation assets, then a build and run command to launch the widget. The model and animation assets are fetched separately at setup time because their licenses are not MIT and cannot be redistributed with the code.

prompts (copy fr)

prompt 1
Explain how pocket-character reimplements airi's VRM character stage as a single native process.
prompt 2
Help me build and run pocket-character on my Apple Silicon Mac using the setup scripts.
prompt 3
Walk me through how the spring bone physics and eye saccade behavior work in this project.
prompt 4
Show me how to write a new QuickJS policy bundle to give the character a different personality.

Frequently asked questions

what is pocket-character fr?

A lightweight native desktop widget that displays an animated 3D character, built to measure how much cheaper this is versus an Electron-based version.

What language is pocket-character written in?

Mainly Rust. The stack also includes Rust, QuickJS, Bun.

What license does pocket-character use?

The README does not state a license for the code, the bundled 3D model and animation assets are explicitly not MIT licensed and are downloaded separately.

How hard is pocket-character to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is pocket-character for?

Mainly developer.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.