die textfarbe beim asset soll auch in diesem gold dargestellt werden, falls ein property des assets einen override hat.
ist somit relativ simpel: im prinzip genau das checken was im inspector erscheint wenn man das asset auswählt => gibt es wo einen override (gold) dann auch den assetname links im panel gold darstellen.
Umgesetzt (2026-09-09). Der Name einer Asset-Zeile im Assets-Panel ist gold, solange das
Asset irgendeine Property traegt, die der Inspector gold malen wuerde — dieselbe Farbe und
dasselbe Kriterium wie in der Hierarchie.
Die Regel steht als reine Funktion in src/core/properties/deviation.ts, neben dem schon
vorhandenen objectDeviates:
markedAssetSchema(asset) — die Zeilen, die der Asset-Inspector als "modified" markiert.
assetDeviates(asset) — ob davon eine von ihrem Schema-Default abweicht (isModified).
Panel und Inspector benutzen dieselbe Liste, statt die Bedingung zweimal zu formulieren: buildAssetSection baut seine Property-Zeilen jetzt aus markedAssetSchema(asset) (das ersetzt
die Fallunterscheidung Behavior/Rest, die dort vorher stand). Damit kann die Liste keine
Abweichung behaupten, die der Inspector danach nicht zeigt.
Ein Sonderfall, der eine Entscheidung brauchte: die Variablen eines Behaviors. Sie sind Teil
von schemaForAsset, aber der Inspector markiert sie bewusst nie (setModified ist dort ein
No-op) — ihr Default ist auf der Variablen selbst deklariert, der Asset-Wert ist dieser
Default. Ein Behavior mit speed = 200 ist deshalb nicht gold. Sonst waere im E2E-Fixture der
"Mover" gold gewesen, ohne dass der Inspector irgendwo etwas markiert haette — genau der
Widerspruch, den die Notiz ausschliesst.
Belegt (E2E-Modul 04, sechs neue Checks ueber den Test-Hook __gm.assetRowColor, der die
tatsaechliche Label-Farbe der Zeile liest):
Crate (Hoehe 60 statt 100, eigene Farbe) → #f2c84b, Main camera (alles auf Default) → #e6e8ee
Mover (Variable speed = 200 gegen deklarierten Default 0) → #e6e8ee, wie der Inspector
ein ↺ zurueckgesetzt → bleibt gold, weil die zweite Abweichung noch steht
die zweite auch zurueckgesetzt → wird schlicht, ohne Reload; Undo bringt die Marke zurueck
Screenshot 15-asset-reset: im Panel sind "Level 1" (Hintergrundfarbe), "Crate" und
"Crate collider" gold, "Main camera", "Mover", "Spawner" und das frisch angelegte "Sprite" weiss.
Übernommen aus todo-notes/done/overwrite-textfarbe-auch-bei-assets.md beim Umzug auf das Issue-System (2026-09-12).
Angelegt: 2026-09-09 · 633f01c — Add five notes raised while the override work was running
Abgeschlossen: 2026-09-09 · e9634f0 — Paint an asset's name gold while any of its values deviates
Commits dazwischen:d7c8d3e Measure a deviation against the base, not the innermost template
Gemeldet von: admin
die textfarbe beim asset soll auch in diesem gold dargestellt werden, falls ein property des assets einen override hat.
ist somit relativ simpel: im prinzip genau das checken was im inspector erscheint wenn man das asset auswählt => gibt es wo einen override (gold) dann auch den assetname links im panel gold darstellen.
---
**Umgesetzt (2026-09-09).** Der Name einer Asset-Zeile im Assets-Panel ist gold, solange das
Asset irgendeine Property traegt, die der Inspector gold malen wuerde — dieselbe Farbe und
dasselbe Kriterium wie in der Hierarchie.
Die Regel steht als reine Funktion in `src/core/properties/deviation.ts`, neben dem schon
vorhandenen `objectDeviates`:
- `markedAssetSchema(asset)` — die Zeilen, die der Asset-Inspector als "modified" markiert.
- `assetDeviates(asset)` — ob davon eine von ihrem Schema-Default abweicht (`isModified`).
**Panel und Inspector benutzen dieselbe Liste**, statt die Bedingung zweimal zu formulieren:
`buildAssetSection` baut seine Property-Zeilen jetzt aus `markedAssetSchema(asset)` (das ersetzt
die Fallunterscheidung Behavior/Rest, die dort vorher stand). Damit kann die Liste keine
Abweichung behaupten, die der Inspector danach nicht zeigt.
**Ein Sonderfall, der eine Entscheidung brauchte: die Variablen eines Behaviors.** Sie sind Teil
von `schemaForAsset`, aber der Inspector markiert sie bewusst nie (`setModified` ist dort ein
No-op) — ihr Default ist auf der Variablen selbst deklariert, der Asset-Wert *ist* dieser
Default. Ein Behavior mit `speed = 200` ist deshalb nicht gold. Sonst waere im E2E-Fixture der
"Mover" gold gewesen, ohne dass der Inspector irgendwo etwas markiert haette — genau der
Widerspruch, den die Notiz ausschliesst.
**Belegt** (E2E-Modul 04, sechs neue Checks ueber den Test-Hook `__gm.assetRowColor`, der die
tatsaechliche Label-Farbe der Zeile liest):
- Crate (Hoehe 60 statt 100, eigene Farbe) → `#f2c84b`, Main camera (alles auf Default) → `#e6e8ee`
- Mover (Variable `speed` = 200 gegen deklarierten Default 0) → `#e6e8ee`, wie der Inspector
- ein ↺ zurueckgesetzt → bleibt gold, weil die zweite Abweichung noch steht
- die zweite auch zurueckgesetzt → wird schlicht, **ohne Reload**; Undo bringt die Marke zurueck
Screenshot `15-asset-reset`: im Panel sind "Level 1" (Hintergrundfarbe), "Crate" und
"Crate collider" gold, "Main camera", "Mover", "Spawner" und das frisch angelegte "Sprite" weiss.
---
*Übernommen aus `todo-notes/done/overwrite-textfarbe-auch-bei-assets.md` beim Umzug auf das Issue-System (2026-09-12).*
- **Angelegt:** 2026-09-09 · `633f01c` — Add five notes raised while the override work was running
- **Abgeschlossen:** 2026-09-09 · `e9634f0` — Paint an asset's name gold while any of its values deviates
- **Commits dazwischen:** `d7c8d3e` Measure a deviation against the base, not the innermost template
- **Gemeldet von:** admin
admin
added the todo-note label 2026-09-12 15:03:50 +02:00
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.
die textfarbe beim asset soll auch in diesem gold dargestellt werden, falls ein property des assets einen override hat.
ist somit relativ simpel: im prinzip genau das checken was im inspector erscheint wenn man das asset auswählt => gibt es wo einen override (gold) dann auch den assetname links im panel gold darstellen.
Umgesetzt (2026-09-09). Der Name einer Asset-Zeile im Assets-Panel ist gold, solange das
Asset irgendeine Property traegt, die der Inspector gold malen wuerde — dieselbe Farbe und
dasselbe Kriterium wie in der Hierarchie.
Die Regel steht als reine Funktion in
src/core/properties/deviation.ts, neben dem schonvorhandenen
objectDeviates:markedAssetSchema(asset)— die Zeilen, die der Asset-Inspector als "modified" markiert.assetDeviates(asset)— ob davon eine von ihrem Schema-Default abweicht (isModified).Panel und Inspector benutzen dieselbe Liste, statt die Bedingung zweimal zu formulieren:
buildAssetSectionbaut seine Property-Zeilen jetzt ausmarkedAssetSchema(asset)(das ersetztdie Fallunterscheidung Behavior/Rest, die dort vorher stand). Damit kann die Liste keine
Abweichung behaupten, die der Inspector danach nicht zeigt.
Ein Sonderfall, der eine Entscheidung brauchte: die Variablen eines Behaviors. Sie sind Teil
von
schemaForAsset, aber der Inspector markiert sie bewusst nie (setModifiedist dort einNo-op) — ihr Default ist auf der Variablen selbst deklariert, der Asset-Wert ist dieser
Default. Ein Behavior mit
speed = 200ist deshalb nicht gold. Sonst waere im E2E-Fixture der"Mover" gold gewesen, ohne dass der Inspector irgendwo etwas markiert haette — genau der
Widerspruch, den die Notiz ausschliesst.
Belegt (E2E-Modul 04, sechs neue Checks ueber den Test-Hook
__gm.assetRowColor, der dietatsaechliche Label-Farbe der Zeile liest):
#f2c84b, Main camera (alles auf Default) →#e6e8eespeed= 200 gegen deklarierten Default 0) →#e6e8ee, wie der InspectorScreenshot
15-asset-reset: im Panel sind "Level 1" (Hintergrundfarbe), "Crate" und"Crate collider" gold, "Main camera", "Mover", "Spawner" und das frisch angelegte "Sprite" weiss.
Übernommen aus
todo-notes/done/overwrite-textfarbe-auch-bei-assets.mdbeim Umzug auf das Issue-System (2026-09-12).633f01c— Add five notes raised while the override work was runninge9634f0— Paint an asset's name gold while any of its values deviatesd7c8d3eMeasure a deviation against the base, not the innermost template