muse/esp32-eink-display

A 55×46 mm two-layer ESP32-S3 e-paper controller board with USB‑C power/programming, buck regulation, FPC display connector, UC8179-style boost/charge-pump circuitry, ESD protection, controls, and routed passive components.

Version
1.3.4
License
unset
Stars
0

renderer-fix/tests.log

$ bun test tests/dispose.test.ts tests/geometry.test.ts tests/text.test.ts tests/upstream-integrity.test.ts tests/parity-comparison.test.ts tests/parity-prepare.test.ts tests/parity-regressions.test.ts tests/teardrop-geometry.test.ts
bun test v1.3.2 (b131639c)

tests/parity-comparison.test.ts:
(pass) parity comparison rejects missing labels and punctuation [30.41ms]
(pass) parity comparison rejects shifted, compressed, and incorrectly colored ink [18.78ms]
(pass) feature snapshot names depend on test identity, not suite discovery order [1.79ms]

tests/geometry.test.ts:
(pass) triangulation preserves polygon holes [1.51ms]
(pass) rounded and rotated pads retain their areas [0.69ms]
(pass) bulge arcs expand in the correct direction
(pass) circle tessellation has finite coordinates and correct area [0.47ms]
(pass) compiles keepouts-top without missing geometry [7.67ms]
(pass) compiles keepouts-inner without missing geometry [5.50ms]
(pass) compiles keepouts-bottom without missing geometry [5.46ms]
(pass) compiles silkscreen-graphics without missing geometry [0.70ms]
(pass) compiles teardrops without missing geometry [2.27ms]
(pass) compiles board-material-off without missing geometry [0.18ms]
(pass) compiles board-material-on without missing geometry [0.12ms]
(pass) compiles pads-and-rotations without missing geometry [0.68ms]
(pass) compiles drills-slots-offsets without missing geometry [2.06ms]
(pass) compiles multilayer-routing without missing geometry [0.91ms]
(pass) compiles bottom-layer-selected without missing geometry [0.89ms]
(pass) compiles hidden-layers without missing geometry [0.42ms]
(pass) compiles highlighted-net without missing geometry [1.23ms]
(pass) compiles pour-holes-and-arcs without missing geometry
(pass) compiles pours-hidden without missing geometry [0.23ms]
(pass) compiles vector-text without missing geometry [5.80ms]
(pass) compiles soldermask-openings without missing geometry [2.37ms]
(pass) compiles annotations without missing geometry [1.13ms]
(pass) compiles board-outline-cutout without missing geometry [0.20ms]
(pass) reports unsupported shapes instead of silently hiding them [0.56ms]
(pass) AM3352 compiles without unsupported PCB geometry [625.77ms]
(pass) F1C100S breakout routing targets do not fail or change rendered geometry [0.94ms]
(pass) breakout routing targets alone produce no renderable geometry [0.05ms]
(pass) wire-to-via segments stay on the adjacent layer without bridging other runs
(pass) square holes compile, including rotated holes [0.12ms]
(pass) silkscreen graphics preserve filled areas, holes, arcs, layers, and IDs [0.30ms]
(pass) silkscreen graphics without inner rings remain filled
(pass) unsupported silkscreen graphic shapes still report a diagnostic
(pass) keepouts overlay later copper with translucent fill and clipped stripes on every layer [4.75ms]
(pass) keepout fill and stripes preserve holes in concave polygons [0.22ms]
(pass) Muse imported socket pads compile on both copper layers and through the board [0.36ms]
(pass) rotated pill holes have independent pad and drill rotations and world-space offsets [0.88ms]
(pass) rounded rectangular pads stay rectangular while their slots rotate independently [0.22ms]

tests/text.test.ts:
(pass) uses proportional glyph advances and preserves lowercase [0.60ms]
(pass) anchors actual ink bounds at all nine positions [1.66ms]
(pass) literal newline escapes match real multiline text [0.83ms]
(pass) bottom copper mirrors unless explicitly overridden [0.73ms]
(pass) evenodd tessellation preserves disconnected contours and nested counters [0.08ms]
(pass) knockout preserves glyph counters and padding [0.50ms]

tests/dispose.test.ts:
(pass) dispose waits for queued GPU work before destroying its device [0.43ms]
(pass) dispose also destroys a device whose submitted work rejects

tests/parity-prepare.test.ts:
(pass) SVG and WebGPU share one viewport and canonical y-up camera [0.35ms]
(pass) layer filtering supplies the same subset to both renderers [0.15ms]
(pass) Canvas-only passes are not mislabeled as SVG comparisons

tests/teardrop-geometry.test.ts:
(pass) linear taper uses full widths and flat end caps
(pass) reversal and rotation preserve the copper region [0.02ms]
(pass) degenerate and nonfinite geometry emits no vertices [0.06ms]
(pass) teardrops compile as trace copper on their own layers without diagnostics [1.99ms]
(pass) standalone teardrops ignore the ordinary-wire interpolation setting [0.09ms]
(pass) tessellation remains bounded for very large finite widths [0.20ms]
(pass) quadratic follows the selected concave profile in both directions [0.17ms]
(pass) equal-width quadratic reduces to a rectangle
(pass) removed smoothstep profile produces no copper [0.06ms]
(pass) taper belongs to the outgoing wire segment only
(pass) tapers terminate at a via or through-pad on the correct layer [0.04ms]
(pass) malformed or terminal tapers never become constant-width fallbacks [0.03ms]
(pass) taper is inside a pour only when both endpoints are inside

tests/upstream-integrity.test.ts:
(pass) every upstream test, fixture, snapshot, and reference source matches the installed pinned dependency byte-for-byte [26.17ms]

tests/parity-regressions.test.ts:
(pass) unchanged known mismatches pass, improvements pass, worsening by one pixel fails [0.23ms]
(pass) a previously passing case cannot become a mismatch [0.02ms]
(pass) missing comparisons, skipped renders, render errors, and failed snapshots fail [0.03ms]
(pass) reference test regressions and changed upstream revisions fail

 69 pass
 0 fail
 12516 expect() calls
Ran 69 tests across 8 files. [874.00ms]