From b60d78b752e97ca73d8ad657af3b7bd5501c1094 Mon Sep 17 00:00:00 2001 From: beezm Date: Wed, 19 Aug 2026 21:31:12 -0400 Subject: [PATCH] Move the user:// isolation warning out of project.godot MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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). --- README.md | 13 +++++++++++-- project.godot | 18 +++++------------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 584fc6c..20b8df8 100644 --- a/README.md +++ b/README.md @@ -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 \ diff --git a/project.godot b/project.godot index bb5da26..c9ad625 100644 --- a/project.godot +++ b/project.godot @@ -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"