Commit Graph
94 Commits
Author SHA1 Message Date
irrlichtandClaude Opus 5 7f87dbca35 Post-Effekt-Kette als Gerüst, Dither als erstes Glied
Bildweite Effekte gehören nicht in den Szenen-Shader. Cel-Ramp und
Sobel-Outline sollen dazukommen, ohne einander (oder scene.wgsl) zu
kennen — also eine Kette gleichrangiger Fullscreen-Pässe zwischen
Szene und Blit, Ping-Pong über zwei interne Targets.

Der Vertrag ist für alle gleich: Farbtextur rein (group 0/binding 0),
Farbe raus. Die Vertex-Stufe teilen sich alle über fullscreen.wgsl,
damit eine Effekt-Datei nur aus ihrem fs_main besteht. Ein neuer Effekt
ist eine .wgsl plus eine Zeile in EFFECTS. Bei 640×480 kostet ein
eigener Pass je Effekt praktisch nichts — deshalb kein Über-Shader.

Erster Bewohner ist die RGB555-Quantisierung samt Bayer-Dither, aus
scene.wgsl herausgelöst. Das UI zeichnet jetzt in einem eigenen Pass
hinter der Kette, sonst würde der Dither auch den Text quantisieren,
den er bisher nicht anfasst; damit braucht SpritePass kein
Tiefen-Attachment mehr.

Geschaltet wird über den exec-Trichter (`post`, `post <e> on|off`).
Die Namen kennt nur das Frontend: es meldet seine Kette beim Start in
engine::post an, wie render::audio seine Emitter aus engine::audio
zieht. Der Kern bekommt dadurch keine GPU zu sehen.

Das Bild soll unverändert bleiben — gleicher Bayer-Kernel, gleiche
Koordinaten, gleiche Reihenfolge relativ zum UI. Verifiziert sind
Tests, clippy und ein Start ohne Validation-Fehler; ein Pixelvergleich
steht aus.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-28 23:31:49 +02:00
irrlichtandClaude Opus 5 8bee8322c3 noclip gestrichen
Der Befehl war ein Toggle zwischen Play und Free — als getippter
Konsolen-Befehl die falsche Form (man sieht nicht, wohin er schaltet)
und deckungsgleich mit `mode play` / `mode free`. Keine Taste, kein
Menü-Knopf, keine Referenz in assets/ hing daran.

Damit stimmt auch die Doku von set_mode wieder: `menu` und die
SetMode-Action sind jetzt tatsächlich die einzigen Schreibpfade.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-28 23:31:49 +02:00
irrlicht a3ace75c81 Collider an Cinema Scene 2026-08-28 23:31:49 +02:00
irrlicht 87500e13da Dokumentation der Blender-Interaktion 2026-08-28 23:31:48 +02:00
irrlicht bf2cb25836 map builts 2026-08-28 23:31:48 +02:00
irrlicht 50b7b86944 refactor 2026-08-28 23:31:48 +02:00
irrlicht 3571106251 block slope sliding 2026-08-28 23:31:48 +02:00
Nebeltier 7b7228a248 Update Cinemaroom.blend, Tiffany_model.rescaled.blend, Tiffany_model_color.blend, and 22 more files 2026-08-17 21:12:58 +02:00
Nebeltier 7fd0e3ec5b Update forest.blend 2026-08-17 13:12:43 +02:00
admin 0f0795c47f Wald 2026-08-12 00:08:01 +02:00
Nebeltier 0522bda250 i 2026-08-11 19:58:48 +02:00
irrlicht 075c49200e nails refferenzbilder 2026-07-16 20:37:43 +02:00
irrlichtandClaude Fable 5 01f299aa4f Hausputz: UV-Doppel-Flip raus, tga::load → Result, hide_object entfernt
UVs laufen jetzt durchgehend in glTF-/tga-Konvention (der Flip-Hin-und-
Zurück stammte vom gelöschten OBJ-Pfad). Kaputte Welt-Texturen fallen auf
den Platzhalter statt zu panicken. Player::eye() statt vierfacher
Augenpunkt-Rechnung. hide_object war ein irl3d-Demo-Relikt ohne
Konsument.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 20:37:18 +02:00
irrlichtandClaude Fable 5 31e1942870 Audio: WAV + tinyaudio, Ambient-Emitter mit Distance ramps; artist.md
engine/wav.rs (Decoder) und render/audio.rs (Mixer, 8 SFX-Voices +
Loop-Voice je Emitter) aus irl3d eingebettet; Emitter-Logik headless in
engine/audio.rs. Empties mit sound/radius-Property senden positional,
play_sound-Signale laufen als SFX über Session::take_sounds.
Platzhalter-Sounds + Emitter in der Testszene; artist.md fasst die
Content-Regeln für die Autorin zusammen.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 20:37:18 +02:00
irrlichtandClaude Fable 5 56d92cdb46 Map-Loader entfernt: glTF ist das einzige 3D-Format
engine/map.rs + render/brush.rs raus, Welt kommt komplett aus .glb.
Spawn via Empty mit role=spawn statt info_player_start; testscene.glb
(Boden, Wände, Spawn) ersetzt test.map.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 20:37:18 +02:00
irrlichtandClaude Fable 5 186ee9a817 640×480 (VGA) intern, UI auf EGA 8×14
Text-getrieben → 80-Spalten-Textmodus-Look; RGB555+Dither bleiben.
Menü-/Dialog-Metriken an die Fonthöhe angepasst, CGA bleibt fürs HUD.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 20:37:18 +02:00
irrlichtandClaude Fable 5 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
irrlichtandClaude Opus 4.8 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
irrlichtandClaude Opus 4.8 67c4a366c7 Ink: KV-Auto-Import und Crash-Härtung
sync_to_kv übernimmt jetzt alle im Skript deklarierten VARs in den
KV-Store (Auto-Import per Quelltext-Scan, da bladeink keine Enumeration
bietet); `_`-Prefix bleibt skript-lokal. So wandern Werte wie
snaks/favor_nails automatisch in per start_ink verkettete Folgeskripte.

cont()/choose() melden Ink-Runtime-Fehler nach stderr und beenden den
Dialog, statt zu panicken — ein auslaufender Skript-Pfad darf das
laufende Spiel nicht crashen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-16 20:37:18 +02:00
Nebeltier 31134f1494 Update Treehouse_wohnkueche.blend 2026-07-12 00:26:21 +02:00
Nebeltier 030f54b886 added some treehouse 2026-07-11 22:49:21 +02:00
Nebeltier f2fe8736f2 wolverine 2026-07-11 16:38:16 +02:00
Nebeltier 7cd7335f03 Update cinemaroom_smaller.blend 2026-07-11 14:54:18 +02:00
Nebeltier f782c8116e new cinema room 2026-07-11 14:53:25 +02:00
irrlicht c9e463bb9a Cleanup 2026-07-11 00:14:41 +02:00
irrlicht 87dd8e1190 changed test map 2026-07-01 00:32:05 +02:00
irrlicht 3bffb82560 added blender tutorial video 2026-07-01 00:32:05 +02:00
irrlicht f181bf4de9 Renamed Play State 2026-07-01 00:32:05 +02:00
Nebeltier 7dd6bfc40c Update cinemaseat.blend and cinemaseat.blend1 2026-06-30 21:50:45 +02:00
Nebeltier 0d080a8d94 Merge branch 'main' of https://git.bnd.wtf/irrlicht/wds.git 2026-06-30 21:21:27 +02:00
Nebeltier 613af7d7ea Update cinema_test.blend, cinemaseat.blend, and tiffy_torso.png 2026-06-30 21:19:46 +02:00
irrlicht b10641ee3c Blender tutorial in sources 2026-06-25 22:22:05 +02:00
Nebeltier 5b10d63970 Update Tiffany_model_color.blend, Tiffany_rigtest1.blend, and rigtest_1.blend 2026-06-25 21:49:25 +02:00
irrlicht fcdd8306d2 Deleted blend11 2026-06-24 23:13:39 +02:00
irrlicht 01fb83d05f Deleted blend11 2026-06-24 23:12:28 +02:00
Nebeltier 34024bab96 Update Tiffany_model.blend1 2026-06-24 20:58:27 +02:00
Nebeltier 40df66e7cc Update Tiffany_model.blend and Tiffany_model.blend1 2026-06-24 19:44:12 +02:00
Nebeltier 61c628876f Update Tiffany_model.blend 2026-06-23 22:29:11 +02:00
irrlicht 9aebddde86 Changed Player start 2026-06-17 02:06:45 +02:00
irrlicht 8ae566d627 Teppich-Varianten eingebaut 2026-06-17 01:55:56 +02:00
Nebeltier 6c4f2e640a test datein gelöscht 2026-06-16 20:59:25 +02:00
irrlicht 949a076ec7 Mipmapping an den Texturen 2026-06-16 10:39:58 +02:00
irrlicht 14961d903b Testmap mit Stein 2026-06-16 09:49:11 +02:00
irrlicht ccac320e0e Sonderzeichen in person.ink ersetzt 2026-06-15 11:52:47 +02:00
irrlicht ff3e66ae3e Scan auf nicht-CP437-Zeichen in Ink-Buildscript 2026-06-15 11:51:53 +02:00
irrlicht 7c92f046a1 nicht-CP437-Zeichen ersetzt 2026-06-15 11:51:20 +02:00
irrlicht 9de6a0b5a9 Acute Accents zu Apostrophen-Zeichen 2026-06-15 11:44:47 +02:00
irrlicht 4603a64e10 Kommasetzung, wortstellung 2026-06-15 11:42:04 +02:00
irrlicht 36a172d07f Typos korrigiert 2026-06-15 11:35:29 +02:00
irrlicht cb85c94f56 Split cinema ink script into two 2026-06-15 11:17:21 +02:00