@@ -1,5 +1,5 @@
/**
* همراههای اپ: سیگما (Σ)، دلتا (Δ)، پی (π) و تدی . «سهیار» نامِ قدیمیِ سهتای اول است؛ در متنِ
* همراههای اپ: سیگما (Σ)، دلتا (Δ)، پی (π) و امگا (ω) . «سهیار» نامِ قدیمیِ سهتای اول است؛ در متنِ
* کاربر تعدادِ همراهها نوشته نمیشود، چون کاتالوگ از ادمین میآید و بزرگ میشود.
*
* هر سه از دلِ یک دفترچهی بینهایت آمدهاند و هر کدام از جنسِ یک نمادِ ریاضیاند:
@@ -89,6 +89,12 @@ function seyarSigmaSVG(mood: SeyarMood): string {
</g></svg> ` ;
}
/** نشانِ حرفِ یونانیِ هر همراه (مثلِ مدالِ Σِ سیگما): دایرهی کوچک روی شکم با نمادِ خودش. */
function letterBadge ( cx : number , cy : number , entity : string , fill : string , ink : string ) : string {
return ` <circle cx=" ${ cx } " cy=" ${ cy } " r="13" fill=" ${ fill } " stroke=" ${ ink } " stroke-width="4"/> `
+ ` <text x=" ${ cx } " y=" ${ cy + 6.5 } " font-size="18" text-anchor="middle" font-family="Georgia,serif" font-weight="bold" fill=" ${ ink } "> ${ entity } </text> ` ;
}
function seyarDeltaSVG ( mood : SeyarMood ) : string {
const C = PALETTE . delta ;
const f = face ( mood , 84 , 108 , 100 , 128 , C . ink , C . mouth , C . tear , C . cheek , 32 ) ;
@@ -103,6 +109,7 @@ function seyarDeltaSVG(mood: SeyarMood): string {
<path d="M100 30 Q112 30 118 42 L160 156 Q166 172 150 174 L50 174 Q34 172 40 156 L82 42 Q88 30 100 30 Z" fill=" ${ C . body } " stroke=" ${ C . ink } " stroke-width="6" stroke-linejoin="round"/>
<path d="M100 74 Q108 74 112 84 L136 148 Q140 158 128 158 L72 158 Q60 158 64 148 L88 84 Q92 74 100 74 Z" fill=" ${ C . belly } "/>
${ f . extra } <g> ${ f . eyes } </g> ${ f . cheeks } ${ f . mouth }
${ letterBadge ( 100 , 160 , 'Δ' , '#FFD23F' , C . ink ) }
</g></svg> ` ;
}
@@ -121,11 +128,12 @@ function seyarPiSVG(mood: SeyarMood): string {
<ellipse cx="100" cy="118" rx="74" ry="72" fill=" ${ C . body } " stroke=" ${ C . ink } " stroke-width="6"/>
<ellipse cx="100" cy="134" rx="46" ry="46" fill=" ${ C . belly } "/>
${ f . extra } <g> ${ f . eyes } </g> ${ f . cheeks } ${ f . mouth }
${ letterBadge ( 100 , 170 , 'π' , '#FFD23F' , C . ink ) }
</g></svg> ` ;
}
/**
* تدی — شکلکِ زردِ پیشنمایشِ موبایل (mascot-pack، ریپوی بکاند، پوشهی
* امگا (ω؛ تا ۱۴۰۵-۰ ۷ «تدی»؛ کلیدِ داخلیاش هنوز `tedi` است چون slugِ سرور همین است) — شکلکِ زردِ پیشنمایشِ موبایل (mascot-pack، ریپوی بکاند، پوشهی
* mobile-preview). بدن، گوشها، پاها و دستها عیناً از همان پک است؛ چهرهی
* «عصبانی» و «ناامید» را پک نداشت و با همان زبانِ طراحیِ سهیار اضافه شد.
*/
@@ -182,6 +190,7 @@ function tediSVG(mood: SeyarMood): string {
<ellipse cx="100" cy="116" rx="72" ry="70" fill=" ${ C . body } " ${ S } />
<ellipse cx="100" cy="133" rx="44" ry="45" fill=" ${ C . belly } "/>
${ hands } ${ cheeks } <g> ${ eyes } </g> ${ mouth }
${ letterBadge ( 100 , 166 , 'ω' , '#fff' , C . ink ) }
</g></svg> ` ;
}
@@ -192,7 +201,7 @@ export const SEYAR_INFO: Record<SeyarChar, { name: string; symbol: string; role:
sigma : { name : "سیگما" , symbol : "Σ" , role : "راهنمای آزمون و کوییز" } ,
delta : { name : "دلتا" , symbol : "Δ" , role : "همتیمیِ تمرینهای سریع" } ,
pi : { name : "پی" , symbol : "π" , role : "همراهِ دلگرمی" } ,
tedi : { name : "تدی " , symbol : "★ " , role : "رفیقِ همیشگیِ تدریسینو" } ,
tedi : { name : "امگا " , symbol : "ω " , role : "رفیقِ همیشگیِ تدریسینو" } ,
} ;
/** slugِ کاراکترِ سرور (sigma/delta/pi/tedi) را به یکی از همراهها نگاشت میکند. */