diff --git a/packages/web/public/tokens-svg b/packages/web/public/tokens-svg
deleted file mode 120000
index 323c669..0000000
--- a/packages/web/public/tokens-svg
+++ /dev/null
@@ -1 +0,0 @@
-../../../research/tokens-svg
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/alter-ego.svg b/packages/web/public/tokens-svg/alter-ego.svg
new file mode 100644
index 0000000..dc5ec77
--- /dev/null
+++ b/packages/web/public/tokens-svg/alter-ego.svg
@@ -0,0 +1,12 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/boobytrap.svg b/packages/web/public/tokens-svg/boobytrap.svg
new file mode 100644
index 0000000..9e27e1b
--- /dev/null
+++ b/packages/web/public/tokens-svg/boobytrap.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/dagger.svg b/packages/web/public/tokens-svg/dagger.svg
new file mode 100644
index 0000000..5d967c8
--- /dev/null
+++ b/packages/web/public/tokens-svg/dagger.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/democratic-monster.svg b/packages/web/public/tokens-svg/democratic-monster.svg
new file mode 100644
index 0000000..abb5c1f
--- /dev/null
+++ b/packages/web/public/tokens-svg/democratic-monster.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/destroy-wall.svg b/packages/web/public/tokens-svg/destroy-wall.svg
new file mode 100644
index 0000000..3166b48
--- /dev/null
+++ b/packages/web/public/tokens-svg/destroy-wall.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/dimensional-warp.svg b/packages/web/public/tokens-svg/dimensional-warp.svg
new file mode 100644
index 0000000..a1c431a
--- /dev/null
+++ b/packages/web/public/tokens-svg/dimensional-warp.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/door.svg b/packages/web/public/tokens-svg/door.svg
new file mode 100644
index 0000000..f7a086e
--- /dev/null
+++ b/packages/web/public/tokens-svg/door.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/dustcloud.svg b/packages/web/public/tokens-svg/dustcloud.svg
new file mode 100644
index 0000000..1c64977
--- /dev/null
+++ b/packages/web/public/tokens-svg/dustcloud.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/fire-imp.svg b/packages/web/public/tokens-svg/fire-imp.svg
new file mode 100644
index 0000000..4a134d1
--- /dev/null
+++ b/packages/web/public/tokens-svg/fire-imp.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/fire-wall.svg b/packages/web/public/tokens-svg/fire-wall.svg
new file mode 100644
index 0000000..92a9d30
--- /dev/null
+++ b/packages/web/public/tokens-svg/fire-wall.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/illusion-wall.svg b/packages/web/public/tokens-svg/illusion-wall.svg
new file mode 100644
index 0000000..9f13e87
--- /dev/null
+++ b/packages/web/public/tokens-svg/illusion-wall.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/jam-lock.svg b/packages/web/public/tokens-svg/jam-lock.svg
new file mode 100644
index 0000000..f78c2a0
--- /dev/null
+++ b/packages/web/public/tokens-svg/jam-lock.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/killer-ooze.svg b/packages/web/public/tokens-svg/killer-ooze.svg
new file mode 100644
index 0000000..9190751
--- /dev/null
+++ b/packages/web/public/tokens-svg/killer-ooze.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/lock-gone.svg b/packages/web/public/tokens-svg/lock-gone.svg
new file mode 100644
index 0000000..1174220
--- /dev/null
+++ b/packages/web/public/tokens-svg/lock-gone.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/magic-stone.svg b/packages/web/public/tokens-svg/magic-stone.svg
new file mode 100644
index 0000000..6c5d574
--- /dev/null
+++ b/packages/web/public/tokens-svg/magic-stone.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/magic-wand.svg b/packages/web/public/tokens-svg/magic-wand.svg
new file mode 100644
index 0000000..0d57418
--- /dev/null
+++ b/packages/web/public/tokens-svg/magic-wand.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/master-key.svg b/packages/web/public/tokens-svg/master-key.svg
new file mode 100644
index 0000000..b7834f1
--- /dev/null
+++ b/packages/web/public/tokens-svg/master-key.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/pit.svg b/packages/web/public/tokens-svg/pit.svg
new file mode 100644
index 0000000..e3ca776
--- /dev/null
+++ b/packages/web/public/tokens-svg/pit.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/redirection-a.svg b/packages/web/public/tokens-svg/redirection-a.svg
new file mode 100644
index 0000000..78abd84
--- /dev/null
+++ b/packages/web/public/tokens-svg/redirection-a.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/redirection-b.svg b/packages/web/public/tokens-svg/redirection-b.svg
new file mode 100644
index 0000000..ebcda92
--- /dev/null
+++ b/packages/web/public/tokens-svg/redirection-b.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/rock.svg b/packages/web/public/tokens-svg/rock.svg
new file mode 100644
index 0000000..d521cde
--- /dev/null
+++ b/packages/web/public/tokens-svg/rock.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/rosebush.svg b/packages/web/public/tokens-svg/rosebush.svg
new file mode 100644
index 0000000..a61759f
--- /dev/null
+++ b/packages/web/public/tokens-svg/rosebush.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/safe.svg b/packages/web/public/tokens-svg/safe.svg
new file mode 100644
index 0000000..3d79fca
--- /dev/null
+++ b/packages/web/public/tokens-svg/safe.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/shadow.svg b/packages/web/public/tokens-svg/shadow.svg
new file mode 100644
index 0000000..7fe1bba
--- /dev/null
+++ b/packages/web/public/tokens-svg/shadow.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/skeleton.svg b/packages/web/public/tokens-svg/skeleton.svg
new file mode 100644
index 0000000..b59bb68
--- /dev/null
+++ b/packages/web/public/tokens-svg/skeleton.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/slime.svg b/packages/web/public/tokens-svg/slime.svg
new file mode 100644
index 0000000..8448677
--- /dev/null
+++ b/packages/web/public/tokens-svg/slime.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/solid-stone.svg b/packages/web/public/tokens-svg/solid-stone.svg
new file mode 100644
index 0000000..c2b426a
--- /dev/null
+++ b/packages/web/public/tokens-svg/solid-stone.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/tacks.svg b/packages/web/public/tokens-svg/tacks.svg
new file mode 100644
index 0000000..a0311c1
--- /dev/null
+++ b/packages/web/public/tokens-svg/tacks.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/thorn-bush.svg b/packages/web/public/tokens-svg/thorn-bush.svg
new file mode 100644
index 0000000..c2b0b5d
--- /dev/null
+++ b/packages/web/public/tokens-svg/thorn-bush.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/treasure-0.svg b/packages/web/public/tokens-svg/treasure-0.svg
new file mode 100644
index 0000000..a824286
--- /dev/null
+++ b/packages/web/public/tokens-svg/treasure-0.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/treasure-1.svg b/packages/web/public/tokens-svg/treasure-1.svg
new file mode 100644
index 0000000..d1bf758
--- /dev/null
+++ b/packages/web/public/tokens-svg/treasure-1.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/treasure-2.svg b/packages/web/public/tokens-svg/treasure-2.svg
new file mode 100644
index 0000000..8085ba7
--- /dev/null
+++ b/packages/web/public/tokens-svg/treasure-2.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/treasure-3.svg b/packages/web/public/tokens-svg/treasure-3.svg
new file mode 100644
index 0000000..7a98c3d
--- /dev/null
+++ b/packages/web/public/tokens-svg/treasure-3.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/treasure-4.svg b/packages/web/public/tokens-svg/treasure-4.svg
new file mode 100644
index 0000000..da11335
--- /dev/null
+++ b/packages/web/public/tokens-svg/treasure-4.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/treasure-5.svg b/packages/web/public/tokens-svg/treasure-5.svg
new file mode 100644
index 0000000..778f44b
--- /dev/null
+++ b/packages/web/public/tokens-svg/treasure-5.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/troll.svg b/packages/web/public/tokens-svg/troll.svg
new file mode 100644
index 0000000..3c0a614
--- /dev/null
+++ b/packages/web/public/tokens-svg/troll.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/wall-2.svg b/packages/web/public/tokens-svg/wall-2.svg
new file mode 100644
index 0000000..1520ea2
--- /dev/null
+++ b/packages/web/public/tokens-svg/wall-2.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/wall.svg b/packages/web/public/tokens-svg/wall.svg
new file mode 100644
index 0000000..21002cc
--- /dev/null
+++ b/packages/web/public/tokens-svg/wall.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/wizard-0.svg b/packages/web/public/tokens-svg/wizard-0.svg
new file mode 100644
index 0000000..6954220
--- /dev/null
+++ b/packages/web/public/tokens-svg/wizard-0.svg
@@ -0,0 +1,14 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/wizard-1.svg b/packages/web/public/tokens-svg/wizard-1.svg
new file mode 100644
index 0000000..35ecf6c
--- /dev/null
+++ b/packages/web/public/tokens-svg/wizard-1.svg
@@ -0,0 +1,14 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/wizard-2.svg b/packages/web/public/tokens-svg/wizard-2.svg
new file mode 100644
index 0000000..5dcc7ed
--- /dev/null
+++ b/packages/web/public/tokens-svg/wizard-2.svg
@@ -0,0 +1,14 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/wizard-3.svg b/packages/web/public/tokens-svg/wizard-3.svg
new file mode 100644
index 0000000..7819353
--- /dev/null
+++ b/packages/web/public/tokens-svg/wizard-3.svg
@@ -0,0 +1,14 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/wizard-4.svg b/packages/web/public/tokens-svg/wizard-4.svg
new file mode 100644
index 0000000..4ec3fa1
--- /dev/null
+++ b/packages/web/public/tokens-svg/wizard-4.svg
@@ -0,0 +1,14 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/wizard-5.svg b/packages/web/public/tokens-svg/wizard-5.svg
new file mode 100644
index 0000000..dad0753
--- /dev/null
+++ b/packages/web/public/tokens-svg/wizard-5.svg
@@ -0,0 +1,14 @@
+
\ No newline at end of file
diff --git a/packages/web/public/tokens-svg/wraith.svg b/packages/web/public/tokens-svg/wraith.svg
new file mode 100644
index 0000000..e7d4ebe
--- /dev/null
+++ b/packages/web/public/tokens-svg/wraith.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/packages/web/src/art.ts b/packages/web/src/art.ts
index a79159a..19b485e 100644
--- a/packages/web/src/art.ts
+++ b/packages/web/src/art.ts
@@ -1,7 +1,7 @@
// The art workshop's side door (deliberately undocumented): query params
// like ?svgPlayers=true&svgTerrain=true swap token categories to the
-// hand-drawn SVG set. public/tokens-svg symlinks research/tokens-svg, so
-// under `npm run dev` an edit to the source art shows on refresh.
+// hand-drawn SVG set in public/tokens-svg. Under `npm run dev`, editing
+// those files shows on the next refresh.
export type ArtCategory = "players" | "creatures" | "terrain" | "objects";
const q = new URLSearchParams(typeof location === "undefined" ? "" : location.search);