Files
gta6/public/data/vice-a/chunk_5_10.json
T
knsoandClaude Sonnet 5 ce90ea1d5f feat(extract): Chunk-Ausgabe, Manifest und Ablaufsteuerung
Task 6: leonida/emit.py (chunk_box, split_by_chunk, chunk_payload und die
Chunk-lokalen three.js-Koordinaten, write_chunks, write_debug_png) sowie
run.py als Ablaufsteuerung, die alles aus den Tasks 3-5 zu 144 Chunk-Dateien
und einem Manifest unter public/data/vice-a/ zusammenfuehrt.

Zwei Abweichungen vom Referenzcode der Aufgabe, beide durch Gegenrechnen
gegen die dort genannten Realwerte gefunden:

- test_emit.py::test_coordinates_are_chunk_local_three_js gab im Original
  das ungeschnittene BIG (spannt vier Chunks) direkt an chunk_payload();
  chunk_payload() clippt selbst nicht (das tut in run.py split_by_chunk_all
  vorher), darum lag der Rand bei x=300 statt <=250 und der Test schlug mit
  dem gegebenen Code fehl. Fix: BIG vor dem Aufruf mit split_by_chunk auf
  Chunk (0,0) zuschneiden, wie es run.py fuer "land" ohnehin tut.

- run.pys Filter "Gebaeude, die zu >50% in einem Strassenpolygon liegen,
  gelten als Strasse" pruefte im Original ALLE rohen Gebaeude gegen
  road_polygons(labels) direkt. road_polygons() zaehlt "spekulativ" selbst
  zu den Strassenklassen (ROAD_CLASSES) und schliesst zusaetzlich mit
  disk(3) gegen Strassennamen; ein isoliertes "spekulativ"-Gebaeude
  ueberlappt sich darueber praktisch mit sich selbst. Ergebnis am realen
  Mosaik: von 267 rohen spekulativen Gebaeuden ueberlebten nur 3 (statt der
  in der Aufgabe genannten Groessenordnung von 258), und die Schliessung
  riss zusaetzlich 211 gewoehnliche graue Gebaeude mit heraus, die die
  Notiz aus Task 5 ausdruecklich nicht meinte ("die ROTEN Flaechen ...
  werden abgezogen"). Fix: eigenes, unzweideutiges Strassenmass nur aus
  "strasse"/"weg" (ohne "spekulativ", ohne Namens-Schliessung), Pruefung
  nur auf spekulative Kandidaten begrenzt. Ergebnis: 2.348 Gebaeude, davon
  263 spekulativ (Aufgabe: 2.352 bzw. 258) - Wahrzeichenhoehen (68 Stueck,
  31-248 m) und Palmenzahl (2.133) treffen die genannten Referenzwerte exakt.

Pipeline-Lauf am gecachten Mosaik: 144 Chunk-Dateien + Manifest, 2,5 MB
gesamt (Budget 10 MB), groesste Datei chunk_9_1.json/chunk_10_1.json mit
je 40 KB. Alle drei Toleranzgrenzen (wasser/strasse/gebaeude) eingehalten.
Debug-PNGs stichprobenartig gesichtet: Kuestenlinie, Strassennetz
(inklusive Kreuzungen und einer Auffahrt-Rampe) und ein Strand mit
Palmenreihe liegen deckungsgleich auf dem Mosaik; der wasserreine Chunk
(4,10) zeigt korrekt keine Vektoren.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-12 16:53:18 +02:00

1 line
3.9 KiB
JSON

{"chunk":[5,10],"origin":[250,0],"land":[[[243.0,144.5],[240.5,147.0],[241.5,149.0],[237.0,151.5],[232.5,147.0],[232.5,144.0],[229.5,139.0],[229.5,126.0],[231.5,122.0],[239.0,114.5],[242.0,117.5],[245.5,115.0],[243.5,110.0],[241.0,107.5],[235.0,107.5],[228.0,115.5],[223.0,115.5],[219.0,111.5],[209.0,116.5],[200.0,115.5],[192.5,108.0],[193.5,107.0],[190.5,102.0],[190.5,91.0],[192.5,86.0],[201.0,78.5],[211.0,77.5],[217.5,82.0],[221.5,88.0],[221.5,91.0],[217.0,93.5],[208.0,85.5],[204.0,86.5],[201.5,89.0],[200.5,93.0],[201.5,105.0],[204.0,107.5],[209.0,107.5],[214.0,102.5],[219.0,101.5],[223.0,105.5],[225.5,103.0],[231.5,82.0],[236.0,77.5],[240.0,77.5],[248.5,93.0],[250.0,97.75],[250.0,144.5],[243.0,144.5]],[[249.5,84.0],[249.5,80.0],[250.0,79.5],[250.0,84.5],[249.5,84.0]]],"surfaces":[],"roads":[{"poly":[[245.0,144.5],[242.5,146.0],[240.0,151.5],[237.0,151.5],[232.5,147.0],[230.5,143.0],[229.5,139.0],[230.5,129.0],[229.5,126.0],[232.5,120.0],[238.0,114.5],[241.0,115.5],[243.5,114.0],[244.5,112.0],[243.5,110.0],[240.0,107.5],[238.0,108.5],[235.0,107.5],[231.5,110.0],[229.0,115.5],[221.0,115.5],[218.0,112.5],[209.0,116.5],[200.0,115.5],[192.5,108.0],[193.5,107.0],[190.5,102.0],[190.5,91.0],[193.5,84.0],[198.0,81.5],[200.0,78.5],[211.0,77.5],[216.0,79.5],[221.5,88.0],[221.5,91.0],[219.0,93.5],[212.0,91.5],[210.5,88.0],[207.0,85.5],[202.5,88.0],[200.5,93.0],[200.5,102.0],[202.5,106.0],[208.0,107.5],[214.0,102.5],[217.0,101.5],[223.0,102.5],[225.5,101.0],[231.5,82.0],[236.0,77.5],[240.0,77.5],[243.5,83.0],[246.0,84.5],[248.5,83.0],[250.0,79.7],[250.0,85.61],[249.0,85.5],[245.5,89.0],[248.5,93.0],[249.5,99.0],[250.0,100.12],[250.0,144.5],[245.0,144.5]],"bridge":true}],"centerlines":[[[265.0,131.0],[246.0,131.0]],[[245.0,130.0],[245.0,125.0],[249.0,119.0],[249.0,112.0],[245.0,103.0],[239.0,99.0]],[[225.0,108.0],[237.0,99.0]],[[240.0,90.0],[254.0,82.0],[264.0,83.0]],[[245.0,131.0],[238.0,136.0],[239.0,148.0]],[[224.0,108.0],[202.0,111.0],[197.0,106.0],[195.0,96.0],[199.0,85.0],[203.0,82.0],[210.0,82.0],[216.0,88.0]]],"buildings":[{"poly":[[210.0,114.5],[203.0,114.5],[202.0,113.5],[199.0,113.5],[198.5,112.0],[195.5,109.0],[195.5,108.0],[192.5,106.0],[193.5,104.0],[192.5,102.0],[192.5,92.0],[193.5,91.0],[193.5,88.0],[198.0,81.5],[204.0,78.5],[205.0,79.5],[213.0,79.5],[215.0,80.5],[219.5,85.0],[219.5,91.0],[218.0,92.5],[215.0,92.5],[213.5,91.0],[213.5,88.0],[211.0,85.5],[207.0,85.5],[206.0,84.5],[202.0,85.5],[200.5,87.0],[200.5,89.0],[199.5,90.0],[199.5,93.0],[198.5,94.0],[199.5,96.0],[199.5,104.0],[202.0,107.5],[203.0,107.5],[205.0,109.5],[209.0,109.5],[212.5,107.0],[214.0,102.5],[217.0,102.5],[219.5,104.0],[218.5,110.0],[214.0,113.5],[211.0,113.5],[210.0,114.5]],"height":6.6,"source":"district","speculative":true},{"poly":[[251.0,114.5],[246.5,113.0],[245.5,109.0],[244.0,106.5],[232.0,106.5],[230.5,108.0],[229.5,112.0],[228.0,114.5],[225.0,114.5],[222.5,113.0],[223.5,109.0],[224.5,108.0],[224.5,106.0],[225.5,105.0],[225.5,101.0],[227.5,99.0],[229.5,95.0],[231.5,87.0],[234.5,81.0],[236.0,79.5],[240.5,80.0],[242.5,84.0],[243.5,89.0],[246.5,93.0],[245.5,94.0],[248.5,98.0],[248.5,101.0],[251.5,107.0],[251.5,111.0],[253.5,112.0],[253.5,113.0],[251.0,114.5]],"height":8.9,"source":"district","speculative":true},{"poly":[[238.0,149.5],[232.5,144.0],[231.5,136.0],[230.5,135.0],[230.5,133.0],[231.5,132.0],[230.5,131.0],[230.5,129.0],[231.5,128.0],[231.5,126.0],[234.5,121.0],[235.0,118.5],[239.5,119.0],[238.5,122.0],[237.0,122.5],[235.5,125.0],[236.5,126.0],[235.5,128.0],[235.5,139.0],[236.5,140.0],[236.5,143.0],[239.5,147.0],[239.5,148.0],[238.0,149.5]],"height":8.6,"source":"district","speculative":true},{"poly":[[245.0,143.5],[242.5,142.0],[243.5,141.0],[241.5,137.0],[241.5,128.0],[242.5,127.0],[242.5,121.0],[245.0,118.5],[246.0,119.5],[255.0,119.5],[257.5,121.0],[257.5,123.0],[259.5,127.0],[257.5,129.0],[257.5,132.0],[258.5,133.0],[259.5,138.0],[255.0,142.5],[246.0,142.5],[245.0,143.5]],"height":7.4,"source":"district","speculative":true}],"palms":[]}