AshkanTaghipour commited on
Commit
d35a5d9
·
verified ·
1 Parent(s): 50d77e9

Upload folder using huggingface_hub

Browse files
data/DYKE_DYKE_DYKE_20-09-04-15-13-14-866983543.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:1215f1671c79daed89572026684478ad66643cfdabd58dacd5ced72b1820295a
3
- size 191228
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a1842b73bf75e3bb30044164d68f7e7c4b71cf0d42789cf061a78133f02e1a5b
3
+ size 237624
data/DYKE_DYKE_DYKE_20-09-04-15-23-15-571651575.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:2e335c56932875fec55e217f0ebc944b062c1ab6051edf6aea668a91ed618a90
3
- size 226916
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2f5a56d2162d5002309cc1fbb080b05dc0de3b4a0fc7cc4446bf7b2157103472
3
+ size 269820
data/DYKE_FAULT_FOLD_20-09-04-15-10-34-746860823.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:c7ea625855c7681ac89e87f6cbe330adc722e3fd61d4ce14e765dd02f0949dd8
3
- size 155568
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bf850f61518bc5bb100750d4e540b3d5f42daa1e81c200c1e145f9d78740d8b1
3
+ size 206400
data/DYKE_FAULT_FOLD_20-09-04-15-27-15-271172160.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:4530bd3891cc3ab09fcb4c2abeda30a36daf7d70be0bf02a5434e80f302d3859
3
- size 134164
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:baa1fc1a9b9e9cddf2101d54216f3c26336ca340e7cb1fb56e6ec18e00cec330
3
+ size 185792
data/FAULT_FAULT_FAULT_20-09-04-15-10-55-650240871.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:741111b45dc60cb13d3f51a5aa29ab28e42d23621e49a7dbab2b9736d4a44542
3
- size 98656
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:469a00a6a1e9c48cf8baf1504ee683817bd446458f07c371849d69467a68e112
3
+ size 154236
data/FAULT_FAULT_FAULT_20-09-04-15-11-35-249388807.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:a6a765c66858a3ab937bb62f0857d34ce73e8c5d35d32e97cba683b5a3c1c384
3
- size 166864
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cb72ea2ab27a593c26e8487506b982e6d503867fbe466e8e32152a54c7b647d0
3
+ size 217812
data/FOLD_FAULT_UNCONFORMITY_20-09-04-15-22-57-108968161.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:0450a70a95af152ab9f99e62aa37d4ff3f51b639c6c1e731f72d043ade007d82
3
- size 218080
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:21d4e1833981db7a970307c0c1a77e278c9ccfc9d42720b8f3b1ca831b8fd73d
3
+ size 262592
data/FOLD_FAULT_UNCONFORMITY_20-09-04-15-30-27-806964861.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:58731e5604c8d53d36818b5362ae81c0bca098272583990f09a056542f08b269
3
- size 163704
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6e86671b112b9a4848e6742c0af4c4372866f243a4f073c53d0019fdb078972b
3
+ size 213324
data/FOLD_FOLD_FOLD_20-09-04-15-10-30-738239236.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:46ae7a106e81bafa2603cb0032aca17ebe8692cd6e14eae727739067adbec43c
3
- size 195044
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:62ebf7776bdbb20a7da2c0d96e92092a19d311760925f7037b8b28316e696fd0
3
+ size 240792
data/FOLD_FOLD_FOLD_20-09-04-15-12-01-552434953.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:e4023c6525926410353a891996a4ffc36280b2ac692c71052f74fa9f8b9a54fa
3
- size 213584
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c729ba928f61215623fb0b38b17f16804c791e4a3418d2ce3869a83ff142d37c
3
+ size 260044
data/PLUG_PLUG_PLUG_20-09-04-15-22-31-290339215.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:19c185592ea6c0ef28ddfc9744c5ad11860ff8e26d7b1a2c6635ee54ce665d46
3
- size 142584
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e943e7b22f878e13c25c250b1e1ccf597b6c9a8261cc938467d5492f80156e4f
3
+ size 194980
data/PLUG_PLUG_PLUG_20-09-04-15-34-27-811124008.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:b4707c4cc5b6c462478c56aae405c70f9c64834661eba11600330b410e07020f
3
- size 168924
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f619c389dac010f95a5c5ca005a30142a844c96922a2c41d0e199f0f94b13700
3
+ size 217912
data/PLUG_SHEAR-ZONE_TILT_20-09-04-15-13-16-695630284.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:8986ee495e0598b5f05d3e100f8e47777b9b56a11d40329383350af835de9341
3
- size 160436
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6b58bb77933d8c95cd561facc6662cadbddb234bd998b4cfa0c26aa0cb78e3f0
3
+ size 212020
data/PLUG_SHEAR-ZONE_TILT_20-09-04-15-20-46-049109221.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:2a3e20aaa5284c9cef7b4a5a1c88aef3a9d3dbb68ba7859ef717afc50d7016e9
3
- size 130188
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2dfab70bf6be5da281787ceb1e0111a5b99f6034ef05cce9fcf8e3bdf06d9066
3
+ size 182428
data/SHEAR-ZONE_SHEAR-ZONE_SHEAR-ZONE_20-09-04-15-11-17-868781593.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:9cd03e94ecc4b065321005cef3cb481436ee4b382fcab3259e163e42fc3fd81d
3
- size 95184
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:74319834b25f4edd59aa7ac44259fad99f215281c81dbda098010d3c6a37959a
3
+ size 151280
data/SHEAR-ZONE_SHEAR-ZONE_SHEAR-ZONE_20-09-04-15-12-07-100352181.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:04b109a4d55e095ca49918095ac5dfc11a28785a23544548f625a76be7d707fd
3
- size 100024
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8b33f764333791ad7a2ccbad9e1e3d9b49b7a9867eba0a1d6dceb62e42a59d64
3
+ size 156088
data/TILT_TILT_TILT_20-09-04-15-54-46-708920477.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:9b041e761750f6d63541995137676fc587d4e419e123ac8436d41213b21d2b12
3
- size 100544
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2ae24c92fe4cb8a76c188c9923c8b422afe7ffba15f4befd89a262b764f8679c
3
+ size 155828
data/TILT_TILT_TILT_20-09-04-16-40-18-405539396.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:b6b23e2ea0239c1f354093b2935d8ee8e7a6d465d1c21a8ea8f69828de7359e2
3
- size 140024
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b7a6bac409ad3b5e8c3ec17d61c28754726c083198276d9c117d83e3f5d471c2
3
+ size 192952
data/UNCONFORMITY_UNCONFORMITY_UNCONFORMITY_20-09-04-15-16-52-886739346.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:a6d6c23ba5abd1e5477c9909499e3bf8c66ca92169e41366a23f2b23cb4dab0a
3
- size 125824
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ccf26f66cdcbaf0a9f4f624e2a5f08e60e2ade09cf1b971be1b36301376fb565
3
+ size 179948
data/UNCONFORMITY_UNCONFORMITY_UNCONFORMITY_20-09-04-15-41-38-711387686.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:52966bdf684d2867aeaec50f294c475b83e799f16770758b2bd4281a467d0e81
3
- size 139676
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c9e51bd4189953fbec966a4cecceaf98e08b0d63b3c5a7e80b79e064b57d5b91
3
+ size 191436
data/manifest.json CHANGED
@@ -3,44 +3,253 @@
3
  "field_size": 100,
4
  "types": {
5
  "DYKE_DYKE_DYKE": [
6
- "DYKE_DYKE_DYKE_20-09-04-15-13-14-866983543.bin",
7
- "DYKE_DYKE_DYKE_20-09-04-15-23-15-571651575.bin"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  ],
9
  "DYKE_FAULT_FOLD": [
10
- "DYKE_FAULT_FOLD_20-09-04-15-10-34-746860823.bin",
11
- "DYKE_FAULT_FOLD_20-09-04-15-27-15-271172160.bin"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  ],
13
  "FAULT_FAULT_FAULT": [
14
- "FAULT_FAULT_FAULT_20-09-04-15-10-55-650240871.bin",
15
- "FAULT_FAULT_FAULT_20-09-04-15-11-35-249388807.bin"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
  ],
17
  "FOLD_FAULT_UNCONFORMITY": [
18
- "FOLD_FAULT_UNCONFORMITY_20-09-04-15-22-57-108968161.bin",
19
- "FOLD_FAULT_UNCONFORMITY_20-09-04-15-30-27-806964861.bin"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
  ],
21
  "FOLD_FOLD_FOLD": [
22
- "FOLD_FOLD_FOLD_20-09-04-15-10-30-738239236.bin",
23
- "FOLD_FOLD_FOLD_20-09-04-15-12-01-552434953.bin"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
  ],
25
  "PLUG_PLUG_PLUG": [
26
- "PLUG_PLUG_PLUG_20-09-04-15-22-31-290339215.bin",
27
- "PLUG_PLUG_PLUG_20-09-04-15-34-27-811124008.bin"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
  ],
29
  "PLUG_SHEAR-ZONE_TILT": [
30
- "PLUG_SHEAR-ZONE_TILT_20-09-04-15-13-16-695630284.bin",
31
- "PLUG_SHEAR-ZONE_TILT_20-09-04-15-20-46-049109221.bin"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32
  ],
33
  "SHEAR-ZONE_SHEAR-ZONE_SHEAR-ZONE": [
34
- "SHEAR-ZONE_SHEAR-ZONE_SHEAR-ZONE_20-09-04-15-11-17-868781593.bin",
35
- "SHEAR-ZONE_SHEAR-ZONE_SHEAR-ZONE_20-09-04-15-12-07-100352181.bin"
 
 
 
 
 
 
 
 
 
 
 
 
36
  ],
37
  "TILT_TILT_TILT": [
38
- "TILT_TILT_TILT_20-09-04-15-54-46-708920477.bin",
39
- "TILT_TILT_TILT_20-09-04-16-40-18-405539396.bin"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
  ],
41
  "UNCONFORMITY_UNCONFORMITY_UNCONFORMITY": [
42
- "UNCONFORMITY_UNCONFORMITY_UNCONFORMITY_20-09-04-15-16-52-886739346.bin",
43
- "UNCONFORMITY_UNCONFORMITY_UNCONFORMITY_20-09-04-15-41-38-711387686.bin"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
  ]
45
  }
46
  }
 
3
  "field_size": 100,
4
  "types": {
5
  "DYKE_DYKE_DYKE": [
6
+ {
7
+ "file": "DYKE_DYKE_DYKE_20-09-04-15-13-14-866983543.bin",
8
+ "rocks": [
9
+ "Rhyolite 01",
10
+ "V Sandstone 02",
11
+ "Rhyolite 03",
12
+ "Dacite 04",
13
+ "Basalt 05",
14
+ "Maf Dyke Sill 06",
15
+ "Maf Dyke Sill 07",
16
+ "Fels Dyke Sill 08"
17
+ ]
18
+ },
19
+ {
20
+ "file": "DYKE_DYKE_DYKE_20-09-04-15-23-15-571651575.bin",
21
+ "rocks": [
22
+ "Pelite 01",
23
+ "Greywacke 02",
24
+ "Conglomerate 03",
25
+ "Conglomerate 04",
26
+ "Conglomerate 05",
27
+ "Fels Dyke Sill 06",
28
+ "Maf Dyke Sill 07",
29
+ "Maf Dyke Sill 08"
30
+ ]
31
+ }
32
  ],
33
  "DYKE_FAULT_FOLD": [
34
+ {
35
+ "file": "DYKE_FAULT_FOLD_20-09-04-15-10-34-746860823.bin",
36
+ "rocks": [
37
+ "Phyllite 01",
38
+ "Conglomerate 02",
39
+ "Sandstone 03",
40
+ "Limestone 04",
41
+ "Conglomerate 05",
42
+ "Maf Dyke Sill 06"
43
+ ]
44
+ },
45
+ {
46
+ "file": "DYKE_FAULT_FOLD_20-09-04-15-27-15-271172160.bin",
47
+ "rocks": [
48
+ "Dacite 01",
49
+ "Basalt 02",
50
+ "Maf Dyke Sill 03"
51
+ ]
52
+ }
53
  ],
54
  "FAULT_FAULT_FAULT": [
55
+ {
56
+ "file": "FAULT_FAULT_FAULT_20-09-04-15-10-55-650240871.bin",
57
+ "rocks": [
58
+ "Tuff Lapillist 01",
59
+ "V Conglomerate 02"
60
+ ]
61
+ },
62
+ {
63
+ "file": "FAULT_FAULT_FAULT_20-09-04-15-11-35-249388807.bin",
64
+ "rocks": [
65
+ "V Conglomerate 01",
66
+ "Andesite 02",
67
+ "V Sandstone 03",
68
+ "V Sandstone 04",
69
+ "Tuff Lapillist 05"
70
+ ]
71
+ }
72
  ],
73
  "FOLD_FAULT_UNCONFORMITY": [
74
+ {
75
+ "file": "FOLD_FAULT_UNCONFORMITY_20-09-04-15-22-57-108968161.bin",
76
+ "rocks": [
77
+ "Tuff Lapillist 01",
78
+ "V Siltstone 02",
79
+ "Tuff Lapillist 03",
80
+ "V Conglomerate 04",
81
+ "V Breccia 05",
82
+ "V Conglomerate 06",
83
+ "Sandstone 07",
84
+ "Greywacke 08",
85
+ "Limestone 09",
86
+ "Greywacke 10"
87
+ ]
88
+ },
89
+ {
90
+ "file": "FOLD_FAULT_UNCONFORMITY_20-09-04-15-30-27-806964861.bin",
91
+ "rocks": [
92
+ "Marble 01",
93
+ "Schist 02",
94
+ "Meta Felsic 03",
95
+ "Schist 04",
96
+ "Greywacke 05",
97
+ "Phyllite 06",
98
+ "Phyllite 07",
99
+ "Sandstone 08"
100
+ ]
101
+ }
102
  ],
103
  "FOLD_FOLD_FOLD": [
104
+ {
105
+ "file": "FOLD_FOLD_FOLD_20-09-04-15-10-30-738239236.bin",
106
+ "rocks": [
107
+ "Dacite 01",
108
+ "Ign V Breccia 02",
109
+ "V Conglomerate 03",
110
+ "V Conglomerate 04"
111
+ ]
112
+ },
113
+ {
114
+ "file": "FOLD_FOLD_FOLD_20-09-04-15-12-01-552434953.bin",
115
+ "rocks": [
116
+ "Meta Intermed 01",
117
+ "Gneiss 02",
118
+ "Meta Mafic 03",
119
+ "Meta Carb 04",
120
+ "Amphib 05"
121
+ ]
122
+ }
123
  ],
124
  "PLUG_PLUG_PLUG": [
125
+ {
126
+ "file": "PLUG_PLUG_PLUG_20-09-04-15-22-31-290339215.bin",
127
+ "rocks": [
128
+ "Marble 01",
129
+ "Meta Sediment 02",
130
+ "Granite 03",
131
+ "Granite 04",
132
+ "Syenite 05"
133
+ ]
134
+ },
135
+ {
136
+ "file": "PLUG_PLUG_PLUG_20-09-04-15-34-27-811124008.bin",
137
+ "rocks": [
138
+ "Meta Mafic 01",
139
+ "Meta Carb 02",
140
+ "Meta Ultramaf 03",
141
+ "Meta Intermed 04",
142
+ "Schist 05",
143
+ "Meta Ultramaf 06",
144
+ "Syenite 07",
145
+ "Gabbro 08",
146
+ "Gabbro 09"
147
+ ]
148
+ }
149
  ],
150
  "PLUG_SHEAR-ZONE_TILT": [
151
+ {
152
+ "file": "PLUG_SHEAR-ZONE_TILT_20-09-04-15-13-16-695630284.bin",
153
+ "rocks": [
154
+ "Meta Sediment 01",
155
+ "Meta Ultramaf 02",
156
+ "Marble 03",
157
+ "Meta Felsic 04",
158
+ "Meta Intermed 05",
159
+ "Porphyry 06"
160
+ ]
161
+ },
162
+ {
163
+ "file": "PLUG_SHEAR-ZONE_TILT_20-09-04-15-20-46-049109221.bin",
164
+ "rocks": [
165
+ "Sandstone 01",
166
+ "Phyllite 02",
167
+ "Limestone 03",
168
+ "Greywacke 04",
169
+ "Greywacke 05",
170
+ "Gabbro 06"
171
+ ]
172
+ }
173
  ],
174
  "SHEAR-ZONE_SHEAR-ZONE_SHEAR-ZONE": [
175
+ {
176
+ "file": "SHEAR-ZONE_SHEAR-ZONE_SHEAR-ZONE_20-09-04-15-11-17-868781593.bin",
177
+ "rocks": [
178
+ "Sandstone 01",
179
+ "Greywacke 02"
180
+ ]
181
+ },
182
+ {
183
+ "file": "SHEAR-ZONE_SHEAR-ZONE_SHEAR-ZONE_20-09-04-15-12-07-100352181.bin",
184
+ "rocks": [
185
+ "Meta Carb 01",
186
+ "Meta Mafic 02"
187
+ ]
188
+ }
189
  ],
190
  "TILT_TILT_TILT": [
191
+ {
192
+ "file": "TILT_TILT_TILT_20-09-04-15-54-46-708920477.bin",
193
+ "rocks": [
194
+ "Basalt 01",
195
+ "V Conglomerate 02",
196
+ "Dacite 03"
197
+ ]
198
+ },
199
+ {
200
+ "file": "TILT_TILT_TILT_20-09-04-16-40-18-405539396.bin",
201
+ "rocks": [
202
+ "V Siltstone 01",
203
+ "Ign V Breccia 02",
204
+ "Basalt 03",
205
+ "Ign V Breccia 04"
206
+ ]
207
+ }
208
  ],
209
  "UNCONFORMITY_UNCONFORMITY_UNCONFORMITY": [
210
+ {
211
+ "file": "UNCONFORMITY_UNCONFORMITY_UNCONFORMITY_20-09-04-15-16-52-886739346.bin",
212
+ "rocks": [
213
+ "Meta Felsic 01",
214
+ "Gneiss 02",
215
+ "Sandstone 03",
216
+ "Greywacke 04",
217
+ "Sandstone 05",
218
+ "Sandstone 06",
219
+ "Pelite 07",
220
+ "Greywacke 08",
221
+ "Limestone 09",
222
+ "Sandstone 10",
223
+ "Conglomerate 11",
224
+ "Phyllite 12",
225
+ "Sandstone 13",
226
+ "Conglomerate 14",
227
+ "Limestone 15"
228
+ ]
229
+ },
230
+ {
231
+ "file": "UNCONFORMITY_UNCONFORMITY_UNCONFORMITY_20-09-04-15-41-38-711387686.bin",
232
+ "rocks": [
233
+ "V Breccia 01",
234
+ "Rhyolite 02",
235
+ "Basalt 03",
236
+ "Basalt 04",
237
+ "Basalt 05",
238
+ "V Conglomerate 06",
239
+ "Ign V Breccia 07",
240
+ "Tuff Lapillist 08",
241
+ "Meta Felsic 09",
242
+ "Meta Carb 10",
243
+ "Gneiss 11",
244
+ "Marble 12",
245
+ "Amphib 13",
246
+ "Dacite 14",
247
+ "Basalt 15",
248
+ "Basalt 16",
249
+ "V Breccia 17",
250
+ "Tuff Lapillist 18"
251
+ ]
252
+ }
253
  ]
254
  }
255
  }
index.html CHANGED
@@ -37,9 +37,9 @@ html,body{height:100%;overflow:hidden;font-family:'DM Sans','Space Grotesk',syst
37
  /* Sidebar */
38
  #sidebar{width:270px;min-width:270px;background:var(--surface);
39
  border-right:1px solid var(--border);padding:20px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}
40
- #sidebar h1{font-family:'Space Grotesk',sans-serif;font-size:1.2rem;font-weight:700;background:linear-gradient(135deg,var(--accent),var(--accent2));
41
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-0.02em}
42
- #sidebar p.sub{font-size:0.72rem;color:var(--text2);line-height:1.5;margin-top:-6px}
43
  .control-group{display:flex;flex-direction:column;gap:5px}
44
  .control-group label{font-size:0.65rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--text2);font-weight:600}
45
  select{background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:8px;
@@ -51,9 +51,9 @@ select:hover,select:focus{border-color:var(--accent)}
51
  .info-card{background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:12px;font-size:0.72rem;line-height:1.6}
52
  .info-card .label{color:var(--text2);font-size:0.62rem;text-transform:uppercase;letter-spacing:0.06em}
53
  .info-card .value{color:var(--text);font-weight:600}
54
- .legend{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}
55
- .legend-item{display:flex;align-items:center;gap:3px;font-size:0.62rem;color:var(--text2)}
56
- .legend-swatch{width:10px;height:10px;border-radius:2px;border:1px solid rgba(0,0,0,0.1)}
57
 
58
  .credits{font-size:0.58rem;color:var(--text2);line-height:1.5;margin-top:auto;padding-top:8px;border-top:1px solid var(--border)}
59
 
@@ -73,7 +73,7 @@ select:hover,select:focus{border-color:var(--accent)}
73
  #fields-panel{height:210px;min-height:210px;display:flex;border-top:1px solid var(--border);background:var(--surface)}
74
  .field-container{flex:1;padding:10px 14px;display:flex;flex-direction:column;position:relative}
75
  .field-container+.field-container{border-left:1px solid var(--border)}
76
- .field-title{font-size:0.68rem;color:var(--text2);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:5px;font-weight:600}
77
  .field-canvas-wrap{flex:1;position:relative;display:flex;align-items:center;justify-content:center}
78
  .field-canvas-wrap canvas{max-width:100%;max-height:100%;border-radius:4px;border:1px solid var(--border)}
79
  .colorbar{position:absolute;right:2px;top:0;bottom:0;width:16px;display:flex;flex-direction:column;
@@ -402,27 +402,29 @@ scene.add(new THREE.AmbientLight(0xffffff, 0.6));
402
  const d1 = new THREE.DirectionalLight(0xffffff, 0.8); d1.position.set(60, 90, 70); scene.add(d1);
403
  const d2 = new THREE.DirectionalLight(0x8888cc, 0.3); d2.position.set(-40, -20, -40); scene.add(d2);
404
 
405
- // Wireframe bounding box
406
  const boxGeo = new THREE.BoxGeometry(GRID, GRID, GRID);
407
  const boxEdge = new THREE.LineSegments(
408
  new THREE.EdgesGeometry(boxGeo),
409
- new THREE.LineBasicMaterial({ color: 0xccccdd })
410
  );
411
  boxEdge.position.set(GRID/2, GRID/2, GRID/2);
412
  scene.add(boxEdge);
413
 
414
- // Axis labels
415
- function makeLabel(text, pos) {
416
- const c = document.createElement('canvas'); c.width=64; c.height=32;
417
- const ctx = c.getContext('2d'); ctx.fillStyle='#6b7084'; ctx.font='bold 20px Inter,sans-serif';
418
- ctx.textAlign='center'; ctx.textBaseline='middle'; ctx.fillText(text,32,16);
 
419
  const tex = new THREE.CanvasTexture(c);
420
  const sp = new THREE.Sprite(new THREE.SpriteMaterial({map:tex,transparent:true}));
421
- sp.position.copy(pos); sp.scale.set(6,3,1); scene.add(sp);
422
  }
423
- makeLabel('X', new THREE.Vector3(GRID/2, -4, -4));
424
- makeLabel('Y', new THREE.Vector3(-4, -4, GRID/2));
425
- makeLabel('Depth', new THREE.Vector3(-6, GRID/2, -4));
 
426
 
427
  let currentMesh = null;
428
 
@@ -470,11 +472,14 @@ function loadVoxels(data) {
470
 
471
  document.getElementById('info-voxels').textContent = n.toLocaleString();
472
  document.getElementById('info-classes').textContent = nClasses;
 
473
  const legend = document.getElementById('legend'); legend.innerHTML = '';
 
474
  for (let i = 1; i <= nClasses; i++) {
475
  const c = LITH_COLORS[i] || [0.5,0.5,0.5];
 
476
  const div = document.createElement('div'); div.className = 'legend-item';
477
- div.innerHTML = `<span class="legend-swatch" style="background:rgb(${c[0]*255|0},${c[1]*255|0},${c[2]*255|0})"></span>${i}`;
478
  legend.appendChild(div);
479
  }
480
  }
@@ -523,6 +528,7 @@ function renderHeatmap(canvasId, data, rows, cols, cmap, barId, minId, maxId) {
523
  // DATA LOADING
524
  // ============================================================
525
  let manifest = null;
 
526
 
527
  async function loadManifest() {
528
  const resp = await fetch('data/manifest.json');
@@ -541,16 +547,20 @@ async function loadManifest() {
541
  function populateSamples() {
542
  const type = document.getElementById('type-select').value;
543
  const sel = document.getElementById('sample-select'); sel.innerHTML = '';
544
- manifest.types[type].forEach((name, i) => {
545
- const opt = document.createElement('option'); opt.value = name;
546
  opt.textContent = `Sample ${i+1}`; sel.appendChild(opt);
547
  });
548
  loadSample();
549
  }
550
 
551
  async function loadSample() {
552
- const fileName = document.getElementById('sample-select').value;
553
- if (!fileName) return;
 
 
 
 
554
  const bar = document.getElementById('loading-bar');
555
  bar.classList.remove('hidden'); bar.style.width = '30%';
556
 
 
37
  /* Sidebar */
38
  #sidebar{width:270px;min-width:270px;background:var(--surface);
39
  border-right:1px solid var(--border);padding:20px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}
40
+ #sidebar h1{font-family:'Space Grotesk',sans-serif;font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,var(--accent),var(--accent2));
41
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-0.02em}
42
+ #sidebar p.sub{font-size:0.72rem;color:var(--text2);line-height:1.6;margin-top:2px}
43
  .control-group{display:flex;flex-direction:column;gap:5px}
44
  .control-group label{font-size:0.65rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--text2);font-weight:600}
45
  select{background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:8px;
 
51
  .info-card{background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:12px;font-size:0.72rem;line-height:1.6}
52
  .info-card .label{color:var(--text2);font-size:0.62rem;text-transform:uppercase;letter-spacing:0.06em}
53
  .info-card .value{color:var(--text);font-weight:600}
54
+ .legend{display:flex;flex-direction:column;gap:4px;margin-top:6px}
55
+ .legend-item{display:flex;align-items:center;gap:6px;font-size:0.66rem;color:var(--text);line-height:1.3}
56
+ .legend-swatch{width:12px;height:12px;border-radius:3px;border:1px solid rgba(0,0,0,0.12);flex-shrink:0}
57
 
58
  .credits{font-size:0.58rem;color:var(--text2);line-height:1.5;margin-top:auto;padding-top:8px;border-top:1px solid var(--border)}
59
 
 
73
  #fields-panel{height:210px;min-height:210px;display:flex;border-top:1px solid var(--border);background:var(--surface)}
74
  .field-container{flex:1;padding:10px 14px;display:flex;flex-direction:column;position:relative}
75
  .field-container+.field-container{border-left:1px solid var(--border)}
76
+ .field-title{font-family:'Space Grotesk',sans-serif;font-size:0.82rem;color:var(--text);letter-spacing:0.03em;margin-bottom:6px;font-weight:600}
77
  .field-canvas-wrap{flex:1;position:relative;display:flex;align-items:center;justify-content:center}
78
  .field-canvas-wrap canvas{max-width:100%;max-height:100%;border-radius:4px;border:1px solid var(--border)}
79
  .colorbar{position:absolute;right:2px;top:0;bottom:0;width:16px;display:flex;flex-direction:column;
 
402
  const d1 = new THREE.DirectionalLight(0xffffff, 0.8); d1.position.set(60, 90, 70); scene.add(d1);
403
  const d2 = new THREE.DirectionalLight(0x8888cc, 0.3); d2.position.set(-40, -20, -40); scene.add(d2);
404
 
405
+ // Wireframe bounding box — dark edges for contrast
406
  const boxGeo = new THREE.BoxGeometry(GRID, GRID, GRID);
407
  const boxEdge = new THREE.LineSegments(
408
  new THREE.EdgesGeometry(boxGeo),
409
+ new THREE.LineBasicMaterial({ color: 0x333344 })
410
  );
411
  boxEdge.position.set(GRID/2, GRID/2, GRID/2);
412
  scene.add(boxEdge);
413
 
414
+ // Axis labels — X and Y at the top (surface), Depth arrow going down
415
+ function makeLabel(text, pos, fontSize) {
416
+ const c = document.createElement('canvas'); c.width=128; c.height=40;
417
+ const ctx = c.getContext('2d'); ctx.fillStyle='#333344';
418
+ ctx.font=`bold ${fontSize||22}px "Space Grotesk",system-ui,sans-serif`;
419
+ ctx.textAlign='center'; ctx.textBaseline='middle'; ctx.fillText(text,64,20);
420
  const tex = new THREE.CanvasTexture(c);
421
  const sp = new THREE.Sprite(new THREE.SpriteMaterial({map:tex,transparent:true}));
422
+ sp.position.copy(pos); sp.scale.set(8,2.5,1); scene.add(sp);
423
  }
424
+ // Surface is at Y=GRID (top). Labels on top edges.
425
+ makeLabel('Easting (X)', new THREE.Vector3(GRID/2, GRID+3, -2));
426
+ makeLabel('Northing (Y)', new THREE.Vector3(-2, GRID+3, GRID/2));
427
+ makeLabel('Depth \u2193', new THREE.Vector3(-5, GRID/2, -2), 20);
428
 
429
  let currentMesh = null;
430
 
 
472
 
473
  document.getElementById('info-voxels').textContent = n.toLocaleString();
474
  document.getElementById('info-classes').textContent = nClasses;
475
+ // Legend with rock names from manifest
476
  const legend = document.getElementById('legend'); legend.innerHTML = '';
477
+ const rockNames = currentRockNames || [];
478
  for (let i = 1; i <= nClasses; i++) {
479
  const c = LITH_COLORS[i] || [0.5,0.5,0.5];
480
+ const name = rockNames[i-1] || `Class ${i}`;
481
  const div = document.createElement('div'); div.className = 'legend-item';
482
+ div.innerHTML = `<span class="legend-swatch" style="background:rgb(${c[0]*255|0},${c[1]*255|0},${c[2]*255|0})"></span>${name}`;
483
  legend.appendChild(div);
484
  }
485
  }
 
528
  // DATA LOADING
529
  // ============================================================
530
  let manifest = null;
531
+ let currentRockNames = [];
532
 
533
  async function loadManifest() {
534
  const resp = await fetch('data/manifest.json');
 
547
  function populateSamples() {
548
  const type = document.getElementById('type-select').value;
549
  const sel = document.getElementById('sample-select'); sel.innerHTML = '';
550
+ manifest.types[type].forEach((entry, i) => {
551
+ const opt = document.createElement('option'); opt.value = i;
552
  opt.textContent = `Sample ${i+1}`; sel.appendChild(opt);
553
  });
554
  loadSample();
555
  }
556
 
557
  async function loadSample() {
558
+ const type = document.getElementById('type-select').value;
559
+ const idx = parseInt(document.getElementById('sample-select').value);
560
+ if (isNaN(idx)) return;
561
+ const entry = manifest.types[type][idx];
562
+ const fileName = entry.file;
563
+ currentRockNames = entry.rocks || [];
564
  const bar = document.getElementById('loading-bar');
565
  bar.classList.remove('hidden'); bar.style.width = '30%';
566