Skip to main content

Godot Visual Smoke Test Kit

Screenshot diff and baseline helpers for Godot visual smoke tests. It reads scene/viewport config, compares PNG screenshots, writes diff images, approves baselines, and prints planned Godot capture commands.

The first release keeps Godot execution out of unit tests, so the package is easy to run in CI and safe to develop without a specific engine install.

Install

python -m pip install -e .

When published:

python -m pip install godot-visual-smoke-test-kit

Quick Start

godot-visual-smoke plan visual-smoke.toml --project . --godot C:\Tools\Godot.exe
godot-visual-smoke plan visual-smoke.toml --project . --format json
godot-visual-smoke plan visual-smoke.toml --project . --viewport-manifest viewports.toml --format json
godot-visual-smoke compare baselines\menu.png current\menu.png --diff diffs\menu.png
godot-visual-smoke approve current\menu.png baselines\menu.png
godot-visual-smoke compare baselines\menu.png current\menu.png --format json --output visual-report.json

First successful path:

  1. Run plan and capture current screenshots with your project-owned Godot helper.
  2. Run compare with --format json --output visual-report.json and upload the current image, diff image, and JSON report as CI artifacts.
  3. Review the current and diff images.
  4. Run approve only for an intentional visual update.

If either the baseline or current screenshot is missing, compare returns a normal text or JSON finding that names the missing file and the next step.

What It Does

  • Parses visual-smoke.toml.
  • Supports named viewport presets.
  • Reuses viewport manifests across multiple smoke-test configs.
  • Compares baseline and current PNG screenshots.
  • Reports missing baseline or current screenshots with next-step guidance.
  • Applies per-channel pixel tolerance.
  • Fails when changed pixel percentage exceeds the configured threshold.
  • Writes red diff images.
  • Copies approved screenshots into baseline paths.
  • Prints Godot capture commands for a project-owned helper script.
  • Adds report metadata and readable failure explanations to JSON and text output.

Documentation

Development

python -m pip install -e .
python -m unittest discover -s tests -v
godot-visual-smoke plan examples\visual-smoke.toml --project examples\tiny-godot-project
godot-visual-smoke compare baselines\menu.png current\menu.png --diff diffs\menu.png --format json --output visual-report.json

Examples are generic. Do not publish screenshots from private projects unless they have been reviewed.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

godot_visual_smoke_test_kit-0.1.3.tar.gz (11.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

godot_visual_smoke_test_kit-0.1.3-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file godot_visual_smoke_test_kit-0.1.3.tar.gz.

File metadata

File hashes

Hashes for godot_visual_smoke_test_kit-0.1.3.tar.gz
Algorithm Hash digest
SHA256 8ef36b601772315efbb48f88f1050d4b3e96b65b638928426314e77189d5e01e
MD5 42b67733a8927a55576451cc44508764
BLAKE2b-256 dfc7dd0d7e9eaccfa8323674edf067a485522ee75d5b998dce7ec3ce75a71b2a

See more details on using hashes here.

Provenance

The following attestation bundles were made for godot_visual_smoke_test_kit-0.1.3.tar.gz:

Publisher: publish-visual-smoke-test-kit.yml on NonniGB/godot-production-toolkit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file godot_visual_smoke_test_kit-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for godot_visual_smoke_test_kit-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 acc6c9b562be253f7f774715e27493e51e754a9aec333f313b5440bf5bcac0e5
MD5 b32e0dbcf144b3e9322429b2acd50a74
BLAKE2b-256 fe96629d359f03449179cccfa3bc53225e95278c764f36334f7754acc169e1c1

See more details on using hashes here.

Provenance

The following attestation bundles were made for godot_visual_smoke_test_kit-0.1.3-py3-none-any.whl:

Publisher: publish-visual-smoke-test-kit.yml on NonniGB/godot-production-toolkit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page