Repository navigation
Índice de ficheros
Pablo Martínez López edited this page Oct 28, 2026
·
22 revisions
English · Español
Dónde vive cada área del repositorio y qué página de la wiki la documenta. Las listas de ficheros salen del árbol de código fuente; para el comportamiento de cada fichero sigue el enlace de la página.
| Ruta | Responsabilidad | Página |
|---|---|---|
package.json, pnpm-workspace.yaml
|
Scripts, dependencias, política de pnpm | Preparación del entorno de desarrollo |
biome.json, knip.json, lint-staged.config.mjs, .husky/
|
Lint, código muerto y hooks de commit | Preparación del entorno de desarrollo, Tests y CI |
vite.config.ts, vitest.config.ts, tsconfig*.json
|
Configuración de build y de tests | Arquitectura del frontend |
.github/workflows/ci.yml, release.yml
|
Puertas del CI y canalización de releases | Tests y CI, Versiones y actualizaciones automáticas |
scripts/ |
idiomas.mjs, sin-title-nativo.mjs, release.mjs, release-notas.mjs, emoji-noto.mjs, ayudantes de iconos e imágenes de reverso, __tests__/ (idiomas.test.mjs, release-notas.test.mjs) |
Tests y CI, Versiones y actualizaciones automáticas, Arquitectura del frontend |
README.md, README.es.md, docs/presentacion/
|
Presentación para el usuario y capturas | Guía de usuario |
docs/packs-de-marcos.md |
Documento original del formato de packs | Packs de marcos |
server/ (repositorio aparte proxy-builder-server, ignorado) |
El servidor de salas: src/ (protocolo, identidad, playgroups, invitaciones, salas, elección, HTTP/WebSocket), migraciones/, test/ (con ejemplos/ para el contrato), docs/ (protocolo.md, despliegue.md), deploy/ (systemd, nginx, iroh-relay) |
Juego en línea |
CLAUDE.md |
Instrucciones del proyecto para el asistente de IA | Convenciones |
| Ruta | Responsabilidad | Página |
|---|---|---|
src-tauri/src/main.rs, src-tauri/src/lib.rs, src-tauri/src/state.rs
|
Arranque, registro de comandos, AppState
|
Capa de aplicación Rust |
src-tauri/src/error.rs, src-tauri/src/jobs.rs, src-tauri/src/registro.rs
|
AppError, trabajos largos, registro |
IPC y manejo de errores, Capa de aplicación Rust |
src-tauri/src/protocol.rs, src-tauri/src/render.rs
|
Protocolo pbimg://, miniaturas y caché de renderizado |
Capa de aplicación Rust, Vista previa en vivo |
src-tauri/src/commands/ (cards, carpetas, decklist, diseno, export, fuentes, identify, layout, library, mesa, sistema, stats, temas, actualizar) |
Comandos de Tauri por área | IPC y manejo de errores |
src-tauri/src/store/ (db, decks, blobs, colecciones, etiquetas, listas, partidas, presets, settings, migrations/0001…0006) |
Persistencia SQLite y almacén de blobs | Almacenamiento y blobs |
src-tauri/src/package.rs |
Importación/exportación de .pbdeck (con las listas para jugar) |
Formato del paquete de mazo |
src-tauri/src/biblioteca.rs |
Detalles de los mazos sin conexión para la biblioteca | Biblioteca de mazos |
src-tauri/src/scryfall/ (client, rate, cache, models, resolve, busquedas, fichas, fichas_auto, nombres) |
Cliente de Scryfall y resolución | Integración con Scryfall |
src-tauri/src/archidekt.rs |
Importación de mazos de Archidekt | Parseo de la lista del mazo |
src-tauri/src/fuentes/ (mod, cockatrice, mtgio, mtgjson) |
Fuentes externas con lista de permitidos | Fuentes externas |
src-tauri/src/ocr.rs, src-tauri/src/originales.rs, src-tauri/src/commands/identify.rs
|
OCR e identificación del nombre original | Identificación de cartas y OCR |
src-tauri/src/diseno/ (borrador, recursos, pintar, vista, arte, lote, png, traduccion, portapapeles, original, descargables, letras_libres, idioma, letras_cjk) |
Lado de aplicación del diseñador (idioma: completar un idioma de diseño en un deck; letras_cjk: bajar las letras de japonés, coreano y chino) |
Capa de aplicación del diseñador, Packs de marcos |
src-tauri/src/temas.rs |
Instalación de temas de tweakcn | Temas y skins |
src-tauri/src/actualizar.rs |
Actualizador dentro de la app | Versiones y actualizaciones automáticas |
src-tauri/src/enlace.rs |
Enlaces de invitación proxybuilder://unirse/<código> (deep link, instancia única) |
Juego en línea |
src-tauri/src/mesa/ (sesion, preparar, imagenes, guardada, historial, repeticion, tapete, dados, encuentro, originales, ejemplo) y src-tauri/src/commands/mesa.rs
|
La sesión de la mesa de juego alrededor del crate mesa, la preparación de decks e imágenes, la partida guardada, el historial de partidas terminadas, la repetición, el tapete, el aspecto de los dados y los comandos mesa_*, partida* y repeticion_*
|
Mesa de juego |
src-tauri/src/red/ (perfil, identidad, nodo, protocolo, codigo, colores, anfitrion, invitado, mirada, imagenes, latencia, sucesion, vuelta, mesa, pruebas, pruebas_procesos, fixtures/) y src-tauri/src/commands/red.rs
|
Juego en red: perfiles de debug, identidad, nodo de iroh, protocolo de la partida, código directo, host, invitado, espectador, imágenes por la red, comandos red_*
|
Juego en línea |
src-tauri/src/red/servidor/ (mensajes, cliente, sala, fixtures/) y src-tauri/src/commands/salas.rs
|
Protocolo del servidor de salas, cliente WebSocket, la sala en la app (malla, host, migración), comandos salas_*
|
Juego en línea |
src-tauri/tauri.conf.json, src-tauri/capabilities/, src-tauri/build.rs
|
Configuración de Tauri | Capa de aplicación Rust |
src-tauri/assets/ (letras-libres.json, packs-descargables.json, letras-cjk.json, reverso-generico.png) |
Catálogos fijados (letras libres, packs descargables, Noto Sans JP/KR/SC/TC) y el reverso genérico de carta | Packs de marcos, Capa de aplicación del diseñador |
| Ruta | Responsabilidad | Página |
|---|---|---|
src-tauri/crates/proxy-core/src/model.rs |
Modelo del mazo y regla cuentan
|
Modelo del mazo |
src-tauri/crates/proxy-core/src/paper.rs, src-tauri/crates/proxy-core/src/units.rs
|
Tamaños de papel y conversiones de unidades | Motor de maquetación |
src-tauri/crates/proxy-core/src/layout/ (plan, grid, arrange) |
PagePlan |
Motor de maquetación |
src-tauri/crates/proxy-core/src/imaging/ (frame, bleed, corners, edges, adjust, blur, decode, encode, probe, pipeline, mitades) |
Procesado de imagen | Imagen y PDF |
src-tauri/crates/proxy-core/src/pdf/ (compose, estimate, calibration) |
Generación del PDF | Imagen y PDF, Exportación |
src-tauri/crates/proxy-core/src/decklist/ (mod, exportar) |
Parser y exportador de listas | Parseo de la lista del mazo |
src-tauri/crates/proxy-core/src/stats/ (mod, funciones, mana, prob) |
Estadísticas | Estadísticas |
src-tauri/crates/proxy-core/src/diseno/ (modelo, efectivo, pack, texto, pintar, render, componer, maquetacion, estructura, cuerpos, simbolos, letras, emoji, borrador, textos_motor, tipos_idiomas) |
Motor del diseñador (textos_motor: las palabras fijas que pinta el motor en cada idioma de diseño; tipos_idiomas: líneas de tipo sin red en otros idiomas) |
Motor del diseñador, Composición del diseñador, Packs de marcos |
src-tauri/crates/proxy-core/assets/marcos/builtin/, src-tauri/crates/proxy-core/assets/marcos/original/imagenes.json, src-tauri/crates/proxy-core/assets/fuentes/
|
Pack incluido, manifiesto de hashes de Original, letras incluidas (Spectral, Montserrat, Caladea y Noto-COLRv1.ttf con Noto-COLRv1-LICENSE.txt para los emoji en color) |
Packs de marcos, Motor del diseñador |
src-tauri/crates/proxy-core/tests/ (dorados.rs, layouts.rs, dorados/, comun/, compatibilidad/diseno-2.5.9.json) |
Tests dorados y de layouts, y el diseño guardado por la 2.5.9 para los tests de compatibilidad | Tests y CI, Motor del diseñador |
| Ruta | Responsabilidad | Página |
|---|---|---|
src-tauri/crates/mesa/src/modelo.rs, formato.rs, ids.rs, error.rs
|
El modelo de la partida (Partida, Carta, zonas, jugadores), formatos y opciones, ids, Rechazo
|
Motor de la mesa |
src-tauri/crates/mesa/src/preparar.rs |
Secciones del deck para la mesa y el reparto (secciones_de_mesa, candidatas_de_lista, iniciar) |
Motor de la mesa |
src-tauri/crates/mesa/src/lista.rs |
Listas para jugar: ListaDeJuego, CartaDeLista, AvisoLista, Construccion, comprobar
|
Motor de la mesa, Mesa de juego |
src-tauri/crates/mesa/src/accion.rs |
El catálogo de acciones (Accion, Cambio, Evento, VERSION_CATALOGO) |
Motor de la mesa |
src-tauri/crates/mesa/src/azar.rs |
Azar xoshiro256** | Motor de la mesa |
src-tauri/crates/mesa/src/resolver.rs, aplicar.rs
|
Permisos y azar; aplicar eventos | Motor de la mesa |
src-tauri/crates/mesa/src/visibilidad.rs, vista.rs
|
Quién ve qué; vistas y parches para la pantalla | Motor de la mesa |
src-tauri/crates/mesa/src/registro.rs, huella.rs
|
Registro de eventos, deshacer, rehacer, repetición; huella de la partida | Motor de la mesa |
src-tauri/crates/mesa/src/resumen.rs |
El resumen de una partida (resumir, ResumenPartida, Puesto): puestos, rondas y duración contados del registro |
Motor de la mesa, Mesa de juego |
src-tauri/crates/mesa/src/muerte.rs, ausencia.rs, encuentro.rs
|
Quién está fuera y por qué, quedarse con la mano de un ausente, el marcador del «al mejor de» y el cambio con el banquillo | Motor de la mesa |
src-tauri/crates/mesa/src/sparring/ (mod, reacciones, amenaza, cartas) y src-tauri/crates/mesa/assets/sparring/cartas.json
|
El rival fantasma del sparring: sus datos, cuándo y cómo reacciona, el peso de las amenazas y sus 128 cartas | Motor de la mesa |
src-tauri/crates/mesa/tests/ (acciones.rs, propiedad.rs, registro.rs, preparar.rs, catalogo.rs, fixtures.rs, equipos.rs, formatos.rs, turnos.rs, encuentro.rs, muerte.rs, resumen.rs, comun/, catalogo/v1.json) |
Tests por acción, de propiedad, de visibilidad, de deshacer y de compatibilidad; fixtures.rs escribe los datos de vista y parches del test del store de la pantalla |
Motor de la mesa, Mesa de juego, Tests y CI |
| Ruta | Responsabilidad | Página |
|---|---|---|
main.tsx, App.tsx
|
Entrada, proveedores, mostrar la ventana | Arquitectura del frontend, Ajustes y shell |
bindings/ |
Tipos de TypeScript generados (no editar) | IPC y manejo de errores |
lib/ (ipc, errores, trabajos, dialogos, dialogos-abiertos, cierre, image-url, imagen-viva, deck-ops, cartas, idiomas, por-idioma, themes, tema-inicial, temas-instalados, SmoothScroll, utils) |
Ayudantes compartidos (idiomas: la tabla de los 15 idiomas; por-idioma: ByLang más allá de es/en; cierre y dialogos-abiertos: lo que impide cerrar la app) |
Arquitectura del frontend, IPC y manejo de errores |
stores/ (deck-store, plan-store, ui-store, trabajo-store, actualizacion-store, edicion-store, mesa-store, chat-store, repeticion-store, red-store, salas-store; __tests__/fixtures/mesa-parches.json) |
Estado de la pantalla | Stores de estado |
components/, components/ui/
|
Componentes compartidos y base (entre ellos selector-idioma.tsx, emoji.tsx y contenido-contextual.tsx) |
Arquitectura del frontend, Ajustes y shell |
assets/emoji/ |
Imágenes de Noto Color Emoji para la interfaz, fuentes.json, LICENSE.md
|
Arquitectura del frontend |
i18n/ (<código>/ por idioma, cargar.ts, traducir.ts, tipos.ts, GLOSARIO.md) |
Diccionarios de la interfaz por idioma y área, carga perezosa, traducción con plurales, glosario de los traductores | Internacionalización |
themes.css, index.css, fonts.css
|
Tokens de tema, reglas globales, letras | Temas y skins |
features/decklist/ |
Panel izquierdo | Panel de la lista del mazo |
features/variants/ |
Añadir carta, impresiones, vinculación | Añadir carta y variantes, Identificación de cartas y OCR |
features/set-browser/ |
Explorador de sets | Explorador de sets |
features/preview/ |
Hojas, casillas, menú, arrastre | Vista previa en vivo |
features/export/ |
Panel derecho, presets, exportación de la lista | Exportación |
features/stats/ |
Diálogo de estadísticas | Estadísticas |
features/library/ (con partidas-deck, la pestaña «Partidas» de las propiedades) |
Pantalla de la biblioteca de mazos | Biblioteca de mazos |
features/card-editor/ |
«Editar carta» | Diálogo Editar carta |
features/disenar/ |
Vista «Diseñar» | Interfaz del diseñador |
features/mesa/ (listas/ con eleccion y lista-dialog, mesa-screen, entrada, tablero, disposicion, arrastre, carta-mesa, insignias, pt, imagen-carta, vista-grande, mulligan, vida-jugador, ayudas-turno, barra-mesa, partida-local, config-local, ajustes-partida, config-sala, mirar, mesas, selector-disposicion, tablero-mini, lento, equipos, dano-comandante, plano-activo, planes, planar, encuentro, banquillo-dialog, muerte, dano-de-quien, cuentas-muerte, originales, en-vivo/, menus/, dialogos/, acciones, operaciones, atajos, textos-eventos, categorias-eventos, cuentas-registro, registro-panel, chat, cuentas-chat, reaccion-eventos, fin-partida, cuentas-fin, historial-general, cuentas-historial, repeticion, cuentas-repeticion, sonidos, audio, conexion, pantalla, fps, tapete-dialog, colores, flip) |
La pestaña «Jugar»: entrada, tablero, menús, diálogos, atajos, panel lateral con el registro y el chat, resumen del final, repetición y sonidos | Mesa de juego |
features/mesa/dados/ (geometria, azar, fisica, escena3d, css3d, plano, piezas, simbolos, cola, capa, aspecto, texturas, sonidos) |
Dados y monedas en la mesa: los sólidos, la física de Rapier, la escena de three.js, los niveles CSS 3D y 2D, la cola de tiradas y su capa, el aspecto de los dados (estilos y fondos de las caras) y su sonido sintetizado | Mesa de juego |
features/mesa/sparring/ (boton, reaccion, como-funciona, carta-fantasma, textos) |
El sparring en pantalla: el botón y el panel de la barra, la reacción, la explicación y los textos | Mesa de juego |
features/mesa/red/ (red-dialog, conexion-red, estado-red, ausentes, volver-red) |
Red por código directo: el diálogo «Jugar en red» y su sala, los avisos de la red, los jugadores y el aviso de reconexión en la mesa | Juego en línea |
features/salas/ (salas-dialog, playgroup-panel, sala-espera, conexion-salas) |
«Jugar con amigos»: playgroups, invitaciones, salas y la sala de espera con el servidor | Juego en línea |
features/settings/ (con mesa.tsx, Ajustes > «Mesa de juego»), features/shell/ (app-shell, confirmar-cierre, save-indicator, scroll-por-vista, use-deck-inicial, actualizacion-automatica) |
Diálogo de Ajustes, shell, guarda de cierre, interfaz de actualizaciones | Ajustes y shell, Versiones y actualizaciones automáticas |
features/tutorial/ (pasos.ts, tutorial.tsx) |
Recorrido guiado de cada pantalla, lo que abre el botón de ayuda | Tutoriales |
Use and build · Uso y desarrollo
- User-Guide · Guía de usuario
- Development-Setup · Preparación del entorno de desarrollo
- Testing-and-CI · Tests y CI
- Releases-and-Auto-Updates · Versiones y actualizaciones automáticas
- Conventions · Convenciones
Architecture · Arquitectura
- Architecture · Arquitectura
- IPC-and-Error-Handling · IPC y manejo de errores
- Rust-App-Layer · Capa de aplicación Rust
Data · Datos
- Deck-Model · Modelo del mazo
- Storage-and-Blobs · Almacenamiento y blobs
- Deck-Package-Format · Formato del paquete de mazo
- Deck-Library · Biblioteca de mazos
Getting cards · Conseguir cartas
- Decklist-Parsing · Parseo de la lista del mazo
- Scryfall-Integration · Integración con Scryfall
- External-Sources · Fuentes externas
- Card-Identification-and-OCR · Identificación de cartas y OCR
Layout, images, PDF · Maquetación, imagen y PDF
- Layout-Engine · Motor de maquetación
- Imaging-and-PDF · Imagen y PDF
- Export · Exportación
- Live-Preview · Vista previa en vivo
- Statistics · Estadísticas
Card designer · Diseñador de cartas
- Designer-Overview · Visión general del diseñador
- Designer-Engine · Motor del diseñador
- Designer-Composition · Composición del diseñador
- Frame-Packs · Packs de marcos
- Designer-App-Layer · Capa de aplicación del diseñador
- Designer-UI · Interfaz del diseñador
- Card-Editor-Dialog · Diálogo Editar carta
Game table · Mesa de juego
Frontend · Frontend
- Frontend-Architecture · Arquitectura del frontend
- State-Stores · Stores de estado
- Internationalization · Internacionalización
- Themes-and-Skins · Temas y skins
- Settings-and-Shell · Ajustes y shell
- Tutorials · Tutoriales
- Decklist-Panel · Panel de la lista del mazo
- Add-Card-and-Variants · Añadir carta y variantes
- Set-Browser · Explorador de sets
Reference · Referencia