create-spud 0.1.6 → 0.1.8
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.
- package/example/bun.lock +46 -42
- package/example/index.html +2 -0
- package/example/package.json +3 -3
- package/example/src/canvas.ts +0 -6
- package/example/src/gameplay.ts +13 -9
- package/index.ts +1 -1
- package/package.json +1 -1
package/example/bun.lock
CHANGED
|
@@ -5,23 +5,23 @@
|
|
|
5
5
|
"": {
|
|
6
6
|
"name": "spud-game-template",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@spud.gg/api": "0.0.
|
|
8
|
+
"@spud.gg/api": "0.0.28",
|
|
9
9
|
},
|
|
10
10
|
"devDependencies": {
|
|
11
11
|
"sharp": "0.34.5",
|
|
12
|
-
"svgo": "4.0.
|
|
12
|
+
"svgo": "4.0.1",
|
|
13
13
|
"typescript": "^5",
|
|
14
|
-
"vite": "8.0.
|
|
14
|
+
"vite": "8.0.13",
|
|
15
15
|
"vite-plugin-image-optimizer": "2.0.3",
|
|
16
16
|
},
|
|
17
17
|
},
|
|
18
18
|
},
|
|
19
19
|
"packages": {
|
|
20
|
-
"@emnapi/core": ["@emnapi/core@1.
|
|
20
|
+
"@emnapi/core": ["@emnapi/core@1.10.0", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.1", "tslib": "^2.4.0" } }, "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw=="],
|
|
21
21
|
|
|
22
22
|
"@emnapi/runtime": ["@emnapi/runtime@1.8.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg=="],
|
|
23
23
|
|
|
24
|
-
"@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.1
|
|
24
|
+
"@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w=="],
|
|
25
25
|
|
|
26
26
|
"@img/colour": ["@img/colour@1.0.0", "", {}, "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw=="],
|
|
27
27
|
|
|
@@ -73,41 +73,43 @@
|
|
|
73
73
|
|
|
74
74
|
"@img/sharp-win32-x64": ["@img/sharp-win32-x64@0.34.5", "", { "os": "win32", "cpu": "x64" }, "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw=="],
|
|
75
75
|
|
|
76
|
-
"@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.1.
|
|
76
|
+
"@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.1.4", "", { "dependencies": { "@tybys/wasm-util": "^0.10.1" }, "peerDependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1" } }, "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow=="],
|
|
77
77
|
|
|
78
|
-
"@oxc-project/
|
|
78
|
+
"@oxc-project/types": ["@oxc-project/types@0.130.0", "", {}, "sha512-ibD2usx9JRu7f5pu2tMKMI4cpA4NgXJQoYRP4pQ7Pxmn1l6k/53qWtQWZayhYy3X4QZkt90Ot+mJEaeXouio6Q=="],
|
|
79
79
|
|
|
80
|
-
"@
|
|
80
|
+
"@rolldown/binding-android-arm64": ["@rolldown/binding-android-arm64@1.0.1", "", { "os": "android", "cpu": "arm64" }, "sha512-fJI3I0r3C3Oj/zdBCpaCmBRZYf07xpaq4yCfDDoSFm+beWNzbIl26puW8RraUdugoJw/95zerNOn6jasAhzSmg=="],
|
|
81
81
|
|
|
82
|
-
"@rolldown/binding-
|
|
82
|
+
"@rolldown/binding-darwin-arm64": ["@rolldown/binding-darwin-arm64@1.0.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-cKnAhWEsV7TPcA/5EAteDp6KcJZBQ2G+BqE7zayMMi7kMvwRsbv7WT9aOnn0WNl4SKEIf43vjS31iUPu80nzXg=="],
|
|
83
83
|
|
|
84
|
-
"@rolldown/binding-darwin-
|
|
84
|
+
"@rolldown/binding-darwin-x64": ["@rolldown/binding-darwin-x64@1.0.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-YKrVwQjIRBPo+5G/u03wGjbdy4q7pyzCe93DK9VJ7zkVmeg8LJ7GbgsiHWdR4xSoe4CAXRD7Bcjgbtr64bkXNg=="],
|
|
85
85
|
|
|
86
|
-
"@rolldown/binding-
|
|
86
|
+
"@rolldown/binding-freebsd-x64": ["@rolldown/binding-freebsd-x64@1.0.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-z/oBsREo46SsFqBwYtFe0kpJeBijAT48O/WXLI4suiCLBkr03RTtTJMCzSdDd2znlh8VJizL09XVkQgk8IZonw=="],
|
|
87
87
|
|
|
88
|
-
"@rolldown/binding-
|
|
88
|
+
"@rolldown/binding-linux-arm-gnueabihf": ["@rolldown/binding-linux-arm-gnueabihf@1.0.1", "", { "os": "linux", "cpu": "arm" }, "sha512-ik8q7GM11zxvYxFc2PeDcT6TBvhCQMaUxfph/M5l9sKuTs/Sjg3L+Byw0F7w0ZVLBZmx30P+gG0ECzzN+MFcmQ=="],
|
|
89
89
|
|
|
90
|
-
"@rolldown/binding-linux-
|
|
90
|
+
"@rolldown/binding-linux-arm64-gnu": ["@rolldown/binding-linux-arm64-gnu@1.0.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-QoSx2EkyrrdZ6kcyE8stqZ62t0Yra8Fs5ia9lOxJrh6TMQJK7gQKmscdTHf7pOXKREKrVwOtJcQG3qVSfc866A=="],
|
|
91
91
|
|
|
92
|
-
"@rolldown/binding-linux-arm64-
|
|
92
|
+
"@rolldown/binding-linux-arm64-musl": ["@rolldown/binding-linux-arm64-musl@1.0.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-uwNwFpwKeNiZawfAWBgg0VIztPTV3ihhh1vV334h9ivnNLorxnQMU6Fz8wG1Zb4Qh9LC1/MkcyT3YlDXG3Rsgg=="],
|
|
93
93
|
|
|
94
|
-
"@rolldown/binding-linux-
|
|
94
|
+
"@rolldown/binding-linux-ppc64-gnu": ["@rolldown/binding-linux-ppc64-gnu@1.0.1", "", { "os": "linux", "cpu": "ppc64" }, "sha512-zY1bul7OWr7DFBiJ++wofXvnr8B45ce3QsQUhKrIhXsygAh7bTkwyeM1bi1a2g5C/yC/N8TZyGDEoMfm/l9mpg=="],
|
|
95
95
|
|
|
96
|
-
"@rolldown/binding-linux-
|
|
96
|
+
"@rolldown/binding-linux-s390x-gnu": ["@rolldown/binding-linux-s390x-gnu@1.0.1", "", { "os": "linux", "cpu": "s390x" }, "sha512-0frlsT/f4Ft6I7SMESTKnF3cZsdicQn1dCMkF/jT9wDLE+gGoiQfv1nmT9e+s7s/fekvvy6tZM2jHvI2tkbJDQ=="],
|
|
97
97
|
|
|
98
|
-
"@rolldown/binding-linux-x64-
|
|
98
|
+
"@rolldown/binding-linux-x64-gnu": ["@rolldown/binding-linux-x64-gnu@1.0.1", "", { "os": "linux", "cpu": "x64" }, "sha512-XABVmGp9Tg0WspTVvwduTc4fpqy6JnAUrSQe6OuyqD/03nI7r0O9OWUkMIwFrjKAIqolvqoA4ZrJppgwE0Gxmw=="],
|
|
99
99
|
|
|
100
|
-
"@rolldown/binding-
|
|
100
|
+
"@rolldown/binding-linux-x64-musl": ["@rolldown/binding-linux-x64-musl@1.0.1", "", { "os": "linux", "cpu": "x64" }, "sha512-bV4fzswuzVcKD90o/VM6QqKxnxlDq0g2BISDLNVmxrnhpv1DDbyPhCIjYfvzYLV+MvkKKnQt2Q6AO86SEBULUQ=="],
|
|
101
101
|
|
|
102
|
-
"@rolldown/binding-
|
|
102
|
+
"@rolldown/binding-openharmony-arm64": ["@rolldown/binding-openharmony-arm64@1.0.1", "", { "os": "none", "cpu": "arm64" }, "sha512-/Mh0Zhq3OP7fVs0kcQHZP6lZEthMGTaSf8UBQYSFEZDWGXXlEC+nJ6EqenaK2t4LBXMe3A+K/G2BVXXdtOr4PQ=="],
|
|
103
103
|
|
|
104
|
-
"@rolldown/binding-
|
|
104
|
+
"@rolldown/binding-wasm32-wasi": ["@rolldown/binding-wasm32-wasi@1.0.1", "", { "dependencies": { "@emnapi/core": "1.10.0", "@emnapi/runtime": "1.10.0", "@napi-rs/wasm-runtime": "^1.1.4" }, "cpu": "none" }, "sha512-+1xc9X45l8ufsBAm6Gjvx2qDRIY9lTVt0cgWNcJ+1gdhXvkbxePA60yRTwSTuXL09CMhyJmjpV7E3NoyxbqFQQ=="],
|
|
105
105
|
|
|
106
|
-
"@rolldown/binding-win32-
|
|
106
|
+
"@rolldown/binding-win32-arm64-msvc": ["@rolldown/binding-win32-arm64-msvc@1.0.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-1D+UqZdfnuR+Jy1GgMJwi85bD40H21uNmOPRWQhw4oRSuolZ/B5rixZ45DK2KXOTCvmVCecauWgEhbw8bI7tOw=="],
|
|
107
107
|
|
|
108
|
-
"@rolldown/
|
|
108
|
+
"@rolldown/binding-win32-x64-msvc": ["@rolldown/binding-win32-x64-msvc@1.0.1", "", { "os": "win32", "cpu": "x64" }, "sha512-INAycaWuhlOK3wk4mRHGsdgwYWmd9cChdPdE9bwWmy6rn9VqVNYNFGhOdXrofXUxwHIncSiPNb8tNm8knDVIeQ=="],
|
|
109
109
|
|
|
110
|
-
"@
|
|
110
|
+
"@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.1", "", {}, "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw=="],
|
|
111
|
+
|
|
112
|
+
"@spud.gg/api": ["@spud.gg/api@0.0.28", "", {}, "sha512-5062yi0qBL1kKpkv3Izq1DATeIanc0TQD3VBWAbgdpCT9o2/M0xsgpMgM6KxikuUzxd4RHDd6FrmaxdZ1Y3N5g=="],
|
|
111
113
|
|
|
112
114
|
"@tybys/wasm-util": ["@tybys/wasm-util@0.10.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg=="],
|
|
113
115
|
|
|
@@ -141,29 +143,29 @@
|
|
|
141
143
|
|
|
142
144
|
"fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="],
|
|
143
145
|
|
|
144
|
-
"lightningcss": ["lightningcss@1.
|
|
146
|
+
"lightningcss": ["lightningcss@1.32.0", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-android-arm64": "1.32.0", "lightningcss-darwin-arm64": "1.32.0", "lightningcss-darwin-x64": "1.32.0", "lightningcss-freebsd-x64": "1.32.0", "lightningcss-linux-arm-gnueabihf": "1.32.0", "lightningcss-linux-arm64-gnu": "1.32.0", "lightningcss-linux-arm64-musl": "1.32.0", "lightningcss-linux-x64-gnu": "1.32.0", "lightningcss-linux-x64-musl": "1.32.0", "lightningcss-win32-arm64-msvc": "1.32.0", "lightningcss-win32-x64-msvc": "1.32.0" } }, "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ=="],
|
|
145
147
|
|
|
146
|
-
"lightningcss-android-arm64": ["lightningcss-android-arm64@1.
|
|
148
|
+
"lightningcss-android-arm64": ["lightningcss-android-arm64@1.32.0", "", { "os": "android", "cpu": "arm64" }, "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg=="],
|
|
147
149
|
|
|
148
|
-
"lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.
|
|
150
|
+
"lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.32.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ=="],
|
|
149
151
|
|
|
150
|
-
"lightningcss-darwin-x64": ["lightningcss-darwin-x64@1.
|
|
152
|
+
"lightningcss-darwin-x64": ["lightningcss-darwin-x64@1.32.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w=="],
|
|
151
153
|
|
|
152
|
-
"lightningcss-freebsd-x64": ["lightningcss-freebsd-x64@1.
|
|
154
|
+
"lightningcss-freebsd-x64": ["lightningcss-freebsd-x64@1.32.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig=="],
|
|
153
155
|
|
|
154
|
-
"lightningcss-linux-arm-gnueabihf": ["lightningcss-linux-arm-gnueabihf@1.
|
|
156
|
+
"lightningcss-linux-arm-gnueabihf": ["lightningcss-linux-arm-gnueabihf@1.32.0", "", { "os": "linux", "cpu": "arm" }, "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw=="],
|
|
155
157
|
|
|
156
|
-
"lightningcss-linux-arm64-gnu": ["lightningcss-linux-arm64-gnu@1.
|
|
158
|
+
"lightningcss-linux-arm64-gnu": ["lightningcss-linux-arm64-gnu@1.32.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ=="],
|
|
157
159
|
|
|
158
|
-
"lightningcss-linux-arm64-musl": ["lightningcss-linux-arm64-musl@1.
|
|
160
|
+
"lightningcss-linux-arm64-musl": ["lightningcss-linux-arm64-musl@1.32.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg=="],
|
|
159
161
|
|
|
160
|
-
"lightningcss-linux-x64-gnu": ["lightningcss-linux-x64-gnu@1.
|
|
162
|
+
"lightningcss-linux-x64-gnu": ["lightningcss-linux-x64-gnu@1.32.0", "", { "os": "linux", "cpu": "x64" }, "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA=="],
|
|
161
163
|
|
|
162
|
-
"lightningcss-linux-x64-musl": ["lightningcss-linux-x64-musl@1.
|
|
164
|
+
"lightningcss-linux-x64-musl": ["lightningcss-linux-x64-musl@1.32.0", "", { "os": "linux", "cpu": "x64" }, "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg=="],
|
|
163
165
|
|
|
164
|
-
"lightningcss-win32-arm64-msvc": ["lightningcss-win32-arm64-msvc@1.
|
|
166
|
+
"lightningcss-win32-arm64-msvc": ["lightningcss-win32-arm64-msvc@1.32.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw=="],
|
|
165
167
|
|
|
166
|
-
"lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.
|
|
168
|
+
"lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.32.0", "", { "os": "win32", "cpu": "x64" }, "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q=="],
|
|
167
169
|
|
|
168
170
|
"mdn-data": ["mdn-data@2.12.2", "", {}, "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA=="],
|
|
169
171
|
|
|
@@ -175,13 +177,13 @@
|
|
|
175
177
|
|
|
176
178
|
"picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="],
|
|
177
179
|
|
|
178
|
-
"picomatch": ["picomatch@4.0.
|
|
180
|
+
"picomatch": ["picomatch@4.0.4", "", {}, "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A=="],
|
|
179
181
|
|
|
180
|
-
"postcss": ["postcss@8.5.
|
|
182
|
+
"postcss": ["postcss@8.5.14", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg=="],
|
|
181
183
|
|
|
182
|
-
"rolldown": ["rolldown@1.0.
|
|
184
|
+
"rolldown": ["rolldown@1.0.1", "", { "dependencies": { "@oxc-project/types": "=0.130.0", "@rolldown/pluginutils": "^1.0.0" }, "optionalDependencies": { "@rolldown/binding-android-arm64": "1.0.1", "@rolldown/binding-darwin-arm64": "1.0.1", "@rolldown/binding-darwin-x64": "1.0.1", "@rolldown/binding-freebsd-x64": "1.0.1", "@rolldown/binding-linux-arm-gnueabihf": "1.0.1", "@rolldown/binding-linux-arm64-gnu": "1.0.1", "@rolldown/binding-linux-arm64-musl": "1.0.1", "@rolldown/binding-linux-ppc64-gnu": "1.0.1", "@rolldown/binding-linux-s390x-gnu": "1.0.1", "@rolldown/binding-linux-x64-gnu": "1.0.1", "@rolldown/binding-linux-x64-musl": "1.0.1", "@rolldown/binding-openharmony-arm64": "1.0.1", "@rolldown/binding-wasm32-wasi": "1.0.1", "@rolldown/binding-win32-arm64-msvc": "1.0.1", "@rolldown/binding-win32-x64-msvc": "1.0.1" }, "bin": { "rolldown": "bin/cli.mjs" } }, "sha512-X0KQHljNnEkWNqqiz9zJrGunh1B0HgOxLXvnFpCOcadzcy5qohZ3tqMEUg00vncoRovXuK3ZqCT9KnnKzoInFQ=="],
|
|
183
185
|
|
|
184
|
-
"sax": ["sax@1.
|
|
186
|
+
"sax": ["sax@1.6.0", "", {}, "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA=="],
|
|
185
187
|
|
|
186
188
|
"semver": ["semver@7.7.3", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q=="],
|
|
187
189
|
|
|
@@ -189,18 +191,20 @@
|
|
|
189
191
|
|
|
190
192
|
"source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="],
|
|
191
193
|
|
|
192
|
-
"svgo": ["svgo@4.0.
|
|
194
|
+
"svgo": ["svgo@4.0.1", "", { "dependencies": { "commander": "^11.1.0", "css-select": "^5.1.0", "css-tree": "^3.0.1", "css-what": "^6.1.0", "csso": "^5.0.5", "picocolors": "^1.1.1", "sax": "^1.5.0" }, "bin": "./bin/svgo.js" }, "sha512-XDpWUOPC6FEibaLzjfe0ucaV0YrOjYotGJO1WpF0Zd+n6ZGEQUsSugaoLq9QkEZtAfQIxT42UChcssDVPP3+/w=="],
|
|
193
195
|
|
|
194
|
-
"tinyglobby": ["tinyglobby@0.2.
|
|
196
|
+
"tinyglobby": ["tinyglobby@0.2.16", "", { "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.4" } }, "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg=="],
|
|
195
197
|
|
|
196
198
|
"tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="],
|
|
197
199
|
|
|
198
200
|
"typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="],
|
|
199
201
|
|
|
200
|
-
"vite": ["vite@8.0.
|
|
202
|
+
"vite": ["vite@8.0.13", "", { "dependencies": { "lightningcss": "^1.32.0", "picomatch": "^4.0.4", "postcss": "^8.5.14", "rolldown": "1.0.1", "tinyglobby": "^0.2.16" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "@vitejs/devtools": "^0.1.18", "esbuild": "^0.27.0 || ^0.28.0", "jiti": ">=1.21.0", "less": "^4.0.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "@vitejs/devtools", "esbuild", "jiti", "less", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-MFtjBYgzmSxmgA4RAfjIyXWpGe1oALnjgUTzzV7QLx/TKxCzjtMH6Fd9/eVK+5Fg1qNoz5VAwsmMs/NofrmJvw=="],
|
|
201
203
|
|
|
202
204
|
"vite-plugin-image-optimizer": ["vite-plugin-image-optimizer@2.0.3", "", { "dependencies": { "ansi-colors": "^4.1.3", "pathe": "^2.0.3" }, "peerDependencies": { "sharp": ">=0.34.0", "svgo": ">=4", "vite": ">=5" }, "optionalPeers": ["sharp", "svgo"] }, "sha512-1vrFOTcpSvv6DCY7h8UXab4wqMAjTJB/ndOzG/Kmj1oDOuPF6mbjkNQoGzzCEYeWGe7qU93jc8oQqvoJ57al3A=="],
|
|
203
205
|
|
|
206
|
+
"@rolldown/binding-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.10.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA=="],
|
|
207
|
+
|
|
204
208
|
"csso/css-tree": ["css-tree@2.2.1", "", { "dependencies": { "mdn-data": "2.0.28", "source-map-js": "^1.0.1" } }, "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA=="],
|
|
205
209
|
|
|
206
210
|
"csso/css-tree/mdn-data": ["mdn-data@2.0.28", "", {}, "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g=="],
|
package/example/index.html
CHANGED
package/example/package.json
CHANGED
|
@@ -9,13 +9,13 @@
|
|
|
9
9
|
"preview": "vite preview"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@spud.gg/api": "0.0.
|
|
12
|
+
"@spud.gg/api": "0.0.28"
|
|
13
13
|
},
|
|
14
14
|
"devDependencies": {
|
|
15
15
|
"sharp": "0.34.5",
|
|
16
|
-
"svgo": "4.0.
|
|
16
|
+
"svgo": "4.0.1",
|
|
17
17
|
"typescript": "^5",
|
|
18
|
-
"vite": "8.0.
|
|
18
|
+
"vite": "8.0.13",
|
|
19
19
|
"vite-plugin-image-optimizer": "2.0.3"
|
|
20
20
|
}
|
|
21
21
|
}
|
package/example/src/canvas.ts
CHANGED
|
@@ -10,10 +10,6 @@ type Bounds = ReturnType<typeof createBounds>;
|
|
|
10
10
|
and then setting a matching transform so that the drawing coords
|
|
11
11
|
can stay in CSS pixels.
|
|
12
12
|
|
|
13
|
-
`bounds` is mutated in place and kept in sync with the canvas via a
|
|
14
|
-
ResizeObserver, so it's cheap to read bounds.width/height from your
|
|
15
|
-
update and draw functions.
|
|
16
|
-
|
|
17
13
|
see also: https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Optimizing_canvas
|
|
18
14
|
*/
|
|
19
15
|
export function scaleAndObserveCanvasSize(ctx: CanvasRenderingContext2D, bounds: Bounds) {
|
|
@@ -25,8 +21,6 @@ export function scaleAndObserveCanvasSize(ctx: CanvasRenderingContext2D, bounds:
|
|
|
25
21
|
|
|
26
22
|
canvas.width = width * dpr;
|
|
27
23
|
canvas.height = height * dpr;
|
|
28
|
-
canvas.style.width = `${width}px`;
|
|
29
|
-
canvas.style.height = `${height}px`;
|
|
30
24
|
ctx.setTransform(dpr, 0, 0, dpr, 0, 0);
|
|
31
25
|
|
|
32
26
|
bounds.x = x;
|
package/example/src/gameplay.ts
CHANGED
|
@@ -1,21 +1,24 @@
|
|
|
1
|
-
import { Button, gamepads } from "@spud.gg/api";
|
|
1
|
+
import { Button, gamepads, keyboard } from "@spud.gg/api";
|
|
2
2
|
import type { State } from "./state";
|
|
3
3
|
/* moon_sprite_import */
|
|
4
4
|
/* audio_import */
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
function justFired() {
|
|
7
|
+
const pressedTrigger = gamepads.anyPlayer.justPressed(Button.RightTrigger);
|
|
8
|
+
return pressedTrigger || keyboard.justPressed("Enter");
|
|
9
|
+
}
|
|
10
|
+
|
|
11
11
|
export function update(state: State, dt: number) {
|
|
12
|
+
// handle inputs and update state here
|
|
12
13
|
state.elapsedSeconds += dt;
|
|
13
|
-
|
|
14
|
+
|
|
15
|
+
if (justFired()) {
|
|
14
16
|
/* audio_shoot_sfx */
|
|
15
17
|
}
|
|
16
18
|
|
|
17
|
-
// handle any post-update cleanup below
|
|
19
|
+
// handle any post-update cleanup below
|
|
18
20
|
gamepads.clearInputs();
|
|
21
|
+
keyboard.clearInputs();
|
|
19
22
|
}
|
|
20
23
|
|
|
21
24
|
export function render(state: State, ctx: CanvasRenderingContext2D) {
|
|
@@ -26,6 +29,7 @@ export function render(state: State, ctx: CanvasRenderingContext2D) {
|
|
|
26
29
|
// clear out the background
|
|
27
30
|
ctx.fillStyle = "#0b0d1a";
|
|
28
31
|
ctx.fillRect(0, 0, width, height);
|
|
32
|
+
ctx.fillStyle = "white";
|
|
29
33
|
|
|
30
34
|
// draw an orbiting circle
|
|
31
35
|
const moon = {
|
|
@@ -38,10 +42,10 @@ export function render(state: State, ctx: CanvasRenderingContext2D) {
|
|
|
38
42
|
return centerY + Math.sin(state.elapsedSeconds) * moon.orbitRadius;
|
|
39
43
|
},
|
|
40
44
|
};
|
|
45
|
+
|
|
41
46
|
/* moon_sprite_draw */
|
|
42
47
|
|
|
43
48
|
// write some text
|
|
44
|
-
ctx.fillStyle = "white";
|
|
45
49
|
ctx.textAlign = "center";
|
|
46
50
|
ctx.textBaseline = "middle";
|
|
47
51
|
/* fonts_ctx_font */
|
package/index.ts
CHANGED