De visuele documenteditor toont een grafiek als broncode #2751

Open
opened 2026-11-02 23:43:46 +00:00 by brenno · 0 comments
Owner

Wat je wilt bereiken

Een ```chart-blok is in de visuele editor een grafiek, net als in de lezer, de paginawergave, de PDF en de HTML. De bron blijft de fence. Een schermlezer hoort de gegevens, niet een naamloze afbeelding.

Wat er nu mist

lib/widgets/reader/document_markdown_view.dart tekent een ```chart met inline cijfers. lib/widgets/markdown_editor/mermaid_embed_builder.dart doet dat voor mermaid in de visuele editor. Een chart-embed bestaat niet: in Visueel blijft het een codeblok. Cijfers aanpassen gaat via Bron, of via het invoegpalet dat de fence wel terugschrijft (document_editor_inserts.dart). Een blok met alleen source: en zonder inline cijfers hoort bron te blijven. De lezer doet dat al, omdat de JSON ernaast niet in het blok zit. docs/KNOWN_LIMITATIONS.md beschrijft deze grens.

Bestandsformaat

Geen wijziging. De fence blijft de drager. data/*.json blijft ernaast.

Oplossingsrichting

Aanbeveling: bouwen, op het mermaid-embed.

De fence-tekst is de lading. De tekening komt uit de bestaande SVG-laag. Dubbelklik opent de bestaande grafiekeditor en schrijft de fence terug zonder haar om te zetten. Mislukt de parse, dan het codeblok, met de bron zichtbaar. Een source:-blok zonder inline cijfers blijft het codeblok, met één zin dat de cijfers in het JSON-bestand ernaast staan. Niet ophalen, niet inlinen. Het semantische label van chart_preview.dart komt op het embed, met de tekening zelf uit de boom.

Niet: de fence herschrijven naar een tabel. Niet: de externe JSON in het markdown trekken.

Afweging

  • Gebruik: één weergave minder die de bron toont terwijl alle andere de grafiek tekenen.
  • Toegankelijkheid: het label dat de grafiekdia al heeft, ook hier.
  • Stabiliteit: dezelfde terugval als mermaid.
  • Soevereiniteit: cijfers blijven in het bestand of in de sidecar. Niets wordt opgehaald.
  • Privacy en informatiebeveiliging: geen nieuw kanaal. Een grafiek met persoonsgegevens blijft onder dezelfde scan vallen, omdat de bron niet verandert.
## Wat je wilt bereiken Een ```chart-blok is in de visuele editor een grafiek, net als in de lezer, de paginawergave, de PDF en de HTML. De bron blijft de fence. Een schermlezer hoort de gegevens, niet een naamloze afbeelding. ## Wat er nu mist `lib/widgets/reader/document_markdown_view.dart` tekent een ```chart met inline cijfers. `lib/widgets/markdown_editor/mermaid_embed_builder.dart` doet dat voor mermaid in de visuele editor. Een chart-embed bestaat niet: in Visueel blijft het een codeblok. Cijfers aanpassen gaat via Bron, of via het invoegpalet dat de fence wel terugschrijft (`document_editor_inserts.dart`). Een blok met alleen `source:` en zonder inline cijfers hoort bron te blijven. De lezer doet dat al, omdat de JSON ernaast niet in het blok zit. `docs/KNOWN_LIMITATIONS.md` beschrijft deze grens. ## Bestandsformaat Geen wijziging. De fence blijft de drager. `data/*.json` blijft ernaast. ## Oplossingsrichting Aanbeveling: bouwen, op het mermaid-embed. De fence-tekst is de lading. De tekening komt uit de bestaande SVG-laag. Dubbelklik opent de bestaande grafiekeditor en schrijft de fence terug zonder haar om te zetten. Mislukt de parse, dan het codeblok, met de bron zichtbaar. Een `source:`-blok zonder inline cijfers blijft het codeblok, met één zin dat de cijfers in het JSON-bestand ernaast staan. Niet ophalen, niet inlinen. Het semantische label van `chart_preview.dart` komt op het embed, met de tekening zelf uit de boom. Niet: de fence herschrijven naar een tabel. Niet: de externe JSON in het markdown trekken. ## Afweging - Gebruik: één weergave minder die de bron toont terwijl alle andere de grafiek tekenen. - Toegankelijkheid: het label dat de grafiekdia al heeft, ook hier. - Stabiliteit: dezelfde terugval als mermaid. - Soevereiniteit: cijfers blijven in het bestand of in de sidecar. Niets wordt opgehaald. - Privacy en informatiebeveiliging: geen nieuw kanaal. Een grafiek met persoonsgegevens blijft onder dezelfde scan vallen, omdat de bron niet verandert.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
LibreKAT/Ocideck#2751
No description provided.