From dedf5be50718e7dd384d2bacab01588913f798b1 Mon Sep 17 00:00:00 2001 From: KNSO Date: Sun, 13 Sep 2026 20:39:55 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20Folgen=20der=20Beschriftungs-Entfernung?= =?UTF-8?q?=20f=C3=BCr=20Feinkalibrierung,=20Minimap=20und=20Start?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5 --- docs/superpowers/plans/2026-09-13-feinkalibrierung.md | 2 +- .../superpowers/specs/2026-09-12-leonida-vice-slice-design.md | 2 +- docs/superpowers/specs/2026-09-13-feinkalibrierung-design.md | 2 +- docs/superpowers/specs/2026-09-13-minimap-design.md | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/superpowers/plans/2026-09-13-feinkalibrierung.md b/docs/superpowers/plans/2026-09-13-feinkalibrierung.md index 766c375..5b84260 100644 --- a/docs/superpowers/plans/2026-09-13-feinkalibrierung.md +++ b/docs/superpowers/plans/2026-09-13-feinkalibrierung.md @@ -12,7 +12,7 @@ ## Global Constraints -- **Ausführungsschranke:** Dieser Plan beginnt erst, wenn die Beschriftungs-Aufgabe task_999fed4a gelandet ist. Sie ändert in einer anderen Sitzung die Pipeline. Aufgabe 6 ändert `tools/extract/run.py` und muss die Datei vorher neu lesen. +- **Ausführungsschranke:** Dieser Plan beginnt erst, wenn der Beschriftungs-Plan (`docs/superpowers/plans/2026-09-13-beschriftungen.md`) gelandet ist. Er hat `tools/extract/run.py` geändert — Aufgabe 6 muss die Datei vorher neu lesen — und `chunk_for_world` samt Test schon angelegt: in Aufgabe 1 entfallen die Änderung der Importzeile und der Test `test_chunk_for_world_matches_javascript` in `tests/test_coords.py` sowie Step 3; `tests/test_coords.py` und `leonida/coords.py` fallen aus Step 7 heraus. - Python-Bibliotheken: numpy, scipy, scikit-image, shapely, networkx, pillow, pytest. TOML über `tomllib` (Standardbibliothek). **Keine neue Abhängigkeit**, auch nicht in JavaScript. - Koordinaten in Korrekturen sind **Welt-x und Welt-y in Metern**, wie die Minimap sie anzeigt. Nie three.js-z. - Chunk-Namen A1–L12: Spalte aus `i` (West → Ost), Zeile aus `j` (Nord → Süd). A1 = `chunk_0_0`, B9 = `chunk_1_8` = Welt x −750…−500, y 250…500. diff --git a/docs/superpowers/specs/2026-09-12-leonida-vice-slice-design.md b/docs/superpowers/specs/2026-09-12-leonida-vice-slice-design.md index a4bedd7..b0129a5 100644 --- a/docs/superpowers/specs/2026-09-12-leonida-vice-slice-design.md +++ b/docs/superpowers/specs/2026-09-12-leonida-vice-slice-design.md @@ -173,7 +173,7 @@ Spieler. - **Autos:** vier SUVs an Straßenpunkten nahe dem Start, Konfiguration aus der Showcase übernommen. Ihre Chunks bleiben geladen, weil jedes Fahrzeug in jedem Frame Physik rechnet. - **Figuren:** Modul aus `showcase.js` nach `src/characters/`, inklusive Delta-Retargeting - und ans Mesh angepasster Hitbox. Start ist die Promenade von Vice Beach bei X 1699, Y 743 (three.js: x = 1699, z = -743), + und ans Mesh angepasster Hitbox. Start ist der Rasen am Südrand des Parks von Vice Beach bei X 1600, Y 690 (three.js: x = 1600, z = -690) — ursprünglich X 1699, Y 743 auf einer Buchstabenkontur von „(MIAMI BEACH)“, versetzt mit dem Beschriftungs-Plan —, abgeleitet aus dem Schwerpunkt der 259 Ocean-Beach-Landmarks im Ausschnitt. - **Debug-Panel:** Figurenauswahl, Chunk-Grenzen, Hitbox, Kartenbild auf dem Boden, Sichtweite, Höhenfaktor, Sprung zu einem der 54 Wahrzeichen. diff --git a/docs/superpowers/specs/2026-09-13-feinkalibrierung-design.md b/docs/superpowers/specs/2026-09-13-feinkalibrierung-design.md index 755abee..8ff49c5 100644 --- a/docs/superpowers/specs/2026-09-13-feinkalibrierung-design.md +++ b/docs/superpowers/specs/2026-09-13-feinkalibrierung-design.md @@ -2,7 +2,7 @@ **Datum:** 2026-09-13 **Zusammenhang:** Der Nutzer will die extrahierte Welt Chunk für Chunk korrigieren, indem er im Chat eine Stelle nennt und sagt, was dort anders sein soll. Die Stelle liest er auf der Minimap ab (`docs/superpowers/specs/2026-09-13-minimap-design.md`), die dafür Chunk-Namen A1–L12 und Weltkoordinaten anzeigt. -**Reihenfolge, vom Nutzer entschieden:** Die Umsetzung beginnt, sobald die Beschriftungs-Aufgabe task_999fed4a gelandet ist, die derzeit in einer anderen Sitzung `tools/extract/run.py` ändert. Danach folgt der Straßenbau (Bordstein, Gehweg, Rissrichtung). +**Reihenfolge, vom Nutzer entschieden:** Die Umsetzung beginnt, sobald die Beschriftungs-Aufgabe gelandet ist (`docs/superpowers/specs/2026-09-13-beschriftungen-design.md`, ersetzt task_999fed4a); sie hat `tools/extract/run.py` geändert und `chunk_for_world` in `tools/extract/leonida/coords.py` schon angelegt. Fehler des automatischen Wiederaufbaus unter früheren Beschriftungen werden über `corrections.toml` behoben. Danach folgt der Straßenbau (Bordstein, Gehweg, Rissrichtung). ## Ziel diff --git a/docs/superpowers/specs/2026-09-13-minimap-design.md b/docs/superpowers/specs/2026-09-13-minimap-design.md index a40e103..cf63519 100644 --- a/docs/superpowers/specs/2026-09-13-minimap-design.md +++ b/docs/superpowers/specs/2026-09-13-minimap-design.md @@ -31,7 +31,7 @@ Drei neue Dateien neben `manifest.json` in `public/data/vice-a/`: `map.json` ist die **einzige** Quelle für Maßstab und Ausschnittsgrenzen der Karte. Der Browser liest sie, statt die Werte ein zweites Mal im JavaScript festzuschreiben. -**Erzeugung:** vorerst als eigener Schritt `cd tools/extract && uv run python overview.py`, **nicht** in `run.py`. Grund: die Beschriftungs-Aufgabe task_999fed4a arbeitet gleichzeitig in einer anderen Sitzung an der Pipeline, und zwei Sitzungen sollen nicht in dieselbe Datei schreiben. Der Preis dieser Entkopplung ist, dass die Karte nach einem Pipeline-Lauf veralten kann — abgesichert über `manifest_sha256` (siehe Fehlerfälle). Das Einhängen in `run.py` folgt, sobald die Pipeline frei ist. +**Erzeugung:** am Ende von `tools/extract/run.py` über `render_map` aus `overview.py`, seit der Beschriftungs-Plan gelandet ist. `cd tools/extract && uv run python overview.py` erzeugt dieselben Dateien weiterhin einzeln, etwa nach einer Änderung nur an den Farben. `manifest_sha256` sichert ab, dass Karte und Chunks zusammenpassen (siehe Fehlerfälle). ## Aufbau @@ -182,5 +182,5 @@ Die Namensnennung steht unten links und reicht auf schmalen Fenstern bis in die - Eine kleine Eckkarte. - Pausieren des Spiels. - Wegmarken und Routen. -- Einhängen der Kartenerzeugung in `run.py` — folgt, sobald die Beschriftungs-Aufgabe gelandet ist. + - Bordstein, Gehweg und Rissrichtung — der anschließende Straßenbau. Kommen dort neue Flächen hinzu, zeichnet `overview.py` sie in einem eigenen Schritt nach.