docs: stillen Bruch der Verbraucher in Task 13-15 ausdruecklich eintragen
Seit dem neuen Chunk-Format werfen overview.py und geometry.js, und props.js setzt still keine einzige Laterne mehr. Die drei Aufgaben, die das reparieren, bekommen den genauen Bruch und die Pflicht, ihre von Hand im alten Format gebauten Fixtures mitzuziehen. Dazu der Docstring von _line() als Bedingung statt als Tatsache. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
bdc6a0ffe5
commit
f97b7d9c81
1 file changed
+12
-5
@@ -1725,11 +1725,12 @@ In `tools/extract/leonida/emit.py` die Signatur und den Rumpf ersetzen. `_rings`
|
|||||||
def _line(line, i: int, j: int) -> list[list[float]]:
|
def _line(line, i: int, j: int) -> list[list[float]]:
|
||||||
"""Ein Linienzug in Chunk-Koordinaten, richtungsunabhängig festgelegt.
|
"""Ein Linienzug in Chunk-Koordinaten, richtungsunabhängig festgelegt.
|
||||||
|
|
||||||
normalize() dreht eine Linie in eine feste Laufrichtung. Das ist hier anders als bei den
|
normalize() dreht eine Linie in eine feste Laufrichtung, und sortiert wird nach der Ausgabe
|
||||||
früheren centerlines erwünscht: Die Laternen wählen ihre Seite seit Teil 2 aus der
|
selbst. Beides ist nur zulässig, solange niemand Reihenfolge oder Laufrichtung eine Bedeutung
|
||||||
Kantenrichtung *und* prüfen gegen die Gehwegfläche, hängen also nicht mehr an der
|
gibt — bei den früheren centerlines tat das vergeLampPoints() in props.js, das die Straßenseite
|
||||||
Listenposition (siehe props.js). Damit darf die Ausgabe sortiert und normalisiert werden,
|
einer Laterne aus dem Listenindex ablas. sidewalkLampPoints() wählt die Seite aus der Geometrie
|
||||||
und ein Lauf erzeugt wieder Datei für Datei dasselbe.
|
und prüft gegen die Gehwegfläche; erst damit darf die Ausgabe sortiert werden, und ein Lauf
|
||||||
|
erzeugt wieder Datei für Datei dasselbe.
|
||||||
"""
|
"""
|
||||||
ox = SLICE["x0"] + i * CHUNK_SIZE
|
ox = SLICE["x0"] + i * CHUNK_SIZE
|
||||||
oy = SLICE["y1"] - j * CHUNK_SIZE
|
oy = SLICE["y1"] - j * CHUNK_SIZE
|
||||||
@@ -2202,6 +2203,8 @@ Die erzeugten Daten kommen erst in Task 16 in einen eigenen Commit — hier **ni
|
|||||||
|
|
||||||
### Task 13: Browser — Geometrie der neuen Schichten
|
### Task 13: Browser — Geometrie der neuen Schichten
|
||||||
|
|
||||||
|
> **Seit Task 10 gebrochen, hier zu reparieren:** `buildChunkGeometry()` liest `chunk.roads.filter(...)` ohne Rückfall und wirft mit Chunks im neuen Format einen `TypeError`. Die Fixtures in `tests/geometry.test.js` sind von Hand im alten Format gebaut und merken das nicht — stell sie mit um, sonst prüfen sie weiter eine Schnittstelle, die es nicht mehr gibt.
|
||||||
|
|
||||||
**Dateien:**
|
**Dateien:**
|
||||||
- Ändern: `src/world/geometry.js`
|
- Ändern: `src/world/geometry.js`
|
||||||
- Test: `tests/geometry.test.js` (erweitern)
|
- Test: `tests/geometry.test.js` (erweitern)
|
||||||
@@ -2414,6 +2417,8 @@ git commit -m "feat(world): Fahrbahnmulde, Bordsteinwand und Markierungen bauen"
|
|||||||
|
|
||||||
### Task 14: Browser — Materialien, Kollision, Laternen
|
### Task 14: Browser — Materialien, Kollision, Laternen
|
||||||
|
|
||||||
|
> **Seit Task 10 still gebrochen, hier zu reparieren:** `props.js` liest `chunk.centerlines ?? []` und `chunk.roads ?? []`. Beide Schlüssel gibt es nicht mehr — es entsteht kein Fehler, sondern einfach **keine einzige Laterne** auf der ganzen Karte. Die Fixtures in `tests/props.test.js` sind im alten Format gebaut und merken das nicht. Nach dieser Aufgabe muss eine Laterne aus einem Chunk im neuen Format entstehen; prüf das mit einem Test, der genau so einen Chunk benutzt.
|
||||||
|
|
||||||
**Dateien:**
|
**Dateien:**
|
||||||
- Ändern: `src/world/materials.js`, `src/world/streaming.js`, `src/world/props.js`
|
- Ändern: `src/world/materials.js`, `src/world/streaming.js`, `src/world/props.js`
|
||||||
- Test: `tests/materials.test.js`, `tests/streaming.test.js`, `tests/props.test.js`
|
- Test: `tests/materials.test.js`, `tests/streaming.test.js`, `tests/props.test.js`
|
||||||
@@ -2597,6 +2602,8 @@ git commit -m "feat(world): Materialien, Kollision und Laternen für die neuen S
|
|||||||
|
|
||||||
### Task 15: Minimap und Begehbarkeit
|
### Task 15: Minimap und Begehbarkeit
|
||||||
|
|
||||||
|
> **Seit Task 10 gebrochen, hier zu reparieren:** `overview.py` liest `chunk["roads"]` und `item["bridge"]` ohne Rückfall und wirft mit Chunks im neuen Format einen `KeyError`. Die Fixtures in `tools/extract/tests/test_overview.py` sind im alten Format gebaut; stell sie mit um.
|
||||||
|
|
||||||
**Dateien:**
|
**Dateien:**
|
||||||
- Ändern: `tools/extract/overview.py`
|
- Ändern: `tools/extract/overview.py`
|
||||||
- Test: `tools/extract/tests/test_overview.py`
|
- Test: `tools/extract/tests/test_overview.py`
|
||||||
|
|||||||
Reference in new issue
Block a user