v0.18.0 — Multi-plane field-propagation chain (propagate_chain)
v0.18.0 — Multi-plane field-propagation chain (propagate_chain)
propagate_field runs the angular-spectrum propagator once; the new propagate_chain marches a complex field through a sequence of planes — the POPPY-style multi-plane OpticalSystem the single-step layer could not chain. The geometric trace is byte-identical to v0.17.0 (regression 375/375).
Each step is ["prop", dz_mm] (free-space propagation), ["aperture", D_mm] (hard circular aperture), or ["lens", f_mm] (thin lens); the source is a Gaussian w0_mm or a clear aperture_mm. (optics_api + MCP.) Validated:
- propagator additivity — the pure angular spectrum composes exactly,
prop(z1)·prop(z2) = prop(z1+z2)to 3.7×10⁻¹¹; - a chained
aperture→lens(f)→propfocuses at z=f (200 mm); - a free Gaussian marched through the chain reproduces
w(z)=w0√(1+(z/zR)²).
This closes the optics-textbook catalog's principal remaining gap: single plane→plane is now a chainable auto-pipeline (Voelz propTF, POPPY-style multi-plane). Validation now 171 oracle checks. (Near-field / moderate-propagation layer — a tight focus or a Fraunhofer far field is better via direct FFT: wave_psf / slit_diffraction.)
Install / update
Existing users on the native update channel get this as a one-click update. New install: download the zip below → Blender Preferences ▸ Add-ons ▸ Install from Disk…
Full notes: CHANGELOG.md.