# Arsenal Nexora V2 — Fase 2

Versión del plugin: 1.2.0

## Objetivo

Reducir errores operativos en AdminCP sin mover complejidad al catálogo público ni alterar la transacción de compra.

## Cambios incluidos

- Formulario administrativo reorganizado en identidad, configuración jugable, presentación y control de publicación.
- Selector `Section` con etiquetas de familia; `Index` limitado explícitamente a 0–255 porque el encoder DbVersion 3 actual utiliza un byte para ese valor.
- Preview del asset `item_images/{section}/{index}` con fallback de formatos.
- Detección de medidas solamente cuando el asset es múltiplo exacto de 32 px y el resultado entra en la cuadrícula 8×15. La medida nunca se aplica sin acción explícita del administrador.
- Reutilización de nombre, categoría y dimensiones como referencia cuando el mismo código ya existe en el catálogo del reino.
- Sugerencia de categoría por familia para altas nuevas, manteniendo el campo editable.
- Opciones Excellent con contador; Ancient y Harmony separados detrás de un bloque avanzado.
- Acción “Restablecer opciones base” que no modifica código, precio, stock ni dimensiones.
- Resumen operativo del reino, código, valor y stock antes de guardar.
- Validaciones locales de promoción y coherencia, manteniendo al backend como autoridad final.
- Duplicación de configuraciones desde el catálogo. La copia nace oculta, no destacada y sin copiar la imagen promocional.
- Filtros administrativos por texto, categoría y estado con JavaScript local y debounce de 90 ms.
- Los formularios POST de Arsenal se apoyan en la protección CSRF central de `NexoraSecurity`, evitando una segunda implementación paralela.
- Auditoría al publicar u ocultar un ítem.

## Rendimiento

Los nuevos assets de AdminCP son independientes del frontend público. No se agregaron frameworks, llamadas externas ni consultas SQL por tarjeta/fila. La búsqueda y los filtros operan sobre el HTML ya cargado.

El formulario realiza dos lecturas administrativas acotadas al abrirse: categorías existentes e identidad de códigos ya registrados. Estas consultas existen solo dentro de AdminCP y permiten evitar lookup por cada interacción del selector.

La comprobación visual de assets se realiza contra archivos estáticos del template; cambiar Section/Index no consulta la base de datos.

## Límites conscientes

La web suministrada contiene imágenes con índices superiores a 255, pero la codificación de entrega actual almacena `item_index` en un byte. Fase 2 no amplía ese rango para evitar mostrar como válidos códigos que el encoder no puede entregar de forma inequívoca.

Las imágenes no constituyen por sí solas un catálogo autoritativo de nombres ni dimensiones. Por eso Arsenal no inventa nombres y no redondea medidas. Cuando una imagen es ambigua, el administrador debe validar ancho/alto contra los server files.

## Núcleo de compra

`purchase()` no fue modificado en esta fase. Continúan intactas las validaciones transaccionales de cuenta offline, saldo, stock, límite por cuenta, serial, espacio de baúl, descuento y registro de entrega.
