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 newandfur onboard.
Constants§
- AI_
NAME_ FRAGMENTS - Model families distinctive enough to match anywhere in a name, so
gpt5,claude-opusandmi-geminiall 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
metakey. - PLACEHOLDER
- Shown when an avatar has no emoji assigned, and written by
fur rebuildfor 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_namealready 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
metaso the file does not accumulate empty objects.