Skip to content

test: restore mirrored-board render regression; verify #45 on main - #686

Merged
i2cjak merged 1 commit into
mainfrom
backplane/45433cf0
Nov 2, 2026
Merged

i2cjak merged 1 commit into
mainfrom
backplane/45433cf0

Conversation

@i2cjak

@i2cjak i2cjak commented Nov 2, 2026

Copy link
Copy Markdown
Collaborator

Issue #45 is not reproducible on origin/main at a8339af0f. The asymmetric board renders with readable TOP F12 and BOTTOM R37, correct chamfer/pad placement, and the intentionally reversed/rotated back text preserved. The existing WebGL correction from #452 and the phone MVP transforms already negate board Y. Applying #57's additional encoder negation would reflect the model again; #57 was used only as reference.

The existing visual regression could no longer run: its loopback server omitted the imported mesh-worker module, and production Fit changes made its camera scale differ from the reviewed images. Serve that dependency and pin the reference camera distance. Keep all renderer/encoder code, wire bytes, and reviewed images unchanged. Record the verification in the fixture README.

Validation:

  • Actual headless Chromium production WebGL rendering of the saved real GLB→Bend Solid wire for test/fixtures/pcb-bottom-silk/asymmetric.kicad_pcb: top and bottom reviewed silk masks both match exactly (IoU 1.0); images visually inspected.
  • Negative control: negate the frozen wire's signed Y deltas, equivalent to Fix mirrored 3D plot meshes #57's proposed encoder change. The render regression fails with top silk IoU 0.
  • Passed: solid_mesh_render_test.mjs, solid_mesh_test.ts, orbit_test.ts, mesh_worker_test.mjs, solid_assets_test.mjs, scripts/laws-shape.py, and git diff --check.
  • Required scripts/check.sh proof attempted serially through the Boat lock on a large sandbox. Killed at 15,716,576 KiB peak RSS after 125 seconds, exit 1; no proof verdict obtained. Boat job j20261102184110-877941.
  • Also attempted the separate solid_fit_orientation_test.mjs: its existing VM harness fails with ReferenceError: workerDecode is not defined before its assertions. That unrelated harness is unchanged.

This is a test/documentation repair, not a new encoder fix. No fresh hub build, install, live-hub restart, merge, or device run was performed. Builds and deployment remain with installer thread t1792701529-415584.

Refs #45, #57.

@i2cjak
i2cjak marked this pull request as ready for review November 2, 2026 18:48
@i2cjak
i2cjak merged commit dd236f5 into main Nov 2, 2026
This was referenced Nov 2, 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