Fünf Symbole kommen jetzt aus SVG-Dateien in src/viewport/icons/: behavior, container, rigidbody, camera, particles. Ein Icon ändern: Datei bearbeiten, npm run build.
Code bleibt, was vom Objekt abhängt: Kamerarahmen, Collider-Umriss, One-Way-Kegel.
Selbst entschieden
SVG statt PNG: scharf bei jedem Zoom, Farbe aus dem Theme.
Farben:currentColor in der Datei wird beim Laden zur Theme-Farbe des Symbols; Weiß beim Behavior steht fest in der Datei.
Koordinaten: Ursprung in der Mitte, zentrierte viewBox, gleiche Einheiten wie vorher. In Gitea erscheinen die Dateien schwarz, weil currentColor dort keine Farbe hat.
Mitgebaut statt zur Laufzeit geladen: einmal geparst, kein Flackern, kein zusätzlicher Request.
Worauf man beim Zeichnen achten muss
Pixis SVG-Parser ignoriert viewBox und transform, liest polygon-Punkte nur als Ganzzahlen und füllt eine Form ohne fill gar nicht (der Browser füllt schwarz). Die Unit-Tests halten die Dateien auf das, was beide gleich zeichnen; steht auch im Wiki (Scene editing).
Pixelvergleich alt gegen neu (48×48 um jedes Symbol): 0 abweichende Pixel. Gegenprobe mit umgefärbtem SVG: 60 Pixel, nur beim Behavior.
12 Unit-Tests in tests/viewport/symbol-icons.test.ts, Gegenprobe mit 7 eingebauten Fehlern, alle gefangen.
e2e 5c: liest 10 Punkte der fünf Symbole in der Theme-Farbe; Gegenprobe mit rotem Block im Container-SVG meldet genau diesen Punkt.
Check-Summe 1093 (1092 + 1) in README und Wiki (ff4b219). Die Zahl ist gerechnet, CI zu 1c212b1 läuft noch.
## Umgesetzt in `1c212b1`
- **Fünf Symbole kommen jetzt aus SVG-Dateien** in `src/viewport/icons/`: `behavior`, `container`, `rigidbody`, `camera`, `particles`. Ein Icon ändern: Datei bearbeiten, `npm run build`.
- **Code bleibt**, was vom Objekt abhängt: Kamerarahmen, Collider-Umriss, One-Way-Kegel.
### Selbst entschieden
- **SVG statt PNG:** scharf bei jedem Zoom, Farbe aus dem Theme.
- **Farben:** `currentColor` in der Datei wird beim Laden zur Theme-Farbe des Symbols; Weiß beim Behavior steht fest in der Datei.
- **Koordinaten:** Ursprung in der Mitte, zentrierte `viewBox`, gleiche Einheiten wie vorher. In Gitea erscheinen die Dateien schwarz, weil `currentColor` dort keine Farbe hat.
- **Mitgebaut statt zur Laufzeit geladen:** einmal geparst, kein Flackern, kein zusätzlicher Request.
### Worauf man beim Zeichnen achten muss
Pixis SVG-Parser ignoriert `viewBox` und `transform`, liest `polygon`-Punkte nur als Ganzzahlen und füllt eine Form ohne `fill` gar nicht (der Browser füllt schwarz). Die Unit-Tests halten die Dateien auf das, was beide gleich zeichnen; steht auch im Wiki (*Scene editing*).
### Tests
```
npm run check → 115 Files, 1643 Tests (vorher 1631), CHECK EXIT 0
GM_STEPS=5,31 (frisch geseedet) → ALL PASSED – 45 checks
```
- **Pixelvergleich alt gegen neu** (48×48 um jedes Symbol): 0 abweichende Pixel. Gegenprobe mit umgefärbtem SVG: 60 Pixel, nur beim Behavior.
- **12 Unit-Tests** in `tests/viewport/symbol-icons.test.ts`, Gegenprobe mit 7 eingebauten Fehlern, alle gefangen.
- **e2e 5c:** liest 10 Punkte der fünf Symbole in der Theme-Farbe; Gegenprobe mit rotem Block im Container-SVG meldet genau diesen Punkt.
Check-Summe **1093** (1092 + 1) in README und Wiki (`ff4b219`). Die Zahl ist gerechnet, CI zu `1c212b1` läuft noch.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
momentan werden Symbole per switch case gezeichnet. Angenehme wäre wenn die Symbole als SVG files abgelegt sind, und diese dargestellt werden.
Umgesetzt in
1c212b1src/viewport/icons/:behavior,container,rigidbody,camera,particles. Ein Icon ändern: Datei bearbeiten,npm run build.Selbst entschieden
currentColorin der Datei wird beim Laden zur Theme-Farbe des Symbols; Weiß beim Behavior steht fest in der Datei.viewBox, gleiche Einheiten wie vorher. In Gitea erscheinen die Dateien schwarz, weilcurrentColordort keine Farbe hat.Worauf man beim Zeichnen achten muss
Pixis SVG-Parser ignoriert
viewBoxundtransform, liestpolygon-Punkte nur als Ganzzahlen und füllt eine Form ohnefillgar nicht (der Browser füllt schwarz). Die Unit-Tests halten die Dateien auf das, was beide gleich zeichnen; steht auch im Wiki (Scene editing).Tests
tests/viewport/symbol-icons.test.ts, Gegenprobe mit 7 eingebauten Fehlern, alle gefangen.Check-Summe 1093 (1092 + 1) in README und Wiki (
ff4b219). Die Zahl ist gerechnet, CI zu1c212b1läuft noch.CI-Nachtrag zu
1c212b1CHECK EXIT 0,Job succeededALL PASSED – 1093 checks, Smokes 24 / 19 / 21,Job succeededDie Check-Summe 1093 ist damit bestätigt.