Files
moeka-project/packages/stage-ui-tachie/README.md
T
nanakura dc26878386
CI / Lint (push) Canceled after 0s
CI / Build Test (stage-web) (push) Canceled after 0s
CI / Build Test (ui-loading-screens) (push) Canceled after 0s
CI / Build Test (ui-transitions) (push) Canceled after 0s
CI / Unit Test (push) Canceled after 0s
CI / Type Check (push) Canceled after 0s
CI / Check Provenance (push) Canceled after 0s
Sync Labels / sync-labels (push) Successful in 1m43s
chore: prune unused apps and services for the moeka fork
- Remove stage-tamagotchi, stage-pocket, server, and engine workspaces with their workflows, addons, and docs
- Switch the toolchain from pnpm to bun, replace lockfiles with bun.lock
- Rewrite remaining product references to Moeka
2026-09-14 16:40:49 +07:00

1.6 KiB

@proj-airi/stage-ui-tachie

Tachie scene rendering for characters represented by a small set of complete, static emotion images.

What it does

  • Loads .tachie.zip archives from local files, blob URLs, or HTTP(S) URLs.
  • Selects images through Moeka's shared emotion vocabulary.
  • Renders the active image with PixiJS on a transparent, responsive canvas.
  • Persists scale, position, render scale, and theme-colored shadow settings.
  • Exposes canvas capture for stage screenshots and theme-color extraction.

Archive format

neutral is required. Every other image is optional, and missing emotions fall back to neutral. File extensions are not part of the protocol; image content only needs to be decodable by the browser.

character.tachie.zip
├── neutral.png
├── happy.webp
└── surprised.jpg

A single wrapping directory is also accepted:

character.tachie.zip
└── character/
    ├── neutral.png
    └── happy.webp

Supported names are neutral, happy, sad, angry, think, surprised, awkward, question, and curious. Matching is case-insensitive. Every recognized image must use the same pixel dimensions.

How to use

<script setup lang="ts">
import { TachieScene } from '@proj-airi/stage-ui-tachie'
</script>

<template>
  <TachieScene :model-src="modelUrl" />
</template>

When to use it

Use Tachie for low-asset characters whose visual state can be represented by one complete image per emotion.

Do not use it for layered sprites, rigged animation, lip-sync, or parameterized eye and body tracking. Use Live2D, Spine, VRM, or MMD for those models.