Skip to content

Releases: ricktu288/ray-optics

v5.3.2

Choose a tag to compare

@ricktu288 ricktu288 released this 08 May 21:48
  • To run the web app locally, please download website-build.zip in the assets below and follow this guide
  • To use the integration tools, please download integrations-build.zip in the assets below (more info)
  • To cite this version, please follow the "Citation" or "Export" panel of this Zenodo record.

Summary of changes in this release

Core simulator

  • Fixed inconsistent bases of \log between tex-math-parser (base 10) and evaluatex (natural log) (#328).
    NOTE: This bug caused incorrect ray paths when logarithms were used in refractive index functions in GRIN glasses, affecting all versions since v4.1, when GRIN optics was first implemented.
  • Fixed runtime errors when using some combinations of functions in equations.

v5.3.1

Choose a tag to compare

@ricktu288 ricktu288 released this 23 Apr 00:45
  • To run the web app locally, please download website-build.zip in the assets below and follow this guide
  • To use the integration tools, please download integrations-build.zip in the assets below (more info)
  • To cite this version, please follow the "Citation" or "Export" panel of this Zenodo record.

Summary of changes in this release

Core simulator

  • Fixed loop length detection in module
  • Fixed runtime error when using inverse trig functions in GRIN glasses (#319)

v5.3.0 — 10th Anniversary Release

Choose a tag to compare

@ricktu288 ricktu288 released this 22 Feb 15:39
  • To run the web app locally, please download website-build.zip in the assets below and follow this guide
  • To use the integration tools, please download integrations-build.zip in the assets below (more info)
  • To cite this version, please follow the "Citation" or "Export" panel of this Zenodo record.

Celebrating 10 Years of Open Source

Today (February 22, 2026) marks the 10th anniversary of the Ray Optics Simulation repository on GitHub. Ten years ago, this project made an important transition: from a personal coding experiment into an open-source project that invites anyone to inspect, improve, and build upon it.

Over the past decade, this project has grown through contributions from people worldwide. Students, teachers, researchers, and hobbyists use it in many different contexts; as a result, the software has evolved to meet needs we could never have anticipated at the beginning. This kind of growth is made possible by keeping the source code public, allowing the community to shape the tool into what they need it to be.

By now, around 100 people have contributed directly to the codebase, including many who helped translate it into 20 languages. Countless others have suggested features, reported bugs, or simply shared how they use the software. Thank you to everyone who has helped, in ways large or small, to make Ray Optics Simulation more useful to people around the world.

Summary of changes in this release

Core simulator

  • Updated fallback line spacing (#290)
  • Allowed setting individual styles for decorations (#285)
  • Allowed turning off partial reflections of glass (#157)
  • Added option to limit ray depth (#157)
  • Added focal length slider for curved mirrors (#268)
  • Added red/violet wavelength options

Web app

  • Beta features now strictly mean those not in the latest release (except for UI texts and small UI improvements), and those in use are indicated with an icon.
  • Added virtual Ctrl/Shift for touchscreen
  • Added more hints for advanced features

Gallery & Modules

  • New: Classical Cassegrain telescopes (by @bird0cosmic)
  • New: Digital Camera (by Jorge Bodroghy Leite)
  • New: Grating Pulse Compressor (by DeadeyeSun)
  • New: Rainbow Point Source (by @bkgoodman)
  • Improve: Newtonian Telescope
  • Improve: Pair of Axicons making a Rainbow Ring

Translations

v5.2.1

Choose a tag to compare

@ricktu288 ricktu288 released this 06 Feb 23:07
  • To run the web app locally, please download website-build.zip in the assets below and follow this guide
  • To use the integration tools, please download integrations-build.zip in the assets below (more info)
  • To cite this version, please follow the "Citation" or "Export" panel of this Zenodo record.

Summary of changes in this release

Core simulator

  • Fixed runtime error when using number array in module
  • Fixed bug in handling weak partially reflected rays (note that the numerical error caused by this bug is within truncation error)

v5.2.0

Choose a tag to compare

@ricktu288 ricktu288 released this 26 Nov 04:10
  • To run the web app locally, please download website-build.zip in the assets below and follow this guide
  • To use the integration tools, please download integrations-build.zip in the assets below (more info)
  • To cite this version, please follow the "Citation" or "Export" panel of this Zenodo record.

Summary of changes in this release

Core simulator

  • Allowed negative refractive indices in glasses (by @briidee3)
  • Allowed language-specific font lists for TextLabel (#238)
  • Added Bézier curve glass and GRIN glass tools (by @briidee3)
  • Added double-backtick equation syntax in module
  • Added absorption of GRIN glasses (#109)
  • Fixed bugs when importing scenes from v3.x to v4.x
  • Added parametric curve tools
  • Added custom surface tools (#123, #131, #132, #250)
  • Redefined and clarify surface merging (#122, #136, #230)
  • Added custom theme support (#156)
  • Added "step" option to handles
  • Allowed binding objects directly to handles
  • Added "variables" feature to modules

Web app

  • Added manual simulator controls
  • Added AI assistant

Gallery & Modules

  • New: Augustin Fresnel's Lighthouse Optics (by Richard Ruh)
  • New: Coated Spherical Lens
  • New: Cube Beam Splitter (by Feng)
  • New: Elliptical Mirror
  • New: Optics of human eye (by bri)
  • Improve: Beam Directors
  • Improve: Chaff
  • Improve: Concave Mirror Wearable Display
  • Improve: Fresnel Lens
  • Improve: Köhler Illumination
  • Improve: Optical Fiber
  • Improve: Reflecting Monochromator (by @gljames24)

Translations

v5.1.0

Choose a tag to compare

@ricktu288 ricktu288 released this 22 Apr 23:31
  • To run the web app locally, please download website-build.zip in the assets below and follow this guide
  • To use the integration tools, please download integrations-build.zip in the assets below (more info)
  • To cite this version, please follow the "Citation" or "Export" panel of this Zenodo record.

Summary of changes in this release

Core simulator

  • Fixed bugs in custom equation tools
  • Fixed error in crop box
  • Added validity and compatibility checks for scene
  • Added integrations with Python and Julia
  • Refactored some code to allow using Simulator without canvas
  • Added "Show Ray Arrows" option
  • Implemented float color renderer for "correct brightness"
  • Added color mapping functions (color modes) for "correct brightness"
  • Added convex diffraction grating tool (by @birdylife)
  • Added scene object function to rotate objects around their center (by @birdylife)

Web app

  • Refactored the UI from plain HTML to Vue
  • Truncate mouse coordinates to binary fractions
  • Reorganized directory structure and docs
  • Added support of Cmd key for Mac users (by @Abhinandan-Kushwaha)
  • Added +/- keys to rotate objects (by @birdylife)

Gallery & Modules

  • New: Distortion in windows and backside mirrors (by Shahar Seifer)
  • New: Köhler Illumination (by Leon Seidel)
  • New: Orientations of plano-convex lens (by Matthias Guillon)
  • New: Virtual Image Formation (by Daniel Anya)
  • Improve: Specular and Diffuse Reflections

Translations

  • New language: Khmer (Central) (by @KimHongPhong)
  • New language: Tamil (by TamilNeram)
  • Translate: German (by @Atalanttore, Patrick Gretzki)
  • Translate: French (by Andreas Arnold, Rafael Bastin, @mcornillon)
  • Translate: Polish (by Anonymous, @abat54)
  • Translate: Portuguese (Brazil) (by Anonymous, @Pedroobraga)
  • Translate: Russian (by @artyom34593, Ilya Vasilenko, sasavladimirov6)

v5.0.0

Choose a tag to compare

@ricktu288 ricktu288 released this 21 Dec 02:01
bba729f
  • To run the web app locally, please download website-build.zip in the assets below and follow this guide
  • To cite this version, please follow the "Citation" or "Export" panel of this Zenodo record.

Summary of changes in this release

Core simulator

  • Refactored to modularize the JS code
  • Used a new JSON format for scenes
  • Added hyperbolic functions to equation editor (#120)
  • Added option for ruler scale interval (#57)
  • Added diffraction grating tool (by @digitalgreenery)
  • Added the "module" feature for parametrizing optical components
  • Added option for rayCountLimit and warnings in CropBox (#144)
  • Added warning for identical optical elements
  • Added warning for inconsistent brightness saturation ratios (#86, #149)
  • Enhanced compatibility with physical unit of length (#140)
  • Added chromatic dispersion support in GRIN glass

Web app

  • Used Webpack for bundling the app
  • Replaced polyfill.io (by @SukkaW)
  • Added JSON editor for scene
  • Added preference to auto sync URL
  • Show error and warning messages

Gallery & Modules

  • New: Optical fiber (by josephernest)
  • New: Solar Eclipses
  • New: Caustics from a reflective sphere (by Georg Nadorff)
  • New: Concave mirror wearable display (by Rene)
  • New: Reflecting Monochromator (by @gljames24)
  • New: Simple Double-Gauss Lens (by Alex)
  • New: The principle of camera imaging (by Liu Quanhong)
  • New: Pair of Axicons making a Rainbow Ring (by Peter Becher)
  • New: The Mirascope (by Mario Petitclerc)
  • New: Chaff (by @StasFainer)
  • New: Ray Relay (by @StasFainer)
  • Update all items for auto-layout and image generation

Translations

v4.1

Choose a tag to compare

@ricktu288 ricktu288 released this 22 Jan 03:10
Update README

v4.0

Choose a tag to compare

@ricktu288 ricktu288 released this 17 Sep 22:50
Improve new UI

v3.7

Choose a tag to compare

@ricktu288 ricktu288 released this 26 Aug 20:55
Merge branch 'gljames24-master'