Verification
verve check, from the command line
verve check runs the parity check, the motion check or the render-cost check on a saved scene, and exits non-zero when something fails, so it can run in CI. It runs from the verve repo as npm run check; there's no separately installed verve command.
- Running it
- From the verve repo:
npm run check -- scene.json. A scene is the JSON an animation is saved as, either a stored row with adocor the document itself.npm run check -- --helplists every flag. - What it checks
- For each animated element in the scene, it renders the CSS and GSAP exports in headless Chromium, samples 41 points, and compares the transform matrix, opacity and filters with the engine, at a 0.6% tolerance.
--fixturesruns the repo’s parity fixtures instead of a scene. - What it needs
- No dev server: it compiles the engine to a cache directory and drives Playwright directly. It uses the repo’s own dev dependencies, such as Playwright’s Chromium and GSAP. Without GSAP installed, the GSAP rows are skipped with a note saying so.
- --lint
- Runs the motion check instead: the editor’s rules, on the scene, with no browser. Errors fail the run, and
--strictfails it on warnings too. - --cost and --max-cost
--costreports what each dialect’s export costs the browser per frame, with no browser.--max-cost=<compositor|style|repaint> --dialect=<motion|css|gsap>exits 1 above that tier, and--mode=scrollcosts the Scroll export instead.- Output and exit codes
--jsongives machine-readable output for any of the above, including the worst error for each element and dialect, so a CI step can read the numbers instead of the console text. Exit codes: 0 passed, 1 failed, 2 the command or the scene couldn’t be read. A scene with nothing animating also exits 2.
Where it stops. It doesn’t check Motion, which needs React in the page. Each element is checked on its own, on a plain box instead of inside your markup, and colors and motion paths aren’t compared. The repo’s parity gate covers Motion, colors, paths and components with picked children, but only on its own fixtures.