Texture: Nine-Slice Scale #96

Closed
opened 2026-09-16 17:57:12 +02:00 by admin · 1 comment

Bei der Texture selbst müsste man noch einen Nine-Slice Scale festlegen können (standard: 1) - ich glaube die funktion dahinter ist selbsterklärend und gilt für alle frames (property in texture)

Bei der Texture selbst müsste man noch einen Nine-Slice Scale festlegen können (standard: 1) - ich glaube die funktion dahinter ist selbsterklärend und gilt für alle frames (property in texture)
admin added this to the Development project 2026-09-16 17:57:12 +02:00
admin moved this to Next in Development on 2026-09-16 17:57:14 +02:00
Owner

Umgesetzt in 94a0a57.

  • Die Textur hat jetzt die Property Nine-slice scale (Standard 1, steht neben Filter). Sie gilt für alle geslicten Frames der Textur: ein Randpixel wird so viele Sprite-Einheiten groß, wie der Wert angibt. Die UVs bleiben gleich, eine Ecke zeigt also dieselben Pixel, nur größer oder kleiner.
  • Ist ein Sprite zu klein für beide Ränder, werden sie wie bisher gemeinsam verkleinert, jetzt eben ausgehend von der skalierten Größe.
  • Bei Repeat wird die Kachelgröße mitskaliert. Sonst säße ein doppelt so großer Rand neben einem Muster in der alten Größe.
  • Werte, die keine Größe über 0 sind, gelten als 1. Dokumente ohne den Wert werden deshalb gezeichnet wie vorher.

Belegt: npm run check → 1146 Tests grün. GM_STEPS=37 → 14 Checks grün. Neu ist 37f, eine Pixelmessung auf der GPU: bei Faktor 3 ist der Rand 23 px breit (erwartet 24), zurück auf 1 sind es 7 px (erwartet 8).

Nachtrag (bf0be66, ohne eigenes Issue): Der Standard-Fill eines Frames ist jetzt Repeat, und im Dropdown steht Repeat vor Stretch.

Umgesetzt in `94a0a57`. - Die Textur hat jetzt die Property **`Nine-slice scale`** (Standard 1, steht neben `Filter`). Sie gilt für alle geslicten Frames der Textur: ein Randpixel wird so viele Sprite-Einheiten groß, wie der Wert angibt. Die UVs bleiben gleich, eine Ecke zeigt also dieselben Pixel, nur größer oder kleiner. - Ist ein Sprite zu klein für beide Ränder, werden sie wie bisher gemeinsam verkleinert, jetzt eben ausgehend von der skalierten Größe. - Bei `Repeat` wird die Kachelgröße mitskaliert. Sonst säße ein doppelt so großer Rand neben einem Muster in der alten Größe. - Werte, die keine Größe über 0 sind, gelten als 1. Dokumente ohne den Wert werden deshalb gezeichnet wie vorher. **Belegt:** `npm run check` → 1146 Tests grün. `GM_STEPS=37` → 14 Checks grün. Neu ist 37f, eine Pixelmessung auf der GPU: bei Faktor 3 ist der Rand 23 px breit (erwartet 24), zurück auf 1 sind es 7 px (erwartet 8). Nachtrag (`bf0be66`, ohne eigenes Issue): Der Standard-Fill eines Frames ist jetzt `Repeat`, und im Dropdown steht `Repeat` vor `Stretch`.
admin moved this to Done in Development on 2026-09-16 19:00:52 +02:00
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: meleki/feuerwerk#96