blob: d413bc8df67a76c2ecd224816bd0d9a27e9b722f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
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
|