TGA-Loader raus, alles PNG

Der einzige verbliebene TGA-Nutzen — UI, Fonts, Platzhalter — läuft jetzt
über engine::image::load (derselbe PNG-Decoder wie für die .glb).
engine::tga ist damit weg.

- image::load(path): PNG von der Platte, Format per Signatur.
- Fonts/Cursor/Ornamente/Platzhalter als .png (Fonts + UI neu aus dem
  Quellmaterial exportiert, placeholder aus der alten .tga konvertiert).
- Test loads_the_real_project_assets deckt die fünf Projekt-Assets ab.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0196AM4UyAJEXVtPvp5DdKr8
This commit is contained in:
irrlicht
2026-09-02 00:33:04 +02:00
co-authored by Claude Sonnet 5
parent fc3494466e
commit b72b90c50d
18 changed files with 45 additions and 167 deletions
+4 -4
View File
@@ -14,11 +14,12 @@
//! so wie story_ctrl Tags zurückgibt, statt selbst `signals::dispatch` zu
//! rufen.
//!
//! `gltf`, `tga`, `image` und `wav` sind reine Decoder (Bytes → owned Daten);
//! `gltf`, `image` und `wav` sind reine Decoder (Bytes → owned Daten);
//! `gltf` ist DER 3D-Pfad und produziert das `model::Model`, den Vertrag
//! zwischen Loader und seinen Konsumenten (collision, trigger, audio,
//! render::props) — samt der Welt-Texturen, die als PNG in der `.glb` liegen
//! (dekodiert über `image`, das den RGBA8-`Image`-Typ auch für `tga` stellt).
//! render::props) — samt der Welt-Texturen, die als PNG in der `.glb` liegen.
//! `image` dekodiert PNG (eingebettet wie von der Platte) und stellt den
//! RGBA8-`Image`-Typ für alle.
//! `audio` ist die Emitter-Logik zum Frontend-Treiber render::audio, `player`
//! die First-Person-Physik auf der Welt aus `collision`. Post-Effekte kennt
//! der Kern nur als `game::Action::SetPost` — die Kette lebt in render::post.
@@ -35,6 +36,5 @@ pub mod model;
pub mod player;
pub mod signals;
pub mod story_ctrl;
pub mod tga;
pub mod trigger;
pub mod wav;