Tera, because Simulate was already spoken for

Two names in this repo were quietly colliding with things that already ship.

`lumbridge-simulate` is a Rust crate in the private monorepo — the Governor's
memory-admission simulator, with a public product page — and in its vocabulary
a "Scene" is a set of models, not a three.js scene. Naming a 3D engine the same
thing would have put two different meanings on both words at once.

Meanwhile world1.lumbridgecorp.com has been serving <title>Tera — Lumbridge</title>
since before any of this: the world already had a name.

So the map view is Tera, the interiors product is Spaces, an Office is one
building's interior and a Space is a room inside it. ARCHITECTURE.md opens with
that table now, because the next few thousand lines all depend on it.

The Phaser 2D world comes down rather than being migrated. Its tileset is
precisely what stopped it being open-sourceable, and there are no real users to
strand.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Karti Tripathi
2026-08-04 22:09:44 -07:00
parent 67f8df8d53
commit 36471bbad7
7 changed files with 58 additions and 34 deletions
+40 -17
View File
@@ -1,16 +1,39 @@
# Lumbridge Simulate Engine — architecture
# Tera — architecture
**LSE** is the third of the three: `lumbridge-compute`, `lumbridge-bench`,
`lumbridge-simulate`. A 3D engine for walkable places — a city from above, an
office from inside, one renderer and one asset library.
**Tera** is the map view: a city from above, rendered in three.js, public and
self-hostable. **Spaces** is the other half — the offices you walk into. They
are one engine and one asset library, seen from outside and from inside.
Ships at `lumbridgecorp.com/live`. Apache 2.0, self-hostable, Gitea.
Lives at `tera.lumbridgecorp.com`. Apache 2.0, on the fleet's own Gitea.
## The names
Getting these straight early matters, because two of them were nearly overloaded
onto things that already exist.
| name | what it is |
| --- | --- |
| **Lumbridge Simulate** | the product line these sit under |
| **Tera** | the map view. Cities — SF, LA, NYC — from above. Public, no login. |
| **Spaces** | the interiors product. Offices you enter, host, and self-host. |
| **Office** | one building's interior, belonging to a tenant. You go *into* an office. |
| **Space** | a room or zone inside an Office — a desk bay, a meeting room, a lounge. |
Two things this avoids. `lumbridge-simulate` is already a **Rust crate** in the
private monorepo — the Governor's memory-admission simulator — and in its
vocabulary a **"Scene" is a set of models**, not a three.js scene. This engine
therefore does not take either word for itself: it is Tera, and its three.js
scene stays an implementation detail behind `createScene()`.
One overload survives on purpose: *Spaces* the product versus *a Space* the
room. It sits at two different levels and matches how people already talk about
offices, so it is kept rather than invented around.
---
## 1. Why this is its own repo, and why it is public
LSE began as `/live` inside Workie, the private career portal. That is now
Tera began as `/live` inside Workie, the private career portal. That is now
**deleted**, not deprecated — a 3D city engine has no business living in a job
tracker, and Workie is a private repo besides.
@@ -22,21 +45,21 @@ extraction is a chance to ship something private by accident. The point of this
project — a reusable asset library other people can build on and self-host — needs
a repo that *is* the open-source artefact.
So: **`lumbridge-public/lumbridge-simulate` on the fleet's own Gitea.** Not
So: **`lumbridge-public/tera` on the fleet's own Gitea.** Not
GitHub. Self-hosting the forge is the same claim the engine makes: the whole
thing runs on hardware you own, and nothing about it requires somebody else's
platform to stay alive.
### World 1 is this
### The 2D world comes down
This is the part that makes LSE load-bearing rather than a demo. The existing
Lumbridge world is a Phaser 2D office, and its tileset is what stops it being
open-sourceable. World 1 becomes **the San Francisco city view plus the office
interiors**, rendered here, with original assets.
The existing Lumbridge world at `world1.lumbridgecorp.com` is a Phaser 2D
office, and its tileset is exactly what stops it being open-sourceable. It has
no real users, so it is being retired rather than migrated — Tera and Spaces
replace it outright, with original assets, which is the whole point.
That reframes the whole repo: LSE is not a map that happens to live next to the
platform, it is the platform's renderer. The city is the outside of the world
and the offices are the inside of it, and a tenant moves between them.
That reframes this repo: it is not a map that happens to sit next to the
platform, it is the platform's renderer. The city is the outside of the world,
offices are the inside, and a tenant moves between them.
---
@@ -188,7 +211,7 @@ now. LA gets six. NYC, later, gets Manhattan plus the inner boroughs.
## 6. How Workie feeds it
Workie stays the system of record for companies. LSE never gets a database.
Workie stays the system of record for companies. Tera never gets a database.
```
Workie GET /api/live/markers (private, tailnet) -> status colours
@@ -238,7 +261,7 @@ are the outside and the inside of one world, and moving between them is a camera
transition, not a different application.
Reference point: the per-office spatial products in this space (Simile and
friends) are the shape to aim at. The difference LSE is going for is that this
friends) are the shape to aim at. The difference Spaces is going for is that this
one is Apache 2.0 and self-hostable — you can run your own world on your own
hardware, which is the same claim `lumbridge-compute` makes about compute.