fix(world): Laternen vom Fahrbahnrand versetzt, ungenutzte Requisiten entfernt
Ruling 60: vergeLampPoints sucht von 6 bis 16 m nach außen und verwirft eine Laterne ganz, wenn keiner der sechs Abstände die Straßenpolygone des Chunks verlässt (Punkt-in-Polygon mit Löchern, pointInPolygon). Ruling 61: die vier nie platzierten Requisiten (Bank, Mülleimer, Hydrant, Absperrung) fliegen aus props.mjs und aus dem Repository, ~18 MB auf 1,9 MB im Arbeitsverzeichnis. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
9173400caa
commit
d6a2f6d269
7 files changed
+120
-23
No files matched your search
+10
-3
@@ -1,16 +1,23 @@
|
||||
// Lädt die fünf Poly-Haven-Requisiten in 1k (gltf + zugehörige Texturen/`.bin`) nach
|
||||
// public/models/props/raw/ und vereinfacht sie danach mit @gltf-transform/cli zu je einer
|
||||
// Lädt die Poly-Haven-Straßenlaterne in 1k (gltf + zugehörige Texturen/`.bin`) nach
|
||||
// public/models/props/raw/ und vereinfacht sie danach mit @gltf-transform/cli zu einer
|
||||
// kompakten .glb unter public/models/props/. Gleiches Muster wie textures.mjs, aber Modelle
|
||||
// stehen unter dem Schlüssel "gltf" statt unter den Map-Namen ("Diffuse", "nor_gl", "arm"),
|
||||
// und die 1k-Auflösung liefert neben der .gltf-Datei selbst noch eine `include`-Liste mit den
|
||||
// referenzierten Texturen und der gemeinsamen `.bin`-Geometriedatei — ohne die kann
|
||||
// gltf-transform die .gltf-Datei nicht öffnen.
|
||||
//
|
||||
// Ruling 61 (Fix-Runde 1): ursprünglich fünf Requisiten (Laterne, Bank, Mülleimer, Hydrant,
|
||||
// Absperrung), aber nur street_lamp_02 hat in den Chunk-Daten eine Platzierungsquelle
|
||||
// (chunk.centerlines) — für die anderen vier gibt es weder ein Feld im Chunk-Schema noch
|
||||
// einen Aufrufer irgendwo im Plan. Sie lagen ungenutzt mit rund 18 MB im Arbeitsverzeichnis
|
||||
// (1,2 MB davon versioniert); erfundene Platzierungsdaten wären reines Raten gewesen (siehe
|
||||
// Bericht). Wieder aufnehmen, sobald eine echte Platzierungsquelle für sie entsteht.
|
||||
import { execFileSync } from "node:child_process";
|
||||
import { mkdir, writeFile } from "node:fs/promises";
|
||||
import { dirname, join } from "node:path";
|
||||
|
||||
const UA = { "User-Agent": "leonida-assets/0.1 (local hobby project)" };
|
||||
const SLUGS = ["street_lamp_02", "painted_wooden_bench", "metal_trash_can", "fire_hydrant", "concrete_road_barrier_02"];
|
||||
const SLUGS = ["street_lamp_02"];
|
||||
const RAW_DIR = "public/models/props/raw";
|
||||
const OUT_DIR = "public/models/props";
|
||||
|
||||
|
||||
Reference in new issue
Block a user