Changelog
All notable changes to L-SURF will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.2.0] - 2024-12-28
Added
Complete package restructuring as L-SURF (Light Surface Reflections)
Modular architecture with separate core, materials, sources, surfaces, detectors modules
Comprehensive visualization module with reusable plotting functions
Full Sphinx documentation with user guide, API reference, and examples
Conda packaging support with meta.yaml recipe
pyproject.toml for modern Python packaging
Type hints throughout codebase (PEP 561 compliant)
8 example applications demonstrating key features
123 unit tests with pytest
CI/CD configuration placeholders
Changed
Package renamed from surface_reflections to lsurf
Import syntax:
import lsurf as srRefactored examples to use visualization module functions
Updated all documentation to use L-SURF branding
Environment name changed to lsurf
Fixed
Planar surface support in
plot_ray_paths_with_surfaceModule imports in test suite
Package discovery in setuptools configuration
[0.1.0] - 2024-12-01
Initial development release.
Added
GPU-accelerated ray tracing core
Fresnel reflection and refraction
Multiple surface types: planar, spherical, Gerstner waves
Curved Earth geometry for large-scale simulations
Ray sources: point, collimated, diverging, Gaussian
Spherical, planar, and directional detectors
Material definitions with dispersion models
Multi-bounce ray tracing with intensity splitting
Time-of-flight tracking
Polarization support (s and p components)
HDF5 data saving for large simulations
Basic visualization functions