feat(documentmodus): pagina-einden in de schrijfstand #1506
No reviewers
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck!1506
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/paginaeinden-schrijfstand"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Waarom
De Pagina's-stand laat zien waar de vellen breken, maar tijdens het typen zag je dat niet — en juist dan wil je weten wat er nog op deze bladzijde komt. In de visuele stand lopen nu streepjeslijnen door het schrijfvlak waar het vel vol is, met het nummer van de pagina die daarna begint.
De tekst blijft doorlopen. De schrijfstand echt in vellen knippen zou betekenen dat de doorlopende Quill-editor in stukken gaat, en daarmee sneuvelen typen over een paginagrens, de cursor en het selecteren. De lijn beantwoordt de vraag zonder het schrijven te breken.
Gemeten, niet geschat
De einden komen uit de blokgeometrie van de editor zelf: elk blok levert zijn eigen hoogte en positie, en
documentPageOffsets(uit #1505) bepaalt daaruit de breekpunten. Een alinea die één regel langer wordt schuift het einde meteen mee.Wat de beeldkeuring vond, en wat daarop is hersteld
De app is echt gedraaid. Drie fouten die geen test zag:
size.heighten lieten de ruimte tussen de blokken weg; ze komen nu uit de posities van de blokken.Mijn eigen tests vingen dit niet: ze toetsten of de einden op blokgrenzen vielen volgens dezelfde optelling die zelf fout was. De nieuwe test rekent de telling na tegen de werkelijke positie van elk blok in de editor.
Schrijven in de maten van de pagina
Daarna viel de lijn op een echte blokgrens, maar nog steeds op de verkeerde: het schrijfvlak gebruikte kleinere letters dan de documentweergave, en er paste ruim een kwart te veel op een vel — over drie A4-pagina's een heel vel verschil. Gemeten, niet geschat: dezelfde tekst was in de weergave 1,29x hoger.
Het schrijfvlak neemt nu de typografie van de pagina over (lettergrootte, regelafstand, kopmaten, blokafstanden), alleen in de documentmodus; een notitieveld houdt zijn compacte maten. Die maten staan voortaan op één plek, gedeeld door weergave en schrijfvlak.
Eén verschil bleef over, en ook dat is nagemeten: Quill negeert de witruimte-na-een-alinea die wij meegeven — op honderd beeldpunten gezet veranderde de gerenderde hoogte geen pixel. Die bekende, specifieke term wordt bij het meten opgeteld en niet bij het tekenen, zodat de lijn blijft vallen waar de editor zijn blokken echt neerzet. Kopregels krijgen hun afstand van Quill wél mee en tellen die twaalf punten dus dubbel: hooguit een procent van een A4, en het valt de veilige kant op — de lijn zegt eerder "vol" dan dat hij ruimte belooft die er niet is.
writing_typography_match_test.dartpint de verhouding tussen beide werelden op 1,00. Gaat Quill de afstand ooit wél toepassen, dan valt die test om in plaats van dat de lijnen stil verschuiven.Ook in deze tak (Pagina's-stand)
Bediening
De knop in de werkbalk zet de einden aan en uit. Staan ze aan, dan schrijf je op de tekstbreedte van de pagina — een einde dat op een bredere kolom is uitgerekend valt op papier ergens anders, en dan wijst de lijn nergens naar. Uit betekent: de ingestelde schrijfbreedte geldt weer.
Die knop kostte onderweg nog een echte regressie: hij duwde het ⋮-menu uit de horizontaal schuivende knoppenrij, en dat menu is in documentmodus de enige route naar Instellingen. Een bestaande test sloeg aan; het menu staat nu vast rechts.
Bewaker
Bewust overgeslagen: geen wijziging aan het bestandsformaat (de einden staan nergens in het
.md), geen opslag, geen afhankelijkheid, geen uitgaand verkeer. De belofte in de interface is opzettelijk bescheiden gehouden: de lijn toont waar het vel vol is in wat je schrijft; de Pagina's-stand blijft de exacte.l10n
Twee sleutels (
Pagina-einden tonen/verbergen) in alle 31 talen.Poorten
make checkgroen (9538 tests, dekking 86,9%, per-bestandsvloer 0 onder de vloer, geen golden omgevallen).make check-secretsgroen,make sastgroen (0 findings). DAST niet gedraaid — geen geserveerd oppervlak geraakt.De twee standen van de icoonknop in de werkbalk van de documenteditor — 'Pagina-einden tonen' en 'Pagina-einden verbergen' — in alle 31 talen. Het woord voor 'pagina' volgt per taal de bestaande sleutels ('Pagina', 'Pagina-einde'), en de tooltip beschrijft wat de knop dóét. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>