docs(rust): §3 walked on the rigs, and D212 (the full dome is the default)

PLAN_REDESIGNS §3.4: the rig rows as walked 2026-09-29 without a player,
the dome types, D212, and the in-game rows deferred to the later in-game walk.
PROTOCOL §19.11: dome type 0 when absent; walk status.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
This commit is contained in:
2026-09-29 09:42:25 -05:00
parent 7f9026c9e7
commit 4056e5a14d
2 changed files with 60 additions and 5 deletions

View File

@@ -461,9 +461,59 @@ Built on `edge` as Rust-Plugins `feat/zones-domes`, Module-Rust `feat/zones-dome
- **The flag groups:** in `server/model/zones/zoneOptions.js`. `NoTp` and ZoneManager's `Custom1`–`5`
are under Other.
**The walk is §3.3, not yet done.** The rigs' panel file API was down on 2026-09-29, so nothing could be
installed. On the new `rust-oxide` it also needs ZoneManager, ZoneDomes, PopupNotifications and both
helpers installed first. The default dome type and stack are still to be chosen on the rig (§3.2).
**The default dome (D212).** ZoneDomes 2.0.2 has five types, and only **Standard** (type 0, Rust's shaded
`sphere.prefab`) is a whole dome: a dark, see-through sphere that each stacked copy makes darker. Red, Blue,
Green and Purple are the Twitch battle-royale spheres, which ZoneDomes itself says show only where they meet
terrain or an object, so they read as a ring at the zone's edge. **The org lead chose the full dome as the
default:** the step lists Standard first as "Full dome (shaded)", labels each colour for what it shows, and
a `dome` sent without a `type` is Standard. The default stack is still 1, until it is chosen by eye.
**Compiled on both rigs, and the rig rows walked, 2026-09-29** (no player; the "file API outage" that
morning was a Git Bash path-rewriting bug in the walk's own helper, not the rigs):
- **Both rigs:** the bridge and both helpers compiled and loaded (Oxide; Carbon with 0 failed plugins).
Both helpers reported `patched`, and the domes helper `ready`.
- **Hello (Oxide, read from the sidecar's board):**
- `zoneManager` carried all **69** flags of ZoneManager 3.1.14 (64 named and `Custom1`–`5`), with no zone
helper involved (D211).
- `integrations.zoneDomes` was `{ loaded, patched, ready }`.
- It was re-sent within a second each time ZoneDomes or a helper loaded or unloaded.
- **Refusals:** an unknown flag (`NoFlying`), a setting outside the allowlist (`rotation`) and radiation 900
were each refused `bad-option`, with the reason.
- **A full zone:** `nobuild, PvpGod, NoPlayerLoot`, radiation 5, safezone off, a popup enter/leave message and a
stacked dome.
- ZoneManager held exactly those flags and settings (read through a throwaway probe calling
`ZoneFieldList`).
- ZoneManager held no enter message of its own: the bridge says it (D193).
- The registry stored the flags as ZoneManager spells them.
- ZoneDomes' data file held the dome.
- **ZoneManager reload:** the zone came back ("1 re-created") with all its flags. The dome's data was
untouched.
- **ZoneDomes reload:** the helper re-patched and was ready again. The dome was redrawn from ZoneDomes' own
data.
- **Server restart:**
- The zone was re-created with its flags.
- On this boot the bridge's zones existed before ZoneDomes started, so ZoneDomes drew the dome itself,
and the bridge's restore added nothing.
- **Exactly 2 sphere entities for a stack of 2**, so the dome was not drawn twice.
- **The other order, forced:**
- The bridge was unloaded (ZoneManager erased the zone), then ZoneDomes reloaded and dropped the dome's
data.
- The bridge was loaded again: "domes after load: 1 put back", and again exactly 2 spheres. §0.5's
boot fault is handled whichever plugin starts first.
- **Teardown (`world.revert`):** the zone was erased, 0 spheres were left, and ZoneDomes' data was empty.
- **Expiry:** a 1-minute domed zone was erased at its deadline, and its dome went with it (0 spheres, data
empty).
- **Without the domes helper:** a dome was refused `dome-unavailable`, "RunicGatewayDomes.cs is not
installed beside the bridge…". Hello said `missing`, then `patched`/`ready` once the helper was loaded
again.
**Still to walk:**
- **The site half:** the presets page, and a step made from a preset.
- **The in-game rows, deferred by the org lead (2026-09-29) to the later in-game walk, with §5.7's:**
- The flags hold for a player without the exemption and not for one with it.
- The enter and leave messages arrive as chat and as a popup.
- The default stack is chosen by eye, in daylight and at night.
---
@@ -964,3 +1014,4 @@ The §3 build raised two more, answered on 2026-09-29:
|---|---|---|---|
| **D210** | **A zone's flags and settings are ticked on an Admin → Rust zone presets page**, and the zone step's Options field copies a preset's line when it is picked. Core is unchanged. | A list param type in core (MODULE_API) drawn as grouped checkboxes; a module-supplied step editor. | 3.4 |
| **D211** | **The bridge reads ZoneManager's flag list** through its API call `ZoneFieldListRaw()` and sends it in hello. A server without the zone helper still offers every flag. | Keeping the read in the zone helper, with a name/radius/minutes-only mode without it. | 3.4 |
| **D212** | **A zone's dome defaults to ZoneDomes' Standard type, the full shaded dome.** The coloured types show only where they meet the ground or a building, and the step says so. | A coloured default. | 3.4 |