@explorable-viz/fluid 0.12.1 → 0.12.3

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 (236) hide show
  1. package/dist/fluid/shared/fluid.mjs +478 -438
  2. package/dist/fluid/shared/load-figure.js +3199 -2975
  3. package/package.json +12 -26
  4. package/script/install-website.sh +27 -9
  5. package/web/lib/CodeMirror.svelte +19 -0
  6. package/web/lib/DataPane.svelte +46 -0
  7. package/web/lib/Figure.svelte +38 -0
  8. package/web/lib/FigureSrc.svelte +35 -0
  9. package/web/lib/Grid.svelte +32 -0
  10. package/web/lib/index.js +5 -0
  11. package/web/lib/view-styles.css +262 -0
  12. package/website/article/eslint.config.js +45 -0
  13. package/website/article/package.json +46 -0
  14. package/website/article/src/app.d.ts +13 -0
  15. package/website/article/src/app.html +12 -0
  16. package/website/article/src/lib/assets/css/styles.css +245 -0
  17. package/website/article/src/lib/assets/image/bristol.png +0 -0
  18. package/website/article/src/lib/assets/image/fluid.png +0 -0
  19. package/website/article/src/lib/assets/image/iccs.png +0 -0
  20. package/website/article/src/lib/assets/image/schmidt.png +0 -0
  21. package/website/article/src/lib/assets/image/turing.jpg +0 -0
  22. package/website/article/src/lib/config/nav.ts +7 -0
  23. package/website/article/src/lib/config/supporters.ts +27 -0
  24. package/website/article/src/routes/+layout.svelte +15 -0
  25. package/website/article/src/routes/+layout.ts +1 -0
  26. package/website/article/{index.html → src/routes/+page.svelte} +8 -17
  27. package/website/article/src/routes/convolution/+page.svelte +62 -0
  28. package/website/article/src/routes/energy-scatter/+page.svelte +34 -0
  29. package/website/article/src/routes/methane/+page.svelte +35 -0
  30. package/website/article/src/routes/moving-average/+page.svelte +57 -0
  31. package/website/article/src/routes/non-renewables/+page.svelte +40 -0
  32. package/website/article/src/routes/renewables-linked/+page.svelte +34 -0
  33. package/website/article/src/routes/scigen-1805.02474v1-10/+page.svelte +40 -0
  34. package/website/article/static/fluid/lib/graphics.fld +274 -0
  35. package/website/article/static/fluid/lib/matrix.fld +40 -0
  36. package/website/article/static/fluid/lib/prelude.fld +348 -0
  37. package/website/article/static/fluid/lib/stats.fld +83 -0
  38. package/website/article/svelte.config.js +13 -0
  39. package/website/article/test.mjs +66 -11
  40. package/website/article/tsconfig.json +20 -0
  41. package/website/article/vite.config.ts +6 -0
  42. package/.spago/aff/v7.1.0/.editorconfig +0 -13
  43. package/.spago/aff/v7.1.0/.eslintrc.json +0 -28
  44. package/.spago/aff/v7.1.0/.gitignore +0 -14
  45. package/.spago/aff/v7.1.0/.tidyrc.json +0 -10
  46. package/.spago/affjax/v13.0.0/.editorconfig +0 -13
  47. package/.spago/affjax/v13.0.0/.eslintrc.json +0 -28
  48. package/.spago/affjax/v13.0.0/.gitignore +0 -14
  49. package/.spago/affjax/v13.0.0/.tidyrc.json +0 -10
  50. package/.spago/affjax-web/v1.0.0/.editorconfig +0 -13
  51. package/.spago/affjax-web/v1.0.0/.eslintrc.json +0 -30
  52. package/.spago/affjax-web/v1.0.0/.gitignore +0 -14
  53. package/.spago/affjax-web/v1.0.0/.tidyrc.json +0 -10
  54. package/.spago/argonaut-codecs/v9.1.0/.editorconfig +0 -13
  55. package/.spago/argonaut-codecs/v9.1.0/.gitignore +0 -9
  56. package/.spago/argonaut-codecs/v9.1.0/.tidyrc.json +0 -10
  57. package/.spago/argonaut-core/v7.0.0/.editorconfig +0 -13
  58. package/.spago/argonaut-core/v7.0.0/.eslintrc.json +0 -29
  59. package/.spago/argonaut-core/v7.0.0/.gitignore +0 -14
  60. package/.spago/argonaut-core/v7.0.0/.tidyrc.json +0 -10
  61. package/.spago/arraybuffer-types/v3.0.2/.editorconfig +0 -13
  62. package/.spago/arraybuffer-types/v3.0.2/.gitignore +0 -9
  63. package/.spago/arraybuffer-types/v3.0.2/.tidyrc.json +0 -10
  64. package/.spago/arrays/v7.2.1/.eslintrc.json +0 -26
  65. package/.spago/arrays/v7.2.1/.gitignore +0 -9
  66. package/.spago/assert/v6.0.0/.eslintrc.json +0 -26
  67. package/.spago/assert/v6.0.0/.gitignore +0 -8
  68. package/.spago/bifunctors/v6.0.0/.gitignore +0 -7
  69. package/.spago/catenable-lists/v7.0.0/.gitignore +0 -7
  70. package/.spago/console/v6.1.0/.eslintrc.json +0 -30
  71. package/.spago/console/v6.1.0/.gitignore +0 -9
  72. package/.spago/const/v6.0.0/.gitignore +0 -7
  73. package/.spago/contravariant/v6.0.0/.gitignore +0 -7
  74. package/.spago/control/v6.0.0/.gitignore +0 -7
  75. package/.spago/datetime/v6.1.0/.eslintrc.json +0 -26
  76. package/.spago/datetime/v6.1.0/.gitignore +0 -8
  77. package/.spago/debug/v6.0.2/.eslintrc.json +0 -36
  78. package/.spago/debug/v6.0.2/.gitignore +0 -8
  79. package/.spago/distributive/v6.0.0/.gitignore +0 -7
  80. package/.spago/effect/v4.0.0/.eslintrc.json +0 -26
  81. package/.spago/effect/v4.0.0/.gitignore +0 -8
  82. package/.spago/either/v6.1.0/.gitignore +0 -7
  83. package/.spago/enums/v6.0.1/.gitignore +0 -7
  84. package/.spago/exceptions/v6.0.0/.eslintrc.json +0 -26
  85. package/.spago/exceptions/v6.0.0/.gitignore +0 -8
  86. package/.spago/exists/v6.0.0/.gitignore +0 -7
  87. package/.spago/filterable/v5.0.0/.gitignore +0 -11
  88. package/.spago/foldable-traversable/v6.0.0/.eslintrc.json +0 -26
  89. package/.spago/foldable-traversable/v6.0.0/.gitignore +0 -8
  90. package/.spago/foreign/v7.0.0/.eslintrc.json +0 -26
  91. package/.spago/foreign/v7.0.0/.gitignore +0 -8
  92. package/.spago/foreign-object/v4.1.0/.eslintrc.json +0 -26
  93. package/.spago/foreign-object/v4.1.0/.gitignore +0 -8
  94. package/.spago/form-urlencoded/v7.0.0/.editorconfig +0 -13
  95. package/.spago/form-urlencoded/v7.0.0/.gitignore +0 -9
  96. package/.spago/form-urlencoded/v7.0.0/.tidyrc.json +0 -10
  97. package/.spago/free/v7.1.0/.gitignore +0 -8
  98. package/.spago/functions/v6.0.0/.eslintrc.json +0 -26
  99. package/.spago/functions/v6.0.0/.gitignore +0 -8
  100. package/.spago/functors/v5.0.0/.gitignore +0 -7
  101. package/.spago/gen/v4.0.0/.gitignore +0 -8
  102. package/.spago/graphs/v8.1.0/.gitignore +0 -7
  103. package/.spago/http-methods/v6.0.0/.editorconfig +0 -13
  104. package/.spago/http-methods/v6.0.0/.gitignore +0 -9
  105. package/.spago/http-methods/v6.0.0/.tidyrc.json +0 -10
  106. package/.spago/identity/v6.0.0/.gitignore +0 -7
  107. package/.spago/integers/v6.0.0/.eslintrc.json +0 -26
  108. package/.spago/integers/v6.0.0/.gitignore +0 -8
  109. package/.spago/invariant/v6.0.0/.gitignore +0 -7
  110. package/.spago/js-date/v8.0.0/.editorconfig +0 -13
  111. package/.spago/js-date/v8.0.0/.eslintrc.json +0 -29
  112. package/.spago/js-date/v8.0.0/.gitignore +0 -14
  113. package/.spago/js-date/v8.0.0/.tidyrc.json +0 -10
  114. package/.spago/js-uri/v3.1.0/.eslintrc.json +0 -30
  115. package/.spago/js-uri/v3.1.0/.gitignore +0 -14
  116. package/.spago/js-uri/v3.1.0/.tidyrc.json +0 -10
  117. package/.spago/lazy/v6.0.0/.eslintrc.json +0 -26
  118. package/.spago/lazy/v6.0.0/.gitignore +0 -8
  119. package/.spago/lcg/v4.0.0/.gitignore +0 -8
  120. package/.spago/lists/v7.0.0/.gitignore +0 -7
  121. package/.spago/maybe/v6.0.0/.gitignore +0 -7
  122. package/.spago/media-types/v6.0.0/.editorconfig +0 -13
  123. package/.spago/media-types/v6.0.0/.gitignore +0 -9
  124. package/.spago/media-types/v6.0.0/.tidyrc.json +0 -10
  125. package/.spago/newtype/v5.0.0/.gitignore +0 -7
  126. package/.spago/node-buffer/v9.0.0/.eslintrc.json +0 -26
  127. package/.spago/node-buffer/v9.0.0/.gitignore +0 -8
  128. package/.spago/node-fs/v9.1.0/.eslintrc.json +0 -29
  129. package/.spago/node-fs/v9.1.0/.gitignore +0 -9
  130. package/.spago/node-path/v5.0.0/.eslintrc.json +0 -26
  131. package/.spago/node-path/v5.0.0/.gitignore +0 -8
  132. package/.spago/node-process/v11.2.0/.eslintrc.json +0 -29
  133. package/.spago/node-process/v11.2.0/.gitignore +0 -8
  134. package/.spago/node-streams/v9.0.0/.eslintrc.json +0 -29
  135. package/.spago/node-streams/v9.0.0/.gitignore +0 -8
  136. package/.spago/nonempty/v7.0.0/.gitignore +0 -7
  137. package/.spago/now/v6.0.0/.editorconfig +0 -13
  138. package/.spago/now/v6.0.0/.eslintrc.json +0 -29
  139. package/.spago/now/v6.0.0/.gitignore +0 -14
  140. package/.spago/now/v6.0.0/.tidyrc.json +0 -10
  141. package/.spago/nullable/v6.0.0/.editorconfig +0 -13
  142. package/.spago/nullable/v6.0.0/.eslintrc.json +0 -29
  143. package/.spago/nullable/v6.0.0/.gitignore +0 -14
  144. package/.spago/nullable/v6.0.0/.tidyrc.json +0 -10
  145. package/.spago/optparse/v6.0.0/.gitignore +0 -8
  146. package/.spago/optparse/v6.0.0/.npmrc +0 -1
  147. package/.spago/ordered-collections/v3.1.1/.gitignore +0 -8
  148. package/.spago/orders/v6.0.0/.gitignore +0 -7
  149. package/.spago/parallel/v7.0.0/.gitignore +0 -7
  150. package/.spago/parsing/v10.3.1/.editorconfig +0 -13
  151. package/.spago/parsing/v10.3.1/.gitignore +0 -12
  152. package/.spago/parsing/v10.3.1/.tidyoperators +0 -231
  153. package/.spago/parsing/v10.3.1/.tidyrc.json +0 -10
  154. package/.spago/partial/v4.0.0/.eslintrc.json +0 -26
  155. package/.spago/partial/v4.0.0/.gitignore +0 -8
  156. package/.spago/posix-types/v6.0.0/.gitignore +0 -7
  157. package/.spago/prelude/v6.0.1/.eslintrc.json +0 -26
  158. package/.spago/prelude/v6.0.1/.gitignore +0 -8
  159. package/.spago/profunctor/v6.0.0/.gitignore +0 -7
  160. package/.spago/psci-support/v6.0.0/.eslintrc.json +0 -28
  161. package/.spago/psci-support/v6.0.0/.gitignore +0 -8
  162. package/.spago/quickcheck/v8.0.1/.eslintrc.json +0 -26
  163. package/.spago/quickcheck/v8.0.1/.gitignore +0 -8
  164. package/.spago/random/v6.0.0/.eslintrc.json +0 -26
  165. package/.spago/random/v6.0.0/.gitignore +0 -8
  166. package/.spago/record/v4.0.0/.eslintrc.json +0 -26
  167. package/.spago/record/v4.0.0/.gitignore +0 -8
  168. package/.spago/refs/v6.0.0/.eslintrc.json +0 -26
  169. package/.spago/refs/v6.0.0/.gitignore +0 -8
  170. package/.spago/st/v6.2.0/.eslintrc.json +0 -26
  171. package/.spago/st/v6.2.0/.gitignore +0 -8
  172. package/.spago/strings/v6.0.1/.eslintrc.json +0 -26
  173. package/.spago/strings/v6.0.1/.gitignore +0 -8
  174. package/.spago/tailrec/v6.1.0/.gitignore +0 -7
  175. package/.spago/transformers/v6.0.0/.gitignore +0 -7
  176. package/.spago/tuples/v7.0.0/.gitignore +0 -7
  177. package/.spago/type-equality/v4.0.1/.gitignore +0 -7
  178. package/.spago/typelevel-prelude/v7.0.0/.gitignore +0 -8
  179. package/.spago/unfoldable/v6.0.0/.eslintrc.json +0 -26
  180. package/.spago/unfoldable/v6.0.0/.gitignore +0 -8
  181. package/.spago/unicode/v6.0.0/.editorconfig +0 -13
  182. package/.spago/unicode/v6.0.0/.gitattributes +0 -2
  183. package/.spago/unicode/v6.0.0/.gitignore +0 -19
  184. package/.spago/unicode/v6.0.0/.tidyrc.json +0 -10
  185. package/.spago/unsafe-coerce/v6.0.0/.eslintrc.json +0 -26
  186. package/.spago/unsafe-coerce/v6.0.0/.gitignore +0 -8
  187. package/.spago/web-dom/v6.0.0/.eslintrc.json +0 -29
  188. package/.spago/web-dom/v6.0.0/.gitignore +0 -9
  189. package/.spago/web-events/v4.0.0/.eslintrc.json +0 -29
  190. package/.spago/web-events/v4.0.0/.gitignore +0 -8
  191. package/.spago/web-file/v4.0.0/.eslintrc.json +0 -29
  192. package/.spago/web-file/v4.0.0/.gitignore +0 -8
  193. package/.spago/web-html/v4.1.0/.eslintrc.json +0 -29
  194. package/.spago/web-html/v4.1.0/.gitignore +0 -8
  195. package/.spago/web-storage/v5.0.0/.eslintrc.json +0 -29
  196. package/.spago/web-storage/v5.0.0/.gitignore +0 -8
  197. package/.spago/web-xhr/v5.0.1/.eslintrc.json +0 -29
  198. package/.spago/web-xhr/v5.0.1/.gitignore +0 -8
  199. package/LICENSE +0 -21
  200. package/README.md +0 -95
  201. package/dist/fluid/shared/website-test.js +0 -41
  202. package/dist/fluid/shared/webtest-lib.js +0 -300023
  203. package/script/bundle-website.sh +0 -52
  204. package/script/util/clean.sh +0 -5
  205. package/script/util/lisp-case.sh +0 -10
  206. package/website/article/convolution/index.html +0 -97
  207. package/website/article/css/styles.css +0 -325
  208. package/website/article/css/view-styles.css +0 -205
  209. package/website/article/energy-scatter/index.html +0 -47
  210. package/website/article/methane/index.html +0 -46
  211. package/website/article/moving-average/index.html +0 -64
  212. package/website/article/non-renewables/index.html +0 -52
  213. package/website/article/renewables-linked/index.html +0 -46
  214. package/website/article/scigen-1805.02474v1-10/index.html +0 -54
  215. package/website/article/shared/util.js +0 -15
  216. /package/website/article/{favicon.ico → src/lib/assets/image/favicon.ico} +0 -0
  217. /package/website/article/{dataset → static/dataset}/SciGen/1805.02474v1-10.json +0 -0
  218. /package/website/article/{dataset → static/dataset}/methane-emissions.json +0 -0
  219. /package/website/article/{dataset → static/dataset}/non-renewables.json +0 -0
  220. /package/website/article/{dataset → static/dataset}/renewable-new.json +0 -0
  221. /package/website/article/{dataset → static/dataset}/renewable.json +0 -0
  222. /package/website/article/{fluid → static/fluid}/1805.02474v1-10.fld +0 -0
  223. /package/website/article/{fluid → static/fluid}/bar-chart-line-chart.fld +0 -0
  224. /package/website/article/{fluid → static/fluid}/convolution/emboss.fld +0 -0
  225. /package/website/article/{fluid → static/fluid}/convolution/testImage.fld +0 -0
  226. /package/website/article/{fluid → static/fluid}/convolution.fld +0 -0
  227. /package/website/article/{fluid → static/fluid}/dataset/scigen/_1805_02474v1_10.fld +0 -0
  228. /package/website/article/{fluid → static/fluid}/energyscatter.fld +0 -0
  229. /package/website/article/{fluid → static/fluid}/methane.fld +0 -0
  230. /package/website/article/{fluid → static/fluid}/methane_data.fld +0 -0
  231. /package/website/article/{fluid → static/fluid}/moving-average.fld +0 -0
  232. /package/website/article/{fluid → static/fluid}/non-renewables.fld +0 -0
  233. /package/website/article/{fluid → static/fluid}/nonRenewables.fld +0 -0
  234. /package/website/article/{fluid → static/fluid}/renewables.fld +0 -0
  235. /package/website/article/{fluid → static/fluid}/scigen.fld +0 -0
  236. /package/website/article/{fluid → static/fluid}/util.fld +0 -0
@@ -0,0 +1,245 @@
1
+ @charset "UTF-8";
2
+
3
+ a:link {
4
+ color: darkslategray;
5
+ }
6
+
7
+ a:visited {
8
+ color: #004d40;
9
+ }
10
+
11
+ a:hover {
12
+ color: #009688;
13
+ }
14
+
15
+ a:active {
16
+ color: #003d33;
17
+ }
18
+
19
+ .right-justified {
20
+ margin-left: auto;
21
+ width: fit-content;
22
+ }
23
+
24
+ .nowrap {
25
+ white-space: nowrap;
26
+ }
27
+
28
+ code {
29
+ font-family: 'Fira Code', monospace;
30
+ font-size: 11pt;
31
+ }
32
+
33
+ body {
34
+ font-size: 12pt;
35
+ font-family: 'Roboto', sans-serif;
36
+ font-weight: 300;
37
+ line-height: 1.25;
38
+ padding: 0;
39
+ margin: 0;
40
+ background-color: #ffffff;
41
+ color: #404040;
42
+ margin-bottom: 10em;
43
+ }
44
+
45
+ p {
46
+ margin-top: 1em;
47
+ margin-bottom: 1em;
48
+ }
49
+
50
+ p + p {
51
+ margin-top: 0;
52
+ }
53
+
54
+ svg {
55
+ overflow: visible;
56
+ }
57
+
58
+ .highlight {
59
+ font-style: oblique;
60
+ }
61
+
62
+ .align-right {
63
+ text-align: right;
64
+ }
65
+
66
+ h2 {
67
+ font-size: 18pt;
68
+ }
69
+
70
+ h3 {
71
+ width: 100%;
72
+ font-size: 16pt;
73
+ font-weight: 500;
74
+ margin-top: 10pt;
75
+ margin-bottom: 4pt;
76
+ border-bottom: 0.5px solid lightgray;
77
+ font-variant: all-small-caps;
78
+ }
79
+
80
+ h4 {
81
+ font-size: 16pt;
82
+ font-weight: 500;
83
+ margin-top: 0.4em;
84
+ margin-bottom: 0;
85
+ }
86
+
87
+ ul {
88
+ padding-left: 20px;
89
+ margin-top: 0;
90
+ margin-bottom: 0;
91
+ }
92
+
93
+ li {
94
+ margin-bottom: 1ex;
95
+ }
96
+
97
+ li:last-child {
98
+ margin-bottom: 0;
99
+ }
100
+
101
+ .table-caption {
102
+ text-align: left;
103
+ }
104
+
105
+ nav ul {
106
+ padding-left: 0;
107
+ list-style: none;
108
+ }
109
+
110
+ nav ul li {
111
+ float: left;
112
+ overflow: hidden;
113
+ margin-bottom: 0;
114
+ }
115
+
116
+ nav ul li a {
117
+ font-size: 16pt;
118
+ font-variant: all-small-caps;
119
+ }
120
+
121
+ nav ul li:not(:last-child)::after {
122
+ content: '•';
123
+ margin-right: 5px;
124
+ margin-left: 5px;
125
+ }
126
+
127
+ nav ul li.active-page a {
128
+ pointer-events: none;
129
+ color: inherit;
130
+ text-decoration: none;
131
+ cursor: default;
132
+ /* color: rgb(135, 129, 255); */
133
+ }
134
+
135
+ .cm-editor {
136
+ background: #2d2d2d;
137
+ color: #f0f0f0;
138
+ }
139
+
140
+ .cm-line {
141
+ font-family: 'Fira Code';
142
+ font-size: 9pt;
143
+ }
144
+
145
+ .cm-gutter {
146
+ background-color: #232323;
147
+ }
148
+
149
+ .cm-gutterElement {
150
+ font-family: 'Fira Code';
151
+ font-size: 9pt;
152
+ color: #88c0d0;
153
+ }
154
+
155
+ .right-border {
156
+ border-right: 0.5px solid lightgray;
157
+ padding-right: 6px;
158
+ }
159
+
160
+ .right-border + div {
161
+ padding-left: 4px;
162
+ }
163
+
164
+ :root {
165
+ --toggle-button-width: 24px;
166
+ }
167
+
168
+ .flex-bottom-align {
169
+ display: flex;
170
+ flex-direction: row;
171
+ }
172
+
173
+ .flex-bottom-align:first-child {
174
+ margin-top: auto;
175
+ }
176
+
177
+ .flex-left-align {
178
+ display: flex;
179
+ flex-direction: column;
180
+ align-items: start;
181
+ }
182
+
183
+ .flex-right-align {
184
+ display: flex;
185
+ flex-direction: column;
186
+ align-items: flex-end;
187
+ }
188
+
189
+ .flex-top-align {
190
+ display: flex;
191
+ flex-direction: row;
192
+ align-items: flex-start;
193
+ }
194
+
195
+ .flex-bottom-align {
196
+ display: flex;
197
+ flex-direction: row;
198
+ align-items: flex-end;
199
+ }
200
+
201
+ .data-pane-button {
202
+ font-size: 10pt;
203
+ }
204
+
205
+ .data-pane-column {
206
+ border-right: 1px dotted #cccccc;
207
+ }
208
+
209
+ .data-pane-hidden .data-pane {
210
+ visibility: hidden;
211
+ }
212
+
213
+ .data-pane-hidden .data-pane * {
214
+ display: none;
215
+ }
216
+
217
+ .data-pane {
218
+ padding-right: 0.25em;
219
+ }
220
+
221
+ .data-pane * {
222
+ font-size: 10pt;
223
+ }
224
+
225
+ .data-pane p {
226
+ margin-right: 3px;
227
+ }
228
+
229
+ /* Not actually double-size any more.. */
230
+ .double-size {
231
+ transform: scale(1.5);
232
+ transform-origin: top;
233
+ }
234
+
235
+ body.standalone {
236
+ height: 100%;
237
+ display: grid;
238
+ justify-items: center;
239
+ align-items: start;
240
+ }
241
+
242
+ /* Needed for contained height specifications to work */
243
+ html {
244
+ height: 100%;
245
+ }
@@ -0,0 +1,7 @@
1
+ export const headerLinks = [
2
+ { url: '/', title: 'Overview' },
3
+ { url: '/faq', title: 'FAQ' },
4
+ { url: '/supporters', title: 'Supporters' },
5
+ { url: '/research', title: 'Research' },
6
+ { url: 'https://github.com/explorable-viz/fluid', title: 'GitHub' }
7
+ ];
@@ -0,0 +1,27 @@
1
+ import BristolLogo from '$lib/assets/image/bristol.png';
2
+ import ICCSLogo from '$lib/assets/image/iccs.png';
3
+ import SchmidtLogo from '$lib/assets/image/schmidt.png';
4
+ import TuringLogo from '$lib/assets/image/turing.jpg';
5
+
6
+ export const supporters = [
7
+ {
8
+ url: 'https://www.turing.ac.uk/',
9
+ name: 'The Alan Turing Institute',
10
+ logo: TuringLogo
11
+ },
12
+ {
13
+ url: 'https://plrg-bristol.github.io/',
14
+ name: 'University of Bristol',
15
+ logo: BristolLogo
16
+ },
17
+ {
18
+ url: 'https://iccs.cam.ac.uk/',
19
+ name: 'Institute of Computing for Climate Science',
20
+ logo: ICCSLogo
21
+ },
22
+ {
23
+ url: 'https://www.schmidtsciences.org/',
24
+ name: 'Schmidt Sciences',
25
+ logo: SchmidtLogo
26
+ }
27
+ ] as const;
@@ -0,0 +1,15 @@
1
+ <script lang="ts">
2
+ import '$lib/assets/css/styles.css';
3
+ import '@fontsource/roboto/latin-300.css';
4
+ import '@fontsource/roboto/latin-500.css';
5
+
6
+ import favicon from '$lib/assets/image/favicon.ico';
7
+
8
+ let { children } = $props();
9
+ </script>
10
+
11
+ <svelte:head>
12
+ <link rel="icon" href={favicon} />
13
+ </svelte:head>
14
+
15
+ {@render children()}
@@ -0,0 +1 @@
1
+ export const prerender = true;
@@ -1,18 +1,10 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <meta http-equiv="X-UA-Compatible" content="ie=edge">
7
- <title>Fluid Demos</title>
8
- <link href="css/styles.css" rel="stylesheet" type="text/css">
9
- <script src="https://kit.fontawesome.com/20cf8b42c0.js" crossorigin="anonymous"></script>
10
- </head>
11
- <body>
1
+ <script>
2
+ import { Grid } from '@explorable-viz/fluid';
3
+ </script>
12
4
 
13
- <div class="grid-container double-size">
14
- <div></div>
15
- <div></div>
5
+ <Grid>
6
+ <div></div>
7
+ <div></div>
16
8
  <div class="flex-left-align">
17
9
  <div></div>
18
10
  <h2>Fluid: Transparent Research Outputs</h2>
@@ -35,6 +27,5 @@
35
27
  <li>AI-assisted authoring tool</li>
36
28
  </ul>
37
29
  </div>
38
- </div>
39
- </body>
40
- </html>
30
+ <div></div>
31
+ </Grid>
@@ -0,0 +1,62 @@
1
+ <script>
2
+ import { CodeMirror, DataPane, Figure, Grid } from '@explorable-viz/fluid';
3
+
4
+ let showDataPane = false;
5
+
6
+ const spec = {
7
+ fluidSrcPath: ['../fluid'],
8
+ inputs: ['inputImage', 'filter'],
9
+ query: true,
10
+ linking: false
11
+ };
12
+
13
+ const toggleDataPane = () => {
14
+ showDataPane = !showDataPane;
15
+ };
16
+ </script>
17
+
18
+ <Grid {showDataPane}>
19
+ <div></div>
20
+ <div></div>
21
+ <div class="flex-left-align">
22
+ <h3>Matrix convolution</h3>
23
+ </div>
24
+
25
+ <DataPane {showDataPane} toggle={toggleDataPane}>
26
+ <div id="fig-data-pane" class="data-pane">
27
+ <div id="fig-input" class="flex-right-align data-pane-column"></div>
28
+ <div id="fig-intermediate" class="flex-right-align intermediates"></div>
29
+ </div>
30
+ </DataPane>
31
+
32
+ <div class="flex-left-align">
33
+ <div class="flex-top-align">
34
+ <Figure {spec} fld="../fluid/convolution.fld" />
35
+ <div></div>
36
+ </div>
37
+ <CodeMirror name="convolution" src="../fluid/convolution.fld" />
38
+ </div>
39
+ </Grid>
40
+
41
+ <style>
42
+ .data-pane {
43
+ display: grid;
44
+ grid-template-columns: min-content min-content;
45
+ vertical-align: top;
46
+ justify-content: end;
47
+ }
48
+
49
+ .data-pane * {
50
+ font-size: 9pt;
51
+ }
52
+
53
+ :global(.intermediates .para-text) {
54
+ margin-left: 5pt;
55
+ margin-right: 3pt;
56
+ }
57
+
58
+ /* global can cause preload flicker so use sparingly */
59
+ :global(.intermediates:has(> *)) {
60
+ border-right: 1px dotted #cccccc;
61
+ }
62
+ </style>
@@ -0,0 +1,34 @@
1
+ <script>
2
+ import { DataPane, Figure, Grid } from '@explorable-viz/fluid';
3
+
4
+ let showDataPane = false;
5
+
6
+ const spec = {
7
+ fluidSrcPath: ['../fluid'],
8
+ inputs: ['nonRenewables', 'renewables'],
9
+ query: false,
10
+ linking: true
11
+ };
12
+
13
+ const toggleDataPane = () => {
14
+ showDataPane = !showDataPane;
15
+ };
16
+ </script>
17
+
18
+ <Grid {showDataPane}>
19
+ <div></div>
20
+ <div></div>
21
+ <div class="flex-left-align">
22
+ <h3>Clean energy efficiency scatter plot</h3>
23
+ </div>
24
+
25
+ <DataPane {showDataPane} toggle={toggleDataPane}>
26
+ <div id="fig-data-pane" class="flex-right-align data-pane">
27
+ <div id="fig-input" class="data-pane-column"></div>
28
+ </div>
29
+ </DataPane>
30
+
31
+ <div class="flex-left-align">
32
+ <Figure {spec} fld="../fluid/energyscatter.fld" />
33
+ </div>
34
+ </Grid>
@@ -0,0 +1,35 @@
1
+ <script>
2
+ import { DataPane, Figure, Grid } from '@explorable-viz/fluid';
3
+
4
+ let showDataPane = false;
5
+
6
+ const spec = {
7
+ fluidSrcPath: ['../fluid'],
8
+ inputs: ['methane'],
9
+ query: false,
10
+ linking: true
11
+ };
12
+
13
+ const toggleDataPane = () => {
14
+ showDataPane = !showDataPane;
15
+ };
16
+ </script>
17
+
18
+ <Grid {showDataPane}>
19
+ <div></div>
20
+ <div></div>
21
+ <div class="flex-left-align">
22
+ <h3>Methane</h3>
23
+ <p>Methane emissions example</p>
24
+ </div>
25
+
26
+ <DataPane {showDataPane} toggle={toggleDataPane}>
27
+ <div id="fig-data-pane" class="flex-right-align data-pane">
28
+ <div id="fig-input" class="data-pane-column"></div>
29
+ </div>
30
+ </DataPane>
31
+
32
+ <div class="flex-left-align">
33
+ <Figure {spec} fld="../fluid/methane.fld" />
34
+ </div>
35
+ </Grid>
@@ -0,0 +1,57 @@
1
+ <script>
2
+ import { DataPane, Figure, Grid } from '@explorable-viz/fluid';
3
+ import { text } from 'stream/consumers';
4
+
5
+ let showDataPane = false;
6
+
7
+ const spec = {
8
+ fluidSrcPath: ['../fluid'],
9
+ inputs: ['methane'],
10
+ query: false,
11
+ linking: false
12
+ };
13
+
14
+ const toggleDataPane = () => {
15
+ showDataPane = !showDataPane;
16
+ };
17
+ </script>
18
+
19
+ <Grid {showDataPane} textPaneWidth = '400px'>
20
+ <div></div>
21
+ <div></div>
22
+ <div class="flex-left-align">
23
+ <h3>Moving Average</h3>
24
+ <p>
25
+ The following chart shows a moving average (or rolling average) plot for methane emissions
26
+ under projected emissions scenario
27
+ <a href="https://en.wikipedia.org/wiki/Shared_Socioeconomic_Pathways">SSP5-8.5</a>.
28
+ </p>
29
+ </div>
30
+
31
+ <DataPane {showDataPane} toggle={toggleDataPane}>
32
+ <div class="flex-right-align data-pane">
33
+ <p>
34
+ Every <code>year</code> value is used in both the original curve and its moving average.
35
+ </p>
36
+
37
+ <div id="fig-input"></div>
38
+
39
+ <p>
40
+ With <code>emissions</code>, each value contributes to
41
+ <span class="highlight">one</span> point in the original curve but
42
+ <span class="highlight">three</span>
43
+ in the moving average.
44
+ </p>
45
+ </div>
46
+ </DataPane>
47
+
48
+ <div class="flex-left-align">
49
+ <Figure {spec} fld="../fluid/moving-average.fld" />
50
+ </div>
51
+ </Grid>
52
+
53
+ <style>
54
+ .data-pane {
55
+ max-width: 300px;
56
+ }
57
+ </style>
@@ -0,0 +1,40 @@
1
+ <script>
2
+ import { DataPane, Figure, Grid } from '@explorable-viz/fluid';
3
+
4
+ let showDataPane = false;
5
+
6
+ const spec = {
7
+ fluidSrcPath: ['../fluid'],
8
+ inputs: ['nonRenewables'],
9
+ query: false,
10
+ linking: true
11
+ };
12
+
13
+ const toggleDataPane = () => {
14
+ showDataPane = !showDataPane;
15
+ };
16
+ </script>
17
+
18
+ <Grid {showDataPane}>
19
+ <div></div>
20
+ <div></div>
21
+ <div class="flex-left-align">
22
+ <h3>Non-Renewable Energy plots</h3>
23
+ </div>
24
+
25
+ <DataPane {showDataPane} toggle={toggleDataPane}>
26
+ <div class="flex-right-align data-pane">
27
+ <div id="fig-input"></div>
28
+ </div>
29
+ </DataPane>
30
+
31
+ <div class="flex-left-align">
32
+ <Figure {spec} fld="../fluid/non-renewables.fld" />
33
+ </div>
34
+ </Grid>
35
+
36
+ <style>
37
+ .data-pane {
38
+ max-width: 475px;
39
+ }
40
+ </style>
@@ -0,0 +1,34 @@
1
+ <script>
2
+ import { DataPane, Figure, Grid } from '@explorable-viz/fluid';
3
+
4
+ let showDataPane = false;
5
+
6
+ const spec = {
7
+ fluidSrcPath: ['../fluid'],
8
+ inputs: ['renewables'],
9
+ query: false,
10
+ linking: true
11
+ };
12
+
13
+ const toggleDataPane = () => {
14
+ showDataPane = !showDataPane;
15
+ };
16
+ </script>
17
+
18
+ <Grid {showDataPane}>
19
+ <div></div>
20
+ <div></div>
21
+ <div>
22
+ <h3>Non-renewable energy output</h3>
23
+ </div>
24
+
25
+ <DataPane {showDataPane} toggle={toggleDataPane}>
26
+ <div id="fig-data-pane" class="flex-right-align data-pane">
27
+ <div id="fig-input" class="data-pane-column"></div>
28
+ </div>
29
+ </DataPane>
30
+
31
+ <div class="flex-left-align">
32
+ <Figure {spec} fld="../fluid/bar-chart-line-chart.fld" />
33
+ </div>
34
+ </Grid>
@@ -0,0 +1,40 @@
1
+ <script>
2
+ import { DataPane, Figure, Grid } from '@explorable-viz/fluid';
3
+
4
+ let showDataPane = false;
5
+
6
+ const spec = {
7
+ fluidSrcPath: ['../fluid'],
8
+ inputs: ['tableData'],
9
+ query: true,
10
+ linking: true
11
+ };
12
+
13
+ const toggleDataPane = () => {
14
+ showDataPane = !showDataPane;
15
+ };
16
+ </script>
17
+
18
+ <Grid {showDataPane} textPaneWidth = '530px'>
19
+ <div></div>
20
+ <div></div>
21
+ <div class="flex-left-align">
22
+ <h3>1805.02474v1-10</h3>
23
+ </div>
24
+
25
+ <DataPane {showDataPane} toggle={toggleDataPane}>
26
+ <div class="flex-right-align data-pane">
27
+ <div id="fig-input"></div>
28
+ </div>
29
+ </DataPane>
30
+
31
+ <div class="flex-left-align">
32
+ <Figure {spec} fld="../fluid/1805.02474v1-10.fld" />
33
+ </div>
34
+ </Grid>
35
+
36
+ <style>
37
+ .data-pane {
38
+ max-width: 400px;
39
+ }
40
+ </style>