# Changelog
All notable changes to SciForge are documented in this file.
## [0.0.2] - 2026-03-24
### Documentation
- Consolidated and normalized documentation under `docs/`
- Structured the documentation into paired guides:
- `docs/modules/` for scientific model explanations
- `docs/code/` for source and API explanations
- Updated `docs/Summary.md` to serve as the documentation entry point
### Testing
- Added dedicated scientific validation and scientific property-based suites
- Expanded integration coverage across constants, maths, physics, chemistry, biology, geology, astronomy, meteorology, and Hub workflows
- Added validation artifacts under `output/validation/`
### Astronomy and Hub
- Extended cosmology coverage with direct `E(z)` parameterizations and `H(z)` helpers
- Expanded redshift-distance cosmology utilities and Hub astronomy dispatch integration
### Project Metadata
- Bumped crate version to `0.0.2`
- Updated top-level project documentation to reflect the current version and test architecture
## [0.0.1] - 2026-03-23
### Project Foundation
- Initialized `sciforge` crate (Rust edition 2024, zero external dependencies)
- Established 11-module architecture: `constants`, `maths`, `physics`, `chemistry`, `biology`, `geology`, `astronomy`, `meteorology`, `benchmark`, `parser`, `hub`
- 575 source files, 48 600+ lines of Rust across all modules
### Constants
- Fundamental physical constants (CODATA values)
- Astrophysical constants
- Atomic constants
- Unit conversion factors
- Full periodic table element data (118 elements)
### Mathematics (17 submodules)
- Complex number arithmetic
- Tensor, vector, polynomial types
- Linear algebra and sparse matrix operations
- Non-Euclidean geometry
- Graph theory
- Interpolation and numerical integration
- ODE and PDE solvers
- FFT (Fast Fourier Transform)
- Optimization algorithms
- Statistics and probability distributions
- Signal processing
### Physics (11 submodules)
- Special and general relativity
- Quantum mechanics
- Thermodynamics
- Classical electrodynamics
- Fluid and solid mechanics
- Optics and acoustics
- Nucleosynthesis
- Electronics
- Materials science
### Chemistry (26 submodules)
- Reaction kinetics and chemical equilibrium
- Electrochemistry and thermochemistry
- Molecular and organic/inorganic chemistry
- Analytical and quantum chemistry
- Solutions, gas laws, acid-base equilibria
- Nuclear chemistry and photochemistry
- Polymers, spectroscopy, surface chemistry
- Crystallography and stoichiometry
- Colloids, solid-state, computational chemistry
- Reaction engineering and transport phenomena
- Environmental and green chemistry
### Biology (44 submodules)
- Population dynamics, genetics, genomics, proteomics
- Enzyme kinetics, cell biology, developmental biology
- Neuroscience, pharmacology, immunology
- Ecology, evolution, phylogenetics, ethology
- Biomechanics, biophysics, bioenergetics, biostatistics
- Structural biology, systems biology, synthetic biology
- Epigenetics, bioinformatics, biogeography
- Microbiology, virology, parasitology, mycology
- Endocrinology, physiology, plant biology, chronobiology
- Toxicology, radiobiology, cryobiology, nutrition
- Cancer biology, marine biology, aging, reproduction
- Stem cell biology, bioelectricity, tissue engineering, paleobiology
### Geology (4 submodules)
- Seismology
- Radiometric dating
- Petrology
- Plate tectonics
### Astronomy (4 submodules)
- Orbital mechanics
- Stellar astrophysics
- Cosmology
- Celestial mechanics
### Meteorology (4 submodules)
- Atmospheric modeling
- Radiation transfer
- Atmospheric dynamics
- Precipitation
### Hub
- Central dispatch API with `api`, `domain`, `engine`, `tools` submodules
- Prelude module for ergonomic imports
### Benchmark (6 submodules)
- `engine` — benchmark runner with `BenchmarkMetrics` (iterations, timing, throughput)
- `encode` / `decode` — compact binary `.bmk` format for benchmark results
- `simulation` — deterministic benchmark simulation for all 118 elements
- `report` — JSON, YAML, TOML report generation with tagged metadata
- `export` — multi-format export pipeline:
- Per-element and aggregate CSV, JSON, YAML, TOML, BMK files
- Per-category grouped exports
- Interactive HTML dashboard:
- IUPAC 2024 periodic table grid (La/Ac in main body, groups 1-18)
- Dark gradient theme with category-colored element cells
- Hover zoom, click-to-detail card with full metrics
- CSV displayed as interactive HTML table
- SVG chart visualizations (category distribution, timing, top 10 fastest/slowest, statistics)
- Tabbed file browser for all export formats
- Legend with gradient swatches
- Markdown summary report
- 28 tests covering engine, encode/decode roundtrip, simulation, report, and export
### Parser (5 submodules)
- `csv` — CSV reader/writer with configurable delimiters and quoting
- `json` — JSON parser and validator
- `yaml` — YAML parser and validator
- `markdown` — Markdown parser and validator
- `html` — HTML parser and validator
- 66 tests covering parsing, validation, edge cases, and file generation
- Generated sample files: CSV (20 elements), JSON, YAML, Markdown, HTML (dark gradient theme)
### Periodic Table Data
- 118 element data files organized by category under `tableau-periodique/`:
- Non-metals, noble gases, halogens, metalloids
- Alkali metals, alkaline earth metals
- Transition metals, post-transition metals
- Lanthanides, actinides, superheavy elements
### Testing
- 94 total tests (28 benchmark + 66 parser), all passing
- Zero clippy warnings
- Zero `#[allow]` directives