test(world): ersetzte Grundrisse und feste Materialien je Ort strenger prüfen
Behebt Befunde 2-6 aus dem Abschluss-Review: der replaces-Test prüft jetzt zusätzlich jede Ecke des getroffenen Grundrisses gegen die Außenmaße plus REPLACED_OVERHANG (5 m), der Verteilungstest vergleicht als Mengen und bekommt eine Gegenrichtung je Datei, BUMP_BY_PLACE erzwingt eine Zeile je Ort statt sie mit "?? []" zu verdecken, ein Gebäude an einer Chunkgrenze bekommt einen Test über zwei Chunks samt JSDoc-Hinweis, und der Rückwand-Messwert in der Spec nennt Kapselmitte, Wandfläche und Radius einzeln. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
14fd9cefde
commit
237a4ed389
5 files changed
+59
-12
No files matched your search
@@ -54,6 +54,23 @@ describe("withoutReplacedBuildings", () => {
|
||||
expect(withoutReplacedBuildings(chunk, [])).toBe(chunk);
|
||||
expect(withoutReplacedBuildings(chunk, [[1405, 1255]])).toBe(chunk);
|
||||
});
|
||||
|
||||
// Bruch: eine Zuordnung des Punkts per chunkForWorld ordnete ihn nur chunk_9_5 zu (i = 9) und ließe die
|
||||
// ungeschnittene Kopie desselben Grundrisses in chunk_10_5 stehen — genau das Gebäude, das der Ort ersetzt.
|
||||
it("lässt denselben, ungeschnittenen Grundriss in beiden berührten Chunks weg", () => {
|
||||
const chunkA = {
|
||||
chunk: [9, 5], origin: [1250, -1250], land: [], surfaces: [], roads: [],
|
||||
buildings: [{ poly: square(245, 190), height: 18.6 }], // Welt x 1495–1505, y 1050–1060
|
||||
};
|
||||
const chunkB = {
|
||||
chunk: [10, 5], origin: [1500, -1250], land: [], surfaces: [], roads: [],
|
||||
buildings: [{ poly: square(-5, 190), height: 18.6 }], // dieselbe Welt-Fläche, andere u
|
||||
};
|
||||
const points = [[1498, 1055]];
|
||||
|
||||
expect(withoutReplacedBuildings(chunkA, points).buildings).toEqual([]);
|
||||
expect(withoutReplacedBuildings(chunkB, points).buildings).toEqual([]);
|
||||
});
|
||||
});
|
||||
|
||||
// Gemeinsame Vorrichtung für beide ChunkStreamer-describe-Blöcke unten (mit und ohne PropLayer).
|
||||
|
||||
Reference in new issue
Block a user