BlueGit

golden-age paperdoll-renderer

design: recent projects on the start screen (Tim t998u.1)

timfa Grok Bot · pushed by timfa

Authored 2026-11-07 · 6 days ago

Hash
b38d537fffa4b1b9029d192b6dceb3114ad40dd0
Parent
570d2616
1 file changed +5 −0
design.md +5 −0
@@ -468,3 +468,8 @@ Decision (superseded and reverted per Tim t991u, see below): automatic per-body
468 468 - What still matters after completion goes into the `.ppda`, not into `raw files/`. `.ppda` format 4 adds `export`: the full render contract (formerly `render.json`), `passes` and `png_sha256` (SHA-256 per loose PNG, keyed by its `raw files/…` path). The export_set reader rebuilds its render/complete view from that, and checks the `.ppda` SHA-256 and every loose PNG checksum as before. Formats 2–3 and older result folders (loose maps and manifests at the root) are still read.
469 469 - `depth_clamped` statistics are progress-only now; they are not persisted.
470 470 - Crash safety: a build is complete when it has `complete.json`, or when it has no `render.json` and does have a `.ppda` (already stripped). `recover` verifies such an unlocked build, strips any remaining bookkeeping (idempotent) and promotes it. Resume refuses completed builds as before. Quarantined `.corrupt-aNNN-K` files are still kept, never deleted; that is the only exception to the consumer-only layout.
471
472 ## Decision 2026-11-07 (Tim t998u.1): recent projects on the start screen
473 - Below **Project laden** / **Nieuw project**, the start screen lists the last 5 opened or created projects, newest first. Clicking one opens it, the same as loading it.
474 - The list is stored per user as `recent.json` in the user config directory: `$XDG_CONFIG_HOME/paperdoll-renderer/` (default `~/.config/paperdoll-renderer/`), or `%APPDATA%\paperdoll-renderer\` on Windows. `PAPERDOLL_CONFIG_DIR` overrides the location. It holds absolute `character.ppd` paths, with duplicates removed. It is written atomically and only after a successful open or create.
475 - Projects whose `character.ppd` no longer exists stay in the list, greyed out and not clickable, with the note "niet gevonden". They drop off as newer projects are added. An unreadable or damaged list is treated as empty and is never fatal.
@@ -468,3 +468,8 @@ Decision (superseded and reverted per Tim t991u, see below): automatic per-body
468- What still matters after completion goes into the `.ppda`, not into `raw files/`. `.ppda` format 4 adds `export`: the full render contract (formerly `render.json`), `passes` and `png_sha256` (SHA-256 per loose PNG, keyed by its `raw files/…` path). The export_set reader rebuilds its render/complete view from that, and checks the `.ppda` SHA-256 and every loose PNG checksum as before. Formats 2–3 and older result folders (loose maps and manifests at the root) are still read.
468- What still matters after completion goes into the `.ppda`, not into `raw files/`. `.ppda` format 4 adds `export`: the full render contract (formerly `render.json`), `passes` and `png_sha256` (SHA-256 per loose PNG, keyed by its `raw files/…` path). The export_set reader rebuilds its render/complete view from that, and checks the `.ppda` SHA-256 and every loose PNG checksum as before. Formats 2–3 and older result folders (loose maps and manifests at the root) are still read.
469- `depth_clamped` statistics are progress-only now; they are not persisted.
469- `depth_clamped` statistics are progress-only now; they are not persisted.
470- Crash safety: a build is complete when it has `complete.json`, or when it has no `render.json` and does have a `.ppda` (already stripped). `recover` verifies such an unlocked build, strips any remaining bookkeeping (idempotent) and promotes it. Resume refuses completed builds as before. Quarantined `.corrupt-aNNN-K` files are still kept, never deleted; that is the only exception to the consumer-only layout.
470- Crash safety: a build is complete when it has `complete.json`, or when it has no `render.json` and does have a `.ppda` (already stripped). `recover` verifies such an unlocked build, strips any remaining bookkeeping (idempotent) and promotes it. Resume refuses completed builds as before. Quarantined `.corrupt-aNNN-K` files are still kept, never deleted; that is the only exception to the consumer-only layout.
471
472## Decision 2026-11-07 (Tim t998u.1): recent projects on the start screen
473- Below **Project laden** / **Nieuw project**, the start screen lists the last 5 opened or created projects, newest first. Clicking one opens it, the same as loading it.
474- The list is stored per user as `recent.json` in the user config directory: `$XDG_CONFIG_HOME/paperdoll-renderer/` (default `~/.config/paperdoll-renderer/`), or `%APPDATA%\paperdoll-renderer\` on Windows. `PAPERDOLL_CONFIG_DIR` overrides the location. It holds absolute `character.ppd` paths, with duplicates removed. It is written atomically and only after a successful open or create.
475- Projects whose `character.ppd` no longer exists stay in the list, greyed out and not clickable, with the note "niet gevonden". They drop off as newer projects are added. An unreadable or damaged list is treated as empty and is never fatal.