Commit Graph

11 Commits

Author SHA1 Message Date
irrlicht 9db3929750 Collider via collide-Property + Quickhull, OBJ-Pfad entfernt
col_*-Namenspräfix raus: Rollen steuern nur noch Custom Properties
(collide=1 sichtbar+Collider, "proxy" unsichtbar, signal wie gehabt).
Collider sind die konvexe Hülle der Vertices — konkave Meshes erlaubt.
glb ist der einzige Modell-Pfad; suzanne.obj → suzanne.glb.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 20:37:18 +02:00
irrlicht f7bfdb4a0b Blender-Import-Pipeline: glTF/OBJ, col_*-Proxies, Trigger
Blender wird das Haupt-3D-Tool: zwei Loader (engine/gltf.rs für .glb als
Hauptpfad, engine/obj.rs aus irl3d eingebettet) liefern ein neutrales
engine/model.rs::Model. Loader sind reine Dekoder; das Frontend zieht sie
und schiebt das Ergebnis per Session::load_props in den State, der
Renderer baut sein Mesh (render/props.rs, verschmolzen mit der
Brush-Welt über eine geteilte Texturliste).

glTF trägt Blender-Custom-Properties (node.extras → Object::props) und
Empties (Nodes ohne Mesh) als Entity-Kanal. Namenskonvention: `col_*` =
unsichtbarer Collision-Proxy, aus dem collision::add_model konvexe
Ebenen-Sets baut (konvex-only, daher kein Default-Collider auf
Sichtgeometrie).

Trigger (engine/trigger.rs) hängen an der Custom Property `signal`:
mit Collider = Point-and-Click-Ziel (Session::pick raycastet aus der
Bildmitte, Treffer läuft durch den `use <name>`-Trichter), ohne Collider
= unsichtbare Betretens-Zone, die einmal je Eintritt feuert. Gefeuert
wird nur über Session::exec — der Eingabe-Trichter bleibt der einzige
Weg in den State.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-16 20:37:18 +02:00
irrlicht c9e463bb9a Cleanup 2026-07-11 00:14:41 +02:00
irrlicht f181bf4de9 Renamed Play State 2026-07-01 00:32:05 +02:00
irrlicht 3ba7ef92ad Start Ink from Ink 2026-06-15 11:17:06 +02:00
irrlicht 93480150e5 Mode als Action 2026-06-15 09:46:13 +02:00
irrlicht b6aca99d0c First Person controller nach Dialog 2026-06-15 09:41:02 +02:00
irrlicht a8bfaaee36 First Person Controller 2026-06-14 16:20:47 +02:00
irrlicht 983104a173 Initial Mode set to Menu 2026-06-13 21:05:07 +02:00
irrlicht d584e418f5 Menu als state im Mode-System 2026-06-13 20:42:18 +02:00
irrlicht 48c499e356 centralized state 2026-06-13 13:44:02 +02:00