Skip to content

Windows self-test, Plot's x and y, the Summary's map fits the window, worksheet maths, screenshots of 0.11 - #58

Merged
s4mstruthers merged 5 commits into
mainfrom
claude/vigilant-newton-r4km6u
Oct 11, 2026
Merged

s4mstruthers merged 5 commits into
mainfrom
claude/vigilant-newton-r4km6u

Conversation

@s4mstruthers

@s4mstruthers s4mstruthers commented Oct 11, 2026 •

Copy link
Copy Markdown
Owner

Fixes on top of 0.11.0 (PR #57 was merged to main meanwhile; this branch is rebased onto it), one commit each.

The Windows build failed its new self-test (run 114): install: standard library modules the app lacks: pty (No module named 'termios'); tty (...). Windows ships pty.py and tty.py, so the standard library check lists them, but both import termios, which exists on Unix only: they fail in any Python on Windows, so the app lacks nothing. A ModuleNotFoundError for a POSIX-only module (termios, fcntl, grp, pwd, posix, resource, syslog) is now tolerated on Windows; every other failure still fails the build.

Plot's x and y settings changed nothing when scores were connected: the box drew bars from the scores and looked at x and y only when no scores were plugged in. Once both are set they win: column y of each connected table against column x, bars when x holds names and a line when it holds numbers. A column a table lacks is named in the error. Test added.

The Summary's process map towered over the window. QGraphicsView's sizeHint is the drawing's own size (up to three quarters of the screen), and a page laid out by height for width (the Summary's flowing tiles) sizes a scroll area's content from the children's sizeHints. GraphView now asks for 480 x 320, so the map card takes the room the window has below the tiles and fits the graph into it. Measured offscreen: a 500 px window gave a 694 px page before, 500 px after.

Three things the new screenshots showed: inline maths stopped at a line break, so a formula wrapped over two lines of a worksheet was prose and the words up to the next formula were maths ("andthenetN" in exercise 7.1); the ⓘ definition card counted its frame short and scrolled by a few pixels; the menu bar (in the window on Windows and Linux) had no stylesheet rule and stayed light in dark mode. Tests added for the maths.

Screenshots of 0.11. docs/make_screenshots.py builds a temporary "Week 2" folder from the repository's example files, drives the app offscreen at 1600 x 960 the way the GUI tests do, and writes every picture the README shows. The 19 CPNpy-era screenshots are replaced and four are new (the analysis canvas, the Summary with its process map, the α-algorithm's How tab, an exercise in Learn); the README's captions follow the app. Run the script again after a change to the app's looks.

Verified locally: the plot, flow, definitions, exercises and Learn GUI tests pass offscreen. The Windows build itself could not be run here; this PR's CI run is the check.

🤖 Generated with Claude Code

https://claude.ai/code/session_01T6gvKYTxhT4o3vLmy7jPwt

Base automatically changed from research-0.11 to main October 11, 2026 09:08
s4mstruthers and others added 2 commits October 11, 2026 09:09
Windows ships pty.py and tty.py, so the standard library check lists them,
but both import termios, which exists on Unix only: they fail in any Python
on Windows, so the app lacks nothing.  A ModuleNotFoundError for a
POSIX-only module (termios, fcntl, grp, pwd, posix, resource, syslog) is
tolerated on Windows; every other failure still fails the build.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T6gvKYTxhT4o3vLmy7jPwt
With scores plugged in, Plot always drew their bars and looked at x and y
only when no scores were connected, so changing the two settings changed
nothing.  Once both are set they win: column y of each connected table
against column x, bars when x holds names (a model per bar) and a line when
it holds numbers (a sweep).  A column a table lacks is named in the error,
with the columns the table has.  A test covers the three cases.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T6gvKYTxhT4o3vLmy7jPwt
@s4mstruthers
s4mstruthers force-pushed the claude/vigilant-newton-r4km6u branch from 769914e to db2a83a Compare October 11, 2026 09:09
s4mstruthers and others added 3 commits October 11, 2026 09:23
…ndow

QGraphicsView's sizeHint is the drawing's own size, up to three quarters of
the screen.  The Summary page is laid out by height for width (its row of
tiles flows), and such a layout sizes a scroll area's content from the
children's sizeHints, so the process map towered over the window and the
page scrolled.  GraphView now asks for 480 x 320: the map card, which has
the stretch, takes the room the window has below the tiles, and the view
fits the graph into it as it already did on resize.  Offscreen, a 500 px
window gave a 694 px page before and a 500 px page after.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T6gvKYTxhT4o3vLmy7jPwt
…ir theme

Three things the new screenshots showed.  Inline maths stopped at a line
break, so a formula wrapped over two lines of a worksheet was not maths, and
the prose up to the next formula was ("andthenetN" in exercise 7.1): a
formula may now wrap inside its paragraph, never over a blank line.  The
definition card counted its browser's frame (the stylesheet's padding) as
8 px when it is 14, and let a horizontal scrollbar appear: it scrolled by a
few pixels; it is measured after polishing, the text wraps, and nothing
scrolls.  The menu bar, in the window on Windows and Linux, had no rule in
the stylesheet and stayed light in dark mode.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T6gvKYTxhT4o3vLmy7jPwt
docs/make_screenshots.py builds a temporary "Week 2" folder from the
repository's example files (the Wilma log, the textbook logs L1 and L2
written as XES, the order-handling nets, the plane-boarding CPN, the demo
exercises), drives the app offscreen at 1600 x 960 the way the GUI tests do,
and writes every picture the README shows.  The nineteen CPNpy-era
screenshots are replaced, and four are new: the analysis canvas (Compare
discovery), the Summary with its process map, the α-algorithm's How tab,
and an exercise in Learn.  The README's captions follow the app: Discover
hands a log to an analysis, Check fit is a box, two logs compare.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T6gvKYTxhT4o3vLmy7jPwt
@s4mstruthers s4mstruthers changed the title Windows build passes its self-test; Plot's x and y decide the figure 0.11.1: Windows self-test, Plot's x and y, the Summary's map fits, worksheet maths, screenshots of 0.11 Oct 11, 2026
@s4mstruthers s4mstruthers changed the title 0.11.1: Windows self-test, Plot's x and y, the Summary's map fits, worksheet maths, screenshots of 0.11 Windows self-test, Plot's x and y, the Summary's map fits the window, worksheet maths, screenshots of 0.11 Oct 11, 2026
@s4mstruthers
s4mstruthers merged commit 428d388 into main Oct 11, 2026
7 checks passed
@s4mstruthers
s4mstruthers deleted the claude/vigilant-newton-r4km6u branch October 11, 2026 10:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant