2026-11-10 02:03 UTC

Voyager releases Vork, a headless GPU 3D/VFX engine for agents

state: significantheat: mediumuncertainty: mediumrelevance: highagentic-3d vfx headless-toolsVorkVoyager

What is this?

Vork is a source-available, free-during-research-preview 3D and VFX engine from Voyager, with its repository as the primary release source; no separate upstream announcement or paper is identified. Written in Rust and Slang, it uses GPU rendering through Vulkan and Metal. Its intended workflow is for an agent to author scene data and, when needed, GPU programs, render an image, inspect it, and revise the scene as code rather than operate a conventional editor. The repository documents examples including simulations, custom light propagation, and 3D compositing onto real footage. A creator presenting the project on Hacker News says the core API fits in about 2,500 tokens; the README’s roughly 2,500-token figure is specifically for getting-started help, not the full API. The project is explicitly a research preview: its own documentation lists rendering-quality, reliability, compilation-time, and feature limits.

Why it matters

Vork explores a consequential interface shift: coding agents can work with a programmable GPU 3D/VFX system directly, rather than being confined to controls and workflows built for human-operated creative software. That could make unusual scene logic and iterative rendering more accessible to agents, including effects difficult to express in ordinary engines. The examples show a meaningful range, but preview status and documented limits make this an early capability signal, not evidence of a mature replacement for established production tools.

Current assessment

New evidence: Voyager’s public GitHub repository presents Vork as available now as a source-available research preview, free during the preview. The README describes a headless workflow: author scenes as JSON or through Python/TypeScript SDKs, render on GPU, inspect the output, and revise. Slang hooks expose camera rays, materials, light propagation, film response, and GPU compute, enabling scene-specific programs as well as ordinary scene data. The repository’s examples include a million simulated birds, GPU fluid experiments, a numerical black-hole lensing approximation, and VFX composites using real footage; these are demonstrations, not proof of general reliability or physical accuracy. The project supports Vulkan on Linux/Windows with recent NVIDIA hardware and Metal on Apple Silicon, subject to stated platform requirements. The maker’s November 10 Hacker News description says agents can write shaders, materials, cameras, and physics as code and cites a ~2,500-token core API; distinguish that claim from the README’s ~2,500-token getting-started help and ~19,400-token full help. The README reports selected render timings against Blender but cautions these are not equal-quality comparisons; it also records failed quality checks from an earlier experiment, a million-stars memory failure, unsupported/ignored volumes, dense-scene and Mac reliability limitations, and potentially lengthy first-time shader compilation. Significance is architectural and potentially economic: agents may gain a more direct, automatable path into 3D/VFX creation and custom rendering, lowering dependence on GUI operation and enabling bespoke visual effects. How far this can extend into production workflows, and whether the approach outperforms or complements established tools at comparable quality, remains uncertain. No independent adoption or benchmark evidence is supplied, and is not required to report the release.

Measured heat

now 0 pts/hpeak 22 pts/hcomments 0/hpeers p76momentum: steady2 platformsage 79h
points/hour across evidence · reading as of 2026-11-10 12:23:51.851264+11:00 · deterministic, not a model opinion

How the heat travelled

11-06 19:28 (minted)⭐ origin echo-reconstructedThe repository is itself the origin; I found no upstream post, paper, or linked primary artifact. Its README introduces “vork” as “a headles
Voyager (voyager-so) on github (echo) · attributed from hn.story.50396650 · published time unknown
—
11-06 18:53first on hacker news · published · lag ?Vork: Headless 3D and VFX engine for agents
handfuloflight
—
11-06 18:53amplified on hacker news 👑hn.story.50396650
handfuloflight
peak 8 · 0 comments · 66% of case engagement
11-09 22:11amplified on hacker newshn.story.50432998
raviparikh
peak 3 · 1 comments · 34% of case engagement
11-06 19:24our radar first saw it · lag ?discovery anchor: hn.story.50396650—
pace: p48 vs 1861 stories at the 72h mark (now 79h old) — ahead of agentic-flooding-public-services (1.1x), behind amd-rocm-hrx-loom-v01-release (0.9x)

Evidence (3) — ⭐ canonical anchor

sourceobjectauthorscorecomments
🟧 hnVork: Headless 3D and VFX engine for agents
Retrieved article excerpt

Open article · Retrieved 2026-11-06T19:26:17.147975+00:00

# vork

A million birds, each steering itself over a lagoon. A black hole that bends
light. A glowing seed placed on a real desk, lighting the room around it.
These are scenes written as code and rendered on a GPU. No video model required.

vork is a headless 3D and VFX engine built for agents. It is written in Rust and
Slang, with GPU rendering through Vulkan and Metal. An agent writes a scene,
renders it, looks at the result and revises the code. There is no editor to drive.

Most creative tools expose controls that a person can operate. An agent can also
write a shader in the middle of a shot. vork gives it geometry, ray queries and
GPU execution, then lets scene programs define materials, cameras, light
propagation, simulation and compositing. Ordinary shots need only scene data;
the programming hooks are there when the shot needs something unusual.

Source-available and free during the research preview.

## What you can make

The examples include code, preparation commands and credits. Large downloaded
assets and footage stay outside Git; the recipes fetch them or accept a local path.
The images here are stills from these shots. Keep each credit with its image.

### [Million birds](https://github.com/voyager-so/vork/blob/main/examples/murmuration)

[A ribbon of starlings crossing the low sun above a lagoon](https://github.com/voyager-so/vork/blob/main/docs/images/birds-sun-ribbon.jpg)

|  |  |
| --- | --- |
| [A foreground bird above the flock at dusk](https://github.com/voyager-so/vork/blob/main/docs/images/birds-skim.jpg) | [The flock curving over still water, seen from above](https://github.com/voyager-so/vork/blob/main/docs/images/birds-lagoon.jpg) |

A million simulated agents steered by Slang compute programs, with a camera skimming
through the flock. The camera and nine foreground birds are authored; the simulated
million do not flap. The bird stills above come from the measured four-sample,
denoised skim and reveal movies.

Credit: based on ["Crow"](https://sketchfab.com/3d-models/crow-d5a9b0df4da3493688b63ce42c8a83e2)
by Alexei Ostapenko, [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/).
Changes: sampled flight pose, reduced distant mesh, rescaled, articulated flight
wings, extracted wings for the starling body, resized textures.
[All bird and environment credits](https://github.com/voyager-so/vork/blob/main/examples/murmuration/CREDITS).

### [VFX on real footage](https://github.com/voyager-so/vork/blob/main/examples/vfx-artifact)

| Original footage | Tracked camera and proxy geometry | Final look |
| --- | --- | --- |
| [The photographed take: a woman asleep at a laptop](https://github.com/voyager-so/vork/blob/main/docs/images/seed-1-original.jpg) | [Proxy geometry over the same take](https://github.com/voyager-so/vork/blob/main/docs/images/seed-2-tracked.jpg) | [A glowing seed on the desk, with the room relit to night](https://github.com/voyager-so/vork/blob/main/docs/images/seed-3-final.jpg) |

A procedural ceramic-and-bronze seed, a tracked camera, occlusion mattes and proxy
geometry for relighting. The example teaches the base composite; the final look
adds later relighting and wipes. Real footage + rendered 3D; no generative video.

Credit: footage by **Ron Lach / Pexels**, modified under the Pexels Licence. Original
performer; no endorsement implied. [Source and preparation](https://github.com/voyager-so/vork/blob/main/examples/vfx-artifact).

### [After Rain](https://github.com/voyager-so/vork/blob/main/examples/vfx-neon)

[A glowing cyan sculpture and an AFTER RAIN sign in a wet night alley, reflected in a puddle](https://github.com/voyager-so/vork/blob/main/docs/images/after-rain.jpg)

A suspended neon seed and blade sign added to a moving shot of an empty alley at
night, with spill on the wall and reflections in the wet street. Real footage + rendered
3D; no generative video.

Credit: footage is ["Ally"](https://www.pexels.com/video/ally-18972999/) by
**Rafael Fernanz / Pexels**, modified under the [Pexels Licence](https://www.pexels.com/license/).
[Source and preparation](https://github.com/voyager-so/vork/blob/main/examples/vfx-neon).

### [Black hole](https://github.com/voyager-so/vork/blob/main/examples/black-hole)

[A cargo ship beside a black hole, with a moon lensed into a ring around it](https://github.com/voyager-so/vork/blob/main/docs/images/black-hole.jpg)

The scene supplies a Schwarzschild light-propagation program through vork's public
hook. Curved paths, capture and the disk's appearance live in the example. It is a
numerical approximation, not an exact relativistic solver.

Credit: based on ["Corinth Cargo Transporter"](https://sketchfab.com/3d-models/corinth-cargo-transporter-7614d85856f6477ba2a603970dcbb0dd)
by [Yvo Pors](https://sketchfab.com/yvopors14), [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/).
Changes: decimated geometry, resized, compressed and exposure-adjusted textures,
adjusted material roughness and metallic weight, placement and scale.
[Ship credit](https://github.com/voyager-so/vork/blob/main/examples/black-hole/README.md#ship-credit).

### [Cake](https://github.com/voyager-so/vork/blob/main/examples/cake)

[A carrot cake on a carved plate, with a kettle out of focus behind it](https://github.com/voyager-so/vork/blob/main/docs/images/cake.jpg)

A moving camera, depth of field and daylight on detailed scanned assets. This shot is
rendered 3D, using Poly Haven assets; it isn't a photographed take.

Credit: Poly Haven CC0 assets; carrot cake photography by Greg Zaal, processing by
James Ray Cock. [Full cake credits](https://github.com/voyager-so/vork/blob/main/examples/cake/CREDITS.md).

### [Cozy Kitchen](https://github.com/voyager-so/vork/blob/main/examples/kitchen)

[A miniature kitchen diorama with pumpkins on the roof](https://github.com/voyager-so/vork/blob/main/docs/images/kitchen.jpg)

Nicole Morena's Blender 3.5 splash scene, imported into vork. The recipe uses a
shared material adaptation and a camera orbit; the pictured render has additional
staging and animated lighting.

Credit: **Cozy Kitchen** by [Nicole Morena](https://www.artstation.com/nickyblender),
[source .blend](https://download.blender.org/demo/splash/blender-3.5-splash.blend),
[CC BY-SA](https://creativecommons.org/licenses/by-sa/) (version unspecified by source).
Adapted and rendered in vork: camera orbit, animated lighting, widescreen framing,
material translation and staging changes. This still and the adapted animation
are shared under CC BY-SA. No artist endorsement implied.
[Changes and share-alike notice](https://github.com/voyager-so/vork/blob/main/examples/kitchen/CREDITS.md).

### [Water](https://github.com/voyager-so/vork/blob/main/examples/water)

[Water splashing up in a crown from a white basin on a wooden deck](https://github.com/voyager-so/vork/blob/main/docs/images/water.jpg)

A GPU liquid simulation implemented as Slang compute programs in vork's fluid library.
It uses published APIC/FLIP and surface-reconstruction methods, with an authored
initial impulse and limited secondary spray.

## Give it to an agent

Start with `vork help`. The getting-started help is about **2,500 tokens**,
including a complete first scene. The full help is about **19,400 tokens**.
Those are help-text counts, not a claim that every advanced API fits on one page.

A useful first instruction is:

> Read `vork help`. Make a small scene, render a preview and inspect the image.
> Refine the camera and lighting before rendering at final quality. Read the
> relevant help topic when you need a feature the first page doesn't explain.

Python and TypeScript can author ordinary scene JSON through the SDKs. You can
also write JSON directly. Save this as `shot.json` (also available as
[examples/first-scene.json](https://github.com/voyager-so/vork/blob/main/examples/first-scene.json)):

```
{"version":2,"nodes":[
  {"type":"mesh","geometry":{"std":"sphere","radius":1},
   "materials":[{"inputs":{"base_color":[0.12,0.35,0.65],"specular_roughness":0.3}}]},
  {"type":"mesh","translation":[0,-1,0],"geometry":{"std":"grid","size":[10,10]},
   "materials":[{"inputs":{"base_color":[0.35,0.35,0.35]}}]},
  {"type":"light","shape":"rectangle","translation":[-3,5,4],"target":[0,0,0],
   "energy":700,"size":4,"color":[1,0.92,0.8]},
  {"type":"camera","translation":[3,2,5],"target":[0,0,0]}
],"render":{"resolution":[640,480]}}
```

```
vork render shot.json --profile std/previs --out preview.png
vork render shot.json --profile std/final --out final.png
vork help sdk
vork help programs --all
```

Scene content and render quality are separate. Use `std/previs` to iterate,
`std/draft` for scene-ray lighting at 4 samples,
`std/final` for the default delivery profile, and `std/path` for path transport.
Draft and final use 4 and 8 samples with bundled OIDN denoising by default; use `--set denoise=false` to turn it
off. `--set samples=N` overrides the profile budget (1..4096); more samples means cleaner and slower.
Without a fast GPU denoiser (NVIDIA or Apple GPU), draft and final say so and use 16 and 32 samples undenoised;
`--set denoise=true` runs the slow CPU denoiser anyway.
For a particular field, ask `vork help field node.target`. Help topics include
exact fields with `--all`. Images, video and control passes come from the same
scene; see `vork help outputs`.

## Under the hood

Default rendering combines raster visibility with hardware ray-traced lighting;
a path tracer is also available. The scene and render plan stay installed.
Frames use retained GPU resources, with GPU-to-hardware-video encoding on
supported native paths. A portable encoding fallback reads pixels back to the CPU.

Slang programs run on the GPU. Host parsing, planning, animation-track evaluation
and IO still use the CPU. The public program hooks let a scene author change
camera rays, material response, light propagation and film response without
editing the renderer. `vork help programs --all` describes their scope.

Validation includes furnace tests and analytic oracles, alongside render tests.
That is a way to catch errors, not a guarantee that every scene is physically
exact.

## Speed, with the qualifications

These are timings, **not equal-quality speedups**. The draft/final results
come from the frozen `81ae2b075` build on an NVIDIA L4: final uses eight samples
and OIDN, draft four and OIDN. All 152 planned jobs were accounted for. The broader
sweep delivered 583 of 585 images; the million-stars stress scene ran out of GPU
memory in both profiles. Visual review found softer edges, grainier defocus,
wall mottling and changed sparse or spectral highlights at these budgets.
Nineteen earlier quality comparisons failed their declared no-worse FLIP
condition; that experiment was not repeated for this build.

vork times below are complete command wall times, including startup, scene
loading, output writes and encoding. Setup, shader warmup, provisioning and
transfers are excluded. Stills use five warm repetitions, movies three. Driver
caches and clocks were not controlled. Blender 5.2.1 times are retained measured
baselines, not fresh runs: EEVEE uses different settings, and its movie times
exclude startup/loading after a still prime. Both movie timings include encoding.
The car is a proxy. [Benchmark method and recorded results](https://github.com/voyager-so/vork/blob/main/benchmarks/RESULTS.md)
explain the boundaries and carried-forward numbers.

### Default final: stills

1080p PNG, seconds. EEVEE uses 64 samples without denoising; vork uses eight with
OIDN. Missing Blender results are unmeasured, not wins.

| Scene input | EEVEE (s) | vork final (s) | Comparison |
| --- | --- | --- | --- |
| [B-push-in.json](https://github.com/voyager-so/vork/blob/main/benchmarks/B-push-in.json) | 2.912 | 1.993 | 1.46× faster |
| [B-turntable.json](https://github.com/voyager-so/vork/blob/main/benchmarks/B-turntable.json) | 3.148 | 2.247 | 1.40× faster |
| [B-walking.json](https://github.com/voya
handfuloflight80
🟧 echo.github ⭐The repository is itself the origin; I found no upstream post, paper, or linked primary artifact. Its README introduces “vork” as “a headlesVoyager (voyager-so)——
🟧 hnShow HN: Vork – headless 3D and VFX engine for agentsraviparikh31

Interpretation history

Decision trace