avatars plus other changes
All checks were successful
Build Org Website / build (push) Successful in 51s
All checks were successful
Build Org Website / build (push) Successful in 51s
This commit is contained in:
150
assets/scripts/avatar-registry.js
Normal file
150
assets/scripts/avatar-registry.js
Normal file
@@ -0,0 +1,150 @@
|
||||
(function () {
|
||||
"use strict";
|
||||
|
||||
const fallback = "z";
|
||||
const sharedSizes = {
|
||||
marker: 18,
|
||||
tiny: 22,
|
||||
small: 32,
|
||||
medium: 44,
|
||||
large: 64,
|
||||
focus: 88
|
||||
};
|
||||
|
||||
const characters = {
|
||||
"young z": {
|
||||
id: "young z",
|
||||
displayLabel: "young z",
|
||||
avatar: "/assets/avatars/young-z.jpeg",
|
||||
glow: "#d8a95a",
|
||||
accent: "#f4bf5f",
|
||||
fallback,
|
||||
expressions: {
|
||||
calm: "/assets/avatars/young-z.jpeg",
|
||||
happy: "/assets/avatars/young-z.jpeg",
|
||||
surprised: "/assets/avatars/young-z.jpeg"
|
||||
},
|
||||
sizes: sharedSizes,
|
||||
observatory: {
|
||||
territory: "nostalgic-playful",
|
||||
presenceKeywords: ["childhood", "play", "crayon", "sun", "blanket", "game", "desk", "drawing", "nostalgia"],
|
||||
atmosphere: "warm childhood light",
|
||||
focusScale: 1.08
|
||||
}
|
||||
},
|
||||
z: {
|
||||
id: "z",
|
||||
displayLabel: "z",
|
||||
avatar: "/assets/avatars/z.jpeg",
|
||||
glow: "#d6c38a",
|
||||
accent: "#d8c891",
|
||||
fallback,
|
||||
expressions: {
|
||||
calm: "/assets/avatars/z.jpeg",
|
||||
receptive: "/assets/avatars/z.jpeg"
|
||||
},
|
||||
sizes: sharedSizes,
|
||||
observatory: {
|
||||
territory: "archive-return",
|
||||
presenceKeywords: ["website", "archive", "observer", "traveler", "making", "return", "home"],
|
||||
atmosphere: "steady archive lantern",
|
||||
focusScale: 1
|
||||
}
|
||||
},
|
||||
aphy: {
|
||||
id: "aphy",
|
||||
displayLabel: "aphy",
|
||||
avatar: "/assets/avatars/aphy.jpeg",
|
||||
glow: "#7fb089",
|
||||
accent: "#83d4df",
|
||||
fallback,
|
||||
expressions: {
|
||||
calm: "/assets/avatars/aphy.jpeg",
|
||||
curious: "/assets/avatars/aphy.jpeg",
|
||||
thinking: "/assets/avatars/aphy.jpeg"
|
||||
},
|
||||
sizes: sharedSizes,
|
||||
observatory: {
|
||||
territory: "system-symbolic",
|
||||
presenceKeywords: ["system", "terminal", "logic", "error", "debug", "console", "css", "search", "backup", "symbol"],
|
||||
atmosphere: "soft diagnostic glow",
|
||||
focusScale: 1.04
|
||||
}
|
||||
},
|
||||
lima: {
|
||||
id: "lima",
|
||||
displayLabel: "lima",
|
||||
avatar: "/assets/avatars/lima.jpg",
|
||||
glow: "#d06b78",
|
||||
accent: "#e7a176",
|
||||
fallback,
|
||||
expressions: {
|
||||
calm: "/assets/avatars/lima.jpg",
|
||||
happy: "/assets/avatars/lima.jpg",
|
||||
protective: "/assets/avatars/lima.jpg"
|
||||
},
|
||||
sizes: sharedSizes,
|
||||
observatory: {
|
||||
territory: "warm-protective",
|
||||
presenceKeywords: ["warm", "home", "safe", "protect", "kitchen", "ring", "love", "rest", "care", "light"],
|
||||
atmosphere: "protective kitchen warmth",
|
||||
focusScale: 1.12
|
||||
}
|
||||
},
|
||||
"sensei chi": {
|
||||
id: "sensei chi",
|
||||
displayLabel: "sensei chi",
|
||||
avatar: "/assets/avatars/sensei-chi.jpeg",
|
||||
glow: "#75a9bd",
|
||||
accent: "#9ec4be",
|
||||
fallback,
|
||||
expressions: {
|
||||
calm: "/assets/avatars/sensei-chi.jpeg",
|
||||
reflective: "/assets/avatars/sensei-chi.jpeg"
|
||||
},
|
||||
sizes: sharedSizes,
|
||||
observatory: {
|
||||
territory: "reflective-patient",
|
||||
presenceKeywords: ["quiet", "reflect", "patience", "tea", "garden", "lesson", "wisdom", "still"],
|
||||
atmosphere: "slow reflective tea light",
|
||||
focusScale: 1.06
|
||||
}
|
||||
},
|
||||
"future z": {
|
||||
id: "future z",
|
||||
displayLabel: "future z",
|
||||
avatar: "/assets/avatars/future-z.jpeg",
|
||||
glow: "#a58ac9",
|
||||
accent: "#b7a6cf",
|
||||
fallback,
|
||||
expressions: {
|
||||
calm: "/assets/avatars/future-z.jpeg",
|
||||
nostalgic: "/assets/avatars/future-z.jpeg",
|
||||
warning: "/assets/avatars/future-z.jpeg"
|
||||
},
|
||||
sizes: sharedSizes,
|
||||
observatory: {
|
||||
territory: "temporal",
|
||||
presenceKeywords: ["future", "time", "age 40", "later", "return", "warning", "ordinary", "clock"],
|
||||
atmosphere: "distant temporal shimmer",
|
||||
focusScale: 1.1
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
function get(character) {
|
||||
return characters[character] || characters[fallback];
|
||||
}
|
||||
|
||||
function source(character, expression) {
|
||||
const config = get(character);
|
||||
return (config.expressions && expression && config.expressions[expression]) || config.avatar || characters[fallback].avatar;
|
||||
}
|
||||
|
||||
window.MemoryAvatarRegistry = {
|
||||
fallback,
|
||||
characters,
|
||||
get,
|
||||
source
|
||||
};
|
||||
}());
|
||||
Reference in New Issue
Block a user