Skip to content

tests: add CoinVisualTests visual regression infrastructure - #59

Open
tritao wants to merge 1 commit into
stack/device-pixel-ratiofrom
stack/render-tests-infrastructure
Open

tests: add CoinVisualTests visual regression infrastructure#59
tritao wants to merge 1 commit 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 3 times, most recently from 5752b52 to 4268a9c Compare August 18, 2026 18:12
@tritao
tritao force-pushed the stack/render-tests-infrastructure branch from 4268a9c to f3035da Compare August 18, 2026 19:52
@tritao
tritao force-pushed the stack/render-tests-infrastructure branch from 2b08318 to 9dd900c Compare August 19, 2026 10:22
@tritao
tritao force-pushed the stack/render-tests-infrastructure branch from 20e4d07 to b348bd0 Compare August 19, 2026 10:28
@tritao
tritao force-pushed the stack/render-tests-infrastructure branch from b348bd0 to 9a57d04 Compare August 20, 2026 21:59
@tritao
tritao force-pushed the stack/render-tests-infrastructure branch from 9a57d04 to 759733f Compare August 20, 2026 22:12
@tritao
tritao force-pushed the stack/render-tests-infrastructure branch from 759733f to 0695ef0 Compare August 20, 2026 22:22
@tritao
tritao force-pushed the stack/render-tests-infrastructure branch from 0695ef0 to 9799555 Compare August 20, 2026 22:36
@tritao
tritao force-pushed the stack/render-tests-infrastructure branch from 9799555 to e104882 Compare August 20, 2026 22:48
@tritao
tritao force-pushed the stack/render-tests-infrastructure branch from e104882 to b6546c4 Compare August 20, 2026 23:00
@tritao
tritao force-pushed the stack/render-tests-infrastructure branch from b6546c4 to 02aef45 Compare August 20, 2026 23:14
@tritao
tritao force-pushed the stack/render-tests-infrastructure branch from 02aef45 to 9a8f460 Compare August 21, 2026 00:22
@tritao
tritao force-pushed the stack/render-tests-infrastructure branch from 9a8f460 to ce8290d Compare August 21, 2026 00:30
@tritao
tritao force-pushed the stack/render-tests-infrastructure branch from ce8290d to 26729f1 Compare August 21, 2026 01:03
@tritao
tritao force-pushed the stack/render-tests-infrastructure branch from 26729f1 to 67f9e87 Compare August 21, 2026 01:17
@tritao
tritao force-pushed the stack/render-tests-infrastructure branch from 9ae52f3 to c5373e4 Compare August 21, 2026 11:42
@tritao
tritao force-pushed the stack/render-tests-infrastructure branch from c5373e4 to 6890138 Compare August 21, 2026 11:59
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