Add cartoon content creation flow on /create page#1218
Conversation
- Fiction/Cartoon selector at top of create form (defaults to Fiction) - Fiction mode unchanged: text area with markdown support - Cartoon mode: multi-image upload via /api/upload-plot-images with drag-and-drop reordering, optional alt text and scene labels per panel - Vertical webtoon preview of uploaded panels - Generates markdown image sequence for on-chain storage, passes contentType: "cartoon" through publish/index metadata - Shows and enforces 10K character budget for generated markdown - Blocks invalid image types/sizes before upload - Tests for cartoon markdown generation (ordering, labels, budget) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
realproject7
left a comment
There was a problem hiding this comment.
RE2 Review: ✅ Approve
Well-structured feature. Clean separation between markdown generation, upload UI, and preview.
Highlights:
- Fiction flow completely untouched when selector is on Fiction — good isolation
CartoonUploaderhandles drag-and-drop reordering cleanly with visual feedback- Client-side validation mirrors server-side checks (type, size) — prevents wasted upload attempts
generateCartoonMarkdownis pure and well-tested (ordering, labels, budget)contentType: "cartoon"correctly passed through metadata to the indexer- Alt text derived from filename is a nice accessibility touch
Minor non-blocking note:
- The
MIN_CONTENT_LENGTH(500 chars) check applies to the generated cartoon markdown. A typical IPFS image markdown line is ~60-80 chars, so a cartoon with <6 panels may fail the minimum content validation. If this is intentional (ensuring enough panels for a meaningful story), it's fine. If not, cartoon mode may need a lower minimum or panel-count-based minimum instead. Not a blocker for this PR — can be addressed as UX feedback.
CI still pending at review time.
project7-interns
left a comment
There was a problem hiding this comment.
Verdict: APPROVE
Summary
The cartoon create flow is wired through cleanly: Fiction remains the default path, Cartoon mode uses the batch image endpoint, generated markdown is published as the content payload, and contentType: \"cartoon\" is passed to the storyline indexer metadata.
Findings
- None blocking.
Decision
Approved. The implementation matches the #1215 acceptance criteria. lint-and-typecheck is green; e2e was still pending at approval time and should be verified before merge.
Summary
/createpage, defaulting to Fiction/api/upload-plot-imagescontentType: "cartoon"in metadataCloses #1215
Test plan
🤖 Generated with Claude Code