FULE 0.3.1 → 0.3.1.1
raw patch · 4 files changed
+7/−11 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- CHANGELOG.md +3/−0
- FULE.cabal +2/−2
- doc/Theory.md +1/−4
- src/FULE/Layout.hs +1/−5
CHANGELOG.md view
@@ -8,6 +8,9 @@ ## Unreleased +## 0.3.1.1 - 2024-05-10+ - Simplified update procedure+ ## 0.3.1 - 2024-02-16 - Added `Reactor` type and `Reaction` typeclass for heterogeneous components - Updated Usage documentation
FULE.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack name: FULE-version: 0.3.1+version: 0.3.1.1 synopsis: Functional UI Layout Engine description: Please see the README on GitHub at <https://github.com/pschnapp/FULE#readme> category: GUI@@ -13,7 +13,7 @@ bug-reports: https://github.com/pschnapp/FULE/issues author: Paul Schnapp maintainer: paul.schnapp@gmail.com-copyright: 2022, 2023 Paul Schnapp+copyright: 2022-2024 Paul Schnapp license: BSD3 license-file: LICENSE build-type: Simple
doc/Theory.md view
@@ -555,15 +555,12 @@ \begin{align} P_{P} & = prop_{P}(P) \\ P_{E} & = prop_{E}(E) \\-P_{H} & = P_{P} - I \\-T & = P_{P} + P_{E} + P_{H}P_{E} + P_{E}P_{H} + P_{H}P_{E}P_{H} \\+T & = P_{P} (I + P_{E}P_{P}) \\ L_{n+1} & = T U + L_n \end{align} $$ where $I$ is the identity matrix.--The $P_{H}$ terms in $T$ serve to mix the propagations of $E$ and $P$ together since we need them to interact in the layout for it to respond properly to changes. Since $P$ and $E$ don't change each time an update $U$ is applied we can pre-compute the combined transformation matrix $T$ just once for efficiency's sake and use it for every update cycle; any changes to the composition of the layout (and thus to $P$ or $E$) will require rebuilding $T$ though.
src/FULE/Layout.hs view
@@ -303,11 +303,7 @@ } = design pp = propPlas plas pe = propElas elas- ph = pp `sub` (eye . fst . dims $ plas)- transform = pp `add` pe- `add` (ph `mul` pe)- `add` (pe `mul` ph)- `add` (ph `mul` pe `mul` ph)+ transform = pp `mul` ((eye . fst . dims $ plas) `add` (pe `mul` pp)) -- | Transform a 'Layout' back into a 'LayoutDesign'. design :: Layout -> LayoutDesign