<!-- SOLUV · part 2 -->
body>
<!-- Playa: /soluv = the shared map of chat walls; /soluv/N = wall N; /soluv/room.html = the flat dense room. -->
<div id="soluv-world"></div>
<script type="module">
import { mountSoluvWorld } from "/soluv/world/world.js";
mountSoluvWorld(document.getElementById("soluv-world")).catch(e => {
  console.error("[soluv] world failed", e);
  const d = document.createElement("p"); d.style.cssText = "position:fixed;left:12px;right:12px;top:40%;color:#ff9a8f;font:17px sans-serif;text-align:center";
  d.innerHTML = "The world could not start: " + String(e && e.message || e).replace(/</g, "&lt;") + "<br><a style=\"color:#ffd98a;display:inline-block;min-height:48px;line-height:48px\" href=\"/soluv/room.html\">Open the flat room</a>";
  document.body.appendChild(d);
});
</script>
<script type="module" src="/soluv/world/soulprint-tower.js"></script>
</body></html>


===== FILE: public/soluv/13/index.html =====
<!doctype html>
<html lang="en"><head><meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,viewport-fit=cover">
<meta name="theme-color" content="#000000">
<link rel="icon" href="data:,"><title>Soluv: the shared world</title>
<link rel="modulepreload" href="/soluv/world/three.min.js"><link rel="modulepreload" href="/soluv/world/chat-wall.js">
<style>html,body{margin:0;height:100%;background:#000;overflow:hidden;overscroll-behavior:none}#soluv-world{position:fixed;inset:0}</style>
</head><body>
<!-- Playa: /soluv = the shared map of chat walls; /soluv/N = wall N; /soluv/room.html = the flat dense room. -->
<div id="soluv-world"></div>
<script type="module">
import { mountSoluvWorld } from "/soluv/world/world.js";
mountSoluvWorld(document.getElementById("soluv-world")).catch(e => {
  console.error("[soluv] world failed", e);
  const d = document.createElement("p"); d.style.cssText = "position:fixed;left:12px;right:12px;top:40%;color:#ff9a8f;font:17px sans-serif;text-align:center";
  d.innerHTML = "The world could not start: " + String(e && e.message || e).replace(/</g, "&lt;") + "<br><a style=\"color:#ffd98a;display:inline-block;min-height:48px;line-height:48px\" href=\"/soluv/room.html\">Open the flat room</a>";
  document.body.appendChild(d);
});
</script>
<script type="module" src="/soluv/world/soulprint-tower.js"></script>
</body></html>


===== FILE: public/soluv/14/index.html =====
<!doctype html>
<html lang="en"><head><meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,viewport-fit=cover">
<meta name="theme-color" content="#000000">
<link rel="icon" href="data:,"><title>Soluv: the shared world</title>
<link rel="modulepreload" href="/soluv/world/three.min.js"><link rel="modulepreload" href="/soluv/world/chat-wall.js">
<style>html,body{margin:0;height:100%;background:#000;overflow:hidden;overscroll-behavior:none}#soluv-world{position:fixed;inset:0}</style>
</head><body>
<!-- Playa: /soluv = the shared map of chat walls; /soluv/N = wall N; /soluv/room.html = the flat dense room. -->
<div id="soluv-world"></div>
<script type="module">
import { mountSoluvWorld } from "/soluv/world/world.js";
mountSoluvWorld(document.getElementById("soluv-world")).catch(e => {
  console.error("[soluv] world failed", e);
  const d = document.createElement("p"); d.style.cssText = "position:fixed;left:12px;right:12px;top:40%;color:#ff9a8f;font:17px sans-serif;text-align:center";
  d.innerHTML = "The world could not start: " + String(e && e.message || e).replace(/</g, "&lt;") + "<br><a style=\"color:#ffd98a;display:inline-block;min-height:48px;line-height:48px\" href=\"/soluv/room.html\">Open the flat room</a>";
  document.body.appendChild(d);
});
</script>
<script type="module" src="/soluv/world/soulprint-tower.js"></script>
</body></html>


===== FILE: public/soluv/15/index.html =====
<!doctype html>
<html lang="en"><head><meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,viewport-fit=cover">
<meta name="theme-color" content="#000000">
<link rel="icon" href="data:,"><title>Soluv: the shared world</title>
<link rel="modulepreload" href="/soluv/world/three.min.js"><link rel="modulepreload" href="/soluv/world/chat-wall.js">
<style>html,body{margin:0;height:100%;background:#000;overflow:hidden;overscroll-behavior:none}#soluv-world{position:fixed;inset:0}</style>
</head><body>
<!-- Playa: /soluv = the shared map of chat walls; /soluv/N = wall N; /soluv/room.html = the flat dense room. -->
<div id="soluv-world"></div>
<script type="module">
import { mountSoluvWorld } from "/soluv/world/world.js";
mountSoluvWorld(document.getElementById("soluv-world")).catch(e => {
  console.error("[soluv] world failed", e);
  const d = document.createElement("p"); d.style.cssText = "position:fixed;left:12px;right:12px;top:40%;color:#ff9a8f;font:17px sans-serif;text-align:center";
  d.innerHTML = "The world could not start: " + String(e && e.message || e).replace(/</g