fix(cockpit): kompas-uitleesregels binnen de wijzerplaat (#1110) #1143

Closed
brenno wants to merge 0 commits from fix/compass-readouts-1110 into main
Owner

Closes #1110

De drie uitleesregels (ACT/TGT/marker) van het kompas-instrument liepen buiten de wijzerplaat: links botsten ze op de kompasroos, rechts staken langere/gelokaliseerde regels voorbij de bezel het buurinstrument in. Ze werden op een vaste x-fractie gecentreerd geschilderd, zonder breedtegrens.

Wat er verandert

De plaatsing volgt nu de vorm van het instrument, per visuele stijl:

  • Klassiek (rechthoekige kaart): een rechts uitgelijnde kolom naast de roos, in breedte begrensd tot de vrije ruimte ernaast.
  • Authentiek (een ronde bezel vult de cel, dus er is geen vrije kolom ernaast): een uitleesvenster laag op de wijzerplaat, binnen de face-cirkel, dat de roos-streepjes eronder afdekt.

In beide gevallen ellipst een te lange (gelokaliseerde) markerregel binnen de plaat i.p.v. eroverheen te vallen. Dezelfde fout zat in de HTML/SVG-export (marp_html_service_cockpit.dart) — daar nu ook rechts uitgelijnd en begrensd, met de authentieke bezel ontweken.

Toetsing

  • Geometrie-regressietest per stijl (cockpit_heading_readouts_test.dart): containment binnen de face resp. de kolom, over vier celverhoudingen en de breedste (Duitse) string. Mutatie-getoetst: rood tegen de oude center-anchored plaatsing (alle authentieke cases), groen na de fix.
  • Export-regressietest in de 3-koloms indeling (marp_html_service_test.dart).
  • make check groen (8207 tests, 87,4% dekking); static-gate lokaal groen na rebase op #1142 (klasse-/bestandsgrootte binnen de verlaagde plafonds).
  • Visueel gekeurd in beide stijlen over drie instrumentmaten (enkel groot, medium, 6-meter raster) met een echte macOS-render — ACT/TGT/marker vallen binnen de plaat, lange markers ellipsen, geen overlap met roos, bezel of buurinstrument.
  • check-secrets (gitleaks/trufflehog: 0 geverifieerd/ongeverifieerd) en SAST (semgrep, lokale regels) groen.

Bewaker

Overgeslagen — deze wijziging raakt niet het bestandsformaat, de opslag, een afhankelijkheid, uitgaand verkeer of een publieke belofte. Het is een rendering-plaatsingsfix; de cockpit-JSON en de export-inhoud blijven ongewijzigd.

🤖 Generated with Claude Code

Closes #1110 De drie uitleesregels (ACT/TGT/marker) van het kompas-instrument liepen buiten de wijzerplaat: links botsten ze op de kompasroos, rechts staken langere/gelokaliseerde regels voorbij de bezel het buurinstrument in. Ze werden op een vaste x-fractie *gecentreerd* geschilderd, zonder breedtegrens. ## Wat er verandert De plaatsing volgt nu de vorm van het instrument, per visuele stijl: - **Klassiek** (rechthoekige kaart): een rechts uitgelijnde kolom naast de roos, in breedte begrensd tot de vrije ruimte ernaast. - **Authentiek** (een ronde bezel vult de cel, dus er is geen vrije kolom ernaast): een uitleesvenster laag op de wijzerplaat, binnen de face-cirkel, dat de roos-streepjes eronder afdekt. In beide gevallen ellipst een te lange (gelokaliseerde) markerregel binnen de plaat i.p.v. eroverheen te vallen. Dezelfde fout zat in de HTML/SVG-export (`marp_html_service_cockpit.dart`) — daar nu ook rechts uitgelijnd en begrensd, met de authentieke bezel ontweken. ## Toetsing - **Geometrie-regressietest per stijl** (`cockpit_heading_readouts_test.dart`): containment binnen de face resp. de kolom, over vier celverhoudingen en de breedste (Duitse) string. Mutatie-getoetst: rood tegen de oude center-anchored plaatsing (alle authentieke cases), groen na de fix. - **Export-regressietest** in de 3-koloms indeling (`marp_html_service_test.dart`). - **`make check` groen** (8207 tests, 87,4% dekking); static-gate lokaal groen na rebase op #1142 (klasse-/bestandsgrootte binnen de verlaagde plafonds). - **Visueel gekeurd** in beide stijlen over drie instrumentmaten (enkel groot, medium, 6-meter raster) met een echte macOS-render — ACT/TGT/marker vallen binnen de plaat, lange markers ellipsen, geen overlap met roos, bezel of buurinstrument. - **check-secrets** (gitleaks/trufflehog: 0 geverifieerd/ongeverifieerd) en **SAST** (semgrep, lokale regels) groen. ## Bewaker Overgeslagen — deze wijziging raakt niet het bestandsformaat, de opslag, een afhankelijkheid, uitgaand verkeer of een publieke belofte. Het is een rendering-plaatsingsfix; de cockpit-JSON en de export-inhoud blijven ongewijzigd. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
De ACT/TGT/marker-regels van het kompas-instrument werden op een vaste
x-fractie gecentreerd geschilderd zonder breedtegrens, en liepen zo links
op de kompasroos en rechts voorbij de bezel het buurinstrument in (#1110).

Plaatsing volgt nu de vorm van het instrument, per visuele stijl:
- klassiek: een rechts uitgelijnde kolom naast de roos, binnen de kaart;
- authentiek: een uitleesvenster laag op de plaat, binnen de face-cirkel
  (een ronde bezel vult de cel, dus er is geen vrije kolom ernaast).
In beide gevallen begrenst maxWidth de regelbreedte, zodat een lange
gelokaliseerde markerregel met een ellipsis binnen de plaat blijft.

Getoetst met een pure geometrietest per stijl (containment binnen de face
resp. de kolom, breedste string) en visueel in beide stijlen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Dezelfde fout zat in de SVG-export (marp_html_service_cockpit.dart): de
readouts stonden center-anchored zonder breedtegrens en liepen ongeclipt
over het buurinstrument. Nu rechts uitgelijnd tegen een binnenmarge, met de
authentieke bezel ontweken, en een te lange markerregel afgekapt met een
ellipsis (conservatieve glyphbreedte-schatting; de export kan tekst niet
meten). CHANGELOG en SOURCE_MAP bijgewerkt.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
refactor(cockpit): houd cockpit_preview.dart onder de bestandsgrens
Some checks failed
scans / scans (pull_request) Successful in 6m23s
static-gate / static-gate (pull_request) Successful in 47m47s
linux-gate / gate-linux (push) Has been cancelled
c892dfa4ec
De uitleesregel-herwerking duwde cockpit_preview.dart over de 1000-regel-
ratchet. De stijlgebonden keuzes (tekstuitlijning en de drie lettergroottes)
verhuizen naar CockpitHeadingReadouts in de support-part, waar ze bij de rest
van de plaatsingsgeometrie horen; de tekenkant leidt alleen het privé-_Anchor
nog af uit anchorRight.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Author
Owner

Rechtstreeks op main gezet als fast-forward (c892dfa4) omdat de CI-runner overbelast was en static-gate ~30 min in de wachtrij stond. Alle lokale poorten waren groen: make check (8207 tests), static-gate, registraties, secrets, SAST. Sluit #1110.

Rechtstreeks op main gezet als fast-forward (c892dfa4) omdat de CI-runner overbelast was en static-gate ~30 min in de wachtrij stond. Alle lokale poorten waren groen: make check (8207 tests), static-gate, registraties, secrets, SAST. Sluit #1110.
brenno closed this pull request 2026-08-02 23:10:08 +00:00
Some checks failed
scans / scans (pull_request) Successful in 6m23s
static-gate / static-gate (pull_request) Successful in 47m47s
linux-gate / gate-linux (push) Has been cancelled

Pull request closed

Sign in to join this conversation.
No description provided.