neuron-explorer
Qwen3.5‑4B 전용 조향형 뉴런 탐색기, 모든 MLP 뉴런을 밀어 결과를 보관·탐색
Kinetograph는 에이전트를 위해 만든 매우 빠른 프로그래밍 기반 비디오 엔진입니다
Kinetograph is a blazingly fast programmatic video engine, made for agents. Write video in TypeScript with Remotion's API; it renders every frame on the GPU.
개발 도구TypeScript · RustGitHub @0xS4N4TG온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기A blazingly fast programmatic video engine, made for agents.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗You (or an agent) write a video in TypeScript with Remotion's API, CSS, SVG, Canvas 2D, WebGL shaders and Web Audio;
Node runs the code; a Rust GPU compositor, loaded into Node as an N-API addon, draws every frame. Existing Remotion
projects render as they are: remotion and @remotion/* imports resolve to Kinetograph's own implementation of them.
A video can also be a plain HTML page, and HyperFrames projects render as
they are too, GSAP timelines included: npx kinetograph render index.html -o out.mp4.
The film above is 1,184 frames of 1080p video, sound included, rendered in 26 seconds on a laptop. It is one
TypeScript project in examples/launch.
Each clip is an example in this repo. Times are kinetograph render --concurrency 4 on an Apple M4, the median of
three runs.
Three reels made with papercut-explainer, my Remotion library and
agent skills for cut-paper explainer reels, rendered by Kinetograph without changes. Times are the fastest of
three runs with --concurrency 4 on the same Apple M4.
kinetograph studio src/index.tsx opens a local editor for a project. The engine draws its preview frames, so what you
see is what renders.
Beta, version 0.2.5. It works and renders real projects, but APIs can still change between versions and some
features are missing. The core renderer, effects, authoring layer, studio, Remotion compatibility on a native DOM
engine (CSS, SVG, Canvas 2D, WebGL fragment shaders) and an own 3D layer are built. The papercut test project renders
all 988 of its frames natively. What is left is listed under known issues on the kinetograph site
(/docs/known-issues/).
/docs/compat/)kinetograph track), video
frames in canvases (onVideoFrame, drawImage of a <video>), the Web Animations API, GPU-deformed 3D models
with bevels and shadows from every light, HyperFrames audio effects and modules, and Intel and AMD GPU encoders on
Linux.flowchart TB
subgraph project["Your project (TSX)"]
P["Remotion API · CSS / SVG · Canvas 2D · WebGL · Web Audio<br/>native elements and effects from @kinetographdev/core"]
end
subgraph node["Node: the kinetograph CLI, studio and MCP server"]
B["esbuild bundle<br/>remotion, @remotion/* → @kinetographdev/core"]
D["determinism shim<br/>Date, Math.random, timers, rAF driven by the frame"]
R["@kinetographdev/react: React reconciler<br/>runs the tree once per frame"]
S["browser shims: DOM readback, Canvas 2D and WebGL<br/>contexts that record their calls"]
A["@kinetographdev/audio<br/>node-web-audio-api, OfflineAudioContext"]
E["emit: native elements → scene layers<br/>runs of HTML/SVG → DOM islands"]
B --> D --> R --> E
R <--> S
end
subgraph rust["Rust: the @kinetographdev/native addon (napi-rs)"]
DOM["kinetograph-dom: DOM engine<br/>blitz-dom + Stylo (CSS) + taffy (layout) + Parley (text),<br/>usvg (SVG); painted into scene layers"]
C["kinetograph-core: compositor on wgpu<br/>Skia (vectors, text, Canvas 2D), WGSL effects,<br/>GLSL via naga (WebGL), scene3d (glTF, PBR),<br/>ThorVG (Lottie), 2.5D camera, motion blur, layer cache"]
M["media: FFmpeg decode and encode<br/>(VideoToolbox / libx264)"]
DOM --> C
M <--> C
end
P --> B
E -- "scene JSON per frame" --> C
E -- "island JSON" --> DOM
A -- "PCM" --> M
C --> OUT["MP4 / MOV / PNG<br/>studio preview frames"]
No Chrome anywhere in rendering, including canvas and WebGL: every CSS, SVG and canvas feature is ported natively, and Chrome for Testing is used only by tests, as a reference to compare against. Node hosts the engine so every npm package and Web API is there; the engine is a native addon so pixels never cross into JavaScript. Existing crates do text shaping, layout, CSS and rasterising; Kinetograph writes the glue.
Node 22 or later. The npm workspaces are @kinetographdev/scene (scene types and effect helpers), @kinetographdev/react
(the reconciler and native elements), @kinetographdev/core (Remotion's API and packages, the frame loop, the
determinism shim), @kinetographdev/audio, the kinetograph CLI, and @kinetographdev/native (the addon, crates/node).
npm ci
npm run build # TS packages and a debug addon
npm run build:release -w @kinetographdev/native # the addon for timing
npx kinetograph still examples/rajz-cards/index.tsx 60 -o out/rajz-60.png
npx kinetograph strip examples/rajz-cards/index.tsx -n 12 -o out/rajz-strip.png
npx kinetograph render examples/rajz-cards/index.tsx -o out/rajz-cards.mp4
npx kinetograph inspect examples/rajz-cards/index.tsx --frame 60 --json
A project imports from remotion and @remotion/* as it would for Remotion (the CLI maps them onto
@kinetographdev/core) and from @kinetographdev/core for the native elements and effects. Every command takes --json;
npx kinetograph mcp serves the same commands over MCP; Use with agents
has the client setup and the agent skill. npm test runs the CPU tests; the GPU ones run with
KINETOGRAPH_GPU_TESTS=1.
A video can be an HTML page instead of a TSX project, and a HyperFrames project renders as it is, with no rewrite and
no browser. The root element gives the size and length; GSAP timelines registered in window.__timelines are paused
and seeked to each frame's time:
<div id="root" data-composition-id="hello" data-width="1280" data-height="720" data-duration="2">
<div id="title">Hello, Kinetograph</div>
<div id="bar"></div>
</div>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/gsap.min.js"></script>
<script>
const tl = gsap.timeline({ paused: true });
tl.to('#bar', { width: 640, duration: 1, ease: 'none' });
window.__timelines = { hello: tl };
</script>
npx kinetograph still index.html 15 -o frame.png # the same commands as for a TSX project
npx kinetograph render index.html -o out.mp4 # or the directory that holds index.html
npx kinetograph fetch-deps index.html # download what the page loads (CDN scripts, modules, media) ahead of time
still, strip, inspect, lint, doctor, studio and render all take the page. A render downloads what the page
loads from the web first and pins it in kinetograph.lock.json; --offline never downloads. Clips (data-start,
data-duration), nested compositions (data-composition-src), <video> and <audio>, data-fx-chain audio effects and
data-color-grading work as in HyperFrames: the details are under "HyperFrames projects" on the kinetograph site's
compatibility page (/docs/compat/#hyperframes-projects).
Use the rustup toolchain (stable, edition 2024) and a GPU that wgpu supports (Metal on macOS); no display is needed.
render links FFmpeg, so building needs its development libraries and pkg-config to find them
(brew install ffmpeg pkgconf on macOS). Without pkg-config, set FFMPEG_DIR to the FFmpeg prefix instead
(FFMPEG_DIR=$(brew --prefix ffmpeg)).
cargo build --release
./target/release/kinetograph render examples/papercut-card.json -o out/card.mp4
How a frame is made, the code map, the Rust CLI, the layer cache and frame reuse are in packages/cli/skills/kinetograph/references/INTERNALS.md.
PolyForm Small Business License 1.0.0: free for individuals, non-profits, and companies with fewer than 100 people and under 1,000,000 USD (2019) revenue. Larger companies need a commercial licence; see COMMERCIAL.md. Vendored crates keep their own licences (vendor/README.md).
Required Notice: Copyright 2026 Sanat Gupta (https://github.com/0xS4N4TG)