Surface throw-site file:line on caught Squirrel errors, skip empty deferred graphs that hitch orbit, and drive voxel place/break from a single Camera3D.
Co-authored-by: Cursor <cursoragent@cursor.com>
Runtime error-handler sink: wire Runtime::setErrorHandler (previously dead)
into DevTool via a new attach(Runtime&) overload, so compile/reflect/unload
errors reach the slicer/report without double-reporting uncaught script
errors. Run.cpp and the MCP host use the Runtime overload.
State-driven bug reproduction: add eve::dev::ScenarioRecorder (baseline
snapshot + per-frame input/event stream). event::Event gains a poll-observer
hook; recording captures each consumed message per frame and persists
{baseline, frames, errorReport, errorSite} to a JSON scenario. Replay
restores the baseline and re-injects the recorded events to reproduce.
Exposed as eve.dev.scenario* and driven per-frame from load.nut.
Tests: test/runtime_error_sink.cpp, test/scenario_recorder.cpp (deterministic
reproduction verified); devtools + event suites stay green.