Files
feuerwerk/todo-notes/done/sprite-size.md
T
root 37e1450fca Answer the sprite width/height note and file it under done/
Sprite width/height stay fractional. They are geometry, not counts: the
aspect-ratio buttons compute height * w/h and legitimately produce values like
9.090909090909092 (compared with a 1e-9 tolerance), and both axes are scrubbable.
Rounding them would break the ratio the buttons just established.

Only fields that are integral by meaning round (slice grid, frame rect, camera
view, font size) - that is what 1b16a55 fixed.
2026-09-09 10:35:49 +02:00

1.3 KiB

sprites haben das property width und height: ist es hier auch sinnvoll auf integer umzuändern oder sollen wir .000 decimal dran lassen?


Antwort (2026-09-09): nein, bleibt fraktional — ganzzahlig waere hier schaedlich.

Sprite-Maße sind keine Zaehlwerte, sondern Geometrie. Zwei Stellen brauchen die Brueche:

  • Die Aspect-Ratio-Knoepfe rechnen fitAxisToAspect (height * w/h). Das liefert echte Brueche — der Code nennt selbst 9.090909090909092 als Beispiel. Auf ganze Zahlen gerundet stimmt die Proportion nicht mehr, und der Knopf meldet danach, dass das Seitenverhaeltnis nicht passt (Vergleich laeuft mit Toleranz 1e-9).
  • Am Objekt sind width/height ziehbar (Scrub), genau wie Position und Collider-Maße.

Ganzzahlig sind nur Felder, die ihrer Bedeutung nach ganzzahlig sind: Slice-Spalten/Zeilen, Frame-Rect, Kamera-View, Font size. Die runden seit 1b16a55 auch wirklich (vorher war decimals reine Kosmetik — getippte 640.5 wurden als 640.5 gespeichert und als 641 angezeigt).

Offen bleibt die Anzeige-Frage, die dahinter steckt: sollen ueberfluessige Nullen weg (100 statt 100.000, 9.091 bleibt)? Das waere eine Zeile in formatNumber und wuerde fuer alle Zahlenfelder gelten; der Graph macht es bereits so. Dafuer bei Bedarf eine eigene Notiz anlegen.