- Improved display of linear combinations in Hybrid mode.
- In Real mode, nodal surfaces are no longer unnecessarily rerendered when changing quality.
- Migrated to Yew v0.19.
- Supplemental plots can now be maximized for easier viewing.
- Nodal surfaces are now plotted exactly in Real mode by numerically solving for their positions and drawing spheres, cones, and planes. This significantly improves their appearance and accuracy, compared to the previous approach of drawing them as isosurfaces of the radial and angular wavefunctions.
- Expressions are now given for h orbitals.
- The maximum
n
value has been increased from 8 to 12 in Real and Complex modes.
- Added an optional 'apply' button to the quantum number selectors in Real and Complex modes. This is to help reduce the number of pauses experienced while changing multiple quantum number dropdowns, whose options are interlinked. Thanks to Tyler A. for the suggestion!
- Basic plotting of the molecular orbitals of the hydrogen molecule-ion is now implemented.
- State is now cleared on crash, so in the (rare) scenario of a crash reloading will not result in an immediate crash with the same error.
- The quantum numbers of the orbital are now displayed in Real (Simple) mode.
- The sampling range for real and complex orbitals is now determined using numerical integration instead of a 'heuristic' function. More specifically, it is the dimension of the sphere that encompasses ~99.8% of all probability density.
- Radial probability distribution curves are now validated by checking that they sum to unity. This is tested for all orbitals with n <= 8 to be true to within 0.005 and is also displayed in the console. Note that the values come out slightly less than one, since we only sample a finite (albeit the most important) portion of the curve.
- The opacity of angular nodes has been increased slightly to aid visibility.
- Internal improvements to the handling of hybrid orbitals.
- sp3d and sp3d2 orbitals are now available.
- The number of estimation samples used for determining the maximum probability density attained by an orbital has been increased, improving sample accuracy in certain situations.
- The border around the main plot has been removed for a more immersive experience.
- Cross-section probability density plots are now available in all modes.
- State is now persisted across reloads.
- Cross-sections are now available in Complex mode.
- Nodal surfaces and 3D isosurfaces are now available in Hybrid mode.
- The help page has been expanded and reorganized.
- All links now open in a new tab.
- Orbital names are correctly italicized where possible.
- Minor styling improvements.
- There are no longer color artifacts in complex cross-section plots if all values are zero.
- Cross-section plots are now available in Complex mode.
- Plot updates are now timed, and the times are printed to console.
- The z-axis label for cross-section plots now clearly indicates which variable is zero.
- A message is now displayed if Evanescence crashes to notify the user to refresh the page.
- The help page has been expanded.
- Minor improvements to help tooltips.
- The font size of the z-axis label for cross-section plots has been reduced.
- Symbols for quantum numbers are now italicized where possible.
- Silhouettes in Hybrid mode are no longer cropped. This was a regression introduced in version 0.4.7.
- The example tooltip on the help page now works again.
- Complex cross-section plots tend to have more significant numerical instability artifacts than other cross-section plots. This is due to the nature of modulus plots and cannot be resolved.
- The isosurface cutoff value is now shown for 3D isosurface plots.
- Pointillist plots are now based on probability density instead of wavefunction value. This is more correct and produces higher-quality, more well-defined plots. Unfortunately, this also has a rather significant perform cost that can only be partially ameliorated.
- Quality values have been adjusted to improve performance, since fewer points are now needed to achieve the same visual quality.
- Various descriptions have been clarified and made more rigorous.
- Point sizes have been adjusted to emphasize the outer lobes of s orbitals.
- Nodal surfaces are now more opaque and clearer.
- Removed the "radial probability density" plot. This plot is somewhat confusing and does not have a signifcant use when "radial probability distribution" is also provided.
- The probability distribution curve is now shaded to reflect that its integral corresponds to probability.
- Fixed styling of help page title on iOS.
- Fixed styling of tab bar on iOS.
- Do not scroll the page itself when the help window is open on mobile devices.
- Note that this is known to be (intentionally) broken on iOS when the navigation bar is collapsed.
- Always set correct page height on mobile devices (this is now done in Rust by setting the height to
window.innerHeight
, or the space available after the navigation bars have been accounted for). - Do not zoom in when using selectors on iOS.
- Correctly update layout on orientation change.
- There is now a brief help page, accessed through the "?" button in the top-right corner.
- The handling of hybrid orbitals has been revamped. It is now possible to show silhouettes of all hybrid orbitals of a certain kind to illustrate symmetry.
- More detailed information is provided about hybrid orbitals.
- The coloring of isosurfaces has been improved.
- Sometimes the "Show symmetry" box in hybrid mode becomes mysteriously checked if the option is enabled, a different mode is selected, and hybrid mode is activated again.
- Plots' background colors are no longer transparent, such that useful screenshots can be exported using the built-in "download plot" function.
- Nodal surfaces are now only computed when they are known to exist, improving performance when nodal surface display is enabled but there is no actual node to be shown.
- The user interface now uses transitions.
- The "help" cursor is now displayed when hovering over text that has a tooltip.
- Mode selection now uses a tab bar instead of a dropdown menu to improve clarity and discoverability.
- Plot controls are now hidden by default.
- Basic plotting of hybridized orbitals is now implemented.
- The color scale is now labeled more clearly in Complex mode.
- Fix rendering of angular nodes and cross-section indicators. These were regressions introduced in version 0.4.0.
- Plotting of complex orbitals is now implemented. Bask in
rainbowunicorn vomit glory! - The state management logic has been revamped, yet again. This opens the way to the plotting of hybridized and molecular orbitals in the future.
- Fix depth buffer artifacts in the main pointillist by setting point opacity to 1.0. This resolves the issue of points disappearing while overlapping other lobes.
- Correct accidental use of
ψ
instead ofR
for the radial wavefunction.
- Supplemental plots now have descriptions.
- Annotate axes with the cooresponding functions (ex.
r
,r^2R^2
) where necessary.
- Supplemental plots are now resized appropriately when the size of controls and text changes.
- Hover tooltips containing explanations for configuration options are now displayed.
- Tooltips may be cut off by the screen edge on certain screen geometries.
- Presets for common quantum number sets. The full quantum number selector can be enabled by selecting "Custom" from the preset dropdown.
- Display the corresponding subshell and orbital names in dropdown menus, if applicable and possible.
- Blobs! Initial implementation of 3D isosurface plots.
- Add favicon and
meta
description tags.
- Allow pan and zoom for radial plots.
- The viewport for supplemental visualizations sometimes resets mysteriously.
- Isosurface cutoffs are in need of fine-tuning.
- Remove extraneous hover highlighting on cross-section indicators.
- A contour line is always placed at zero on cross-section plots. i.e., the nodes are always highlighted.
- Values near zero are now shown in white instead of yellow on cross-section plots.
- Correctly remove the cross-section indicator from the main plot when the cross-section is turned off.
- Implement cross-sectional views. This visualization plots the xy-, yz-, or xz-plane cross section of a wavefunction as a 3D contour, clarifying the features of the orbital on that specific plane. An indicator is drawn on the pointillist visualization to show the plane on which the cross-section is taken.
- Fix display of negative numbers in dropdown menus. This is a regression introduced in v0.2.0.
- Initial implementation of supplemental visualizations. The first batch includes three radial plots: The radial wavefunction
R
, the radial probabilityR^2
, and the radial probability distributionr^2 R^2
.
- Mitigate artifacting on orbitals with
l
= 4,m
= ±4. - Display quality names in sentence case.
- Always sample the origin in nodal surface plots. This improves the accuracy of certain features.
- Improve dark theme appearance.
- Switch to Lato 2.0 font, hosted by Adobe Fonts.
- Improve orbital information panel, including giving the number of radial and angular nodes.
- Dark mode and page styling.
- Additional compilation flags for release builds.
- Third implementation of pointillist plot trace management. This brings significant speed improvements when switching quantum numbers or quality with nodal surfaces shown, by reducing the number of API calls and trace deletions/additions.
- Reduce default quality from Medium to Low, raising the point size slightly to compensate.
- Compute radial and angular nodes separately. This allows the kind(s) of nodes being plotted to be selected, while also reducing the number of artifacts by reducing the number of intersections plotted by the same trace.
- The management of traces in the pointillist plot is revamped to enable this functionality.
- Set the plot range and aspect ratio of plots at all times to eliminate jumps resulting from automatic plot range determination.
- (Rudimentary) plotting of nodal surfaces.
- Internal improvements to state handling.
- Initial implementation of the pointillist visualization, including the selection of quantum numbers and quality presets.
- Set up continuous integration for automatic deployment of the website.