Skip to content

test(compositor): fix two local-only D3D11 render tests - #1090

Merged
EtienneLescot merged 1 commit into
mainfrom
test/fix-local-compositor-render-tests
Oct 10, 2026
Merged

EtienneLescot merged 1 commit into
mainfrom
test/fix-local-compositor-render-tests

Conversation

@EtienneLescot

@EtienneLescot EtienneLescot commented Oct 10, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Two D3D11 render tests that only run locally (Windows CI is cargo check) were broken on main. Test-only change.

  • output_geometry_golden: its three scenes still sent roundnessPx, dropped from the scene contract by the px-to-fraction refactor. All three tests panicked on a missing roundnessFrac. Now 0.0222, the value scene.rs already uses for 24 px at 1080p.
  • the_device_trails_with_the_screen_under_motion_blur: with OPENSCREEN_DEVICE_OUT set, it built file names from the rotation JSON. The orbit camera's fragment holds quotes and a colon, so Windows refused the name (os error 123). Each rotation now carries a short label (flat, iso, orbit).

Related issue

None. Found while reviewing #933.

Type of change

  • Bug fix
  • Feature
  • Enhancement
  • Documentation
  • Refactor / maintenance
  • Performance
  • Security

Release impact

  • Patch
  • Minor
  • Major / breaking change
  • No release note needed

Desktop impact

  • Windows
  • macOS
  • Linux
  • Installer / packaging
  • Not platform-specific

Screenshots / video

N/A

Testing

Local Windows run on a D3D11 GPU, with a real recording in OPENSCREEN_GOLDEN_SCREEN / _WEBCAM and OPENSCREEN_DEVICE_OUT set:

  • Before: golden 0/3 passed (missing field roundnessFrac); device trail test failed on trail-laptop-orbit","focusMode":"auto-sharp (os error 123).
  • After: golden 3/3 passed, device trail test passed and wrote all 12 PNGs.
  • Golden hashes are bit-identical across two runs and after rebasing on main.

Not addressed here: the golden never calls set_live_params, so the scene's padding is not applied to its frames. Separate change.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Tests
    • Updated rendering test outputs to use clear, consistent names for rotation scenarios.
    • Refreshed geometry reference scenes to reflect fractional corner rounding. These changes affect test references and output labeling; no user-facing functionality or public interfaces changed.

output_geometry_golden still sent roundnessPx, gone from the scene contract since the px-to-fraction refactor: every golden test panicked on a missing roundnessFrac. 24 px at 1080p is 0.0222, the value scene.rs uses for the same conversion.

the_device_trails_with_the_screen_under_motion_blur built its OPENSCREEN_DEVICE_OUT file names from the rotation JSON, which for the orbit camera contains quotes and a colon (os error 123 on Windows). Each rotation now carries a short label for the file name.
@coderabbitai

coderabbitai Bot commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 01858155-11e0-44a1-98e1-616aab4b08af

📥 Commits

Reviewing files that changed from the base of the PR and between 1d1be1f and f064b85.


📒 Files selected for processing (2)
  • crates/compositor/tests/device_frame_render.rs
  • crates/compositor/tests/output_geometry_golden.rs

Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 0 remain after this review.



📝 Walkthrough

Walkthrough

The motion-blur test now uses explicit labels in saved render filenames. Three output geometry golden scenes now specify corner roundness as a fraction.

Changes

Motion-blur render names

Layer / File(s) Summary
Label motion-blur cases
crates/compositor/tests/device_frame_render.rs
The test pairs the flat, iso, and orbit rotations with filename-safe labels. Saved render filenames use those labels.

Output geometry golden fixtures

Layer / File(s) Summary
Update golden scene roundness
crates/compositor/tests/output_geometry_golden.rs
The per-format, side-by-side, and cropped-clip scenes use roundnessFrac: 0.0222 instead of roundnessPx: 24.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~8 minutes

Change: Bug fix

Suggested reviewers: quotentiroler


Merge Risk: ⚪ Minimal · up to f064b

This change updates local compositor render tests without establishing a production behavior regression. No actionable issue remains that should block merging.

Pre-merge checks | Passed 4 | Failed 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 75.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 4 functions across 2 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check Passed The title clearly identifies the test-only compositor change and the two local D3D11 render tests affected.
Description check Passed The description includes the required summary, issue context, change type, release impact, platform impact, screenshots status, and detailed testing results.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.

  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Commit to this branch
  • Create a new PR


🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Warning

Some tools did not complete. Review the errors below.

🔧 Clippy (1.98.1)

Clippy execution failed



Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@EtienneLescot

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor
⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@EtienneLescot

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@EtienneLescot
EtienneLescot merged commit fd8e6ce into main Oct 10, 2026
20 checks passed
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