docs(handoff): next-up = studio↔template binding epic, start phase B (edit→render)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
soroush.asadi
2026-06-07 00:09:35 +03:30
parent 4d32e77f9a
commit d4b1fbd9e6
+21 -4
View File
@@ -39,11 +39,28 @@ docker compose -f docker-compose.v2.yml --env-file .env.v2 up -d <svc>
- **Template detail page** wired to real content (`fetchProject(slug)`; was hardcoded demo catalog → 404'd).
- **"Use template" works end-to-end:** `StudioService.CreateProjectAsync` deep-copies the content template scene graph (scenes + content elements + scene colors + shared colors) into the editable studio project via one atomic cross-schema SQL copy (enum cols cast `::text`; temp `_scene_map`). `/api/projects` resolves container slug → published variant project. **Aspect-ratio picker** (16:9/1:1/9:16) on the detail page drives which variant is copied.
## Known follow-ups (not done)
## ⏭️ NEXT UP — Studio↔Template binding EPIC (agreed priority)
- Scene-graph copy skips **repeater children, characters, color-presets** (scenes + fields + colors ARE copied).
- Admin can't edit *other* users' full profiles yet (self-edit works for everyone).
- Test the studio editor itself once inside (large Konva surface — not exhaustively exercised).
**Start with Phase B: edit→render binding.** Full plan in `~/.claude` memory
`epic_studio_template_binding.md`. Summary:
- **B1** persist studio input edits to `saved_scene_contents` (new studio-svc
`PATCH /v1/saved-projects/{id}/contents` by content key) — today edits only go to `edit_state`.
- **B2** render binder (port v1 `JSXGenerator.cs`): before aerender, JSX sets each AE layer
(named `frl_c{n}{t|m}{i}`) text/footage + frshare colours from the saved values, then render.
Today the node renders the template with DEFAULT values → user edits never reach the MP4.
- Then **A** admin preset stories (premade videos — model `preset_stories`/`preset_scenes`
exists, no endpoints/UI; detail "ویدیوهای ساخته‌شده" is placeholder), and **C** AE single-frame
scene snapshots (`scenes.snapshot_url` empty → node `aerender -s 0 -e 0`).
Also smaller, still open: per-tier render **height** (render-svc r_height hardcoded 1080 + node
ffmpeg scale), **FIX hides add-scene** (mode not plumbed into studio store), **Persian/Jalali
date pickers** in admin, **admin/renders** pagination + video/output + user-name → profile link,
deeper per-input controllers in the admin scene-inputs editor.
## Done follow-ups (this session)
- Scene-graph copy now includes repeater children, characters/controllers, color-presets.
- Admin CAN edit any user's full profile (Users → «پروفایل»).
- Studio now shows ALL template inputs (contents→layers bridge).
## Debugging client-side behavior