JARVIS-AURORA
Aggiornamento 2.125
16/06/2026
v2.125.0.0MINORJarvis-AURORA
Aurora finalizzazione balistica Fase 1: probe `aurora-calib-v2` (CSV/JSON con residuo identity/flipZ/yaw180 + height_0x534)
- (nuova capacità: nuovo modo di
ffxprobectlche emette artefatto CSV+JSON con nuovo schema di calibrazione residuo; prima volta che abbiamo abbinatochunk3.monLive×actor+0x3B0×actor+0x534in probe strutturato). Implementazione della Fase 1 del piano Aurora (.cursor/plans/aurora_balistica.plan.md). Spec applicata:docs/reverse/FFX_AURORA_CALIBRATION_PROBE_SPEC_2026-06-15.md(identity XZ provata 2 026-06-05 IDA; residuo ancora pendente RT2). La modalità:ffxprobectl aurora-calib-v2 [--route <field> <group> <formation>] [--battle <id>] [--out <json>] [--csv <csv>] [--max-slots <N>](sola lettura, senza strumentazione MMF oltre alla finestraArm(1, ...)già esistente). Per ogni slotmonLivefino amin(monCount, max-slots=16): leggechunk3.monLive[s]ing_FFX_Battle_AreaChunk + ptr@+0x20 + 16*s(XYZW), risolveactor[s] = *0x11334CC + 0xF90*s, leggeactor+0x3B0(world XYZW),actor+0x3C0(cache XYZW opzionale),actor+0x534(height float). Calcola 3 residui:identity = actor - chunk,flipz = actor - (cx,cy,-cz),yaw180 = actor - (-cx,cy,-cz)con componentidx/dy/dz+ RMS (full + solo XZ). Accettazione (matching A01):identity_rms_xz < 0.5Eidentity_rms * 5 < flipz_rmsEidentity_rms * 5 < yaw180_rms->winner=identity; le alternative vincono solo se rms_alternativa < 1.0 (improbabile post-IDA-proof — emette avviso "UNEXPECTED — investigate"); slot bloccato se actor_array non valido / world non finito (despawn/animazione) — nel casoblocked-runtime-state, NONfail. Output: JSON (work/actor_overlay/aurora_calib_<battle_id>_<utcstamp>.jsonpredefinito) converdictconsolidato (identity-confirmed-live/ALERT-non-identity-winner/blocked-runtime-state/partial) + array dirows; CSV parallelo con 36 colonne (qpc, battle_id, route field/group/formation, area_chunk_va, actor_array_va, slot, dict_id, chunk_xyzw, actor_xyzw, actor_cache_xyz, height_0x534, identity/flipz/yaw180_dx/dy/dz/rms, identity_rms_xz, winner, reason). Build:dotnet build RuntimeTools/FfxDinput8Probe/ctl/Ctl.csproj -c ReleasePASS (0 errori, solo avvisi preesistenti CS8632/CS0219). Non tocca: probe DLL (ffx-probe.dll), gates offline, FfxHooksDll. Prossima fase: RT2 calib-v2 con Halyson in 4 battaglie golden (azit03_00,bsil05,klyt00_00+ una di controllo come425/0/0) — ricetta indocs/reverse/FFX_AURORA_FORCE_BATTLE_CALIBRATION_PROTOCOL_2026-06-15.md. RT2 Fase 1 = N/A (solo build sonda); RT2 Fase 2 = bloccata in umano (Halyson). [precedente:v2.124.0.2]
v2.125.1.0
Aurora finalizzazione balistica Fase 3 (offline): drag prev - Visualizza diff senza overlay (vecchio/nuovo/Δ)
- Lane Jarvis-AURORA.** PATCH (migliora UX senza modalità drag esistente per
aurora-overlay.js; senza nuova capacità, senza nuovo writer, solo miglioramento nel readout prima dell'RT2 della posizione-drag-sola). Implementa la parte offline della Fase 3 del piano Aurora — l'RT2 (spostare mostro piccolo in battaglia reale, salvare, forcebattle, screenshot, restore) rimane bloccato in umano (Halyson). Tre modifiche inRuntimeTools/FFXMapViewerWeb/aurora-overlay.js: (1)onPointerDownora cattura la coordinata ORIGINALE dirawAnchorsall'avvio del drag (incrociandouserData.role/index), salvandola inoverlayState.dragging.original = {x,y,z}. (2)onPointerMoveil setReadout passa daplace role[i]: X 12.34 Y 5.67 Z 8.90al nuovo formato con 3 parti:(orig) → (new) Δ=(+1.23, +0.00, -2.45)— segnale esplicito (+/-) rende ovvia la direzione del drag. (3)onPointerUpora chiamasetAnchorInfocon un riepilogo persistente${role}[${i}]: Δ=... (orig) → (new)che sopravvive fino al prossimo evento — prima il readout scompariva non appena il cursore usciva dal pannello. Vantaggio per l'RT2 di Halyson: l'operatore vede esattamente quanto ha spostato ogni mostro prima di salvare (💾 Salvar posicoes) — facilita "ho spostato 1.2u in X, 0u in Y, -3.5u in Z" per il test log dell'RT2. Non tocca: writer (AuroraDragBridge/BattleArenaPositionWriter), gate offline, FfxHooksDll, probe ctl. Lint:ReadLintspulito. Prossima fase: Fase 4 (RT2 grow normal non-Dark Aeon) e Fase 5 (gate camera-chunk0-edit-rt0 offline + RT2 polare) seguono in coda. RT2 Fase 3 = bloccato in umano (Halyson)
v2.125.0.0
v2.125.1.1REVISIONJarvis-AURORA
Aurora finalizzazione balistica Fase 9 closeout: riconciliazione di stato tra le 10 fasi del piano (RT2 coda pronta, offline 100% chiuso)
- (solo documento / closeout:
PORT_STATUS.md+docs/ai/SESSION_HANDOFF.md+KNOWLEDGE_BASE.mdriconciliati; nessuna modifica di comportamento, nessun writer/probe/DLL toccato in questo passaggio). Chiude il ciclo del piano.cursor/plans/aurora_balistica.plan.md(10 fasi, ambito A+B approvato da Halyson). Fasi completate in questa saga (Jarvis-AURORA, 2026-06-16): F0 riconciliazione dei documenti (REVISIONEv2.123.5.1), F1 probeaurora-calib-v2MINOR (v2.125.0.0), F3 drag preview diff offline PATCH (v2.125.1.0). Fasi già coperte da lavoro precedente (scoperte durante il closeout, senza nuovo bump in questa saga): F5 gatecamera-chunk0-edit-rt0offline già coperto daBattleCameraScanLab(offline_ci.ps1C08BattleCameraScanLabgià includepolar eye round-trip+setup FLOAT edit round-trip+edit byte-local + reversiblein tutti i bin di chunk0 con camera setup). F6 collegamento PhotoMode noFfxHooksDllgià COMPLETO (PhotoMode::Tick()chiamato dopo l'update dell'attore nel Present hook indllmain.cpp:4622,PhotoMode::g_base/g_pmdefinitidllmain.cpp:6060, bridgeNativeMenu_OnEdge/NativeMenu_OnHeldEnterregistrato inStartNativeMenuIfEnableddllmain.cpp:8884,PhotoMode::Exit()nelStopNativeMenudllmain.cpp:8910— manca solo RT2 in-game). F7 spike ID W2S consolidato in 3 doc (FFX_AURORA_W2S_MATRIX_OWNER_IDA_DEEP_2026-06-15.md,FFX_AURORA_W2S_MATRIX_IDA_CHAIN_2026-06-15.md,FFX_W2S_D3D11_INFERNO_2026-06-15.md) con acceptance criteria e spec di logging stabilitati; gap = hook read-only diselected target id/indexnella UI principale (RVA pendente senza database IDA locale sbloccato per l'idalib MCP di questa sessione). F8 spike selettore variante IDA consolidato in 3 doc (FFX_AURORA_ARENA_VARIANT_IDA_DEEP_2026-06-15.md,FFX_AURORA_ARENA_VARIANT_SELECTION_RE_2026-06-15.md,FFX_ARENA_VARIANT_RUNTIME_INFERNO_2026-06-15.md); badgeruntime selector UNVERIFIEDpiantato nella UI diAuroraChamberin F0. Fasi bloccate in umano (Halyson, RT2 in-game): F2 RT2 calib-v2 in 4 battaglie golden (425/0/0,azit03_00,bsil,klyt00_00) + analisi del residuo Y per area/altezza — ricetta completa indocs/reverse/FFX_AURORA_FORCE_BATTLE_CALIBRATION_PROTOCOL_2026-06-15.md; F3 (RT2) drag solo posizione — ricetta nella §B diFFX_AURORA_MASTER_RT2_CHECKLIST_2026-06-15.md; F4 RT2 grow normali non-Dark Aeon (spawn + IA + fine-battaglia + cleanup); F5 RT2 polar edit; F6 RT2 PhotoMode minimo. Stato post-saga (PORT_STATUS riconciliato): Aurora Chamberparcial → parcial+++(identità X/Z provata IDA, Y residuo RT2 pendente, badge UNVERIFIED in variante),aurora-calib-v2validado offline / RT2 pendente, drag overlayvalidado offline / RT2 pendente, BattleCameraScanLabvalidado offline (gate C08 = 1 dos 29), PhotoMode wiringvalidado offline / RT2 pendente, W2S ownerpartial / blocked / acceptance criteria definidos, selettore variante runtimepartial / inferred / blocked sem IDA db destravado. Non tocca: writers, probes, DLL, build, package — l'intera saga è stata documentazionale + 2 incrementi piccoli (probe ctl + overlay UX) che sono già stati spediti nelle proprie REVISIONS. Prossimo passo sicuro (trasferire a Halyson): eseguire la coda RT2 pre-armata (5 RT2 attive + 1 spike IDA sbloccato) — F2 calib-v2 prima (ffxprobectl aurora-calib-v2 --route 425 0 0in battaglia reale), poi F3/F4/F5/F6 a seconda dell'energia umana. [precedente:v2.125.1.0]