diff --git a/index.html b/index.html
index d5fbca1..7fd051c 100644
--- a/index.html
+++ b/index.html
@@ -4,7 +4,7 @@
-
+
diff --git a/package.json b/package.json
index 892254a..20ff657 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "amerc-site",
- "version": "0.68.0-trim",
+ "version": "0.69.0-preload",
"private": true,
"type": "module",
"scripts": {
diff --git a/src/Scene2D.jsx b/src/Scene2D.jsx
index 38b9baa..ac0325c 100644
--- a/src/Scene2D.jsx
+++ b/src/Scene2D.jsx
@@ -7,7 +7,7 @@ import Account from './Account.jsx';
import TavernGame from './TavernGame.jsx';
import { api } from './api.js';
-const RELEASE = '0.68.0-trim';
+const RELEASE = '0.69.0-preload';
const NAV = [
{ id: 'home', label: 'Tavern' },
diff --git a/src/main.jsx b/src/main.jsx
index 43c96ca..10f9e01 100644
--- a/src/main.jsx
+++ b/src/main.jsx
@@ -12,6 +12,15 @@ let App = Scene2DApp;
if (host.startsWith('docs.')) App = DocsApp;
else if (host.startsWith('pm.')) App = PmApp;
+// Preload the tavern's canvas tiles on the main domain so the scene paints as
+// soon as the app mounts — they download in parallel with the JS chunk instead
+// of only after TavernGame runs. Not needed on docs/pm.
+if (App === Scene2DApp) {
+ for (const n of ['inside', 'castlefloors', 'victoria', 'barrel', 'princess', 'soldier', 'soldier_altcolor']) {
+ const im = new Image(); im.src = `/scene2d/lpc/${n}.png`;
+ }
+}
+
// Catch render errors so a single bad component can't blank the whole app.
class ErrorBoundary extends React.Component {
constructor(props) { super(props); this.state = { error: null }; }