CriProx
← All guides

Software validation — September 20, 2026

Passed

  • TypeScript strict type-check and production Vite build.
  • Automated tests covering deck syntax and quantity limits, pagination, mixed and uniform rotated placement, non-overlap across supported settings, raster rounding tolerance, PNG density metadata, imported-project validation, and captured-template recognition.
  • Live Scryfall collection import with valid and invalid card names. Successfully imported entries are removed from the retry list; missing entries stay editable.
  • Live Archidekt import of a 100-card public deck, preserving all 94 selected printings, plus a live Moxfield response through Electron's constrained deck-source bridge.
  • Single-card Scryfall search with partial names and repeated additions.
  • Find Card preview caching was checked on October 6, 2026 with the browser HTTP cache disabled: all 21 previews in a token set downloaded once, then sorting and a full page reload displayed them without another image request. Repeat downloads were blocked during the reload check. A 175-result set gallery initially requested only 12 nearby previews. Automated cache tests cover shared downloads, persistence, eviction limits, unavailable storage, failed-image retries, and download concurrency; the full application suite passes 132 tests.
  • Live variant lookup (136 Sol Ring printings), printing selection, and restoration after reload.
  • Double-faced card import and selection of Insectile Aberration.
  • Multi-sheet ZIP download, exact PNG pixel dimensions, opaque card interiors, transparent gaps/corners, and SVG shape counts/dimensions.
  • Local artwork import, including an image with a transparent interior hole. The exported card remains opaque inside its outer cut silhouette.
  • 600 DPI rotated local-artwork export: expected 4228 × 3047 pixels for the tested layout, correct rotation direction, and transparent gaps.
  • Empty-project export disabled; project JSON backup opens and restores card quantities and selected printings.
  • Visual review at desktop and 390 px mobile widths, with no horizontal page overflow at mobile width.
  • Unsigned macOS arm64 package builds. Packaged app launches with context isolation, renderer sandboxing, and no renderer Node access. Native size-check and local-artwork exports succeed with no renderer exceptions.
  • npm dependency audit reports zero known vulnerabilities for the installed dependency set.
  • Experimental seven-card geometry: the 189.2 × 214.2 mm 2–3–2 template paginates at seven cards, preserves fixed slot positions, and is restricted to 63 × 88 mm cards, 0.1 mm spacing, US Letter output, and Maker/Explore targets.
  • Experimental eight-card geometry: the 177 × 255 mm 2×4 template paginates at eight horizontal cards, preserves fixed slot positions, and is restricted to 63 × 88 mm cards, 1 mm spacing, US Letter or A4 output, and Maker/Explore targets. The A4 extension was validated on October 5, 2026 with fit-clearance checks, matching front/back PDF dimensions, preview translation, project validation, and browser checks of layout filtering and paper changes.
  • Manual nine-card geometry: the 191 × 266 mm 3×3 template paginates at nine cards, preserves all slot coordinates on partial pages, and is restricted to 63 × 88 mm cards, 1 mm spacing, and 2.5 mm corners. Front and mirrored back placement use the same tested 6.35 mm nominal page inset; signed X/Y cut corrections preserve back mirroring while shifting only printed artwork.
  • Browser generation of a 2256 × 3142 px transparent Basic Cut PNG at 300 DPI, with nine opaque rounded silhouettes and transparent gutters, plus a matching one-page Letter PDF preview.
  • Manual calibration and production card PDFs share the same raster sheet, bleed padding, PDF image bounds, and first-slot trim origin. A 600 DPI rendered placement proof located the production trim origin within one raster pixel of the nominal 6.35 mm page coordinate.
  • A user-supplied Design Space capture was confirmed as a single, unrotated 612 × 792 point US Letter PDF. Its rendered magenta 2–3–2 pattern passed the production detector at 300 DPI with all four surrounding marks present.
  • A user-supplied eight-card Design Space capture of the earlier 0.1 mm-gap layout was confirmed as a single, unrotated 792 × 1224 point Tabloid PDF. The production pattern and mark checks passed at 300 DPI. Its 7.63 × 10.63 in printed footprint was translated at actual size into a 612 × 792 point Letter output proof with all visible content intact and at least 0.19 in clearance vertically. The revised 1 mm-gap layout needs a new capture and fit check.

Browser checks caught a local-image bug: fetching a data URL was blocked by the renderer CSP. The final export code directly decodes embedded artwork without making a fetch request. The fixed browser export was validated at pixel level.

Still requires external validation

  • Actual Cricut sensor acquisition, Design Space contour tracing, physical scale, alignment, and repeatability.
  • Acceptance of the experimental six-card layout on each model/paper configuration, including the Tabloid setup for Letter and A4 output.
  • Seven-card sensor acquisition, physical dimensions, edge alignment, 12 × 24 in mat behavior, and repeatability after the Tabloid-to-Letter print workaround.
  • Eight-card printer imageable-area fit, sensor acquisition, physical dimensions, edge alignment, mat behavior, and repeatability after Tabloid capture and Letter or A4 export.
  • A first nine-card Basic Cut trial completed with matching scale and a small, consistent-looking up/left translation. Exact correction and repeatability across multiple page placements and mat loads still require measurement.
  • Windows and Linux installer builds and runtime checks.
  • macOS signing/notarization for distribution.

Follow the physical acceptance procedure before producing a full deck. No software test here certifies perfect machine alignment or reproduces Cricut's registration marks.

Local screenshots and test export artifacts are in output/playwright/ (ignored from source control). The desktop build is in release/mac-arm64/CriProx.app.

Published from the project’s Markdown documentation.

View source on GitHub ↗