BlueGit

golden-age paperdoll-renderer

design: new project = parent folder + validated name (Tim t998u.3)

timfa Grok Bot · pushed by timfa

Authored 2026-11-07 · 6 days ago

Hash
bda2b3a9a993a70d3222e79de5d6bbe567b9d19d
Parent
49a2ee93
1 file changed +9 −0
design.md +9 −0
@@ -480,3 +480,12 @@ Decision (superseded and reverted per Tim t991u, see below): automatic per-body
480 480 - eframe is built with both the `x11` and the `wayland` backends, so a Wayland session gets a native Wayland window with that app_id.
481 481 - The icon only shows after the desktop entry is installed: through a package, or through the in-app file association that writes `paperdoll-renderer.desktop`.
482 482 - A test checks that the app id constant, the `.desktop` name and `StartupWMClass` all match.
483
484 ## Decision 2026-11-07 (Tim t998u.3): new project = parent folder + project name
485 - **Nieuw project** opens a small form. **Map kiezen…** picks a parent folder with the system folder picker. The project name is typed in. **Aanmaken** creates `<parent>/<name>/` and initializes the project there: `character.ppd` with the typed name, the standard folders and the seeded test bodies.
486 - Name validation (Dutch message shown in the form, nothing is created on error):
487 - the trimmed name must not be empty;
488 - it must be at most 100 characters;
489 - it must not contain `/`, `\`, control characters, or the Windows-reserved characters `<>:"|?*`;
490 - it must not be `.` or `..`, and must not end in a dot or space.
491 - The parent must be an existing folder. `<parent>/<name>` must not exist yet, or must be an empty folder.
@@ -480,3 +480,12 @@ Decision (superseded and reverted per Tim t991u, see below): automatic per-body
480- eframe is built with both the `x11` and the `wayland` backends, so a Wayland session gets a native Wayland window with that app_id.
480- eframe is built with both the `x11` and the `wayland` backends, so a Wayland session gets a native Wayland window with that app_id.
481- The icon only shows after the desktop entry is installed: through a package, or through the in-app file association that writes `paperdoll-renderer.desktop`.
481- The icon only shows after the desktop entry is installed: through a package, or through the in-app file association that writes `paperdoll-renderer.desktop`.
482- A test checks that the app id constant, the `.desktop` name and `StartupWMClass` all match.
482- A test checks that the app id constant, the `.desktop` name and `StartupWMClass` all match.
483
484## Decision 2026-11-07 (Tim t998u.3): new project = parent folder + project name
485- **Nieuw project** opens a small form. **Map kiezen…** picks a parent folder with the system folder picker. The project name is typed in. **Aanmaken** creates `<parent>/<name>/` and initializes the project there: `character.ppd` with the typed name, the standard folders and the seeded test bodies.
486- Name validation (Dutch message shown in the form, nothing is created on error):
487 - the trimmed name must not be empty;
488 - it must be at most 100 characters;
489 - it must not contain `/`, `\`, control characters, or the Windows-reserved characters `<>:"|?*`;
490 - it must not be `.` or `..`, and must not end in a dot or space.
491- The parent must be an existing folder. `<parent>/<name>` must not exist yet, or must be an empty folder.