Skip to content

test(brushes): keep the Procreate preview comparison harness - #99

Closed
Zorienu wants to merge 3 commits into
artcraft-android:mainfrom
Zorienu:fix/procreate-brush-remaining-gaps
Closed

Zorienu wants to merge 3 commits into
artcraft-android:mainfrom
Zorienu:fix/procreate-brush-remaining-gaps

Conversation

@Zorienu

@Zorienu Zorienu commented Nov 7, 2026 •

Copy link
Copy Markdown
Contributor

Review: one ignored test in crates/core/src/tests.rs; no rendering code changes.

What it adds

  1. dump_brush_comparisons imports a .brushset, draws each brush preview at its own thumbnail size, and writes procreate.png, engine.png, and MAE/RMSE.
  2. The companion workflow turns that into comparison.png, overlay.png, comparison-3x.png, metrics, and a contact sheet.
  3. It skips the set’s 📂 folder entries.

Why

The #88 rewrite landed the preview fixes but not the comparison harness. This keeps the harness in the repo so future brush sets can be checked without rebuilding it.

Run

BRUSH_SET='/path/to/set.brushset' \
PROCRAFT_DUMP='/path/to/output' \
cargo test -p procraft-core dump_brush_comparisons -- --ignored --nocapture

Output

  • <output>/<brush>/procreate.png — the set’s own thumbnail
  • <output>/<brush>/engine.png — the engine-drawn preview
  • <output>/summary.txt — ranked MAE/RMSE
  • comparison.png, overlay.png, comparison-3x.png — after the ImageMagick step

Investigation note

The two images below are from the investigation, not a rendering change in this PR:

Columns: Procreate, current main, candidate half-size texturized-grain tile. The middle column is closer to Procreate. The candidate lowered RMSE by changing pattern phase, not by making the texture look closer, so it was dropped from this PR. It is kept on experiment/texturized-grain-half for future work.

Verify

  • cargo test -p procraft-engine: 387 passed, 0 failed.
  • The ignored test runs successfully on the LP Sampler set: 18 brushes.
  • Remaining known gap: wet-brush stroke ends fade more than Procreate’s preview.

@Zorienu Zorienu changed the title fix(brushes): texturized grain tiles at half size + preview comparison harness test(brushes): keep the Procreate preview comparison harness Nov 7, 2026
@Zorienu
Zorienu marked this pull request as ready for review November 7, 2026 19:11
@Zorienu Zorienu closed this Nov 7, 2026
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