Skip to content

v2.16.0 — visor advance-wars: los 14 perfiles con runtime

Choose a tag to compare

@MauricioPerera MauricioPerera released this 08 Jul 04:44

Release aditivo sobre 2.15.0 (bump minor, SPEC §7.0): el visor
advance-wars completa el tablero — los 14 perfiles del repo tienen runtime en
game3d
. Donde el perfil solo modela arte, el runtime no inventa gameplay: esa es la
tesis del protocolo aplicada hasta el final. La versión del protocolo sigue en 0.1.

Added — runtime advance-wars en game3d (visor): los 14 perfiles con runtime

  • Runtime advance-wars (14º y último perfil con runtime): visor 3D del arte
    extraído
    — desfile de las unidades 4bpp sobre la rejilla que declara platform
    (12×10), cámara orbital, cursor con flechas, Enter coge/suelta (recolocación con
    bloqueo por ocupación) e inspección en el HUD (nombre, dimensiones, paleta).
  • Honestidad por diseño: este perfil modela solo arte (PALETTES + UNITS; sus
    reglas son unit-dims/unit-palette-ref/unit-tiledata-range) — no hay vocabulario de
    gameplay (stats, daño, terreno, mapa), así que el runtime no inventa combate:
    gameplay as data significa que sin datos no hay gameplay (SPEC §8). El propio HUD
    lo dice. Si se quisiera batalla real, el camino es extender perfil+ejemplo con
    tokens de gameplay.
  • Lógica pura en game3d-logic.mjs (awDecode/awInit/awCursor/awAct,
    +16 chequeos en npm test y CI): decode 4bpp de las 4 unidades reales validado
    contra su paleta (color a color), errores en unidad inexistente/tileData roto,
    desfile dentro de la rejilla sin solapes, topes de cursor, coger/soltar con bloqueo.
  • Verificado en navegador: boot, coger en vacío bloqueado, inspección de
    INFANTRY, soltar sobre TANK bloqueado y recolocación a (0,0) — todo con eventos de
    teclado reales.
  • Con esto, los 14 perfiles del repo tienen runtime en game3d.