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 sr`` * Refactored 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_surface`` * Module 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 .. _Keep a Changelog: https://keepachangelog.com/en/1.0.0/ .. _Semantic Versioning: https://semver.org/spec/v2.0.0.html