Skip to content

File Index

Pablo Martínez López edited this page Nov 4, 2026 · 27 revisions

File Index

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.

Repository root

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, iconos.mjs (writes src/lib/iconos/incluidos.ts, pnpm iconos), icon/back-image helpers, android-env.sh (the Android environment, to be sourced), i18n-anadir.py (adds strings to the 15 dictionaries without clashes), sin-hover-solo.mjs (pnpm check:tactil), __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

Rust: src-tauri/ (application crate)

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, fichero, fuentes, iconos, identify, layout, library, mesa, pasar, sistema, stats, temas, actualizar) Tauri commands by area IPC-and-Error-Handling
src-tauri/src/store/ (db, decks, blobs, colecciones, etiquetas, listas, partidas, linaje, presets, settings, migrations/0001…0009) 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/iconos.rs, src-tauri/src/commands/iconos.rs Iconify client for the icon picker: catalogue, search, icon data, chosen icons kept offline, SVG sanitising Icons
src-tauri/src/actualizar.rs In-app updater (desktop installers and the Android APK, feature actualizar-local for tests) Releases-and-Auto-Updates
src-tauri/src/tls.rs The TLS of each platform; the only place that builds an HTTP client or verifier Rust-App-Layer
src-tauri/src/ciclo.rs Android lifecycle: save when the app goes to the background, reconnect when it comes back Rust-App-Layer, Mobile
src-tauri/src/android.rs and src-tauri/plugins/android-extra/ (src/lib.rs, src/movil.rs, android/ with the Kotlin AndroidExtraPlugin, permissions/) The contract with the own Android plugin: share, install an APK, screen on and full screen, multicast lock, name of a content://, files opened from outside. Only Rust calls it Rust-App-Layer, Mobile
src-tauri/src/fichero.rs, src-tauri/src/abrir.rs, src-tauri/src/commands/fichero.rs Chosen files as paths or content://, ZIPs, sharing; a .pbdeck opened from another app IPC-and-Error-Handling, Export, Mobile
src-tauri/src/pasar/ (mod, encontrar, recibir, enviar, imagenes, protocolo, tipos, pruebas), src-tauri/src/commands/pasar.rs, src-tauri/src/store/linaje.rs and src-tauri/crates/proxy-core/src/compartir.rs Moving decks between devices over the shared iroh node: nearby devices, codes and QR, the offer, the transfer, deck lineage and "without proxies" decks Deck-Sharing
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, vuelta, 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/tauri.android.conf.json, src-tauri/capabilities/ (default, escritorio, movil), src-tauri/build.rs Tauri configuration (the Android file is a merge patch) Rust-App-Layer
src-tauri/gen/android/ The Android (Gradle) project, versioned: manifest with the proxybuilder:// and .pbdeck intent filters, FileProvider paths, app/build.gradle.kts with the release signing; the signing key and keystore.properties are never in the repository Mobile, Releases-and-Auto-Updates
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

Rust: src-tauri/crates/proxy-core/ (pure engine)

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

Rust: src-tauri/crates/mesa/ (game table 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

Frontend: src/

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, use-ocupado, iconos/incluidos (generated), SmoothScroll, utils) Shared helpers (use-ocupado: busy state of slow buttons; 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, iconos-store; __tests__/fixtures/mesa-parches.json) Screen state State-Stores
lib/ mobile helpers: formato, plataforma, atras, ciclo-de-vida, teclado, escaner, pulsacion-larga, nombre-deck and use-nombre-deck (the factory deck name shown in the current language) Format (desktop, tablet, phone) and touch, "is this a phone?", the Android Back button, saving when the app goes to the background, the on-screen keyboard, the only entry to the QR scanner plugin, long press Mobile, Frontend-Architecture
components/ touch pieces: barra-superior, hoja-menu, hoja, dialogo-adaptable, ayuda-tactil, ayuda-al-tocar, con-ayuda, lista-secciones, etiquetas-tactiles, pulsacion-larga, manija-redimensionar The phone's top bar and menu sheet (BarraSuperior, HojaMenu and its rows), sheets, dialogs that go full screen on a phone, tooltips that open on tap, sectioned lists, names of icon buttons on long press, resize handles Mobile, Frontend-Architecture
features/pasar/ Send and receive decks: the dialog, nearby devices, code and QR, the offer, the image catch-up Deck-Sharing
components/, components/ui/ Shared and base components (including selector-idioma.tsx, emoji.tsx, icono.tsx, selector-icono.tsx, contenido-contextual.tsx and estado-carga.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, plurales-es.json, cargar.ts, traducir.ts, tipos.ts, GLOSARIO.md) Interface dictionaries by language and area, the Spanish plural forms, 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, precarga, vista-grande, vida-fantasma, marcas-jugador, notas, notas-mesa, objetivo, 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, entrada-movil, lectura-movil, movil/ with the seats bar, controls, full-screen hand and life screen) 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, volver-red) 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», and almacenamiento.tsx, Settings > «Almacenamiento»), features/shell/ (app-shell, confirmar-cierre, save-indicator, scroll-por-vista, use-deck-inicial, actualizacion-automatica, and for phones barra-movil, atras-shell, mesa-completa) 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

See also

Documentation · Documentación

Language: English · Español

Use and build · Uso y desarrollo

Architecture · Arquitectura

Data · Datos

Getting cards · Conseguir cartas

Layout, images, PDF · Maquetación, imagen y PDF

Card designer · Diseñador de cartas

Game table · Mesa de juego

Mobile · Móvil

Frontend · Frontend

Reference · Referencia

Clone this wiki locally