explaingit

dennisonbertram/emulsion

Analysis updated 2026-05-18

8JavaScriptAudience · vibe coderComplexity · 3/5LicenseSetup · easy

TLDR

A Claude Code skill with a 3D browser app for blocking out camera shots to guide AI video generation.

Mindmap

mindmap
  root((emulsion))
    What it does
      Blocks scenes with simple 3D shapes
      Keyframes objects and camera
      Exports motion reference clips
    Tech stack
      JavaScript
      three.js
      Python server
      Claude Code skill
    Use cases
      Plan camera moves for AI video
      Direct scenes live with an agent
      Export references for video models
    Audience
      AI filmmakers
      Claude Code users
      Video generation hobbyists

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Block out a scene's camera and character positions before generating AI video.

USE CASE 2

Direct Claude live to build a storyboard while watching it happen in the browser.

USE CASE 3

Export a motion and camera reference clip to feed into a video generation model.

USE CASE 4

Save reusable sets and shots as a project for future scenes.

What is it built with?

JavaScriptthree.jsPythonNode.js

How does it compare?

dennisonbertram/emulsionadguardteam/recoveryadm1nsys/safari-ai-extension
Stars888
LanguageJavaScriptJavaScriptJavaScript
Last pushed2018-03-16
MaintenanceDormant
Setup difficultyeasyeasyhard
Complexity3/52/52/5
Audiencevibe codergeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Just needs Python 3 and a browser, Node is only required for the optional headless export helpers.

Licensed under MIT, free for anyone to use and modify.

In plain English

Emulsion is a tool for planning out shots for AI generated video, built as a skill for Claude Code. It gives Claude a small browser based 3D app where scenes can be blocked out using simple shapes, like boxes, spheres, and blocky stand in people, along with a movable camera. The idea is that you describe a scene in plain language to Claude in your terminal, for example asking for a funeral procession on a winding road shot with an old style camera, and Claude builds that scene live in the app while narrating what it is doing. You can watch it happen, and you can also reach in and drag things yourself, since every change either of you makes shows up for the other. Objects can be given keyframes so they move over time, and the camera can be keyframed too so it pans, zooms, or tracks a subject like a real shot would. Once a shot is blocked out, you can export the camera's movement as a short video clip. That clip is meant to be fed into an AI video generation model as a motion and camera reference, alongside separate reference images and a written prompt describing the scene beat by beat, so the AI model has a clearer sense of the intended camera work rather than guessing from text alone. Under the hood it is a simple setup with no build step: a three.js app running in the browser, and a small Python server that keeps everyone's changes in sync by having the agent send full scene updates and the browser poll for them. Projects, including shots, sets of scenery, and generated assets, are saved as plain JSON files. This project is aimed at people experimenting with AI filmmaking who already use Claude Code, particularly those trying to get more deliberate camera and blocking control out of AI video generators rather than relying purely on text prompts. It is released under the MIT license.

Copy-paste prompts

Prompt 1
Explain how the agent and browser stay in sync while blocking a scene together.
Prompt 2
Help me install this as a Claude Code skill and start the local server.
Prompt 3
Walk me through how to keyframe a camera move for a shot.
Prompt 4
Show me how the exported reference clip is meant to be used with a video model.

Frequently asked questions

What is emulsion?

A Claude Code skill with a 3D browser app for blocking out camera shots to guide AI video generation.

What language is emulsion written in?

Mainly JavaScript. The stack also includes JavaScript, three.js, Python.

What license does emulsion use?

Licensed under MIT, free for anyone to use and modify.

How hard is emulsion to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is emulsion for?

Mainly vibe coder.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.