fix(extract): carriageway[].klasse als irreführendes Feld entfernt

Befund 6, Controller-Entscheidung: carriageway_area() vereinigt das ganze
Straßennetz zu wenigen Zusammenhangskomponenten, und _classified() gab
jeder Komponente die Klasse ihrer breitesten enthaltenen Straße - am
echten Netz trugen dadurch 91,2 % der Fahrbahnfläche "boulevard", auch wo
tatsächlich eine Wohnstraße lag. Kein Verbraucher las das Feld (Browser
und Minimap färben die Fahrbahn einheitlich); die Klasse je Straße steht
weiterhin in edges.

_classified() samt Aufruf aus run.py entfernt, chunk_payload() nimmt
carriageway jetzt als reine Liste von Polygonen statt (poly, klasse)-
Tupeln entgegen, Sortierschlüssel entsprechend auf poly allein verkürzt.
Fixtures in test_emit.py, test_overview.py, tests/geometry.test.js und
tests/streaming.test.js sowie das Chunk-Format im Entwurf nachgezogen;
tests/props.test.js bleibt unverändert, weil dort edges betroffen sind,
nicht carriageway.
This commit is contained in:
knso committed 2026-09-18 06:54:01 +02:00
1 parent a397892847
commit 77d53fb170
7 files changed
+23 -37

No files matched your search

+2 -2
View File
@@ -91,7 +91,7 @@ describe("geometry", () => {
chunk: [0, 0], origin: [0, 0],
land: [PLOT],
surfaces: [{ poly: PLOT, kind: "sand" }, { poly: PLOT, kind: "park" }],
carriageway: [{ poly: PLOT, klasse: "wohnstrasse" }],
carriageway: [{ poly: PLOT }],
bridges: [{ poly: PLOT }],
palms: [],
buildings: [{ poly: PLOT, height: 12, source: "district", speculative: false }],
@@ -254,7 +254,7 @@ describe("Straßen aus Teil 2", () => {
it("legt die Fahrbahn 15 cm unter den Boden", () => {
const geo = buildChunkGeometry(chunk({
carriageway: [{ poly: FAHRBAHN, klasse: "wohnstrasse" }],
carriageway: [{ poly: FAHRBAHN }],
})).carriageway;
// toBeCloseTo, nicht toEqual: Die Positionen liegen als Float32 vor, und -0,15 ist dort
// -0,15000000596.