validate-render
Automates YARS rendering validation by comparing exported frames with known-good references.
Install
mkdir -p .claude/skills/validate-render && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/12299" && unzip -o skill.zip -d .claude/skills/validate-render && rm skill.zipInstalls to .claude/skills/validate-render
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Validates YARS rendering by exporting first frame as PNG and comparing with reference screenshotKey capabilities
- →Validate YARS rendering by exporting the first frame as PNG
- →Compare the exported frame with a reference screenshot
- →Report visual differences indicating rendering issues
- →Verify Ogre3D rendering functionality
- →Check rendering after graphics or texture changes
How it works
The skill runs YARS with frame export enabled to capture the first frame, then compares this exported frame with a reference screenshot using ImageMagick. It reports any visual differences.
Inputs & outputs
When to use validate-render
- →Check rendering after shader updates
- →Validate graphics engine stability
- →Verify texture mapping consistency
- →Automate visual regression testing
About this skill
Validate YARS Rendering
This skill ensures that rendering and texture functionality works correctly by:
- Running YARS with image export enabled to capture the first frame
- Comparing the exported frame with the reference screenshot.png
- Reporting any visual differences that might indicate rendering issues
Usage
Automatically invoked when:
- User asks to check visualization or rendering
- After graphics/texture changes
- When validating material or shader modifications
- To verify Ogre3D rendering is working correctly
Validation Steps
# Navigate to build directory
cd build
# Create frames directory for output
mkdir -p frames
# Run YARS with frame capture
# NOTE: Frame export requires setting frames directory in XML config
# or via __YARS_GET_FRAMES_DIRECTORY macro
# Frame capture auto-enables if directory is set (see SdlWindow.cpp:82-88)
timeout 60s ./bin/yars --xml ../xml/braitenberg.xml --iterations 10
# Expected output: frames/frame_00000001.png through frame_00000010.png
# Compare first frame with reference using ImageMagick
compare -metric RMSE frames/frame_00000001.png ../screenshot.png diff.png
# Or use visual diff
# open frames/frame_00000001.png
# open ../screenshot.png
Success Criteria
- ✅ YARS builds and runs without errors
- ✅ Frames are successfully exported to frames/ directory
- ✅ Exported images are valid PNG files
- ✅ Visual comparison shows matching rendering (textures, geometry, lighting)
- ✅ Pixel difference within acceptable threshold
Configuration Notes
Frame Export Setup (from SdlWindow.cpp):
- Auto-enables when
__YARS_GET_FRAMES_DIRECTORYis set - Exports to:
{framesDir}/frame_{index:08d}.png - Uses Ogre3D's
RenderTexture::writeContentsToFile()
To Enable Frame Export:
- Check XML config for frames directory setting
- OR modify configuration to set frames output directory
- Frames will be captured automatically each step
Known Limitations
- Need to determine exact XML config or command-line option for frames directory
- Reference screenshot.png may be from specific simulation state
- May need to match exact camera position/orientation
- Lighting and shadow settings affect visual comparison
When not to use it
- →When the user is not working with YARS rendering
- →When the user does not have a reference screenshot for comparison
- →When the user needs to validate aspects other than visual rendering
Limitations
- →Requires YARS with image export enabled
- →Needs a reference screenshot.png for comparison
- →May require matching exact camera position/orientation and lighting settings
How it compares
This skill automates visual regression testing for YARS rendering by comparing generated frames against a baseline, providing an objective measure of rendering consistency that manual inspection cannot.
Compared to similar skills
validate-render side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| validate-render (this skill) | 0 | 9mo | Review | Intermediate |
| code-coverage-with-gcov | 15 | 4mo | Review | Intermediate |
| 3d-games | 16 | 6mo | No flags | Advanced |
| debug-lldb | 1 | 7mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
code-coverage-with-gcov
gadievron
Add gcov code coverage instrumentation to C/C++ projects
3d-games
davila7
3D game development principles. Rendering, shaders, physics, cameras.
debug-lldb
regenrek
Capture and analyze thread backtraces with LLDB/GDB to debug hangs, deadlocks, UI freezes, IPC stalls, or high-CPU loops across any language or project. Use when an app becomes unresponsive, switching contexts stalls, or you need thread stacks to locate lock inversion or blocking calls.
rsyslog-test
rsyslog
Standardizes testing and validation for rsyslog using the diag.sh framework.
function-call-tracing
gadievron
Instrument C/C++ with -finstrument-functions for execution tracing and Perfetto visualization
benchmark-kernel
flashinfer-ai
Guide for benchmarking FlashInfer kernels with CUPTI timing