Actualización 2.64
10/6/2026
v2.64.0BETA
Seymour
Crecimiento/personalización de Aeon en el Atlas de datos Spira (de solo lectura, `proved-candidate`, Aeon-solo, compilado)
- Enchufes
sum_grow.bin(FFX Tabla de personalización Aeon) en el proveedor como tipo de detalle de solo lectura: nuevo accesorSpiraDataAtlasDetailKind.AeonGrowthRecipe+ valor-guardedSpiraDataAtlasCatalog.TryGetAeonGrowthRecipe(entryIndex, currentResultRaw, currentItemRaw). Aeon-SOLO:sum_grow.bines 636 bytes (0x14encabezado + 77 × 8B entradas,Targetsiempre0x007F=Aeon,jppc==inpcidéntico byte a byte) → 67 recetas de habilidades (Resultado cat 3 → Comandos) + 10 recetas de estadísticas (Resultado cat 0 → StatOptions, Secundario=1). sin filas PC y sin filas Sphere-Grid (PcAeonFineStates un corpus separado; La topología de rojo vive ensphere.bin/panel.bin). Non-work/fuente: las 77 filas provienen de una tabla compilada byte-grounded (FfxLib/SpiraDataAtlas/SumGrowAeonRecipeData.cs, generado porbuild_sum_grow_aeon_fine_index.ps1 -EmitCSharpa partir desum_grow.bin), por lo que existen en la compilación CUALQUIER sinwork/(a diferencia de Alquimia/Sphere/Tienda). Los nombres/etiquetas se resuelven en tiempo de ejecución mediante los propios diccionariosAeonCustomizationEntry+ (del editor, una única fuente de verdad, RT0-probado mediante--customization-rt0), nunca reinventado. Stat-recipe costo =partial(el editor representaPrimary× item; El costo en el juego es 1 artículo/solicitud yPrimaryes el incremento) : aparece en la columnaevidence(;cost-semantics-partial), no sólo prosa. Puerta--spiraatlas-rt021219 → 21296detalles (+77 Aeon; todos únicos) + 13 nuevas afirmaciones (recuento 77/67/10; Aeon-solo; sin PC; sin esfera; búsqueda de capacidad 66 → Artema/Piedra suprema; búsqueda de estadísticas 67→HP+100/Esfera de vigor/cost-parcial; valor-protector0x9999oculta; Error de índice fuera-de-range; búsqueda de dominio; BIBLIA dominio aeon-growth). De solo lectura: sin escritor/UI/runtime/SIN; no toca RIKKU/WAKKA/JECHT/BAHAMUT/AURORA, el motor de insignia ANIMACommon, oWriteAeon/guardar rutas. Unbloquea el trabajo pendiente de YUNA Q1 (erablocked). Verificado por un flujo de trabajo adversario de 4 lentes en el explorador. Construya 0 errores/361 advertencias;--customization-rt0+--spiraatlas-rt0+--aicmdmeta-rt0PASS. Documentos:docs/ai/ATLAS_BRASKA_SUM_GROW_FINE_SCOUT_RESULT_2026-06-10.md+docs/ai/HANDOFF_BRASKA_SUM_GROW_FINE_INDEXER_NEXT_2026-06-10.md
v2.63.0
v2.64.1BETAPATCH
Seymour
insignia de evidencia de Atlas en el editor de tablas Alquimia (solo lectura, valor protegido, ocultar al editar)
- UI de solo lectura conectando el descriptor de acceso
SpiraDataAtlasCatalog.TryGetMixCombination(incluido env2.63.0) enMixTableEditor: la tarjeta "Editor de combinación" (panel de detalles) ahora muestra<common:AtlasEvidenceBadgeStrip>de la combinación de mezcla seleccionada: una tira por combinación (no por fila; evita 6,328 búsquedas y desorden), un espejo exacto de Tesoro/Tienda.MixTableEditor_DataModelganó[ObservableProperty] AtlasEvidenceInfo? SelectedMixEvidence+RefreshSelectedMixEvidence()(TryGetMixCombination(origin.Index, result.PartnerIndex, result.RawResult) → AtlasEvidenceInfo.ForDetail), llamado enOnSelectedResultChanged(cubre la combinación Y el cambio de origen a través de cascada) y enResultChangedcuando cambiaRawResult(cubre la edición del resultado a través deResultRef→SyncBack→NotifyComputedChangedy "Establecer vacío"). Ocultar al editar: re: apuntar el resultado a otro elemento, "Establecer vacío" (sin formato 0), una celda reflejada vacía/de triángulo superior o un par fuera del corpus → descriptor de accesofalse/null→ la tira se oculta automáticamente (IsVisible=false); Orden(origin,partner)irrelevante (canonicalización máxima/mínima en el descriptor de acceso). REUTILIZACIÓN de la capacidadv2.63.0+ infraestructuraCommonde ANIMA (solo consumida) → (precedente: las UI de la insignia de tiendav2.61.2/v2.61.5eran PARCHE). No hay nuevos escritores:--mixtable-rt0permanece byte idéntico (25108/25108). No toca el motorCommonde ANIMA, el proveedor, Tesoro/Tienda (RIKKU) o BRASKA/WAKKA/AURORA/BAHAMUT/SIN. Revisado por un flujo de trabajo adversario de 5 lentes (ocultar al editar, escritor/solo lectura, límite ANIMA, enlace XAML, honestidad) + síntesis →ship, 0 defectos. Construya 0 errores/361 advertencias;--spiraatlas-rt0(Alquimia 6328) +--mixtable-rt0(byte idéntico) +--aicmdmeta-rt0PASS. Documento:docs/ai/ATLAS_JECHT_MIX_BADGE_UI_RESULT_2026-06-10.md
v2.64.0
v2.64.2BETA
Seymour
Blitzball escritor de guardado LAB + compensaciones de premios PROBADAS POR SALVADO contra una partida guardada REAL (sin torneo)
- Las compensaciones de premios de Blitzball pasaron de RE a probado por guardado: localicé las partidas guardadas reales (
Documents\SQUARE ENIX\...\FINAL FANTASY X\ffx_000..006, 7 espacios de0x6900=0x40 header + 0x68C0 SaveData) yffx_000decodificados correctamente (liga = Omnielixir/Omnipoción/Esfera de agilidad, torneo = Elixir/Super Portero/Poción, etc.): el guardado es texto sin formato, sin cifrado/compresión (gil/historia/battle_count sensato), confirmó--base 0x40. El encabezado0x40tiene una firma"cxs"+ tiempo de reproducción/ubicación; ningún campo coincide con una suma de verificación SaveData (probablemente no haya suma de verificación de bloqueo, pero aún se necesita una carga en el juego). Nuevo escritor LABTools/BlitzballSaveWrite.cs(--blitz-save-write <in> <field> <value> <out>): escribe un índice de premios u16 en un archivo NUEVO (NUNCA sobrescribe la fuente; rechaza la sobrescritura en situ), y el antes/después se resuelve a través del catálogo de Atlas. Validado en una COPIA deffx_006:tournament0 25 (Elixir) -> 50 (Saturn Crest), diff = exactamente 2 bytes, el resto en bytes idénticos.BlitzballSaveRead.Resolvese convirtió eninternal ResolvePrize(reutilizado por el escritor). guardar (ffx_NNN) ≠ archivo del juego: editar el guardado cambia ESTA partida; cambiar el grupo (takara.bin220..320) es Tesoro/RIKKU. No hay cambios en Atlas UI/Tienda/Tesoro/Alquimia/Common/Aurora/Bahamut/SIN. Construya 0 errores/361 advertencias. Documento:docs/ai/BLITZBALL_SAVE_RUNTIME_WRITER_SCOUT_2026-06-09.md
v2.64.1
v2.64.3BETA
Seymour
Aeon Insignia de evidencia de crecimiento en el Editor de personalización (solo lectura, valor protegido, ocultar al editar)
- Conecta
<common:AtlasEvidenceBadgeStrip>en la pestaña "Aeon Crecer / Enseñar" deCustomizationEditor(tarjeta "Editor de recetas"), consumiendo el descriptor de acceso ya creadoSpiraDataAtlasCatalog.TryGetAeonGrowthRecipe(entryIndex, currentResultRaw, currentItemRaw)(v2.64.0). NuevoAtlasEvidenceInfo? SelectedAeonEvidenceenCustomizationEditor_DataModel, recalculado al cambiar la selección y cuando la fila seleccionada aumentaRawResult(AeonRecipeChanged) → ocultar al editar: editar la habilidad/estadística enseñada O el elemento de costo (no coincide sin procesar) o un índice fuera de rango hace que el descriptor de acceso devuelvanully la tira se oculta (sin insignia obsoleta), una exacta espejo de Alquimia (v2.64.1). Las 10 recetas de estadísticas muestran una insigniapartial(semántica de costo: el editor generaPrimary× item, pero el costo en el juego es 1 artículo/aplicación). sin editor ni corrección de visualización de costos (fuera de alcance). Reutiliza el motorCommonde ANIMA (solo consumido). PC permanece comoblocked(sin filas PC) y Spheremetadata-only(sin unión): no hay nada que mostrar. sin cambio de proveedor/puerta (--spiraatlas-rt0intacto, detalles de21296/ 77 Aeon). Construya 0 errores/361 advertencias;--customization-rt0+--spiraatlas-rt0+--aicmdmeta-rt0PASS. No toca JECHT/Alquimia, TIDUS/PC, AURON/Sphere, RIKKU/WAKKA/VALEFOR/AURORA/SIN. Documento:docs/ai/ATLAS_BRASKA_AEON_GROWTH_BADGE_UI_RESULT_2026-06-10.md
v2.64.2