@ -472,6 +472,10 @@ ya cargado.
3. **Cada página consulta la base.** A cambio, cambiar una letra deja de exigir
un despliegue.
Los tres ya son ciertos. Los `.md` de `src/content` siguen en el repo porque son
de donde salió el volcado y con lo que se reconstruye la base, pero **editarlos
no cambia nada en pantalla**. `$lib/content` solo lo usan los scripts.
## Fases
1. ~~**Este documento.** Sin código.~~ **Hecha.**
@ -487,32 +491,28 @@ ya cargado.
vieja, después se borra. Las de dinero —compra, pedido_item, descarga—
**restringen** el borrado; las demás caen con la canción. Las guardas nuevas
se comprueban en `npm run db:guardas` .
4. **Las 22 rutas, de archivos a consultas.** Área por área, con las pruebas
existentes de guía. ← estamos aquí.
- **Taller** : hecho.
- **Textos legales** : hecho. El texto es la versión en vigor, con su fecha.
- **Catálogo** : el módulo de servidor está escrito y **verificado**
—`npm run db:comparar` pone las dieciocho canciones, los cuatro discos y
los cuatro estilos lado a lado con los archivos, campo a campo, y salen
idénticos—. Las consultas viven en `$lib/catalogo/consultas` , sin saber de
dónde salen los datos, y las comparten las dos fuentes.
Falta cambiar las rutas. Lo que lo hace delicado no son las rutas sino el
**cliente** : hoy el catálogo viaja en el paquete de JavaScript, y las
tarjetas, el carrito, la cuenta y el reproductor lo consultan por su
cuenta —`obtenerAlbum`, `portadaDeCancion` , `obtenerEstilo` —. O baja por
`page.data` desde el layout, o esos componentes reciben por props lo que
hoy buscan solos. Es la decisión pendiente, y toca la compra: conviene no
hacerla a medias.
- **Blog y páginas sueltas** : dependen del catálogo —una entrada enlaza los
temas de los que habla y `/bio` cuenta la obra publicada—, así que van
detrás.
4. ~~**Las 22 rutas, de archivos a consultas.**~~ **Hecha.** Ningún archivo de
`src/routes` importa ya de `$lib/content` .
Lo que la bloqueaba no eran las rutas sino el cliente: el catálogo viajaba
en el paquete de JavaScript y las tarjetas, el carrito, la cuenta y el
reproductor lo consultaban por su cuenta. Baja por `page.data` desde el
layout —veintiún kilobytes, medidos— y `$lib/catalogo/cliente.svelte` lo ata
a las mismas consultas que usa el servidor. Ya no viaja en el paquete.
La red fue `npm run db:comparar` , que pone el catálogo de la base y el de
los archivos lado a lado campo a campo. En su primera pasada encontró que
**ningún medio estaba enlazado** —las canciones tenían `audio_id` y
`portada_id` a nulo, así que la web habría dejado de reproducir—, que las
etiquetas volvían alfabéticas en vez de en su orden, y que faltaban columnas
para la nota de cada versión, el país de edición y el texto de estilos y
discos. `npm run db:completar` ata esos cabos y es idempotente.
5. **Lo nuevo:** géneros por país, glosario con globos, introducción larga del
taller. Parcialmente hecho: países, instrumentación, letristas, obras,
linaje y ejemplos de versos ya están en la ficha. Falta el glosario.
taller. ← estamos aquí. Hechos los países, la instrumentación, los
letristas, las obras, el linaje y los ejemplos de versos. **Falta el
glosario**: `termino` , `acepcion` y `capitulo_acepcion` están en el esquema
y vacíos, y el marcado automático del texto no existe todavía.
6. **La administración.**
## Decisiones tomadas por defecto