aboutsummaryrefslogtreecommitdiff
path: root/building_guide/admin.md
diff options
context:
space:
mode:
Diffstat (limited to 'building_guide/admin.md')
-rw-r--r--building_guide/admin.md12
1 files changed, 4 insertions, 8 deletions
diff --git a/building_guide/admin.md b/building_guide/admin.md
index a99535a..3167147 100644
--- a/building_guide/admin.md
+++ b/building_guide/admin.md
@@ -273,11 +273,9 @@ even across sessions.
#### Live editing and maintenance
-Editor API requests (including undo/redo) execute as one game-owner task:
-file writes and their runtime callbacks/reloads cannot interleave with a tick
-or player command. Large edits briefly pause gameplay; slow browser uploads
-and downloads do not. Requests are limited to 8 MiB and rejected during game
-shutdown.
+Editor API requests (including undo/redo) execute as a single serialized task, so
+large edits briefly pause gameplay while slow browser uploads and downloads do
+not. Requests are limited to 8 MiB and rejected during game shutdown.
This does not make every edit automatically hot-reloadable. Existing reload
requirements still apply to definition editors and raw Files edits. Use the
@@ -308,9 +306,7 @@ The colors page is the single source of truth for everything the game paints wit
**Constants** — colors the engine renders conditionally that players can **never** override: HP-bar tiers (green/yellow/red by remaining %), level-difference bands (white/green/red by how far a target's level is from the viewer's), skill-level tier colors on the datapad, battery/run-energy bars, tech status indicators (`ON`/`off`/`locked`), tech/buff `[ON]`/`[BUFF]` tags and stat names, the score panel "max value" trailing numbers, shared table-header chrome (`Skill`, `Level`, `XP`, `Option`, `Value`, `Description` etc.), the production-menu locked-row tint, the APS datapad "here" highlight, the mob inline `n/maxhp` value, the `(protected)` tag, and the god-mode `[LOCAL]`/`[GLOBAL]`/`(HIDDEN)` tags. These are stored in a separate `constant_colors` block in `config.yaml`.
-**Why constants are separate from player colors.** The in-game `colors` command only knows about names listed in `config.DefaultColors()`. Constants live in a different map (`constant_colors`), which that command never reads. So if a player types `colors hp_bar_high FF`, the game answers "Unknown color target: hp_bar_high" and refuses — there is no path for a player to set one. Editing a constant here is the only way to change it short of editing `config.yaml` directly.
-
-**Save / Reset.** One shared **Save Colors** button persists both sections to `config.yaml` (a backup snapshot of the previous file is written first). **Reset all to defaults** restores both `default_colors` and `constant_colors` to the built-in values from `internal/config/config.go` and saves immediately. **Export JSON** / **Import JSON** round-trip both maps; the import payload may be either the layered `{colors:{...}, constant_colors:{...}}` shape (the format Export produces) or a legacy flat `{category: spec}` object, in which case only player colors are applied.
+**Save / Reset.** One shared **Save Colors** button persists both sections to `config.yaml` (a backup snapshot of the previous file is written first). **Reset all to defaults** restores both `default_colors` and `constant_colors` to their built-in values and saves immediately. **Export JSON** / **Import JSON** round-trip both maps; the import payload may be either the layered `{colors:{...}, constant_colors:{...}}` shape (the format Export produces) or a flat `{category: spec}` object, in which case only player colors are applied.
**Preview.** The right pane renders example output (a full room look, two combat rounds, chat, drops, ticks, assassin/safespot, and a Constants demo block) using the live specs you have staged. The combat HP bars in the preview paint with the real `hp_bar_high` / `hp_bar_med` / `hp_bar_empty` constants, and the `(level …)` annotations in the Room Look paint with `level_diff_*` — so editing a constant is reflected immediately in the same example lines an admin would recognize from gameplay.