v1.5.7 - the icons ship, screenshots on any path
Fixes
- Screenshots were silently lost on non-ASCII paths - a folder with Cyrillic, CJK or accented characters: the save reported success and no file appeared. OpenCV's writer returns True and writes nothing outside ASCII; Python writes the file now.
- The archive shipped without its icons - v1.5.6 carried none, so the tray fell back to a placeholder square and the taskbar button showed the Python logo (issue #28). Both are back, and the release check fails the build if they go missing again.
- Adaptive exposure could produce NaN when
NS_PW_DARKandNS_PW_LITare set to the same value - the frame came back black. Guarded. - README images were broken inside the archive - repository-relative links, absolute now.
verify_github.py, a maintainer-only tool, no longer ships to users.
What is new
- Redrawn icon - the logo alone, round, with more contrast and a white rim, and every size (16 to 256) rendered on its own. The old one was the avatar's black square shrunk to 16 px, which melted into a dark taskbar.
Inside: main.py taken apart
main.py went from 3788 lines to 940, main() from 2214 to 640 - what is left is the frame loop and the wiring around it. The rest moved out by subject: protocol (the worker protocol and the shared memory), pipeline (build it, tear it down, the worker's process), startup, commands (menu, hotkeys, screenshots), settings_io, channels, dialogs, winapi, paths.
The state went with it: 56 variables that every nested function could rebind through 39 nonlocal statements are one object with __slots__, so a typo in a field name raises instead of quietly creating a field nobody reads.
Behaviour is unchanged, and a new test keeps it that way: nothing may import main back, and no module may read a name it never defines. The frame protocol is pinned on both sides too - static_assert on every struct in the worker plus a test comparing the C++ sizes against the Python ones - so a field added to one side and not the other is a build error, not a runtime desync.
Tests
- 54 checks, three full runs green, plus the GUI cycle (launch -> record -> exit).
Files
neuralscreen-v1.5.7-full.zip- everything inside, unpack and runREADME.md/README.ru.md- the guideTECHNICAL.md/TECHNICAL.ru.md- how it works
Controls
Num2 menu · Num1 NR on/off · Num3 screenshot · Num0 record · Num4/Num6 resolution · Num5 one window · Ctrl+Alt+Q quit