Im Inspector bietet die Texture-Auswahl eines Sprites ganz oben noch alle Animationen an, als „ (animation)“. Seit dem Animations-Rework (#97) ergibt das keinen Sinn mehr: Ein Sprite trägt eine Animation nicht mehr über texture, sie wird über Play animation auf einem Objekt abgespielt (Commit 193378e: „A sprite no longer wears an animation through texture“).
Übrig geblieben ist das in src/core/properties/textureRef.ts, das #97 nicht angefasst hat:
textureRefChoices() (Z. 31–38) setzt die Animationen vor die Bilder. Das ist die Liste für die Feldart texture (fieldFactory.ts:233). Sie gilt also überall, wo ein texture-Feld steht: Sprite, Particle-Texture und Graph-Felder/Literale der Art Texture.
textureRefLabel() (Z. 26) zeigt für eine Animations-Id deren Namen, als wäre der Verweis gültig.
TextureChoice.asset ist noch als TextureAsset | AnimationAsset typisiert.
Folge heute: Wählt man eine Animation, zeigt der Sprite im Scene- und im Game-View nichts. resolvePicture() (src/core/model/texture.ts:89) liefert für jede Id außer Textur oder Frame null. Das Feld zeigt aber einen normalen Namen statt eines fehlenden Verweises, man sieht also nicht, warum der Sprite leer ist.
Zu bauen
Die Texture-Auswahl bietet nur noch Texturen und ihre Frames an: textureRefChoices fällt weg, das Feld nutzt pictureChoices (die Liste, die schon die Tile-Bilder benutzen).
textureRefLabel behandelt eine Animations-Id wie jeden anderen ungültigen Verweis: <id>?.
TextureChoice.asset wird zu TextureAsset, Kommentare zu Animationen in textureRef.ts gehen raus.
Unit-Test: Die Auswahl enthält keine Animation, das Label zeigt eine Animations-Id als fehlend. e2e: In der Texture-Auswahl eines Sprites steht kein „(animation)“ mehr.
Offen (mit Vorschlag)
Alte Projekte, in denen ein Sprite noch eine Animations-Id in texture hat: Beim Laden stillschweigend leeren, oder so lassen und als <id>? anzeigen? Vorschlag: so lassen. Das ist dieselbe Regel wie bei anderen hängenden Verweisen (Tile-Bilder, Animations-Root): sichtbar als fehlend, nichts wird still weggeworfen. Gezeichnet wird ohnehin nichts, am Aussehen ändert sich also nichts.
Hinweis im Feld? z. B. „Animation – use Play animation“ statt <id>?. Vorschlag: nein, <id>? reicht. Der Fall kommt nur aus Projekten von vor #97.
## Befund
Im Inspector bietet die Texture-Auswahl eines Sprites ganz oben noch alle Animationen an, als „<Name> (animation)“. Seit dem Animations-Rework (#97) ergibt das keinen Sinn mehr: Ein Sprite trägt eine Animation nicht mehr über `texture`, sie wird über *Play animation* auf einem Objekt abgespielt (Commit `193378e`: „A sprite no longer wears an animation through `texture`“).
Übrig geblieben ist das in `src/core/properties/textureRef.ts`, das #97 nicht angefasst hat:
- `textureRefChoices()` (Z. 31–38) setzt die Animationen vor die Bilder. Das ist die Liste für die Feldart `texture` (`fieldFactory.ts:233`). Sie gilt also überall, wo ein `texture`-Feld steht: **Sprite**, **Particle-Texture** und Graph-Felder/Literale der Art Texture.
- `textureRefLabel()` (Z. 26) zeigt für eine Animations-Id deren Namen, als wäre der Verweis gültig.
- `TextureChoice.asset` ist noch als `TextureAsset | AnimationAsset` typisiert.
**Folge heute:** Wählt man eine Animation, zeigt der Sprite im Scene- und im Game-View **nichts**. `resolvePicture()` (`src/core/model/texture.ts:89`) liefert für jede Id außer Textur oder Frame `null`. Das Feld zeigt aber einen normalen Namen statt eines fehlenden Verweises, man sieht also nicht, warum der Sprite leer ist.
## Zu bauen
- Die Texture-Auswahl bietet nur noch **Texturen und ihre Frames** an: `textureRefChoices` fällt weg, das Feld nutzt `pictureChoices` (die Liste, die schon die Tile-Bilder benutzen).
- `textureRefLabel` behandelt eine Animations-Id wie jeden anderen ungültigen Verweis: `<id>?`.
- `TextureChoice.asset` wird zu `TextureAsset`, Kommentare zu Animationen in `textureRef.ts` gehen raus.
- Unit-Test: Die Auswahl enthält keine Animation, das Label zeigt eine Animations-Id als fehlend. e2e: In der Texture-Auswahl eines Sprites steht kein „(animation)“ mehr.
## Offen (mit Vorschlag)
1. **Alte Projekte, in denen ein Sprite noch eine Animations-Id in `texture` hat:** Beim Laden stillschweigend leeren, oder so lassen und als `<id>?` anzeigen?
*Vorschlag:* so lassen. Das ist dieselbe Regel wie bei anderen hängenden Verweisen (Tile-Bilder, Animations-Root): sichtbar als fehlend, nichts wird still weggeworfen. Gezeichnet wird ohnehin nichts, am Aussehen ändert sich also nichts.
2. **Hinweis im Feld?** z. B. „Animation – use Play animation“ statt `<id>?`.
*Vorschlag:* nein, `<id>?` reicht. Der Fall kommt nur aus Projekten von vor #97.
Das Texture-Feld bietet nur noch Bilder an: jede Textur mit ihren Frames darunter. Es nutzt jetzt dieselbe Liste pictureChoices wie die Tile-Bilder; textureRefChoices ist entfernt. Gilt für jedes Texture-Feld (Sprite, Particle, Graph-Felder).
Antwort 1: Eine Animations-Id aus einem älteren Projekt bleibt stehen und erscheint als fehlender Verweis <id>?. Beim Laden wird nichts still geleert.
Antwort 2: Kein eigener Hinweistext im Feld.
TextureChoice.asset ist nur noch TextureAsset.
Tests
npm run check: 1349 Tests (vorher 1347), CHECK EXIT 0.
2 neue Unit-Tests (tests/core/texture.test.ts): Auswahl enthält Textur und Frame, keine Animation; Label zeigt eine Animations-Id als <id>?.
2 neue e2e-Checks in Modul 12, Schritt 12e-ii: Feld zeigt tex-anim?, Dropdown zeigt ["None","pasted"]. Der Schritt stellt den alten Feldwert wieder her.
Lokal: GM_STEPS=1-12 → ALL PASSED – 367 checks, GM_STEPS=1-21 → ALL PASSED – 585 checks.
Gegenproben: Animation im Label wieder eingebaut → 1 Unit-Test rot; alte Liste im Feld wieder eingebaut → e2e rot ("● Walk (animation)"). Originale per cmp bestätigt.
Doku
Wiki Textures.md: Absatz zur Texture-Auswahl und zu alten Animations-Ids.
Check-Summe 1034 in README und Development.md (rechnerisch, CI-Bestätigung ausstehend).
Erledigt in c2fd536 (Wiki 2f2ccdf).
## Umgesetzt
- Das Texture-Feld bietet nur noch Bilder an: jede Textur mit ihren Frames darunter. Es nutzt jetzt dieselbe Liste `pictureChoices` wie die Tile-Bilder; `textureRefChoices` ist entfernt. Gilt für jedes Texture-Feld (Sprite, Particle, Graph-Felder).
- **Antwort 1:** Eine Animations-Id aus einem älteren Projekt bleibt stehen und erscheint als fehlender Verweis `<id>?`. Beim Laden wird nichts still geleert.
- **Antwort 2:** Kein eigener Hinweistext im Feld.
- `TextureChoice.asset` ist nur noch `TextureAsset`.
## Tests
- `npm run check`: 1349 Tests (vorher 1347), CHECK EXIT 0.
- 2 neue Unit-Tests (`tests/core/texture.test.ts`): Auswahl enthält Textur und Frame, keine Animation; Label zeigt eine Animations-Id als `<id>?`.
- 2 neue e2e-Checks in Modul 12, Schritt 12e-ii: Feld zeigt `tex-anim?`, Dropdown zeigt `["None","pasted"]`. Der Schritt stellt den alten Feldwert wieder her.
- Lokal: `GM_STEPS=1-12` → ALL PASSED – 367 checks, `GM_STEPS=1-21` → ALL PASSED – 585 checks.
- Gegenproben: Animation im Label wieder eingebaut → 1 Unit-Test rot; alte Liste im Feld wieder eingebaut → e2e rot (`"● Walk (animation)"`). Originale per `cmp` bestätigt.
## Doku
- Wiki `Textures.md`: Absatz zur Texture-Auswahl und zu alten Animations-Ids.
- Check-Summe 1034 in README und `Development.md` (rechnerisch, CI-Bestätigung ausstehend).
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.
Befund
Im Inspector bietet die Texture-Auswahl eines Sprites ganz oben noch alle Animationen an, als „ (animation)“. Seit dem Animations-Rework (#97) ergibt das keinen Sinn mehr: Ein Sprite trägt eine Animation nicht mehr über
texture, sie wird über Play animation auf einem Objekt abgespielt (Commit193378e: „A sprite no longer wears an animation throughtexture“).Übrig geblieben ist das in
src/core/properties/textureRef.ts, das #97 nicht angefasst hat:textureRefChoices()(Z. 31–38) setzt die Animationen vor die Bilder. Das ist die Liste für die Feldarttexture(fieldFactory.ts:233). Sie gilt also überall, wo eintexture-Feld steht: Sprite, Particle-Texture und Graph-Felder/Literale der Art Texture.textureRefLabel()(Z. 26) zeigt für eine Animations-Id deren Namen, als wäre der Verweis gültig.TextureChoice.assetist noch alsTextureAsset | AnimationAssettypisiert.Folge heute: Wählt man eine Animation, zeigt der Sprite im Scene- und im Game-View nichts.
resolvePicture()(src/core/model/texture.ts:89) liefert für jede Id außer Textur oder Framenull. Das Feld zeigt aber einen normalen Namen statt eines fehlenden Verweises, man sieht also nicht, warum der Sprite leer ist.Zu bauen
textureRefChoicesfällt weg, das Feld nutztpictureChoices(die Liste, die schon die Tile-Bilder benutzen).textureRefLabelbehandelt eine Animations-Id wie jeden anderen ungültigen Verweis:<id>?.TextureChoice.assetwird zuTextureAsset, Kommentare zu Animationen intextureRef.tsgehen raus.Offen (mit Vorschlag)
texturehat: Beim Laden stillschweigend leeren, oder so lassen und als<id>?anzeigen?Vorschlag: so lassen. Das ist dieselbe Regel wie bei anderen hängenden Verweisen (Tile-Bilder, Animations-Root): sichtbar als fehlend, nichts wird still weggeworfen. Gezeichnet wird ohnehin nichts, am Aussehen ändert sich also nichts.
<id>?.Vorschlag: nein,
<id>?reicht. Der Fall kommt nur aus Projekten von vor #97.Erledigt in
c2fd536(Wiki 2f2ccdf).Umgesetzt
pictureChoiceswie die Tile-Bilder;textureRefChoicesist entfernt. Gilt für jedes Texture-Feld (Sprite, Particle, Graph-Felder).<id>?. Beim Laden wird nichts still geleert.TextureChoice.assetist nur nochTextureAsset.Tests
npm run check: 1349 Tests (vorher 1347), CHECK EXIT 0.tests/core/texture.test.ts): Auswahl enthält Textur und Frame, keine Animation; Label zeigt eine Animations-Id als<id>?.tex-anim?, Dropdown zeigt["None","pasted"]. Der Schritt stellt den alten Feldwert wieder her.GM_STEPS=1-12→ ALL PASSED – 367 checks,GM_STEPS=1-21→ ALL PASSED – 585 checks."● Walk (animation)"). Originale percmpbestätigt.Doku
Textures.md: Absatz zur Texture-Auswahl und zu alten Animations-Ids.Development.md(rechnerisch, CI-Bestätigung ausstehend).