Skip to content

Optical Design 3.0.0

Latest

Choose a tag to compare

@tangericm tangericm released this 14 Sep 21:45

Optical Design 3.0.0

Learn with a measured lens walkthrough, inspect prescriptions with explicit import limits, and produce reviews whose acceptance and saved-candidate evidence agree.

Highlights

  • Guided Cooke-triplet focus walkthrough: preserved source, bounded optimization, all configured fields and wavelengths measured after save/reload, and before/after plots with matching scales.
  • Correct back focal length, separate image distance, and clearer paraxial metric definitions.
  • Shared import assessment and numerical rejection of unconverted non-mm prescriptions.
  • Consistent recipe/report schema with requirement checks, explicit evidence states, and complete metric-bound reload checks.
  • Safer managed installation lifecycle: normal Python caches no longer block updates, one intact backup retained, and ownership-checked backup pruning.
  • Explicit engine diagnostics, beginner prompts, corrected optical references, and evaluation rubrics excluded from installations.

Migration from 2.0.0

This is a major release because public metric semantics and report validation change.

  • If you previously used bfl_mm as detector spacing, read image_distance_mm instead. back_focal_length_mm and the corrected bfl_mm alias now measure paraxial back focus from the last optical vertex.
  • Gate inputs must be finite numeric requirements; a tolerance requires a target.
  • Reloaded review evidence must uniquely cover every displayed metric, match its name/conditions/units, and agree with the reported value.
  • Repository development evaluations moved to evals/ and are excluded from installed packages.

Full migration notes · Changelog

Try it

npx optical-design@3.0.0 install --agent codex
npx optical-design@3.0.0 walkthrough --out my-first-lens

Supported destinations: Claude Code, Codex, Cursor, OpenCode, and Hermes. Node.js 22+ and uv are required; the walkthrough fetches Python and pinned Optiland dependencies on first use.

Verification and scope

Local verification: 941 portable Python tests and 56 Node tests passed, with platform/native exclusions documented. Package lifecycle checks exercise all five installation destinations; the installed calculator and walkthrough preserve project outputs through update/uninstall. The packed audited demo passes.

Cross-platform CI results are attached to the release commit. No new native engine certification, cross-model uplift, or beginner participant study is claimed.

The npm archive is attached with SHA-256 checksums. Previous releases remain available for explicitly pinned workflows.

Post-publication verification: npm latest resolves to 3.0.0 and its archive matches the GitHub asset. The walkthrough fetched from npm preserved its source, passed all nine declared field/wavelength requirements, and improved worst sampled RMS spot radius from 85.03 to 18.76 µm after candidate save/reload.