Skip to content

File Index

Pablo Martínez López edited this page Nov 10, 2026 · 35 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, auditoria.yml CI gates, release pipeline and weekly dependency audit 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), icono.py (finishes the app icon after pnpm tauri icon: Android adaptive foreground and background, removes icons/ios/), reverso.py (generic card back), android-env.sh (the Android environment, to be sourced), i18n-anadir.py (adds strings to the 15 dictionaries without clashes), sello-letras.py (makes the CJK font subsets of the card stamp with fontTools; re-run when a ja/ko/zhs/zht stamp text changes), 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
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/ (buscar, 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, amigos, presets, settings, migrations/0001…0010) 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/optimizar.rs Optimizing deck images in place (and the dialog src/features/library/liberar-dialog.tsx) Storage-and-Blobs
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 Incoming tapete:// and proxybuilder:// links (unirse/<code>, amigo/<code>; ESQUEMAS the ones accepted; deep link, single instance) and the shareable web links (enlace_invitacion, enlace_amigo) 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/amigos/ (firma, cifrado, cliente, sincronizar, avisar, pruebas_servidor, vectores/), src-tauri/src/store/amigos.rs and src-tauri/src/commands/amigos.rs Friends and messages with the Tapete server: signed requests, the derived encryption key, encrypted messages, the sync loop, notifications, amigos_* commands; vectores/ must match the server's copy Friends-and-Messages
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/windows/hooks.nsh NSIS installer hooks: NSIS_HOOK_PREINSTALL silently uninstalls an old "Proxy Builder" install before Tapete goes in Releases-and-Auto-Updates
src-tauri/icons/ (icono.svg, icono-frente.svg, the PNG/ICO/ICNS made by tauri icon) The app icon: SVG sources (whole icon and Android adaptive foreground) and the generated sizes Development-Setup
src-tauri/gen/android/ The Android (Gradle) project, versioned: manifest with the proxybuilder://, tapete:// 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, compactar, decode, encode, probe, pipeline, mitades) Image processing Imaging-and-PDF
src-tauri/crates/proxy-core/src/pdf/ (compose, estimate, calibration, sello) PDF generation (sello: the card stamp as vector text and the sheet-margin line) Imaging-and-PDF, Export, The-Card-Stamp
src-tauri/crates/proxy-core/src/sello.rs The Tapete card stamp: texts, fonts, glyph layout (linea), box (caja), placement (SITIOS, colocar, colocaciones), painting (pintar), language (idioma_de_carta) The-Card-Stamp
src-tauri/crates/proxy-core/assets/sello/ (textos.json, sello-ja.ttf, sello-ko.ttf, sello-zhs.ttf, sello-zht.ttf, Noto-CJK-LICENSE.txt) Stamp texts in the 15 languages (card and sheet line) and the Noto CJK subsets at weight 600 The-Card-Stamp
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
src-tauri/crates/proxy-core/examples/icono.rs Renders icono.svg and icono-frente.svg to 1024 px PNG with resvg for pnpm tauri icon Development-Setup

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, amigos-store, iconos-store, busqueda-store, originales-store, vivo-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, logo.tsx (the app logo in the header, brand colours independent of the theme), selector-icono.tsx, contenido-contextual.tsx and estado-carga.tsx) Frontend-Architecture, Settings-and-Shell
components/emoji/ (boton-emoji, selector-emoji, idioma, insertar) The chats' emoji button: popover or phone sheet, the lazily loaded EmojiMart picker with the app's colours, its language, inserting at the cursor Game-Table
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/buscar/, stores/busqueda-store.ts The Search screen and the card details Card-Search
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/ruleta/ (cuentas, estado, ruleta) and features/mesa/turno The wheel that shows who goes first, and the turn cues on the table: bar chip, notice and board ring 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, eleccion-en-sala, codigo, cuentas-conexion) 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/amigos/ (amigos-dialog, consentimiento, lista, conversacion, seguridad, boton-amigos, enlaces, visto) «Amigos»: consent, my code and QR, add (with camera scan on mobile), requests, conversations with invitations, safety number and reports, leaving; enlaces handles incoming tapete:// links Friends-and-Messages
features/settings/ (including mesa.tsx, Settings > «Mesa de juego», and almacenamiento.tsx, Settings > «Almacenamiento»), features/shell/ (app-shell, confirmar-cierre, controles-ventana, 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