Skip to main content

Module avatars

Module avatars 

Source
Expand description

Avatar identity: names, emoji, and the main pointer.

viceroy: this lived in src/frs/ but is not FurScript. resolve_avatar is called by tree, status, and the renderers; load_avatars by new, jot, avatar, and onboard. Only frs::parser uses it from inside the DSL. frs::avatars still resolves here via a re-export, so no existing import path breaks.

Modules§

emojis
Emoji browsing and selection, shared by fur avatar new and fur onboard.

Constants§

AI_NAME_FRAGMENTS
Model families distinctive enough to match anywhere in a name, so gpt5, claude-opus and mi-gemini all resolve.
AI_NAME_TOKENS
Generic words that mean “not a person”, matched as whole tokens.
MAIN_EMOJI
Reserved for the main avatar.
META_KEY
Optional per-avatar metadata, stored under the reserved meta key.
PLACEHOLDER
Shown when an avatar has no emoji assigned, and written by fur rebuild for every avatar it recovers from documents.

Functions§

display_name_of
Human-readable name for an avatar, when one has been set.
get_random_emoji_for_name
A sensible starting emoji for a name, so suggestions look considered rather than arbitrary. Falls back to a neutral person glyph.
is_bot_name
Names that clearly belong to a model or agent.
is_reserved_key
True for keys that are not avatar names.
kind_of
“human” or “ai”. Explicit metadata wins; otherwise inferred from the name, which is what is_bot_name already exists to answer.
load_avatars
resolve_avatar
role_of
Role for an avatar, when one has been set.
save_avatars
set_meta
Set or clear one metadata field. Clearing removes the key entirely, and an avatar left with no metadata is removed from meta so the file does not accumulate empty objects.