Add automated visual diff for vectorInk PDF output
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- typescript
- Área
- ci-cd, testing-qa
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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:
- the device's own PDF export (ground truth)
- 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.
- Lenguaje dominante
- TypeScript
- Estrellas
- 42
- Forks
- 9
- Merge medio
- 30 min
- PR fusionados (30 d)
- 2
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de philips/supernote-typescript
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
philips/supernote-typescript#122 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 68/100
philips/supernote-typescript#105 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
philips/supernote-typescript#100 ·
-
Characterize the stroke-record tail (unk_17, unk_22, Section3/Section4) and its four length variantsAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
Todos los issues de philips/supernote-typescript
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
appandflow/stim#5258 ·
Los mantenedores suelen responder en 1 día
-
area/docs framework/hugo help wanted language/markdown
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
lingdojo/kana-dojo#33660 · 1 comentario · 5 reacciones ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
drizzle-team/drizzle-orm#6639 ·
Los mantenedores suelen responder en 4 días
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100