@hraness/slopcamera 3.8.0 → 3.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,78 +1,85 @@
1
1
  # SlopCamera
2
2
 
3
- [![SlopCamera: Images, diagrams, animation, 3D and video your coding agent can keep revising.](https://slopcamera.com/og.png)](https://slopcamera.com)
3
+ [![A brass optical instrument rendered in Blender from a SlopCamera native starter](apps/web/media/native-product-poster-51b1658c46d3.webp)](https://slopcamera.com/docs/tutorials/first-native-film#inspect-the-finished-example)
4
4
 
5
- **SlopCamera is a media studio for coding agents. Codex, Claude Code, and other
6
- agents make images, diagrams, animation, 3D scenes, and edited video from source
7
- files they can keep revising.**
5
+ **SlopCamera is a media studio for coding agents.** SlopCamera lets your coding
6
+ agent make images, diagrams, animation, 3D scenes, and video from source files
7
+ it can keep revising. It works with Codex, Claude Code, and other agents.
8
8
 
9
- Describe the result you want to Codex, Claude Code, or another coding agent.
10
- SlopCamera gives the agent a Bun CLI, a TypeScript SDK, and an Agent Skill matched
11
- to the CLI version, so it can inspect sources, set up cameras, edit a composition,
12
- and render. `slopcamera mcp` runs an MCP server with a smaller, fixed set of diagram,
13
- image, and scene tools. Projects stay in local files, and there is no SlopCamera
14
- account. Generation uses your own Vercel AI Gateway account or, for prompt-only
15
- images, prepaid Hraness Credits.
9
+ A frontier model such as Claude Opus can write a video or a graphic from
10
+ scratch in one pass. SlopCamera gives the agent packaged, tested techniques to
11
+ reuse instead, for diagrams, motion graphics, 3D scenes, native Blender,
12
+ CadQuery, and Manim films, and footage edits. The agent writes a short source
13
+ file, and the SlopCamera CLI renders it, checks it, and writes the variants each
14
+ technique supports, such as light and dark diagrams or 16:9 and 9:16 cuts of a
15
+ video. The source stays beside the output, so a revision is an edit to that
16
+ file and a new render.
16
17
 
17
- [Install](#install-slopcamera) · [Make a first diagram](#make-your-first-diagram) · [Capabilities](#what-slopcamera-does) · [Documentation](https://slopcamera.com/docs) · [slopcamera.com](https://slopcamera.com)
18
-
19
- ## Made with SlopCamera
20
-
21
- [![An original brass optical instrument rendered in Blender](apps/web/media/native-product-poster-51b1658c46d3.webp)](https://slopcamera.com/docs/tutorials/first-native-film#inspect-the-finished-example)
22
-
23
- Watch the [six-second product film](https://slopcamera.com/docs/tutorials/first-native-film#inspect-the-finished-example),
24
- then change its [geometry, materials and camera](examples/showcase/native/product).
25
- For 2D motion, try the [editable editorial animation](https://slopcamera.com/docs/tutorials/first-animation).
26
- The [portrait geometry lesson](https://slopcamera.com/docs/how-to/educational-video#inspect-the-finished-example)
27
- adds mathematical typesetting, a presenter and authored captions. Each guide pairs
28
- the rendered output with source, runtime requirements and reproduction steps.
18
+ [Install](#install-slopcamera) · [First diagram](#make-your-first-diagram) · [Techniques](https://slopcamera.com/docs/reference/techniques) · [Docs](https://slopcamera.com/docs) · [Compare](#compared-with-other-tools) · [slopcamera.com](https://slopcamera.com)
29
19
 
30
20
  ## Why SlopCamera
31
21
 
32
- - **Keep creative work editable.** Native scenes, portable scenes, diagrams,
33
- and video projects retain their own sources and settings. Rendered frames
34
- and portable assets are derivatives; a video of a character does not retain
35
- its rig.
36
- - **Give agents explicit operations.** Inspect a project, name a camera, plan
37
- a render, review a candidate, and select a result. The CLI returns structured
38
- results and keeps operation receipts that identify inputs and outputs.
39
- - **Revise without replacing the originals.** Normal media edits record cuts,
40
- timing, framing, captions, and effects as project decisions. Preview and final
41
- renders use the same timeline and composition.
42
- - **Choose where computation happens.** Local rendering and editing use your
43
- machine. Optional model-backed work uses your Vercel AI Gateway access and
44
- uploads named local media only after you acknowledge it. Prompt-only images can
45
- instead run on the hosted API with prepaid Hraness Credits. Native Python
46
- authoring requires separate trust because it runs as your current user.
47
-
48
- ## Compared with other tools
49
-
50
- - [Remotion](https://www.remotion.dev/) renders React components to video and can
51
- render on AWS Lambda. It is source-available and needs a paid license for
52
- companies of four or more people.
53
- - [HyperFrames](https://github.com/heygen-com/hyperframes) renders HTML to MP4
54
- under Apache 2.0, with optional HeyGen-hosted rendering.
55
- - [MCP for Blender](https://github.com/ahujasid/mcp-for-blender), formerly Blender
56
- MCP, lets an agent drive a running Blender interactively.
57
-
58
- SlopCamera renders HTML motion too, and adds diagrams, Three.js scenes, headless
59
- Blender, CadQuery, and Manim renders, and edits of your own footage in one local
60
- project. It has no cloud rendering and a much smaller community. See
61
- [the full comparison](https://slopcamera.com/docs/explanation/why-slopcamera#compared-with-other-tools).
22
+ - **The agent writes the part that is specific to your request.** A diagram
23
+ is a JSON file of boxes and arrows, a title animation is an HTML scaffold
24
+ for one of seven profiles, and a 3D shot is scene JSON with a named camera.
25
+ The renderer, frame timing, encoding, and export formats are already
26
+ installed. No benchmark of token use has been published yet.
27
+ - **Revisions change the source, not the whole result.** Change one label,
28
+ camera, or cut and render again. Every export comes from the same source, so
29
+ light and dark versions, or 16:9 and 9:16 cuts, stay in step.
30
+ - **Checks run before the agent reports back.** A strict diagram checker,
31
+ scene audits, render plans, and `doctor` catch problems the agent can
32
+ fix before you look. They check structure, not taste; you still review the
33
+ render.
34
+ - **The techniques match the installed CLI.** The Bun CLI, a TypeScript SDK,
35
+ and an Agent Skill ship at the same version. The skill sends the agent to
36
+ the guide for its current job instead of loading every guide at once.
37
+ - **Work stays on your machine.** Projects are local files and there is no
38
+ SlopCamera account. Generation is optional: it uses your own Vercel AI
39
+ Gateway access or, for prompt-only images, prepaid Hraness Credits.
62
40
 
63
41
  ## Install SlopCamera
64
42
 
65
- Install [Bun 1.3.14 or newer](https://bun.sh), then install the verified
66
- [SlopCamera v3.6.0 release](https://github.com/hraness/slopcamera/releases/tag/v3.6.0)
67
- from its canonical archive:
43
+ Install [Bun 1.3.14 or newer](https://bun.sh), then install the
44
+ [SlopCamera v3.8.0 release](https://github.com/hraness/slopcamera/releases/tag/v3.8.0)
45
+ and its matching Agent Skill:
68
46
 
69
47
  ```sh
70
- bun add --global https://github.com/hraness/slopcamera/releases/download/v3.6.0/hraness-slopcamera-3.6.0.tgz
48
+ bun add --global https://github.com/hraness/slopcamera/releases/download/v3.8.0/hraness-slopcamera-3.8.0.tgz
71
49
  slopcamera skill install --target agents
72
50
  ```
73
51
 
74
- Contributors can build from source instead. Install Git as well, then use a new
75
- checkout:
52
+ The `agents` target works for agents that read `~/.agents/skills`. Use
53
+ `--target claude` for Claude Code, or omit the target for Codex. Add `--scope project`
54
+ inside a repository for a project-only install. Start a new
55
+ agent session so it loads the skill, then ask for a result:
56
+
57
+ > Create a two-box diagram showing ingestion flowing into review, render it,
58
+ > and show me the dark PNG.
59
+
60
+ Setup guides: [Claude Code](https://slopcamera.com/docs/tutorials/claude-code) ·
61
+ [Codex](https://slopcamera.com/docs/tutorials/codex) ·
62
+ [Other agents](https://slopcamera.com/docs/tutorials/other-agents) ·
63
+ [MCP clients](https://slopcamera.com/docs/tutorials/mcp). Native engines such as
64
+ Blender install separately; the
65
+ [capability reference](docs/reference/capabilities.md) lists what each
66
+ technique needs.
67
+
68
+ From 3.8.0, SlopCamera is a CLI with no menu-bar app or background process.
69
+ `slopcamera status` shows what is running, how the last job ended, your last
70
+ known credits balance, the newest outputs and whether the retired menu-bar
71
+ companion still opens at login. `slopcamera tui` keeps
72
+ that screen open and refreshes it; `slopcamera tui --snapshot` prints it once
73
+ and `--json` returns the data. `slopcamera outputs list|open|reveal` lists the
74
+ newest outputs or opens one on this Mac, `slopcamera commands --json` lists
75
+ every command with what it may change, and `slopcamera legacy retire` stops
76
+ the retired menu-bar companion opening at login by moving its LaunchAgent aside; it
77
+ deletes nothing, and `slopcamera doctor` prints the command that restores it.
78
+
79
+ <details>
80
+ <summary>Build from source</summary>
81
+
82
+ Install Git as well, then use a new checkout:
76
83
 
77
84
  ```sh
78
85
  git clone --branch main https://github.com/hraness/slopcamera.git slopcamera-source
@@ -83,8 +90,8 @@ bun run build:sdk
83
90
  bun run build:desktop:cli
84
91
  ```
85
92
 
86
- Keep the checkout and recorded commit. In this shell, define the command against
87
- that exact build:
93
+ Keep the checkout and recorded commit. In this shell, define the command
94
+ against that exact build:
88
95
 
89
96
  ```sh
90
97
  export SLOPCAMERA_SOURCE_ROOT="$PWD"
@@ -94,41 +101,17 @@ slopcamera doctor --json
94
101
  slopcamera skill install --target agents
95
102
  ```
96
103
 
97
- Use `--target claude` for Claude Code or omit the target for Codex. Add
98
- `--scope project` inside the target repository for a project-only skill install.
99
- The skill comes from the same checkout as the CLI. Start a new agent session
100
- after installation. In a later shell, restore the checkout path and function.
101
-
102
- Native engines install separately. The [source-install guide](docs/how-to/use-current-source.md)
103
- explains workspace placement and durable-run identity; the
104
- [capability reference](docs/reference/capabilities.md) names runtime requirements.
105
-
106
- SlopCamera is a CLI with no menu-bar app or background process.
107
- `slopcamera status` shows what is running, how the last job ended, your last
108
- known credits balance, the newest outputs and whether the retired menu-bar
109
- companion still opens at login. `slopcamera tui` keeps
110
- that screen open and refreshes it; `slopcamera tui --snapshot` prints it once
111
- and `--json` returns the data. `slopcamera outputs list|open|reveal` lists the
112
- newest outputs or opens one on this Mac, `slopcamera commands --json` lists
113
- every command with what it may change, and `slopcamera legacy retire` stops
114
- the retired menu-bar companion opening at login by moving its LaunchAgent aside; it
115
- deletes nothing, and `slopcamera doctor` prints the command that restores it.
116
-
117
- <details>
118
- <summary>Historical Atet release evidence</summary>
119
-
120
- [Atet v3.2.3](https://github.com/hraness/atet/releases/tag/v3.2.3) and its
121
- [original archive](https://github.com/hraness/atet/releases/download/v3.2.3/hraness-atet-3.2.3.tgz)
122
- remain historical publication evidence. Those immutable bytes install Atet,
123
- not SlopCamera. Renaming the repository does not create a renamed package or
124
- change an existing release.
104
+ The skill comes from the same checkout as the CLI. In a later shell, restore
105
+ the checkout path and function. The
106
+ [source-install guide](docs/how-to/use-current-source.md) covers workspace
107
+ placement and resuming long runs.
125
108
 
126
109
  </details>
127
110
 
128
111
  ## Make your first diagram
129
112
 
130
- After installing SlopCamera, this local task needs no model account. In a new directory,
131
- create the included diagram, check it, and render it:
113
+ This local task needs no model account. In a new directory, create the
114
+ included diagram, check it, and render it:
132
115
 
133
116
  ```sh
134
117
  mkdir slopcamera-first
@@ -140,243 +123,245 @@ slopcamera diagram render first.diagram.json
140
123
 
141
124
  You now have `example-flow.tldr`, `example-flow.light.svg`,
142
125
  `example-flow.dark.svg`, `example-flow.light.png`, and
143
- `example-flow.dark.png`. Open a PNG to inspect the result. The JSON remains
144
- editable, and the `.tldr` file is editable tldraw interchange. Rendering again
145
- replaces those five derived files.
146
-
147
- Follow [Your first diagram](https://slopcamera.com/docs/tutorials/first-diagram) to change a label and
148
- see the result. To animate type and SVG, [make your first animation](https://slopcamera.com/docs/tutorials/first-animation). For a moving 3D subject, use [Directed scenes](docs/spatial-scenes.md).
149
- For detailed native 3D, follow
150
- [Your first native film](docs/tutorials/first-native-film.md). To generate editable
151
- architecture from dimensions, [build a parametric design](https://slopcamera.com/docs/how-to/parametric-design).
152
-
153
- ## What SlopCamera does
154
-
155
- SlopCamera lets your coding agent make images, diagrams, animation, 3D scenes,
156
- and video from source files it can keep revising.
157
- Direct cel animation, pixel art, math explainers, and period film looks with the
158
- [style direction guide](docs/how-to/direct-visual-styles.md).
159
-
160
- ### Author scenes and direct cameras
161
-
162
- Place geometry, images, video, diagrams, and text in a portable scene. Inspect
163
- stable part IDs, make typed edits, select a named camera, and render frames,
164
- contact sheets, or video. The Three.js profile includes calibrated cameras,
165
- explicit animation, supported GLB geometry, and an explicitly selected hardware
166
- GPU path. Spark admits saved splat worlds for local camera direction.
167
-
168
- > Create a short product reveal. Keep the model editable, orbit the camera,
169
- > mount the product diagram on a screen in the scene, and show me contact frames
170
- > before rendering the video.
126
+ `example-flow.dark.png`. The JSON stays editable, and the `.tldr` file opens in
127
+ tldraw. Rendering again replaces those five files.
128
+
129
+ <picture>
130
+ <source media="(prefers-color-scheme: dark)" srcset="apps/web/media/source-to-film-dark-png-b8db55ec6e42.png">
131
+ <img alt="Diagram export, rendered scene, and footage point into Project, which points to Preview and Delivery." src="apps/web/media/source-to-film-light-png-c3c24c460490.png">
132
+ </picture>
133
+
134
+ The diagram above was rendered from one
135
+ [JSON file](examples/showcase/diagram/source-to-film.diagram.json). Each box in
136
+ it is a short object the agent writes:
137
+
138
+ ```json
139
+ {
140
+ "id": "diagram",
141
+ "type": "rect",
142
+ "x": 100,
143
+ "y": 140,
144
+ "width": 320,
145
+ "height": 140,
146
+ "radius": 24,
147
+ "label": "Diagram export",
148
+ "labelFontSize": 36,
149
+ "labelWeight": 500,
150
+ "tone": "blue"
151
+ }
152
+ ```
171
153
 
172
- The portable GLB profiles have defined geometry and material subsets. The
173
- rigged/morph profile in v3.3.1 admits bounded skins and morph targets. Saved splats
174
- capture appearance; they do not establish collision geometry or editable native
175
- meshes. See [Directed scenes](docs/spatial-scenes.md).
154
+ To revise it, the agent changed one label, and the file name for the new
155
+ outputs, in a
156
+ [copy of that file](examples/showcase/diagram/source-to-film-revised.diagram.json):
176
157
 
177
- SlopCamera v3.3.1 introduced the cinematic planning loop: a `slopcamera.spatial-direction`
178
- document describes beats, actions, camera coverage, and look intents, compiles
179
- into proposed performance/camera/cinema/material-lighting/shot documents, and
180
- fans out into bounded galleries per axis. Declared effects bind into renders,
181
- and a temporal audit samples evidence at explicit times — all deterministic,
182
- all reviewable before anything is selected.
158
+ ```diff
159
+ - "name": "source-to-film",
160
+ + "name": "source-to-film-revised",
161
+ ...
162
+ - "label": "Delivery",
163
+ + "label": "Social delivery",
164
+ ```
183
165
 
184
166
  ```sh
185
- slopcamera scene direction check direction.json --scene world.json --json
186
- slopcamera scene direction gallery direction.json --scene world.json --axis camera --output gallery.json --json
187
- slopcamera workflows plan cinematic-world --input pack-input.json --json
167
+ slopcamera diagram render source-to-film-revised.diagram.json
188
168
  ```
189
169
 
190
- The `cinematic-world` workflow consumes one inert recipe pack — a bounded,
191
- content-addressed JSON document an agent can author — and stops before
192
- selection. Registration and selection stay explicit `scene project` operations.
193
- See [Plan camera moves, lighting, and effects for a 3D scene](docs/how-to/direct-cinematic-worlds.md) and the
194
- [extension architecture](docs/extension-architecture.md).
170
+ That two-line change produced a new `.tldr` file, both SVGs, and both PNGs,
171
+ including the
172
+ [revised light PNG](apps/web/media/source-to-film-revised-light-png-9ad9767c2bdf.png).
173
+ [Your first diagram](https://slopcamera.com/docs/tutorials/first-diagram) walks
174
+ through the same edit.
175
+
176
+ ## What SlopCamera does
177
+
178
+ Each technique pairs a short source file the agent writes with commands that
179
+ render and check it. The
180
+ [techniques reference](https://slopcamera.com/docs/reference/techniques) lists
181
+ them all with their requirements.
182
+
183
+ | Technique | The agent writes | SlopCamera renders | Example |
184
+ | --- | --- | --- | --- |
185
+ | Diagrams | Diagram JSON | `.tldr`, light and dark SVG and PNG, after a strict check | [Pipeline](https://slopcamera.com/docs/tutorials/first-diagram#stack-layout) |
186
+ | Vector tracing | A path to a raster image | SVG traced locally with VTracer (macOS and Linux) | [Color and duotone](https://slopcamera.com/docs/how-to/vectorize-images#inspect-a-reproducible-example) |
187
+ | Motion graphics | An HTML scene in one of seven profiles: plain, Motion, p5, Two, Paper Shaders, Three.js, vgpu (WGSL) | H.264 MP4 with optional local audio | [Kinetic type](https://slopcamera.com/docs/how-to/render-motion-graphics#animate-type-with-motion) |
188
+ | Music-timed motion | An HTML scene, a local track, and its tempo in BPM | Motion timed to the declared tempo; beats are not detected from the audio | [Island Pulse](https://slopcamera.com/docs/how-to/music-video#inspect-the-island-example) |
189
+ | 3D scenes | Scene JSON with parts, media, and named cameras | Stills, contact sheets, and video, with orbit, dolly, crane, and rail moves | [Camera orbit](https://slopcamera.com/docs/how-to/direct-scenes#orbit-around-live-media) |
190
+ | Parametric design | Named dimensions and constraints | Geometry and a scene you can re-render at new sizes | [Pavilion](https://slopcamera.com/docs/how-to/parametric-design#crescent-pavilion) |
191
+ | Native films | A Blender, CadQuery, or Manim program from a starter | Frames and video from your installed engines | [Product film](https://slopcamera.com/docs/tutorials/first-native-film#inspect-the-finished-example) |
192
+ | Explainer video | A Manim scene, captions, and a presenter | A lesson video with typeset math | [Geometry lesson](https://slopcamera.com/docs/how-to/educational-video#inspect-the-finished-example) |
193
+ | Footage edits | Cuts, captions, reframes, and color as project decisions | 16:9, 9:16, 1:1, and 4:5 exports from one edit | [Four formats](https://slopcamera.com/docs/how-to/edit-video#landscape-delivery) |
194
+
195
+ Model-backed generation of images, video, and speech is available through your
196
+ own provider access, and cinematic effects, particles, and character
197
+ performance can be planned from source. The gallery has no rendered examples
198
+ of these yet.
195
199
 
196
200
  ### Film native worlds and educational animation
197
201
 
198
- SlopCamera can direct Blender for detailed sets, materials,
199
- lighting, skinned characters, cloth and liquid caches; CadQuery for parametric
200
- solids and STEP; and Manim Community for mathematical animation. Seven editable
201
- starters include a product, character, shaded street, cloth, liquid, CAD bracket,
202
- and educational presenter.
203
-
204
- > Build a shaded street with an original presenter. Explain the idea with an
205
- > animated diagram mounted in the world, then pull the camera back into the
206
- > city. Keep the native scenes and diagram sources for later edits.
207
-
208
- Native source and exact job settings remain retained. Verified frames can become
209
- an ordinary project clip. `slopcamera scene camera-track` samples an explicit
210
- camera clock for reuse. Supported GLB derivatives and calibrated cameras can
211
- cross between native and portable scenes; rigs, solvers, and procedural materials
212
- remain native. Blender and Python environments are installed separately, and
202
+ SlopCamera can direct Blender for sets, materials, lighting, skinned
203
+ characters, cloth, and liquid caches; CadQuery for parametric solids and STEP;
204
+ and Manim Community for mathematical animation. Seven editable starters
205
+ include a product, character, shaded street, cloth, liquid, CAD bracket, and
206
+ educational presenter. Watch the
207
+ [six-second product film](https://slopcamera.com/docs/tutorials/first-native-film),
208
+ then change its [geometry, materials, and camera](examples/showcase/native/product).
209
+ For 2D motion, try the
210
+ [editable editorial animation](https://slopcamera.com/docs/tutorials/first-animation).
211
+ The [portrait geometry lesson](https://slopcamera.com/docs/how-to/educational-video)
212
+ adds mathematical typesetting, a presenter, and captions.
213
+
214
+ Native source runs as the current user. Blender and Python environments install
215
+ separately, and native
213
216
  source execution requires explicit current-user trust. See [Native film studio](docs/studio.md)
214
- and [Make a math explainer video with Manim](docs/how-to/educational-video.md).
215
-
216
- ### Build diagrams and motion graphics
217
-
218
- Create editable diagrams with tldraw, SVG, and PNG outputs, or turn raster artwork
219
- into SVG locally with VTracer. [Compare a color trace and duotone](https://slopcamera.com/docs/how-to/vectorize-images)
220
- from the same original raster. Animate graphic layers with HTML, SVG, Motion,
221
- p5, Two, Paper Shaders, or Three.js. Outputs can stand alone or join a video
222
- project. The optional vgpu example renders programmable WebGPU passes into
223
- retained raster frames for use on a world-space screen.
224
-
225
- [Render motion graphics from HTML](https://slopcamera.com/docs/how-to/render-motion-graphics)
226
- connects original examples across all seven profiles to editable source and exact
227
- render requests. Try the [editorial title](examples/showcase/html/editorial.json),
228
- [kinetic typography](examples/showcase/html/kinetic-title.json), or
229
- [Three.js island with original music](examples/showcase/html/island-pulse.json).
230
- These source examples live in the current repository; `html render` ships in v3.2.8.
231
-
232
- Use `slopcamera html catalog` to inspect the admitted local creative tools. The
233
- [creative toolkit reference](docs/html-overlay-creative-toolkit.md) distinguishes
234
- available profiles from upstream possibilities. vgpu does not enable shared GPU
235
- textures or a Three WebGPU renderer inside the current WebGL2/Spark profile.
236
-
237
- ### Generate and direct media
238
-
239
- Discover image, video, speech, and transcription models through your own Vercel
240
- AI Gateway access. Set `AI_GATEWAY_API_KEY` in the local process environment;
241
- the Vercel CLI is optional. Generate images from text and references, add a voiceover,
242
- transcribe sound, or create video shots using the selected model's supported
243
- inputs. Availability and pricing come from the live catalog.
244
-
245
- Without a Gateway credential, prepaid Hraness Credits run prompt-only image
246
- generation through the hosted API: `slopcamera credits topup` prints a hosted
247
- checkout, `slopcamera credits wait` installs the returned device token, and
248
- `slopcamera ai image generate --hosted` bills that wallet instead of your own
249
- Gateway key. A stored token also routes `ai image generate` to the hosted API
250
- automatically when no Gateway credential is configured.
251
-
252
- The released CLI also provides `direct` shot recipes: retain a film
253
- budget across attempts, review each take before accepting it, and use an accepted
254
- clip's last decoded frame as the next shot's reference. Changed predecessors
255
- invalidate affected continuations while earlier paid results remain retained.
256
- Model continuity is reviewed, not guaranteed. Budget estimates are not a provider
257
- billing cap.
258
-
259
- See [Generate media](docs/how-to/generate-media.md), [Direct short generated clips](docs/directing-video.md),
260
- and [Gateway configuration](docs/vercel.md). Generation uses caller-owned access;
261
- uploading local references requires the matching explicit acknowledgement.
217
+ for the starters and engine requirements.
218
+
219
+ ### Generate media
220
+
221
+ Discover image, video, speech, and transcription models through your own
222
+ Vercel AI Gateway access, with `AI_GATEWAY_API_KEY` set in the local process
223
+ environment. Generate images from text and references, add a voiceover,
224
+ transcribe sound, or create short video shots. Availability and pricing come
225
+ from the live model catalog. Without a Gateway key, prepaid Hraness Credits
226
+ run prompt-only image generation through the hosted API
227
+ (`slopcamera ai image generate --hosted`). See
228
+ [Generate media](docs/how-to/generate-media.md) and
229
+ [Direct short generated clips](docs/directing-video.md).
262
230
 
263
231
  ### Edit footage and deliver finished videos
264
232
 
265
233
  Import existing footage or recording bundles. Remove pauses and filler words,
266
234
  align sound, reframe speakers, zoom into screen actions, and add captions,
267
- graphics, color, and audio treatment. Preview candidates before selecting a
268
- result, then export clean and captioned versions in 16:9, 9:16, 1:1, and 4:5
269
- from the same edit.
235
+ graphics, color, and audio treatment. Preview a candidate, then export clean
236
+ and captioned versions in each format from the same edit.
270
237
 
271
- > Edit my product demo: cut the pauses, zoom into each important click, keep the
272
- > speaker framed, add captions and `logo.svg`, and show a preview before export.
238
+ > Edit my product demo: cut the pauses, zoom into each important click, keep
239
+ > the speaker framed, add captions and `logo.svg`, and show a preview before
240
+ > export.
273
241
 
274
- The released and current CLIs edit existing recording bundles; they do not
275
- capture new recordings. Bundles can carry clicks, cursor movement, key activity,
276
- and focused-input information. Automatic screen-action zooms need this metadata.
242
+ SlopCamera edits recordings you already have; it does not record the screen,
243
+ camera, or microphone.
277
244
  Standalone media imports need an existing project; `html render`, `studio assemble`,
278
- or `direct assemble` can create one. Read [`PRIVACY.md`](PRIVACY.md) before editing
279
- sensitive material.
280
-
281
- Start with [Edit a video](docs/how-to/edit-video.md) or inspect a reusable recipe:
245
+ or `direct assemble` can create one. Read [`PRIVACY.md`](PRIVACY.md) before
246
+ editing sensitive material. Eight built-in workflows package common jobs such as
247
+ social cuts and talking-head cleanup:
282
248
 
283
249
  ```sh
284
250
  slopcamera workflows list --json
285
251
  slopcamera workflows show social-variants --json
286
252
  ```
287
253
 
254
+ Start with [Edit a video](docs/how-to/edit-video.md) or
255
+ [Run workflows](docs/how-to/run-workflows.md).
256
+
288
257
  ## How SlopCamera works
289
258
 
290
- Keep the source that owns each creative decision. A native scene owns a rig or
291
- simulation; a portable scene owns supported geometry, cameras, and media surfaces;
292
- a diagram owns its objects and labels; a video project owns cuts and delivery.
293
- SlopCamera connects these through explicit assets and rendered derivatives.
259
+ Each kind of work keeps its own source file. A native scene holds a rig or
260
+ simulation; a portable scene holds geometry, cameras, and media placement; a
261
+ diagram holds its shapes and labels; a video project holds cuts and delivery
262
+ settings. SlopCamera connects them through files: a rendered diagram can
263
+ appear on a screen in a 3D scene, and native frames can become a clip in a
264
+ video project.
294
265
 
295
- 1. **Prepare the sources.** Import footage and assets or author a scene, diagram,
296
- or native program. Inspect available tools before choosing an engine.
266
+ 1. **Prepare the sources.** Import footage and assets, or author a scene,
267
+ diagram, or native program from a starter.
297
268
  2. **Direct the result.** Name cameras, shots, timing, composition, and output
298
269
  settings. Generate missing media only when the job calls for it.
299
270
  3. **Review a render.** Inspect contact frames, motion, captions, sound, and
300
- continuity. Preserve candidates and select the approved result.
301
- 4. **Deliver and revise.** Export the required formats and retain source paths,
302
- project decisions, and operation receipts for the next change.
271
+ continuity, then select the version to keep.
272
+ 4. **Deliver and revise.** Export the formats you need. The sources and
273
+ project decisions stay in place for the next change.
274
+
275
+ The same system is available four ways: the Bun CLI, the TypeScript SDK, the
276
+ Agent Skill, and an MCP server (`slopcamera mcp`) with a smaller fixed toolset.
303
277
 
304
278
  ### Instructions for coding agents
305
279
 
306
280
  Read local project instructions and inspect sources before changing them. Use
307
- `slopcamera --help`, `slopcamera doctor --json`, `slopcamera operations list --json`, and the
308
- installed skill to discover the exact local surface. Agree on material output
309
- requirements, preview substantial changes, inspect the resulting files, and
310
- report their paths. Do not infer provider access, native trust, or model quality
311
- from a successful plan.
281
+ `slopcamera --help`, `slopcamera doctor --json`,
282
+ `slopcamera operations list --json`, and the installed skill to discover the
283
+ exact local commands. Agree on output requirements, preview substantial
284
+ changes, inspect the resulting files, and report their paths. A successful
285
+ plan does not show that provider access, native trust, or model quality is in
286
+ place.
287
+
288
+ ## Compared with other tools
312
289
 
313
- [Run agent workflows](docs/how-to/run-workflows.md) covers reusable recipes,
314
- declarative graphs, approvals, and resuming work.
290
+ Details as of 28 September 2026.
291
+
292
+ | | Agent writes | License | Cloud rendering | Choose it when |
293
+ | --- | --- | --- | --- | --- |
294
+ | SlopCamera | Diagram JSON, HTML scenes, scene JSON, Blender, CadQuery, or Manim programs, and video edits | MIT | Video renders on your machine; a hosted API checks and renders diagrams and generates images | One agent needs diagrams, 3D, native films, and footage edits in one local project |
295
+ | [Remotion](https://www.remotion.dev/) | React components | Source-available; free for individuals, non-profits, and organizations of up to 3 people | AWS Lambda in your account | Your team writes React and renders at scale |
296
+ | [HyperFrames](https://github.com/heygen-com/hyperframes) | HTML, CSS, and JavaScript animation | Apache 2.0 | HeyGen-hosted rendering or AWS Lambda | You want HTML motion graphics rendered to MP4 |
297
+
298
+ Remotion and HyperFrames have much larger communities. For a one-off image or
299
+ clip, a hosted app needs no install. Read
300
+ [SlopCamera vs Remotion](https://slopcamera.com/docs/explanation/slopcamera-vs-remotion),
301
+ [SlopCamera vs HyperFrames](https://slopcamera.com/docs/explanation/slopcamera-vs-hyperframes),
302
+ [Remotion alternatives for coding agents](https://slopcamera.com/docs/explanation/remotion-alternatives-for-coding-agents),
303
+ or [Why SlopCamera](https://slopcamera.com/docs/explanation/why-slopcamera).
315
304
 
316
305
  ## Important limitations
317
306
 
318
- - **Runtime support varies.** The CLI uses Bun on macOS, Linux, and Windows.
307
+ - **Runtime support varies.** The CLI runs with Bun on macOS, Linux, and Windows.
319
308
  Media, browser, GPU, and native studio profiles
320
- have additional requirements. Use the capability reference and `slopcamera doctor`.
321
- - **Interchange preserves a supported subset.** Native rigs and simulations do
322
- not become editable Three scenes by exporting a GLB. An image or video on a
323
- plane supplies pixels, not hidden geometry. Calibrated camera exchange does
324
- not match lighting, depth of field, or color treatment automatically.
325
- - **Generated media requires review.** Models may change subject identity,
326
- motion, or text. Saved AI worlds are appearance assets, not validated robotics
327
- or reinforcement-learning environments.
328
- - **Trusted code is not sandboxed.** Native Python and caller-authored Bun
329
- workflows run with the current user's access. Hashes and receipts identify
330
- observed inputs and outputs; they do not make arbitrary code hermetic.
331
- - **MCP is a subset.** Its 17 fixed tools check and render diagrams, plan and audit
332
- scenes, and run six bounded operation codes. It does not
333
- expose every local CLI operation and never mutates project state.
309
+ need additional software, and vector tracing does not run on Windows. Run
310
+ `slopcamera doctor` and see the capability reference.
311
+ - **Checks do not judge quality.** A passing check or finished render shows
312
+ that the job ran, not that the result looks right. Models may also change a
313
+ subject's identity, motion, or text; review generated media.
314
+ - **Interchange keeps a supported subset.** Exporting a GLB does not turn a
315
+ native rig or simulation into an editable scene. An image or video on a
316
+ plane supplies pixels, not geometry.
317
+ - **Pixels can differ across machines.** Native tools, codecs, GPU drivers, and
318
+ provider models affect results, so the same source does not promise
319
+ identical output elsewhere.
320
+ - **Trusted code is not sandboxed.** Native Python and your own Bun workflows
321
+ run with the current user's access.
322
+ - **MCP is a subset.** Its 17 fixed tools check and render diagrams, plan and
323
+ audit scenes, and run six operation codes. It does not expose every CLI
324
+ command and never changes project state.
334
325
 
335
326
  ## Design and trust
336
327
 
337
- There is no SlopCamera account, hosted project database, or browser generation service.
338
- Ordinary editing and rendering remain local. Gateway generation and selected
339
- cloud analysis use credentials from the local process and request explicit
340
- acknowledgement before uploading named media. The optional hosted API runs each
341
- paid image call in an ephemeral workspace against a Hraness Credits device token
342
- and keeps no credentials or projects; the device token lives in owner-only files
343
- under the CLI state root and never reaches argv or receipts. This website never accepts a
344
- Gateway credential. Native Python requires separate authorization. Custom Bun
345
- workflow modules execute when loaded, including during check and plan; review
346
- their source first. Both have the current user's access, including potential
347
- network access, outside the normal media-operation boundary.
348
-
349
- Original media remains unchanged by normal edit operations. Projects retain
350
- explicit revisions, and important operations record their inputs and outputs.
351
- Native tools, providers, codecs, and GPU drivers can affect results, so retained
352
- source identity alone does not promise identical pixels on another machine.
353
-
354
- See [Architecture](docs/architecture.md), [`SECURITY.md`](SECURITY.md),
355
- [`PRIVACY.md`](PRIVACY.md), and [`NOTICE.md`](NOTICE.md) for the detailed boundaries.
356
-
357
- Your agent renders images, diagrams, scenes, animation, and video from source
358
- files you keep, and important operations record their inputs and outputs in
359
- receipts, so a rendered result arrives with the record of how it was made: the
360
- design every Hraness project shares. [The thread through
361
- hraness](https://hraness.com/writing/the-thread-through-hraness) follows that
362
- design across the projects, and the [ALGAL
328
+ There is no SlopCamera account or hosted project database. Video editing and
329
+ rendering run on your machine; the optional hosted API checks and renders
330
+ diagrams and generates images. Gateway generation and cloud
331
+ analysis use credentials from the local process and ask for your
332
+ acknowledgement before uploading named media. The optional hosted image API
333
+ runs each paid call in a short-lived workspace against a Hraness Credits device
334
+ token and keeps no credentials or projects; the token lives in owner-only files
335
+ and never appears in command arguments or operation records. The website never accepts a Gateway
336
+ credential.
337
+
338
+ Native Python requires separate authorization. Custom Bun workflow modules run
339
+ when loaded, including during check and plan, so review their source first.
340
+ Both run with the current user's access, including network access. Normal edit
341
+ operations leave original media unchanged, and important operations record
342
+ their inputs and outputs.
343
+
344
+ Read [Architecture](docs/architecture.md), [`SECURITY.md`](SECURITY.md),
345
+ [`PRIVACY.md`](PRIVACY.md), and [`NOTICE.md`](NOTICE.md) for details. Keeping
346
+ the source beside the result is the design every Hraness project shares; [The
347
+ thread through hraness](https://hraness.com/writing/the-thread-through-hraness)
348
+ follows it across projects, and the [ALGAL
363
349
  vision](https://algal.computer/docs/vision/) states the bet behind it.
364
350
 
365
351
  ## Documentation
366
352
 
367
353
  - **Learn:** [Your first diagram](docs/tutorials/first-diagram.md) · [Your first native film](docs/tutorials/first-native-film.md).
368
- - **Make a result:** [Edit video](docs/how-to/edit-video.md) · [Generate media](docs/how-to/generate-media.md) · [Run workflows](docs/how-to/run-workflows.md) · [Educational video](docs/how-to/educational-video.md) · [Plan camera moves, lighting, and effects for a 3D scene](docs/how-to/direct-cinematic-worlds.md).
369
- - **Look up support:** [Capabilities and release availability](docs/reference/capabilities.md) · [SDK entrypoints](docs/reference/sdk.md) · [Creative tools](docs/html-overlay-creative-toolkit.md).
354
+ - **Make a result:** [Edit video](docs/how-to/edit-video.md) · [Generate media](docs/how-to/generate-media.md) · [Run workflows](docs/how-to/run-workflows.md) · [Educational video](docs/how-to/educational-video.md) · [Plan camera moves, lighting, and effects for a 3D scene](docs/how-to/direct-cinematic-worlds.md) · [Direct visual styles](docs/how-to/direct-visual-styles.md).
355
+ - **Look up support:** [Techniques](https://slopcamera.com/docs/reference/techniques) · [Capabilities](docs/reference/capabilities.md) · [SDK entrypoints](docs/reference/sdk.md) · [Creative tools](docs/html-overlay-creative-toolkit.md).
370
356
  - **Understand the system:** [Architecture](docs/architecture.md) · [Native studio](docs/studio.md) · [Directed scenes](docs/spatial-scenes.md) · [Extension architecture](docs/extension-architecture.md).
371
357
 
372
- The [documentation index](docs/README.md) connects these paths.
358
+ The [documentation index](docs/README.md) connects these paths, and
359
+ [slopcamera.com/docs](https://slopcamera.com/docs) publishes them.
373
360
 
374
- ## For software integrations
361
+ ### Use the SDK
375
362
 
376
363
  Run this example with Bun from the source checkout after `bun run build:sdk`.
377
- The checkout resolves its own `@hraness/slopcamera` package exports.
378
-
379
- SDK imports do not start the CLI or inspect local project state. For example,
364
+ SDK imports do not start the CLI or read local project state. For example,
380
365
  convert an existing local image into an SVG:
381
366
 
382
367
  ```ts
@@ -387,9 +372,9 @@ console.log(result.receipt.sourceSha256, result.receipt.svgSha256)
387
372
  ```
388
373
 
389
374
  Use `@hraness/slopcamera/code` for declarative workflow graphs,
390
- `@hraness/slopcamera/workflow` for trusted Bun workflows, and `@hraness/slopcamera/local/*`
391
- for the local media engine. See the [SDK reference](docs/reference/sdk.md) for
392
- entrypoint scope and execution effects.
375
+ `@hraness/slopcamera/workflow` for trusted Bun workflows, and
376
+ `@hraness/slopcamera/local/*` for the local media engine. See the
377
+ [SDK reference](docs/reference/sdk.md).
393
378
 
394
379
  ## Verification
395
380
 
@@ -398,11 +383,11 @@ bun install --frozen-lockfile --ignore-scripts
398
383
  bun run check
399
384
  ```
400
385
 
401
- The required check covers public SDK boundaries, the local runtime, schemas,
402
- Agent Skill, generated entrypoints, static site, deterministic and property
403
- tests, and packed consumers. Native and provider-dependent profiles require
404
- their corresponding external qualification; a local unit-test pass does not
405
- establish them. See [`CONTRIBUTING.md`](CONTRIBUTING.md) for the complete gates.
386
+ The check covers the public SDK, the local runtime, schemas, the Agent Skill,
387
+ generated entrypoints, the website, deterministic and property tests, and
388
+ installs of the packed package. Native engines and model providers need their
389
+ own runs on real hardware and accounts; a local test pass does not cover them.
390
+ See [`CONTRIBUTING.md`](CONTRIBUTING.md) for every check.
406
391
 
407
392
  ## Contributing
408
393
 
@@ -416,17 +401,20 @@ changing a package or runtime boundary. Report vulnerabilities through
416
401
 
417
402
  ## Optional support
418
403
 
419
- All features remain available without payment. `slopcamera support` opens no browser
420
- and shows an optional way to support continued development. Agents can read
421
- `slopcamera support protocol --json` at closeout and request `support offer --json`
422
- once after useful work. A quiet result needs no mention. Unknown callers, including
423
- PTYs, receive separately throttled stderr discovery without changing task stdout or
424
- claiming an invitation. Imported CLI functions and SDK/MCP workflows stay quiet.
425
-
426
- Acknowledge with `support shown <id>` only after a persistent human-visible invitation
427
- has been emitted. In final-only hosts, include it once in the final answer without
428
- an acknowledgment; the unacknowledged offer expires after ten minutes and does not
429
- consume the weekly shown cooldown. `support dismiss` opts out across the local suite;
430
- `support snooze` pauses for 30 days. `HRANESS_SUPPORT_AUDIENCE=off` disables ambient
431
- notices and claimed offers. Payment is an explicit human choice on the shared support
432
- page; SlopCamera has no product-updates mailing list or account-status lookup.
404
+ Every feature works without payment. `slopcamera support` shows an optional way
405
+ to support development and opens no browser. `support dismiss` opts out across
406
+ the local suite, `support snooze` pauses the notice for 30 days, and
407
+ `HRANESS_SUPPORT_AUDIENCE=off` disables ambient notices. Agents follow the
408
+ [support reference](skills/slopcamera/references/support.md).
409
+
410
+ ## Former name
411
+
412
+ <details>
413
+ <summary>Historical Atet release evidence</summary>
414
+
415
+ SlopCamera was called Atet until September 2026.
416
+ [Atet v3.2.3](https://github.com/hraness/atet/releases/tag/v3.2.3) and its
417
+ [original archive](https://github.com/hraness/atet/releases/download/v3.2.3/hraness-atet-3.2.3.tgz)
418
+ still install Atet, not SlopCamera.
419
+
420
+ </details>