Pin the placeholder image row seam with a GPU test #122

Merged
natsukium merged 1 commit from fix/placeholder-band into main 2026-10-12 18:01:45 +09:00
Owner

The dark band between cell rows of a placeholder image (#86) came from the old per-tile slicing, which the aspect-fit change already replaced. Reproduced under headless sway: the old slicing leaves a background band under every row; main draws one continuous image.

This adds an offscreen GPU test (run by just test-gpu on lavapipe) that renders a 10 x 10 placeholder block and requires the whole fitted image to be the image's color. It fails on the old slicing and passes on main.

Closes #86

The dark band between cell rows of a placeholder image (#86) came from the old per-tile slicing, which the aspect-fit change already replaced. Reproduced under headless sway: the old slicing leaves a background band under every row; main draws one continuous image. This adds an offscreen GPU test (run by `just test-gpu` on lavapipe) that renders a 10 x 10 placeholder block and requires the whole fitted image to be the image's color. It fails on the old slicing and passes on main. Closes #86
render: check that a placeholder image has no band between cell rows
All checks were successful
darwin / detect relevant changes (pull_request) Successful in 8s
darwin / darwin docs-only no-op (pull_request) Has been skipped
darwin / build felis (aarch64-darwin) (pull_request) Successful in 1m9s
windows / detect relevant changes (pull_request) Successful in 23s
windows / windows docs-only no-op (pull_request) Has been skipped
windows / cargo nextest (Windows) (pull_request) Successful in 6m3s
windows / frontend smoke (Windows) (pull_request) Successful in 1m37s
pr / nix flake check (pull_request) Successful in 40s
pr / cargo build / clippy / test / deny (pull_request) Successful in 2m23s
pr / wire schema is compatible with the base (pull_request) Successful in 4s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 30s
windows / cargo clippy (Windows cross) (pull_request) Successful in 14s
b7c7a0c633
An image drawn through Unicode placeholder cells showed a background
band under every cell row. The per-tile slicing that caused it was
replaced when placeholder images started fitting with their aspect
ratio: each quad is now cut from the fitted rectangle with both edges
derived from the cell index, so neighboring rows meet exactly.

Nothing pinned the seam, and the unit tests on placeholder_tile_quad
check the quad arithmetic, not the frame. This GPU test renders a
10 x 10 placeholder block offscreen and requires every pixel of the
fitted image to be the image's color; it fails on the old slicing.

Closes #86

Assisted-by: Claude Code
natsukium scheduled this pull request to auto merge when all checks succeed 2026-10-12 16:44:32 +09:00
natsukium deleted branch fix/placeholder-band 2026-10-12 18:01:45 +09:00
Sign in to join this conversation.
No reviewers
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
felis-terminal/felis!122
No description provided.