stride3d / stride3d/stride

Gold Image Testing Epic

Open
#15 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area-Graphics enhancement Epic
Dominant language
C#
Stars
7.8k
Forks
1.2k
Avg merge
2d 17h
Merged PRs (30d)
49

Description

We used to have a central server containing gold images to have some graphics unit tests run again.

Now being opensource, this is quite impractical:

  • Difficult to setup (not good, we want people to easily run tests by themselves)
  • Would need lot of additional work (server was really rudimentary and working with file shares)
  • Security issues (if we give access to this server, who are we allowing to update gold?)
  • Hardware differences (we can't expect pixel perfect matches)
  • Since images are stored externally, it has to be versioned manually and can easily conflict in case of merges.

The idea is now to commit those images as part of the repository, thus requiring no further setup.
Tests will be allowed to have small differences (due to GPU differences).

This work is partially started but still need further work (allow small differences, make it work on all platforms, etc...)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the existing graphics unit tests and their gold-image inputs, then review how the external server is used. Define repository-owned image storage, tolerance for GPU differences, and platform coverage. Done means the tests run without additional server setup and accept small hardware-related differences across platforms.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
computer-graphics, game-dev, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.