packages feed

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 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