Move the user:// isolation warning out of project.godot

Godot rewrites project.godot on import and strips all comments, replacing the
header with its own boilerplate. The isolation SETTINGS survived — name,
use_custom_user_dir and custom_user_dir_name are intact and the probe still
passes — but the block explaining why they must not be touched was deleted.

A comment there is therefore not a durable place for a warning. The warning
moves to README.md, which records the behaviour so nobody puts it back, and the
actual guarantee stays where it was always enforced: UserDirProbe, which exits
non-zero if user:// ever resolves to the old prototype's directory.

Also drops the now-empty [rendering] section the rewriter removed as redundant
(forward_plus is already declared in config/features).
This commit is contained in:
Stewart Howe 2026-08-19 21:31:12 -04:00
parent 9af5c73b04
commit b60d78b752
2 changed files with 16 additions and 15 deletions

View file

@ -29,8 +29,17 @@ user:// → ~/.local/share/islaApocalypse-v2/ ← this project
~/.local/share/godot/app_userdata/islaApocalypse/ ← ⛔ the OLD prototype. Never touch.
```
Pinned two ways in `project.godot` (distinct project name **and** `use_custom_user_dir`). After any
change to that block, re-run the probe:
Pinned two ways in `project.godot` — a distinct `application/config/name` **and**
`use_custom_user_dir` + `custom_user_dir_name`. Both must stay.
> ### ⚠ Do not document this with a comment in `project.godot` — it will not survive.
> **Godot rewrites `project.godot` on import and STRIPS ALL COMMENTS**, replacing the header with
> its own boilerplate. (Measured: a warning block written there was gone after the next
> `--import`. The *settings* survived; only the explanation was deleted.) So the warning lives
> **here**, and the guarantee is enforced by the probe below — which exits non-zero on a clash and
> therefore works in a pre-flight check, not just by eye.
After any change to the `[application]` block, re-run the probe:
```bash
Godot_v4.7.2-stable_mono_linux.x86_64 --headless \

View file

@ -1,14 +1,10 @@
; Engine configuration file.
; Isla Apocalypse — v2 rewrite (D-049). Phase 0 skeleton.
; It's best edited using the editor UI and not directly,
; since the parameters that go here are not all obvious.
;
; ⚠ user:// ISOLATION — DO NOT WEAKEN. The old prototype is named "islaApocalypse" and owns
; ~/.local/share/godot/app_userdata/islaApocalypse/, which holds the PRESERVED reference seeds,
; blueprints and batches. This project must never resolve there.
; 1. application/config/name is distinct ("islaApocalypse-v2"), so name-derivation alone
; would already give a separate dir.
; 2. use_custom_user_dir + custom_user_dir_name PIN it explicitly, so the isolation survives
; any future display-name change rather than depending on derivation.
; Changing either line moves the runtime data directory. Confirm the resolved path before you do.
; Format:
; [section] ; section goes between []
; param=value ; assign values to parameters
config_version=5
@ -24,7 +20,3 @@ config/features=PackedStringArray("4.7", "C#", "Forward Plus")
[dotnet]
project/assembly_name="islaApocalypse-v2"
[rendering]
renderer/rendering_method="forward_plus"