Breng het transcriptdocument in Markdown: marker, bewerking en naad (#2511) #2552

Merged
brenno merged 1 commit from feat/transcriptie-03-markdown into main 2026-10-22 23:57:51 +00:00
Owner

Samenvatting

  • <!-- transcript version=1 … -->-marker volgens contract §3.1: detectie (detectTranscript) met eerlijke melding bij bijna-markers, misplaatsing, duplicaten, onveilige audiopaden en onbekende versies — rauwe regels blijven zichtbaar (§14.14).
  • transcript_document.dart: schrijver (marker + kop + provenance als gewone tekst + --- + body), body-span, en planTranscriptUpdate — stil toepassen bij ongemoeide tekst, zichtbare vergelijking zodra de auteur hem aanraakte, 8-MiB-begrenzing.
  • transcript_audio_probe*: conditional façade; io lost via resolveContainedRealPath op, stub antwoordt "niet te verifiëren" zodat web nooit vals-alarm toont.
  • Visuele editor + lezer: x-embed-transcript als atomair blok (byte-getrouw), bijna-marker blijft bronfragment; meldingstrook bij kapotte marker of verdwenen audio (herstelbaar); vergelijkingsdialoog voor de definitieve pass via transcriptApplyRequestProvider.
  • Docs: FILE_FORMAT.md §14.16 (+nl), SOURCE_MAP-bijdragen, 15 nieuwe strings × 30 talen via tool/transcript_l10n_spec.json.

Testplan

  • make check volledig groen (format, analyse, conventies, dekking, golden)
  • 75 transcript-tests: marker-grammatica, round-trips, bijna-markers, apply-flows, notice, audio-probe incl. stub
  • make check-secrets en make sast schoon
  • Beeldkeuring: leesweergave, meldingstrook en vergelijkingsdialoog in licht én donker bekeken (contrastfix meegenomen)

Closes #2511

## Samenvatting - `<!-- transcript version=1 … -->`-marker volgens contract §3.1: detectie (`detectTranscript`) met eerlijke melding bij bijna-markers, misplaatsing, duplicaten, onveilige audiopaden en onbekende versies — rauwe regels blijven zichtbaar (§14.14). - `transcript_document.dart`: schrijver (marker + kop + provenance als gewone tekst + `---` + body), body-span, en `planTranscriptUpdate` — stil toepassen bij ongemoeide tekst, zichtbare vergelijking zodra de auteur hem aanraakte, 8-MiB-begrenzing. - `transcript_audio_probe*`: conditional façade; io lost via `resolveContainedRealPath` op, stub antwoordt "niet te verifiëren" zodat web nooit vals-alarm toont. - Visuele editor + lezer: `x-embed-transcript` als atomair blok (byte-getrouw), bijna-marker blijft bronfragment; meldingstrook bij kapotte marker of verdwenen audio (herstelbaar); vergelijkingsdialoog voor de definitieve pass via `transcriptApplyRequestProvider`. - Docs: FILE_FORMAT.md §14.16 (+nl), SOURCE_MAP-bijdragen, 15 nieuwe strings × 30 talen via `tool/transcript_l10n_spec.json`. #### Testplan - [x] `make check` volledig groen (format, analyse, conventies, dekking, golden) - [x] 75 transcript-tests: marker-grammatica, round-trips, bijna-markers, apply-flows, notice, audio-probe incl. stub - [x] `make check-secrets` en `make sast` schoon - [x] Beeldkeuring: leesweergave, meldingstrook en vergelijkingsdialoog in licht én donker bekeken (contrastfix meegenomen) Closes #2511
De `<!-- transcript version=1 … -->`-marker zoals het contract (§3.1)
voorschrijft: één HTML-commentaar op de eerste regel van de body,
hooguit één keer, met `audio="media/…"` als enige machineleesbare
attribuut onder de bestaande containment-guard. Detectie is eerlijk:
wat er bijna als een marker uitziet wordt gemeld en blijft zichtbaar
rauwe bron (§14.14), nooit stil geïnterpreteerd; een versie die we niet
kennen idem.

Het document is verder gewone tekst — kop, bronlink, opnamemoment,
duur, engine en taal schrijft de maker eenmalig als provenance, en dat
blok is daarna van de auteur. Alleen de tekst onder de
`---`-scheiding is vervangbaar: planTranscriptUpdate laat een
definitieve pass stil toe als de tekst ongemoeid is, en eist de
zichtbare vergelijking zodra iemand hem aanraakte — twijfel vernietigt
geen tekst. De keuze reist via transcriptApplyRequestProvider naar de
editor, waar TranscriptDocumentExtras de meldingstrook (kapotte
marker, verdwenen audio — herstelbaar, nooit vernietigend) en de
vergelijkingsdialoog bedient.

In de visuele editor en lezer is de marker atomair en subtiel:
x-embed-transcript reist byte-getrouw mee, de bijna-marker blijft
bronfragment. De `.md`-export houdt marker en provenance als bron;
de audiolink reist als verwijzing, nooit als bytes.

FILE_FORMAT.md krijgt §14.16 (met nl-variant), SOURCE_MAP de nieuwe
plekken, en de vertaling staat in alle 30 talen.

Signed-off-by: Brenno de Winter <brennodewinter@users.noreply.github.com>
brenno merged commit cb508af74c into main 2026-10-22 23:57:51 +00:00
Sign in to join this conversation.
No description provided.