Intègre un chat IA capable de manipuler la scène via les mêmes fonctions
que l'éditeur manuel (objets, variables, déclencheurs, images générées),
avec conversations multiples par écran façon Claude. Corrige au passage
le rafraîchissement pjax hors-ordre, l'onglet IA/déclencheurs vide après
sélection d'un objet, la comparaison de booléens dans les conditions, et
le blocage du glisser-déposer hors du cadre caméra après un redimensionnement
de fond par l'IA.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Met en place les fondations du template Bulma décrit dans
regles/FORGE_ENGINE_TEMPLATE_BULMA.md : palette orange/ambre Forge
(--accent:#ff5f2e/--accent-2:#ffb020), typographie, rayons — appliqués
en recompilant Bulma lui-même plutôt qu'en le surchargeant après coup en
CSS, pour recolorer automatiquement ses composants internes (tags,
notifications, dropdowns...) sans avoir à les surcharger un par un.
- Bulma 0.9.4 vendoré en local (styles/bulma/, source Sass classique
$variable + @import) — PAS 1.0.2 (la version jusqu'ici en CDN) : 1.0.2
utilise le nouveau système de modules @use/@forward, que libsass (choisi
pour rester 100% Python, sans Node/npm) ne sait pas compiler (testé :
il ignore silencieusement le @use au lieu de le traiter). 0.9.4 est la
dernière version compatible avec libsass et couvre à l'identique tous
les composants utilisés ici (boutons, tableaux, onglets, modales,
formulaires, navbar).
- requirements.txt : +libsass (pip pur, aucun binaire/Node.js).
- styles/forge-theme.scss (nouveau, point d'entrée) : variables Sass
Bulma ($primary, $radius...) posées avant l'import, tokens Forge exposés
en :root (--forge-bg, --accent, --gradient, --status-*...) avec des
alias vers les noms de variables déjà utilisés par tout le CSS custom
existant (--bg/--panel/--border/--text/--danger...) — pas besoin de
renommer les ~600 lignes de règles déjà écrites, seules leurs VALEURS
changent.
- styles/forge-custom.scss : ancien static/style.css, structurellement
inchangé — seuls les hex/rgba en dur qui échappaient aux variables
(ancien accent bleu #5b8cff, danger #e2685f, couleurs de types de
nœuds du graphe de logique, fond du QR code recovery...) sont
remplacés par les tokens de la charte.
- build_css.py (nouveau) : compile styles/forge-theme.scss en
static/style.css via libsass — un seul fichier, un seul <link>
inchangé dans les templates, à relancer manuellement après toute
modification sous styles/.
- base.html/play.html : suppression du <link> CDN Bulma (auto-hébergé
désormais), ajout d'un favicon (absent jusqu'ici) et du vrai logo Forge
dans la navbar (assets/*.svg copiés dans static/branding/, seul dossier
réellement servi par Flask).
197 tests toujours verts (aucune assertion sur des valeurs CSS).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>