Ajout de 2 fonctionnalitées principales : import PDF que ce soit pour les règles ou les campagnes directement.
All checks were successful
Build & Push Images / build (brain) (push) Successful in 1m28s
Build & Push Images / build (core) (push) Successful in 1m40s
Build & Push Images / build-switcher (push) Successful in 19s
Build & Push Images / build (web) (push) Successful in 1m46s

Fonctionnalité de comparaison PDF / campagne pour faire un mix et demander des conseils à l'IA
This commit is contained in:
2026-06-04 13:55:27 +02:00
parent 79a68bc27b
commit 439f43875b
78 changed files with 5250 additions and 183 deletions

View File

@@ -18,6 +18,28 @@ export interface GameSystem {
isPublic?: boolean;
}
/**
* Réponse de l'import d'un PDF de règles : proposition de sections à réviser.
* `sections` = {titre → contenu markdown}. `ocrPageCount` > 0 ⇒ le PDF était
* (au moins partiellement) un scan passé à l'OCR.
*/
export interface RulesImportResponse {
sections: Record<string, string>;
pageCount: number;
ocrPageCount: number;
}
/**
* Évènements du flux SSE d'import streamé.
* - progress : avancement (total=0 ⇒ phase d'extraction en cours).
* - done : résultat final (sections proposées).
* - error : message d'erreur côté serveur.
*/
export type RulesImportStreamEvent =
| { type: 'progress'; current: number; total: number; pageCount: number; ocrPageCount: number; newSectionTitles: string[] }
| { type: 'done'; sections: Record<string, string>; pageCount: number; ocrPageCount: number }
| { type: 'error'; message: string };
/** Payload de creation/mise a jour (sans id). */
export interface GameSystemCreate {
name: string;