diff --git a/docs/re/canary-scripted-input-traps.md b/docs/re/canary-scripted-input-traps.md index e3a9d39..6d421f5 100644 --- a/docs/re/canary-scripted-input-traps.md +++ b/docs/re/canary-scripted-input-traps.md @@ -315,3 +315,40 @@ arms under whatever load was present, and the latest title of all (268 s) window is a live hypothesis that the data collected so far cannot exclude, and the honest next measurement is the one now being taken — the same navigation on an **idle** box, with nothing else running. + +## The black screen has a trigger: loading content (2026-08-19) + +Running the same navigation with `--eh_dispatch=true` (to test whether +dispatching the guest's C++ exception to its catch handler survives the +`SELECT DATA` crash) produced **zero crashes and zero throws** — and that is not +the good news it looks like, because the crash path was never reached. + +What happened instead, with screenshots at every step: + +``` +main menu → TUTORIAL → the LESSON LIST (BASIC CONTROLS / HEADS-UP DISPLAY / + RADAR / SUPPLY AND SPECIAL MOVES / RADIO ORDERS / ADVANCED + CONTROLS / BACK) captures/tutorial-lesson-list.png + → Ⓐ on BASIC CONTROLS + → BLACK SCREEN, permanently, for the remaining 160 s +``` + +No crash dump, no `GUEST-THROW`, the emulator healthy and the guest still +running. So **`--eh_dispatch` is untested** — the experiment it was set up for +did not occur. + +**What it did establish**: the black screen this session has hit four times is +not random. It follows a **content load** — here, selecting a tutorial lesson. +Earlier black screens fit that too: one came after 88 scripted Ⓐ presses through +the boot (which would have selected *something*), and one after a boot that was +never touched but had reached the attract loop. The two failure modes on the way +to a mission are therefore distinct: + +* the **`SELECT DATA` crash** — the cache-flush `std::map` erase, when the path + goes through save-slot enumeration; +* the **black-screen hang** — no crash, no throw, on loading content. + +Neither has been beaten, and this run tested neither: it took a different branch +through the menus than the run before it (TUTORIAL leads to a lesson list, and +the DIFFICULTY screen captured earlier came from a different selection). The +`--eh_dispatch` test needs a run that actually reaches `SELECT DATA`. diff --git a/docs/re/captures/tutorial-lesson-list.png b/docs/re/captures/tutorial-lesson-list.png new file mode 100644 index 0000000..09221f7 Binary files /dev/null and b/docs/re/captures/tutorial-lesson-list.png differ