Repository navigation
Conversation
Designing in the app as an agent meant reading effect and template sources to learn what exists, and judging work through screenshot after screenshot. morpho answers in short text or one PNG instead: - catalog: every material, modifier, shape, preset, recipe, motion and keyframe option with ranges and defaults, generated from the Inspector's own registries - describe: a design as a text tree, settings changed from defaults only - scene / set: templates as .morpho files, edited by Layer.setting=value with range checks and errors that list what would work - render: a frame, or a captioned filmstrip with --at / --frames - vary: a grid of variations in one image - check: problems in words (engine errors, off canvas, unseen layers, low-contrast text, blank frames, motion jumps, loop seams) - compare: scores and a difference image against a reference - serve: a warm browser, so drawing commands take under a second Catalog, describe and set run in Node through Vite's SSR loader; drawing runs the app headless on the GPU (SwiftShader with --cpu or as a fallback), with the live preview held still while a job runs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
docs/AGENT-TOOLS.md covers every command, the edit syntax, what check looks for and the timings. CLAUDE.md points agents at morpho before the sources or screenshots. The end-to-end test drives the agent handle in the production build: edit, still, filmstrip, grid and check. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
npm run morpho, a command-line way to use the app that answers in short text or a single PNG. An agent (or a script) can now learn what exists, read a design, edit it and judge it without reading source files or taking a pile of screenshots.Commands
catalog [query]chrome,glitch,star,motion,keyframes,layers…) gives every setting with its range, default and label. It's generated from the Inspector's own registries, so it can't drift from the app.describe <scene>scene/setscenesaves a template as a.morphofile.setedits it withLayer.setting=value: bare keys find the material param, shape field or modifier, values are range-checked, and errors list the names that would work.render <scene>--at 0,1,2/--frames 8.vary <scene>--vary a=1,2,3, multiplied;--variant 'a=1; b=2').check <scene>compare <scene> <image>serveWhat
checkreports:Speed
Drawing runs headless on the GPU, falling back to SwiftShader, or always with
--cpu. The live preview is held still while a job runs. Times withserveup, on a 14-layer animated poster:rendervarycheckcheck(includes starting Vite and the browser)catalog,describeandsetrun in Node through Vite's SSR loader in about 0.3 s, with no browser.Files
ui/src/agent/page.tsfor the in-app side, onawait window.morphotype.agent()in its own chunk;node.tsfor the no-browser commandsscripts/morpho.mjsservedaemondocs/AGENT-TOOLS.mdCLAUDE.mdTests
group.open.npx tsc --noEmit -p ui,npx vitest run(114) andnpm run build && npm run test:e2e(109 checks) pass locally. I ran the e2e test withCHROMIUM_PATHset to Chrome, because Playwright's bundled browser isn't installed on this machine.cargo test; no Rust changed.🤖 Generated with Claude Code