Skip to main content

Ark Nova

Ark Nova

Dernière mise à jour : 2026-05-10

Jeu de société (zoo), pas un TCG. Traité avec base de cartes pour l'autocomplete @ et l'enrichissement RAG.

Source

  • JSON local + sprite sheets : extraction one-shot
  • Collection Qdrant : ark-nova-cards
  • Data dir : ARK_NOVA_CARDS_DATA_DIR (défaut /app/data/ark-nova-cards)
    • cards.json : extrait
    • images/animals/, images/sponsors/ : PNG découpées via sprite-slicing

Code

Fichier Rôle
src/services/cards/sources/ark-nova.ts CardSource
scripts/ark-nova-cards/extract-cards.ts Parse JSON local
scripts/ark-nova-cards/slice-sprites.ts Découpe sprite sheets en PNG individuelles
scripts/ark-nova-cards/ingest.ts Push Qdrant
scripts/ark-nova-cards/link-game.ts Lie ligne games

Payload Qdrant ark-nova-cards

{
  id: pointId,
  name: string,
  category: 'animal' | 'sponsor',
  latin_name: string,         // pour les animaux
  size: 'small' | 'medium' | 'large',
  conservation_point: number,  // points conservation
  endangered: boolean,
  image_url: string,          // chemin local PNG découpé
  text: string,               // texte des effets
}

Pas de méta ni deckbuilding

Ark Nova n'a pas de format compétitif constructed. Le mode deckbuilding ne s'applique pas — retrieval synergy seul.

Pas de symboles UI dédiés

Les pictos (taille, conservation, abreuvoir, partenaire scientifique…) restent dans le texte descriptif des cartes. Si tu veux ajouter des PNG : créer frontend/src/lib/ark-nova-symbols.ts + assets frontend/public/ark-nova-icons/.

Mise à jour

Quasi-statique. Si une nouvelle extension sort :

  1. Mettre à jour le JSON local et/ou les sprites
  2. docker exec boardgame-referee npm run cards:ark-nova:slice (re-découpe sprites)
  3. docker exec boardgame-referee npm run cards:ark-nova:extract (re-parse JSON)
  4. docker exec boardgame-referee npm run cards:ark-nova:ingest (push Qdrant)
  5. /admin → Resync ARK NOVA cards (optionnel)

Cas d'usage typique

  • "Quels animaux donnent le plus de points conservation ?" → retrieval cartes + tri par conservation_point
  • "Quelle synergie avec les small animals ?" → retrieval avec filter size='small'
  • Citation @Tiger dans une question → carte injectée en bloc CARTES CITÉES