Merge commit 'c3fc896' into lang/foundations

This commit is contained in:
Orkun ÇAKILKAYA 2026-09-29 22:15:58 +03:00
commit edc94e49e8
13 changed files with 227 additions and 54 deletions

11
changes/r3d-fault-loud.md Normal file
View file

@ -0,0 +1,11 @@
bump: minor
type: fix
**A renderer that cannot draw says so and stops.** A `LUDIC_HOME` handed over with its `~` unexpanded
(`env LUDIC_HOME=~/x`) left render3d without its shaders: "vulkan cannot start" was printed, and the run
went on, logging "no SPIR-V variant" for every program - a world with no terrain, shadows or impostors.
Now `r3d_home` puts a leading `~` under `$HOME`; the SPIR-V manifest ends with `E <count>` (written by
`ludic-dev shaders`) and one without it, or miscounted, is refused; and every such failure is a fault
(`gpu_fault.ludic`): `r3d_open` and each `r3d_load_step` return false on one, a program with no variant is
listed, and a game asks `r3d_fault()` and ends with `r3d_fault_exit(code)`, which prints the reason and
every missing program. `tests/manifest_test.ludic` holds the parse, the refusals, `r3d_tilde` and that
every program in variants.list resolves in the shipped manifest.