summaryrefslogtreecommitdiff
path: root/CHANGELOG.md
diff options
context:
space:
mode:
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r--CHANGELOG.md107
1 files changed, 107 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000..d413bc8
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,107 @@
+
+# Changelog
+
+All notable changes to this project will be documented in this file.
+
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
+and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+
+## [Eventual]
+
+### Added
+
+- test suite for non-`IO` functions
+
+### Changed
+
+- use rotors rather than `Linear.Quaternion` for rotation; easily extended to 4D
+- move `Player` out of `Camera`
+- configure with `Properties` objects in the Model
+- use `Double` rather than `FLoat` for internal calculations
+ - `cursorPos`, `dt` natively `Double` already
+
+## [0.4.0] - 2025-12-21
+
+### Added
+
+- cube as array of points
+- debug feature where `t` and `g` raise and lower speed respectively
+
+### Changed
+
+- `initResources` now takes `[[V3 GL.GLfloat]]` rather than `[V3 GL.GLfloat]`
+ - to migrate: rather than passing `a` pass `[a]`; behaviour is the same
+- reduce view distance to 1'000 from 10'000
+- color pixels based on normalized coordinates
+- use `haskellPackages.callCabal2nix` in `flake.nix` for brevity, same behaviour
+
+## [0.3.0] - 2025-12-08
+
+### Added
+
+- Cabal build system
+- `.gitignore` against build artifacts
+
+### Changed
+
+- versioning using the [PVP standard](https://pvp.haskell.org/), though it will remain SemVer compliant
+ - SemVer version A.B.C will become PVP version A.B.C.0
+- `README.md` overhauled to reflect new build system
+
+### Fixed
+
+- a couple non-impactful typos
+
+### Removed
+
+- `Game` module -> moved to `Main`
+
+## [0.2.1] - 2025-12-08
+
+### Changed
+
+- break Git by using it wrong
+- fix Git (maybe)
+
+## [0.2.0] - 2025-12-07
+
+### Added
+
+- 100% documentation coverage
+- 4 outputs of Nix flake
+ - `debug`: compiles fast, no docs
+ - `release`: runs fast, no docs
+ - `docs`: only docs
+ - `default`: release binary with docs
+
+### Changed
+
+- `initResources` no longer takes a `GLFW.Window` argument
+- BSD 3-clause license adopted rather than WTFPL
+ - reasoning: More professional, widely recognised, effectively identical
+- `CHANGELOG.md` has more formatting, namely inline code
+- clarify a couple entries in the `[0.1.0] - 2025-12-07 Changed` entry
+
+### Fixed
+
+- semantic issues; no warnings are thrown
+
+## [0.1.0] - 2025-12-07
+
+### Added
+
+- added `CHANGELOG.md`
+- layer correctly drawn objects in `view`
+
+### Changed
+
+- 8xMSAA rather than 4xMSAA window hint to improve AA
+- todo and changelog in `CHANGELOG.md` rather than `README.md`
+- a nubmer fo functions from `Game` now in `Game.Internal`
+- `initResources` takes an `[V3 GL.GLfloat]` to draw rather than hardcoded arrays
+- square the distance of the far plane of the perspective transform
+- `loop` function takes delta time `dt :: Float`
+
+### Fixed
+
+- constrained pitch to disallow gimbal lock and an inverted view