← back to Wallco Ai
yolo backlog: R0a-R0d ledger update — Steve /studio post-gen experience complete
7f87ada6a68060be0f83ba675dc5a4ac3d64f7ae · 2026-05-12 00:24:18 -0700 · SteveStudio2
Files touched
Diff
commit 7f87ada6a68060be0f83ba675dc5a4ac3d64f7ae
Author: SteveStudio2 <stevestudio2@SteveStacStudio.lan>
Date: Tue May 12 00:24:18 2026 -0700
yolo backlog: R0a-R0d ledger update — Steve /studio post-gen experience complete
---
YOLO_BACKLOG.md | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/YOLO_BACKLOG.md b/YOLO_BACKLOG.md
index c787639..6c65f03 100644
--- a/YOLO_BACKLOG.md
+++ b/YOLO_BACKLOG.md
@@ -21,8 +21,8 @@ User ask verbatim: "show final patterns and 1 room setting on https://wallco.ai/
- [x] **R0a · /studio post-gen pattern frame** — 2026-05-12 00:23 · payoff frame rendered: big pattern preview · sidebar with prompt + room placeholder + Download/View/Delete · `/api/studio/compose` now returns `image_url` + `image_filename` · delete button stubs `/api/studio-renders/:id/delete` (wired by R0d)
- [x] **R0b · /studio room setting render** — 2026-05-12 00:30 · payoff frame's sidebar now fires `POST /api/room {design_id, roomType:'bedroom'}` after compose lands; placeholder shows "Rendering room…" until upstream ROOM_API responds; on success swaps to bedroom image w/ overlay label `Bedroom · #N`; on failure shows "Room render failed". Reuses existing `/api/room` endpoint + `wallco_rooms` table.
-- [ ] **R0c · Save every render persistently** — currently /studio generations may not all be persisted (the front-page snapshot at `data/designs.json` is curated, not raw). Add a `studio_renders` table in `dw_unified` (id, session_uuid, pattern_hash, prompt, image_path, room_image_path, created_at, deleted_at NULLABLE). Save every render including the room shot. Per Steve: "always save every render." Front-end shows a personal-render gallery on /studio if `session_uuid` cookie set.
-- [ ] **R0d · Delete affordance per saved render** — UI: small `[delete]` button under each saved render in the personal gallery. Hits `POST /api/studio-renders/:id/delete` (soft-delete sets `deleted_at`; doesn't `unlink` the file for 7 days in case of regret). Admin-only `POST /api/studio-renders/:id/restore` for undo. Localhost-admin gate via the existing `isAdmin(req)` helper for restore, but the user can soft-delete their own (matching `session_uuid` cookie).
+- [x] **R0c · Save every render persistently** — 2026-05-12 07:23 · `ensureStudioRendersTable()` ddl-bootstrap + INSERT in /api/studio/compose w/ session_uuid + GET /api/studio-renders + POST /:id/link-room (called from client after /api/room resolves). Reuses existing table that already had columns added (pattern_image_url, room_image_url) — CREATE IF NOT EXISTS skipped, INSERT works against existing schema. Commit 2e95a9b.
+- [x] **R0d · Delete + restore + personal gallery on /studio** — 2026-05-12 07:23 · POST /api/studio-renders/:id/delete (session-scoped owner check via sid in body) + /restore (7-day grace check via INTERVAL) + #my-renders-section gallery loaded on page-init with show-deleted toggle + per-card Delete/Restore buttons. Curl-tested insert→list→delete→restore cycle ok. Commit 2e95a9b.
### Loop opener — visual QA of the isolate feature (just shipped, never seen)
@@ -61,4 +61,7 @@ TICK · TIMESTAMP · ITEM · STATUS · COMMIT
- T0 · 2026-05-12 00:00 · loop-init · scheduled · n/a
- T1 · 2026-05-12 00:14 · R1 screenshots · done · n/a (no code change)
-- T2 · 2026-05-12 00:?? · R0a /studio payoff frame · queued · pending wakeup
+- T2 · 2026-05-12 00:23 · R0a /studio payoff frame · done · 1aa1b8b (with refinement signal)
+- T3 · 2026-05-12 00:30 · R0b /studio room mockup · done · 1aa1b8b
+- T4 · 2026-05-12 07:23 · R0c + R0d studio_renders + delete/restore + personal gallery · done · 2e95a9b
+- T5 · 2026-05-12 ~07:55 · next item · queued (R2 ΔE closeness bands next, then R3) · pending wakeup
← e636fb7 wallco.ai · /studio R0c+R0d: studio_renders persistence + so
·
back to Wallco Ai
·
YOLO ticks R10+R11+R12 — visual-regression baselines for iso b855ca9 →