Skip to content
API reference

avatar

Import
import * as api from "@fungi.computer/sprite-zdog/avatar";
Kind Export Description
type alias MemberAvatar Catalog-validated account avatar preference.
constant avatarSchema The Avatar v1 schema, refined against every built-in character’s facts: the one callers should actually parse untrusted data with. (The unrefined envelope lives at @fungi.computer/sprite/avatar’s avatarEnvelopeSchema, for a caller building a different catalog.)
constant memberAvatarSchema A person’s saved look and preference for the colours of new Agents.
constant defaultMemberAvatar The uncustomized mascot and default colour-shift preference.
function parseAvatar() Parse an unknown value into a built-in-character-valid Avatar v1 descriptor.
function deriveAgentAvatar() Derive an Agent’s avatar from its creator’s: deriveAgentAvatar bound to the built-in character catalog, so the Hub, Grove’s create preview, the TUI and local Agents all compute the same result without each wiring the catalog through themselves.

MemberAvatartype alias

Section titled “MemberAvatar”
Signature
type MemberAvatar = z.infer<typeof memberAvatarSchema>;

Catalog-validated account avatar preference.

avatarSchemaconstant

Section titled “avatarSchema”
Signature
const avatarSchema: ZodObject<
{
v: ZodLiteral<1>;
character: ZodEnum<{
mushroom: "mushroom";
cat: "cat";
burger: "burger";
}>;
appearance: ZodRecord<
ZodString,
ZodUnion<readonly [ZodString, ZodNumber, ZodBoolean]>
>;
expression: ZodString;
renderStyle: ZodEnum<{
plain: "plain";
pencil: "pencil";
manga: "manga";
riso: "riso";
halftone: "halftone";
blueprint: "blueprint";
crt: "crt";
watercolor: "watercolor";
}>;
},
$strict
>;

The Avatar v1 schema, refined against every built-in character’s facts: the one callers should actually parse untrusted data with. (The unrefined envelope lives at @fungi.computer/sprite/avatar’s avatarEnvelopeSchema, for a caller building a different catalog.)


memberAvatarSchemaconstant

Section titled “memberAvatarSchema”
Signature
const memberAvatarSchema: ZodObject<
{
avatar: ZodObject<
{
v: ZodLiteral<1>;
character: ZodEnum<{
mushroom: "mushroom";
cat: "cat";
burger: "burger";
}>;
appearance: ZodRecord<
ZodString,
ZodUnion<readonly [ZodString, ZodNumber, ZodBoolean]>
>;
expression: ZodString;
renderStyle: ZodEnum<{
plain: "plain";
pencil: "pencil";
manga: "manga";
riso: "riso";
halftone: "halftone";
blueprint: "blueprint";
crt: "crt";
watercolor: "watercolor";
}>;
},
$strict
>;
agentColors: ZodEnum<{
shift: "shift";
keep: "keep";
}>;
},
$strict
>;

A person’s saved look and preference for the colours of new Agents.


defaultMemberAvatarconstant

Section titled “defaultMemberAvatar”
Signature
const defaultMemberAvatar: MemberAvatar;

The uncustomized mascot and default colour-shift preference.

parseAvatar()function

Section titled “parseAvatar()”
Signature
function parseAvatar(data): object;

Parse an unknown value into a built-in-character-valid Avatar v1 descriptor.

Parameter Type
data unknown

object

Name Type
v 1
character "mushroom" | "cat" | "burger"
appearance z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>
expression string
renderStyle | "plain" | "pencil" | "manga" | "riso" | "halftone" | "blueprint" | "crt" | "watercolor"

deriveAgentAvatar()function

Section titled “deriveAgentAvatar()”
Signature
function deriveAgentAvatar(member, agentColors, seed, avoid?): object;

Derive an Agent’s avatar from its creator’s: deriveAgentAvatar bound to the built-in character catalog, so the Hub, Grove’s create preview, the TUI and local Agents all compute the same result without each wiring the catalog through themselves.

Parameter Type Default value
member { v: 1; character: "mushroom" | "cat" | "burger"; appearance: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>; expression: string; renderStyle: | "plain" | "pencil" | "manga" | "riso" | "halftone" | "blueprint" | "crt" | "watercolor"; } undefined
member.v 1 undefined
member.character "mushroom" | "cat" | "burger" undefined
member.appearance z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>> undefined
member.expression string undefined
member.renderStyle | "plain" | "pencil" | "manga" | "riso" | "halftone" | "blueprint" | "crt" | "watercolor" undefined
agentColors "shift" | "keep" undefined
seed string undefined
avoid readonly number[] []

object

Name Type
v 1
character "mushroom" | "cat" | "burger"
appearance z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>
expression string
renderStyle | "plain" | "pencil" | "manga" | "riso" | "halftone" | "blueprint" | "crt" | "watercolor"

Re-exports avatarCatalog