Paginastand bouwt het hele document per vel opnieuw op #2725

Open
opened 2026-11-02 22:20:30 +00:00 by brenno · 0 comments
Owner

Wat er mis is

In paginastand staat de interface stil zodra een rapport tientallen bladzijden heeft. Elk vel zet het volledige document in de widgetboom. Bij 40 vellen is dat veertig volledige layouts, en een-en-veertig zolang de meetboom door afbeeldingen blijft staan. Vijf mermaid-diagrammen gaan dan tot 200 keer de ene WebView-wachtrij in: de cache deelt alleen een al afgeronde SVG, niet een render die nog loopt.

Bewijs

  • lib/widgets/reader/paged_document_view.dart rond regel 687: het commentaar zegt zelf dat elk vel het volledige document opbouwt.
  • Elk diagram vraagt in lib/widgets/reader/doc_mermaid_view.dart meteen een render. lib/services/mermaid_render_service.dart slaat alleen een afgeronde sleutel over.
  • docs/PERFORMANCE_GUIDE.md noemt één gedeelde WebView en geen paginaweergave.

Voorstel

Alleen het zichtbare vel monteren, naast de ene meetboom. Renders die nog lopen op brontekst samenvoegen, zodat N widgets één toekomst delen. De gids het paginapad en die samenvoeging laten noemen.

Geen nieuwe afhankelijkheid. Het bestandsformaat verandert niet.

## Wat er mis is In paginastand staat de interface stil zodra een rapport tientallen bladzijden heeft. Elk vel zet het volledige document in de widgetboom. Bij 40 vellen is dat veertig volledige layouts, en een-en-veertig zolang de meetboom door afbeeldingen blijft staan. Vijf mermaid-diagrammen gaan dan tot 200 keer de ene WebView-wachtrij in: de cache deelt alleen een al afgeronde SVG, niet een render die nog loopt. ## Bewijs - `lib/widgets/reader/paged_document_view.dart` rond regel 687: het commentaar zegt zelf dat elk vel het volledige document opbouwt. - Elk diagram vraagt in `lib/widgets/reader/doc_mermaid_view.dart` meteen een render. `lib/services/mermaid_render_service.dart` slaat alleen een afgeronde sleutel over. - `docs/PERFORMANCE_GUIDE.md` noemt één gedeelde WebView en geen paginaweergave. ## Voorstel Alleen het zichtbare vel monteren, naast de ene meetboom. Renders die nog lopen op brontekst samenvoegen, zodat N widgets één toekomst delen. De gids het paginapad en die samenvoeging laten noemen. Geen nieuwe afhankelijkheid. Het bestandsformaat verandert niet.
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#2725
No description provided.