v0.23.0 — The mount rides the optic
v0.23.0 — The mount rides the optic: rigid assemblies, inspection dashboards & post-audit hardening
A post-release review pass. The headline is a real bug hit on the bench: dressed opto-mechanical
hardware (post, holder, mount) did not move with its optic — grab the lens in a Newton's-rings setup
and it slid free of its mount. Alongside that fix, this release adds the "show me everything"
inspection + report tooling, surfaces the in-add-on update button for up-to-date users, expands the
glass / crystal / IR catalog, and tidies vendor-IP provenance + naming. All trace-affecting work
stays byte-identical — regression 392/392, validation 262/262, CI-green.
Fixed — opto-mechanical hardware now rides its optic
dress_bench()built each optic's post / holder / mount as standalone objects pinned to absolute
world coordinates, so moving the optic left the mount behind._own_newnow rigid-parents each
cluster's hardware to a representative optic viamatrix_parent_inverse = optic.matrix_world.inverted():
no visible jump, the optic'smatrix_worldis untouched (so the live trace stays byte-identical),
and Blender's depsgraph moves the whole assembly rigidly — an optic nudged 10 mm carries all of
its dressed hardware by exactly 10 mm.- Added a distinct translation-stage mount geometry (it previously fell through to the kinematic mount).
Added — "show me everything" inspection & reporting
inspect_all()— a per-element dashboard (power, beam count, w, R, polarization, vignetting,
diagnostics) for the whole bench.export_report(filepath, title, with_render)— a self-contained HTML spec-sheet bundling
get_state+diagnose+ per-element inspection + plots (+ an optional render), images embedded.- Both exposed over MCP for the AI agent.
Added — material / crystal / IR catalog (sourced)
- Four more glasses — N-PK51, N-LASF9, N-SF66, S-FPL51.
- Two more nonlinear crystals — CLBO and AgGaS2 (self-validated against published cuts).
- Three infrared materials — As2S3, AgCl, ZnS — via a new refractiveindex.info
formula 4
evaluator. - A new
docs/DATASOURCES.mddocumenting the provenance of every material constant + component spec.
Added — physics-validation coverage
- New checks for AOM deflection and Gaussian-to-fiber coupling efficiency.
Changed — update-button discoverability, naming & IP provenance
- The in-add-on Updates panel rendered only when an update was available or staged, so up-to-date
users never saw it. It is now always visible with an "Up to date · Check" affordance + a state icon. - Naming tidy toward "simulator": "Alignment Report" → "Optical Report"; "Update Report" → "Refresh Report".
library.pygained an IP / trademark clarifying note (public part-number references for spec
reproduction; no vendor CAD bundled; not affiliated with or endorsed by any vendor).
Install / update: drag the one-click link from
https://emircbngl.github.io/blender-optics-simulator/ into Blender, or download the attached
optical_alignment_sim-0.23.0.zip and Install from Disk. Existing installs auto-update via the
self-hosted extension channel.