@explorable-viz/fluid 0.7.90 → 0.7.91

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/dist/fluid/fluid/lib/matrix.fld +18 -16
  2. package/dist/fluid/shared/fluid.mjs +210 -295
  3. package/dist/fluid/shared/load-figure.js +458 -700
  4. package/package.json +5 -3
  5. package/script/bundle-website.sh +13 -2
  6. package/website/article/README.md +3 -0
  7. package/website/article/convolution/index.html +90 -0
  8. package/website/article/convolution/spec.json +9 -0
  9. package/website/article/fluid/convolution/emboss.fld +5 -0
  10. package/website/article/fluid/convolution/test-image.fld +7 -0
  11. package/website/article/fluid/convolution.fld +24 -0
  12. package/website/article/fluid/dataset/methane-emissions.fld +123 -0
  13. package/website/article/fluid/dataset/non-renewables.fld +67 -0
  14. package/website/article/fluid/dataset/renewables-new.fld +301 -0
  15. package/website/article/fluid/dataset/scigen/1805.02474v1-10.fld +17 -0
  16. package/website/article/fluid/moving-average.fld +19 -0
  17. package/website/article/fluid/non-renewables.fld +21 -0
  18. package/website/article/fluid/scigen.fld +50 -0
  19. package/website/article/fluid/util.fld +36 -0
  20. package/website/article/image/fluid-logo.png +0 -0
  21. package/website/article/image/iccs-full-logo.png +0 -0
  22. package/website/article/image/schmidtsciences_primary_color.png +0 -0
  23. package/website/article/index.html +26 -0
  24. package/website/article/moving-average/index.html +57 -0
  25. package/website/article/moving-average/spec.json +9 -0
  26. package/website/article/non-renewables/index.html +46 -0
  27. package/website/article/non-renewables/spec.json +9 -0
  28. package/website/article/test.mjs +10 -0
  29. package/.spago/aff/v7.0.0/.editorconfig +0 -13
  30. package/.spago/aff/v7.0.0/.eslintrc.json +0 -28
  31. package/.spago/aff/v7.0.0/.gitignore +0 -14
  32. package/.spago/aff/v7.0.0/.tidyrc.json +0 -10
  33. package/.spago/affjax/v13.0.0/.editorconfig +0 -13
  34. package/.spago/affjax/v13.0.0/.eslintrc.json +0 -28
  35. package/.spago/affjax/v13.0.0/.gitignore +0 -14
  36. package/.spago/affjax/v13.0.0/.tidyrc.json +0 -10
  37. package/.spago/affjax-web/v1.0.0/.editorconfig +0 -13
  38. package/.spago/affjax-web/v1.0.0/.eslintrc.json +0 -30
  39. package/.spago/affjax-web/v1.0.0/.gitignore +0 -14
  40. package/.spago/affjax-web/v1.0.0/.tidyrc.json +0 -10
  41. package/.spago/argonaut-codecs/v9.0.0/.editorconfig +0 -13
  42. package/.spago/argonaut-codecs/v9.0.0/.gitignore +0 -9
  43. package/.spago/argonaut-codecs/v9.0.0/.tidyrc.json +0 -10
  44. package/.spago/argonaut-core/v7.0.0/.editorconfig +0 -13
  45. package/.spago/argonaut-core/v7.0.0/.eslintrc.json +0 -29
  46. package/.spago/argonaut-core/v7.0.0/.gitignore +0 -14
  47. package/.spago/argonaut-core/v7.0.0/.tidyrc.json +0 -10
  48. package/.spago/arraybuffer-types/v3.0.2/.editorconfig +0 -13
  49. package/.spago/arraybuffer-types/v3.0.2/.gitignore +0 -9
  50. package/.spago/arraybuffer-types/v3.0.2/.tidyrc.json +0 -10
  51. package/.spago/arrays/v7.0.0/.eslintrc.json +0 -26
  52. package/.spago/arrays/v7.0.0/.gitignore +0 -9
  53. package/.spago/assert/v6.0.0/.eslintrc.json +0 -26
  54. package/.spago/assert/v6.0.0/.gitignore +0 -8
  55. package/.spago/bifunctors/v6.0.0/.gitignore +0 -7
  56. package/.spago/catenable-lists/v7.0.0/.gitignore +0 -7
  57. package/.spago/console/v6.0.0/.eslintrc.json +0 -30
  58. package/.spago/console/v6.0.0/.gitignore +0 -9
  59. package/.spago/const/v6.0.0/.gitignore +0 -7
  60. package/.spago/contravariant/v6.0.0/.gitignore +0 -7
  61. package/.spago/control/v6.0.0/.gitignore +0 -7
  62. package/.spago/datetime/v6.1.0/.eslintrc.json +0 -26
  63. package/.spago/datetime/v6.1.0/.gitignore +0 -8
  64. package/.spago/debug/v6.0.0/.eslintrc.json +0 -36
  65. package/.spago/debug/v6.0.0/.gitignore +0 -8
  66. package/.spago/distributive/v6.0.0/.gitignore +0 -7
  67. package/.spago/effect/v4.0.0/.eslintrc.json +0 -26
  68. package/.spago/effect/v4.0.0/.gitignore +0 -8
  69. package/.spago/either/v6.1.0/.gitignore +0 -7
  70. package/.spago/enums/v6.0.0/.gitignore +0 -7
  71. package/.spago/exceptions/v6.0.0/.eslintrc.json +0 -26
  72. package/.spago/exceptions/v6.0.0/.gitignore +0 -8
  73. package/.spago/exists/v6.0.0/.gitignore +0 -7
  74. package/.spago/filterable/v5.0.0/.gitignore +0 -11
  75. package/.spago/foldable-traversable/v6.0.0/.eslintrc.json +0 -26
  76. package/.spago/foldable-traversable/v6.0.0/.gitignore +0 -8
  77. package/.spago/foreign/v7.0.0/.eslintrc.json +0 -26
  78. package/.spago/foreign/v7.0.0/.gitignore +0 -8
  79. package/.spago/foreign-object/v4.0.0/.eslintrc.json +0 -26
  80. package/.spago/foreign-object/v4.0.0/.gitignore +0 -8
  81. package/.spago/form-urlencoded/v7.0.0/.editorconfig +0 -13
  82. package/.spago/form-urlencoded/v7.0.0/.gitignore +0 -9
  83. package/.spago/form-urlencoded/v7.0.0/.tidyrc.json +0 -10
  84. package/.spago/free/v7.0.0/.gitignore +0 -8
  85. package/.spago/functions/v6.0.0/.eslintrc.json +0 -26
  86. package/.spago/functions/v6.0.0/.gitignore +0 -8
  87. package/.spago/functors/v5.0.0/.gitignore +0 -7
  88. package/.spago/gen/v4.0.0/.gitignore +0 -8
  89. package/.spago/graphs/v8.0.0/.gitignore +0 -7
  90. package/.spago/http-methods/v6.0.0/.editorconfig +0 -13
  91. package/.spago/http-methods/v6.0.0/.gitignore +0 -9
  92. package/.spago/http-methods/v6.0.0/.tidyrc.json +0 -10
  93. package/.spago/identity/v6.0.0/.gitignore +0 -7
  94. package/.spago/integers/v6.0.0/.eslintrc.json +0 -26
  95. package/.spago/integers/v6.0.0/.gitignore +0 -8
  96. package/.spago/invariant/v6.0.0/.gitignore +0 -7
  97. package/.spago/js-date/v8.0.0/.editorconfig +0 -13
  98. package/.spago/js-date/v8.0.0/.eslintrc.json +0 -29
  99. package/.spago/js-date/v8.0.0/.gitignore +0 -14
  100. package/.spago/js-date/v8.0.0/.tidyrc.json +0 -10
  101. package/.spago/js-uri/v3.0.0/.eslintrc.json +0 -30
  102. package/.spago/js-uri/v3.0.0/.gitignore +0 -14
  103. package/.spago/js-uri/v3.0.0/.tidyrc.json +0 -10
  104. package/.spago/lazy/v6.0.0/.eslintrc.json +0 -26
  105. package/.spago/lazy/v6.0.0/.gitignore +0 -8
  106. package/.spago/lcg/v4.0.0/.gitignore +0 -8
  107. package/.spago/lists/v7.0.0/.gitignore +0 -7
  108. package/.spago/maybe/v6.0.0/.gitignore +0 -7
  109. package/.spago/media-types/v6.0.0/.editorconfig +0 -13
  110. package/.spago/media-types/v6.0.0/.gitignore +0 -9
  111. package/.spago/media-types/v6.0.0/.tidyrc.json +0 -10
  112. package/.spago/newtype/v5.0.0/.gitignore +0 -7
  113. package/.spago/node-buffer/v8.0.0/.eslintrc.json +0 -26
  114. package/.spago/node-buffer/v8.0.0/.gitignore +0 -8
  115. package/.spago/node-child-process/v9.0.0/.eslintrc.json +0 -29
  116. package/.spago/node-child-process/v9.0.0/.gitignore +0 -8
  117. package/.spago/node-fs/v9.1.0/.eslintrc.json +0 -29
  118. package/.spago/node-fs/v9.1.0/.gitignore +0 -9
  119. package/.spago/node-path/v5.0.0/.eslintrc.json +0 -26
  120. package/.spago/node-path/v5.0.0/.gitignore +0 -8
  121. package/.spago/node-process/v10.0.0/.eslintrc.json +0 -29
  122. package/.spago/node-process/v10.0.0/.gitignore +0 -8
  123. package/.spago/node-streams/v7.0.0/.eslintrc.json +0 -29
  124. package/.spago/node-streams/v7.0.0/.gitignore +0 -8
  125. package/.spago/nonempty/v7.0.0/.gitignore +0 -7
  126. package/.spago/now/v6.0.0/.editorconfig +0 -13
  127. package/.spago/now/v6.0.0/.eslintrc.json +0 -29
  128. package/.spago/now/v6.0.0/.gitignore +0 -14
  129. package/.spago/now/v6.0.0/.tidyrc.json +0 -10
  130. package/.spago/nullable/v6.0.0/.editorconfig +0 -13
  131. package/.spago/nullable/v6.0.0/.eslintrc.json +0 -29
  132. package/.spago/nullable/v6.0.0/.gitignore +0 -14
  133. package/.spago/nullable/v6.0.0/.tidyrc.json +0 -10
  134. package/.spago/optparse/v5.0.0/.gitignore +0 -8
  135. package/.spago/optparse/v5.0.0/.npmrc +0 -1
  136. package/.spago/ordered-collections/v3.0.0/.gitignore +0 -8
  137. package/.spago/orders/v6.0.0/.gitignore +0 -7
  138. package/.spago/parallel/v6.0.0/.gitignore +0 -7
  139. package/.spago/parsing/v10.0.0/.editorconfig +0 -13
  140. package/.spago/parsing/v10.0.0/.gitignore +0 -10
  141. package/.spago/parsing/v10.0.0/.tidyoperators +0 -231
  142. package/.spago/parsing/v10.0.0/.tidyrc.json +0 -10
  143. package/.spago/partial/v4.0.0/.eslintrc.json +0 -26
  144. package/.spago/partial/v4.0.0/.gitignore +0 -8
  145. package/.spago/posix-types/v6.0.0/.gitignore +0 -7
  146. package/.spago/prelude/v6.0.0/.eslintrc.json +0 -26
  147. package/.spago/prelude/v6.0.0/.gitignore +0 -8
  148. package/.spago/profunctor/v6.0.0/.gitignore +0 -7
  149. package/.spago/psci-support/v6.0.0/.eslintrc.json +0 -28
  150. package/.spago/psci-support/v6.0.0/.gitignore +0 -8
  151. package/.spago/quickcheck/v8.0.1/.eslintrc.json +0 -26
  152. package/.spago/quickcheck/v8.0.1/.gitignore +0 -8
  153. package/.spago/random/v6.0.0/.eslintrc.json +0 -26
  154. package/.spago/random/v6.0.0/.gitignore +0 -8
  155. package/.spago/record/v4.0.0/.eslintrc.json +0 -26
  156. package/.spago/record/v4.0.0/.gitignore +0 -8
  157. package/.spago/refs/v6.0.0/.eslintrc.json +0 -26
  158. package/.spago/refs/v6.0.0/.gitignore +0 -8
  159. package/.spago/st/v6.0.0/.eslintrc.json +0 -26
  160. package/.spago/st/v6.0.0/.gitignore +0 -8
  161. package/.spago/strings/v6.0.0/.eslintrc.json +0 -26
  162. package/.spago/strings/v6.0.0/.gitignore +0 -8
  163. package/.spago/tailrec/v6.0.0/.gitignore +0 -7
  164. package/.spago/transformers/v6.0.0/.gitignore +0 -7
  165. package/.spago/tuples/v7.0.0/.gitignore +0 -7
  166. package/.spago/type-equality/v4.0.1/.gitignore +0 -7
  167. package/.spago/typelevel-prelude/v7.0.0/.gitignore +0 -8
  168. package/.spago/unfoldable/v6.0.0/.eslintrc.json +0 -26
  169. package/.spago/unfoldable/v6.0.0/.gitignore +0 -8
  170. package/.spago/unicode/v6.0.0/.editorconfig +0 -13
  171. package/.spago/unicode/v6.0.0/.gitattributes +0 -2
  172. package/.spago/unicode/v6.0.0/.gitignore +0 -19
  173. package/.spago/unicode/v6.0.0/.tidyrc.json +0 -10
  174. package/.spago/unsafe-coerce/v6.0.0/.eslintrc.json +0 -26
  175. package/.spago/unsafe-coerce/v6.0.0/.gitignore +0 -8
  176. package/.spago/web-dom/v6.0.0/.eslintrc.json +0 -29
  177. package/.spago/web-dom/v6.0.0/.gitignore +0 -9
  178. package/.spago/web-events/v4.0.0/.eslintrc.json +0 -29
  179. package/.spago/web-events/v4.0.0/.gitignore +0 -8
  180. package/.spago/web-file/v4.0.0/.eslintrc.json +0 -29
  181. package/.spago/web-file/v4.0.0/.gitignore +0 -8
  182. package/.spago/web-html/v4.0.0/.eslintrc.json +0 -29
  183. package/.spago/web-html/v4.0.0/.gitignore +0 -8
  184. package/.spago/web-storage/v5.0.0/.eslintrc.json +0 -29
  185. package/.spago/web-storage/v5.0.0/.gitignore +0 -8
  186. package/.spago/web-xhr/v5.0.0/.eslintrc.json +0 -29
  187. package/.spago/web-xhr/v5.0.0/.gitignore +0 -8
@@ -1,14 +1,14 @@
1
1
  let zero m n image =
2
2
  let (m_max, n_max) = dims image
3
- in if (m >= 1) `and` (m <= m_max) `and` (n >= 1) `and` (n <= n_max)
3
+ in if (m >= 1) `and` (m <= m_max) `and` (n >= 1) `and` (n <= n_max)
4
4
  then image!(m, n)
5
5
  else 0;
6
6
 
7
- let wrap m n image =
7
+ let wrap m n image =
8
8
  let (m_max, n_max) = dims image
9
9
  in image!( ((m - 1) `mod` m_max) + 1, ((n - 1) `mod` n_max) + 1);
10
10
 
11
- let extend m n image =
11
+ let extend m n image =
12
12
  let (m_max, n_max) = dims image;
13
13
  m' = min (max m 1) m_max;
14
14
  n' = min (max n 1) n_max
@@ -22,18 +22,20 @@ let convolve image kernel lookup =
22
22
  let ((m, n), (i, j)) = (dims image, dims kernel);
23
23
  (half_i, half_j) = (i `quot` 2, j `quot` 2);
24
24
  area = i * j
25
- in [| let interMatrix =
26
- """Intermediate matrix for element (${m'}, ${n'})"""
27
- [| let x = m' + i' - 1 - half_i;
28
- y = n' + j' - 1 - half_j in
29
- lookup x y image * kernel!(i', j')
30
- | (i', j') in (i, j) |]
31
- in matrixSum interMatrix `quot` area
32
- | (m', n') in (m, n) |];
25
+ in [| let interMatrix = """Intermediate matrix for element (${m'}, ${n'})"""
26
+ [|
27
+ let x = m' + i' - 1 - half_i;
28
+ y = n' + j' - 1 - half_j in
29
+ """Multiply these two elements"""
30
+ lookup x y image * kernel!(i', j')
31
+ | (i', j') in (i, j) |]
32
+ in matrixSum interMatrix `quot` area
33
+ | (m', n') in (m, n) |];
33
34
 
34
- let matMul a b =
35
- let ((m, n), (i, j)) = (dims a, dims b) in
35
+ let matMul a b =
36
+ let ((m, n), (i, j)) = (dims a, dims b) in
36
37
  if not (n == i)
37
- then error "Dimension mismatch"
38
- else [| sum [ a!(i', k) * b!(k, j') | k <- enumFromTo 1 n]
39
- | (i', j') in (m, j) |];
38
+ then error "Dimensions don't line up"
39
+ else """Intermediate matrix"""
40
+ [| sum [ a!(i', k) * b!(k, j') | k <- enumFromTo 1 n]
41
+ | (i', j') in (m, j) |];