diff --git a/components/ResultDialog.vue b/components/ResultDialog.vue
index 67b21e1..834f703 100644
--- a/components/ResultDialog.vue
+++ b/components/ResultDialog.vue
@@ -66,7 +66,7 @@ const close = () => {
}
.dialog-box {
- background-image: url('../images/bg-grass.png');
+ background-image: url('/images/bg-grass.png');
padding: 0 20px;
border-radius: 5px;
width: 800px;
diff --git a/nuxt.config.ts b/nuxt.config.ts
index 880df38..875119d 100644
--- a/nuxt.config.ts
+++ b/nuxt.config.ts
@@ -10,5 +10,15 @@ export default defineNuxtConfig({
},
modules: [
'@pinia/nuxt',
+ '@pinia-plugin-persistedstate/nuxt',
],
+ app: {
+ head: {
+ script: [{
+ src: "/webgl-utils.js"
+ }, {
+ src: "https://lygia.xyz/resolve.js"
+ }]
+ }
+ },
})
diff --git a/package-lock.json b/package-lock.json
index 5939e60..efce2ba 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -12,6 +12,9 @@
"pinia": "^2.1.7",
"vue": "^3.4.21",
"vue-router": "^4.3.0"
+ },
+ "devDependencies": {
+ "@pinia-plugin-persistedstate/nuxt": "^1.2.0"
}
},
"node_modules/@ampproject/remapping": {
@@ -2093,6 +2096,21 @@
"node": ">=0.10"
}
},
+ "node_modules/@pinia-plugin-persistedstate/nuxt": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@pinia-plugin-persistedstate/nuxt/-/nuxt-1.2.0.tgz",
+ "integrity": "sha512-2rtgx5viGSMQMCoFYZMHguA2FhFKCUvw0PwETfqQegsWeBHlqk1/D0G/9xqep8Hq+c1BuFx+jNLJzoLXtYfivg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nuxt/kit": "^3.8.0",
+ "defu": "^6.1.2",
+ "pinia-plugin-persistedstate": ">=3.2.0"
+ },
+ "peerDependencies": {
+ "@pinia/nuxt": "^0.5.0"
+ }
+ },
"node_modules/@pinia/nuxt": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/@pinia/nuxt/-/nuxt-0.5.1.tgz",
@@ -7803,6 +7821,16 @@
}
}
},
+ "node_modules/pinia-plugin-persistedstate": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/pinia-plugin-persistedstate/-/pinia-plugin-persistedstate-3.2.1.tgz",
+ "integrity": "sha512-MK++8LRUsGF7r45PjBFES82ISnPzyO6IZx3CH5vyPseFLZCk1g2kgx6l/nW8pEBKxxd4do0P6bJw+mUSZIEZUQ==",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "pinia": "^2.0.0"
+ }
+ },
"node_modules/pinia/node_modules/vue-demi": {
"version": "0.14.7",
"resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.7.tgz",
diff --git a/package.json b/package.json
index f081547..0025121 100644
--- a/package.json
+++ b/package.json
@@ -15,5 +15,8 @@
"pinia": "^2.1.7",
"vue": "^3.4.21",
"vue-router": "^4.3.0"
+ },
+ "devDependencies": {
+ "@pinia-plugin-persistedstate/nuxt": "^1.2.0"
}
}
diff --git a/public/cards/015.png b/public/cards/015.png
deleted file mode 100644
index 9a3b560..0000000
--- a/public/cards/015.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:cc8c8b72a13c1aa958ea4375b994051512d6212ff42b2f3f0af7fc02d771fa43
-size 144481
diff --git a/public/cards/001.png b/public/cards/heron/001.png
similarity index 100%
rename from public/cards/001.png
rename to public/cards/heron/001.png
diff --git a/public/cards/002.png b/public/cards/heron/002.png
similarity index 100%
rename from public/cards/002.png
rename to public/cards/heron/002.png
diff --git a/public/cards/003.png b/public/cards/heron/003.png
similarity index 100%
rename from public/cards/003.png
rename to public/cards/heron/003.png
diff --git a/public/cards/004.png b/public/cards/heron/004.png
similarity index 100%
rename from public/cards/004.png
rename to public/cards/heron/004.png
diff --git a/public/cards/005.png b/public/cards/heron/005.png
similarity index 100%
rename from public/cards/005.png
rename to public/cards/heron/005.png
diff --git a/public/cards/006.png b/public/cards/heron/006.png
similarity index 100%
rename from public/cards/006.png
rename to public/cards/heron/006.png
diff --git a/public/cards/007.png b/public/cards/heron/007.png
similarity index 100%
rename from public/cards/007.png
rename to public/cards/heron/007.png
diff --git a/public/cards/008.png b/public/cards/heron/008.png
similarity index 100%
rename from public/cards/008.png
rename to public/cards/heron/008.png
diff --git a/public/cards/009.png b/public/cards/heron/009.png
similarity index 100%
rename from public/cards/009.png
rename to public/cards/heron/009.png
diff --git a/public/cards/010.png b/public/cards/heron/010.png
similarity index 100%
rename from public/cards/010.png
rename to public/cards/heron/010.png
diff --git a/public/cards/011.png b/public/cards/heron/011.png
similarity index 100%
rename from public/cards/011.png
rename to public/cards/heron/011.png
diff --git a/public/cards/012.png b/public/cards/heron/012.png
similarity index 100%
rename from public/cards/012.png
rename to public/cards/heron/012.png
diff --git a/public/cards/013.png b/public/cards/heron/013.png
similarity index 100%
rename from public/cards/013.png
rename to public/cards/heron/013.png
diff --git a/public/cards/014.png b/public/cards/heron/014.png
similarity index 100%
rename from public/cards/014.png
rename to public/cards/heron/014.png
diff --git a/public/cards/heron/015.png b/public/cards/heron/015.png
new file mode 100644
index 0000000..af9a93d
--- /dev/null
+++ b/public/cards/heron/015.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:fb74c9638f597069603a29bc22bbfcd5ce884975d73dcf7fc6a020ab6ad3ce17
+size 144600
diff --git a/public/cards/016.png b/public/cards/heron/016.png
similarity index 100%
rename from public/cards/016.png
rename to public/cards/heron/016.png
diff --git a/public/cards/017.png b/public/cards/heron/017.png
similarity index 100%
rename from public/cards/017.png
rename to public/cards/heron/017.png
diff --git a/public/cards/018.png b/public/cards/heron/018.png
similarity index 100%
rename from public/cards/018.png
rename to public/cards/heron/018.png
diff --git a/public/cards/019.png b/public/cards/heron/019.png
similarity index 100%
rename from public/cards/019.png
rename to public/cards/heron/019.png
diff --git a/public/cards/020.png b/public/cards/heron/020.png
similarity index 100%
rename from public/cards/020.png
rename to public/cards/heron/020.png
diff --git a/public/cards/021.png b/public/cards/heron/021.png
similarity index 100%
rename from public/cards/021.png
rename to public/cards/heron/021.png
diff --git a/public/cards/022.png b/public/cards/heron/022.png
similarity index 100%
rename from public/cards/022.png
rename to public/cards/heron/022.png
diff --git a/public/cards/023.png b/public/cards/heron/023.png
similarity index 100%
rename from public/cards/023.png
rename to public/cards/heron/023.png
diff --git a/public/cards/024.png b/public/cards/heron/024.png
similarity index 100%
rename from public/cards/024.png
rename to public/cards/heron/024.png
diff --git a/public/cards/025.png b/public/cards/heron/025.png
similarity index 100%
rename from public/cards/025.png
rename to public/cards/heron/025.png
diff --git a/public/cards/026.png b/public/cards/heron/026.png
similarity index 100%
rename from public/cards/026.png
rename to public/cards/heron/026.png
diff --git a/public/cards/027.png b/public/cards/heron/027.png
similarity index 100%
rename from public/cards/027.png
rename to public/cards/heron/027.png
diff --git a/public/cards/028.png b/public/cards/heron/028.png
similarity index 100%
rename from public/cards/028.png
rename to public/cards/heron/028.png
diff --git a/public/cards/029.png b/public/cards/heron/029.png
similarity index 100%
rename from public/cards/029.png
rename to public/cards/heron/029.png
diff --git a/public/cards/030.png b/public/cards/heron/030.png
similarity index 100%
rename from public/cards/030.png
rename to public/cards/heron/030.png
diff --git a/public/cards/031.png b/public/cards/heron/031.png
similarity index 100%
rename from public/cards/031.png
rename to public/cards/heron/031.png
diff --git a/public/cards/032.png b/public/cards/heron/032.png
similarity index 100%
rename from public/cards/032.png
rename to public/cards/heron/032.png
diff --git a/public/cards/033.png b/public/cards/heron/033.png
similarity index 100%
rename from public/cards/033.png
rename to public/cards/heron/033.png
diff --git a/public/cards/034.png b/public/cards/heron/034.png
similarity index 100%
rename from public/cards/034.png
rename to public/cards/heron/034.png
diff --git a/public/cards/035.png b/public/cards/heron/035.png
similarity index 100%
rename from public/cards/035.png
rename to public/cards/heron/035.png
diff --git a/public/cards/036.png b/public/cards/heron/036.png
similarity index 100%
rename from public/cards/036.png
rename to public/cards/heron/036.png
diff --git a/public/cards/037.png b/public/cards/heron/037.png
similarity index 100%
rename from public/cards/037.png
rename to public/cards/heron/037.png
diff --git a/public/cards/038.png b/public/cards/heron/038.png
similarity index 100%
rename from public/cards/038.png
rename to public/cards/heron/038.png
diff --git a/public/cards/039.png b/public/cards/heron/039.png
similarity index 100%
rename from public/cards/039.png
rename to public/cards/heron/039.png
diff --git a/public/cards/040.png b/public/cards/heron/040.png
similarity index 100%
rename from public/cards/040.png
rename to public/cards/heron/040.png
diff --git a/public/cards/041.png b/public/cards/heron/041.png
similarity index 100%
rename from public/cards/041.png
rename to public/cards/heron/041.png
diff --git a/public/cards/042.png b/public/cards/heron/042.png
similarity index 100%
rename from public/cards/042.png
rename to public/cards/heron/042.png
diff --git a/public/cards/043.png b/public/cards/heron/043.png
similarity index 100%
rename from public/cards/043.png
rename to public/cards/heron/043.png
diff --git a/public/cards/044.png b/public/cards/heron/044.png
similarity index 100%
rename from public/cards/044.png
rename to public/cards/heron/044.png
diff --git a/public/cards/045.png b/public/cards/heron/045.png
similarity index 100%
rename from public/cards/045.png
rename to public/cards/heron/045.png
diff --git a/public/cards/046.png b/public/cards/heron/046.png
similarity index 100%
rename from public/cards/046.png
rename to public/cards/heron/046.png
diff --git a/public/cards/047.png b/public/cards/heron/047.png
similarity index 100%
rename from public/cards/047.png
rename to public/cards/heron/047.png
diff --git a/public/cards/048.png b/public/cards/heron/048.png
similarity index 100%
rename from public/cards/048.png
rename to public/cards/heron/048.png
diff --git a/public/cards/049.png b/public/cards/heron/049.png
similarity index 100%
rename from public/cards/049.png
rename to public/cards/heron/049.png
diff --git a/public/cards/050.png b/public/cards/heron/050.png
similarity index 100%
rename from public/cards/050.png
rename to public/cards/heron/050.png
diff --git a/public/cards/051.png b/public/cards/heron/051.png
similarity index 100%
rename from public/cards/051.png
rename to public/cards/heron/051.png
diff --git a/public/cards/052.png b/public/cards/heron/052.png
similarity index 100%
rename from public/cards/052.png
rename to public/cards/heron/052.png
diff --git a/public/cards/053.png b/public/cards/heron/053.png
similarity index 100%
rename from public/cards/053.png
rename to public/cards/heron/053.png
diff --git a/public/cards/054.png b/public/cards/heron/054.png
similarity index 100%
rename from public/cards/054.png
rename to public/cards/heron/054.png
diff --git a/public/cards/055.png b/public/cards/heron/055.png
similarity index 100%
rename from public/cards/055.png
rename to public/cards/heron/055.png
diff --git a/public/cards/056.png b/public/cards/heron/056.png
similarity index 100%
rename from public/cards/056.png
rename to public/cards/heron/056.png
diff --git a/public/cards/057.png b/public/cards/heron/057.png
similarity index 100%
rename from public/cards/057.png
rename to public/cards/heron/057.png
diff --git a/public/cards/058.png b/public/cards/heron/058.png
similarity index 100%
rename from public/cards/058.png
rename to public/cards/heron/058.png
diff --git a/public/cards/059.png b/public/cards/heron/059.png
similarity index 100%
rename from public/cards/059.png
rename to public/cards/heron/059.png
diff --git a/public/cards/138-score-ones-blue.png b/public/cards/heron/138-score-ones-blue.png
similarity index 100%
rename from public/cards/138-score-ones-blue.png
rename to public/cards/heron/138-score-ones-blue.png
diff --git a/public/cards/140-score-ones-green.png b/public/cards/heron/140-score-ones-green.png
similarity index 100%
rename from public/cards/140-score-ones-green.png
rename to public/cards/heron/140-score-ones-green.png
diff --git a/public/cards/142-score-ones-red.png b/public/cards/heron/142-score-ones-red.png
similarity index 100%
rename from public/cards/142-score-ones-red.png
rename to public/cards/heron/142-score-ones-red.png
diff --git a/public/cards/144-score-ones-yellow.png b/public/cards/heron/144-score-ones-yellow.png
similarity index 100%
rename from public/cards/144-score-ones-yellow.png
rename to public/cards/heron/144-score-ones-yellow.png
diff --git a/public/cards/147-score-tens-blue-back.png b/public/cards/heron/147-score-tens-blue-back.png
similarity index 100%
rename from public/cards/147-score-tens-blue-back.png
rename to public/cards/heron/147-score-tens-blue-back.png
diff --git a/public/cards/149-score-tens-green-back.png b/public/cards/heron/149-score-tens-green-back.png
similarity index 100%
rename from public/cards/149-score-tens-green-back.png
rename to public/cards/heron/149-score-tens-green-back.png
diff --git a/public/cards/151-score-tens-red-back.png b/public/cards/heron/151-score-tens-red-back.png
similarity index 100%
rename from public/cards/151-score-tens-red-back.png
rename to public/cards/heron/151-score-tens-red-back.png
diff --git a/public/cards/153-score-tens-yellow-back.png b/public/cards/heron/153-score-tens-yellow-back.png
similarity index 100%
rename from public/cards/153-score-tens-yellow-back.png
rename to public/cards/heron/153-score-tens-yellow-back.png
diff --git a/public/cards/heron/background.png b/public/cards/heron/background.png
new file mode 100644
index 0000000..17c9547
--- /dev/null
+++ b/public/cards/heron/background.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3c0242c3d157131f570a16b5bca22a5bbc0c54678e3047a4cea4d4c9ec026c47
+size 161300
diff --git a/public/cards/original/001.png b/public/cards/original/001.png
new file mode 100644
index 0000000..d6a6c8b
--- /dev/null
+++ b/public/cards/original/001.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:26038670dda0470f581a08f071c79ea41741683343c66cfd460a33c5bcd7ff97
+size 36834
diff --git a/public/cards/original/002.png b/public/cards/original/002.png
new file mode 100644
index 0000000..535c04a
--- /dev/null
+++ b/public/cards/original/002.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ea03484a03a203cf1938c0784effdc627171129415a8772c969ba127aa167fa6
+size 35900
diff --git a/public/cards/original/003.png b/public/cards/original/003.png
new file mode 100644
index 0000000..1ba6651
--- /dev/null
+++ b/public/cards/original/003.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0a69e6d8a6c2dd05f4d31328f0e5152b1275e328e680433f823bd921eaad1852
+size 43554
diff --git a/public/cards/original/004.png b/public/cards/original/004.png
new file mode 100644
index 0000000..ca0f69b
--- /dev/null
+++ b/public/cards/original/004.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:33614927dabed82cc980cc40c43217a1309416dddc9dd57f1832e30c725b8b7e
+size 43394
diff --git a/public/cards/original/005.png b/public/cards/original/005.png
new file mode 100644
index 0000000..7ffb4d6
--- /dev/null
+++ b/public/cards/original/005.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a7a46b89e581f7b185ff7380ca352bff25db82a9c8e69811c4d55ad6000a055e
+size 44284
diff --git a/public/cards/original/006.png b/public/cards/original/006.png
new file mode 100644
index 0000000..b4ae1a9
--- /dev/null
+++ b/public/cards/original/006.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5440c5051be058dceeaa25775503119eff4fb9c2e2cc926a5dcf639118dc6802
+size 40015
diff --git a/public/cards/original/007.png b/public/cards/original/007.png
new file mode 100644
index 0000000..393abc7
--- /dev/null
+++ b/public/cards/original/007.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8545d744c2c5b15018bdf25dc11188f5c16268fc6dd44af0e14db2367403aed8
+size 39624
diff --git a/public/cards/original/008.png b/public/cards/original/008.png
new file mode 100644
index 0000000..96f38c4
--- /dev/null
+++ b/public/cards/original/008.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d620f000d2ad0c47036a3b69e47229f7d3ad2435a011ac39ba749add082debe6
+size 49334
diff --git a/public/cards/original/009.png b/public/cards/original/009.png
new file mode 100644
index 0000000..0f3e6cc
--- /dev/null
+++ b/public/cards/original/009.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ba7287f8f760098ee98706881e402edf206d56624729943f1f49438b2b43c6c3
+size 39644
diff --git a/public/cards/original/010.png b/public/cards/original/010.png
new file mode 100644
index 0000000..dcd21e2
--- /dev/null
+++ b/public/cards/original/010.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0cb0e9a215643a6d8d33cee108b1e84e8b15c9aa0ce634958c3b13ec7615d870
+size 38915
diff --git a/public/cards/original/011.png b/public/cards/original/011.png
new file mode 100644
index 0000000..89238e5
--- /dev/null
+++ b/public/cards/original/011.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e76328eb95c72f023dc393a5e638d76269e0d769295ea79b6443bfdbdf600ec4
+size 39033
diff --git a/public/cards/original/012.png b/public/cards/original/012.png
new file mode 100644
index 0000000..06049a0
--- /dev/null
+++ b/public/cards/original/012.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d7b84a0fd00c53868fabfd9d31582df4e6532b7b34111e7bbb36e8e35301d42f
+size 37028
diff --git a/public/cards/original/013.png b/public/cards/original/013.png
new file mode 100644
index 0000000..3566700
--- /dev/null
+++ b/public/cards/original/013.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ab29f3e6cee7daebeaba494dfb42ee5f31b5b8d37071bc0190ee6a479ec121dc
+size 35167
diff --git a/public/cards/original/014.png b/public/cards/original/014.png
new file mode 100644
index 0000000..b2aaa21
--- /dev/null
+++ b/public/cards/original/014.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:69313a407b1b4740be4d514c57c7243834407d9ab0e1376828e66ef02e381dc9
+size 38147
diff --git a/public/cards/original/015.png b/public/cards/original/015.png
new file mode 100644
index 0000000..66072aa
--- /dev/null
+++ b/public/cards/original/015.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7fbb4c0c8523aa4d88633da62bd9d3972174e680db26a0906004c7827f7cf834
+size 39148
diff --git a/public/cards/original/016.png b/public/cards/original/016.png
new file mode 100644
index 0000000..60ddb69
--- /dev/null
+++ b/public/cards/original/016.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d541329f2d659ac2f163601a0e696e83d9c975771e85d7baf0e1451b78438151
+size 40665
diff --git a/public/cards/original/017.png b/public/cards/original/017.png
new file mode 100644
index 0000000..337a01c
--- /dev/null
+++ b/public/cards/original/017.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6b892e5621328db7d49f5cebb26418c46962413c19b6a55ca2c7b135865f5467
+size 39417
diff --git a/public/cards/original/018.png b/public/cards/original/018.png
new file mode 100644
index 0000000..d387c21
--- /dev/null
+++ b/public/cards/original/018.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0c4eec95e60534047a1de9c989b3ed4a3decac34296bbd151fb2ee72399c2c9c
+size 38586
diff --git a/public/cards/original/019.png b/public/cards/original/019.png
new file mode 100644
index 0000000..4e42f91
--- /dev/null
+++ b/public/cards/original/019.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8f99f65ad8a69c0b4b8c9f9ae41fc4f60bd2f0424a9929ec660d6207502ec8ae
+size 43529
diff --git a/public/cards/original/020.png b/public/cards/original/020.png
new file mode 100644
index 0000000..78f9ecb
--- /dev/null
+++ b/public/cards/original/020.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8d3d3b04e9c9e842c53ee10788b6596eccc13f2cfd04804c0e83f561d09d2f49
+size 41460
diff --git a/public/cards/original/021.png b/public/cards/original/021.png
new file mode 100644
index 0000000..79b1533
--- /dev/null
+++ b/public/cards/original/021.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2abbc90549e478f382f814a0c9ec179c7455a03837114026a853d48abff8f3ed
+size 38912
diff --git a/public/cards/original/022.png b/public/cards/original/022.png
new file mode 100644
index 0000000..34800c7
--- /dev/null
+++ b/public/cards/original/022.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8b3b4601b9aff7cd236b6f524057d3ddef02d286cc92c991da9cdc9f315d433e
+size 39394
diff --git a/public/cards/original/023.png b/public/cards/original/023.png
new file mode 100644
index 0000000..bde6a12
--- /dev/null
+++ b/public/cards/original/023.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:34a8c95311046c2f955ab38db9d0ed14bd2a64b558711b70f1110c5953b88542
+size 41664
diff --git a/public/cards/original/024.png b/public/cards/original/024.png
new file mode 100644
index 0000000..703f2e3
--- /dev/null
+++ b/public/cards/original/024.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:182c6bb230d88d198be2bee005e533047759a06aa6cf5dadbf06dbba6ab6ac19
+size 38926
diff --git a/public/cards/original/025.png b/public/cards/original/025.png
new file mode 100644
index 0000000..6dac719
--- /dev/null
+++ b/public/cards/original/025.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e2c2e728ce9830abe1756a01ae38fa03ebcaee296aa133e9e3b1e6c8a3d7864f
+size 38921
diff --git a/public/cards/original/026.png b/public/cards/original/026.png
new file mode 100644
index 0000000..6adae99
--- /dev/null
+++ b/public/cards/original/026.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4c53cc0bb6d7d74902b2e4b2ebf935352bdccb515269eb550e65cfcc86b81647
+size 40719
diff --git a/public/cards/original/027.png b/public/cards/original/027.png
new file mode 100644
index 0000000..78b0782
--- /dev/null
+++ b/public/cards/original/027.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2519fe820cf034b2005d8fde85fab2160014095208b837c6b31a35c4b85cc1e0
+size 40528
diff --git a/public/cards/original/028.png b/public/cards/original/028.png
new file mode 100644
index 0000000..400e20f
--- /dev/null
+++ b/public/cards/original/028.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ad0b156ea2668a16129b48a88165617aa02f7772cf4777934ef1aa6eee8d1531
+size 39908
diff --git a/public/cards/original/029.png b/public/cards/original/029.png
new file mode 100644
index 0000000..d02013c
--- /dev/null
+++ b/public/cards/original/029.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7c63ce279ade1f17e006f39393a257254ba24a7a49c1d117b7ee5ba65fe46c7c
+size 48111
diff --git a/public/cards/original/030.png b/public/cards/original/030.png
new file mode 100644
index 0000000..3cf3ca4
--- /dev/null
+++ b/public/cards/original/030.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ba6c56f9fc9609eb80f34bb65baa93b3effddcf9bbe9484c1603d48efbd9e76f
+size 41371
diff --git a/public/cards/original/031.png b/public/cards/original/031.png
new file mode 100644
index 0000000..e4d6902
--- /dev/null
+++ b/public/cards/original/031.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:febc3a9b12df35f8408e2bba053d99481d7b0e736deacc92a012272aff571cf8
+size 43132
diff --git a/public/cards/original/032.png b/public/cards/original/032.png
new file mode 100644
index 0000000..b1e06e5
--- /dev/null
+++ b/public/cards/original/032.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5dc1e49b544d58b217d574690dda8169ccf70f62815f6ed446e6126ebead9b79
+size 38676
diff --git a/public/cards/original/033.png b/public/cards/original/033.png
new file mode 100644
index 0000000..fe38dcb
--- /dev/null
+++ b/public/cards/original/033.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ebef8641943d307baa50e5d2df395fe9a0c81377c75c591d7dffaf405159e9c0
+size 47850
diff --git a/public/cards/original/034.png b/public/cards/original/034.png
new file mode 100644
index 0000000..7dad6e4
--- /dev/null
+++ b/public/cards/original/034.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e5b64e564e7b6fe6618ae2d495d7014667ef6756e4a25fc63a07fb9d3afb8b68
+size 56409
diff --git a/public/cards/original/035.png b/public/cards/original/035.png
new file mode 100644
index 0000000..c2bb43e
--- /dev/null
+++ b/public/cards/original/035.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0dcb62e3afc7c1af3a51fa2d5b31f3666cb711188bc7ae2c02ff2ec968a11d1b
+size 41197
diff --git a/public/cards/original/036.png b/public/cards/original/036.png
new file mode 100644
index 0000000..6be7a81
--- /dev/null
+++ b/public/cards/original/036.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:24f2f6eb8304a74934c82df30d42a31761549110b9511b32d36b48a28d307eb8
+size 41857
diff --git a/public/cards/original/037.png b/public/cards/original/037.png
new file mode 100644
index 0000000..65217d8
--- /dev/null
+++ b/public/cards/original/037.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a223f47a19dfb5dc4588fedbc62182272fb3b8cde47e40e08b28f6856d68eaa5
+size 47693
diff --git a/public/cards/original/038.png b/public/cards/original/038.png
new file mode 100644
index 0000000..de67825
--- /dev/null
+++ b/public/cards/original/038.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e707d6bc8c288064a74eec6bd31453b20117a89357c9dc19643e87433f50a2b8
+size 39706
diff --git a/public/cards/original/039.png b/public/cards/original/039.png
new file mode 100644
index 0000000..dabaf76
--- /dev/null
+++ b/public/cards/original/039.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:fd1b7c449936be6e732342e246bdd9de9aeb85370b237ba807d32d3892dfd45e
+size 47593
diff --git a/public/cards/original/040.png b/public/cards/original/040.png
new file mode 100644
index 0000000..e2a3ea8
--- /dev/null
+++ b/public/cards/original/040.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8ccfecdc233b345c269d7b97185375a400cf677dd8c9e682989920203b597344
+size 43957
diff --git a/public/cards/original/041.png b/public/cards/original/041.png
new file mode 100644
index 0000000..e5975f4
--- /dev/null
+++ b/public/cards/original/041.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8f23f150793cc6581334c0154e4c93bf40fafc818be59afccef99e856a1f01bb
+size 42891
diff --git a/public/cards/original/042.png b/public/cards/original/042.png
new file mode 100644
index 0000000..177e745
--- /dev/null
+++ b/public/cards/original/042.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:15b60b7924ab195b401e895ceb4cfe70f6725b6589dd1781fac705a4a0ab22b3
+size 55428
diff --git a/public/cards/original/043.png b/public/cards/original/043.png
new file mode 100644
index 0000000..33a6795
--- /dev/null
+++ b/public/cards/original/043.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:285dcabb872a737f553f9bd6a8c39a051fc5c562d5d9c43ebde65cf174cd55e8
+size 42697
diff --git a/public/cards/original/044.png b/public/cards/original/044.png
new file mode 100644
index 0000000..d3a17cf
--- /dev/null
+++ b/public/cards/original/044.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:13b16e3e5c290e7d6d9aba0b5930e40758bbe15be731532c2d02121ae2a0481b
+size 47386
diff --git a/public/cards/original/045.png b/public/cards/original/045.png
new file mode 100644
index 0000000..971ccc7
--- /dev/null
+++ b/public/cards/original/045.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:cd4ba56773eb5f3204c9a75d5fbaff0c3048989575aa25ec21f8c66c060279a7
+size 44566
diff --git a/public/cards/original/046.png b/public/cards/original/046.png
new file mode 100644
index 0000000..ca8d7b5
--- /dev/null
+++ b/public/cards/original/046.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8f787fb4650afae3c49f7532dc4ef7769024ecc84484b86fb8eba65cbaa47612
+size 41152
diff --git a/public/cards/original/047.png b/public/cards/original/047.png
new file mode 100644
index 0000000..071e128
--- /dev/null
+++ b/public/cards/original/047.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a57dbbb5f3f577443c1e0431d31e2fabd25cefafa197876bfd10f363c893ec2c
+size 39925
diff --git a/public/cards/original/048.png b/public/cards/original/048.png
new file mode 100644
index 0000000..5465300
--- /dev/null
+++ b/public/cards/original/048.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9517b7ae09f2e1db7ac85107b0b56787d7900341dfa127c9fd396983705db846
+size 44387
diff --git a/public/cards/original/049.png b/public/cards/original/049.png
new file mode 100644
index 0000000..2d85983
--- /dev/null
+++ b/public/cards/original/049.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b20bbfd345c5f5d720864569907abda43e497f1f7cea7fa9b774dc91a4a039c9
+size 47668
diff --git a/public/cards/original/050.png b/public/cards/original/050.png
new file mode 100644
index 0000000..64a9ec5
--- /dev/null
+++ b/public/cards/original/050.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f696987e0d4cf24f4c1e59a5f22548ab5eec6835c0683f87807d567149bbe29e
+size 46314
diff --git a/public/cards/original/051.png b/public/cards/original/051.png
new file mode 100644
index 0000000..0ec310a
--- /dev/null
+++ b/public/cards/original/051.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:44dc8e41e32eaa5bc1edc397e40af0b9127a41b7e659c8d90a4a14e81b712580
+size 41306
diff --git a/public/cards/original/052.png b/public/cards/original/052.png
new file mode 100644
index 0000000..1cf65ec
--- /dev/null
+++ b/public/cards/original/052.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2aae8d4be726f3bef34a4ba97f0156d96e81e6a108c9c0a152b4dfe0ecbbfd7d
+size 42506
diff --git a/public/cards/original/053.png b/public/cards/original/053.png
new file mode 100644
index 0000000..b37329c
--- /dev/null
+++ b/public/cards/original/053.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ea99fd2b1b7e1cb6fa9175e0f5c708ac394a8a0e0daa7cafd0c2000910fca54e
+size 42960
diff --git a/public/cards/original/054.png b/public/cards/original/054.png
new file mode 100644
index 0000000..03b1d26
--- /dev/null
+++ b/public/cards/original/054.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8062c1cf94dec7b8c662b7ce8189e7f0ee4d41769514921ec881e36e9d226d35
+size 43892
diff --git a/public/cards/original/055.png b/public/cards/original/055.png
new file mode 100644
index 0000000..e1f9f17
--- /dev/null
+++ b/public/cards/original/055.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5d7da0040e90caba08cb10f977003027c960a8a2668bae65e6824a7f9b1d59d6
+size 33945
diff --git a/public/cards/original/056.png b/public/cards/original/056.png
new file mode 100644
index 0000000..1cacb75
--- /dev/null
+++ b/public/cards/original/056.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f1fb6095241a490e1ae60d0dd096f342cbaa9feda95334d1b715516c5c938169
+size 38520
diff --git a/public/cards/original/057.png b/public/cards/original/057.png
new file mode 100644
index 0000000..49d5cf4
--- /dev/null
+++ b/public/cards/original/057.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:51164757be05e06efdf79806b62dfa547b6ded011f87c15cbb56992e04814a13
+size 32388
diff --git a/public/cards/original/058.png b/public/cards/original/058.png
new file mode 100644
index 0000000..77747d8
--- /dev/null
+++ b/public/cards/original/058.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1b58fcf23c12772fd428611136f6ab0519ef6dae8789c0044e603f22867ad48b
+size 33017
diff --git a/public/cards/original/059.png b/public/cards/original/059.png
new file mode 100644
index 0000000..147edb4
--- /dev/null
+++ b/public/cards/original/059.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e4b63c3b8f0401842f21dc62ec5d3c321f99d7c9a12d189ebebd09d09b1932c6
+size 36016
diff --git a/public/cards/original/138-score-ones-blue.png b/public/cards/original/138-score-ones-blue.png
new file mode 100644
index 0000000..78a8530
--- /dev/null
+++ b/public/cards/original/138-score-ones-blue.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e98ed439b0b449c670ae4ba12edc6a827bd33e47b5850f800012c947e86d72ec
+size 29358
diff --git a/public/cards/original/140-score-ones-green.png b/public/cards/original/140-score-ones-green.png
new file mode 100644
index 0000000..22006eb
--- /dev/null
+++ b/public/cards/original/140-score-ones-green.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9f3b0d8a00c9f02ae60929458f68e642e1ba8f3b792481a8b60f8f5fc278c534
+size 28904
diff --git a/public/cards/original/142-score-ones-red.png b/public/cards/original/142-score-ones-red.png
new file mode 100644
index 0000000..da850f8
--- /dev/null
+++ b/public/cards/original/142-score-ones-red.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:bc8cee79fccb6661fe8ae9ec5bd38d1827d3767f43035a8170c54c8b6690c904
+size 27935
diff --git a/public/cards/original/144-score-ones-yellow.png b/public/cards/original/144-score-ones-yellow.png
new file mode 100644
index 0000000..d80db7b
--- /dev/null
+++ b/public/cards/original/144-score-ones-yellow.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2e8a50854a0eea35f339225424179e2931ade913c2cd74c11ee3f6f9f1a3916e
+size 29286
diff --git a/public/cards/original/147-score-tens-blue-back.png b/public/cards/original/147-score-tens-blue-back.png
new file mode 100644
index 0000000..d3d05d0
--- /dev/null
+++ b/public/cards/original/147-score-tens-blue-back.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d86c8d5391fe384f27c74c7b27389a41197970bd756a84e1b1637b0e44164339
+size 30318
diff --git a/public/cards/original/149-score-tens-green-back.png b/public/cards/original/149-score-tens-green-back.png
new file mode 100644
index 0000000..107bfc0
--- /dev/null
+++ b/public/cards/original/149-score-tens-green-back.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:149977070f3501204add93d7787f7b95096b12d6dbdc0c17728e41df3f7a2ffd
+size 29146
diff --git a/public/cards/original/151-score-tens-red-back.png b/public/cards/original/151-score-tens-red-back.png
new file mode 100644
index 0000000..e80bc67
--- /dev/null
+++ b/public/cards/original/151-score-tens-red-back.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5ac3da5b7da709f6513a5ebc59808fe2e34b9011ea5ba83bddeb2bd039f51be8
+size 28030
diff --git a/public/cards/original/153-score-tens-yellow-back.png b/public/cards/original/153-score-tens-yellow-back.png
new file mode 100644
index 0000000..205f13c
--- /dev/null
+++ b/public/cards/original/153-score-tens-yellow-back.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:71bb96c4b243c9e9af33238cdfebb1707ed40cad8b5b94474501af1244fa4d2d
+size 29627
diff --git a/public/cards/original/background.png b/public/cards/original/background.png
new file mode 100644
index 0000000..17c9547
--- /dev/null
+++ b/public/cards/original/background.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3c0242c3d157131f570a16b5bca22a5bbc0c54678e3047a4cea4d4c9ec026c47
+size 161300
diff --git a/public/favicon.ico b/public/favicon.ico
index 18993ad..6bb35de 100644
Binary files a/public/favicon.ico and b/public/favicon.ico differ
diff --git a/public/settings.png b/public/settings.png
new file mode 100644
index 0000000..41457ff
--- /dev/null
+++ b/public/settings.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8b6540bc69fce62126ecc6b27e2c8b68c5aa26968d4d23cbafb6e79c883e8c3d
+size 52293
diff --git a/public/webgl-utils.js b/public/webgl-utils.js
new file mode 100644
index 0000000..aaa9125
--- /dev/null
+++ b/public/webgl-utils.js
@@ -0,0 +1,294 @@
+/*
+ * Copyright 2021, GFXFundamentals.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of GFXFundamentals. nor the names of his
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/* global define */
+(function(root, factory) { // eslint-disable-line
+ if (typeof define === 'function' && define.amd) {
+ // AMD. Register as an anonymous module.
+ define([], function() {
+ return factory.call(root);
+ });
+ } else {
+ // Browser globals
+ root.webglUtils = factory.call(root);
+ }
+}(this, function() {
+ "use strict";
+
+ const topWindow = this;
+
+ /** @module webgl-utils */
+
+ function isInIFrame(w) {
+ w = w || topWindow;
+ return w !== w.top;
+ }
+
+ if (!isInIFrame()) {
+ console.log("%c%s", 'color:blue;font-weight:bold;', 'for more about webgl-utils.js see:'); // eslint-disable-line
+ console.log("%c%s", 'color:blue;font-weight:bold;', 'http://webgl2fundamentals.org/webgl/lessons/webgl-boilerplate.html'); // eslint-disable-line
+ }
+
+ /**
+ * Wrapped logging function.
+ * @param {string} msg The message to log.
+ */
+ function error(msg) {
+ if (topWindow.console) {
+ if (topWindow.console.error) {
+ topWindow.console.error(msg);
+ } else if (topWindow.console.log) {
+ topWindow.console.log(msg);
+ }
+ }
+ }
+
+ const errorRE = /ERROR:\s*\d+:(\d+)/gi;
+ function addLineNumbersWithError(src, log = '') {
+ // Note: Error message formats are not defined by any spec so this may or may not work.
+ const matches = [...log.matchAll(errorRE)];
+ const lineNoToErrorMap = new Map(matches.map((m, ndx) => {
+ const lineNo = parseInt(m[1]);
+ const next = matches[ndx + 1];
+ const end = next ? next.index : log.length;
+ const msg = log.substring(m.index, end);
+ return [lineNo - 1, msg];
+ }));
+ return src.split('\n').map((line, lineNo) => {
+ const err = lineNoToErrorMap.get(lineNo);
+ return `${lineNo + 1}: ${line}${err ? `\n\n^^^ ${err}` : ''}`;
+ }).join('\n');
+ }
+
+
+ /**
+ * Error Callback
+ * @callback ErrorCallback
+ * @param {string} msg error message.
+ * @memberOf module:webgl-utils
+ */
+
+ /**
+ * Loads a shader.
+ * @param {WebGLRenderingContext} gl The WebGLRenderingContext to use.
+ * @param {string} shaderSource The shader source.
+ * @param {number} shaderType The type of shader.
+ * @param {module:webgl-utils.ErrorCallback} opt_errorCallback callback for errors.
+ * @return {WebGLShader} The created shader.
+ */
+ function loadShader(gl, shaderSource, shaderType, opt_errorCallback) {
+ const errFn = opt_errorCallback || error;
+ // Create the shader object
+ const shader = gl.createShader(shaderType);
+
+ // Load the shader source
+ gl.shaderSource(shader, shaderSource);
+
+ // Compile the shader
+ gl.compileShader(shader);
+
+ // Check the compile status
+ const compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);
+ if (!compiled) {
+ // Something went wrong during compilation; get the error
+ const lastError = gl.getShaderInfoLog(shader);
+ errFn(`Error compiling shader: ${lastError}\n${addLineNumbersWithError(shaderSource, lastError)}`);
+ gl.deleteShader(shader);
+ return null;
+ }
+
+ return shader;
+ }
+
+ /**
+ * Creates a program, attaches shaders, binds attrib locations, links the
+ * program and calls useProgram.
+ * @param {WebGLShader[]} shaders The shaders to attach
+ * @param {string[]} [opt_attribs] An array of attribs names. Locations will be assigned by index if not passed in
+ * @param {number[]} [opt_locations] The locations for the. A parallel array to opt_attribs letting you assign locations.
+ * @param {module:webgl-utils.ErrorCallback} opt_errorCallback callback for errors. By default it just prints an error to the console
+ * on error. If you want something else pass an callback. It's passed an error message.
+ * @memberOf module:webgl-utils
+ */
+ function createProgram(
+ gl, shaders, opt_attribs, opt_locations, opt_errorCallback) {
+ const errFn = opt_errorCallback || error;
+ const program = gl.createProgram();
+ shaders.forEach(function(shader) {
+ gl.attachShader(program, shader);
+ });
+ if (opt_attribs) {
+ opt_attribs.forEach(function(attrib, ndx) {
+ gl.bindAttribLocation(
+ program,
+ opt_locations ? opt_locations[ndx] : ndx,
+ attrib);
+ });
+ }
+ gl.linkProgram(program);
+
+ // Check the link status
+ const linked = gl.getProgramParameter(program, gl.LINK_STATUS);
+ if (!linked) {
+ // something went wrong with the link
+ const lastError = gl.getProgramInfoLog(program);
+ errFn(`Error in program linking: ${lastError}\n${
+ shaders.map(shader => {
+ const src = addLineNumbersWithError(gl.getShaderSource(shader));
+ const type = gl.getShaderParameter(shader, gl.SHADER_TYPE);
+ return `${glEnumToString(gl, type)}:\n${src}`;
+ }).join('\n')
+ }`);
+
+ gl.deleteProgram(program);
+ return null;
+ }
+ return program;
+ }
+
+ /**
+ * Loads a shader from a script tag.
+ * @param {WebGLRenderingContext} gl The WebGLRenderingContext to use.
+ * @param {string} scriptId The id of the script tag.
+ * @param {number} opt_shaderType The type of shader. If not passed in it will
+ * be derived from the type of the script tag.
+ * @param {module:webgl-utils.ErrorCallback} opt_errorCallback callback for errors.
+ * @return {WebGLShader} The created shader.
+ */
+ function createShaderFromScript(
+ gl, scriptId, opt_shaderType, opt_errorCallback) {
+ let shaderSource = "";
+ let shaderType;
+ const shaderScript = document.getElementById(scriptId);
+ if (!shaderScript) {
+ throw ("*** Error: unknown script element" + scriptId);
+ }
+ shaderSource = shaderScript.text;
+
+ if (!opt_shaderType) {
+ if (shaderScript.type === "x-shader/x-vertex") {
+ shaderType = gl.VERTEX_SHADER;
+ } else if (shaderScript.type === "x-shader/x-fragment") {
+ shaderType = gl.FRAGMENT_SHADER;
+ } else if (shaderType !== gl.VERTEX_SHADER && shaderType !== gl.FRAGMENT_SHADER) {
+ throw ("*** Error: unknown shader type");
+ }
+ }
+
+ return loadShader(
+ gl, shaderSource, opt_shaderType ? opt_shaderType : shaderType,
+ opt_errorCallback);
+ }
+
+ const defaultShaderType = [
+ "VERTEX_SHADER",
+ "FRAGMENT_SHADER",
+ ];
+
+ /**
+ * Creates a program from 2 script tags.
+ *
+ * @param {WebGLRenderingContext} gl The WebGLRenderingContext
+ * to use.
+ * @param {string[]} shaderScriptIds Array of ids of the script
+ * tags for the shaders. The first is assumed to be the
+ * vertex shader, the second the fragment shader.
+ * @param {string[]} [opt_attribs] An array of attribs names. Locations will be assigned by index if not passed in
+ * @param {number[]} [opt_locations] The locations for the. A parallel array to opt_attribs letting you assign locations.
+ * @param {module:webgl-utils.ErrorCallback} opt_errorCallback callback for errors. By default it just prints an error to the console
+ * on error. If you want something else pass an callback. It's passed an error message.
+ * @return {WebGLProgram} The created program.
+ * @memberOf module:webgl-utils
+ */
+ function createProgramFromScripts(
+ gl, shaderScriptIds, opt_attribs, opt_locations, opt_errorCallback) {
+ const shaders = [];
+ for (let ii = 0; ii < shaderScriptIds.length; ++ii) {
+ shaders.push(createShaderFromScript(
+ gl, shaderScriptIds[ii], gl[defaultShaderType[ii]], opt_errorCallback));
+ }
+ return createProgram(gl, shaders, opt_attribs, opt_locations, opt_errorCallback);
+ }
+
+ /**
+ * Creates a program from 2 sources.
+ *
+ * @param {WebGLRenderingContext} gl The WebGLRenderingContext
+ * to use.
+ * @param {string[]} shaderSourcess Array of sources for the
+ * shaders. The first is assumed to be the vertex shader,
+ * the second the fragment shader.
+ * @param {string[]} [opt_attribs] An array of attribs names. Locations will be assigned by index if not passed in
+ * @param {number[]} [opt_locations] The locations for the. A parallel array to opt_attribs letting you assign locations.
+ * @param {module:webgl-utils.ErrorCallback} opt_errorCallback callback for errors. By default it just prints an error to the console
+ * on error. If you want something else pass an callback. It's passed an error message.
+ * @return {WebGLProgram} The created program.
+ * @memberOf module:webgl-utils
+ */
+ function createProgramFromSources(
+ gl, shaderSources, opt_attribs, opt_locations, opt_errorCallback) {
+ const shaders = [];
+ for (let ii = 0; ii < shaderSources.length; ++ii) {
+ shaders.push(loadShader(
+ gl, shaderSources[ii], gl[defaultShaderType[ii]], opt_errorCallback));
+ }
+ return createProgram(gl, shaders, opt_attribs, opt_locations, opt_errorCallback);
+ }
+
+ /**
+ * Resize a canvas to match the size its displayed.
+ * @param {HTMLCanvasElement} canvas The canvas to resize.
+ * @param {number} [multiplier] amount to multiply by.
+ * Pass in window.devicePixelRatio for native pixels.
+ * @return {boolean} true if the canvas was resized.
+ * @memberOf module:webgl-utils
+ */
+ function resizeCanvasToDisplaySize(canvas, multiplier) {
+ multiplier = multiplier || 1;
+ const width = canvas.clientWidth * multiplier | 0;
+ const height = canvas.clientHeight * multiplier | 0;
+ if (canvas.width !== width || canvas.height !== height) {
+ canvas.width = width;
+ canvas.height = height;
+ return true;
+ }
+ return false;
+ }
+
+ return {
+ createProgram: createProgram,
+ createProgramFromScripts: createProgramFromScripts,
+ createProgramFromSources: createProgramFromSources,
+ resizeCanvasToDisplaySize: resizeCanvasToDisplaySize,
+ };
+
+}));
+
diff --git a/stores/settingsStore.ts b/stores/settingsStore.ts
new file mode 100644
index 0000000..e60202a
--- /dev/null
+++ b/stores/settingsStore.ts
@@ -0,0 +1,24 @@
+import { defineStore } from "pinia";
+
+enum CardStyles {
+ HERON = "heron",
+ ORIGINAL = "original"
+}
+
+export const useSettingsStore = defineStore("settingstore", {
+ state: () => ({
+ cardStyle: CardStyles.HERON,
+ shaderQuality: 0,
+ shaderFramerate: 10,
+ }),
+ actions: {
+ switchCardStyles() {
+ if (this.cardStyle === CardStyles.HERON) {
+ this.cardStyle = CardStyles.ORIGINAL
+ } else {
+ this.cardStyle = CardStyles.HERON
+ }
+ }
+ },
+ persist: true
+});