// SVG ASSETS DATABASE // High-quality vector graphics for core game elements. // Offline-first, reliable, lightweight. window.SVG_ASSETS = { "default": ``, // --- SKILL CHECK ITEMS (EXISTING) --- "Apple": ``, "Forest": ``, "Three": `3`, "Bus": ``, "Sport": ``, "Cold": ``, "Rain": ``, "Hour": ``, "Write": ``, "Banana": ``, "Dog": ``, "Cat": ``, "Car": ``, "House": ``, // --- NEW ANIMALS --- "Lion": ``, "Tiger": ``, "Bear": ``, "Wolf": ``, "Fox": ``, "Rabbit": ``, "Mouse": ``, "Elephant": ``, "Monkey": ``, "Zebra": ``, "Giraffe": ``, "Cow": ``, "Pig": ``, "Sheep": ``, "Duck": ``, // --- NUMBERS --- "One": `1`, "Two": `2`, "Four": `4`, "Five": `5`, "Six": `6`, "Seven": `7`, "Eight": `8`, "Nine": `9`, "Ten": `10`, "Eleven": `11`, "Twelve": `12`, "Twenty": `20`, "Hundred": `100`, // --- COLORS --- "Red": ``, "Blue": ``, "Green": ``, "Yellow": ``, "Black": ``, "White": ``, "Pink": ``, "Purple": ``, "Orange": ``, "Brown": ``, "Grey": ``, "Gold": ``, "Silver": ``, "Violet": ``, "Indigo": ``, "Turquoise": ``, "Beige": ``, "First": `1st`, "Second": `2nd`, "Third": `3rd`, "Plus": ``, "Mother": ``, "Grandmother": ``, "Grandfather": ``, "Son": ``, "Aunt": ``, "Cousin": ``, "Woman": ``, "Boy": ``, "Wife": ``, "Water": ``, "Cheese": ``, "Meat": ``, "Cake": ``, // --- BODY PARTS --- "Hand": ``, "Eye": ``, "Ear": ``, "Face": ``, "Finger": ``, "Shoulder": ``, "Neck": ``, "Back": ``, "Stomach": ``, "Brain": ``, // --- CLOTHING --- "Shirt": ``, "Pants": ``, "Dress": ``, "Shoes": ``, "Hat": ``, "Socks": ``, "Jacket": ``, // --- HOUSEHOLD ITEMS --- "Table": ``, "Chair": ``, "Bed": ``, "Lamp": ``, "Door": ``, "Window": ``, "Book": ``, "Television": ``, "Phone": ``, // --- NATURE --- "Tree": ``, "Flower": ``, "Sun": ``, "Moon": ``, "Star": ``, "Cloud": ``, "River": ``, "Mountain": ``, // --- ACTIONS --- "Run": ``, "Jump": ``, "Sleep": ``, "Eat": ``, "Drink": ``, "Read": ``, "Play": ``, "Sing": ``, "Dance": ``, "Walk": `` "Chocolate": ``, "Juice": ``, "Coffee": ``, "Potato": ``, "Cream": ``, "Dark": ``, "Light": ``, // --- RUSSIAN WORDS --- "Собака": ``, "Рыба": ``, "Птица": ``, "Тигр": ``, "Обезьяна": ``, "Зебра": ``, "Корова": ``, "Свинья": ``, "Овца": ``, "Лошадь": ``, "Синий": ``, "Желтый": ``, "Белый": ``, "Розовый": ``, "Фиолетовый": ``, "Оранжевый": ``, "Серый": ``, "Индиго": ``, "Кремовый": ``, "Темный": ``, "Светлый": ``, "Минус": ``, "Мать": ``, "Папа": ``, "Сестра": ``, "Брат": ``, "Дочь": ``, "Дядя": ``, "Родители": ``, "Семья": ``, "Малыш": ``, "Мужчина": ``, "Девочка": ``, "Друг": ``, "Жена": ``, "Яблоко": ``, "Апельсин": ``, "Хлеб": ``, "Молоко": ``, "Яйцо": ``, "Курица (еда)": ``, "Рыба (еда)": ``, "Пицца": ``, "Чай": ``, "Картофель": ``, "Помидор": ``, "Нога": ``, "Голова": ``, "Нос": ``, "Ухо": ``, "Рот": ``, "Зуб": ``, "Волосы": ``, "Лицо": ``, "Палец": ``, "Ступня": ``, "Колено": ``, "Плечо": ``, "Шея": ``, "Спина": ``, "Живот": ``, "Сердце": ``, "Мозг": ``, "Кость": ``, "Шляпа": ``, "Рубашка": ``, "Платье": ``, "Юбка": ``, "Брюки": ``, "Джинсы": ``, "Обувь": ``, "Носки": ``, "Пальто": `` }; // UTIL: Encode SVG string to Data URI window.svgToDataUri = function(svg) { const encoded = encodeURIComponent(svg); return `data:image/svg+xml;charset=utf-8,${encoded}`; } // GENERATOR: Create simple, unique SVG for common terms window.generateWordSvg = function(term) { const t = String(term || 'default').toLowerCase(); const bg = { jungle: '#14532d', crystal: '#1e3a8a', space: '#1f2937' }; const base = (color) => `\n \n \n \n \n \n \n \n `; const end = "\n "; // Animals if(['fish'].includes(t)) { const svg = base('#0ea5e9') + `\n \n \n \n ` + end; return svg; } if(['pig'].includes(t)) { const svg = base('#f472b6') + `\n \n \n \n \n \n ` + end; return svg; } if(['tiger'].includes(t)) { const svg = base('#f59e0b') + `\n \n ` + end; return svg; } if(['lion'].includes(t)) { const svg = base('#d97706') + `\n \n \n \n \n ` + end; return svg; } if(['bird'].includes(t)) { const svg = base('#0891b2') + `\n \n \n \n ` + end; return svg; } if(['cow'].includes(t)) { const svg = base('#a3e635') + `\n \n \n \n ` + end; return svg; } // Grammar words if(['for'].includes(t)) { const svg = base('#9333ea') + `\n \n \n \n \n FOR` + end; return svg; } if(['since'].includes(t)) { const svg = base('#2563eb') + `\n \n \n \n SINCE` + end; return svg; } if(['during'].includes(t)) { const svg = base('#14b8a6') + `\n \n \n \n \n DURING` + end; return svg; } if(['while'].includes(t)) { const svg = base('#ef4444') + `\n \n \n \n WHILE` + end; return svg; } // Default emblem with initial letter and hashed color const hash = Array.from(t).reduce((h,c)=> (h*31 + c.charCodeAt(0))>>>0, 7); const hue = hash % 360; const color = `hsl(${hue}, 75%, 55%)`; const svg = base(color) + `\n ${String(term).slice(0,1).toUpperCase()}\n ${term}` + end; return svg; } // API: Unified getter for any term window.getSvgDataUri = function(key) { const term = String(key || 'default'); const svg = (window.SVG_ASSETS && window.SVG_ASSETS[term]) ? window.SVG_ASSETS[term] : window.generateWordSvg(term); return window.svgToDataUri(svg); } // HELPER: Convert SVG string to Data URI window.getSvgDataUri = function(key) { const svg = window.SVG_ASSETS[key] || window.SVG_ASSETS["default"]; const encoded = encodeURIComponent(svg); return `data:image/svg+xml;charset=utf-8,${encoded}`; }; // LEVEL ICON GENERATOR (Dynamic) window.getLevelSvg = function(level) { let themeColor = "#48bb78"; // Jungle Green let icon = ""; if (level <= 10) { // Jungle Theme themeColor = "#48bb78"; icon = ``; } else if (level <= 20) { // Crystal Cave Theme themeColor = "#805ad5"; icon = ``; } else { // Space Theme themeColor = "#2c5282"; icon = ``; } const svg = ` ${icon} ${level} `; const encoded = encodeURIComponent(svg); return `data:image/svg+xml;charset=utf-8,${encoded}`; }; // MASCOT GENERATOR window.getMascotSvg = function(mood) { let eyes = ""; let mouth = ""; if(mood === 'happy') { eyes = ``; mouth = ``; } else if (mood === 'sad') { eyes = ``; mouth = ``; } else { // excited eyes = ``; mouth = ``; } const svg = ` ${eyes} ${mouth} `; const encoded = encodeURIComponent(svg); return `data:image/svg+xml;charset=utf-8,${encoded}`; }; // JUNGLE BACKGROUND GENERATOR window.getBackgroundSvg = function() { const svg = ` `; const encoded = encodeURIComponent(svg); return `data:image/svg+xml;charset=utf-8,${encoded}`; };