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:
+21
-4
@@ -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).
|
- **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.
|
- **"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).
|
**Start with Phase B: edit→render binding.** Full plan in `~/.claude` memory
|
||||||
- Admin can't edit *other* users' full profiles yet (self-edit works for everyone).
|
`epic_studio_template_binding.md`. Summary:
|
||||||
- Test the studio editor itself once inside (large Konva surface — not exhaustively exercised).
|
- **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
|
## Debugging client-side behavior
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user