You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

6.5 KiB

Continuación de Juegoland — 4 de octubre de 2026

El usuario ha pedido terminar los cambios actuales, dejar este handoff, hacer commit y push y cerrar por hoy. Los componentes de cartas y los juegos nuevos quedan para la siguiente sesión.

Trabajo cerrado

  • El parchís sigue la distribución del tablero de referencia: rojo arriba a la izquierda, azul arriba a la derecha, verde abajo a la izquierda y amarillo abajo a la derecha. Las 68 casillas, sus números, las salidas 5/22/39/56 y los pasillos se dibujan con la geometría clásica. Los índices del motor se conservan, incluidos los de partidas antiguas.
  • Solo las cuatro casillas de salida del parchís tienen popover. En la oca lo conservan las casillas especiales; las normales y el inicio no lo tienen.
  • Los colores de las fichas son vivos y el amarillo es amarillo. La paleta compartida y los tokens visuales tienen los mismos colores sólidos; los textos del chat conservan tonos legibles para claro y oscuro.
  • El centro de cada casa del parchís muestra el avatar del jugador. Si no hay avatar, aparecen sus iniciales; las casas libres mantienen un símbolo neutro.
  • En mesas de dos o tres jugadores, cada jugador puede elegir entre todos los colores libres. Solo se asigna automáticamente el último color cuando se agota la paleta: cuatro jugadores con cuatro colores u ocho con ocho. Un color ocupado se rechaza y cambiar de color desmarca «listo».
  • El arreglo anterior del chat se conserva: utiliza primero el margen derecho libre y no desplaza el tablero mientras haya espacio.

Código de referencia

  • shared/parchis-board.mjs: geometría de casillas, números, casas, salidas y pasillos.
  • src/lib/components/ParchisMap.svelte: tablero, avatares, fichas, animaciones y popovers de salida.
  • src/lib/components/OcaBoard.svelte: interacción solo en casillas especiales y contraste de números de fichas.
  • shared/player-colors.mjs: paleta y función receivesLastColor.
  • server/platform.mjs y src/lib/components/PlayerColorChooser.svelte: asignación y elección de colores.
  • src/tokens.css y src/app.css: sistema visual. Consultar docs/design-system.md, docs/typography.md y docs/room-layout.md antes de tocar estilos.
  • tests/parchis-board.test.ts y tests/platform.test.ts: posición de casillas y selección de colores, además de las pruebas existentes.

Verificación y despliegue

La suite contiene 81 pruebas. Ejecutar npm run design:check, npm run check, npm test -- --maxWorkers=1 y npm run build al modificar el proyecto. La revisión visual de este cambio utiliza dos identidades sintéticas y un servidor aislado en 127.0.0.1:4185; sus archivos y capturas están en artifacts/, ignorado por Git. No reiniciar los servidores de otras sesiones de Codex.

El estado del despliegue se registra en deploy/server-status.md. Al cierre de esta sesión quedó activada la versión 20261004-12, con 81 pruebas aprobadas en Linux y respuesta HTTP 200 del endpoint público de salud. Comprobar allí y con readlink /opt/mesa-abierta/current la versión vigente antes de continuar.

  • Proyecto local: G:\dev\svelte\games, rama main.
  • Repositorio: https://g.activething.com/go/Juegoland.git.
  • VM: 192.168.18.155.
  • Servicio único: mesa-game, escucha en 0.0.0.0:3000 para web, API y WebSockets.
  • Dominio vigente: https://juegoland.imaginacion.com/. Usar este dominio en invitaciones; las menciones antiguas a games/juegolang ya no son la dirección vigente.
  • El proxy Nginx existente de la red apunta a http://192.168.18.155:3000. No instalar otro proxy ni Docker Compose en la VM. mesa-web y Nginx de la VM están deshabilitados.
  • PostgreSQL y las credenciales actuales se conservan. No copiar secretos al repositorio ni imprimirlos.
  • SSH por IPv4 con la clave local $env:USERPROFILE\.ssh\senzapaura_deploy. APT y npm deben usar IPv4.
  • Despliegue nativo: deploy/deploy-native.ps1 -Release <identificador nuevo> -Activate. Verifica, hace copia de seguridad, migra y activa la versión; no reutilizar identificadores existentes.

Siguiente sesión: componentes de cartas

El usuario preparará imágenes de la baraja española y de póquer. Todavía no se han recibido ni se han creado estos componentes. Preparar una base reutilizable para carta, reverso, mano, mazo, descarte y bazas/mesa. Separar datos, imágenes, reglas e interacción; cada juego define sus acciones, animaciones y sonidos.

Prever baraja española de 40/48 cartas y póquer de 52 con comodines opcionales. Identificar cartas por palo y valor mediante un manifiesto de recursos. Mantener manos legibles en móvil, selección accesible y acciones legales claras. No sustituir las imágenes que traerá el usuario por otra baraja.

El servidor debe autorizar las acciones y ocultar las manos ajenas. Revisar Platform.view y la proyección game.view(state, seat) antes de implementar estados privados. Esta misma base sirve para dados ocultos y tableros privados de barcos.

Juegos solicitados para incorporar poco a poco

Cartas: brisca, tute de dos jugadores, la 31 y cinquillo. Otras posibilidades mencionadas para valorar después: escoba, chinchón, tute por parejas, pocha y mus.

Otros juegos solicitados:

  • Serpientes y escaleras: el usuario aportará las imágenes del tablero, como hizo con la oca.
  • Guerra de barcos / hundir la flota: tableros privados de cada jugador.
  • El ahorcado.
  • Tres en raya.
  • Conecta cuatro.
  • Mancala: concretar la variante antes de implementar reglas.
  • Shut the Box: concretar dados y puntuación.
  • El mentiroso de dados y otros juegos de dados: concretar variantes y dados ocultos.

No están implementados ni deben presentarse como disponibles en el catálogo. Incorporarlos uno a uno con motor, interfaz, reglas, sonidos, animaciones y validación completos.

Preferencias que hay que respetar

Usar el skill C:\Users\dev\.codex\skills\frontend-design\SKILL.md. Conservar el logo transparente y la identidad de Juegoland, los tokens de tipografía y espaciado y las opciones de tema claro/oscuro. Revisar capturas en escritorio y móvil: tamaños, alineaciones y proporciones son una prioridad expresa del usuario.

Mantener PIN de cuatro cifras, registro opcional, invitaciones con mensaje del anfitrión, avatares editables, notificación de mensajes con el chat cerrado y partidas pendientes. Sonidos y animaciones deben diferenciarse por juego y acción. El popup de entrada debe ser breve; «No acepto» y Escape llevan a https://imaginacion.com/. No volver a añadir páginas legales extensas ni un aviso en lugar del popup.

Este handoff no programa tareas para mañana ni abre otra sesión.

Powered by TurnKey Linux.