Skip to content

CI: Add Kitty integration testing#6

Merged
jserv merged 1 commit intomainfrom
ci-kitty-integration
Nov 20, 2025
Merged

CI: Add Kitty integration testing#6
jserv merged 1 commit intomainfrom
ci-kitty-integration

Conversation

@jserv
Copy link
Owner

@jserv jserv commented Nov 20, 2025

This implements CI testing for Kitty Graphics Protocol integration using Xvfb + headless X11 environment with visual verification.

  • Use latest prebuilt Kitty binary from official installer
  • Smoke test: launch + auto-quit validation
  • Visual verification: screenshot capture + brightness analysis (>1000 threshold)
  • Assert screenshot dimensions (1024x768) to detect Xvfb misconfiguration
  • Proper DISPLAY handling (inherit from xvfb-run)
  • 4-second render delay for slow CI runners
  • Capture stderr logs for debugging

@jserv jserv force-pushed the ci-kitty-integration branch 3 times, most recently from f672677 to c7eebfa Compare November 20, 2025 07:29
This implements CI testing for Kitty Graphics Protocol integration using
Xvfb + headless X11 environment with visual verification.
- Use latest prebuilt Kitty binary from official installer
- Smoke test: launch + auto-quit validation
- Visual verification: screenshot capture + brightness analysis
  (>1000 threshold)
- Assert screenshot dimensions (1024x768) to detect Xvfb misconfiguration
- Proper DISPLAY handling (inherit from xvfb-run)
- 4-second render delay for slow CI runners

Visual verification is done with 4-level validation specific to DOOM:
1. Brightness > 1000 (existing)
   - Ensures non-black frame
   - Range: 0-65535 (16-bit grayscale)
2. Standard Deviation > 2000
   - Detects contrast/variance in image
   - Prevents solid color or blank screens
   - DOOM title screen has high contrast (logo, fire, sky)
3. Color Variance: R-B difference > 1000
   - DOOM has red/brown logo, blue sky
   - Detects color variety (not monochrome)
   - Warning only (not fatal) for flexibility
4. Saturation > 5%
   - DOOM is colorful, not grayscale
   - Prevents rendering in wrong color space
   - HSL colorspace analysis

Rationale:
- Robust without pixel-perfect fragility
- Catches common rendering failures (blank, monochrome, low contrast)
- DOOM-specific but not title-screen-specific
- Works with any DOOM screen (menu, game, intermission)
@jserv jserv force-pushed the ci-kitty-integration branch from c7eebfa to a9f8cd3 Compare November 20, 2025 07:35
@jserv jserv changed the title Add Kitty integration testing with prebuilt binary CI: Add Kitty integration testing Nov 20, 2025
@jserv jserv merged commit 28db205 into main Nov 20, 2025
7 checks passed
@jserv jserv deleted the ci-kitty-integration branch November 20, 2025 07:44
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