Skip to content

tests: add CoinVisualTests visual regression infrastructure - #59

Open
tritao wants to merge 2 commits into
stack/device-pixel-ratiofrom
stack/render-tests-infrastructure
Open

tests: add CoinVisualTests visual regression infrastructure#59
tritao wants to merge 2 commits into
stack/device-pixel-ratiofrom
stack/render-tests-infrastructure

Conversation

@tritao

@tritao tritao commented Aug 16, 2026

Copy link
Copy Markdown
Collaborator

Summary

Adds a deliberately small CoinVisualTests visual-regression foundation for
Coin's LegacyGL renderer.

The runner creates a hidden desktop OpenGL compatibility context, renders
.iv scenes through SoGLRenderAction, captures PNG output, and compares it
with checked-in baselines.

Scope

  • LegacyGL / SoGLRenderAction reference rendering only.
  • A private RenderDriver seam with a LegacyGLDriver implementation.
  • Thin YAML manifests for scene path, framebuffer size/background, optional
    camera override, baseline, and comparison policy.
  • Snapshot, compare, run, and baseline-update commands.
  • Filesystem-based spec discovery with CMake-generated source/build defaults.
  • Single-root render artifacts under render_artifacts/gl.
  • Four initial visual fixtures: basic cube, perspective camera, orthographic
    camera, and viewport/background handling.

Additional renderer integrations and native backend contracts remain owned by
their subsequent stack layers.

Validation contract

Baseline updates succeed only when both rendering and baseline copying
succeed. Image comparison uses centralized default, strict, exact, and
relaxed policies; masks and renderer-state toggles are intentionally not
part of this foundation.

CI runs the suite in the Ubuntu LegacyGL-enabled job and uploads actual
images, diffs, metrics, and CTest results.

Stack position

Layer 10/18, based on PR #43. The
retained IR and renderer layers build on this infrastructure in the subsequent
stack layers.

@tritao
tritao force-pushed the stack/render-tests-infrastructure branch 6 times, most recently from dbf585a to fe82564 Compare August 16, 2026 20:52
@tritao
tritao marked this pull request as ready for review August 16, 2026 22:20
@tritao
tritao force-pushed the stack/render-tests-infrastructure branch 2 times, most recently from 42957f6 to 3836315 Compare August 16, 2026 23:23
@tritao tritao changed the title tests: add CoinRenderTests visual regression infrastructure tests: add CoinVisualTests visual regression infrastructure Aug 16, 2026
@tritao
tritao force-pushed the stack/render-tests-infrastructure branch 3 times, most recently from e5ba58e to bde7d1f Compare August 17, 2026 14:12
@tritao
tritao force-pushed the stack/render-tests-infrastructure branch from bde7d1f to e25ae18 Compare August 17, 2026 15:52
@tritao
tritao force-pushed the stack/render-tests-infrastructure branch from e25ae18 to 84ce186 Compare August 18, 2026 00:18
@tritao
tritao force-pushed the stack/render-tests-infrastructure branch from 84ce186 to 11877e3 Compare August 18, 2026 09:24
@tritao
tritao force-pushed the stack/render-tests-infrastructure branch from 11877e3 to 0ea9c1c Compare August 18, 2026 14:40
@tritao
tritao force-pushed the stack/render-tests-infrastructure branch 2 times, most recently from e2644c2 to 5752b52 Compare August 18, 2026 17:50
@tritao
tritao force-pushed the stack/render-tests-infrastructure branch from 5752b52 to 4268a9c Compare August 18, 2026 18:12
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