Repository navigation
feat(effects): shader effects in the document, and the agent tools - #1202
Closed
EtienneLescot wants to merge 0 commit into
Closed
EtienneLescot wants to merge 0 commit into
EtienneLescot wants to merge 0 commit into
Conversation
Contributor
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
4 of 5 tasks
EtienneLescot
added a commit
that referenced
this pull request
Oct 14, 2026
The parent folder's checks, adapted to the Metal pass (#1206) and to the agent tools of #1202: the MCP loop, the live view against the export, the codec floor on the effect's own pixels, and export time. The live view now gets the inspector's settings through setParam, which the Windows script skipped.
6 tasks done
EtienneLescot
added a commit
that referenced
this pull request
Oct 14, 2026
The spec and rendering-performance said checkShaderEffect compiles on the calling thread; #1202 now runs it on the libuv pool.
This was referenced Oct 14, 2026
EtienneLescot
changed the base branch from
feat/shader-effects-contract
to
integration/shader-effects
October 14, 2026 15:54
EtienneLescot
force-pushed
the
feat/shader-effects-document
branch
from
October 14, 2026 15:55
6dfd3fa to
7907021
Compare
Collaborator
Author
This was referenced Oct 14, 2026
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.
Summary
Second PR of agent-written shader effects (
docs/shader-effects.md, section L.2): where an effect lives in the document, how agents write and re-read it, and what the compositor receives. Stacked on #1199 (contract v1 and the Windows pass): it targets that branch and will be retargeted tomainonce #1199 merges.The document.
vocabulary, so a document without effects carries neither key:shaderEffects, the definitions: WGSL code, name, description, contract version, declared params, cached cost.shaderEffectRanges, the regions: clip-anchored, with their values, target and lane.RegionKindgains"shaderEffect"across the whole modifier pipeline, so an effect moves, trims and goes away with its clip.The tools.
addEffectwrites an effect and poses it, or reuses one byeffectId.setEffectchanges a region,setEffectDefinitionchanges an effect's code and parameters,getEffectreads one.removeModifierremoves a region.checkShaderEffect), for both the MCP server and the in-app agent. A compile error comes back at the agent's line.getCurrentDocumentlists effects and definitions without their code;getEffectgives the code.The scene.
ctx.region) runs across a cut.Agents.
openscreen://effects/contractholds the full contract and two examples. A TS test keeps it in step with the compositor's prelude, and a Rust test compiles its examples.Also:
openscreen infocounts effects.Not here: the macOS and Linux passes,
getFrameswithout an export, and the editor's effect lane, which come in later PRs. Until the lane exists, an effect an agent writes renders in the preview and the export on Windows but does not show on the timeline.Related issue
None.
Type of change
Release impact
Desktop impact
Testing
Run and passing:
npm run test: 4774 passed. One test inelectron/mcp/media-tools.test.ts(runs one export at a time) failed under load and passes alone; that file is untouched here.tsc --noEmitfor the app,tsconfig.test.jsonandtsconfig.workbench.json.cargo test -p openscreen-compositor --libon Windows, including the new test that compiles the MCP contract's examples.openscreen info.Not run:
npm run wb. Its config fails to load on this machine (@/libleft unresolved by Vite's config bundler). The same import chain exists onmain, so this is likely not new, but I did not confirm it there. The new scenario typechecks.🤖 Generated with Claude Code