Aggiornamento 2.233
17/08/2026
v2.233.0.0BETAMINOR
Lulu16 ago 2026
Assistente AI BYOK: pannello AiAssistant che collega il contratto LLM (P2B) alla UI + migrazione i18n completa + cablaggio nav. (letterale tecnico: BYOK AI)
- Nuovo modulo
FFXProjectEditor/Modules/AiAssistant/(5 file): pannello BYOK che consuma il layerCore/LLM/esistente (contratto P2B:LlmHttpAdapter+LlmGuard+LlmCredential+ProposalToPlanMapper).AiAssistantSession.cs(chiave solo in memoria, Dispose azzera, rifiuta host remoto senza conferma umana);AiAssistant_DataModel.cs(ObservableObject, Connect/Send/Clear,LlmHistoryEntryaudit senza payload, ApiKeyText azzerato via TakeApiKey);AiAssistant_Control.axaml(TextBox con PasswordChar, binding bidirezionale, IRestorableModule); (letterale tecnico: two-way)AiAssistantLabels.cs(forward a Strings, helper RejectReason). Sicurezza: BYOK in-memory + opt-in + endpoint loopback gratuito, remoto richiede checkbox; nessuna scrittura file. - Migrazione i18n completa: 23 etichette migrate da AiAssistantLabels (EN grezzo) →
Strings.resx(EN) +Strings.pt.resx(PT-BR) +Strings.cs(propAiAssistant_*). Gate:StringsIntegrityTests3/3 PASS. - Catalogo/nav: voce
ai-assistantinModuleRegistry(ufficiale, cluster Live, RequiresProject: false) + stringhe modulo. L'handlerMenuItem_AiAssistant+ il caseDispatchinMain_Windowsono pronti nel worktree ma fuori da questo commit:Main_Window.axaml.csè interleaved con ~33 modifiche i18n non committate di un'altra lane nello stesso file — commit coordinato quando la baseline i18n atterra. - Doc teoria assorbita:
docs/ai/BOT_MAECHEN_EDITOR_ABSORBED_2026-08-16.md(verificata contro il codice Core/LLM reale). - Gates: build 0 errori;
StringsIntegrityTests3/3 PASS. Suite: 424/432 (8 fallimenti pre-esistenti: 7 PtStrings mojibake + 1 MagicDll — nessuno da questa lane). Onestà: l'adapter si aspetta un endpoint JSON PatchProposal (chat API grezza → MalformedPayload); l'end-to-end richiede gateway/template dall'espansione recipe (prossimo MINOR). (letterale tecnico: pre-existing)
v2.232.1.0
v2.233.1.0BETAPATCH
Seymour17 ago 2026
EditViewer Aurora ripristinato: bug overlay attori corretto (installKeyboard annidato male rompeva il boot → loadAnchors non partiva mai) + marker resi visibili. (letterale tecnico: actor-overlay) (letterale tecnico: mis-nested)
- Causa radice (via console Chrome DevTools):
installKeyboardera annidato dentrotogglePickinRuntimeTools/FFXMapViewerWeb/aurora-overlay.js— mai esposto a scope globale, quindibuildPanel()lanciavaReferenceError: installKeyboard is not defined→boot()interrotto →loadAnchorsnon partiva mai → l'EditViewer apriva la mappa senza alcun marker ancora (niente sfere mostro/party/camera o pin; UI di editing inerte). Corretto spostandoinstallKeyboarda scope globale (commento datato nel codice). - Visibilità attori: i marker ancora erano di fatto invisibili (sfera raggio-
0.7in una mappa ~80 unità con camera a distanza ~88 ≈ 1px). Alzato a4.0+ aggiunto un pin cono verticale per ancora (colore ruolo) così gli attori sono inconfondibili sul canvas; il pin segue la sfera al drag (3 punti). - Doppia validazione (Chrome via DevTools + WebView2 interno): il pannello ora mostra "8 âncora(s) · 5 monstro(s) · battle bika02_00"; Luna ha confermato i marker oro/arancio (mostri) + blu/ciano (party) sul canvas in entrambi i target.
- Limite onesto (fronte separato lane-HD): i modelli HD mostro (
/work/phyre_chr_anim/models/mNNN/mNNN_animated.gltf) non esistono su disco →loadMonsterricade sulla sfera degradata arancione con motivo (404). La pipelinephyre_chr_animresta vuota (documentata come rotta inModuleCatalogPolicy). I marker ora fanno da placeholder editabile finché la lane HD non riesporta i glTF. (letterale tecnico: re-exports) (letterale tecnico: glTFs) - Gates:
node --checkOK; editor build ok. No RT2 test (bug was purely in the web overlay UI). ### MINOR
v2.233.0.0