pmacs/pmacs-gpu
Levi Neuwirth 57be2bacd1 test(bottom-panel): acceptance for the band, the activation, and the flip
Placed by what each assertion needs: the band's pixel geometry, the epoch
latch, the probe-derived columns, and the three-boundary contrast
assertion live in pmacs-gpu's own tests because they need a real State and
a real surface; the handshake, the negotiation, and the capability flip
live in bottom_panel_stage2b_gpu_acceptance because they need a real
daemon.

Every acceptance runs both directions in one fixture. The activation test
uses ONE daemon for all three halves — a shipped v20 client reaching its
initial grid, a v21 counter-offer receiving a Present band, and a v20
semantic session that is never sent a panel frame and keeps a live
document window. Two daemons could each pass their own half while the same
build was incapable of serving both, which is the only property that
matters.

Two real defects the new tests caught in my own implementation:

  * edge_scroll_direction has no upper bound, so moving its boundary was
    necessary but not sufficient — a pixel inside the band still read as
    'further down the document' and armed the document's auto-scroll. That
    is the exact named symptom of leaving that consumer on the old bottom.
    The falsification keeps both answers: the probe pixel is inside the
    unmoved boundary's own edge strip, so the two genuinely differ, and a
    third assertion proves the feature is not simply switched off.

  * apply_panel_payload ignored the exhaustion latch, so a latched session
    kept storing frames and reporting 'changed'. That left presented() as
    the only thing between a disowned declaration and a painted band, and
    spent a reshape on every arriving frame for the rest of the session.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Lv428Fth9LRtffwJSsqH7T
2026-07-29 18:51:55 -04:00
..
fonts feat(math): bundle Latin Modern Math and read its MATH constants 2026-07-24 18:27:34 -04:00
src test(bottom-panel): acceptance for the band, the activation, and the flip 2026-07-29 18:51:55 -04:00
Cargo.toml feat(math): bundle Latin Modern Math and read its MATH constants 2026-07-24 18:27:34 -04:00