Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions changelog.d/laufform-harvest-loop-repair.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
### Added

- **The stranded-anchor repair can be told where the loops are, and it ships
loop-blind.** The repair asks whether one anchor is a lone excursion and
answers it from step lengths alone — but inside a tight counter that same
description fits the apex the loop is MADE of, and chording the apex to its
neighbours (which lie on the loop's two strands) draws the chord straight
through the hole. `tools/pairlab/anchors.py` gains `LOOP_AWARE_REPAIR` and a
`loop_ranges` argument that names the anchor ranges over which the CHART row
closes a loop (`core.aggregate.loop_ranges`, occurrence-independent — reading
them per occurrence would make the repair depend on the excursion it is
judging); with the switch on, a flagged anchor inside such a range is left
alone. The module still imports nothing project-side: the caller passes the
ranges. Measured on the `sep05` root: of 235 accepted occurrences 20 are
repaired, 12 of them carry a measurable counter, and all four whose repair
lands inside a loop lose aperture (median 0.0410 xh, worst 0.1068) while the
eight outside move it by at most 0.0021.
`tools/laufform/harvest.py` wires it to the OCCURRENCE repair only
(the trace repair works on assembled word strokes, which carry no anchor
ranges) and exposes it as `--loop-aware-repair`, memoising one loop-range
computation per glyph key and skipping it entirely while the switch is off.
Default off, so every stored occurrence stays reproducible.

### Changed

- **The harvest is measured, and it is not where the counters go.** LF13 read
the step from Kette fit to stored occurrence as a loss of 0.016–0.057 xh of
aperture and named it the campaign's next lever. Read on ONE chart-anchored
range at both ends — instead of a raster loop matched to a plate counter at
one end and the range at the other — the step is −0.0002 to +0.0077 xh over
the five counter-carrying keys, 40 of 44 occurrences move by less than
0.01 xh, and of the other four exactly one LOSES ground. The two rulers agree
occurrence by occurrence (0.0000 median
difference at both ends), so the earlier number was a loop-identification
difference, not a movement: 21 of 39 joined occurrences agree to 0.0011 xh and
18 disagree by a median of 0.067, in words where a neighbour's loop falls
inside the 0.45 xh matching window. The one real step inside the harvest is
the stranded-anchor repair, above.
3 changes: 2 additions & 1 deletion docs/proposals/tintenfolger.md

Large diffs are not rendered by default.

23 changes: 22 additions & 1 deletion docs/reference/glossar.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ Die Ziffer nennt den Themenblock unten: **§1** Schrift & Paläografie ·
- **P** — Paar-Aggregat §2 · Paar-Editor §5 · paariger Blindvergleich §4 · pair_loss §4 · Passmarken §5 · Pfeilhöhe (Sagitta) §3 · Plateau-Anker §4 · Platzierungsschranke §3 · Postkarte (Federprobe) §7 · Prerender-Pfad (Crawler) §2 · Prior-Landerichtung §2 · Priming §6 · Produktions-Init (`connector_init`) §4 · Provenance §2 · Provenienz-Stempel §4 · Prüfstein §4
- **Q** — Quelle §2
- **R** — R1–R5 §5 · Radierer §5 · Rastersuchlauf §3 · Ratsche (Ratschen-Budget) §3 · Re-Baseline §4 · Rechteck-Reparatur §5 · Referenzsatz (nachgefahren) §4 · Registrierung §2 · Regel-Fix vor Override §5 · Render-Kontext §2 · Report-Only-Woche §2 · Report-Spalte §4 · reproduced §5 · Reservierungs-Veto §4 (→ Lineal-Soll-Budget) · Residualprofil §4 · resolution §5 · Restart-Klasse (`CAP_RESTART_BASES`) §2 · Retrace §1 · Retrace-Guard §3 · Retrace-Segment §4 · Rettungsweg §5 · Route G §4 · Rückgabe an Autor §5 · Rückhaltemenge §4
- **S** — Same-Hand-Disziplin §4 · Säulenabgang (`stem_depart`) §2 · Schienen-Auslauf §3 · Schräglage §1 · Schreib-Karte §2 · Schreibtafel §7 · Schriftgrößen-Leiter §7 · Schriftkunde (Seite) §7 · Schleifenbereich §2 · Schleifen-Registrierung §2 · Schnittband §5 · Schnittmarken §5 · Schwellzug §1 · Score §4 · Segment-Attribution §4 · Sehnen-Schwelle §3 · Sektion §2 · Shaping §2 · Sieb-Disziplin (→ Siebung) §5 · Siebung §5 · Sigma-Lognormal §6 · Skelett §3 · Slant-Spalte §4 · Slot §2 · Specimen §2 · Spike-Verhältnis §4 · Spitzfeder §1 · Spline-Basis-Median §2 · Sprung-Gate (Laufform) §2 · `stage` (work_items) §5 · Stamm-Rückpass §2 · Stand-Block §5 · Status-Vokabular §5 · Stehendes Setup §5 · Streifen (Eigenhand) §5 · Streifenkartei §5 · Streifenplan §5 · Stiftmarke §5 · St-Ligatur §1 · Stub §3 · Stufen-Doktrin §5 · Style §2 · Sütterlin §1
- **S** — Same-Hand-Disziplin §4 · Säulenabgang (`stem_depart`) §2 · Schienen-Auslauf §3 · Schräglage §1 · Schreib-Karte §2 · Schreibtafel §7 · Schriftgrößen-Leiter §7 · Schriftkunde (Seite) §7 · Schleifenbereich §2 · Schleifen-Registrierung §2 · Schleifen-Sehne §4 · Schnittband §5 · Schnittmarken §5 · Schwellzug §1 · Score §4 · Segment-Attribution §4 · Sehnen-Schwelle §3 · Sektion §2 · Shaping §2 · Sieb-Disziplin (→ Siebung) §5 · Siebung §5 · Sigma-Lognormal §6 · Skelett §3 · Slant-Spalte §4 · Slot §2 · Specimen §2 · Spike-Verhältnis §4 · Spitzfeder §1 · Spline-Basis-Median §2 · Sprung-Gate (Laufform) §2 · `stage` (work_items) §5 · Stamm-Rückpass §2 · Stand-Block §5 · Status-Vokabular §5 · Stehendes Setup §5 · Streifen (Eigenhand) §5 · Streifenkartei §5 · Streifenplan §5 · Stiftmarke §5 · St-Ligatur §1 · Stub §3 · Stufen-Doktrin §5 · Style §2 · Sütterlin §1
- **T** — Tafel §2 · tail_adapt/head_adapt §3 · tail_stub_delta §3 · Template §2 · Tikhonov-Regularisierung §3 · Tintenabstand §4 · Tintenboden §7 · Tinten-Evidenz-Maske §3 · Tintenfolger §3 · Tintenlücke §3 · Tinten-Zuweisung per Strecke §3 · Topologie-Reparatur §3 · Topologie-Wächter §3 · tracebench §4 · Trajektorien-Recovery §6 · Trefferfläche (`hitArea`) §5 · Triage-Pflicht §5 · Typo-Boden §5
- **U** — Umbruch der Federprobe §7 · Unantastbare Lineatur §7 · Unvollständige Wortprobe §5
- **Ü** — Übergang §2 · Übergangs-Generator §2 · Übergangsraum §5 · Überlappungsterm §3 · Übungsblatt §7 · understanding §5
Expand Down Expand Up @@ -1711,6 +1711,27 @@ unreparierte Geometrie. Vier Fit-Terme dagegen (Biegeenergie, Scharnier,
Eckanker-Stützung, **Nachbarbindung**) wurden gemessen und **verworfen**.
→ qualitaetsmetrik.md §7, §8, §11d, §11e

**Schleifen-Sehne** *(`LOOP_AWARE_REPAIR`, `tools/pairlab/anchors.py`)* —
die benannte Kehrseite der Reparatur des **Ankers im leeren Papier**: wo
der Duktus eine **Binnenfläche** schreibt, passt die Beschreibung des
Detektors („ein Anker, dessen beide Schritte dreimal so lang sind wie der
Median-Schritt seines Strichs") auch auf die *Spitze der Schleife* — die
Anker biegen dort über kurze Bogenlänge stark ab. Die Reparatur ersetzt
die Spitze dann durch die **Sehne** zwischen ihren Nachbarn, und weil
diese Nachbarn auf den beiden Strängen der Schleife liegen, zieht die
Sehne quer durchs Loch: die Binnenfläche schließt. Gemessen am
`sep05`-Bestand: von 235 angenommenen Vorkommen werden 20 repariert, 12
davon tragen eine messbare Binnenfläche — und die VIER, deren Reparatur
innerhalb eines Schleifenbereichs landet, verlieren alle vier
Öffnungsweite (Median 0,0410 xh, schlimmstenfalls 0,1068 beim `g` in
„Sprünge"), während die acht außerhalb um höchstens 0,0021 bewegen.
Gegenmittel ist der Schalter `LOOP_AWARE_REPAIR` (Default AUS):
ein markierter Anker innerhalb eines Schleifenbereichs der CHART-Zeile
(`core.aggregate.loop_ranges`) bleibt stehen. Der Preis ist benannt und
gewollt eng — ein echter Ausflug, der zufällig in einer Binnenfläche
landet, überlebt jetzt ins Vorkommen.
→ messjournal.md §14 „Laufform LF14 `sep06`"

**Spike-Verhältnis** *(`anchor_spike_ratio`, Gate `anchor_spike`)* — die
Kennzahl hinter dem **Anker im leeren Papier**: größter Schritt zwischen
benachbarten Ankern, gemessen am Median-Schritt **seines eigenen
Expand Down
Loading
Loading