Release notes
What shipped, by product. Setup guide if you're just getting started.
v0.8.0
November 6, 2026
DataDriver v0.8.0
DataDriver 0.8.0 works best with Valet 1.6.0 and CameraOp 0.6.0. The three were released together.
New
- Trade starters. Share a comp as one
.ddstarterfile. Share on a card in Starters ▸ Yours packs the comp, its rigs, its footage, a sample sheet (Clean or As it looks) and a picture. The other person drops the file on the Build tab and sees a card. Nothing enters the project yet. Add puts it in Yours. Use imports the comp into the open project, loads its sheet and shows row 1. A reload of the panel does not lose a job in flight. A file from a newer DataDriver says so before it opens. - Film the rows with cuts. Film the rows can now cut between cameras instead of flying one tour. The card names the shots, the cuts, the shape (wide, one card per slot, wide), the seed and the film length. Each voiced line sits where its card is cut in. Needs Valet and CameraOp 0.6.0. Without a CameraOp that can cut, the run stops before any voice is paid for. A cut film holds each card for the whole film. The Showcase tour pulls back to 1.25.
- Media columns get Browse…. A column of picture or clip paths now has a Browse… button in the Data tab. A pick from outside the asset library is copied into it. The same name and size is reused. A different size is saved as
<name> 2. Nothing is overwritten. A failed copy changes nothing and says so. - A missing picture is never silent. When a row's file is gone, the comp shows After Effects' own placeholder, not the last row's picture. The table marks the row ✗ and the cell "picture missing". Click Locate… to pick the file. The row inspector says the same. It works for a nested picture rig and for any file name, long ones too.
- Pictures are found next to the sheet. A relative picture path now also tries the sheet's own folder, after the asset library and the project folder. A project saved elsewhere keeps its pictures.
- The base state learns. The base (what the comp looks like before a row is applied) now takes in layers added after it was written, such as a Valet build's layers. It never adopts a change DataDriver made itself: Apply narration's resize and layers, the tour runners' narration, or a live row preview. A hand change to a plain comp, such as a new length or a hidden layer, now adopts after Rescan.
- A set-active-row answer says where the row is. It says whether the row is on the comp, in one sentence: "Row 3 is selected; the comp still shows row 0." With live on, a cell edit goes to the comp only when its row is the one on the comp. Otherwise the sheet keeps the edit and a note says it was not sent.
- The interview door has its own row above Starters. It is a solid card, folded or open, and the Build tab is the one scroller.
- A first build lands its sheet on a profile with no asset root. The default is
~/Documents/DataDriver/data/. A toast and the receipt name the file. If it cannot be saved, the refusal says "Not saved to disk". - Opening the panel no longer dirties a saved project. The base marker waits until the project is unsaved anyway.
- Receipts survive a close. The last batch receipt, with its re-run sentence, is still there after you close and reopen the panel.
- Agents. SCHEMA 1.44.0 (0.7.0 had 1.40.0). New verbs:
read-starter-file,open-share-card,share-starter,add-starter,use-starter(1.42.0) andread-base(1.44.0).read-basereads the stored base, whether the comp drifted and in which properties, the live preview's footprint, and the row on the comp. New args:run-cinematic-finishcamera: "cuts"andseed(1.41.0; refusalsbad-argandcameraop-too-old). Theset-active-rowack addsonCompanddetail(1.43.0).
Fixed
- A build's comp made after its sheet gets the sheet's binding. Before, a reload said "No data is loaded".
- Changing the Showcase tour reaches installed panels. Factory presets you never edited refresh when the seed changes. Your own edits stay.
- Set-camera-life and set-targeting get 10 seconds to answer. Before, one missed the 5 second budget right after a fill.
- The Higgsfield check no longer matches the word anywhere in
~/.claude.json. It reads connector entries. - No chained ternary reaches After Effects. Two lines in the host did the wrong thing: a trim rule with only
durationSeconds, and a payload with a rigs array. A check now runs in CI.
Known
- Trade starters are new in this release, lightly tested. They have not had a live check in After Effects yet.
- The Build tab, recipes, Film the rows and the answers to Valet need Valet. Valet is macOS-only for now.
- From the chat, Valet can stop a plain batch and Film the rows. For a tour or a URL tour, Valet offers Wait.
- The sample needs After Effects 2026 or newer.
- A saved copy of the sample can open bound to the shared starter sheet, not the
sample.csvbeside it. An edit and Export would write the shared starter. - A length that is not a whole frame breaks Apply duration with autoSolve. After Effects rounds the comp, and the work area is then too long.
- The first Apply narration lays its Narration and Captions layers into the base. Check them after you run it.
- There is no Reset in the panel for a raised preview. It clears on a project swap or a batch normalize.
- The tour runners' narration change (this release) has not had a live check.
- Apply says nothing was applied when a comp's only rigs sit inside nested precomps.
- Replicate does not apply font, opacity, audio, comp or Essential Property rigs. It names each rig it skips.
- ✕ in Your builds deletes the build at once. There is no undo.
- A Google Sheets or REST source can still be swapped back when you switch comps.
- On Windows, files from an earlier DataDriver stay in your home folder, so the panel starts fresh and signed out. DataDriver on Windows is not tested yet.
- On Home, the line shows twice.
- A comp the project record does not know is still called "the template comp".
- A long comp name or file name makes the line wrap.
- With edits saved to the file, "discard" is gone for CSV sources: a mistaken Delete selected lands on disk within a second. Undo it in the table.
v0.7.0
October 27, 2026
DataDriver v0.7.0
New
- The Build tab. Valet is the one chat. The Agent tab is now Build, and its chat is gone. Fill in the form and press Build in Valet: Valet opens and runs it. A strip says where Valet is, for example "Waiting for you in Valet · Layout · 4 of 9." Your builds lists each finished run at once, with Rebuild and Update. A dot on the tab means a build is due for an update.
- Recipes. The Build tab opens on a gallery in three groups: "Ready now", "One step away" and "Start from nothing". A tile opens the recipe's page, with what it needs, what it makes and Run it. The page shows your last runs with Run again. Learn more ↗ opens the recipe's page on data-driver.ca. Home's "0. Start from…" shows the sample, then the top three recipes that are ready now.
- Recipes in a chain. A tile ends "then <name>". The page ends "Then → <name>" and adds up the time: "about N minutes in all". From a web page and Versus are in the gallery. A sheet made from a web page gets a
.source.jsonfile beside it that names the page and each picture's source. - Try it on the sample. Each recipe page has a second button, Try it on the sample, and each tile has the chip "or try it on the sample". One press opens the Polaris Goods sample, loads its sheet and runs the recipe on it. Each try writes to its own output folder. Press it again after a try and the card offers to reset the sample. Reopen <name> takes you back to your own project.
- The sample, with or without Valet. Home's first door is the sample. Render the sample renders row 1 and shows the frame. Open the folder shows the file. The Data tab's Sample data card loads its sheet, and Starters shows a Bundled card. Sample 2.0 has four comps, two sheets and three looks (polaris, night-market, paper).
- Starters ▸ Yours. A comp you made data-driven with Valet shows here: "Learned <date> · K of N slots rigged". When the comp changed since, the card says "comp changed", and Update asks Valet to update it.
- Re-run as update. A second Replicate run of the same template writes into the comps the last run made. It makes comps only for new rows and leaves unchanged rows alone. The receipt says what happened: "4 comps updated · 2 unchanged · 1 created · 2 not in the sheet". Turn on Make a new set for a fresh pile. The Tour wizard reuses the last stage and says so.
- The project remembers. DataDriver keeps one record per project, in a
.datadriverfolder beside the.aep. Open the project a week later and the line reads, for example, "Product Card × products.csv · 4 rigs · last run 6 of 6 · Oct 12." When the rigs are missing, DataDriver rescans once: "Rescanned · 4 rigs." A comp a run made says whose row it is: "Aurora Headphones is row p-001 of Product Card." The Batch tab puts back its output folder. - Receipts with pictures. The batch receipt shows row 1 as it rendered, with "6 of 6 rendered" (Replicate: "6 of 6 comps created"). Click it for full size. Your builds shows a build's before › after. Home adds one line, for example "Last 30 days: 37 comps · 2 tours · 1 recipe".
- Film the rows speaks. Set narration to "per row" and each row's Script line becomes a voice, placed where the camera arrives. The card says what the voices cost before you approve. A line whose voice fails stays a silent card: "1 line had no voice". Stop ends the voice in flight. Without narration, nothing is spent.
- Chart it places the chart. A new chart can go in a box with a position and a size. It stays in that box row after row.
- The sign-in wait unlocks itself. "Waiting for approval" checks every 30 seconds and opens the panel when a person approves you. If access is taken away, it says "Access was removed". If the panel crashes, you see "DataDriver stopped. The report is saved." and Reload DataDriver.
- Agents. SCHEMA 1.40.0 (0.6.0 had 1.30.0). New verbs:
land-design-csv,open-sample,leave-sample,stop-cinematic-finish,read-cinematic-status. New args:start-batchmakeNewSet(refusalnothing-changed),create-chartpositionandsize(refusalinvalid-box),run-cinematic-finishnarration: "per-row",apply-rigrigType: "textFit". Theapply-rigdry run saysalreadyRigged. The describe envelope addsdataSource.pathandcustom.lastBatch.receipt.
Fixed
- Release ZXPs no longer open a debug port. Before, every signed ZXP, 0.6.0 too, let a program on your computer attach to the panel on port 8860.
- Shape rigs with no picked property now drive. A fill, stroke, stroke width or corner radius rig with no picked property changed nothing and still said "applied". Now it changes every fill or stroke on the layer, or every rectangle's roundness, or it warns. Batch and Replicate rows whose rig did not land now say so, and Reset puts strokes, widths and radii back.
- A picked property on a shape with several groups lands on that group. Before, it always hit Group 1.
- On Windows, DataDriver keeps its files in %APPDATA%\DataDriver. Before, it used your home folder.
- A sheet you load stays loaded when you switch comps. Before, a comp's remembered file could swap it back.
- No yellow note for a comp with no layout rules. Before, every row said "Layout solver: no rules found or solved". Rules that all fail still warn: "N rules found, none solved".
- The tab opens on the first try. Before, the first open of the Agent tab showed an error.
- Stale-scan messages say "Rescan comp first", not "refresh".
Known
- The Build tab, recipes, Try it on the sample and Film the rows need Valet 1.5.0. The answers to Valet need Valet 1.4.0. Valet is macOS-only for now.
- From the chat, Valet can stop a plain batch and Film the rows. For a tour or a URL tour, Valet offers Wait.
- The sample needs After Effects 2026 or newer.
- Opening DataDriver on a saved project can mark it unsaved. A recipe may then stop on "unsaved changes". Save, then run it again.
- Apply says nothing was applied when a comp's only rigs sit inside nested precomps.
- Replicate does not apply font, opacity, audio, comp or Essential Property rigs. It now names each rig it skips.
- ✕ in Your builds deletes the build at once. There is no undo.
- A Google Sheets or REST source can still be swapped back when you switch comps.
- On Windows, files from an earlier DataDriver stay in your home folder, so the panel starts fresh and signed out. DataDriver on Windows is not tested yet.
- On Home, the line shows twice.
- A comp the project record does not know is still called "the template comp".
- A long comp name or file name makes the line wrap.
- With edits saved to the file, "discard" is gone for CSV sources: a mistaken Delete selected lands on disk within a second. Undo it in the table.
v0.6.0
October 6, 2026
DataDriver v0.6.0
New
- Home names the Tour. Home has a fifth row: "Tour — one comp per row, with a camera". The row is optional, so the "N of 4 steps" count does not change. It stays grey until your layers are rigged. Open Tour → opens Batch in Replicate mode, where the Tour wizard is.
- One word for one thing. Rescan comp reads the comp again. It is the same word in Rigging, in the Data tab, in the receipt and in the messages. Reload file reads the data file again: in the Data tab's ⋯ menu, on the Batch source row and on the source chip's button. Tour style is the look of a tour. The word "personality" is gone. Load Rules and the Agent tab's Refresh keep their names, because they do different things.
- One line tells you where you are. A line above the status bar names the comp, the data file, the rigs and the row. Home shows the same line under its title. For example: "Product Card is the template comp. 8 rows from products-moved.csv. 8 of 8 layers rigged. Row 1 of 8." Valet reads the same line.
- The Agent tab shows the running job. While a batch, a tour, a URL tour or a cinematic finish runs, the Agent tab's pill says so. For example: "Working — batch, row 4 of 8".
- Times from your own runs. DataDriver records how long each batch row and each tour takes. It keeps your last 20 runs. Valet uses these times when it tells you how long a batch or a Run Tour takes.
- DataDriver answers Valet. Valet can now ask DataDriver six things: are you busy, how long will this take, what did you do last, where are we, what is wrong, and what is next. DataDriver answers in its own sentence, and Valet repeats it word for word.
- "What is wrong" covers the build, the layout solve, the data source, apply motion, Rescan comp and the rigs.
- "What is next" follows Home's steps: data, rig, output, render.
- A stopped batch says where it stopped. When Valet stops a batch for you, DataDriver answers with the row and the run. For example: "The batch stops after row 59 of 160 (run …)."
- A closed panel is not busy. When you close DataDriver, it stops telling Valet that a job runs.
Fixed
- ↻ Rescan comp in the Data tab now rescans. It reads the comp's layers again, then applies the row. Before, it only applied the row again.
- The source chip's re-read button says Reload file. You see it when you hover the button, and a screen reader says it. Before, it said "Refresh data source".
Known
- From the chat, Valet can stop a plain batch only. For a tour, a URL tour or a cinematic finish, Valet offers Wait.
- On Home, the line shows twice: under the title and above the status bar.
- DataDriver calls every comp that is not a tour stage "the template comp", even when it is not one.
- A long comp name or file name makes the line wrap.
- The answers to Valet need Valet 1.4.0. An older Valet does not ask.
- A trusted build on a brand-new, unsaved project can leave the Rigging list empty, so previews apply as silent no-ops until you open Rigging and click Rescan comp. The panel says "No rigs loaded for this comp — nothing was applied" in that case. The root-cause fix is still queued.
- With edits saved to the file, "discard" is gone for CSV sources: a mistaken Delete selected lands on disk within a second. Undo it in the table (edit back). A per-session backup is on the list.
- The agent needs the Valet panel installed, and Valet is macOS-only for now.
v0.5.0
October 3, 2026
DataDriver v0.5.0
New
- One voice, one grammar in the Agent tab — the plan card, the run record and the receipt say each fact once, in the same words; the card and the record share one verb table ("Will rig title ← City" → "Rigged title ← City"); every decision you can make is a chip. A failed write offers the two honest moves (re-apply as proposed · ask what is safe) and names the write it failed on.
- Truthful run, part 2 — the agent's dry runs warn about what exists: a sheet that would replace your source, a rig that replaces a rig, a row with empty rigged cells. A decision ledger lists what you approved, denied or split; the receipt is frozen at the end of the build and says when the live rigs drifted from it (with Rescan). "No rigs loaded for this comp" is now a sentence, never silence.
- A warning banner that belongs to one comp — notes are cleared when you switch comps and the header names the comp they are about.
- Edits save to the file. An edit you type in the Data tab's table on a CSV file is written to that file within a second — the same rule the agent's
set-cellalready followed, so a reload never loses a typed edit. Your bytes stay yours: no formula rewriting, the file's own delimiter, line ending and BOM are kept. If the file changed on disk in the meantime (Excel, a script), nothing is written: a red "not saved — changed on disk" chip offers Reload or Overwrite. Files that cannot be written back (.json,.tsv,.md, pasted data) keep the old "modified · Export CSV" flow.
Fixed
- Reload no longer opens a file dialog. Refresh data source, Reload data and discard re-read the file from the path the panel remembers. A dialog blocked After Effects and every panel until someone clicked. If the file is gone, a yellow bar names the file and its folder, with Locate… opening the picker in that folder.
- No more native pop-up questions. Every confirm in the panel is a yellow bar with two buttons inside the panel. The native ones froze After Effects.
- Two layers with one name no longer get the wrong edit. In the Layout tab, motion reads, writes and Remove follow the layer's AE id. Rows whose name is shared are read-only with a notice that names the layer by its timeline position; Load Rules re-scans the comp so the notice clears once you rename. A Remove on a layer renamed since the scan is refused with a clear message.
- The agent's layer writes land on the right layer. apply-rig, unrig-layer, layout, motion, design-attach and presets resolve the layer in the live comp and write by its AE id; a layer added or deleted after the scan no longer shifts the target.
- The Attach drawer shows the clicked layer's own values (reads resolve by id too).
- The finished batch Results list is the run's own results. It used to be rebuilt from the current rows — after adding rows it listed comps that were never created. A new run clears the previous list; retry and subset runs address the right rows.
- The agent's dry run tells the truth about unsaved edits.
set-data-source's preview refuses with "unsaved-changes" exactly when the real call would (unless forced), so a card never promises a write that is then refused.
Known
- A trusted build on a brand-new, unsaved project can leave the Rigging list empty, so previews apply as silent no-ops until you open Rigging and click Refresh. The panel now says "No rigs loaded for this comp — nothing was applied" in that case. Root-cause fix still queued.
- With edits saved to the file, "discard" is gone for CSV sources: a mistaken Delete selected lands on disk within a second. Undo it in the table (edit back); a per-session backup is on the list.
- The agent needs the Valet panel installed, and Valet is macOS-only for now.
v0.4.0
October 1, 2026
DataDriver v0.4.0
New
- Trusted builds — tick "Trust this build" at the plan gate and the build's own writes apply without a card for each one. A warning, a destructive verb (like unrig), or something you typed mid-build still stops for your approval. Trust ends when the build is done, fails, or is discarded.
- Build records that tell the truth — every write lands in the run log as one plain sentence ("Sheet created · 3 rows", "Layer rigged · title ← City"), with the raw details one click away. A write that fails shows a red row with Retry and Stop, and the run log opens itself on the first failure.
- A receipt at the end of every build — the comp, the sheet it wrote and where it landed, the sources, which column drives which layer, and the next steps as buttons: Open comp · Run batch · Make it cinematic ✨ · QA again · Build another.
- The status pill — one line that says what the panel is doing right now: "Working — Construct…", "Trusted build — auto-applying", approvals pending K of N, a flash when the CSV lands. It replaces the old beacon and working line.
- One decision for a batch of changes — the plan card lists every proposed write as a row. Approve them all with Enter, deny with Esc, or deny one row and steer the agent.
- Honest proof on the done screen — a thumbnail of the finished comp, a phase-by-phase rollup, and the vision check's verdict. Skipped phases read as skipped, and the cost block names the model tier.
- Livelier interview — the 🎙 interview door asks concrete questions and ends each one with clickable answer chips; typing an answer still works.
- The panel remembers your data source per project — reopen it without an active comp and the file source comes back (rows, gated writes editable). Clear source stays cleared.
- Make it cinematic, honestly — the chip knows whether CameraOp is open and says so; a progress card with Stop / Resume / Dismiss follows the tour as it bakes; after you turn the dials the agent offers a re-bake; a resume checks what was already baked instead of re-running it.
- Setup: a Skills row — a missing
datadriver-driveskill is loud in the preflight instead of a quiet dead agent. Tool failures and denials are logged so support can see what went wrong. - A design pass — one type scale, dark scrollbars, visible focus rings, hover hints (CEP never paints native tooltips), reduced motion respected.
- CameraOp sees the row count — the panel publishes it, so CameraOp's row scrubber can show the total.
Fixed
- Google Sheets and Drive sign-in works in the installed panel — the release build now carries its OAuth client secret (0.3.3 shipped with a placeholder).
- A build's CSV is named after the comp it built, not whatever comp happened to be active.
- Comp-check no longer flags a record's context columns (sources, notes) or the raw twin of a display column as mismatches.
- Both Stop buttons end the run honestly — the pill stops saying "Working…".
- A panel reload in the middle of a plan shows an "interrupted plan" line instead of silence, and the line survives a Resume click.
- Build records save the real subject, tier, row count and motion; Refresh re-scrapes the sources and reports what is new, dropped and retained.
- Approval keys act only in the real composer, and never dispatch twice.
- The done screen's results scroll in their own region; dark text on amber fills; the proof tile keeps its aspect ratio.
- A scheduled run that was parked shows a resume banner when you come back.
- Stale run journals from another project get a plain Dismiss.
- Dozens of smaller fixes from four live desk-check sittings (the Agent-tab UAT records in
docs/uat/).
Known
- The agent needs the Valet panel installed, and Valet is macOS-only for now.
- If row previews stop changing the comp after a build, open Rigging and click Refresh — the panel's rig list can go empty while After Effects has another panel focused, and it then applies rows silently as no-ops. A fix is queued.
v0.3.3
August 18, 2026
DataDriver v0.3.3
New
- The Agent tab works without a dev setup — it now finds its server from the installed Valet panel, shows which server it's running ("Agent server: Valet v1.0.3"), and shows an honest "Install Valet to enable the agent" step when it's missing (Valet is macOS-only for now).
- Every setup check points at its fix — failing checks for Claude Code, Node.js, Higgsfield, and Firecrawl now link the exact step in the online setup guide at data-driver.ca/setup. The checks also refresh themselves when you come back to the panel after installing something.
- Manual: new "Agent tab & AI features" chapter — what the agent can do, what it needs, and how approvals work.
Fixed
- Narration checks your Higgsfield connection before asking to spend credits — on previews, batch runs, and URL tours alike. No more confirming a spend that couldn't work.
- The ✨ Sharpen button now explains itself when Claude Code is missing instead of silently greying out.
- The focal-point editor is now honestly manual-only. Its face-detection option never worked in shipped builds and has been removed rather than left as a dead switch.
v0.3.2
August 6, 2026
DataDriver v0.3.2
New
- Check this comp — one-click health check on the Batch tab: four sweeps over your rig (orphaned bindings, stale mappings, and more) with a verdict chip and a collapsible report that names every problem it finds.
- Archetypes, two tiers — capture reusable rigs per-project, then Promote the good ones to your shared library. Reads are project-scoped so one project's archetypes never bleed into another.
- Batch renders from the panel — start a batch render directly, with clear refusals up front and real on-disk output paths reported back when it's done.
- Tour wizard upgrades — camera columns in the preset, dwell-time conversion via a timing column, and two-phase playback arming so the wizard respects the solve before it plays.
- Trivia quiz starter — a new ready-made starter card + template asset.
Fixed
- Toast notifications render (and self-dismiss) again.
- Batch replicate resolves media against the asset library and re-runs text-fit.
- Column auto-matching no longer guesses — it refuses honestly when unsure, and the stem fallback stops stripping digits it shouldn't.
- Dots in substituted values can no longer corrupt the output file extension.
- Render output-folder probe reads the path the picker actually stored.
- A superseded panel page goes silent instead of double-driving the newer one.
- Sign-in targets the production auth host by default (carries the 0.3.1 hotfix forward).
v0.3.1
July 16, 2026
Hotfix: v0.3.0 shipped with a dev-only auth host baked in, breaking sign-in with a network error. Sign-in and update checks now target app.data-driver.ca.
v0.3.0
July 14, 2026
Charts row-animation, Motion mode, Seed mode, aeft facade split, reload/announce reliability
v0.2.2
July 8, 2026
In-panel update banner + chart type-switch + replicate improvements
v0.2.1
July 8, 2026
First hosted release — chart type-switch + replicate improvements
v0.6.1
November 6, 2026
CameraOp v0.6.1
CameraOp 0.6.1 works best with DataDriver 0.8.0 and Valet 1.6.0. They are released together.
New
- Every card. A ninth edit: one shot per card between two wide bookends. Each card gets its own move and size, and no card repeats its neighbour's pair. A card that cannot be placed clean is kept and named in the receipt, so this edit never refuses on a stage with a card. A strip over nine shots draws the first eight and the last, and says "first 8 of N cuts". It hides Pace, Hold and Follow and adds a Life toggle. If the comp is too short, the two wides shorten first; if every card still cannot fit, the line says how long the comp must be ("6 shots fit a 6-second comp. Make the comp 7 s to show every card.").
- One path, several lenses. Two edits keep one camera moving and cut between lenses: 24, 50, 135 mm. Every cut carries, so the ramp always sells it. Long take, three lenses: "One slow turn, cut wide, medium, then close." Dolly along, two lenses: "One glide past the shelf, cut wide to close." Their shot rows read in mm. Tap a lens to change it. A lens cut on the same axis must jump two sizes or come after the camera has turned 30°; the rule line says so when it does not. The 135 mm close may crop its card on purpose; its card stays centred.
- Arc. A new dial on Long take: how far the camera turns over the whole move, 30° to 180° in steps of 15° (it starts at 90°). Shuffle keeps it.
- Loop it. A new dial on every edit. With it on, the last shot glides into the first shot's pose, so the film ends on its first frame. If that return would cross a card, it is not made and the receipt says so.
- The taste row. Ramp, Arc and Loop sit in one row under the other dials. One live line under it reads the plan aloud: "1 of 2 cuts ramp · loop off". A lens edit that turns adds the arc ("tight 45° arc", "90° arc", "wide 120° arc").
- The subject holds its place. Across a cut, the next shot can open where your eye was and then settle into its own frame. It never refuses a cut. The edits that ship already centre every subject, so this rule waits for off-centre framing; Macro slide and Documentary keep it off.
- Life tab. Remove is two clicks: the first arms it, the second removes Camera Life. The arm runs out after 4 s. One undo in AE brings it back. The tab reads the layer when it opens, so it shows what AE holds.
- Avatar menu names the release. The open menu ends in one quiet line, "CameraOp v0.6.1". A development build reads "CameraOp dev build".
- The fill says why nothing filled. A row fill that imported nothing names the reason and where to pick the media column.
- Agents. SCHEMA 1.31.0 (0.5.0 shipped 1.27.0).
apply-editgainslenses,dials.arc(1.28.0), the rows kind "Every card" withdwell,bookendandlife(1.29.0), and theloopdial (1.30.0). A new gated verb,clear-camera-life(1.31.0), is the Remove link's twin: the dry run answerswould-remove, the apply removes Camera Life in one undo group, and it refusesno-camera-lifewhen there is none. A lens cut on the same axis refusesrule-jumpby name. The approval card reads a lens shot as "135 mm · close · aurora · 4.2–6 s".
Fixed
- The nine edit pictures show in an installed panel. Since 0.5.0 the Cuts step asked for them at a root path, which a panel loaded from disk cannot reach, so every card showed its empty box. Found by the 0.6.0 install test; 0.6.0 was never published.
- The Time tab no longer crashes on a comp switch. Switching comps with the Time tab open stopped the panel (React #300). Two causes, both fixed.
- The Time tab reads Camera Follow and Switch Mode back. The box no longer always opens ticked, and Motion no longer always opens on Smooth. The Camera Follow checkbox now writes its controller slider; before, it did nothing.
- Life tab sliders reach AE. They wrote nothing before, and Lock Horizon never reached AE.
- Removing Life no longer breaks a cut. A cut made with Life used to lose its expressions when Life was removed. Now the camera keeps its keyed pose and the wiggle stops.
- Remove no longer bakes a wiggle offset into the camera when it un-parents.
- A cut and When in frame no longer meet. A cut refuses a stage that plays When in frame, and the reverse, on the verb and on the In-Frame accordion. Each says why and writes nothing.
- The Cuts rule line follows the comp's length when you change it, without a reopen.
- A cut film keeps every card on a short comp when the wides can shorten to fit.
- Showcase keeps the card in frame. Its camera pulls back to 1.25, so the Drift does not push the card out.
- The timeline scrub moves the comp time.
- An empty reply from AE is a failure, not "ok". A missing or stale host function used to look like success.
- Two chained ternaries that AE reads the wrong way round are gone. One could flip a camera's pitch just under -1; one could read a layer's position at time 0.
- One cut reads "1 cut" on the receipt and the Ramp line. Macro slide's orbit opens centred after its slide. A long lens on a glide no longer drifts its card across the frame.
Known
- Clear lives on the receipt. Leave the Cuts step and come back, and the step shows the edits again, with no Clear. To clear, cut again and press Clear on the receipt, or undo in After Effects.
- The Life tab does not notice an undo in After Effects until you leave the tab and come back. After ⌘Z it can still say "Camera Life removed".
- A style can turn Camera Life on. Museum walk does. The Life tab shows it when you open it.
- Shift+→ on a baked stage can stick on a marker that sits between frames, and every next press finds the same marker.
- On a built stage, the fill's message points to Build ▸ Sources ▸ Change, which is not shown there, so the panel's own row fill cannot run.
- Camera Follow has no named undo; AE's Edit menu reads "Undo Change Value".
- The autopopulate-targets preview counts targets, but the apply refuses until targeting is on.
- On a stage of 30 cards, Every card takes about 14 s to cut.
- Windows is untested.
v0.5.0
October 27, 2026
CameraOp v0.5.0
New
- Cuts. Several cameras on one comp, cut like an edit. Pick an edit — Three-shot reveal, Turn and settle, Hero close-up, Quick cuts, Documentary, Macro slide — change a shot or two, press Cut it. Four rules of film grammar hold every time: the angle changes, the size changes, the cameras stay on one side, no move repeats. The receipt is a storyboard strip. Your own camera stays. Agents get the same through four verbs.
- Cuts is step 6. The rail has eight steps: Build · Style | Frame · Time · Life · Cuts | Playback · Bake, with Rig under Adjust. Digits 1–8 jump to a step. Cuts shows whenever the comp has a stage, with or without a tour.
- Ramp. A new dial: where a cut's motion carries across — the picture flows the same way on both sides, or moves in to a closer frame, or out to a wider one — the outgoing shot speeds up smoothly into the cut and the next one slows smoothly out of it, so the cut is hard to spot. Other cuts stay plain. A line under the dials says how many cuts ramp. Ramp turns on motion blur for the comp and the cards; Clear puts back exactly what it turned on. The edits that cut on the move start with Ramp on.
- Macro slide. A sixth edit: "Glide close across a card, turn around it, glide across the next, then pull out wide." It brings a new move, the slide — a short arc very close to one card while the look glides across its face (the shot row says "slide left" or "slide right").
- Light edits. Tap a shot's subject to point it at another card, drag a shot's length (the others make room), move a shot up or down, remove one (two stay). The rule line says which rule a change breaks, and Cut it waits. The subject picker dims a card that faces away from the camera's side ("Faces away from the camera's side."); choosing it says "Pick another card."
- Dials. Pace, Hold, Shallow (more is more blur), Drift (left · right · by seed), Follow (one card · card to card), Ramp, and Shuffle for a new take of the same edit.
- Cuts that read. A cut in on the same card keeps nearly the same angle; every other cut turns at least 30°. Every cut steps the size clearly. A wide stays where the cards face the camera. A pull-out opens on the card the last shot was on. No shot stands fully still: a still drifts in a little, and a shallow still racks focus onto its card.
- The receipt. The strip (one frame per shot), the line ("Three-shot reveal · 3 cameras · 2 cuts · 6.0 s"), Play (the playhead to the start), Shuffle, Clear (it names the camera that takes over and asks once), Back. Click a strip frame to play that cut: the playhead goes 1 s before it ("The cut is 1 s in. Press space to play."). If a card moves after the cut, the receipt says "A slot moved since this edit · Cut it again". An edit cut by an older CameraOp says "Cut by an older CameraOp — Cut it again may look different." A failed cut or clear says why.
- Memory. The step remembers your edit, your changes, your dials and your seed for each comp. The edit's card shows your last strip.
- The context line knows a cut. "Cuts_Ring has an edit, Three-shot reveal: 3 cameras cut. Bake is not needed." — never "Press Bake" on a cut comp.
- Agents.
list-edits,apply-edit,read-edit,clear-edit(SCHEMA 1.27.0), with the Ramp dial and the slide. The approval card names each shot, the orbit's or slide's direction ("orbit left", "slide right"), the motion-blur switches a cut turns on and a clear puts back, what a cut replaces, and the camera that takes over after a clear. - CameraOp never goes blank. A crash shows "CameraOp stopped. The report is saved." with one Reload button, and writes a report.
- The bake receipt shows the baked frame and a keyframe sentence; a transparent comp reads as empty (a checkerboard), not missing.
- The project remembers. On a DataDriver set's stage, the context line names its template and source.
- Sign-in waits for you. The wait screen names the account and unlocks itself.
Fixed
- The bake's Range line counts keyframes the way the bake writes them.
- CameraOp's state is kept per project file. Two projects no longer share one folder.
- On Windows, the built panel reads the real APPDATA, so the sign-in file is kept in
%APPDATA%\CameraOp. - Release ZXPs no longer ship the debug port, and the signing password no longer prints during a build.
- A malformed project poll no longer blanks the panel.
- Cuts, from the live checks: the wide shot fits the stage;
list-editsreads the active comp's layout; the agent's card names its comp and counts the cameras it replaces; Cuts is no longer greyed out on a stage without a tour; the Shallow dial no longer runs backwards; the receipt notices a moved card while it is open.
Known
- Quick cuts and Turn and settle have no cut whose motion carries across, so Ramp changes nothing there; the line under the dials says so.
- On a small, deep ring the wide shots stand back so the sizes run in order; the stage fills about half the frame there.
- Rarely, the CameraOp page stops answering or goes blank. Close it and open it again from Window ▸ Extensions ▸ CameraOp.
- Windows is untested.
v0.4.0
October 6, 2026
CameraOp v0.4.0
New
- Seven steps, one build path. The rail reads Build · Style | Frame · Time · Life | Playback · Bake, with Rig under Adjust. Digits 1–7 jump to a step.
- Build proposes, you press once. Build reads what is open — DataDriver rows, images you picked, or nothing yet — and proposes the filming, the sources and the layout. One press builds the rig and the slots, then moves you to Style. Quickstart and the hub are gone; the Change sheets keep every old control.
- Styles you can read. Style lists eight styles, each with one plain line and a picture of its path; the rest sit behind More. Adjust opens under the style you picked (the old Time-tab pacing controls live there now).
- Playback is its own step. One rule — Always, When in frame or When near — and a live list of your slots: in frame · not yet · passed · missing. A missing slot has a Remove button. Stills get one sentence. Change the rule after a bake and the bake reads "older than the playback".
- A fast bake that tells you the wait. An in-frame bake that took 160 s now takes about 13 s. Before After Effects freezes, the header and the Bake step read "Baking · about N s", and the Bake button says "Bake · about N s".
- The Bake step ends with a receipt. After a bake: when, how long it took, keyframes, slots, "Up to date", and how to undo it. The range belongs to each comp. "Show live rig" replaces the yellow banner.
- The panel explains itself. A context line under the rail says what does not fit in one sentence — for example "DataDriver has 4 rows for 1 slot." Agents (Valet, Claude Code) can ask CameraOp what is running, how long a bake will take, what it did last, what is wrong and what to do next, and they get the same words the panel shows.
- Plain words. Layers are named in words, not
Slot_8_solid. Developer controls are hidden.
Fixed
- Applying a style to slots that hold images or clips keeps them. It used to swap them back to plain cards.
- A filled slot stays on the camera's target. A filled tour no longer frames "between two cards".
- Build no longer stops with "Dolly out of range" on a wide grid.
- The receipt shows this comp's bake, not the newest bake in the project.
- "Up to date" holds right after a bake. It used to say "the layout changed" at once.
- A comp switch clears the last comp's status line and resets the range. An untouched comp stays "Baked" after you build another one.
- A deleted slot reads "missing", not "off-screen".
- With no comp open, the header says "No comp is open in After Effects".
- The in-frame bake matches the live playback frame for frame. The old bake froze one frame and skipped another near the start.
Known
- "When in frame" does not work on clips that Build put straight into the slots — each clip needs its own precomp. The panel says so and keeps the rule you had. Tours from DataDriver are not affected.
- The style pictures are rough. Better path drawings are on the way.
- Rarely, the CameraOp page stops answering or goes blank. Close it and open it again from Window ▸ Extensions ▸ CameraOp.
- Windows is untested.
v0.3.0
October 3, 2026
CameraOp v0.3.0
New
- Two more scene grammars — Museum room and Z-timeline layouts (11 layout types now), with their own Tour styles (Docent, Time machine) and picture thumbnails.
- Pole assist for the lens — a toggle that keeps the camera off the pole when a slot sits straight ahead; the bake knows when you flipped it. The agent can set and read it (
set-lens,read-lens). - Refine without a style — the Refine dials work on any tour; the fit readout shows right after a style applies, not after the first nudge.
- Click a stop to go there — click a sequence stop in the Time tab and the After Effects playhead parks at that stop's dwell.
- Digit hotkeys — 1…6 jump to the Nth tab in the current mode; the ? overlay lists them.
- Status that confirms — an action's success stays on the status line instead of vanishing.
- The rail says what no longer fits —
5 slots · 8 rowswhen DataDriver has more rows than the layout has slots;target 6 has no slotwhen a target's slot is gone;Baked · older than the layoutwhen the layout or the targets changed after the last bake. Each cell's tooltip says the fix. - Each door names the other — the Sources tab says "One card per row? → DataDriver ▸ Batch ▸ Replicate ▸ Tour" under Use DataDriver and in the DataDriver source panel. The connection strip reads "Row 4 of 8", the same form as the row preview.
Fixed
- No false "Project unsaved" pill after After Effects restarts.
- Tour styles: the camera sits back from the museum wall; hold weights land on the target you named; the slot count and the rig are read live before a style applies.
- Refine on a hidden panel no longer refuses; a tour with no slots refuses with a clear reason.
- Bake has a time budget it can meet;
depthis refused for layouts that own their own Z. - The playhead parks at a stop's dwell end for every easing.
- Under the hood: one verb registry drives the catalog, the wiring and the classes (36 verbs).
Known
- The status cells truncate at the panel's default width; hover a cell for the whole sentence.
- Windows is untested.
v0.2.1
August 6, 2026
CameraOp v0.2.1
New
- Slot content swap — select an item in the Project panel and swap it into any slot straight from the Inspector.
- Populate slots & re-pose layout — fill empty slots from your data and re-pose an existing layout while preserving media, with loud per-slot outcomes when something can't be placed.
- Scene building, frame-all, and morphs — build scenes from sources, frame every slot, and apply/remove/promote morphs, all with dry-run previews before anything touches the comp.
- Focus read-out — inspect Focus Blur and camera depth-of-field state at a glance.
- Per-slot feel — set a slot's motion feel individually, with honest refusals for field-less entries.
- Slot playback triggers — tours can enroll a slot's in-frame trigger, so playback starts when the camera arrives.
- Verb flight recorder — every panel verb is logged to a project-scoped audit trail for easier troubleshooting.
Fixed
- Linear easing no longer crashes keyframe consumers (influence floor + true LINEAR keys).
- Frame-all survives a partial rig (missing Dolly no longer null-crashes the free camera).
- Verb-driven morphs keep the panel's morph state in sync — no more stuck "morph active".
- Re-pose derives sensible layout defaults when parameters are omitted, and flags degenerate/destructive re-poses loudly.
- Panel IPC ack-path hardening + CEF anti-throttling flags for reliability under load.
v0.2.0
July 14, 2026
- Refine an applied tour — a new Refine strip with four dials (Framing, Life, Spacing, Pace) nudges any preset on the current comp, non-destructively; Reset returns to the preset.
- Better default framing — spatial layouts (ring, sphere, wave, scatter, random, helix) now pull back to show the composition instead of filling a single card.
- Format-anchored tours — tours anchor to a target format (resolution × aspect), with consistent format-relative spacing across every layout.
- Panel reliability — stays responsive to the automation bridge even as a background tab, and recovers cleanly from reloads.
v0.1.0
July 8, 2026
First CameraOp release — auth gate + update banner
v1.6.0
November 6, 2026
Valet 1.6.0 — more recipes
New
- Five new recipes. Make a trivia quiz · Cut it my way · Package for review · Render and send to Premiere · Film the rows with cuts. Twenty-eight skills ship, six more than in 1.5.0: cut-it-my-way, trivia-quiz, package-review, render-the-film, cut-it-again and send-to-premiere. The last three are hidden recipes that the done cards start.
- Make a trivia quiz. Drop a list of multiple-choice questions, or paste it, and name a folder of clips. Valet pairs one clip per question, copies the clips into your library behind a card, asks five look questions (accent, font, mood, length 30 or 15 s, background), builds a Millionaire-style quiz comp, lands the sheet and applies row 1. It checks the reveal on two rows and pictures every row on a contact sheet. A light mood, Pearl, is there. A .docx question list is read as text.
- The quiz look is yours to change. The clip holds until the right answer, then fades. A short clip slows to reach the fade, and Video slows to fit turns that off. A clip of any size fills the frame, so you can swap one. Each replicated row has its own controls: a value typed on one row changes that row only. A changed row renders again; its neighbours are kept.
- Package for review. From the trivia done card. DataDriver makes one comp per row, then Valet stacks them back to back in a review comp with a marker at each question. Row comps get unique names as they stack, so two quizzes can share a project.
- Render and send to Premiere. From Package for review's done card. Every row comp renders to its own file (High = ProRes LT, Low = H.264 15 Mbps) with an edit sheet beside them. In the project open in Premiere, a bin gets the files, a sequence lays them back to back in question order, and a marker names each question. Every Premiere write stops on its own card, and ⚡ trust never skips it.
- Cut it my way. Say how the film should feel ("a product reveal", "calm and slow, end wide") and name a stage. Valet writes two to five shots inside CameraOp's rules and proposes one Cut card. If CameraOp refuses the list, Valet says why in one line, changes the shot it names and tries again, three times at most. Then a contact sheet, one line per shot.
- Film the rows with cuts. Film the rows has a fifth input, Camera: Tour or Cuts (Tour is the default, so today's films do not change). With Cuts, one shot per card sits between two wide shots. The done card adds Cut it again, Render the film, Open folder and one chip per cut. The film now renders as H.264 15 Mbps to
<stage>.mp4, because the Lossless .mov did not open on macOS 27. The film wait now pauses between polls, so a film with many voices no longer parks as "still making". - Trade starters. Valet's gate knows DataDriver's five starter verbs. Share it appears on the Make this comp data-driven receipt and opens DataDriver's Share card. Sharing or using a starter always asks, even with ⚡ trust.
- Gate catalogs. Valet now knows DataDriver SCHEMA 1.44.0 and CameraOp SCHEMA 1.31.0. New rows: the five trade-starter verbs, clear-camera-life (asks every time; the card names the Camera Life link it removes and the camera it un-parents) and read-base (a read, no card). The fill-slots card says "0 of 8 would fill" when CameraOp reports it. The Cut it card names Macro slide and the two lens edits.
- Settings shows the release that runs. The Panel section starts with "Valet v1.6.0", or "Valet dev build".
- Fresh installs. From a web page, Fill with real pictures and Make a trivia quiz no longer stop at the asset folder. They use
~/Documents/DataDriver. - A bridge that tells the truth.
bridge-statussays why the bridge is quiet: After Effects not running, restarted, busy, or the folder unreadable. It shows the open project and who holds the bridge. New read tools:uat-sitting-status,rescue-contextandae-compile-check(the last two work when the bridge script will not load).parse-check-jsxcatches a comment line that After Effects reads as a directive. - Live checks keep files tidy. A gated
remove-footageclears what a live check leaves in a project.render-row-gridtakes an output path, and old grids, contact sheets and region frames in the bridge folder are swept at 30 days. UAT files now live in sitting folders, and a code guard refuses writes outside the open sitting. - Skills. cameraop-drive is now 1.0.10 (1.0.6), datadriver-drive 1.3.5 (1.3.2), make-data-driven 1.2.0, film-the-rows 1.2.0, trivia-quiz 1.0.13, send-to-premiere 1.0.5.
Fixed
- A walk of a real project no longer times out. The project walk waits 45 s, not 10 s. Measure text overflow, row grids and binding coverage failed on real projects before. A failed walk now says why, and is no longer cached as an empty project.
- A busy check no longer reads "unreadable". During a UAT sitting, a slow probe says busy.
- render-frame waits for its picture up to 3 s and tries once more. A receipt with nothing to draw says "no comp to show", not "render failed".
- A batch that makes a layer and styles it now previews. Before, the preview refused it.
- A turn that dies before any text drops its "• • •" row.
- A drop chip says Send starts it. A 4 KB file reads "4 KB", not "0.0 MB".
- A cancelled Film the rows run keeps its film's chips when it stops after the film was made.
- Build-run cards get a real Before. The done card says how long a run waited on a card.
- query-project is allowed on chat turns. Valet asked for it five times and was refused each time.
install-agent-panelwarns when a system-level Valet hides the dev one.- Render and send checks Premiere's CEP bridge, the one it writes through.
Known
- Render and send to Premiere needs Premiere Pro with the Premiere MCP (pinned v1.29.0). It sends nothing without it.
- Render and send stops with
comp-name-ambiguouswhen two sets of row comps share names (for example 1_001 … 8_008 twice in one project). Package for review now renames new sets, but an old project with duplicates still stops it. - Skills you copied by hand never update. Valet leaves them alone, so a copy stays at the version you made it.
- Valet never bakes a camera tour for you. Make a camera tour ends ready to bake. Film the rows bakes inside its film card.
- Valet's busy line offers Stop only for a DataDriver batch.
- A second plan replaces a running plan with no warning.
- A step chip is sent as your message, even for a step that only you can do.
- Rarely, CameraOp's page stops answering. Close CameraOp and open it again from Window ▸ Extensions ▸ CameraOp.
- Try it on the sample needs After Effects 2026.
- Deliver it renders every row. It cannot take a range yet.
- Voices need Higgsfield.
- On a cut card, the comp's own motion blur switch reads "not checked": Valet cannot read it.
- The Windows fix is not yet checked on a Windows machine.
- If you once installed the MCP Bridge Auto panel, it starts an older bridge before Valet's own. Remove
mcp-bridge-auto.jsxfrom After Effects'Scripts/ScriptUI Panelsfolder, or install the new one again, then restart After Effects. - Valet 1.6.0 works best with DataDriver 0.8.0 and CameraOp 0.6.0, released together. With an older DataDriver, some recipes are dimmed.
v1.5.0
October 27, 2026
Valet 1.5.0 — recipes
New
- Recipes. Press 📖 Recipes. The gallery groups them by what you have open: "Ready now", "One step away" (with the chip that fixes it) and "Start from nothing". A recipe's page shows its inputs as chips, what it makes, your own runs first, and Run it. "Your last runs" lead the screen. A built-in recipe's page has "Learn more ↗", which opens its page on data-driver.ca. The empty chat's Try chips start with the recipes that are ready now.
- Thirteen recipes. Make this comp data-driven · Build a comp · Build from a sketch · Make a camera tour · Cinematic tour of a page · Animate this comp · Reformat it · Chart it · Fill with real pictures · Deliver it · Film the rows · From a web page · Versus.
- One card runs a recipe. Run it draws one card that changes as it goes: ready, planned, running, done. Each step shows "about N s", and each write card sits under its own step. The done card leads with what was made and how long it took, then Run again, Open comp, Open in DataDriver and the recipes that come next.
- Recipes that chain. The strip on the card shows the chain, for example "Open the sample › Chart it". Before the next recipe starts, "Then → <name>" waits 3 s with Stop.
- Make this comp data-driven. With a comp active and a sheet loaded, this chip turns your comp into a component with named slots, rigs it to your columns, renders row 1 and adds it to DataDriver's Starters under Yours. One plan card, one approval. The end offers one button: "Run batch · N rows", "Set up output" or "Open DataDriver".
- Reformat it, Chart it, Fill with real pictures, Deliver it. Reformat it makes square, vertical and landscape copies, with a frame of each. Chart it adds an animated chart and places it in the comp. Fill with real pictures finds a picture per row on the web, or makes one, within your credit cap. Deliver it renders every row, makes a contact sheet, and offers Open folder.
- Film the rows. A rigged comp and its sheet become a camera-tour film, with a voice per row if you ask. The card says "Voices: 4 to make, 0 already made, 2 silent" and "Spend: uses shared Higgsfield credits". A card that spends credits always waits for your click, even with ⚡ trust. Stop reaches the film.
- From a web page. Paste a link. Valet reads the page as data, never as instructions, fetches its pictures, makes a sheet that notes where it came from, then hands off to Build a comp.
- Versus. One row in three looks, side by side, each with Use this look. The tap puts that look on your comp and removes the three copies. The delete card always asks.
- Try it on the sample. Ten recipe pages have a second button, Try it on the sample. It opens the Polaris Goods shop sample with its sheet, then runs the recipe on it. Reopen <your project> on the done card puts your own project back.
- Build a comp runs in Valet. DataDriver's Agent tab is now the Build tab. Press Build there, and Valet runs it with a plan card and a step tracker. "Apply this build's changes automatically — warnings still stop for you." is ticked by default. A delete or a spend still asks. A stalled build offers Continue. Closing Valet cancels the build.
- See what changed. After a write, the card shows a before › after picture and one true sentence, for example "3 layers changed · Title, Price, Hero · all landed" or "Nothing changed. The write did not land." Hold the after picture to see the before. Panel writes are checked too. When Valet cannot read a result, it says "Applied · not checked".
- Cut it. With CameraOp 0.5.0, Valet cuts a stage like an edit. The card "Cut it: <edit>?" names the comp, and each shot: its move, size, card and time, with "orbit left" or "slide right". A Ramp adds a "motion blur: off → on" row. "Clear the edit?" lists what it removes, who takes over ("<camera> takes over"), and the switches it puts back. Every cut and clear asks. After it, Valet reads each layer's switch.
- A credit cap. ⚙ has "Credits per run · at most". A recipe over the cap stops with Raise the cap and, where it can, Run with web.
- Counts, if you want. ⚙ → Gates shows "Last 30 days: …". "Share counts with DataDriver" is off until you turn it on: "Counts only, never names."
- The wait screen. A new account waits for approval. The screen says "Waiting as <email>. Not you? Sign out." and unlocks by itself.
- Skills. Eleven new skills ship, one per new recipe. cameraop-drive is now 1.0.6 (1.0.4 in 1.4.0): it knows the Cuts step, six edits, the slide and Ramp. datadriver-drive is now 1.3.2 (1.3.0).
Fixed
- No more "verified ✓" on a write that changed nothing. It now says "Nothing changed", or "1 unchanged" beside the rows that landed.
- Continue the plan stays. While a plan is paused, the chip now leads every chip row, also after a selection change or a Deny.
- A saved project stays saved. Valet's quick pictures marked a saved project unsaved.
- Row previews show colour rigs and the layout. A preview now says what it could not show.
- A batch card with a wrong argument is refused before you approve it. Before, it could read "applied" with nothing changed.
- Windows with OneDrive. The bridge and the panels now share one folder.
bridge-kickbrings the bridge back after DataDriver switches projects.
Known
- Valet never bakes a camera tour for you. Make a camera tour ends ready to bake, and you press Bake. Film the rows bakes inside its film card, which you approve.
- Valet's busy line offers Stop only for a DataDriver batch. For a tour or a bake, it offers Wait only.
- The last tour step, frame all, does not change the picture on a tour with images in its slots. It costs one step, about 10 s.
- A second plan replaces a running plan with no warning.
- If another write lands while a plan runs, the plan can stop moving on.
- A step chip is sent as your message, even for a step that only you can do.
- Rarely, CameraOp's page stops answering, and Valet then cannot reach it. Close CameraOp and open it again from Window ▸ Extensions ▸ CameraOp.
- Try it on the sample needs After Effects 2026.
- Deliver it renders every row. It cannot take a range yet.
- Chart it leaves label room for a landscape comp. A resize does not move the chart again.
- Film the rows makes a baked camera on a stage comp, not a movie file. Voices need Higgsfield.
- From a web page stops on a page drawn by script. Text that sits bare on a page can come out wrong.
- Versus needs layers with roles. Its looks are brand kits.
- On a cut card, the comp's own motion blur switch reads "not checked": Valet cannot read it.
- The Windows fix is not yet checked on a Windows machine.
- If you once installed the MCP Bridge Auto panel (the set-up for terminal sessions), it starts an older bridge before Valet's own, and Valet keeps it. A saved project can then read unsaved, and Try it on the sample stops with "Save or close your project first". Remove
mcp-bridge-auto.jsxfrom After Effects'Scripts/ScriptUI Panelsfolder, or install the new one again, then restart After Effects. - Valet 1.5.0 works best with DataDriver 0.7.0 and CameraOp 0.5.0. With an older DataDriver, some recipes are dimmed: "Needs DataDriver 0.7.0".
v1.4.0
October 7, 2026
Valet 1.4.0 — the CameraOp door, part two
New
- Make a scene tour from nothing. Open an empty comp and say "make a scene tour". Valet asks a few short questions as chips: where the pictures come from, the look (a Tour style) and the length. You can drop your images on the panel. A sentence that already says these things skips the questions.
- One plan card, one yes. Valet shows one card: "Plan · N steps — …", with step 1 previewed below. Press Approve plan. Valet then runs every step by itself, one step at a time, and each step shows in the chat. ⚡ shows "plan N" while the plan runs, with Stop the plan.
- Only the steps with work to do. If the comp already has a camera rig, the plan has no rig step. If a step is already done, Valet skips it.
- A short comp gets a question first. If the tour is longer than the comp, Valet asks before the plan: lengthen the comp, or keep it.
- Pause, continue or stop. If a step is refused or does not answer, the plan pauses and offers Continue the plan. Stop the plan pauses it. Any other message ends the plan: "Plan stopped — N steps not run."
- The end of the plan. Valet says: "Plan done — N of M steps. To take it back: Edit ▸ Undo in After Effects, one step at a time." Then: "Then press Bake in CameraOp's Bake tab — about N s." Valet says "about" only when CameraOp measured an earlier bake.
- Tour baked · check it? After a bake, this chip leads the row one time. It also comes after a DataDriver Run Tour bakes a new stage. Tap it, and Valet checks the tour.
- Valet knows when a panel is busy. Before every write, Valet asks the panel. If DataDriver or CameraOp holds After Effects, Valet's answer starts with one busy sentence. The chips are Wait, and "Stop the batch" when the job can stop. Valet still answers questions and reads. It holds back only writes. If After Effects itself is frozen, Valet says so. While CameraOp bakes, its pill reads "Baking · about N s".
- The panels speak for themselves. If the comp or the data changed since your last message, Valet's answer starts with the panel's own line. For example: "DataDriver says: Product Card is the template comp. 8 rows from products-moved.csv. 8 of 8 layers rigged. Row 1 of 8."
- Ask "what is wrong". The panel answers in one sentence, and Valet repeats it word for word. If the panel has a fix, the fix comes as a card. The panel's next step is the first chip, for example "Open the template comp." Valet also repeats the panels' time estimates and receipts word for word.
- Honest apply chips. When a panel write lands but sends no proof, the card says "applied — not verified". It no longer looks checked.
- Faster panel answers. Valet now hears a panel's answer when it arrives. Before, it looked again and again. A panel read now takes about 66 ms, not about 211 ms.
preflightfor terminal sessions. One call checks the bridge, the panels and their versions, and After Effects. If something is not ready, it says what, in a sentence. For example: the MCP Bridge Auto panel is closed.- The cameraop-drive skill is now version 1.0.4 (1.0.0 in Valet 1.3.0). It knows the plan cards, the panels' new answers and the seven steps of CameraOp's new rail: Build, Style, Frame, Time, Life, Playback, Bake.
Fixed
- Chips stay after a drop. When you drop files and send, the reply's chips now stay. Before, the selection chips replaced them.
- Valet reads the project fresh after a panel write. Before, its next look could show the project as it was before the write.
Known
- Valet never bakes for you. A bake can hold After Effects for a long time. Valet gives you the Bake button and the wait, and you press it.
- From the chat, only a DataDriver batch can stop. For a tour or a bake, Valet offers Wait only.
- Each plan step shows "applied — not verified". CameraOp sends no proof with these writes, and the chip does not say why yet.
- The last plan step, frame all, does not change the picture on a tour with images in its slots. It costs one step, about 10 s.
- A second plan replaces a running plan with no warning.
- If you change the selection during a pause, the Continue the plan chip goes away. Send "Continue" instead.
- If another write lands while a plan runs, the plan can stop moving on.
- A step chip is sent as your message, even for a step that only you can do.
- Rarely, CameraOp's page stops answering or goes blank, and Valet then cannot reach it. Close CameraOp and open it again from Window ▸ Extensions ▸ CameraOp.
- The new busy, estimate and "what is wrong" answers need DataDriver 0.6.0 and CameraOp 0.4.0 (both out today). With older panels, Valet skips them and says nothing.
v1.3.0
October 4, 2026
Valet 1.3.0 — the CameraOp door, part one
- Make a tour from the chat. With rows loaded and a rigged template comp, say "make a tour of these cards": Valet reads the live state, asks one question (the look, as tappable Tour styles) and shows one DataDriver Run Tour card — rows · layout · style · length. Approve, and the run rolls in DataDriver ▸ Batch.
- A sentence skips the question. "A Museum walk tour" goes straight to the card.
- Check a tour that exists. With a stage comp active, ask "what is wrong with this tour?": Valet reads the rig and answers in sentences — "target 6 has no slot", "the bake is older than the layout" — each with its fix as a card. "Tighter", "calmer", "slower" become one refine card.
- The cameraop-drive skill ships inside Valet, and lands in your own
~/.claude/skillsso your terminal Claude Code sessions can use it too (version 1.0.0; "Make a camera tour" joins the Try chips). - Valet never bakes for you yet. A bake can hold After Effects for minutes, so Valet hands you the button — "Press Bake in CameraOp's Bake tab — about N min" — and tells you the wait before a Run Tour. A faster bake is on the way.
- Not yet: building a scene tour from nothing in the chat (the next release).
Details for the curious: docs/superpowers/specs/2026-10-03-cameraop-door-design.md (slice 1a) and the live pass docs/uat/2026-10-03-cameraop-door-live-pass.md.
v1.2.2
October 3, 2026
Valet 1.2.2 — the panels speak one language, and each handoff names the next door.
- One word for one thing. Valet says "Rescan comp" for reading the comp again and "Reload file" for the data file; "stage comp" for the comp that holds a tour and "template comp" for the design; "Tour style" for the look of a tour; "slot" and "target" each mean one thing. The same words DataDriver and CameraOp use. The
datadriver-driveskill (1.3.0) uses them too. - The next door, named. After a rig lands, a chip offers the way to one card per row — "One card per row? → Replicate ▸ Tour". It only fills the composer; you press Send.
- DataDriver follows every change. After any approved write — your own layer edit, a CameraOp layout, a DataDriver verb — and after an Undo, DataDriver re-reads the comp on its own. No more stale Layout tab.
- Continue with one click. When you approve a card after Valet's turn has ended, a "Continue · N decisions" chip carries on from your approvals.
- Cards that tell the truth. Duplicate layer's card names the copy and where it lands ("Price → Price 2 at index 3"). The load card names the file, its rows and columns, and says in red when it discards unsaved edits. A refused apply reads as one sentence, not JSON. Rows count from 1 in the context strip and the panel's line.
- The camera audit fails closed. An empty read says "could not check" — never "18 sliders missing".
- Developer notes stay with developers. "Your bridge code is older" no longer reaches you unless a call failed because of it; the check compares file contents, not dates.
v1.2.1
October 2, 2026
Valet 1.2.1 — truthful DataDriver cards, and a sign-in check before the first turn.
- Sign-in check. Valet now checks that Claude Code is signed in before your first message, and tells you how to fix it if not.
- DataDriver cards tell the truth. Row numbers on cards count from 1, the same as the DataDriver panel. A rig card names the rig it replaces. Clearing motion has its own card. DataDriver's warnings now show on the card before you approve.
- Safer rigging after layer changes. After Valet adds, deletes, moves or renames a layer, it now refreshes DataDriver before it rigs.
- Add-layer preview shows the layer index the new layer gets.
- Fewer false timeouts on rig, unrig, clear-layout and clear-motion.
- One voice. Valet gives its reasons; it no longer repeats what the card already shows or tells you to click Approve.
- Skills:
datadriver-drive1.2.0.
v1.2.0
October 1, 2026
Valet v1.2.0
New
- Keyframes and expressions get cards. Retime, ease, remove keyframes, set or fix an expression — each lands as a card you approve, with a preview of the change and a real Undo that puts the old value back.
- Turn summary and status pill. Every agent turn ends with "N applied · M verified · ↩ Undo all". A pill shows what the agent is doing right now. Enter approves and Esc denies from anywhere in the panel.
- Component library (🧩). Capture a comp as a reusable component with a thumbnail and reviewed slots, browse your library in the panel, and apply a saved one. Payloads are trimmed at save time.
- Wire a comp to data. Drop a CSV on the panel and the agent proposes a layer → column mapping, applies the rigs after one approval, and renders row 1 to prove they landed.
- Storyboard to comp. Hand the agent a sketch or layout image and it builds a gray-box scaffold in After Effects, then checks the result by rendering.
- Animate and critique. "Animate this comp" designs and applies choreographed motion; "critique this comp" returns a ranked motion review with fix cards you can approve.
- Skills doubled. Ten skills now ship with Valet (was five): after-effects-debugging, animate-comp, comp-decompile, component-kit, component-slots, datadriver-build, datadriver-drive, expression-author, motion-director, storyboard-build. The panel shows them in one catalog with "Try" chips.
- Panel settings (⚙) and trust popover (⚡). Sign-in, diagnostics copy, pending-card chime, and trust tokens live in one place. A "New conversation" control resets the thread.
Fixed
- Approve only ever runs the card's own plan, never another card's rows.
- A card left pending past its turn can be denied again.
- Batch undo is one Cmd-Z for the whole batch.
- Thumbnails never show a stale picture after the state moved on.
- Bridge status reports permission denials so missing allowlist rows are visible.
- Many allowlist additions: component, keyframe, expression, storyboard, choreograph, and panel-discovery reads.
Notes
- macOS only. Requires Node.js and Claude Code, as before.
- Roll-forward release; no settings migration needed.
v1.1.0
August 18, 2026
Valet v1.1.0
New
- Skills ship with Valet. The agent's playbooks now install themselves on panel start: driving DataDriver, authoring expressions, capturing components, decompiling comps, and debugging After Effects. Your agent follows the same practiced routines here as on a developer's machine — and they work in your own terminal Claude sessions too.
- Your edits are safe. If you've customized a skill, Valet leaves it alone and says so on the setup screen. It only updates copies it installed itself.
- The setup screen reports what it manages — for example "Skills: 5 managed (v1.1.0)" — so you always know which playbooks your agent is running.
Fixed
- Renders find your After Effects version automatically (2024 and 2025 included) instead of assuming 2026.
- Missing Firecrawl credentials now report themselves clearly instead of looking like a network failure.
v1.0.3
August 18, 2026
Valet v1.0.3
New
- Setup guide, one click away — the setup screen now links the online guide at data-driver.ca/setup, alongside the existing install buttons.
- Renders find your After Effects version —
aerendernow resolves the newest installed AE automatically (2024 and 2025 included), instead of assuming 2026.
Fixed
- Missing Firecrawl credentials say so — screenshot captures without a Firecrawl login now report a clear "no credentials" error with the fix, instead of looking like a network failure.
- Batch renders with a missing
aerenderrefuse once, cleanly, instead of failing on every row.
v1.0.2
August 18, 2026
Valet v1.0.2
New
- One-click installs on the setup screen — when Claude Code or Node.js is missing, the check row now carries a Get Claude Code / Get Node.js button that opens the official download page in your browser.
- The setup screen re-checks itself — come back to the panel after installing and the checklist updates on its own; no more hunting for Retry or reopening the panel.
Fixed
- Asking the agent about connected panels ("is DataDriver connected?") no longer dead-ends on a permission error — the read-only panel-discovery tools are now available to the agent out of the box.
v1.0.1
August 17, 2026
Valet v1.0.1
Fixed
- Installs now work out of the box on downloaded copies. v1.0.0's bundled render engine could be blocked by macOS Gatekeeper on files downloaded from the web; the engine is now fully portable code with no native binaries, immune to quarantine (and Intel Macs work too).
- The setup screen tells the truth about Node. It now checks for the actual
nodeyour system provides; if it's missing, you get a clear install instruction instead of a false green check. - Clearer first-run errors. "Claude Code not found" now leads with how to install and sign in, and reminds you to reopen the panel afterward.
v1.0.0
August 17, 2026
Valet v1.0.0
The first release of Valet — the agent concierge for After Effects.
What it is
- One signed panel that carries everything: the agent, the AE bridge, and its own MCP server. No terminal setup inside After Effects.
- Connect your own Claude Code account and Claude can see your comp, propose changes you approve, and render proof frames.
- Every write is gated behind your approval, logged, and verifiable. The bridge also powers DataDriver and CameraOp — one install serves all three.
Requirements
- macOS (Apple Silicon), After Effects 2019 or later
- Your own Claude Code account (your usage, your billing) and Node 18+