chore(tools): delete the cliloc converter the Asset Bridge replaced (Asset Bridge cutover, 2 of 5) #202

Merged
whitlocktech merged 3 commits from edge into main 2026-09-15 10:20:32 +00:00
Member

Step 2 of 5 of the Asset Bridge edge → main cutover (docs/link/v8.md §16 row 9b).

Core's entire share of the Asset Bridge is a deletion

Eight phases of work, five repos, and core changed nothing — because it did not need to. The
bridge is UO-specific, so it lives in Module-uo; ctx.uploads was already exposed to modules
(MODULE_API.md §"atlas art import"), so storing a sprite needed no MODULE_API bump. That is
the module system doing its job, and it is worth stating plainly rather than leaving as an absence.

What does come over is what the bridge made obsolete: server/tools/cliloc-export/, the
standalone .NET converter an operator used to run on their desktop against a UOFiddler-extracted
Cliloc.enu. Phase 2 moved that decompression onto the shard — the Mythic container is read by
BridgeCliloc.cs where the client files already are, and 67,496 names cross the bridge in 1.42 s
with no manual step at all. UOFIDDLER.md went with it (deleted in phase 3, two phases early).

Program.cs −140, README.md −64, clilocexport.csproj −26. Nothing in the tree references the
tool — grepped for both cliloc-export and clilocexport across js/json/md/yml, zero hits.

MODULE_API_VERSION does not move, which is why Module-uo's ci/core-ref.json can stay
pinned where it is and the Integration kit stays green through this cutover.

Verification

npm test on edge2,152 tests, 2,060 pass, 0 fail.

One note for anyone reproducing that locally: a dev tree with modules/uo installed fails
routes.manifest.json is in sync with the live Express stack and its routes.guards.json twin,
because the live stack then carries the module's routes and the committed manifests are core's
alone. It is a rig artifact, not a regression — run with MODULES_DIR pointed at an empty
directory, which is what CI does.

AI disclosure

Authored with Claude Code (Claude Opus 5). Commits carry the Co-Authored-By trailer.

🤖 Generated with Claude Code

https://claude.ai/code/session_016wDDVXWMDz82WqE1i969r4

Step **2 of 5** of the Asset Bridge `edge → main` cutover (`docs/link/v8.md` §16 row 9b). ## Core's entire share of the Asset Bridge is a deletion Eight phases of work, five repos, and **core changed nothing** — because it did not need to. The bridge is UO-specific, so it lives in `Module-uo`; `ctx.uploads` was already exposed to modules (`MODULE_API.md` §"atlas art import"), so storing a sprite needed **no `MODULE_API` bump**. That is the module system doing its job, and it is worth stating plainly rather than leaving as an absence. What does come over is what the bridge made obsolete: `server/tools/cliloc-export/`, the standalone .NET converter an operator used to run on their desktop against a UOFiddler-extracted `Cliloc.enu`. Phase 2 moved that decompression **onto the shard** — the Mythic container is read by `BridgeCliloc.cs` where the client files already are, and 67,496 names cross the bridge in 1.42 s with no manual step at all. `UOFIDDLER.md` went with it (deleted in phase 3, two phases early). `Program.cs` −140, `README.md` −64, `clilocexport.csproj` −26. Nothing in the tree references the tool — grepped for both `cliloc-export` and `clilocexport` across js/json/md/yml, zero hits. **`MODULE_API_VERSION` does not move**, which is why `Module-uo`'s `ci/core-ref.json` can stay pinned where it is and the Integration kit stays green through this cutover. ## Verification `npm test` on `edge` — **2,152 tests, 2,060 pass, 0 fail**. One note for anyone reproducing that locally: a dev tree with `modules/uo` installed fails `routes.manifest.json is in sync with the live Express stack` and its `routes.guards.json` twin, because the live stack then carries the module's routes and the committed manifests are core's alone. It is a rig artifact, not a regression — run with `MODULES_DIR` pointed at an empty directory, which is what CI does. ## AI disclosure Authored with Claude Code (Claude Opus 5). Commits carry the `Co-Authored-By` trailer. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_016wDDVXWMDz82WqE1i969r4
wtclaude added 2 commits 2026-09-14 22:56:50 +00:00
chore(tools): delete the cliloc converter the Asset Bridge replaced (Phase 2)
All checks were successful
PR Checks / client-build (pull_request) Successful in 39s
PR Checks / bot-tests (pull_request) Successful in 41s
PR Checks / server-tests (pull_request) Successful in 5m52s
61dc692088
`server/tools/cliloc-export/` existed for one reason: every modern UO client
ships its cliloc table in the Mythic container, and nothing in this stack could
read it — not the site, and not ServUO's own bundled `Ultima.StringList`. So an
operator installed UOFiddler, built this against its `Ultima.dll`, ran it over
their client and copied a 5 MB file to the web host, every time they patched.

Protocol 8 phase 2 put the decompressor in the shard plugin, where the client
files already are, and module-uo imports the table over the bridge. The tool has
nothing left to do. See docs/link/v8.md §9 and docs/website/CLILOCS.md.

Nothing in core referenced it — it was a standalone .NET console app under
`server/tools/`, and that directory is now empty.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016wDDVXWMDz82WqE1i969r4
Merge pull request 'chore(tools): delete the cliloc converter the Asset Bridge replaced (Phase 2)' (#201) from feat/asset-bridge-p2 into edge
All checks were successful
PR Checks / client-build (pull_request) Successful in 40s
PR Checks / bot-tests (pull_request) Successful in 41s
PR Checks / server-tests (pull_request) Successful in 13m28s
f373f2e897
Reviewed-on: #201
whitlocktech approved these changes 2026-09-14 23:10:22 +00:00
Dismissed
whitlocktech scheduled this pull request to auto merge when all checks succeed 2026-09-14 23:10:31 +00:00
whitlocktech approved these changes 2026-09-15 10:04:41 +00:00
whitlocktech added 1 commit 2026-09-15 10:05:07 +00:00
Merge branch 'main' into edge
All checks were successful
PR Checks / client-build (pull_request) Successful in 30s
PR Checks / bot-tests (pull_request) Successful in 31s
PR Checks / server-tests (pull_request) Successful in 13m24s
720103e3d4
whitlocktech scheduled this pull request to auto merge when all checks succeed 2026-09-15 10:05:16 +00:00
whitlocktech merged commit efa9db7330 into main 2026-09-15 10:20:32 +00:00
Sign in to join this conversation.
No description provided.