VSA → SVG en Coria
Dit werktraject maakt uit een canonieke .vsa in de oefenhoek-bibliotheek
een SVG-plaatje op de site en een Coria-bestand {stam}.vsa.mxl.
Representatie-id: vsa.
Waartoe
Eenstemmige notatie (antifoon, communievers, tropaar-regels, …) moet op de bibliotheekpagina als plaatje verschijnen en via Oefenen in Coria afspeelbaar zijn — zonder een volledige MuseScore-basispartituur.
Eindresultaat en criteria
| Output | Rol |
|---|---|
{stam}.vsa in de bladermap | Canonieke bron (YAML: do, mode, tempo) |
static\vsa\bladermap\…\*.svg | Plaatje voor de site (geen Pyphen-streepjes tenzij jij die in de bron zet) |
{stam}.vsa.mxl naast de .vsa | Coria; stamp vsa-source-sha256 van de canonieke .vsa |
Klaar als: vsa validate stil is; SVG zichtbaar via shortcode bieb;
check_vsa_products (onder check --strict) is groen.
Waarom geen lettergreepstreepjes in de canonieke .vsa? Orthografische
- (Pyphen) helpt Coria (één kwartnoot per lettergreep), maar hoort niet
op het gepubliceerde SVG. vsa-products syllabify’t alleen in een
tijdelijk bestand tijdens export en schrijft die tekst niet terug naar
{stam}.vsa. Een experimentele sidecar {stam}.syl.vsa is geen bron
voor SVG of vsa-products.
Wanneer wel / wanneer niet
| Wel | Niet |
|---|---|
| Eenstemmige tekst op bekende melodie | Vierstemmig blad → Basispartituur |
Bibliotheek-uitvoeringsvorm met .vsa | VSA alleen op een demo-/handleidingpagina → Ingebedde VSA |
| Printvel met handmatige PDF → Print-vel | |
Map met artefacten_handmatig: true (pipeline slaat auto-producten over) |
Volgorde (bestanden)
- Schrijf of herstel
{stam}.vsa. HOW: .vsa schrijven . - Neem op in de bibliotheek indien nodig:
Opnemen
(
bieb-accepteer). - Coria-
.vsa.mxl:
scripts\vsa-products.cmd content-source\praktijk\oefenhoek\bibliotheek\5-eniggeboren-zoon
- SVG voor bibliotheek-
.vsa(zonder sibling basispartituur-.mscz):
scripts\oefenhoek-index.cmd --svg
Lokale check / build / serve doen deze SVG-stap ook.
5. Site: Site-build
.
Bibliotheek-Oefenen gebruikt de sibling {stam}.vsa.mxl in de
bladermap — niet per se static\vsa\mxl\ (dat is de embed-keten).
Automatisch (CI)
- Wel:
vsa build-markdownensync_oefenhoek_index.py --svgbouwen SVG’s;check_vsa_products.pycontroleert of{stam}.vsa.mxlbij de canonieke.vsapast. - Niet: stilzwijgend een verouderde
.vsa.mxlherschrijven zonder commit. Ontbrekende of stale Coria-bestanden laten de strenge check falen — vernieuw lokaal metvsa-productsen commit{stam}.vsa.mxlmee.
Lokaal vernieuwt _pipeline.cmd stale VSA-producten via
sync_vsa_products.py.
Handmatig
| Situatie | Commando | Man-page |
|---|---|---|
Coria-.vsa.mxl | scripts\vsa-products.cmd [map] | vsa-products |
| SVG bladermap | scripts\oefenhoek-index.cmd --svg | oefenhoek-index |
| Alles vóór commit | scripts\check.cmd --strict | check |
Zie ook
- Optioneel tropaar toon 4: Template SATB
- Contract:
scripts\oefenhoek-product-contract.mdinVSA-demo