Skip to content

[P1][Carousel] Build narrative-first carousel planning, semantic slide primitives, deterministic rendering, and slide-level revisions #182

Description

@Ankit6149

Parent epic

#151

Product outcome

SignalFlow can create swipe/carousel posts as structured sequential narratives rather than as a loose array of generated images.

Canonical docs

  • docs/MEDIA_INTELLIGENCE_AND_CREATIVE_PRODUCTION.md
  • docs/CREATIVE_MEDIA_DOMAIN_CONTRACTS.md

Core model

Implement CarouselCompositionPlan with stable slide identities and semantic roles.

Suggested semantic roles:

HOOK
STATEMENT
PROBLEM
INSIGHT
PROCESS
SCREENSHOT
DIAGRAM
COMPARISON
BEFORE_AFTER
METRIC
QUOTE
LIST
TIMELINE
CODE
CLOSING
CTA

Rendering principle

AI plans:

  • narrative sequence;
  • slide copy;
  • evidence/visual binding;
  • semantic layout intent.

Deterministic renderer handles:

  • typography;
  • spacing;
  • brand treatment;
  • screenshot/image placement;
  • dimensions;
  • accessible hierarchy;
  • final PNG/PDF/document output as required by destination capability.

Do not rely on image generation to render seven typography-heavy slides consistently.

Initial slide primitives

Examples:

HookSlide
StatementSlide
ProblemSlide
ScreenshotSlide
DiagramSlide
FeatureSlide
ComparisonSlide
BeforeAfterSlide
MetricSlide
ListSlide
ProcessSlide
TimelineSlide
CodeSlide
QuoteSlide
ClosingSlide
CTASlide

Revision behavior

Natural-language edits should be surgical:

  • "Slide 4 is too technical" → revise slide 4 only;
  • "move slide 5 before slide 3" → reorder stable slide IDs;
  • "use screenshot B on slide 6" → change visual binding only;
  • "make body text smaller" → presentation change without rewriting meaning.

Acceptance criteria

  • Carousel is a canonical structured composition, not only rendered image files.
  • Stable slide IDs survive edits/reordering where identity is unchanged.
  • At least six semantic slide primitives render consistently.
  • At least one real 5–8 slide narrative is generated from a ContentPiece/MediaRequirement.
  • Source evidence/asset bindings remain traceable per slide.
  • Slide-level revisions do not unnecessarily regenerate the whole carousel.
  • Text overflow, crop and readability checks exist.
  • Aspect-ratio/platform output is explicit.
  • Reference-only/private assets cannot be bound into final slides contrary to [P0][Media Intent] Add AssetRole, AssetUsePolicy, immutable media lineage, and intent resolution #179.
  • Exact rendered carousel revision is reviewable/approval-bound.
  • Publication uses the exact approved slide/render revision.

Non-goals

  • no Canva replacement;
  • no giant visual-template marketplace;
  • no freeform vector editor requirement;
  • no generated-image typography dependency.

Definition of done

Close only when a user can request or accept a carousel recommendation, review the sequence, revise individual slides naturally, and approve a professional deterministic final carousel with preserved source/asset/provenance state.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions