awavatar — Aither World Avatar
One character spec in, a rigged, animated, multi-style asset pack out.
awavatar ships the contracts of a character factory and a thin client that speaks to any
media-forge-shaped server. It generates nothing itself: the mesh, rig, clips and renders come
from whatever factory you point it at. What it owns is the question "is this spec well-formed,
and is this pack something a host may load?" — answered the same way on every machine.
pip install awavatar
awavatar validate-spec character_spec.json # schema_version-routed validation
awavatar validate-pack ./character_pack/ # hashes, licences, rig audit, VRM bones
awavatar submit character_spec.json --server http://127.0.0.1:8200 # any media-forge-shaped server
Not the desktop app — and the boundary is worth stating
awdesk is the consumer: it renders a
pack (tray, VRM avatars, the Living Desktop). awavatar is the contract
side: it decides what a pack must contain and whether one may load, and it
generates nothing itself. The two never do each other's job — install awdesk to
see a character, install awavatar to produce and audit the pack a character
arrives in. If you are looking for a face on your desktop, you want awdesk.
Contracts (all versioned by schema_version)
| schema | what it is | consumers |
|---|---|---|
character_spec v1 |
the one input: identity, rating, creature/visual descriptors, styles, skeletons, clips, targets, seed | the factory, the World Spec compiler |
character_pack v1 |
the one output: manifest.json + bodies/clips/VRM/renders, every file hashed and licensed |
game clients, awdesk, Spaces |
world_spec v1 |
zones, NPCs, spawn camps, quests, dungeons, recipes, lore, realm rating | the World Spec compiler |
companion_state v1 |
one companion state, three hosts (sim tick, wallclock, published snapshot) | game clients, awdesk, Spaces |
Validators are pure stdlib and carry a --self-test that proves each rule can fail.
validate-pack delegates to the same rule set the AitherOS gate check_character_pack.py
runs (CPK001–CPK008); when that file is present next to a monorepo checkout it is used, and
otherwise the vendored copy in awavatar/pack.py is — the two are kept identical by
check_awavatar_mirror (planned).
Status: planned (registered in the Aither World registry before code, per the family rule). Nothing here is published yet.
Metadata
Release files for awavatar 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| awavatar-0.0.1.tar.gz | 19.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| awavatar-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 39.9 kB
Release files / awavatar-0.0.1.tar.gz
| Download URL | awavatar-0.0.1.tar.gz |
|---|---|
| Size | 19.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2015bf85ae7d3487aaea822b67fdb050b4d35f91c4fd65787772ea842d8c12ef
|
|
BLAKE2b-256 checksum How to use checksums |
e1cbd495e95f77517e52860b26d53b24dea589081c5fd78cee0171a903248eb2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / awavatar-0.0.1-py3-none-any.whl
| Download URL | awavatar-0.0.1-py3-none-any.whl |
|---|---|
| Size | 19.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
859f334af21cf5a09bd04af1a0b6b3f3d5e3dd694f8da4fcf0669b0d74dd6ce8
|
|
BLAKE2b-256 checksum How to use checksums |
8079146e87fd34b9237f5c813bb6bc3b12d479c1a72f9a745c6f924a93d8cf82
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|