Check how ThorVG renders SVGs from public test suites against reference images and Chrome/Skia. The web report shows test results, reference images, and visual diffs.
Results are checked in. Run python3 -m http.server 8000 from the repository root
and open localhost:8000.
On Ubuntu 24.04 (Python 3.12+):
sudo apt-get update
sudo apt-get install -y git g++ pkg-config python3 meson ninja-build python3-pil \
libfreetype-dev libfontconfig1-dev
python3 scripts/update.pyThe updater fetches and builds ThorVG and its converter in .cache/, then updates
the report using corpus revisions pinned in config/suites.json
to match the reviewed baseline metadata. Weekly runs update
ThorVG against these fixed corpora. To update a corpus, review its Chrome snapshots
and source hashes and update the baseline metadata and corpus pin together.
python3 scripts/update.py --thorvg /path/to/thorvg
python3 scripts/update.py --svg2png /usr/local/bin/tvg-svg2png --offline
python3 scripts/update.py --help--offline requires cached sources. --svg2png uses an installed converter and
skips building; keep its CLI Tools fonts/PublicSans-Regular.ttf available.
Font-family matching and CJK output depend on additional converter font support.
- PASS / FAIL: visual thresholds met / mismatch or rendering error.
- SKIP: unsuitable baseline; excluded from
PASS / (PASS + FAIL). - Suites use different references; the rates are not a combined SVG compliance score.
See test sources and comparison rules and thresholds. Download JSON or CSV; summary.json records counts and revisions.
Run python3 -m unittest scripts/test_update.py for updater checks.
GitHub Actions updates the report weekly or on manual dispatch.
Project code is MIT licensed; test assets and fonts retain their upstream licenses.