Repository navigation
File Index
Pablo Martínez López edited this page Oct 27, 2026
·
23 revisions
English · Español
Where each area of the repository lives and which wiki page documents it. File lists are taken from the source tree; for per-file behaviour follow the page link.
| Path | Responsibility | Page |
|---|---|---|
package.json, pnpm-workspace.yaml
|
Scripts, dependencies, pnpm policy | Development-Setup |
biome.json, knip.json, lint-staged.config.mjs, .husky/
|
Lint, dead-code and commit hooks | Development-Setup, Testing-and-CI |
vite.config.ts, vitest.config.ts, tsconfig*.json
|
Build and test configuration | Frontend-Architecture |
.github/workflows/ci.yml, release.yml
|
CI gates and release pipeline | Testing-and-CI, Releases-and-Auto-Updates |
scripts/ |
idiomas.mjs, sin-title-nativo.mjs, release.mjs, release-notas.mjs, emoji-noto.mjs, icon/back-image helpers, __tests__/ (idiomas.test.mjs, release-notas.test.mjs) |
Testing-and-CI, Releases-and-Auto-Updates, Frontend-Architecture |
README.md, README.es.md, docs/presentacion/
|
User-facing presentation and screenshots | User-Guide |
docs/packs-de-marcos.md |
Original pack-format document | Frame-Packs |
server/ (separate repository proxy-builder-server, ignored) |
The room server: src/ (protocol, identity, playgroups, invitations, rooms, election, HTTP/WebSocket), migraciones/, test/ (with ejemplos/ for the contract), docs/ (protocolo.md, despliegue.md), deploy/ (systemd, nginx, iroh-relay) |
Online-Play |
CLAUDE.md |
Project instructions for the AI assistant | Conventions |
| Path | Responsibility | Page |
|---|---|---|
src-tauri/src/main.rs, src-tauri/src/lib.rs, src-tauri/src/state.rs
|
Startup, command registration, AppState
|
Rust-App-Layer |
src-tauri/src/error.rs, src-tauri/src/jobs.rs, src-tauri/src/registro.rs
|
AppError, long jobs, logging |
IPC-and-Error-Handling, Rust-App-Layer |
src-tauri/src/protocol.rs, src-tauri/src/render.rs
|
pbimg:// protocol, thumbnails and render cache |
Rust-App-Layer, Live-Preview |
src-tauri/src/commands/ (cards, carpetas, decklist, diseno, export, fuentes, identify, layout, library, mesa, sistema, stats, temas, actualizar) |
Tauri commands by area | IPC-and-Error-Handling |
src-tauri/src/store/ (db, decks, blobs, colecciones, etiquetas, listas, partidas, presets, settings, migrations/0001…0006) |
SQLite persistence and blob store | Storage-and-Blobs |
src-tauri/src/package.rs |
.pbdeck import/export (with game lists) |
Deck-Package-Format |
src-tauri/src/biblioteca.rs |
Offline deck details for the library | Deck-Library |
src-tauri/src/scryfall/ (client, rate, cache, models, resolve, busquedas, fichas, fichas_auto, nombres) |
Scryfall client and resolution | Scryfall-Integration |
src-tauri/src/archidekt.rs |
Archidekt deck import | Decklist-Parsing |
src-tauri/src/fuentes/ (mod, cockatrice, mtgio, mtgjson) |
Allow-listed external sources | External-Sources |
src-tauri/src/ocr.rs, src-tauri/src/originales.rs, src-tauri/src/commands/identify.rs
|
OCR and original-name identification | Card-Identification-and-OCR |
src-tauri/src/diseno/ (borrador, recursos, pintar, vista, arte, lote, png, traduccion, portapapeles, original, descargables, letras_libres, idioma, letras_cjk) |
Designer application side (idioma: complete a design language in a deck; letras_cjk: download the Japanese, Korean and Chinese fonts) |
Designer-App-Layer, Frame-Packs |
src-tauri/src/temas.rs |
tweakcn theme install | Themes-and-Skins |
src-tauri/src/actualizar.rs |
In-app updater | Releases-and-Auto-Updates |
src-tauri/src/enlace.rs |
proxybuilder://unirse/<code> invitation links (deep link, single instance) |
Online-Play |
src-tauri/src/mesa/ (sesion, preparar, imagenes, guardada, historial, repeticion, tapete, dados, encuentro, originales, ejemplo) and src-tauri/src/commands/mesa.rs
|
Game table session around the mesa crate, deck and image preparation, saved game, history of finished games, replay, mat, look of the dice, mesa_*, partida* and repeticion_* commands |
Game-Table |
src-tauri/src/red/ (perfil, identidad, nodo, protocolo, codigo, colores, anfitrion, invitado, mirada, imagenes, latencia, sucesion, mesa, pruebas, pruebas_procesos, fixtures/) and src-tauri/src/commands/red.rs
|
Online play: debug profiles, identity, iroh node, game protocol, direct code, host, guest, spectator, images over the network, red_* commands |
Online-Play |
src-tauri/src/red/servidor/ (mensajes, cliente, sala, fixtures/) and src-tauri/src/commands/salas.rs
|
Room-server protocol, WebSocket client, the room in the app (mesh, host, migration), salas_* commands |
Online-Play |
src-tauri/tauri.conf.json, src-tauri/capabilities/, src-tauri/build.rs
|
Tauri configuration | Rust-App-Layer |
src-tauri/assets/ (letras-libres.json, packs-descargables.json, letras-cjk.json, reverso-generico.png) |
Pinned catalogues (free fonts, downloadable packs, Noto Sans JP/KR/SC/TC) and the generic card back | Frame-Packs, Designer-App-Layer |
| Path | Responsibility | Page |
|---|---|---|
src-tauri/crates/proxy-core/src/model.rs |
Deck model and cuentan rule |
Deck-Model |
src-tauri/crates/proxy-core/src/paper.rs, src-tauri/crates/proxy-core/src/units.rs
|
Paper sizes and unit conversions | Layout-Engine |
src-tauri/crates/proxy-core/src/layout/ (plan, grid, arrange) |
PagePlan |
Layout-Engine |
src-tauri/crates/proxy-core/src/imaging/ (frame, bleed, corners, edges, adjust, blur, decode, encode, probe, pipeline, mitades) |
Image processing | Imaging-and-PDF |
src-tauri/crates/proxy-core/src/pdf/ (compose, estimate, calibration) |
PDF generation | Imaging-and-PDF, Export |
src-tauri/crates/proxy-core/src/decklist/ (mod, exportar) |
List parser and exporter | Decklist-Parsing |
src-tauri/crates/proxy-core/src/stats/ (mod, funciones, mana, prob) |
Statistics | Statistics |
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) |
Designer engine (textos_motor: fixed words the engine paints per design language; tipos_idiomas: offline type lines in other languages) |
Designer-Engine, Designer-Composition, Frame-Packs |
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/
|
Built-in pack, Original hash manifest, bundled fonts (Spectral, Montserrat, Caladea, and Noto-COLRv1.ttf with Noto-COLRv1-LICENSE.txt for colour emoji) |
Frame-Packs, Designer-Engine |
src-tauri/crates/proxy-core/tests/ (dorados.rs, layouts.rs, dorados/, comun/, compatibilidad/diseno-2.5.9.json) |
Golden and layout tests, and the saved 2.5.9 design for compatibility tests | Testing-and-CI, Designer-Engine |
| Path | Responsibility | Page |
|---|---|---|
src-tauri/crates/mesa/src/modelo.rs, formato.rs, ids.rs, error.rs
|
The game model (Partida, Carta, zones, players), formats and options, ids, Rechazo
|
Game-Engine |
src-tauri/crates/mesa/src/preparar.rs |
Deck sections for the table and dealing a game (secciones_de_mesa, candidatas_de_lista, iniciar) |
Game-Engine |
src-tauri/crates/mesa/src/lista.rs |
Game lists: ListaDeJuego, CartaDeLista, AvisoLista, Construccion, comprobar
|
Game-Engine, Game-Table |
src-tauri/crates/mesa/src/accion.rs |
The action catalogue (Accion, Cambio, Evento, VERSION_CATALOGO) |
Game-Engine |
src-tauri/crates/mesa/src/azar.rs |
xoshiro256** randomness | Game-Engine |
src-tauri/crates/mesa/src/resolver.rs, aplicar.rs
|
Permissions and randomness; applying events | Game-Engine |
src-tauri/crates/mesa/src/visibilidad.rs, vista.rs
|
Who sees what; views and patches for the screen | Game-Engine |
src-tauri/crates/mesa/src/registro.rs, huella.rs
|
Event log, undo, redo, replay; game fingerprint | Game-Engine |
src-tauri/crates/mesa/src/resumen.rs |
The summary of a game (resumir, ResumenPartida, Puesto): places, rounds and duration counted from the log |
Game-Engine, Game-Table |
src-tauri/crates/mesa/src/muerte.rs, ausencia.rs, encuentro.rs
|
Who is out and why, keeping the hand of an absent player, the best-of scoreboard and the sideboard swap | Game-Engine |
src-tauri/crates/mesa/src/sparring/ (mod, reacciones, amenaza, cartas) and src-tauri/crates/mesa/assets/sparring/cartas.json
|
The sparring phantom: its data, when and how it reacts, threat weights and its 128 cards | Game-Engine |
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) |
Per-action, property, visibility, undo and compatibility tests; fixtures.rs writes the view-and-patches fixture of the screen store test |
Game-Engine, Game-Table, Testing-and-CI |
| Path | Responsibility | Page |
|---|---|---|
main.tsx, App.tsx
|
Entry, providers, window reveal | Frontend-Architecture, Settings-and-Shell |
bindings/ |
Generated TypeScript types (do not edit) | IPC-and-Error-Handling |
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) |
Shared helpers (idiomas: the table of the 15 languages; por-idioma: ByLang beyond es/en; cierre and dialogos-abiertos: what blocks closing the app) |
Frontend-Architecture, IPC-and-Error-Handling |
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) |
Screen state | State-Stores |
components/, components/ui/
|
Shared and base components (including selector-idioma.tsx, emoji.tsx and contenido-contextual.tsx) |
Frontend-Architecture, Settings-and-Shell |
assets/emoji/ |
Noto Color Emoji images for the UI, fuentes.json, LICENSE.md
|
Frontend-Architecture |
i18n/ (<code>/ per language, cargar.ts, traducir.ts, tipos.ts, GLOSARIO.md) |
Interface dictionaries by language and area, lazy loading, translation with plurals, translators' glossary | Internationalization |
themes.css, index.css, fonts.css
|
Theme tokens, global rules, fonts | Themes-and-Skins |
features/decklist/ |
Left panel | Decklist-Panel |
features/variants/ |
Add card, printings, linking | Add-Card-and-Variants, Card-Identification-and-OCR |
features/set-browser/ |
Set browser | Set-Browser |
features/preview/ |
Sheets, slots, menu, drag | Live-Preview |
features/export/ |
Right panel, presets, list export | Export |
features/stats/ |
Statistics dialog | Statistics |
features/library/ (including partidas-deck, the «Partidas» tab of the properties) |
Deck library screen | Deck-Library |
features/card-editor/ |
«Editar carta» | Card-Editor-Dialog |
features/disenar/ |
«Diseñar» view | Designer-UI |
features/mesa/ (listas/ with eleccion and 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) |
The «Jugar» tab: entrance, board, menus, dialogs, shortcuts, side panel with the log and the chat, end summary, replay, sounds | Game-Table |
features/mesa/dados/ (geometria, azar, fisica, escena3d, css3d, plano, piezas, simbolos, cola, capa, aspecto, texturas, sonidos) |
Dice and coins on the table: the solids, the Rapier physics, the three.js scene, the CSS 3D and 2D levels, the roll queue and its layer, the look of the dice (styles and face backgrounds) and their synthesised sound | Game-Table |
features/mesa/sparring/ (boton, reaccion, como-funciona, carta-fantasma, textos) |
The sparring on screen: the bar button and panel, the reaction prompt, the explanation and the texts | Game-Table |
features/mesa/red/ (red-dialog, conexion-red, estado-red, ausentes) |
Online by direct code: the «Jugar en red» dialog and lobby, network notices, player chips and the reconnecting notice on the table | Online-Play |
features/salas/ (salas-dialog, playgroup-panel, sala-espera, conexion-salas) |
«Jugar con amigos»: playgroups, invitations, rooms and the lobby with the room server | Online-Play |
features/settings/ (including mesa.tsx, Settings > «Mesa de juego»), features/shell/ (app-shell, confirmar-cierre, save-indicator, scroll-por-vista, use-deck-inicial, actualizacion-automatica) |
Settings dialog, shell, close guard, updates UI | Settings-and-Shell, Releases-and-Auto-Updates |
features/tutorial/ (pasos.ts, tutorial.tsx) |
Guided tour of each screen, help button target | Tutorials |
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