Zitat aus der readme: "Unreferenced image files are never collected."
Ich würde sagen dass soll vorerst auch so bleiben.
Was passt:
drag and drop file in den editor => textur wird hochgeladen und passende asset wird erstellt => das soll so bleiben, das passt
Was wir auch haben aber ändern:
klickt man auf das + => Texture, dann öffnet sich der File System Browser.
Anstelle des file system browser => ein dialog mit allen images die am server existieren.
auswählen => ok, dann wird es wiederverwendet => dialog schließt sich => texture asset mit ausgewählten image wird erstellt.
oder hochladen button => file system browser => OK => dialog schließt sich => texture asset mit hochgeladenen image wird erstellt (im prinzip das was wir jetzt auch haben)
Umgesetzt (2026-09-09). Der Weg ueber + → Texture oeffnet jetzt einen Bild-Dialog statt
des File-Browsers; Drag&Drop und Ctrl+V bleiben unveraendert, und gesammelt wird weiterhin nichts.
Der Dialog (src/editor/texture/ImagePicker.ts) zeigt jede Datei, die der Server haelt, als
Kachel mit Vorschaubild. Auswaehlen und Use image legt ein Texture-Asset auf diese Datei an —
ohne Upload, die Bytes liegen ja schon da. Upload… oeffnet den File-Browser und muendet in
genau denselben Import wie ein Drop. Doppelklick auf eine Kachel ist die Kurzform von Use image.
Kacheln, die das Projekt schon traegt, sind mit dem Asset-Namen beschriftet (statt mit der
Pixelgroesse); eine davon zu waehlen legt kein zweites Asset an, sondern selektiert das
vorhandene — zwei Assets auf einer Datei wuerden sich sonst ueber filter streiten.
Zwei Aenderungen, die dazu noetig waren:
GET ?r=textures liefert jetzt auch width/height (aus dem Datei-Header). Ein Texture-Asset
haelt die Pixelgroesse, und der Dialog haette sie sonst nur ueber das geladene Vorschaubild
gehabt — dann haenge die Richtigkeit des Assets am Ladezustand der GPU-Textur.
TextureLibrary.load(file) neben get(ref): laedt, ohne den scaleMode anzufassen. Ein
Vorschaubild darf den Filter eines Bildes nicht umstellen, das die Szene gerade zeichnet.
Belegt (tools/e2e/12-textures.mjs, Block 19e): ein zweites Bild wird eingefuegt, das Asset
per Undo wieder entfernt — die Datei bleibt auf dem Server, das Projekt kennt sie nicht mehr.
Genau die taucht dann im Dialog auf, ist nicht als "im Projekt" markiert, und ueber Use image
entsteht daraus wieder ein Asset mit 24 × 24 aus dem Server-Datensatz. Zusaetzlich geprueft: der
Dialog zeigt exakt die Dateiliste von GET ?r=textures.
Übernommen aus todo-notes/done/unreferenced-image-files.md beim Umzug auf das Issue-System (2026-09-12).
Angelegt: 2026-09-09 · e9634f0 — Paint an asset's name gold while any of its values deviates
Abgeschlossen: 2026-09-09 · 88ec367 — Offer the pictures the server already holds when adding a texture
Gemeldet von: admin
Zitat aus der readme: "Unreferenced image files are never collected."
Ich würde sagen dass soll vorerst auch so bleiben.
Was passt:
drag and drop file in den editor => textur wird hochgeladen und passende asset wird erstellt => das soll so bleiben, das passt
Was wir auch haben aber ändern:
klickt man auf das `+` => `Texture`, dann öffnet sich der File System Browser.
Anstelle des file system browser => ein dialog mit allen images die am server existieren.
- auswählen => ok, dann wird es wiederverwendet => dialog schließt sich => texture asset mit ausgewählten image wird erstellt.
- oder hochladen button => file system browser => OK => dialog schließt sich => texture asset mit hochgeladenen image wird erstellt (im prinzip das was wir jetzt auch haben)
---
**Umgesetzt (2026-09-09).** Der Weg ueber `+` → `Texture` oeffnet jetzt einen Bild-Dialog statt
des File-Browsers; Drag&Drop und Ctrl+V bleiben unveraendert, und gesammelt wird weiterhin nichts.
**Der Dialog** (`src/editor/texture/ImagePicker.ts`) zeigt jede Datei, die der Server haelt, als
Kachel mit Vorschaubild. Auswaehlen und **Use image** legt ein Texture-Asset auf diese Datei an —
ohne Upload, die Bytes liegen ja schon da. **Upload…** oeffnet den File-Browser und muendet in
genau denselben Import wie ein Drop. Doppelklick auf eine Kachel ist die Kurzform von *Use image*.
Kacheln, die das Projekt schon traegt, sind mit dem **Asset-Namen** beschriftet (statt mit der
Pixelgroesse); eine davon zu waehlen legt kein zweites Asset an, sondern selektiert das
vorhandene — zwei Assets auf einer Datei wuerden sich sonst ueber `filter` streiten.
**Zwei Aenderungen, die dazu noetig waren:**
- `GET ?r=textures` liefert jetzt auch `width`/`height` (aus dem Datei-Header). Ein Texture-Asset
haelt die Pixelgroesse, und der Dialog haette sie sonst nur ueber das geladene Vorschaubild
gehabt — dann haenge die Richtigkeit des Assets am Ladezustand der GPU-Textur.
- `TextureLibrary.load(file)` neben `get(ref)`: laedt, **ohne** den `scaleMode` anzufassen. Ein
Vorschaubild darf den Filter eines Bildes nicht umstellen, das die Szene gerade zeichnet.
**Belegt** (`tools/e2e/12-textures.mjs`, Block 19e): ein zweites Bild wird eingefuegt, das Asset
per Undo wieder entfernt — die Datei bleibt auf dem Server, das Projekt kennt sie nicht mehr.
Genau die taucht dann im Dialog auf, ist *nicht* als "im Projekt" markiert, und ueber *Use image*
entsteht daraus wieder ein Asset mit 24 × 24 aus dem Server-Datensatz. Zusaetzlich geprueft: der
Dialog zeigt exakt die Dateiliste von `GET ?r=textures`.
---
*Übernommen aus `todo-notes/done/unreferenced-image-files.md` beim Umzug auf das Issue-System (2026-09-12).*
- **Angelegt:** 2026-09-09 · `e9634f0` — Paint an asset's name gold while any of its values deviates
- **Abgeschlossen:** 2026-09-09 · `88ec367` — Offer the pictures the server already holds when adding a texture
- **Gemeldet von:** admin
admin
added the todo-note label 2026-09-12 15:03:51 +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.
Zitat aus der readme: "Unreferenced image files are never collected."
Ich würde sagen dass soll vorerst auch so bleiben.
Was passt:
drag and drop file in den editor => textur wird hochgeladen und passende asset wird erstellt => das soll so bleiben, das passt
Was wir auch haben aber ändern:
klickt man auf das
+=>Texture, dann öffnet sich der File System Browser.Anstelle des file system browser => ein dialog mit allen images die am server existieren.
Umgesetzt (2026-09-09). Der Weg ueber
+→Textureoeffnet jetzt einen Bild-Dialog stattdes File-Browsers; Drag&Drop und Ctrl+V bleiben unveraendert, und gesammelt wird weiterhin nichts.
Der Dialog (
src/editor/texture/ImagePicker.ts) zeigt jede Datei, die der Server haelt, alsKachel mit Vorschaubild. Auswaehlen und Use image legt ein Texture-Asset auf diese Datei an —
ohne Upload, die Bytes liegen ja schon da. Upload… oeffnet den File-Browser und muendet in
genau denselben Import wie ein Drop. Doppelklick auf eine Kachel ist die Kurzform von Use image.
Kacheln, die das Projekt schon traegt, sind mit dem Asset-Namen beschriftet (statt mit der
Pixelgroesse); eine davon zu waehlen legt kein zweites Asset an, sondern selektiert das
vorhandene — zwei Assets auf einer Datei wuerden sich sonst ueber
filterstreiten.Zwei Aenderungen, die dazu noetig waren:
GET ?r=texturesliefert jetzt auchwidth/height(aus dem Datei-Header). Ein Texture-Assethaelt die Pixelgroesse, und der Dialog haette sie sonst nur ueber das geladene Vorschaubild
gehabt — dann haenge die Richtigkeit des Assets am Ladezustand der GPU-Textur.
TextureLibrary.load(file)nebenget(ref): laedt, ohne denscaleModeanzufassen. EinVorschaubild darf den Filter eines Bildes nicht umstellen, das die Szene gerade zeichnet.
Belegt (
tools/e2e/12-textures.mjs, Block 19e): ein zweites Bild wird eingefuegt, das Assetper Undo wieder entfernt — die Datei bleibt auf dem Server, das Projekt kennt sie nicht mehr.
Genau die taucht dann im Dialog auf, ist nicht als "im Projekt" markiert, und ueber Use image
entsteht daraus wieder ein Asset mit 24 × 24 aus dem Server-Datensatz. Zusaetzlich geprueft: der
Dialog zeigt exakt die Dateiliste von
GET ?r=textures.Übernommen aus
todo-notes/done/unreferenced-image-files.mdbeim Umzug auf das Issue-System (2026-09-12).e9634f0— Paint an asset's name gold while any of its values deviates88ec367— Offer the pictures the server already holds when adding a texture