Files
hs-game/CHANGELOG.md
2025-12-21 12:23:57 +01:00

108 lines
2.7 KiB
Markdown

# 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