v2.14.0 — runtime crafting en game3d
Release aditivo sobre 2.13.0 (bump minor, SPEC §7.0): el artefacto
crafting ya generado se vuelve jugable en game3d — meta derivada de los datos
(recetario completo), ganada y perdida en Node con conservación exacta por material.
La versión del protocolo sigue en 0.1.
Added — runtime crafting en game3d
- Runtime
crafting(12º perfil jugable): el artefacto ya generado corre en
game3d sin tocar core ni datos — taller DOM (materiales con teclas 1..N, estación
con M, recetas con A..Z coloreadas por disponibilidad, objetos e inventario) sobre
fragua 3D (yunque y brasas que laten), overlays de victoria/derrota. - Lógica pura en
game3d-logic.mjs(crInit/crGather/crMove/crCraft,
+12 chequeos ennpm testy CI): stack por MATERIALS, estación e inputs por
RECIPES, valor por outputValue. Recetario completado y perdido en Node;
conservación exacta por material (recolectado − consumido = inventario); craftear
sin estación / en la equivocada / sin materiales →blocked; stack se detiene
en el tope declarado. - Semántica del motor documentada (SPEC §8): la meta es completar el recetario
(craftear cada receta ≥1 vez — derivada de los datos, sin números inventados) con
presupuesto deCR_ACTIONS = 30acciones; recolectar/moverse/craftear cuestan 1;
derrota al agotarlas. - Verificado jugando en navegador: craft en vacío bloqueado, recolección por
teclas, cambio de estación y recetario completo hasta el overlay de victoria
(valor 90, 22 acciones sobrantes).