Skip to content

Add Lottie animation support for scene compositions #208

@kiyeonjeon21

Description

@kiyeonjeon21

Why

Lottie (bodymovin JSON) is the de-facto format for lightweight vector
animation — animated logos, UI hints, transition cards, decorative loops.
Huge free corpus on LottieFiles. Right now VibeFrame can generate AI
clips and hand-author HTML scenes, but there's no first-class path for
designer-authored vector motion.

Possible shapes (looking for input)

A. HTML-native. Drop <lottie-player> (lottie-web) directly into a
composition HTML. Hyperframes captures the frames as-is. Simplest — works
today if you author the HTML by hand. No CLI hook, no agent affordance.

B. Remotion component. Wrap @remotion/lottie inside a Remotion
composition that VibeFrame renders. Reuses the same Remotion path that
already powers vibe generate motion. Programmatic start/end frames,
speed, loop count, prop-driven.

C. Hybrid. New primitive vibe generate lottie <file.json> -o clip.mp4
(Remotion under the hood) + a vibe scene add lottie helper that mounts
the rendered clip into a scene like any other video. Each step a discrete
verb that produces a file the next step consumes.

I lean C because every other VibeFrame primitive follows the same
"discrete CLI verb → file → next step" shape and that's what makes the
agent flow predictable. But A is way cheaper if "good enough" is the
bar, and we'd be skipping a Remotion dep we don't need yet.

Open questions

  • Bundle a small starter library of CC0 Lotties, or strictly BYO file?
  • Trimming: --start-frame/--end-frame, or just --duration + --loop?
  • Should vibe build auto-detect .json/.lottie files under assets/
    and surface them as scene candidates?
  • Naming — vibe generate lottie vs. extending vibe generate motion
    with --from-lottie <file>?

Acceptance (rough)

End-to-end working path: .json file from LottieFiles → mounted in a scene
→ frame-accurate render via vibe render. One example under docs/.
Agent tool exposed if B or C wins.

Pushback welcome — I'd rather get the API shape right than ship fast.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is neededquestionFurther information is requested

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions