Add automated visual diff for vectorInk PDF output

オープン
#99 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

@philips-clanker がすでに取り組んでいます。

2026年8月18日 から。

  • #109 @philips-clanker による — オープン

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
48/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
静か
技術スタック
typescript
領域
ci-cd, testing-qa

調査の方向性

Start with the vectorInk PDF and SVG fixture comparison work described in #98, then determine whether a new script or Vitest bench should rasterize generated PDFs with pdftoppm or Playwright. Done means CI performs per-fixture comparisons against the device PDF and library SVG renders and catches the listed visual regressions.

索引モデルが issue の本文から書いたものです。

説明

Follow-up to #95 / #98.

#98 adds toPdf({ vectorInk: true }) and a three-way fixture comparison site (device SVG, library SVG, library PDF). The current verification relies on asserting that path operators exist and that the SVG pipeline is shared.

Next investigation: render the library vectorInk PDF pages to PNG and compare them, per fixture, with:

  1. the device's own PDF export (ground truth)
  2. the library's vectorInk SVG export

This will let CI catch regressions in PDF rendering that the existing operator-level tests cannot, such as:

  • hatched fills drawing over nearby ink
  • subtle stroke-width differences
  • missing/extra contours on partial erases
  • white ink cover-ups not fully matching the device

A possible approach is to add a new script or vitest bench that uses pdftoppm or playwright to rasterize the generated PDFs and then runs a per-pixel or structural-similarity diff against the SVG/device renders.

主要言語
TypeScript
スター
42
フォーク
9
平均マージ
30分
マージ済み PR(30日)
2

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

philips/supernote-typescript のほかの issue

philips/supernote-typescript の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。