Commit Graph
32 Commits
Author SHA1 Message Date
knsoandClaude Opus 5 70730d9362 docs: Entwurf Animations-Testseite mit Waffen-Dummies
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-17 19:54:37 +02:00
knsoandClaude Opus 5 3c74202b5e fix(extract): Chunk-Ausgabe lauf-stabil, Eckenprüfung in beide Richtungen
emit.py normalisiert jede ausgegebene Fläche und sortiert die Listen nach der
Ausgabestruktur selbst. unary_union() in apply_street() gab das kartenweite
Straßenpolygon mit anderem Ringstartpunkt und an anderer Listenstelle zurück und
änderte damit 88 Chunkdateien, in denen sich geometrisch nichts bewegt hatte
(symmetrische Differenz 0,00 m²). Belagsarten und Mittellinien behalten ihre
Reihenfolge: overview.py malt die Beläge in Listenreihenfolge übereinander, und
vergeLampPoints() hängt an Reihenfolge und Laufrichtung der Mittellinien —
Sortieren verschöbe dort 1.848 von 3.921 Laternen auf die andere Straßenseite.

check_corners() misst gegen den Straßenrand statt gegen die Straßenfläche. Alle
vier Ecken liegen in der Fahrbahn, ihr Flächenabstand ist 0,000 m; die alte
Prüfung schlug deshalb nur an, wenn eine Straße sich zurückzieht. Eine nach
innen verbreiterte Straße hätte apply_park() still auf das veraltete Viereck
zurückgeschnitten.

Die Parkwege werden am Parkviereck abgeschnitten — die runden Kappen von
LineString.buffer() lagen mit 95,96 m² darüber hinaus, rund 41 m² davon sichtbar
als Betonzungen auf den umgebenden Belägen. load_elements() prüft den OSM-Abzug
so streng wie die Parkdatei, mit Dateiname statt nacktem KeyError.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 13:43:01 +02:00
knsoandClaude Opus 5 a3504df43d docs: Messwerte der Browserprüfung im Entwurf festhalten
Draw Calls, Dreiecke und Bildzeit für Draufsicht, Weg und Feld, der Anteil
der neuen Schichten daran, der Zustand der Konsole und die abgestimmte
Rasenfarbe.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 13:05:24 +02:00
knsoandClaude Sonnet 5 a7271d2331 feat(world): Flamingo Park nach OpenStreetMap und Jefferson Avenue im Spiel
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-16 09:15:30 +02:00
knsoandClaude Opus 5 c6241db90f docs: Umsetzungsplan für Flamingo Park, Spec beim Planen geschärft
Beim Nachrechnen korrigiert: affine statt bilinearer Einpassung (bilinear
verfehlte den Hood Yard um 4,2 m), offset_u 6,25 m, gemessenes Schnitt-Vieleck
der Gasse, Mittellinienstücke erst ab 15 m, Tribüne ohne replaces, Startpunkt
als eigenes Modul, PYTHONUTF8=1 unter Windows.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 23:57:30 +02:00
knsoandClaude Opus 5 c278ad3d9d docs: Entwurf für Flamingo Park nach OpenStreetMap
Teil 1 von zwei: Der Park bekommt die echten Wege, Felder, Plätze, Pool,
Parkplatz und Gebäude, eingepasst nach Variante D, dazu die Jefferson Avenue
als gerade Verlängerung nach Süden. Umsetzung in der Extraktion. Teil 2
(Bordstein, Gehweg, amerikanische Markierungen) bekommt einen eigenen Entwurf.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 23:22:09 +02:00
knsoandClaude Opus 5 780e246fe5 Merge branch 'leonida/tribuene'
Tribüne im Park J6 statt des alten Gebäudekastens, mit Materialrollen,
ersetzten Grundrissen beim Chunk-Aufbau und Asset-Test je Ort.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 21:26:58 +02:00
knso a55dca5fb6 start 2026-09-15 21:05:18 +02:00
knsoandClaude Sonnet 5 237a4ed389 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>
2026-09-15 03:57:31 +02:00
knsoandClaude Opus 5 14fd9cefde docs: Tribünen-Spec mit Messwerten aus dem Spiel
Browserprüfung: alter Kasten weg (Strahl trifft Boden bzw. Tribünendach), acht feste Materialien als Float32 im Collider, Rückwand stoppt die Kapsel am Sockel, Tunnel samt Treppe begehbar, Sitze durchlässig, +0,1–0,3 ms je Bild, vorgewärmt (48 ms bis zum Einsetzen, größte Lücke 56 ms).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 20:57:00 +02:00
knsoandClaude Sonnet 5 190fe9c13c feat(world): Tribüne im Park J6 statt des alten Gebäudekastens
tribuene.glb mit places.mjs aufbereitet (6,3 MB -> 1,7 MB, 69 557 Dreiecke, 14 Primitive, 49 MB Grafikspeicher). PLACES-Eintrag bei (1409,9 | 1051,1), 45° gedreht, lift 0, replaces auf den 18,6 m hohen Kasten. Der Lage-Test übergeht ersetzte Grundrisse und prüft, dass jeder replaces-Punkt genau ein Gebäude unter dem Ort trifft.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-14 20:36:29 +02:00
knsoandClaude Opus 5 4a1b337609 docs: Entwurf für die Tribüne im Park J6
Die Tribüne aus tribuene.glb ersetzt 1:1 den Gebäudekasten in J6:
längs mittig auf dem alten Gebäude, 45° gedreht, Front 1 m vor dessen
Feldseite (Vergleichsbild im Gespräch bestätigt), lift 0 ohne
Bodenplatte. Neu gegenüber dem Hood Yard ist replaces im Orte-Eintrag:
der ChunkStreamer lässt den Grundriss beim Aufbau weg. Dazu
Materialrollen, Budget und der Umbau des Asset-Tests auf alle Orte.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 19:55:12 +02:00
knsoandClaude Sonnet 5 7e4af1d0bc docs: Hood-Yard-Spec mit Messwerten und Vorwärmen
Wortlaut: die Radien garantieren nur, dass die Chunks unter einem Ort
angefordert sind, solange er in der Szene ist — nicht, dass ihr Boden
schon gebaut ist (ChunkStreamer baut höchstens einen Chunk je Bild).
"geladen" -> "angefordert" im Kommentar über den Radien
(src/world/places.js), über der PlaceLayer-Konstruktion (src/main.js),
im Testnamen (tests/placesSite.test.js) und in der Spec, dort mit
einem Satz zu den paar Bildern nach einem Kartensprung.

Spec zusätzlich: warmUp in den Bullets "Vorbereiten"/"Einsetzen",
robustes Einsetzen (Warnung, kein erneuter Versuch) im Bullet zum
Ladefehler, und ein neuer Messwerte-Bullet in "Fehlerfälle und
Risiken" (+0,4–0,6 ms je Bild, ~130 ms einmaliger Texturupload ohne
warmUp).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-14 13:43:23 +02:00
knsoandClaude Sonnet 5 522101c026 fix(world): quantisierte Positionen vor dem Kollisionsaufbau in Float32 wandeln
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-14 12:42:25 +02:00
knsoandClaude Opus 5 3321a029fa docs: Umsetzungsplan für den Hood Yard, Spec am Prototyp geschärft
Prototyp am echten Modell: 653,6 MB -> 16,2 MB, 2,9 Mio. -> 658 000 Dreiecke,
Bump-Maps erhalten. Radien geändert: Der Hof erscheint erst ab 250 m und
verschwindet ab 450 m, sonst stünde er vom Startpunkt aus über ungeladenem
Boden. Vereinfachung je Material statt eines gemeinsamen Anteils.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 10:24:46 +02:00
knsoandClaude Opus 5 b61d9ab6a1 docs: Entwurf für den Hood Yard im Park J6/K6
Eigenes Modell aus three-d-stage 1:1 an die Stelle der kleinen Gebäude
zwischen Baseball- und Fußballfeld: Aufbereitung mit gltf-transform unter
Erhalt von EXT_materials_bump, Orte-Schicht mit Laden je nach Abstand,
Kollision über Materialnamen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 09:44:20 +02:00
knsoandClaude Opus 5 e26bded427 docs(minimap): Leerzeile in der Liste entfernt, früheren Spawn als solchen benannt
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 20:55:35 +02:00
knsoandClaude Opus 5 dedf5be507 docs: Folgen der Beschriftungs-Entfernung für Feinkalibrierung, Minimap und Start
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 20:39:55 +02:00
knsoandClaude Opus 5 a8817e2849 docs: Umsetzungsplan zum Entfernen der Kartenbeschriftungen
Acht Aufgaben, Code und Liste aus dem gegen die echte Vorlage geprüften
Prototyp; in Plan-Reihenfolge in einer Repository-Kopie nachgespielt.
Spec: Start und Autos ziehen von der Buchstabenkontur auf die
wiederaufgebaute Straße am Park, Nummern im Berichtsbeispiel.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 18:17:32 +02:00
knsoandClaude Opus 5 ac2f414bb6 docs: Beschriftungs-Spec am Prototyp gegen die echte Vorlage geschärft
Straßenenden über das Skelett samt Maske, Korridor statt Versatzgrenze,
Weiterführen über Kreuzungen, Ziel auf der anderen Seite, keine gemalten
Sackgassen, Kartenrand; Gebäudevorlage ab 100 m² im 150-m-Fenster;
randvoll vor dem Wachsen; Kontrastregel der Suche; Probelauf mit Kennzahlen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 17:53:13 +02:00
knsoandClaude Opus 5 57ffb5953a docs: Entwurf zum Entfernen der Kartenbeschriftungen
Alle Beschriftungen der Vorlage (Schriftzüge, Marker, Schilder, Symbole,
Straßennamen, Gitternetz) werden vor der Vektorisierung aus dem Klassenbild
entfernt und darunter wiederaufgebaut: Straßen laufen durch, Flächen
schließen sich, angebissene Gebäude werden geschlossen, verdeckte Blockteile
bekommen passende, als ergänzt markierte Gebäude. Ersetzt task_999fed4a.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 16:33:23 +02:00
knsoandClaude Opus 5 034b12537a docs: Entwurf und Umsetzungsplan für scharfe Kaskaden-Schatten
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 15:38:18 +02:00
knsoandClaude Opus 5 c79b4f347b docs(minimap): Lage der Koordinatenanzeige auch im Abschnitt Stapelordnung
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 13:04:49 +02:00
knsoandClaude Opus 5 e702517662 docs(minimap): Landeplatz auf ganzem Kollisionsboden, Fokus, Trackpad-Zoom und Ladefehler nach dem Abschluss-Review
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 12:27:39 +02:00
knsoandClaude Opus 5 61ef30f081 docs: Downtown-Bezugspunkt statt Downtown-Kern, stimmige Koordinatenbeispiele
(−511, 254) ist der Bezugspunkt aus tools/extract/data/districts.json, der
Mittelpunkt der westlichen Hochhäuser, und liegt in B9. Der höchste Turm,
das Southeast Financial Center, steht in C12. Das Anzeigebeispiel
x 412 / y 1830 liegt in F3, nicht in C10. Im Browser bei Task 4 der
Minimap aufgefallen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 11:36:59 +02:00
knsoandClaude Opus 5 3f51c818ff docs: Kalibrierungs-Spec vor dem Plan gegen den Code geschärft
Beim Abgleich mit Pipeline und Browsercode aufgefallen: add_road hätte
keine Brücke hinzufügen können (Landprüfung am Mittelpunkt statt an den
Enden); set_area zu Wasser ließ Sand und Parks stehen; unbekannte
Feldnamen wären still ignoriert worden; Drehrichtung von add_building,
Abschneiden der Mittellinien und die Laternenregeln waren unbestimmt.
Dazu die exakte Winkelumrechnung für die Laternen, damit sie nach dem
Umzug nicht gespiegelt stehen, und eine neue Regel gegen Laternen in
Gebäuden, die die Browser-Version nicht hatte.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 10:08:58 +02:00
knsoandClaude Opus 5 9f8f93acc8 docs: Entwurf für die Feinkalibrierung
Dauerhafte Korrekturschicht in der Pipeline, damit der Nutzer die Welt
im Chat Chunk für Chunk korrigieren kann: Stelle über Chunk-Name und
Weltkoordinate von der Minimap, Korrektur in tools/extract/data/
corrections.toml. Aktionen für Gebäude, Straßen, Flächen und Küste und
Requisiten; Formfehler brechen ab, Nichttreffer werden gemeldet und
übersprungen. Die Laternen ziehen dafür in die Pipeline, womit sich
nebenbei ihre Lücke an Chunk-Grenzen schließt.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 10:02:12 +02:00
knsoandClaude Opus 5 44108f94f4 docs: Umsetzungsplan für die Minimap, Spec nachgeschärft
Vier Aufgaben: Chunk-Namen in JavaScript und Python mit gemeinsamem
Beispielsatz; Kartenbild, Begehbarkeitsmaske und map.json aus
overview.py; reine Kartenmathematik mit Tests; Kartenkomponente und
Einhängen mit Browser-Abnahme.

Die Spec bekommt dabei drei Präzisierungen, die sich erst beim Lesen des
Codes ergeben haben: die Namensnennung muss über der Karte liegen
(Lizenzpflicht), die Veraltungsprüfung erkennt nicht jede Änderung, und
die Eingabesperre stoppt Mausereignisse auf der Karte erst an deren
Wurzel, weil ein Stopp in der Capture-Phase auch den eigenen Canvas
taub machen würde.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 09:24:00 +02:00
knsoandClaude Opus 5 c0767375fe docs: Minimap-Spec um benanntes Chunk-Raster ergänzen
Der Nutzer will Chunks im Chat für die Feinkalibrierung ansprechen. Das
Raster wird auf der Karte sichtbar, jeder Chunk heißt als Planquadrat
A1 bis L12 — A1 ist die Nordwest-Ecke, gegen chunkOrigin geprüft. Die
Umrechnung steht in JavaScript und Python mit demselben Beispielsatz,
dazu eine Anzeige von Chunk-Name und Weltkoordinate unter dem Mauszeiger.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 09:09:54 +02:00
knsoandClaude Opus 5 efe15c4b64 docs: Entwurf für die Minimap
Große Kartenansicht auf Taste M über dem laufenden Spiel: eigene Position
mit Blickrichtung, Fahrzeuge, Zoomen, Verschieben, Klick zum Hinspringen.
Kartenbild vorab aus overview.py mit 1 px/m, Landung neben statt in
Gebäuden über eine Begehbarkeitsmaske. Eingaben werden in der
Capture-Phase abgefangen statt über unbindEvents(), das die ganze Figur
anhalten würde.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 08:35:38 +02:00
knsoandClaude Opus 5 162e018925 docs: Palette und Toleranzen an das echte Mosaik angepasst
Wasser ist #3090c0, nicht #2c67a4; der alte Wert war die Kompositionsfarbe aus tiles.py.
Mit Schwelle 22 fallen die unbekannten Pixel von 37,4 auf 3,5 Prozent. Die Sollanteile für
Straße und Gebäude stammten aus einer Messung mit anderer Klasseneinteilung und werden
auf die gemessenen Bänder gesetzt.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-12 14:17:15 +02:00
knsoandClaude Opus 5 a6662416a1 Design-Spec für den spielbaren Vice-City-Ausschnitt
Ausschnitt A (X -1000..2000, Y -500..2500) aus der Community-Karte YANIS v15;
Kartendaten von map.gtadb.org unter CC BY 4.0. Die Spec beschreibt Rechtslage,
Koordinaten, Projektstruktur, die siebenstufige Extraktion, die Laufzeit mit
Chunk-Streaming, Aussehen, Fehlerbehandlung, Tests und Budgets.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-12 13:07:21 +02:00