Workflow SI

This commit is contained in:
2026-02-23 11:13:43 +04:00
parent 4e3ef93cad
commit 85a11c0d2c
3 changed files with 27 additions and 129 deletions

View File

@@ -9,6 +9,7 @@ const {
participants,
summary,
status,
circle,
type,
image,
} = frontmatter;
@@ -18,6 +19,10 @@ const categoryColors = {
Festival: "#f59e0b",
IRL: "#a1be18",
Amical: "#8b5cf6",
SI_Arbitrage: "violet",
SI_Applicatif: "#5ca6e8",
SI_Logistique: "Gold",
SI_Strategie: "Grey",
default: "#ec4899",
};
@@ -40,7 +45,7 @@ const accentColor = categoryColors[type] || categoryColors["default"];
</div>
<div class="event-info-line">
Projet prévu pour : <strong>{target_date}</strong>
Projet détecté le : <strong>{target_date}</strong>
</div>
<div class="event-body">
@@ -62,9 +67,9 @@ const accentColor = categoryColors[type] || categoryColors["default"];
<footer class="event-footer">
<div class="date-recorded">
Détecté le : {new Date(date).toLocaleDateString("fr-FR")}
Prévu le : {new Date(date).toLocaleDateString("fr-FR")}
</div>
<div class="social-impact">+3 SOC</div>
<div class="social-impact">+3 {circle}</div>
</footer>
</div>
</article>

View File

@@ -13,7 +13,7 @@ const sortedEntries = allHumans.sort(
);
const sortedEvents = allEvents.sort(
(a, b) => new Date(b.data.date).getTime() - new Date(a.data.date).getTime(),
(a, b) => new Date(a.data.date).getTime() - new Date(b.data.date).getTime(),
);
// 2. Groupement par utilisateur [cite: 80]
@@ -50,7 +50,7 @@ const groupedHumans = sortedEntries.reduce((acc, entry) => {
<EventCard frontmatter={event.data} />
<div class="entry-meta">
<p>
Prévu pour :{" "}
Détecté le :{" "}
{event.data.target_date}
</p>
</div>

View File

@@ -16,7 +16,7 @@ const sortedAll = allHumans.sort(
);
const latestEvent = allEvents.sort(
(a, b) => new Date(b.data.date).getTime() - new Date(a.data.date).getTime(),
(a, b) => new Date(a.data.date).getTime() - new Date(b.data.date).getTime(),
)[0];
// 3. Logique de Streak (Série)
@@ -150,90 +150,8 @@ const activeSynergies = latestPerUser.map((user) => {
<section class="system-rules">
<header class="rules-header">
<h2>📜 Codex des Mécaniques</h2>
<p>
Analyse de la cohésion entre Obsidian (Data) et Astro (TCG)
</p>
</header>
<div class="rules-layout">
<div class="rule-category">
<h3>🔄 Synergie Event & Card</h3>
<div class="synergy-list">
{
activeSynergies.map((s) => (
<div class="synergy-status">
<strong>{s.userName} :</strong>
{s.hasSynergy ? (
<span class="status-ok">
✅ Résonance via {s.cercle} (
{s.type})
</span>
) : (
<span class="status-ko">
❌ Pas de résonance avec{" "}
{latestEvent?.data.title}
</span>
)}
</div>
))
}
</div>
<p
class="rule-hint"
style="margin-top: 10px; font-style: italic; font-size: 0.85rem;"
>
Règle : Match de cercle = "Effet de Résonance" (+2 ATK).
</p>
</div>
<div class="rule-category">
<h3>🌍 Biomes Actifs</h3>
<ul>
<li>
<strong>ÉTANG :</strong> Somatique. Activé si <code
>Stress &gt; 7</code
>, <code>Hallu &ge; 2</code> ou <code
>Harmonie &le; -3</code
>.
</li>
<li>
<strong>BELOUVE :</strong> Harmonie. Activé si 3+ cercles
uniques et <code>SAN</code> présent.
</li>
<li>
<strong>OCEAN :</strong> Flux. Activé si <code
>SOC &gt; PRO</code
> ou <code>FLX &gt; 2</code>.
</li>
</ul>
</div>
<div class="rule-category">
<h3>🛠️ Établi de Crafting</h3>
<ul>
<li>
<strong>ItemCard :</strong> Vélo (Conversion Stress/Énergie),
Médication (Stabilité).
</li>
<li>
<strong>Global Buff :</strong> Streak 10+ = Mode "Clairvoyance".
</li>
<li>
<strong>Jauge :</strong> "Rupture de Routine" (Analyse
des déviances).
</li>
</ul>
</div>
</div>
</section>
<hr class="separator" />
<section class="system-rules">
<header class="rules-header">
<h2>📖 Manuel de Jeu</h2>
<p>Répertoire complet des mécaniques et calculs du moteur</p>
<h2>📖 Manuel de Jeu : TCG (Ruleset Complet)</h2>
<p>Traduction technique des algorithmes du moteur de jeu</p>
</header>
<div class="rules-layout">
@@ -253,45 +171,6 @@ const activeSynergies = latestPerUser.map((user) => {
</ul>
</div>
<div class="rule-category">
<h3>📉 Malus & Maintenance</h3>
<ul>
<li>
<strong>HYG-Penalty :</strong> Si moins de 3 logs "HYG"
sur 7 jours, le Streak diminue de 1 (Maintenance préventive).
</li>
<li>
<strong>Somatic-Lock :</strong> Si Stress &gt; 9, l'attaque
est bloquée à 1.
</li>
</ul>
</div>
<div class="rule-category">
<h3>🎭 Objets & Équipements</h3>
<ul>
<li>
<strong>VÉLO :</strong> Convertit 2 points de Stress en
1 point d'Énergie au petit matin.
</li>
<li>
<strong>ARIPIPRAZOLE :</strong> Fixe Hallucinations à
0. Ajoute le trait "Stabilité".
</li>
</ul>
</div>
</div>
</section>
<hr class="separator" />
<section class="system-rules">
<header class="rules-header">
<h2>📖 Manuel de Jeu : TCG (Ruleset Complet)</h2>
<p>Traduction technique des algorithmes du moteur de jeu</p>
</header>
<div class="rules-layout">
<div class="rule-category">
<h3>⚔️ Système de Combat</h3>
<ul>
@@ -394,6 +273,20 @@ const activeSynergies = latestPerUser.map((user) => {
</li>
</ul>
</div>
<div class="rule-category">
<h3>🎭 Objets & Équipements</h3>
<ul>
<li>
<strong>VÉLO :</strong> Convertit 2 points de Stress en
1 point d'Énergie au petit matin.
</li>
<li>
<strong>ARIPIPRAZOLE :</strong> Fixe Hallucinations à
0. Ajoute le trait "Stabilité".
</li>
</ul>
</div>
</div>
</section>
</main>