diff --git a/Cargo.lock b/Cargo.lock
index b0aeb45..cde32db 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -46,6 +46,18 @@ dependencies = [
  "zerocopy 0.7.35",
 ]
 
+[[package]]
+name = "ahash_macro"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e73c78bacfd5857793b9b6813ab94605bb1699de9915f3285472f6633748e773"
+dependencies = [
+ "ahash",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.100",
+]
+
 [[package]]
 name = "aho-corasick"
 version = "1.1.3"
@@ -61,6 +73,12 @@ version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4aa90d7ce82d4be67b64039a3d588d38dbcc6736577de4a847025ce5b0c468d1"
 
+[[package]]
+name = "allocator-api2"
+version = "0.2.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923"
+
 [[package]]
 name = "android-activity"
 version = "0.6.0"
@@ -1251,12 +1269,27 @@ dependencies = [
  "num-traits",
 ]
 
+[[package]]
+name = "hash_str"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "deb4f3e9ad2b19e6290ea4c648770a69ac4687c692a2a6175aaef2a398552da4"
+dependencies = [
+ "ahash",
+ "ahash_macro",
+ "bumpalo",
+ "hashbrown",
+ "serde",
+]
+
 [[package]]
 name = "hashbrown"
 version = "0.15.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289"
 dependencies = [
+ "allocator-api2",
+ "equivalent",
  "foldhash",
 ]
 
@@ -3098,11 +3131,10 @@ dependencies = [
 
 [[package]]
 name = "rbx_binary"
-version = "1.1.0-sn4"
-source = "sparse+https://git.itzana.me/api/packages/strafesnet/cargo/"
-checksum = "dc304e66f18316b8ee8729cec639528c9c5182aacbef1f8967619bd8b2363be4"
+version = "1.0.0"
 dependencies = [
  "ahash",
+ "hash_str",
  "log",
  "lz4",
  "profiling",
@@ -3115,15 +3147,12 @@ dependencies = [
 
 [[package]]
 name = "rbx_dom_weak"
-version = "3.1.0-sn4"
-source = "sparse+https://git.itzana.me/api/packages/strafesnet/cargo/"
-checksum = "5fcb44ffa83385055a42e5e499be3a4cce04b2ceb9af2b9825f70dcc4d2578ce"
+version = "3.0.0"
 dependencies = [
  "ahash",
- "mlua",
+ "hash_str",
  "rbx_types",
  "serde",
- "ustr",
 ]
 
 [[package]]
@@ -3139,9 +3168,8 @@ dependencies = [
 [[package]]
 name = "rbx_reflection"
 version = "5.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b6d0d62baa613556b058a5f94a53b01cf0ccde0ea327ce03056e335b982e77e"
 dependencies = [
+ "hash_str",
  "rbx_types",
  "serde",
  "thiserror 1.0.69",
@@ -3149,9 +3177,7 @@ dependencies = [
 
 [[package]]
 name = "rbx_reflection_database"
-version = "1.0.2+roblox-670"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5349b19e5e94fbcaba7a52175263ab64011e0a13f17ff57729f2f560ccdec615"
+version = "1.0.3+roblox-670"
 dependencies = [
  "lazy_static",
  "rbx_reflection",
@@ -3162,8 +3188,6 @@ dependencies = [
 [[package]]
 name = "rbx_types"
 version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78e4fdde46493def107e5f923d82e813dec9b3eef52c2f75fbad3a716023eda2"
 dependencies = [
  "base64 0.13.1",
  "bitflags 1.3.2",
@@ -3176,12 +3200,11 @@ dependencies = [
 
 [[package]]
 name = "rbx_xml"
-version = "1.1.0-sn4"
-source = "sparse+https://git.itzana.me/api/packages/strafesnet/cargo/"
-checksum = "08750f2f23366cda4a71d05c11c40b55bfeccd4bbc22037264b510c90809f7bd"
+version = "1.0.0"
 dependencies = [
  "ahash",
  "base64 0.13.1",
+ "hash_str",
  "log",
  "rbx_dom_weak",
  "rbx_reflection",
@@ -4315,19 +4338,6 @@ dependencies = [
  "percent-encoding",
 ]
 
-[[package]]
-name = "ustr"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18b19e258aa08450f93369cf56dd78063586adf19e92a75b338a800f799a0208"
-dependencies = [
- "ahash",
- "byteorder 1.5.0",
- "lazy_static",
- "parking_lot",
- "serde",
-]
-
 [[package]]
 name = "utf16_iter"
 version = "1.0.5"
diff --git a/lib/rbx_loader/Cargo.toml b/lib/rbx_loader/Cargo.toml
index d2415bf..1bac2dd 100644
--- a/lib/rbx_loader/Cargo.toml
+++ b/lib/rbx_loader/Cargo.toml
@@ -13,11 +13,11 @@ authors = ["Rhys Lloyd <krakow20@gmail.com>"]
 bytemuck = "1.14.3"
 glam = "0.30.0"
 lazy-regex = "3.1.0"
-rbx_binary  = { version = "1.1.0-sn4", registry = "strafesnet" }
-rbx_dom_weak =  { version = "3.1.0-sn4", registry = "strafesnet", features = ["instance-userdata"] }
 rbx_mesh = "0.3.1"
-rbx_reflection_database = "1.0.0"
-rbx_xml  = { version = "1.1.0-sn4", registry = "strafesnet" }
+rbx_binary  = { path = "../../../../git/rbx-dom/rbx_binary", registry = "strafesnet" }
+rbx_dom_weak =  { path = "../../../../git/rbx-dom/rbx_dom_weak", registry = "strafesnet" }
+rbx_reflection_database = { path = "../../../../git/rbx-dom/rbx_reflection_database"}
+rbx_xml = { path = "../../../../git/rbx-dom/rbx_xml", registry = "strafesnet" }
 rbxassetid = { version = "0.1.0", path = "../rbxassetid", registry = "strafesnet" }
 roblox_emulator = { version = "0.5.0", path = "../roblox_emulator", default-features = false, registry = "strafesnet" }
 strafesnet_common = { version = "0.6.0", path = "../common", registry = "strafesnet" }
diff --git a/lib/roblox_emulator/Cargo.toml b/lib/roblox_emulator/Cargo.toml
index d4c9e5a..cff18bc 100644
--- a/lib/roblox_emulator/Cargo.toml
+++ b/lib/roblox_emulator/Cargo.toml
@@ -8,14 +8,14 @@ description = "Run embedded Luau scripts which manipulate the DOM."
 authors = ["Rhys Lloyd <krakow20@gmail.com>"]
 
 [features]
-default=["run-service"]
+default=[]
 run-service=[]
 
 [dependencies]
 glam = "0.30.0"
 mlua = { version = "0.10.1", features = ["luau"] }
 phf = { version = "0.11.2", features = ["macros"] }
-rbx_dom_weak = { version = "3.1.0-sn4", registry = "strafesnet", features = ["instance-userdata"] }
-rbx_reflection = "5.0.0"
-rbx_reflection_database = "1.0.0"
-rbx_types = "2.0.0"
+rbx_dom_weak = { path = "../../../../git/rbx-dom/rbx_dom_weak", registry = "strafesnet" }
+rbx_reflection = { path = "../../../../git/rbx-dom/rbx_reflection" }
+rbx_reflection_database = { path = "../../../../git/rbx-dom/rbx_reflection_database" }
+rbx_types = { path = "../../../../git/rbx-dom/rbx_types" }
diff --git a/map-tool/Cargo.toml b/map-tool/Cargo.toml
index 49654ca..41469ee 100644
--- a/map-tool/Cargo.toml
+++ b/map-tool/Cargo.toml
@@ -14,10 +14,10 @@ image = "0.25.2"
 image_dds = "0.7.1"
 lazy-regex = "3.1.0"
 rbx_asset = { version = "0.4.4", registry = "strafesnet" }
-rbx_binary  = { version = "1.1.0-sn4", registry = "strafesnet" }
-rbx_dom_weak =  { version = "3.1.0-sn4", registry = "strafesnet" }
-rbx_reflection_database = "1.0.0"
-rbx_xml = { version = "1.1.0-sn4", registry = "strafesnet" }
+rbx_binary  = { path = "../../../git/rbx-dom/rbx_binary", registry = "strafesnet" }
+rbx_dom_weak =  { path = "../../../git/rbx-dom/rbx_dom_weak", registry = "strafesnet" }
+rbx_reflection_database = { path = "../../../git/rbx-dom/rbx_reflection_database"}
+rbx_xml = { path = "../../../git/rbx-dom/rbx_xml", registry = "strafesnet" }
 rbxassetid = { version = "0.1.0", registry = "strafesnet" }
 strafesnet_bsp_loader = { version = "0.3.0", path = "../lib/bsp_loader", registry = "strafesnet" }
 strafesnet_deferred_loader = { version = "0.5.0", path = "../lib/deferred_loader", registry = "strafesnet" }